最省力的多语言解决方案

微软的ASP.NET localization(本地化,多语言)的方案,在使用的过程中,碰到许多的问题,这些问题都不是技术实现上的。主要是他浪费了我们许多的时间和精力。

1.在页面上使用许多key来替换页面的汉字文本,导致页面不可读,很难定位,维护困难。

2.要把全部的文本换成key,工作量巨大,繁重枯燥,很容易出错,忘记转换,忘记后很难发现。

3.key很容易发生冗余,因为不同时间加入的文字到底以前加过没有,要查找,挺烦的,

4.key和文本的一致性不好维护,

最近在开发了几天和python ,flask相关的项目,他山之石可以攻玉,jingjia的多语言方案也是比较讨巧,借鉴,优化,全自动,笔者开发一款asp.net多语言扫描,抽取,生成工具来完成这个繁重的工作,他的特点如下

1.选择一个web项目,自动抽取其中的网页模版上汉字,和cs代码文件中字符的汉字,自动替换

2.生成标准的多语言资源文件,

3.内置翻译模块,可自动生成繁体、简体、英文

4.集成,扫描、抽取、替换、生成、翻译于一体,软件国际化零成本。

笔者做了一个demo测试了一下,非常好。

这个是扫描工具,目前支持webform和mvc

内置翻译模块,会生成资源文件,并且自动翻译,成中文或者繁体、英文

这个是自动生成的资源包

模版文件中的汉字会自动替换成这样,很容易读,容易定位

这个是转换后的效果,不错吧!

如有需要可以邮件联系!这个设计一些其他原因,无法免费提供 。

最省力的多语言解决方案

时间: 2024-12-07 03:57:35

最省力的多语言解决方案的相关文章

Yii 2 —— 基于Mustache的页面多语言解决方案

在Yii 2中,官方的页面多语言解决方案有两个: 方案1,使用Yii::t()函数,在页面中需要输出文字的地方,使用类似如下代码: <?= Yii::t('views/login', 'hello')?> 这样做的后果是页面上大量充斥着类似的代码,导致页面可读性很差,而且对于同一个页面来说,Yii::t()函数的第一个参数基本上都是一样的,看到这些重复代码,也是心塞.我曾经在项目中采用这种方式实现多语言,一个简单的登录页面都能写到心烦的要命. 方案2,为指定语言做一个专门的视图,假设你有个页面

C++ 软件开发多国语言解决方案汇总

暂时汇总出了以下几种方法 以Unicode为核心 采用 GNU gettext  基于Qt的多语言开发工具:Qt Linguist  以Unicode为核心 参考:http://www.ibm.com/developerworks/cn/linux/l-cn-ccppglb/ 多国语言的存在,使程序员在编码处理上花费了大量时间和精力:然而各种各样的乱码问题,如 XML 格式错误.文本显示异常.解析器异常等依然层出不穷.特别的,相对于 JAVA 语言,C/C++ 在处理编码问题上有更大的困难.本文

多国语言解决方案gun.gettext + poedit

1.关于i18n i18n其来源是英文单词 internationalization的首末字符i和n,18为中间的字符数是“国际化”的简称. i10n为资源本地化,全称为Localization,因为首字母I与末字母N之间共10个字母,又称为I10N.资源本地化就是要让这个软件产品使用当地的环境,如语言.文化.使用习惯等 一般涉及到具体国家的语言文件,以i10n来表示,而多国语言相关的解决方案以i18n表示. 2.关于gun.gettext wqe

c#开发之多国语言解决方案gun.gettext + poedit

1.工具简介 1.1.关于i18n i18n其来源是英文单词 internationalization的首末字符i和n,18为中间的字符数是“国际化”的简称. i10n为资源本地化,全称为Localization,因为首字母I与末字母N之间共10个字母,又称为I10N.资源本地化就是要让这个软件产品使用当地的环境,如语言.文化.使用习惯等 一般涉及到具体国家的语言文件,以i10n来表示,而多国语言相关的解决方案以i18n表示. 1.2.关于gun.gettext gun.gettext软件国际化

.netcore多语言解决方案

这里本文使用Microsoft.AspNetCore.Localization来实现多语言的解决方案 默认是包含这个包的,所有不需要再额外安装 首先需要注入我们需要的服务 1.在startup.cs中注入 public void ConfigureServices(IServiceCollection services) { //设置语言包文件夹名称 services.AddLocalization(o => { o.ResourcesPath = "Language"; });

在Linux下开发多语言软件(gettext解决方案)

最近的项目出现了一个bug.项目是基于一个已有的成熟开源软件之上做修改的,新写了加解密库,用于为该成熟开源软件增添加解密功能.功能增加完成后效果都很好,可是就是中文出不来了,也就是说没办法自适应多语言环境了(提示信息在中文操作系统下是中文,英文操作系统下是英文).使用strace -o log [要调试的命令]定位出了其在执行期间调用的语言包情况,发现它并没有调用自有的语言包,反而调用了加解密库的语言包(但是这个加解密库就没有开发任何语言包),导致找不到该语言包而默认显示代码中的英文提示信息.经

ASP.NET MVC 多语言实现——URL路由

考虑实现一个完整的基于asp.net mvc的多语言解决方案,从路由到model再到view最后到数据库设计(先挖好坑,后面看能填多少). 我所见过的多语言做得最好的网站莫过于微软的msdn了,就先从模仿它的路由开始 仅实现相同的url格式很简单,只要将默认的路由加上一个表示语言的变量就可以了 public static void RegisterRoutes(RouteCollection routes) { //other routes routes.MapRoute( name: "Def

在WinForm应用程序中快速实现多语言的处理(2)--开发框架模块的整合

我在上篇随笔<在WinForm应用程序中快速实现多语言的处理>里面介绍了Winform开发中多语言的处理解决方案,整个多语言解决方案是以实际需求为驱动,以减少代码改动,高效处理为目的,通过基类继承的方式减少代码修改,通过引入翻译API方式减少翻译处理时间,本随笔继续深化这个多语言处理方案的介绍,是指整合在开发框架中进行无缝的使用. 1.多语言的处理步骤 1)提取多语言处理JSON文件 我们通过把程序界面或者代码里面的中文提取出来,放到JSON文件中,对不同模块可以分为不同的JSON文件,如下所

IOS要用到的东西

code4app.com 这网站不错,收集各种 iOS App 开发可以用到的代码示例 cocoacontrols.com/ 英文版本的lib收集 objclibs.com/ 精品lib的收集网站 http://www.ityran.com/forum-61-1.html 泰然代码仓库 ---------------------- emoji ---------------------- http://www.easyapns.com/category/just-for-fun http://w