c#支持国际化
c#支持国际化实现方式:
1 新建winform工程,名称MyResource.
2 工程支持中文和英文,在当前工程中新建资源文件Resource.zh-CN.resx和Resource.en.resx,在这2个资源文件中填写好中文和英文信息。
3 在工程中新建Util.cs类代码如下:
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using Microsoft.Win32;
using System.IO;
using System.Resources;
using System.Reflection;
using System.Threading;
using System.Globalization;
namespace MyResource
{
public class Utils
{
//name表示资源文件中的key值,方法说明:根据key值name自动查找当前语言区域适配的资源文件并且返回key对应的value值
public static string GetMessage(string name)
{
ResourceManager rm = new ResourceManager("MyResource.Resource", Assembly.GetExecutingAssembly());
CultureInfo ci = Thread.CurrentThread.CurrentCulture;
return rm.GetString(name, ci);
}
//name表示资源文件中的key值,language表示中文或者英文,方法说明:根据key值和语言名称查找对应的语言资源文件并且返回key对应的value值
public static string GetMessage(string name, string language)
{
ResourceManager rm = new ResourceManager("MyResource.Resource", Assembly.GetExecutingAssembly());
CultureInfo ci = null;
try
{
ci = new System.Globalization.CultureInfo(language);
}
catch (Exception)
{
ci = Thread.CurrentThread.CurrentCulture;
}
return rm.GetString(name, ci);
}
}
}
1 新建winform工程,名称MyResource.
2 工程支持中文和英文,在当前工程中新建资源文件Resource.zh-CN.resx和Resource.en.resx,在这2个资源文件中填写好中文和英文信息。
3 在工程中新建Util.cs类代码如下:
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using Microsoft.Win32;
using System.IO;
using System.Resources;
using System.Reflection;
using System.Threading;
using System.Globalization;
namespace MyResource
{
public class Utils
{
//name表示资源文件中的key值,方法说明:根据key值name自动查找当前语言区域适配的资源文件并且返回key对应的value值
public static string GetMessage(string name)
{
ResourceManager rm = new ResourceManager("MyResource.Resource", Assembly.GetExecutingAssembly());
CultureInfo ci = Thread.CurrentThread.CurrentCulture;
return rm.GetString(name, ci);
}
//name表示资源文件中的key值,language表示中文或者英文,方法说明:根据key值和语言名称查找对应的语言资源文件并且返回key对应的value值
public static string GetMessage(string name, string language)
{
ResourceManager rm = new ResourceManager("MyResource.Resource", Assembly.GetExecutingAssembly());
CultureInfo ci = null;
try
{
ci = new System.Globalization.CultureInfo(language);
}
catch (Exception)
{
ci = Thread.CurrentThread.CurrentCulture;
}
return rm.GetString(name, ci);
}
}
}