Orchard中的多语言功能
本地化Orchard应用程序和模块
备注
在.Net应用程序中,本地化通常是通过使用资源文件(.resx)和附属程序集来实现的。Orchard需要一个更轻量级的方法,这就是使用.po文件。在Orchard中,语言包文件的数量等于模块数量乘以所支持的语言。这个数字还可能会不断增长,这样附属程序集的设计就不再适用这种需求了。另一方面,.po文件按照需要被加载或卸载就像.resx文件一样,且在许多工具中.po文件都是以一个标准的存储格式。
安装语言包文件
方法一:直接解压语言包文件
方法二:使用翻译管理(Translation Manager)模块来安装语言包文件
设置站点语言




设置默认语言区域为一个其他的语言区域不会有任何影响,除非你安装了相应的语言包文件。Orchard将通过查找以下路径来获取相应的语言包文件。
| 核心模块本地化文件路径 | ~/Core/App_Data/Localization/<culture-code>/orchard.core.po |
| 普通模块本地化文件路径 | ~/Modules/<module-name>/App_Data/Localization/<culture-code>/orchard.module.po |
| 主题本地化文件路径 | ~/Themes/<theme-name>/App_Data/Localization/<culture-code>/orchard.theme.po |
| 全局站点通用本地化文件路径 | ~/App_Data/Localization/<culture-code>/orchard.root.po |
| 虚拟子站通用本地化文件路径 | ~/App_Data/Sites/<tenant name>/Localization/<culture-code>/orchard.po |
可用的语言包文件
贡献新的语言包文件
通过记事本来修改语言包文件
解压刚刚下载下来的语言包模板文件,找到里面的.po文件并用记事本打开它。然后翻译完成里面相应的内容,翻译完所有的po文件后重新压缩这个文件夹,并将你所翻译的内容发送邮件join-orchard-localization@lists.outercurve.org就可以了。他们会把你翻译的内容放到可用语言包列表中的。
语言包文件格式
| 使用位置,注明是再什么位置使用这个翻译条目的 | #: reference-string |
|
条目ID,这通常是原始未翻译的字符串。这个ID设置后,此字符串不应该再修改。
即使是英文字符串有变化也可以让现有的一些其它语言翻译在不更新的情况下能继续工作。 |
#| msgid "id-string" |
| 当前的英语字符串,这个可以作为我们翻译的基础。 | msgid "English-string" |
| 需要翻译的内容 | msgstr "translated-string" |

- 视图中使用的:引用位置为视图文件的虚拟路径,如:~/Themes/TheThemeMachine/Views/User.cshtml
- .cs文件中使用的:引用位置为相应类的完全限定类型名称,如:Orchard.Packaging.AdminMenu
- 模块和主题清单文件中使用的:引用位置为清单文件的虚拟路径,如:~Themes/TheThemeMachine/Theme.txt。请注意,模块和主题清单的msgId,为相应字段的名称,如:作者在翻译时所用的msgId为Author。
在线修改语言包文件
提供第三方模块的语言包文件
本地化网站内容





