如何实现.NET MAUI本地化

2023-11-22

我无法找到任何有关为 MAUI 应用程序实施本地化的指导。我已经阅读了一些有关本地化 Xamarin 应用程序的信息,但即使经过广泛的网络搜索,也无法将其转发到 MAUI。

谁能给我指出我可能错过的参考资料?


试试这个 - 创建标准资源

  • “添加新项目/资源文件”>MauiApp1/资源
  • 设置名称“AppRes.resx”
  • 创建第二语言“Apps.to.resx”
  • 添加字符串

explorer resource view

如何在XAML中使用

[...] xmlns:res="clr-namespace:MauiApp1.Resources" 

<Button Text="{x:Static res:AppRes.Title}" />

use code

//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();

就这样

UPD1:从任何地方重新启动

void Reset()
{
    (App.Current as App).MainPage.Dispatcher.Dispatch(() =>
    {
        // there some LoadLang method;
        (App.Current as App).MainPage = new AppShell();//REQUIRE RUN MAIN THREAD
    });


}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何实现.NET MAUI本地化 的相关文章

随机推荐

  • Google OAuth 登录卡在加载同意屏幕上

    我的应用程序使用 Google Drive API 来备份用户文件 我想从头开始测试我的应用程序登录 因此我从我的 Google 帐户设置中手动撤销了该应用程序 但当我再次登录时 我在选择我的 Google 帐户后卡住了加载同意屏幕 见下文
  • 算法:将列表从一种顺序重新排列为另一种顺序的最佳方法?

    EDIT 我不确定我原来的问题是否足够清楚 我需要一种算法来计算将数组从一个顺序重新排列为另一个顺序的最小移动序列 众所周知 两个数组将包含相同的元素 没有重复 并且具有相同的长度 例如 reorder d a c b e a b c d
  • AWS Elasticbeanstalk 使用 .platform 覆盖 Nginx 配置不起作用

    我正在将 Laravel 应用程序部署到 AWS ElasticBeanstalk 我已经部署了 现在 我尝试使用 platform 文件夹覆盖 etc nginx conf d elasticbeanstalk php conf 文件 我
  • C 中克罗内克乘积的高效计算

    我对 C 相当陌生 对于我的大部分研究来说 不需要比 python 更快的东西 然而 事实证明我最近所做的工作需要计算相当大的向量 矩阵 因此 C MPI 解决方案可能是合适的 从数学上来说 任务非常简单 我有很多维数约为 40k 的向量并
  • python的帧缓冲模块

    我正在寻找一个可以显示的python模块jpg or png文件至 dev fb0直接地 我希望模块可以像这样调用并在屏幕上显示图片 show photo path to jpg x y dev dev fb0 我在google上搜索了这种
  • 使用 html 按钮更改网站语言

    在 PHP 中 我想在单击按钮时更改网站的语言 英语 德语等 这是解决该问题的正确方法吗 a href index php img src images language languageNO png a a href index php
  • 对方法返回值使用 C# 丢弃运算符是否有意义?

    Visual Studio 2019 的代码分析和代码建议开始突出显示我调用返回值但根本不使用该值的方法的每一行代码 并告诉我使用丢弃运算符 我不完全理解为什么这很重要 甚至对于 Fluent API 风格的代码来说它似乎是错误的 以下两行
  • Autofac - 生命周期和模块

    问题 摘要 给定一个注册依赖项 X 的模块 依赖项 X 在 MVC3 应用程序中具有不同的生命周期 每个 HttpRequest 的生命周期 然后在控制台应用程序中 每个具有名称的生命周期范围的依赖项 在哪里或如何指定依赖项 X 的生命周期
  • 使用 XSD 正确验证 XML 文档

    作为一名具有丰富 XML 使用和生成经验的开发人员 我以前从未真正与模式进行过交互 这对我来说是第一次真正发生 我遇到过一个 功能 我认为它更像是一个有详细记录的错误 使用 XDocument Validate 时 似乎在某些情况下 如果文
  • OnApplicationFocus() 和 OnApplicationPause() 有什么区别?

    说到移动设备 这两种方法有什么区别 如果我按主页键 两者都会被调用 有没有一种情况 一个被调用 另一个不被调用 由于这个 UnityAnswer 是第一个 如果不是第一个 在搜索 OnApplicationFocus Pause 和 iOS
  • 谷歌 aspnet mvc5 上的 AuthenticationManager.GetExternalLoginInfoAsync() 返回 null [重复]

    这个问题在这里已经有答案了 我使用默认的 Visual Studio 2015 模板和 Google 身份验证开发了 ASPNET MVC 5 应用程序 在开发环境中一切正常 但在外部身份验证后的实际调用中AuthenticationMan
  • Python 2.6 通过队列/管道/等发送连接对象

    Given 这个错误 Python 问题 4892 这会导致以下错误 gt gt gt import multiprocessing gt gt gt multiprocessing allow connection pickling gt
  • 多个参数与选项对象

    当创建具有多个参数的 JavaScript 函数时 我总是面临这样的选择 传递参数列表还是传递选项对象 例如 我正在编写一个函数来将 nodeList 映射到数组 function map nodeList callback thisObj
  • 如何替换除第一个之外的所有出现的情况?

    如何替换字符串中除第一个单词之外的所有重复单词 就是这些字符串 s cat WORD dog WORD mouse WORD s1 cat1 WORD dog1 WORD 将被替换为 s cat WORD dog REPLACED mous
  • IE7 iframe 空白页

    我正在处理一个有 iframe 的网页 并且我正在 iframe 中加载外部网站 该页面在 IE6 FF 等中工作正常 但在 IE7 中我看到的只是一个空白页面 我发现这是由于IE7中的网络钓鱼过滤器造成的 网络钓鱼过滤器将无法检查 ifr
  • 非常有用的VB6源代码[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 这不是一个问题 但我想我应该启动一个线程 其中可以放置指向特别有用 且广泛适用 的 vb6 代码的链接 我的选择是由一个名叫 John Korejw
  • 使用 tsconfig.json 忽略 *.js 和 *.jsx 文件

    这是我们尝试过的 compilerOptions target esnext moduleResolution node allowJs true jsx react include src exclude src js src jsx 当
  • 找到加载特定类的ClassLoader

    有没有办法确定哪个类加载器加载特定的类 或者更具体地说 从加载特定类的位置 我遇到了加载旧数据库驱动程序类的情况 我想找到加载旧驱动程序的文件 我最初的方法是在 ClassLoader loadClass 方法上设置一个调试点 并在类加载后
  • 在 Spring Security 中根据某种所有权设置用户角色

    在我基于 Spring 的应用程序中 我目前拥有 ADMIN 和 USER 等基本角色 是否可以定义一个用户角色 例如 PHOTO UPLOADER 它继承自 USER 但还添加了检查发出调用的用户是否实际上是照片的所有者 我厌倦了写同样的
  • 如何实现.NET MAUI本地化

    我无法找到任何有关为 MAUI 应用程序实施本地化的指导 我已经阅读了一些有关本地化 Xamarin 应用程序的信息 但即使经过广泛的网络搜索 也无法将其转发到 MAUI 谁能给我指出我可能错过的参考资料 试试这个 创建标准资源 添加新项目