From 7732016ef2b9f63872a20dfedec33c99589f7722 Mon Sep 17 00:00:00 2001 From: Leendert de Borst Date: Fri, 10 Jul 2026 16:21:21 +0200 Subject: [PATCH] Add Hungarian language option (#2247) --- apps/browser-extension/src/i18n/config.ts | 4 ++++ .../src/utils/dist/core/models/defaults/index.js | 3 ++- .../android/app/src/main/res/xml/locales_config.xml | 1 + apps/mobile-app/i18n/index.ts | 2 ++ apps/mobile-app/ios/AliasVault.xcodeproj/project.pbxproj | 1 + apps/mobile-app/ios/AliasVault/Info.plist | 1 + apps/mobile-app/ios/Autofill/Info.plist | 1 + apps/mobile-app/utils/dist/core/models/defaults/index.js | 3 ++- apps/server/AliasVault.Client/Main/Models/Languages.cs | 1 + apps/server/AliasVault.Client/Services/LanguageService.cs | 2 +- core/models/src/defaults/Languages.ts | 1 + crowdin.yml | 1 + docs/docs/contributing/ui-translations.md | 1 + 13 files changed, 19 insertions(+), 3 deletions(-) diff --git a/apps/browser-extension/src/i18n/config.ts b/apps/browser-extension/src/i18n/config.ts index 952225ed9..e3fdbb1a1 100644 --- a/apps/browser-extension/src/i18n/config.ts +++ b/apps/browser-extension/src/i18n/config.ts @@ -13,6 +13,7 @@ import fiTranslations from './locales/fi.json'; import frTranslations from './locales/fr.json'; import gaTranslations from './locales/ga.json'; import heTranslations from './locales/he.json'; +import huTranslations from './locales/hu.json'; import itTranslations from './locales/it.json'; import nlTranslations from './locales/nl.json'; import plTranslations from './locales/pl.json'; @@ -52,6 +53,9 @@ export const LANGUAGE_RESOURCES = { he: { translation: heTranslations }, + hu: { + translation: huTranslations + }, it: { translation: itTranslations }, diff --git a/apps/browser-extension/src/utils/dist/core/models/defaults/index.js b/apps/browser-extension/src/utils/dist/core/models/defaults/index.js index 04a3c5dc9..4d634b78f 100644 --- a/apps/browser-extension/src/utils/dist/core/models/defaults/index.js +++ b/apps/browser-extension/src/utils/dist/core/models/defaults/index.js @@ -30,7 +30,8 @@ var LANGUAGES = [ { code: "uk", flag: "\u{1F1FA}\u{1F1E6}", label: "\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430", alternativeCodes: ["uk-UA"] }, { code: "zh", flag: "\u{1F1E8}\u{1F1F3}", label: "\u7B80\u4F53\u4E2D\u6587", alternativeCodes: ["zh-CN", "zh-SG", "zh-Hans", "zh-TW", "zh-HK", "zh-MO", "zh-Hant"] }, { code: "ur", flag: "\u{1F1F5}\u{1F1F0}", label: "\u0627\u0631\u062F\u0648", alternativeCodes: ["ur-PK", "ur-IN"] }, - { code: "fa", flag: "\u{1F1EE}\u{1F1F7}", label: "\u0641\u0627\u0631\u0633\u06CC", alternativeCodes: ["fa-IR", "fa-AF"] } + { code: "fa", flag: "\u{1F1EE}\u{1F1F7}", label: "\u0641\u0627\u0631\u0633\u06CC", alternativeCodes: ["fa-IR", "fa-AF"] }, + { code: "hu", flag: "\u{1F1ED}\u{1F1FA}", label: "Magyar", alternativeCodes: ["hu-HU"] }, { code: "ga", flag: "\u{1F1EE}\u{1F1EA}", label: "Gaeilge", alternativeCodes: ["ga-IE"] } ]; function normalizeLanguageCode(code) { diff --git a/apps/mobile-app/android/app/src/main/res/xml/locales_config.xml b/apps/mobile-app/android/app/src/main/res/xml/locales_config.xml index 3bf2bb349..0f97b173a 100644 --- a/apps/mobile-app/android/app/src/main/res/xml/locales_config.xml +++ b/apps/mobile-app/android/app/src/main/res/xml/locales_config.xml @@ -8,6 +8,7 @@ + diff --git a/apps/mobile-app/i18n/index.ts b/apps/mobile-app/i18n/index.ts index 401bd1fc3..3de83b7b6 100644 --- a/apps/mobile-app/i18n/index.ts +++ b/apps/mobile-app/i18n/index.ts @@ -10,6 +10,7 @@ import fi from './locales/fi.json'; import fr from './locales/fr.json'; import ga from './locales/ga.json'; import he from './locales/he.json'; +import hu from './locales/hu.json'; import it from './locales/it.json'; import nl from './locales/nl.json'; import pl from './locales/pl.json'; @@ -29,6 +30,7 @@ const resources = { fr: { translation: fr }, ga: { translation: ga }, he: { translation: he }, + hu: { translation: hu }, nl: { translation: nl }, it: { translation: it }, pl: { translation: pl }, diff --git a/apps/mobile-app/ios/AliasVault.xcodeproj/project.pbxproj b/apps/mobile-app/ios/AliasVault.xcodeproj/project.pbxproj index 1a74ff0f5..4ec7962f2 100644 --- a/apps/mobile-app/ios/AliasVault.xcodeproj/project.pbxproj +++ b/apps/mobile-app/ios/AliasVault.xcodeproj/project.pbxproj @@ -996,6 +996,7 @@ fa, ur, bg, + hu, ga, ); mainGroup = 83CBB9F61A601CBA00E9B192; diff --git a/apps/mobile-app/ios/AliasVault/Info.plist b/apps/mobile-app/ios/AliasVault/Info.plist index 03bf711c4..38852ad1b 100644 --- a/apps/mobile-app/ios/AliasVault/Info.plist +++ b/apps/mobile-app/ios/AliasVault/Info.plist @@ -29,6 +29,7 @@ fr ga he + hu it nl pl diff --git a/apps/mobile-app/ios/Autofill/Info.plist b/apps/mobile-app/ios/Autofill/Info.plist index 8c2e1ca74..406afef25 100644 --- a/apps/mobile-app/ios/Autofill/Info.plist +++ b/apps/mobile-app/ios/Autofill/Info.plist @@ -12,6 +12,7 @@ fr ga he + hu it nl pl diff --git a/apps/mobile-app/utils/dist/core/models/defaults/index.js b/apps/mobile-app/utils/dist/core/models/defaults/index.js index 04a3c5dc9..4d634b78f 100644 --- a/apps/mobile-app/utils/dist/core/models/defaults/index.js +++ b/apps/mobile-app/utils/dist/core/models/defaults/index.js @@ -30,7 +30,8 @@ var LANGUAGES = [ { code: "uk", flag: "\u{1F1FA}\u{1F1E6}", label: "\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430", alternativeCodes: ["uk-UA"] }, { code: "zh", flag: "\u{1F1E8}\u{1F1F3}", label: "\u7B80\u4F53\u4E2D\u6587", alternativeCodes: ["zh-CN", "zh-SG", "zh-Hans", "zh-TW", "zh-HK", "zh-MO", "zh-Hant"] }, { code: "ur", flag: "\u{1F1F5}\u{1F1F0}", label: "\u0627\u0631\u062F\u0648", alternativeCodes: ["ur-PK", "ur-IN"] }, - { code: "fa", flag: "\u{1F1EE}\u{1F1F7}", label: "\u0641\u0627\u0631\u0633\u06CC", alternativeCodes: ["fa-IR", "fa-AF"] } + { code: "fa", flag: "\u{1F1EE}\u{1F1F7}", label: "\u0641\u0627\u0631\u0633\u06CC", alternativeCodes: ["fa-IR", "fa-AF"] }, + { code: "hu", flag: "\u{1F1ED}\u{1F1FA}", label: "Magyar", alternativeCodes: ["hu-HU"] }, { code: "ga", flag: "\u{1F1EE}\u{1F1EA}", label: "Gaeilge", alternativeCodes: ["ga-IE"] } ]; function normalizeLanguageCode(code) { diff --git a/apps/server/AliasVault.Client/Main/Models/Languages.cs b/apps/server/AliasVault.Client/Main/Models/Languages.cs index 7f9e5ac0d..ff056e2aa 100644 --- a/apps/server/AliasVault.Client/Main/Models/Languages.cs +++ b/apps/server/AliasVault.Client/Main/Models/Languages.cs @@ -42,6 +42,7 @@ public static class Languages ("zh", "🇨🇳", "简体中文", ["zh-CN", "zh-SG", "zh-Hans", "zh-TW", "zh-HK", "zh-MO", "zh-Hant"]), ("ur", "🇵🇰", "اردو", ["ur-PK", "ur-IN"]), ("fa", "🇮🇷", "فارسی", ["fa-IR", "fa-AF"]), + ("hu", "🇭🇺", "Magyar", ["hu-HU"]), ("ga", "🇮🇪", "Gaeilge", ["ga-IE"]), ]; diff --git a/apps/server/AliasVault.Client/Services/LanguageService.cs b/apps/server/AliasVault.Client/Services/LanguageService.cs index 0516d8134..119e1d3ad 100644 --- a/apps/server/AliasVault.Client/Services/LanguageService.cs +++ b/apps/server/AliasVault.Client/Services/LanguageService.cs @@ -30,7 +30,7 @@ public class LanguageService( /// private static readonly List SupportedLanguageCodes = new() { - "da", "de", "en", "es", "fi", "fr", "ga", "he", "it", "nl", "pl", "pt", "ro", "ru", "sv", "uk", "zh", + "da", "de", "en", "es", "fi", "fr", "ga", "he", "hu", "it", "nl", "pl", "pt", "ro", "ru", "sv", "uk", "zh", }; private readonly ILocalStorageService _localStorage = localStorage; diff --git a/core/models/src/defaults/Languages.ts b/core/models/src/defaults/Languages.ts index 4778e9846..eb9d2d095 100644 --- a/core/models/src/defaults/Languages.ts +++ b/core/models/src/defaults/Languages.ts @@ -43,6 +43,7 @@ export const LANGUAGES: ILanguageInfo[] = [ { code: 'zh', flag: '🇨🇳', label: '简体中文', alternativeCodes: ['zh-CN', 'zh-SG', 'zh-Hans', 'zh-TW', 'zh-HK', 'zh-MO', 'zh-Hant'] }, { code: 'ur', flag: '🇵🇰', label: 'اردو', alternativeCodes: ['ur-PK', 'ur-IN'] }, { code: 'fa', flag: '🇮🇷', label: 'فارسی', alternativeCodes: ['fa-IR', 'fa-AF'] }, + { code: 'hu', flag: '🇭🇺', label: 'Magyar', alternativeCodes: ['hu-HU'] }, { code: 'ga', flag: '🇮🇪', label: 'Gaeilge', alternativeCodes: ['ga-IE'] }, ]; diff --git a/crowdin.yml b/crowdin.yml index 3353472a5..5aebf7b5d 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -34,6 +34,7 @@ languages: - zh - ja - ko + - hu - ga base_path: ./ preserve_hierarchy: 1 diff --git a/docs/docs/contributing/ui-translations.md b/docs/docs/contributing/ui-translations.md index 99aa86824..026e93125 100644 --- a/docs/docs/contributing/ui-translations.md +++ b/docs/docs/contributing/ui-translations.md @@ -16,6 +16,7 @@ AliasVault is currently available in the following languages. See how complete e - 🇫🇷 French - 🇩🇪 German - 🇮🇱 Hebrew +- 🇭🇺 Hungarian - 🇮🇪 Irish - 🇮🇹 Italian - 🇵🇱 Polish