Xamarin android 应用程序 - 将设备语言更改为 "he-IL" 不会设置 UICulture
Xamarin android App - Changing device language to "he-IL" does not set UICulture
我有一个 Xamarin 表单 (v5.0.0.1558pre3) android 2019 年 Visual Studio 申请
我希望我的应用程序支持不同的语言,因此我执行了以下操作:
- 我已经为默认语言资源创建了 AppResources.resx,并且 AppResources.he-IL.resx 只为我的希伯来语创建了一个 resx 文件,如下所示:
我已将设备上的语言设置为希伯来语。
然后我将所有字符串设置为使用资源:
Text="{x:Static resources:AppResources.MonthlyUsage}"
当我启动应用程序时,它仍然加载默认的 AppResources.resx 值。
其他语言(如 fr-FR)正在设置中。
我认为 Android 您需要像这样检查当前设置的 Android 语言环境:
var locale = Java.Util.Locale.Default;
Xamarin 论坛上有一个帖子描述了类似的问题:https://forums.xamarin.com/discussion/74484/app-crashes-when-language-set-to-hebrew
您似乎还必须将 _
替换为 -
,而且 iw_IL
似乎也需要更改为 he_IL
。
您必须在启动时检测到这一点并相应地调整 CurrentUICulture。
我有一个 Xamarin 表单 (v5.0.0.1558pre3) android 2019 年 Visual Studio 申请 我希望我的应用程序支持不同的语言,因此我执行了以下操作:
- 我已经为默认语言资源创建了 AppResources.resx,并且 AppResources.he-IL.resx 只为我的希伯来语创建了一个 resx 文件,如下所示:
我已将设备上的语言设置为希伯来语。
然后我将所有字符串设置为使用资源:
Text="{x:Static resources:AppResources.MonthlyUsage}"
当我启动应用程序时,它仍然加载默认的 AppResources.resx 值。
其他语言(如 fr-FR)正在设置中。
我认为 Android 您需要像这样检查当前设置的 Android 语言环境:
var locale = Java.Util.Locale.Default;
Xamarin 论坛上有一个帖子描述了类似的问题:https://forums.xamarin.com/discussion/74484/app-crashes-when-language-set-to-hebrew
您似乎还必须将 _
替换为 -
,而且 iw_IL
似乎也需要更改为 he_IL
。
您必须在启动时检测到这一点并相应地调整 CurrentUICulture。