Help:Extension:Translate/zh



翻译扩展为使用MediaWiki 进行翻译工作提供了必要的特性增强. 它可以用于翻译页面内容、wiki界面、甚至其他软件产品，类似于它在translatewiki.net中的用途. 翻译扩展简单易用的翻译界面，并拥有可以从文本内容中分离出需要翻译的内容，通过将内容分割为可管理的单元，仅显示可翻译文本给翻译者. 每个单元会自动更新变化，翻译人员通过特殊页面或wiki，可以立刻看到需要更新的位置.

翻译扩展在translatewiki.net上用于翻译 MediaWiki 的用户界面和其他软件项目，每月有数千译者参与其中. 在userbase.kde.org上，它用于翻译近千的用户文档内容页面. 翻译扩展易于上手，同时还提供了方便的高级报表、评审和工作流特性.

功能


界面：翻译扩展的主要特性是简单实用的翻译界面. 除了类似消息定义和文档这些必要的信息外，你还可以查看其他语言的翻译. 如果定义改变，你会看到该变更. 扩展包含一些内置检查，可以帮助发现常见错误，比如括号不成对、变量丢失. 根据设置，它还可以根据翻译记忆或机器翻译服务提供翻译建议，比如Google翻译、微软的Bing翻译器和Apertium.

通过JavaScript和AJAX增强了翻译界面的可用性. 后端提供的WebAPI可用于移动终端或为特殊内容定制的界面. 还可以导出消息以便在其他接受 Gettext po文件格式的在线/离线工具中进行翻译.

消息组和任务： 很多特性都是围绕着消息组和任务这两个基本概念建立的.

消息组表示消息的集合. 一个内容页面则是一个消息组，它出现在极简的表格中，而每个段落为其中的一条消息. 在 translatewiki.net 上，每个 MediaWiki 扩展的所有消息构成一个消息组；一些太大的扩展拥有多个消息组. 你也可以创建消息组的集合，比如所有新闻简讯、所有翻译扩展的消息. 很多统计和任务都以消息组为基础.

任务，或称为消息组中不同的消息列表，适用于不同的情况. 译者一般要在消息组中选择未翻译的消息列表，不过还有其他任务，如校对消息或只是查看所有消息的完整列表（包括已译和未译的）.



报告和统计：本扩展提供的报告功能，显示根据译者活跃程度排序在指定语言中所有消息组里未译消息状况.

内容翻译： 如果你曾经试图不使用任何工具来翻译 MediaWiki 中的内容，你知道它没什么灵活性. 当翻译完的版本变得过时、需要更新时，无法跟踪原始页面的变更，因此有很多半成品和过时了的翻译作品，无法直观的把握整体状况. 因为无法对部分文本进行可管理的翻译工作，译者经常会感到沮丧. 译者无法找到要翻译什么、以及哪些需要更新. 用户也会因为这些过时的信息而感到困惑.

通过翻译扩展及其页面翻译功能，这些都解决了. 它给需要翻译的页面增加了一些额外开销，但好处远远大于开销. 本质上，你仅仅需要标记页面上需要翻译的部分. 扩展会将其分割为段落大小的单位，并为他们创建消息组. 之后，译者可以使用适用上面介绍的所有功能. 另外，你可以使用 标签，简单的添加语言栏；或者通过使用 Special:MyLanguage/Pagename ，在指定语言的版本存在的时候，使链接自动使用该语言的版本.

更多内容参见教程如何设置页面内容用于翻译和页面翻译功能进阶文档.

开发者： 扩展内建了对许多常见翻译文件格式的支持，比如 Java 属性文件、Gettext po文件. 并包含一组工具，通过 wiki 或命令行来高效的导入导出翻译内容.

搜索：没有搜索功能，对翻译者来说找到他们需要翻译的消息会困难. 寻找项目中的所有翻译或字符串效率不高，而且，翻译者通常想要检查一个特定的项是如何在一个工程中翻译为某一个特定语言的.

特殊页面Special:SearchTranslations解决了这个问题. 翻译者可以找到含有任何语言的特定的项的消息，并根据准则过滤：这是默认的. 搜寻之后，他们可以从结果中找到需要翻译的内容，比如从特定的项中找到存在的、丢失的、过时的翻译.

使用示例
使用翻译扩展，你几乎可以翻译任何东西. 当然，有特殊工具用于翻译某些类型的内容，比如视频字幕. 使用这些工具可以做的更好，不过单就一般的翻译来说，对于任何可以拆分成从一个字到一大段消息的文本，翻译扩展都有很好的表现. 较长的消息变得不太好翻译，也只是费些功夫而已.

