【 Avalonia UI 语言国际化 I18n】图文结合教学,保姆级教学,语言国际化就是这么简单(.Net C#)

完整项目地址

github : https://github.com/Crazy-GrowUp/AvaloniaI18nTest/tree/master
gitee :https://gitee.com/jack_of_disco/avalonia-i18n-test

0.项目新建 Properties 文件夹

对应的项目配置文件里面就会增加 <Folder Include="Properties\" />

1.项目添加新建项目

在 Properties 里面添加资源文件,命名为 Resource.resx

2.将自定义工具设置为 PublicResXFileCodeGenerator(重要)

右键 Resource.resx 文件,打开属性,修改属性中自定义工具为 PublicResXFileCodeGenerator

3.添加文本资源


4.安装扩展 ResXManager(推荐)

安装完成后,可能需要重启VS

5.添加多国语言

方式一:右键 Resource.resx 使用 ResXManager 打开

Properties 文件夹下面就多了一个 Resource.en.resx

方式二:手动添加多国语言文件

比如我们要添加中文,那么就新建 Resource.zh.resx 资源文件

然后将对应的翻译填写到资源文件中

6.在 .axaml 文件中使用

  1. 在 MainWindow.axaml 中加上 xmlns:prop="using:AvaloniaI18nTest.Properties"
  2. 通过 {x:Static prop:Resource.Name} 进行使用

7.在代码中使用

  1. 在 MainWindowViewModel 中 使用 using AvaloniaI18nTest.Properties; 或者 using prop = AvaloniaI18nTest.Properties;

  2. 取出其中的值

    c# 复制代码
     public string ResxName { get; } = Resource.Name;
     public string ResxName2 { get; } = prop.Resource.Name;   
  1. 在 axaml 中显示

8.切换语言

切换需要需要在 App.axaml.cs 中的 Initialize() 方法中进行设置

c# 复制代码
 // 不写或者为空就是默认系统语言
 // Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(""); 
 // 修改语言
 // Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("zh"); 
 Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en");
相关推荐
爱掉发的小李2 分钟前
使用python爬取网络资源
开发语言·后端·python·动态规划
霍珵璁6 分钟前
Elixir语言的测试开发
开发语言·后端·golang
excel9 分钟前
webpack 核心编译器 第一节
前端
多多*18 分钟前
Java 双端队列实战 实现滑动窗口 用LinkedList的基类双端队列Deque实现 洛谷[P1886]
java·开发语言·数据结构·算法·cocoa
程序员老冯头20 分钟前
第八节 MATLAB运算符
开发语言·算法·matlab
大怪v20 分钟前
前端佬们!塌房了!用过Element-Plus的进来~
前端·javascript·element
Bright Data29 分钟前
Go 代理爬虫
开发语言·爬虫·golang
拉不动的猪31 分钟前
electron的主进程与渲染进程之间的通信
前端·javascript·面试
江沉晚呤时1 小时前
深入解析外观模式(Facade Pattern)及其应用 C#
java·数据库·windows·后端·microsoft·c#·.netcore
软件技术NINI1 小时前
html css 网页制作成品——HTML+CSS非遗文化扎染网页设计(5页)附源码
前端·css·html