Valve 开发者社区:多语言支持

From Valve Developer Community
Jump to navigation Jump to search
English (en)Deutsch (de)Esperanto (eo)Español (es)Français (fr)Hrvatski (hr)Italiano (it)Português do Brasil (pt-br)Русский (ru)中文 (zh)Translate (Translate)
Broom icon.png
此物品需要清理以符合更高的质量标准,因为:
感到混乱
如需帮助,请参阅 VDC 编辑帮助维基百科清理过程。另外,请记住在本文的讨论页检查标记者留下的任何笔记。

本页面是关于在 Valve 开发者社区中使用其他语言的参考。如果您精通某种语言,翻译页面对您来说应该比较简单。本文不会深入探讨文章的翻译过程。

有关如何添加新语言的信息,请参见语言检查表 ↓

翻译页面

(主)、分类、Valve 开发者社区、帮助命名空间

所有翻译后的页面都使用{{LanguageBar}}来链接其他语言的页面。每个翻译页面都是独立的。

Note.png注意:某些页面仍然使用旧的{{lang}}{{langsp}}模板,但这些模板实际上内部已经是在使用LanguageBar,目前只是等待重写为LanguageBar。

有关翻译页面标题要求的信息,请参见标题 ↓

以下是将英文页面翻译成其他语言的步骤:

  1. 复制英文页面的内容。如果页面中没有{{LanguageBar}},则应在页面开头添加一个。
  2. 按照标题要求进入相应语言页面的创建页面。
  3. 开始翻译。注意事项:
    1. 翻译页面内的链接需要使用模板{{L}}。例如,[[ExampleLink]] 将变为 {{L|ExampleLink}}。如果链接有别名,请使用以下格式:{{L|<链接名>|<别名>}}。因此,您可以使用别名来翻译链接。{{L|Cubemaps|反射贴图}} 是一个例子,在中文中使用。外部链接不需要使用这个模板。
    2. 页面上的分类也需要使用{{ACategory}}。方法与上面相同。例如,[[Category:Entities]] 将变为 {{ACategory|Entities}}
      如果分类是链接而不是将页面添加到自身,请使用{{LCategory}}(即[[:Category:Entities]]{{LCategory|Entities}})。这两个模板也支持像{{L}}中的替代名称。
    3. 模板本身不需要进行翻译,因为模板中的语言和文本会自动翻译。但需要翻译模板中使用的参数值。例如,{{Note}}书写的注释不会被翻译,您需要手动翻译它们。
  4. 完成翻译后,保存您的贡献。

更改链接

  • [[info_target]]{{L|info_target|可选的替代名称}}
  • [[Valve Developer Community:Tasks]]{{LProject|Tasks|可选的替代名称}}
  • [[Help:Contents]]{{LHelp|Contents|可选的替代名称}}
  • [[:Category:Level Design]]{{LCategory|Level Design|可选的替代名称}}

同时使用{{LSpecial}}处理Special:链接,它将从wiki界面获取可用的翻译。有关更多信息,请参阅其文档。

  • [[Special:RandomRootpage]]{{LSpecial|RandomRootpage}}

可以在Notepad++中使用以下正则表达式来自动化此过程(确保未勾选“区分大小写”)

查找:
\[\[(?:(?<c>:Category:(?<cl>.*?))|(?<a>Category:(?<al>.*?))|(?<h>:?Help:(?<hl>.*?))|(?<v>:?(?:Project|Valve Developer Community):(?<vl>.*?))|(?<s>:?Special:(?<sl>.*?))|(?<m>:?(?!File( talk)?:|Image( talk)?:|Media:|Template( talk)?:|MediaWiki( talk)?:|Talk:|Category talk:|Project talk:|Valve Developer Community talk:|Help talk:|User( talk)?:|c:|commons:|Dictionary:|Google:|GoogleGroups:|IMDB:|M:|Meta:|Metawikipedia:|MW:|SdkBug:|SourceForge:|Steampowered:|W:|Wiki:|WikiBooks:|Wikipedia:|Wikiquote:|Wiktionary:|WP:)(?<ml>.*?)))\]\]

替换:
(?{c}{{LCategory|$+{cl}}}:(?{a}{{ACategory|$+{al}}}:(?{h}{{LHelp|$+{hl}}}:(?{v}{{LProject|$+{vl}}}:(?{s}{{LSpecial|$+{sl}}}:(?{m}{{L|$+{ml}}}:))))))

首页

主页上的翻译处理方式不同,使用界面语言来确定显示的语言,并使用专为其设计的独特模板。要翻译它,请编辑页面<language shortcut>/Main Page。要链接到主页,请使用{{LMainPage}}

其他命名空间

相关模板

相关的语言模板(有关更多信息,请参阅其文档页面):

  • {{language}} - 返回语言缩写代码
  • {{Uselangflags}} - 在页面右侧生成语言栏,改变用户的界面语言,而不是链接到其他页面

模板命名空间

大多数模板被设置为通用的,并根据其包含的位置更改语言。这通常是通过{{language}}实现的。

通常会为模板的翻译创建一个字符串子页面


