xamarin.forms - 如何更改应用程序内的语言
问题描述
在我的应用程序中,我需要更改语言。我需要添加一个启用更改语言的按钮。如何在 xamarin 表单上实现它。
我需要在应用程序中更改语言,而不是通过电话设置。
解决方案
您可以使用 xamarin.Forms 本地化:假设您要将语言更改为法语,则其代码为:fr-FR
Resources
添加项目中命名的文件夹- 在该文件夹中添加所需语言的资源文件。[这里将有两个文件,一个是默认文件,另一个是法语][
ApplicationResource.resx
和ApplicationResource.fr.resx
] - 在该文件中添加值
对于法语文件:
<data name="DescriptionTitle" xml:space="preserve">
<value>Description</value>
<comment>DescriptionTitle</comment>
</data>
对于默认文件:
<data name="DescriptionTitle" xml:space="preserve">
<value>Description</value>
<comment>DescriptionTitle</comment>
</data>
在您的 xaml 文件中:
添加参考
xmlns:resource="clr-namespace:yourProject.Resources"
使用内部控制:
<Label Text="{x:Static resource:ApplicationResource.DescriptionTitle}"/>
在您的按钮单击事件上写下:
ApplicationResources.Culture = new CultureInfo("fr-FR");
这样它将改变整个应用程序的语言。
您可以参考此内容以获取更多详细信息:https ://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/localization/text?tabs=windows
希望这可以解决您的问题。
推荐阅读
- r - 将每行的数据集拆分为 R 中的较小文件
- django - 为什么 Django app redirect_uri = 'web' 而不是我的域?
- json - 在 Vala 中使用 json-glib-1.0 访问字典?
- python - 如何使用 docker 容器中的 Singularity 运行 python 程序?
- spring - 如何级联删除单向
- c++ - 无法创建子窗口,句柄无效
- python - 嗅探串口数据而不从缓冲区中删除数据
- google-cloud-dataflow - Apache Beam 中的侧输入与普通构造函数参数
- amazon-web-services - Cognito 身份凭证无权对 Kinesis 视频资源执行操作
- android - 获得一个按钮,点击后消失在远处