diff --git a/assets/translations/strings_br.i18n.json b/assets/translations/strings_pt_BR.i18n.json similarity index 100% rename from assets/translations/strings_br.i18n.json rename to assets/translations/strings_pt_BR.i18n.json diff --git a/lib/core/localization/locale_extensions.dart b/lib/core/localization/locale_extensions.dart index 99b2d977..91d839f0 100644 --- a/lib/core/localization/locale_extensions.dart +++ b/lib/core/localization/locale_extensions.dart @@ -13,6 +13,7 @@ extension AppLocaleX on AppLocale { "zh_TW" => "中文 (台湾)", "tr" => "Türkçe", "es" => "Spanish", + "pt_BR" => "Portuguese (Brazil)", _ => "Unknown", }; } diff --git a/lib/core/localization/locale_preferences.dart b/lib/core/localization/locale_preferences.dart index 28da4eff..310c5f69 100644 --- a/lib/core/localization/locale_preferences.dart +++ b/lib/core/localization/locale_preferences.dart @@ -1,11 +1,12 @@ import 'package:hiddify/core/preferences/preferences_provider.dart'; import 'package:hiddify/gen/translations.g.dart'; +import 'package:hiddify/utils/custom_loggers.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart'; part 'locale_preferences.g.dart'; @Riverpod(keepAlive: true) -class LocalePreferences extends _$LocalePreferences { +class LocalePreferences extends _$LocalePreferences with AppLogger { @override AppLocale build() { final persisted = @@ -15,7 +16,12 @@ class LocalePreferences extends _$LocalePreferences { if (persisted == "zh") { return AppLocale.zhCn; } - return AppLocale.values.byName(persisted); + try { + return AppLocale.values.byName(persisted); + } catch (e) { + loggy.error("error setting locale: [$persisted]", e); + return AppLocale.en; + } } Future changeLocale(AppLocale value) async { diff --git a/project.inlang/settings.json b/project.inlang/settings.json index e567b404..9cae0a1e 100644 --- a/project.inlang/settings.json +++ b/project.inlang/settings.json @@ -8,7 +8,8 @@ "ru", "tr", "zh-CN", - "zh-TW" + "zh-TW", + "pt-BR" ], "modules": [ "https://cdn.jsdelivr.net/npm/@inlang/plugin-i18next@4/dist/index.js",