orchard project 本地化
http://orchardproject.net/localization
本地化
果园的本地化管理是托管在一个外部服务( Crowdin), 的项目、公众和贡献是受欢迎的!
如何做出贡献
- 注册上 Crowdin。
- 去的项目页面 果园CMS和 果园CMS画廊和申请加入该项目。
- 您的应用程序将很快接受,你就会被添加到项目“校对”所选的语言。 这意味着您将能够编辑和批准翻译(翻译后的字符串必须是包含在下载包)。
- 如果你是新到果园翻译,请咨询与其他译者的语言和确保你遵循相同的约定。
收到更新
- 本地化的更多信息可以在这里找到: 创建global-ready应用程序。
- Crowdin的更新和使用的信息,请访问 果园的讨论论坛和订阅。
- 你也可以订阅本地化的邮件列表发送的电子邮件 join-orchard-localization@lists.outercurve.org。
下载包
果园的翻译PO-files的形式存储在包,你可以添加自己的果园实例。 这些包都是再生的每小时(过程需要2 - 3分钟)。 请访问 Crowdin项目主页看到每个语言翻译的进度。
你可以下载所有的每个语言的翻译两个项目: 果园CMS, 果园CMS画廊。
每种语言的个人下载包如下:
| 语言 | 文化代码 | 源包 | 画廊包 |
|---|---|---|---|
| 南非荷兰语 | af-ZA | 链接 | 链接 |
| 阿拉伯语,埃及 | ar-EG | 链接 | 链接 |
| 白俄罗斯 | 是通过 | 链接 | 链接 |
| 波斯尼亚 | bs-BA | 链接 | 链接 |
| 保加利亚 | bg-BG | 链接 | 链接 |
| 简体中文 | 应用 | 链接 | 链接 |
| 中国传统 | zh-TW | 链接 | 链接 |
| 克罗地亚 | hr-HR | 链接 | 链接 |
| 捷克 | cs-CZ | 链接 | 链接 |
| 丹麦 | da-DK | 链接 | 链接 |
| 荷兰 | nl-NL | 链接 | 链接 |
| 荷兰、比利时 | nl-BE | 链接 | 链接 |
| 英语,澳大利亚 | en-AU | 链接 | 链接 |
| 芬兰 | fi-FI | 链接 | 链接 |
| 法国 | - fr | 链接 | 链接 |
| 法国、加拿大 | fr - ca | 链接 | 链接 |
| 弗里斯兰语 | fy-NL | 链接 | 链接 |
| 德国 | de-DE | 链接 | 链接 |
| 希腊 | el-GR | 链接 | 链接 |
| 希伯来语 | he-IL | 链接 | 链接 |
| 北印度语 | hi-IN | 链接 | 链接 |
| 匈牙利 | 分别 | 链接 | 链接 |
| 印尼 | id id | 链接 | 链接 |
| 意大利 | 葡萄酒 | 链接 | 链接 |
| 日本 | ja-JP | 链接 | 链接 |
| 克林贡 | tlh-AA | 链接 | 链接 |
| 韩国 | ko-KR | 链接 | 链接 |
| 拉丁 | 个别 | 链接 | 链接 |
| 立陶宛 | lt-LT | 链接 | 链接 |
| 马其顿 | mk-MK | 链接 | 链接 |
| 挪威书面挪威语 | nb-NO | 链接 | 链接 |
| 波斯 | fa-IR | 链接 | 链接 |
| 波兰 | pl-PL | 链接 | 链接 |
| 葡萄牙语 | pt-PT | 链接 | 链接 |
| 葡萄牙、巴西 | pt-BR | 链接 | 链接 |
| 罗马尼亚 | 滚装的 | 链接 | 链接 |
| 俄罗斯 | ru-RU | 链接 | 链接 |
| 塞尔维亚(斯拉夫字母) | sr-Cyrl-RS | 链接 | 链接 |
| 塞尔维亚(拉丁) | sr-Latn-RS | 链接 | 链接 |
| 斯洛伐克语 | sk-SK | 链接 | 链接 |
| 斯洛维尼亚语 | sl-SL | 链接 | 链接 |
| 西班牙语 | es-ES | 链接 | 链接 |
| 西班牙、阿根廷 | es-AR | 链接 | 链接 |
| 西班牙、墨西哥 | es-MX | 链接 | 链接 |
| 瑞典 | sv-SE | 链接 | 链接 |
| 泰米尔 | 助教 | 链接 | 链接 |
| 泰国 | th | 链接 | 链接 |
| 土耳其 | tr-TR | 链接 | 链接 |
| 乌克兰 | uk-UA | 链接 | 链接 |
| 越南 | vi-VN | 链接 | 链接 |
本地化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 project 本地化的更多相关文章
- Orchard教程索引页
Orchard官方教程(译)索引 链接标注 原文 则表示未译,其他带有中文标题的表示译文内容. 入门 安装Orchard--Installing Orchard 通过zip包手动安装Orchard-- ...
- Orchard创建全局应用
Orchard的本地化管理托管于一个外部服务(Crowdin),这个项目是公开的且欢迎大家做贡献. Orchard支持两种类型的本地: Orchard应用程序以及已安装模块中的文本字符串的本地化(其实 ...
- List of content management systems
https://en.wikipedia.org/wiki/List_of_content_management_systems Microsoft ASP.NET Name Platform Sup ...
- Orchard 源码探索(Localization)之国际化与本地化
本地化与国际化 基本上相关代码都在在Orchard.Framework.Localization中. T("english")是如何调用到WebViewPage.cs中的Local ...
- [翻译]Orchard如何工作
Orchard一直是博主心中神一般的存在,由于水平比较菜,Orchard代码又比较复杂看了几次都不了了之了.这次下定决心要搞懂其工作原理,争取可以在自己的项目中有所应用.为了入门先到官网去学习一下相关 ...
- 微软CMS项目 Orchard 所用到的开源项目
研发了Orchard一年左右了,时常遇到瓶颈,总觉得力不从心,其实并不是基础不够,关键还是概念性的东西太多,一会儿这个概念名词,一会那个,关于Orchard的技术文档也的确很少,每次看起来总是焦头烂额 ...
- Orchard 微软CMS项目介绍
我之前的项目中使用了Orchard, 它依据依赖注入的思想而做的模块化让我深深为之着迷,这里开始宣传一下这个架构. 包含的概念非常之多,我现在也不甚了解.Orchard就是自己想控制它改变它的话需要非 ...
- [译]:Orchard入门——手动安装Orchard
原文链接:Manually Installing Orchard 文章内容基于Orchard 1.8版本 本文将演示通过zip安装包安装Orchard所需要的步骤. 本文包括如下三种不同的Orchar ...
- iOS项目的本地化处理(多国语言)
项目的本地化就是:iOS系统在不同语言环境下自动切换语言,从而实现一个app发布到全世界各个国家的AppStore上. 我们不仅仅需要在iOS项目中做本地化处理,在上架iOS APP的时候,也需要做对 ...
随机推荐
- JS:body元素对象的clientWidth、offsetWidth、scrollWidth、clientLeft、offsetLeft、scrollLeft
document.body.clientWidth 获取body元素对象的内容可视区域的宽度,即clientWidth=width+padding,不包括滚动条. document.body.clie ...
- k8s的Dashboard
前面章节 Kubernetes 所有的操作我们都是通过命令行工具 kubectl 完成的.为了提供更丰富的用户体验,Kubernetes 还开发了一个基于 Web 的 Dashboard,用户可以用 ...
- hdu5970
真是怀疑当初合肥赛区怎么考这么差的…… 首先根据辗转相除法可知f(i,j)=f(i+j*k,j) 于是我们可以先于处理出f(i,j) (j<=666,i<=j),当确定i,j时c也确定 ( ...
- EntityFramework整理
最近公司项目需要,想要给订单增加一个状态修改记录. 说起来很简单的需求,但是做的时候,卡了我半天... 问题描述: 修改订单状态保存之前的时候,需要判断,如果新状态不等于旧状态,才做记录,但是在底层的 ...
- 【转】Celery 分布式任务队列快速入门
Celery 分布式任务队列快速入门 本节内容 Celery介绍和基本使用 在项目中如何使用celery 启用多个workers Celery 分布式 Celery 定时任务 与django结合 通过 ...
- 洛谷P3926 SAC E#1 - 一道不可做题 Jelly【模拟/细节】
P3926 SAC E#1 - 一道不可做题 Jelly [链接]:https://www.luogu.org/problem/show?pid=3926 题目背景 SOL君(炉石主播)和SOL菌(完 ...
- HDU 2829 Lawrence
$dp$,斜率优化. 设$dp[i][j]$表示前$i$个数字切了$j$次的最小代价.$dp[i][j]=dp[k][j-1]+p[k+1][i]$.观察状态转移方程,可以发现是一列一列推导出来的.可 ...
- DP重开
颓了差不多一周后,决定重开DP 这一周,怎么说,学了学trie树,学了学二叉堆,又学了学树状数组,差不多就这样,然后和cdc一番交流后发现,学这么多有用吗?noip的范围不就是提高篇向外扩展一下,现在 ...
- Coloring Dominoes
问题 E: Coloring Dominoes 时间限制: 1 Sec 内存限制: 128 MB提交: 279 解决: 95[提交] [状态] [讨论版] [命题人:] 题目描述 We have ...
- 详解jQuery的选择器
1.基本选择器 基本选择器是jQuery中最常用的选择器,也是最简单的选择器,它通过元素id.class和标签名等来查找DOM对象.在网页中,每个id名称只能使用一次,class允许重复使用. ♠ # ...