通知类模板使用的不同方法进行翻译:Category:Dictionary/Notices

其余部分

在其他命名空间中需要翻译的情况非常少见,通常会根据用户的界面语言或用户命名空间来决定是否进行翻译。


待完善: 添加更多信息

标题

所有页面名称必须只包含ASCII字符;否则,数据库无法正确处理页面。

{{LanguageBar}} 是一个模板,它会创建一系列标志,可以切换到相应语言的页面。它采用了新的翻译标准。
通常,大多数翻译页面的标题遵循以下格式:<language name>/<Page name>,其中语言名称必须是缩写,页面名称与英文页面相同。一个示例是Zh/Main Page,它是中文的主页翻译。
如果页面不属于main 命名空间(如Category),则格式与属于main命名空间的页面类似:<namespace>:<lang name>/<page name>,例如Valve Developer Community:Zh/Alternative Languages
实际上,语言名称前缀决定了每个页面的语言。模板将根据前缀确定应使用的语言。
Icon-Important.png重要:不要为英文页面添加语言名称前缀!英文页面不需要以其名称的前缀为语言名称。
Icon-Important.png重要:不要在模板上使用这种方法。模板不需要额外的页面进行翻译。相反,模板的翻译已合并到模板页面本身,或者某些模板使用特殊的字符串子页面进行翻译。

更改标题

有多种方法可以更改页面标题的显示方式,而不影响URL。

  • {{LanguageBar}}:要翻译标题,请将{{{title}}}的值指定为您翻译的内容。
  • {{This is a}},用于实体文章、材质着色器文章、控制台命令/变量文章等,将标题设置为指定的{{{name}}}
  • {{DISPLAYTITLE:title}} - 这不是一个模板,而是一个“魔术词”,可以更改页面上显示的标题。仅当Template:MediaWiki配置项设置为true时可用,并且除非MediaWiki:Common.js中设置了例外,否则只能更改页面显示的大小写。了解更多

检查项目

本wiki上的每个语言都应该包括以下内容:

Tip.png提示:目前本wiki上的大部分图标似乎都来自这个网站
  • {{LanguageBar}} 适当的修改(把语言添加到其中之列)
  • 一个使用 {{LanguageBar}} 翻译的分类页面
Icon-Important.png重要:请不要为旗帜创建一个单独的模板,如 Template:en。这些是 {{Lang}} 遗留下来的内容。
待完善: 还有更多?

写在最后

这篇指南不具有权威性,但是如果大家能遵循这种利用模版的方法会让工作更加简单,也只有这样才能让维基中的各语言保持和谐。

请进行完全的翻译。不完全翻译的页面对只会一个语言的读者毫无帮助。

如果一个词条收到了重要的更新,该词条的翻译页面应该标记上 {{Updatetranslation}}

过时的方法

Note.png注意:请勿使用

标题

已弃用的方法

对于使用 {{MultiPage}} 的页面
翻译页面(称为“语言子页面”)的标题应为英文名称,后面跟着斜杠(/),然后是语言的缩写(通常是ISO_639-1)。这包括英文。 根页面应只包含{{MultiPage}} 和分类。正确的标题是Half-Life 2/en。语言子页面顶部应该有{{Language subpage}}模板,然后是文章的正文内容。请注意,分类只放在根页面上,不要放在子页面上。
对于使用 {{Lang}} 的页面
翻译的页面应该先放英文名,然后是冒号(:),然后是{{Lang}}文档中描述的缩写(这不一定总是语言的ISO 639-1ISO 639-2缩写)。一个正确的页面名称示例是Help:Contents:ru。在页面自身中使用非英文文本并不是问题,但页面的名称不能包含任何非英文、非ASCII字符。

通常情况下,英语页面是原始页面(除非使用了MultiPage,这会有/en页面,但主页面本身始终保持原始的英文语言),以及没有:en 标签。

更改标题

  • {{MultiPage}}: 已弃用. 请勿使用此方法!
  • {{Lang}}: 已弃用. 请勿使用此方法!


模板

使用 {{Autolang}}{{Uselangflags}}

{{Autolang}} 会根据你的界面语言来改变显示内容。在某些模板中(例如{{Software page}}),存在一些字符串子页面,其中包含翻译内容。所有字符串子页面会在内部使用这些模板。

请参阅 模板文档以了解其用法。或者,通过查看已经使用过这个模板的页面的源代码来了解如何使用它。

使用 {{Lang}} (已弃用)

Obsolete-notext.png已弃用:只有在其他翻译模板不能在某些模板上正常工作时,才适当使用这个方法。最终会有人能够正确修复并正确使用{{Autolang}}模板,以至于不再需要{{Lang}}

对于包含文字的模板,把这些文字翻译出来,使用这种模板的词条的翻译才算完成。模板的任何文档也应翻译出来。

对于没有可见文字的模板,也可以把注释翻译出来。但如果这个模板本身跟英文版一模一样,就不应该使用「翻译」的模板,否则的话,一个版本改变了所有的版本都得改变,造成不必要的麻烦。


另请参阅