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);
        }
   }
}
posted on 2012-05-16 08:51  Owen.wang  阅读(1048)  评论(0编辑  收藏  举报