c# 本地化

区域

线程默认区域为当前计算机所选区域
设置当前区域:
Thread.CurrentThread.CurrentCulture = new CultureInfo(“zh-cn”);

获取当前区域:
Console.WriteLine(Thread.CurrentThread.CurrentCulture.ToString());

区域名称:
“zh-cn” 中文
“en-us” 英文

资源

1.新建资源文件
c# 本地化_第1张图片

资源名+区域名+”.resx”
如:Test.zh-CN.resx

2.添加资源
c# 本地化_第2张图片

3.获取资源
ResourceManager rm = new ResourceManager(“ResourceTest.Test”, Assembly.GetExecutingAssembly());

Console.WriteLine(rm.GetString(“HolleWrole”));

示例资源文件:
在这里插入图片描述

示例代码:

static void Main(string[] args)
{
     
    // ResourceTest.Test = 资源命名空间.资源名
    ResourceManager rm = new ResourceManager("ResourceTest.Test", Assembly.GetExecutingAssembly()); ;
    // 根据当前默认区域获取资源字符串
    Console.WriteLine(rm.GetString("HolleWrole"));
    // 获取区域为"zh-cn"的资源字符串
    Console.WriteLine(rm.GetString("HolleWrole", new CultureInfo("zh-cn")));
    // 获取区域为"en-us"的资源字符串
    Console.WriteLine(rm.GetString("HolleWrole", new CultureInfo("en-us")));
    // 获取资源中的图片
    using (Image logo = (Image)rm.GetObject("image1"))
    {
     
        logo.Save("logo.jpg");
    }

    Console.ReadKey();
}

你可能感兴趣的