我无法找到实现毛伊岛应用程序本地化的任何方向。我读过一些关于本地化Xamarin应用程序的信息,但是即使在进行了大量的网络搜索之后,我也无法将其翻译到毛伊岛。
有人能给我指一条我可能错过的推荐信吗?
发布于 2022-04-08 12:01:18
尝试这个-创建标准资源

如何在XAML中使用
[...] xmlns:res="clr-namespace:MauiApp1.Resources"
<Button Text="{x:Static res:AppRes.Title}" />使用代码
//get lang as "en"
string lang = Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName;
//toggle lang
if(lang == "ru")
{
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("ru-RU");
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("ru-RU");
}
else
{
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");
}
//get translated title
//using MauiApp1.Resources;
string title = AppRes.Title更新只需重置应用程序
(App.Current as App).MainPage = new AppShell();就这样
发布于 2022-07-13 09:03:06
使用Microsoft扩展本地化软件包
为LocalizeExtension创建类。这是你给出的AppStrings ResourceFileName
[ContentProperty(nameof(Key))]
public class LocalizeExtension : IMarkupExtension
{
IStringLocalizer<AppStrings> _localizer;
public string Key { get; set; } = string.Empty;
public LocalizeExtension()
{
_localizer = ServiceHelper.GetService<IStringLocalizer<AppStrings>>();
}
public object ProvideValue(IServiceProvider serviceProvider)
{
string localizedText = _localizer[Key];
return localizedText;
}
object IMarkupExtension.ProvideValue(IServiceProvider serviceProvider) => ProvideValue(serviceProvider);
}XAML
<Button Text="{local:Localize Key}"/>查看此SampleApp以获得更多详细信息LocalizationDemo
发布于 2022-03-13 11:56:54
查看.NET .NET 6 "Podcast应用程序“的MAUI参考应用程序,您可以在这里找到:https://github.com/microsoft/dotnet-podcasts
它使用包含UI可本地化字符串的资源文件。
也许这对你有帮助。
https://stackoverflow.com/questions/71315229
复制相似问题