From dc745af8351745bcf6567dba7242accc8243d7cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lison=20Fernandes?= Date: Thu, 30 Oct 2025 23:27:00 +0000 Subject: [PATCH 1/8] Add missing languages to both apps --- .../Platform/Models/Enum/LanguageOption.swift | 22 +++++++++++++++++++ .../Platform/Models/Enum/LanguageOption.swift | 22 +++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOption.swift b/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOption.swift index e0d4b884bd..cbd285bc8a 100644 --- a/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOption.swift +++ b/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOption.swift @@ -23,21 +23,30 @@ public enum LanguageOption: Equatable { private static let languageCodes = [ "af", + "ar", + "az", "be", "bg", + "bn", + "bs", "ca", "cs", + "cy", "da", "de", "el", "en", "en-GB", "eo", + "en-IN", "es", "et", + "eu", "fa", "fi", + "fil", "fr", + "gl", "he", "hi", "hr", @@ -45,18 +54,31 @@ public enum LanguageOption: Equatable { "id", "it", "ja", + "ka", + "kn", "ko", + "lt", "lv", "ml", + "mr", + "my", "nb", + "ne", "nl", + "nn-NO", + "or", "pl", "pt-BT", "pt-PT", "ro", "ru", + "si", "sk", + "sl", + "sr", "sv", + "ta", + "te", "th", "tr", "uk", diff --git a/BitwardenShared/Core/Platform/Models/Enum/LanguageOption.swift b/BitwardenShared/Core/Platform/Models/Enum/LanguageOption.swift index 04f0af4417..c6dce16b63 100644 --- a/BitwardenShared/Core/Platform/Models/Enum/LanguageOption.swift +++ b/BitwardenShared/Core/Platform/Models/Enum/LanguageOption.swift @@ -23,21 +23,30 @@ public enum LanguageOption: Equatable, Sendable { private static let languageCodes = [ "af", + "ar", + "az", "be", "bg", + "bn", + "bs", "ca", "cs", + "cy", "da", "de", "el", "en", "en-GB", "eo", + "en-IN", "es", "et", + "eu", "fa", "fi", + "fil", "fr", + "gl", "he", "hi", "hr", @@ -45,18 +54,31 @@ public enum LanguageOption: Equatable, Sendable { "id", "it", "ja", + "ka", + "kn", "ko", + "lt", "lv", "ml", + "mr", + "my", "nb", + "ne", "nl", + "nn-NO", + "or", "pl", "pt-BR", "pt-PT", "ro", "ru", + "si", "sk", + "sl", + "sr", "sv", + "ta", + "te", "th", "tr", "uk", From 576576a1613cb72d8b14fd06634e724de913dca7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lison=20Fernandes?= Date: Fri, 31 Oct 2025 00:11:47 +0000 Subject: [PATCH 2/8] Remove Esperanto :( --- .../Core/Platform/Models/Enum/LanguageOption.swift | 1 - BitwardenShared/Core/Platform/Models/Enum/LanguageOption.swift | 1 - 2 files changed, 2 deletions(-) diff --git a/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOption.swift b/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOption.swift index cbd285bc8a..c88183f733 100644 --- a/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOption.swift +++ b/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOption.swift @@ -37,7 +37,6 @@ public enum LanguageOption: Equatable { "el", "en", "en-GB", - "eo", "en-IN", "es", "et", diff --git a/BitwardenShared/Core/Platform/Models/Enum/LanguageOption.swift b/BitwardenShared/Core/Platform/Models/Enum/LanguageOption.swift index c6dce16b63..a51b4e00bc 100644 --- a/BitwardenShared/Core/Platform/Models/Enum/LanguageOption.swift +++ b/BitwardenShared/Core/Platform/Models/Enum/LanguageOption.swift @@ -37,7 +37,6 @@ public enum LanguageOption: Equatable, Sendable { "el", "en", "en-GB", - "eo", "en-IN", "es", "et", From 691944ddc295351c681d8f0bf1400486d0c8c47f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lison=20Fernandes?= Date: Fri, 31 Oct 2025 00:12:11 +0000 Subject: [PATCH 3/8] BWA - Fix Brazilian Portuguese --- .../Core/Platform/Models/Enum/LanguageOption.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOption.swift b/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOption.swift index c88183f733..4b98917537 100644 --- a/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOption.swift +++ b/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOption.swift @@ -67,7 +67,7 @@ public enum LanguageOption: Equatable { "nn-NO", "or", "pl", - "pt-BT", + "pt-BR", "pt-PT", "ro", "ru", From b5aa961852cfdcac2bb9dc2ec624f044c23daecc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lison=20Fernandes?= Date: Fri, 31 Oct 2025 00:13:02 +0000 Subject: [PATCH 4/8] BWA - Fix Simplified Chinese and Traditional Chinese. --- .../Core/Platform/Models/Enum/LanguageOption.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOption.swift b/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOption.swift index 4b98917537..2a3b8d65fd 100644 --- a/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOption.swift +++ b/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOption.swift @@ -82,8 +82,8 @@ public enum LanguageOption: Equatable { "tr", "uk", "vi", - "zh-CN", - "zh-TW", + "zh-Hans", + "zh-Hant", ] // MARK: Properties From 07da63e1966f774b2154f921c8487d3381d3086b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lison=20Fernandes?= Date: Mon, 3 Nov 2025 15:15:07 +0000 Subject: [PATCH 5/8] Update unit tests count --- .../Core/Platform/Models/Enum/LanguageOptionTests.swift | 2 +- .../Core/Platform/Models/Enum/LanguageOptionTests.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOptionTests.swift b/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOptionTests.swift index ded730c2c8..98bae860dc 100644 --- a/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOptionTests.swift +++ b/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOptionTests.swift @@ -11,7 +11,7 @@ class LanguageOptionTests: BitwardenTestCase { let allCases = LanguageOption.allCases XCTAssertEqual(allCases.first, .default) XCTAssertEqual(allCases[1], .custom(languageCode: "af")) - XCTAssertEqual(allCases.count, 42) + XCTAssertEqual(allCases.count, 63) } /// `init` returns the correct values. diff --git a/BitwardenShared/Core/Platform/Models/Enum/LanguageOptionTests.swift b/BitwardenShared/Core/Platform/Models/Enum/LanguageOptionTests.swift index 53d2cf48ef..b7b273f22d 100644 --- a/BitwardenShared/Core/Platform/Models/Enum/LanguageOptionTests.swift +++ b/BitwardenShared/Core/Platform/Models/Enum/LanguageOptionTests.swift @@ -11,7 +11,7 @@ class LanguageOptionTests: BitwardenTestCase { let allCases = LanguageOption.allCases XCTAssertEqual(allCases.first, .default) XCTAssertEqual(allCases[1], .custom(languageCode: "af")) - XCTAssertEqual(allCases.count, 42) + XCTAssertEqual(allCases.count, 63) } /// `init` returns the correct values. From 8b3fad2df04650ecda3184e8d804e6c002321ca1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lison=20Fernandes?= Date: Mon, 3 Nov 2025 15:17:34 +0000 Subject: [PATCH 6/8] fix pt-pt --- .../Core/Platform/Models/Enum/LanguageOption.swift | 2 +- BitwardenShared/Core/Platform/Models/Enum/LanguageOption.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOption.swift b/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOption.swift index 2a3b8d65fd..638a009785 100644 --- a/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOption.swift +++ b/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOption.swift @@ -67,8 +67,8 @@ public enum LanguageOption: Equatable { "nn-NO", "or", "pl", + "pt", "pt-BR", - "pt-PT", "ro", "ru", "si", diff --git a/BitwardenShared/Core/Platform/Models/Enum/LanguageOption.swift b/BitwardenShared/Core/Platform/Models/Enum/LanguageOption.swift index a51b4e00bc..00476f3b08 100644 --- a/BitwardenShared/Core/Platform/Models/Enum/LanguageOption.swift +++ b/BitwardenShared/Core/Platform/Models/Enum/LanguageOption.swift @@ -67,8 +67,8 @@ public enum LanguageOption: Equatable, Sendable { "nn-NO", "or", "pl", + "pt", "pt-BR", - "pt-PT", "ro", "ru", "si", From 3c60635d8531e6fbea8d791c6a366014a5caebcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lison=20Fernandes?= Date: Mon, 3 Nov 2025 16:51:51 +0000 Subject: [PATCH 7/8] Add comment explaining the languageOptions count --- .../Core/Platform/Models/Enum/LanguageOptionTests.swift | 2 +- .../Core/Platform/Models/Enum/LanguageOptionTests.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOptionTests.swift b/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOptionTests.swift index 98bae860dc..64c2792770 100644 --- a/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOptionTests.swift +++ b/AuthenticatorShared/Core/Platform/Models/Enum/LanguageOptionTests.swift @@ -11,7 +11,7 @@ class LanguageOptionTests: BitwardenTestCase { let allCases = LanguageOption.allCases XCTAssertEqual(allCases.first, .default) XCTAssertEqual(allCases[1], .custom(languageCode: "af")) - XCTAssertEqual(allCases.count, 63) + XCTAssertEqual(allCases.count, 63) // "default" + "en" + crowdin provided languages } /// `init` returns the correct values. diff --git a/BitwardenShared/Core/Platform/Models/Enum/LanguageOptionTests.swift b/BitwardenShared/Core/Platform/Models/Enum/LanguageOptionTests.swift index b7b273f22d..1e11972ad6 100644 --- a/BitwardenShared/Core/Platform/Models/Enum/LanguageOptionTests.swift +++ b/BitwardenShared/Core/Platform/Models/Enum/LanguageOptionTests.swift @@ -11,7 +11,7 @@ class LanguageOptionTests: BitwardenTestCase { let allCases = LanguageOption.allCases XCTAssertEqual(allCases.first, .default) XCTAssertEqual(allCases[1], .custom(languageCode: "af")) - XCTAssertEqual(allCases.count, 63) + XCTAssertEqual(allCases.count, 63) // "default" + "en" + crowdin provided languages } /// `init` returns the correct values. From ad42365ed5af93d0cd09df4c644ef19550e975f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lison=20Fernandes?= Date: Mon, 3 Nov 2025 21:48:51 +0000 Subject: [PATCH 8/8] Update supported localizations (CFBundleLocalizations) in Info.plist files --- Authenticator/Application/Support/Info.plist | 77 +++++++++++++------ Bitwarden/Application/Support/Info.plist | 77 +++++++++++++------ .../Application/Support/Info.plist | 77 +++++++++++++------ .../Application/Support/Info.plist | 77 +++++++++++++------ .../Application/Support/Info.plist | 77 +++++++++++++------ 5 files changed, 260 insertions(+), 125 deletions(-) diff --git a/Authenticator/Application/Support/Info.plist b/Authenticator/Application/Support/Info.plist index b4d1b0947a..c186321b76 100644 --- a/Authenticator/Application/Support/Info.plist +++ b/Authenticator/Application/Support/Info.plist @@ -20,41 +20,68 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleLocalizations + af + ar + az + be + bg + bn + bs + ca + cs + cy + da + de + el en + en-GB + en-IN es - zh-Hans - zh-Hant - pt-PT - pt-BR - sv - sk - it + et + eu + fa fi + fil fr - ro - id + gl + he + hi hr hu - nl - tr - uk - de - dk - cz - nb + id + it ja - et - vi - pl + ka + kn ko - fa + lt + lv + ml + mr + my + nb + ne + nl + nn-NO + or + pl + pt + pt-BR + ro ru - be - bg - ca - cs - el + si + sk + sl + sr + sv + ta + te th + tr + uk + vi + zh-Hans + zh-Hant CFBundleName Authenticator diff --git a/Bitwarden/Application/Support/Info.plist b/Bitwarden/Application/Support/Info.plist index d96e5ee0dc..99ec483fdd 100644 --- a/Bitwarden/Application/Support/Info.plist +++ b/Bitwarden/Application/Support/Info.plist @@ -22,41 +22,68 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleLocalizations + af + ar + az + be + bg + bn + bs + ca + cs + cy + da + de + el en + en-GB + en-IN es - zh-Hans - zh-Hant - pt-PT - pt-BR - sv - sk - it + et + eu + fa fi + fil fr - ro - id + gl + he + hi hr hu - nl - tr - uk - de - dk - cz - nb + id + it ja - et - vi - pl + ka + kn ko - fa + lt + lv + ml + mr + my + nb + ne + nl + nn-NO + or + pl + pt + pt-BR + ro ru - be - bg - ca - cs - el + si + sk + sl + sr + sv + ta + te th + tr + uk + vi + zh-Hans + zh-Hant CFBundleName Bitwarden diff --git a/BitwardenActionExtension/Application/Support/Info.plist b/BitwardenActionExtension/Application/Support/Info.plist index eca5528824..d7a622a1d9 100644 --- a/BitwardenActionExtension/Application/Support/Info.plist +++ b/BitwardenActionExtension/Application/Support/Info.plist @@ -18,41 +18,68 @@ $(MARKETING_VERSION) CFBundleLocalizations + af + ar + az + be + bg + bn + bs + ca + cs + cy + da + de + el en + en-GB + en-IN es - zh-Hans - zh-Hant - pt-PT - pt-BR - sv - sk - it + et + eu + fa fi + fil fr - ro - id + gl + he + hi hr hu - nl - tr - uk - de - dk - cz - nb + id + it ja - et - vi - pl + ka + kn ko - fa + lt + lv + ml + mr + my + nb + ne + nl + nn-NO + or + pl + pt + pt-BR + ro ru - be - bg - ca - cs - el + si + sk + sl + sr + sv + ta + te th + tr + uk + vi + zh-Hans + zh-Hant CFBundleDevelopmentRegion en diff --git a/BitwardenAutoFillExtension/Application/Support/Info.plist b/BitwardenAutoFillExtension/Application/Support/Info.plist index b574a152eb..981e1d997e 100644 --- a/BitwardenAutoFillExtension/Application/Support/Info.plist +++ b/BitwardenAutoFillExtension/Application/Support/Info.plist @@ -20,41 +20,68 @@ 6.0 CFBundleLocalizations + af + ar + az + be + bg + bn + bs + ca + cs + cy + da + de + el en + en-GB + en-IN es - zh-Hans - zh-Hant - pt-PT - pt-BR - sv - sk - it + et + eu + fa fi + fil fr - ro - id + gl + he + hi hr hu - nl - tr - uk - de - dk - cz - nb + id + it ja - et - vi - pl + ka + kn ko - fa + lt + lv + ml + mr + my + nb + ne + nl + nn-NO + or + pl + pt + pt-BR + ro ru - be - bg - ca - cs - el + si + sk + sl + sr + sv + ta + te th + tr + uk + vi + zh-Hans + zh-Hant CFBundleName Bitwarden Autofill diff --git a/BitwardenShareExtension/Application/Support/Info.plist b/BitwardenShareExtension/Application/Support/Info.plist index fa709fa44d..80c7863999 100644 --- a/BitwardenShareExtension/Application/Support/Info.plist +++ b/BitwardenShareExtension/Application/Support/Info.plist @@ -45,41 +45,68 @@ CFBundleLocalizations + af + ar + az + be + bg + bn + bs + ca + cs + cy + da + de + el en + en-GB + en-IN es - zh-Hans - zh-Hant - pt-PT - pt-BR - sv - sk - it + et + eu + fa fi + fil fr - ro - id + gl + he + hi hr hu - nl - tr - uk - de - dk - cz - nb + id + it ja - et - vi - pl + ka + kn ko - fa + lt + lv + ml + mr + my + nb + ne + nl + nn-NO + or + pl + pt + pt-BR + ro ru - be - bg - ca - cs - el + si + sk + sl + sr + sv + ta + te th + tr + uk + vi + zh-Hans + zh-Hant UISupportedInterfaceOrientations