Devexpress 10.2.4 及 各版本 中文语言包 通用解决办法

背景:

     1、本地语言包有官方版的,但需要原始强名才可以进行编译,否则编译出来的语言名程序集与控件程序集强名不一致无法使用;

     2、官方指定代理商提供的,需要花钱购买;

     3、民间汉化的,以前不要钱,最近发现好像也收费了;

     4、如何同步官方的版本,而不需要大量的手工汉化工作呢?

 

解决办法:

     1、参照官方说明,这个是告诉我们怎么自己做翻译,自己做本地语言包。

         http://documentation.devexpress.com/#WindowsForms/CustomDocument1862

     2、这个是官方放出的,需要有原始强名才能编译的本地化资源包。

         http://www.devexpress.com/Support/Center/KB/p/A421.aspx

     3、好了,有官方的语言名,和汉化办法,咱们把二者结合一下吧。

         这个是改造后的 “本地化语言处理类”(这个名怎么叫合适,我没太想好,先这样吧)。

代码
public   class  LocalizerCN : Localizer
    {
        
static  Dictionary < string string >  Dict  =   new  Dictionary < string string > ();
        
static   string  strResname  =   @" zh-CN/DevExpress.XtraEditors/LocalizationRes.zh-CN.resx " ;
        
static  LocalizerCN()
        {
            DSDictionary dsDictionary 
=   new  DSDictionary();
            ResXResourceReader rsxr 
=   new  ResXResourceReader(strResname);
            
foreach  (DictionaryEntry d  in  rsxr)
            {
                Dict.Add(d.Key.ToString(), d.Value.ToString());
            }
        }
        
public   override   string  GetLocalizedString(StringId id)
        {
            
if  (Dict.ContainsKey(id.GetType().Name  +   " . "   +  id.ToString()))
                
return  Dict[id.GetType().Name  +   " . "   +  id.ToString()];
            
else
                
return  id.ToString();
        }
    }

 

 

              在程序入口的地方,这样写一下。

              Localizer.Active = new LocalizerCN();             

 

         4、当然,还有其它的类文件需要写,方法通用。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值