Fix localization issues, add tests, import translations, and add zh-CN and zh-TW

Closes: #689
This commit is contained in:
2023-02-24 12:26:43 -05:00
committed by William Casarin
parent 85e797a054
commit 5cd4c2d75e
73 changed files with 1061 additions and 600 deletions

View File

@@ -34,4 +34,23 @@ final class FormatTests: XCTestCase {
XCTAssertEqual(format_msats_abbrev(1000), "1")
}
func testFormatMsats() throws {
let enUsLocale = Locale(identifier: "en-US")
XCTAssertEqual(format_msats(0, locale: enUsLocale), "0 sats")
XCTAssertEqual(format_msats(1, locale: enUsLocale), "0.001 sats")
XCTAssertEqual(format_msats(1000, locale: enUsLocale), "1 sat")
XCTAssertEqual(format_msats(1001, locale: enUsLocale), "1.001 sats")
XCTAssertEqual(format_msats(2000, locale: enUsLocale), "2 sats")
XCTAssertEqual(format_msats(123456789, locale: enUsLocale), "123,456.789 sats")
// Sanity check that function call does not throw in any supported locale as the string format accepts arguments, and a mismatched format in any one of the locales could break the app.
Bundle.main.localizations.map { Locale(identifier: $0) }.forEach {
XCTAssertNoThrow(format_msats(0, locale: $0))
XCTAssertNoThrow(format_msats(1, locale: $0))
XCTAssertNoThrow(format_msats(1000, locale: $0))
XCTAssertNoThrow(format_msats(1001, locale: $0))
XCTAssertNoThrow(format_msats(2000, locale: $0))
XCTAssertNoThrow(format_msats(123456789, locale: $0))
}
}
}