一、解释说明
- 随着软件开发的增多,使得软件会给到不同国家的客户使用,所以要做好多语言切换的功能
- 该功能调用了一个写好的接口,所以使用起来会比较简单,很适合小白使用
- 需要在自己的xaml文件和cs文件都做修改,所以注意标题,以免写错位置
二、xaml端的程序
- 声明调用的资源
xmlns:lan = "clr-namespace:MultiLanguageForXAML;assembly=MultiLanguageForXAML"
- 控件引用
- 将原来的content = “密码” 替换成 lan:Xaml.Key=“密码”
- 下面程序里面的"密码"是一个代称,将来用于切换多语言
<Label lan:Xaml.Key="密码" Height="30" Width="42" FontSize="14"/>
<Label lan:Xaml.Key="账号" Height="30" Width="42" FontSize="14"/>
三、cs文件的程序
- 首先要在App.xaml.cs这文件夹里进行初始化和引用
- 分别引用MultiLanguageForXAML和MultiLanguageForXAML.DB
- 在OnStartup(StartupEventArgs e)里面进行初始化
using System.Reflection;
using System.Windows;
using MultiLanguageForXAML;//引用
using MultiLanguageForXAML.DB;//引用
namespace AI
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
//初始化引用
protected override void OnStartup(StartupEventArgs e)
{
string appDir = System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
string path = System.IO.Path.Combine(appDir, "languages");
LanService.Init(new JsonFileDB(path), true, "zh");
}
}
}
- 切换语言的函数
- 使用时记得也在cs文件引用MultiLanguageForXAML和MultiLanguageForXAML.DB
- 这里面“zh”是自己存放语言的json文件名
LanService.UpdateCulture("zh");
四、json文字资源
- 文件夹及json文件展示
- json内部数据展示
- 中文json文件
{
"密码": "密码",
"账号": "账号"
}
- 英文json文件
{
"密码": "Password",
"账号": "Account"
}
五、多语言切换接口
多语言接口提取处:https://github.com/GiantappMan/MultiLanguageForXAML