Bootstrap

WPF中的多语言切换(简单易上手)

一、解释说明

  1. 随着软件开发的增多,使得软件会给到不同国家的客户使用,所以要做好多语言切换的功能
  2. 该功能调用了一个写好的接口,所以使用起来会比较简单,很适合小白使用
  3. 需要在自己的xaml文件和cs文件都做修改,所以注意标题,以免写错位置

二、xaml端的程序

  1. 声明调用的资源
	xmlns:lan = "clr-namespace:MultiLanguageForXAML;assembly=MultiLanguageForXAML"
  1. 控件引用
    • 将原来的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文件的程序

  1. 首先要在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");
        }
    }
}
  1. 切换语言的函数
    • 使用时记得也在cs文件引用MultiLanguageForXAML和MultiLanguageForXAML.DB
    • 这里面“zh”是自己存放语言的json文件名
	LanService.UpdateCulture("zh");

四、json文字资源

  1. 文件夹及json文件展示
    在这里插入图片描述
  2. json内部数据展示
  • 中文json文件
{
  "密码": "密码",
  "账号": "账号"
}
  • 英文json文件
{
 "密码": "Password",
 "账号": "Account"
}

五、多语言切换接口

多语言接口提取处:https://github.com/GiantappMan/MultiLanguageForXAML

;