参考文档
Orchard中的多语言功能的更多相关文章
- Orchard中如何配置远端发布
Orchard中默认安装是有Blog功能的.下面介绍如何配置Remote Blog Publishing功能,使用Windows Live Writer客户端发布博客. 一,开启Remote Blog ...
- Orchard中的命令行工具
在Orchard中提供了一个命令行工具,我们可以使用这个命令行工具创建用户.创建博客.生成代码.配置网站.打包模块等.并且这个命令行工具是可以扩充的,只要我们在自己开发的模块中创建一个Command类 ...
- Orchard中的Host和Tenant
Orchard的多个子站点特性 Orchard中可以支持多个子站点.当你运行Orchard的时候,通常一个网站运行在一个应用程序域中.这也是一般ASP.NET应用程序区分两个网站的方法,也就是说两 ...
- Orchard中codegen相关命令
Orchard开放了命令行功能,用于在快速创建代码. 由于该功能默认没有开启.系统中提供两种开启方式: 1.进入管理后台->Modules->找到[Code Generation]-> ...
- ORCHARD中文文档(翻译)
众所周知,Orchard是.net领域最好的开源CMS之一,他使用了微软最先进的技术,有一群先进理念的支持者,但是,所有的事情在国内总得加个但是,Orchard也不例外,中文资料相对比较少,官网提供的 ...
- orchard 中文文档 中英对照版
ORCHARD CMS a free, open source, community-focused Content Management System built on the ASP.NET MV ...
- [翻译]Orchard如何工作
Orchard一直是博主心中神一般的存在,由于水平比较菜,Orchard代码又比较复杂看了几次都不了了之了.这次下定决心要搞懂其工作原理,争取可以在自己的项目中有所应用.为了入门先到官网去学习一下相关 ...
- 微软CMS项目 Orchard 所用到的开源项目
研发了Orchard一年左右了,时常遇到瓶颈,总觉得力不从心,其实并不是基础不够,关键还是概念性的东西太多,一会儿这个概念名词,一会那个,关于Orchard的技术文档也的确很少,每次看起来总是焦头烂额 ...
- Orchard 微软CMS项目介绍
我之前的项目中使用了Orchard, 它依据依赖注入的思想而做的模块化让我深深为之着迷,这里开始宣传一下这个架构. 包含的概念非常之多,我现在也不甚了解.Orchard就是自己想控制它改变它的话需要非 ...
随机推荐
- C# WinForm动态控件实例:口算训练
昨天晚上回寝室看到室友正在被一个C#课的作业苦恼,作业的内容是编写一个口算训练程序,能够实现随意添加题目数量.于是,喜欢写C#的我就决定解救一下他们. 创建动态控件 既然要动态添加,那就必须使用动态控 ...
- python正则的中文处理
因工作需要,要查找中文汉字分词,因为python正则表达式\W+表示的是所有的中文字就连标点符号都包括.所以要想办法过滤掉. 参考博客:http://log.medcl.net/item/2011/0 ...
- jcom2在win7 X86上操作Excel
浅谈Java中利用JCOM实现仿Excel编程 在JAVA中使用JCOM和JXL注意要点: (1)在你的lib下要有jdom-1.0.jar,jxl-2.5.5.jar,jcom-2.2.4.ja ...
- PL/SQL — 变长数组
PL/SQL变长数组是PL/SQL集合数据类型中的一种,其使用方法与PL/SQL嵌套表大同小异,唯一的区别则是变长数组的元素的最大个数是有限制的.也即是说变长数组的下标固定下限等于1,上限可以扩展.下 ...
- appfabric 简单应用
http://msdn.microsoft.com/en-us/library/ee790941(v=azure.10).aspx Preparing the Visual Studio Projec ...
- DB天气app冲刺第四天
今天卡壳了 做得很慢.. 明天继续 换一种思路试一下吧..
- C# 操作mongodb 分组
c#操作mongodb的分组的简单例子: 1.首先要下载c#对应的mongodb驱动,官方下载地址:https://github.com/mongodb/mongo-csharp-driver/rel ...
- MSTest不支持参数化测试的解决方案
之前的项目中做单元测试一直用的是NUnit,这次做新项目,负责人要求统一用MsTest,理由是MsTest是Visual Studio内置的.用就用吧,我没什么意见.不过用了两天,我就发现一个大问题: ...
- 再写FFT模板
没什么好说的,今天又考了FFT(虽然不用FFT也能过)但是确实有忘了怎么写FFT了,于是乎只有重新写一遍FFT模板练一下手了.第一部分普通FFT,第二部分数论FFT,记一下模数2^23*7*17+1 ...
- Android:一个高效的UI才是一个拉风的UI(一)
开篇 Android是一个运行在移动终端上的操作系统,跟传统PC最大的不同所在就是移动终端的资源紧缺问题“比较”明显,当然对于一些屌丝机型,应该用“非常“来形容才靠谱.所以经常会出现在一些比较缺乏青春 ...