翻译扩展支持的三种主要用途为 内容翻译、本地界面翻译和软件翻译. 下面章节记述了相关内容，并附带了有助于找到那些有教程、参考文档和深入讨论内容的链接. 三种用途中，界面翻译利用的最少.

内容翻译


大多数维基都有需要提供多语言的内容. 不管只有几页还是有上百页，这不是问题. 为了防止浪费译者的时间，只将已经一定程度上稳定的页面标记为翻译对象. 之后的每个变更都会影响几十上百翻译，更新过来需要的时间加起来很可观. 特别对于翻译志愿者，你应该注意这个方面，尊重他们花费在翻译及更新上的时间，避免不必要的工作. 如果你使用翻译扩展来翻译页面，你就已经准备好了可以以最有效的方式利用翻译者时间的方法.

翻译扩展将页面分割成段落大小的单位，没有为译者留下太多的改变内容的自由度. 这通常是有益的，对于跨语言保持内容的连续性和一致性来说是理想的. 它可以使用，但原则上，以该方法进行翻译不具有普遍适用性. 比如，对于维基百科文章，通常是彼此完全独立的. 即使它们最初来自于其他语言的翻译，他们也开始了有别于原始版本的“生活”. 对于翻译，原始版本始终是主要版本，新内容不能从翻译版开始添加.

记住这些限制会发现仍有大量情况适合于该功能的使用. 即使不是所有也是大部分用户文档及编写后一般不会修改的新闻类的内容也属于该情况. 如果您安装了翻译扩展并配置好访问权限，请尝试创建页面并把整段文本放在  中并点击链接，或参照该指南如何标记页面以备翻译.

页面组可以在Special:AggregateGroups页面进一步聚合在一起.

多语言维基中的本地界面翻译
几乎每个维基都会定制的一部分是侧边栏. 为自定义侧边栏消息创建消息组是可行的，这也适用于其他本地定制化界面.

一种有趣的延伸是内置 魔法词的多语页面或模板. 典型的例子是 translatewiki.net 主页和一些维基共享资源的模板. 魔法词是内容翻译功能的备选方案，它更适用于含大量标记的页面，如 translatewiki.net 主页. 另一个很赞的功能是这种页面的语言会自动遵循用户界面语言，这样就省去了语言切换条，不过相应的需要界面语言选择功能.

目前建立这个比起内容翻译要复杂些，且需要配置软件，不过在如何创建界面消息组教程中涵盖了所有这些内容.

软件翻译
该翻译扩展很适合用于翻译软件界面消息. 它在 translatewiki.net 上用来翻译十多个软件产品，包括游戏和网络程序. 它在读取和更新译文时支持 web 开发中的常见格式，包括 Java 属性、Gettext 和 Yaml 文件.

跟踪修订也能用于外部跟踪文件，因为在内部该扩展使用本地化文件的缓存衍生版，其中包含了原文和译文，并不直接使用原来的格式. 翻译管理员在更新时可以使用 web 界面或命令行借口检查消息定义和“模糊”译文（需更新）. 不论底层的文件格式或版本控制系统（如果有）是什么，这样做都是可行的.

通过简单的命令行工具，翻译管理员可以轻松导入大量现有译文，还能通过一个命令导出格式和目录结构正确的所有译文. 您可以直接检出到 VCS 版本库，这样您可以方便的提交更改和新文件.

译者与翻译管理员

 * 如何翻译 [教程]
 * 翻译的最佳实践
 * 统计与报表
 * 质量保证
 * 消息组状态
 * [进行中] 搜索
 * 脱机翻译
 * [进行中] 词汇表

翻译管理员

 * 如何为页面做好翻译准备 [教程]
 * 页面翻译管理
 * 界面消息组（本地化侧栏，主页和模板） [教程]
 * [进行中] 消息组管理
 * YAML设置格式
 * 如何为基于文件的消息组设置 YAML [教程]

开发人员参考文档

 * 安装 和 配置; 大多数情况下MediaWiki语言扩展包已足够使用.
 * [进行中] 给开发人员的翻译说明
 * 钩子
 * [进行中] 消息组
 * [进行中] 文件格式支持
 * 翻译目标
 * [未撰写] action API
 * 插入式
 * Command line scripts
 * 翻译历史

相关项

 * - 给开发者的本地化教程，用于编程马拉松（hackathon）与练习
 * - 添加转换SVG文件的支持
 * - 提供网页字体和输入法
 * m:Translatability – 在多语言wiki上创建页面或过程时需要考虑的事
 * m:Tech/Translators/List - 将您添加到目前活跃的技术翻译者列表中
 * m:Tech/Translators/List - 将您添加到目前活跃的技术翻译者列表中