站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
▼
建站程序
开发
服务器
办公软件
开发教程
▼
服务器教程
软件使用教程
运营教程
热门电子书
▼
CSS教程
WordPress教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
热点词条
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
Gallery:本地化
”(章节)
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
== 本地化的新建 == 浏览一下Gallery就能发现不少名为"po"的目录。("po"是一gettext术语,即"可移植对象(portable object)")。以下为找到它们的一个方法: <pre> find . -type d -name po <-- 输入这个 ./themes/matrix/po <-- 会看到这个 ./lib/tools/po ./modules/core/po ./modules/comment/po ./modules/netpbm/po ** 忽略"lib/tools/po"目录。 </pre> 这些目录还有翻译源文件。你要 使用合适的语言代码来新建文件,接着在它们之中 添入经过翻译的文本。首先要做的就是从 下面的两个表格中识别出正确的代码: ; 语言代码: : http://www.gnu.org/software/gettext/manual/html_mono/gettext.html#SEC221 : (or http://ftp.ics.uci.edu/pub/ietf/http/related/iso639.txt) ; 国家代码: : http://www.gnu.org/software/gettext/manual/html_mono/gettext.html#SEC222 : (or http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html) 在大多数情况下,你只需要语言代码即可,如德语就是"de"。要为多个国家中提供特定国家语言的翻译,你可以使用这样的代码格式,xx_XX,例如"pt_BR"表示葡萄牙语/巴西。如果你确定该用哪一个,包括语言和国家。如果你发现已有你使用语言的翻译的话,请接着看 [[#本地化的维护|本地化的维护]]。 一旦选好了代码,就需要为你的代码新建一个.po 文件。假定你选择是的"de"。那么对各po目录, 你需要做的是: <pre> make de.po </pre> 这将找到该本地化标记的所有文本(tpl文件中的[[Gallery:Tpl_Reference#Gallery_Custom_Tags|{g->text}]],php代码中的translate()或i18n()),并创建一个即将进行翻译的po文件。 有关文本编辑器。 * 有一些工具可以处理.po文件: ** [http://poedit.sourceforge.net/ poEdit](多平台) ** [http://i18n.kde.org/tools/kbabel/ KBabel](Unix KDE) ** [http://gtranslator.sourceforge.net/ GTranslator](Unix Gnome) ** [http://www.gnu.org/software/emacs/emacs.html Emacs with po-mode](多平台) ** [http://www.vim.org/ Vim] with [http://www.vim.org/scripts/script.php?script_id=695 PO plug-in](多平台) 我比较喜欢用XEmacs,因此我会 在下面的例子中拿XEmacs做例子。如果你有其他编辑器 的使用指导,请分享一下。XEmacs的主要模式被称为"po-模式",如果你安装了它,在编辑.po文件时就会 自动转入。我在这里不准备这么做,但 你可以尝试一下。 现在我们来编辑de.po。在其顶部应有Gallery的证书。你需要对以下值做自定义: ; Last-Translator :将你的名字及email以此格式输入:"FirstName LastName <email@address>" ; Language-Team : 输入语言及-翻译邮件列表,如"German <gallery-translations@lists.sourceforge.net>" ; Content-Type : 将此设置给"Content-Type:text/plain; charset=UTF-8\n" : 我们希望你使用UTF-8字符集。因为它允许我们在同一页面上对多个语言进行渲染,这对某一语言站点页面上其他语言的用户评论是有好处的。 这里有[http://cvs.sourceforge.net/viewcvs.py/gallery/gallery2/modules/core/po/de.po?rev=1.13&view=auto modules/core/po/de.po]的完整的header样例。注意编写者是如何维护前任翻译者名单的。 <pre> # 前任翻译者(迄今所知,如有脱漏,请在此添加): # - Jens Tkotz <jens@peino.de> # - Ernesto Baschny <ernst@baschny.de> ... # msgid "" msgstr "" "Project-Id-Version: Gallery: Core 1.0.32\n" "POT-Creation-Date: 2003-02-11 03:09-0800\n" "PO-Revision-Date: 2006-03-05 02:25+0000\n" "Last-Translator: Frederik Kunz <frederik.kunz@web.de>\n" "Language-Team: German <gallery-devel@lists.sourceforge.net>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" </pre> 如果你的语言中不包含复数词用法,如汉语或土耳其语,就得修改以下语句: <pre> "Plural-Forms: nplurals=2; plural=(n != 1);\n" -> Change to "Plural-Forms: nplurals=1; plural=0;\n". </pre> 这样,你只需翻译msgstr[0]并注释掉或移除msgstr [1]. 接着来看看Gallery证书下的语句行: <pre> #, fuzzy msgid "" msgstr "" </pre> 模糊的关键词告知你区块的翻译 不完整。但一旦更新了administration entry,就 可以移除"#, fuzzy"这一行以允许稍后翻译的 编译。 接下来你会看到一系列区块: <pre> #, c-format (<-- 在某些语句行中仅能看到这个) msgid "a message in english, with %d or %s tags in it" msgstr "" </pre> 你需要将英语消息的翻译置入 msgstr区块中,用引号括起来,例如: <pre> #, c-format msgid "a message in english, with %d or %s tags in it" msgstr "eine Anzeige auf englisch, mit %d oder %s etikettiert in ihr" </pre> 某些msgid值含有有助于进行翻译的提示信息: <pre> #. HINT: Button label for Bold msgid "B" msgstr "F" </pre> 注意提示内容不应翻译或包括在msgstr文本中。你可以使用[http://sourceforge.net/tracker/?func=browse&group_id=7130&atid=582564 翻译追踪器(Translations Tracker)]为特殊字串请求额外的提示文本。指定模块/外观主题以及msgid。注意<tt>strings.raw</tt>文件列出了用到msgid的文件。 在编辑这些消息之前,你确实应当将编辑器设为UTF-8模式, 这样编辑器才能使用正确的字符集。 如果你由于某种原因无法在UTF-8模式中进行编辑, 请考虑使用GNU的"recode"程序,在提交翻译内容给我们之前, 将其转为UTF-8(或者直接发给我们也许,我们会进行重新编码)。 如果你使用XEmacs的MULE(即多语言支持(MULtilanguagE)),你可以将一下内容添加到 ~/.xemacs/init.el中去 <pre> ; Enable Unicode support (via Mule-UCS) ; (require 'un-define) (set-coding-priority-list '(utf-8)) (set-coding-category-system 'utf-8 'utf-8) </pre> 当你编辑UTF-8的文件时,会有一些"u" 出现在屏幕底部状态条左侧。使用现有的 .po文件来看一看。 在进行一些翻译之后,来看看效果。运行: <pre> make install PO=de </pre> 它会将你的.po文件编译到一个.mo文件中,并将其安装到合适的位置。在修改.po文件之后,对各目录都要重复此步骤。如果你在创建locale目录时发生错误,请在运行make之前建立目录结构(如:modules/mymodule/locale/de/LC_MESSAGES)。 最后,你需要编辑modules/core/classes/GalleryTranslator.class,并在函数getLanguageData中加入如下语句: <pre> /* German */ $this->_supportedLanguages['de']['DE']['description'] = 'Deutsch'; $defaultCountry['de'] = 'DE'; </pre> 批注应为该语言的英语说法;语言 '描述'则应是该语言的本土说法。 现在登入G2,在用户偏好(你可能需要 通过站点管理对用户进行编辑)中,你应能在下拉列表中看到 German。而如果你选择了它,并以刚才那个用户的身份登入的话, 就能看到消息被翻译为该语言了。你还可以将语言选择器区块 添加到站点中,使用外观主题设定就可以做到。 '''注:''' 如果语言修改没有起效,请回顾一下[[Gallery:Language_Settings|语言设定]]的优先级(会话语言(Session language) > 用户偏好(user preferences) > 站点范围的默认语言(site wide default language))。如果有疑虑的话,可以使用语言区块或在用户偏好中反复尝试。
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)