From Fedora Project Wiki
m (Delete error translations)
m (Update translations)
Line 36: Line 36:
  
 
== 加入邮件列表 ==
 
== 加入邮件列表 ==
=== Main L10n mailing list ===
+
=== L10n 邮件列表 ===
{{admon/note| Note | Use English on this mailing list}}
+
{{admon/note| 注意 | 在此邮件列表中使用英语}}
# Visit [https://lists.fedoraproject.org/mailman/listinfo/trans trans] mailing list subscribe page and subscribe it.
+
# 访问[https://lists.fedoraproject.org/mailman/listinfo/trans trans]邮件列表订阅页面并订阅它。
# You won't be able to send message to the list until you are approved by the admin of the mailing list. You will receive a confirmation email which contains a link to confirm your subscription. Click the link to confirm your subscription.
+
# 在管理员批准之前,你将无法向列表发送邮件。 你将收到一封确认电子邮件,其中包含确认订阅的链接。 单击链接以确认。
  
=== Your team mailing list ===
+
=== 你的team(团队)邮件列表 ===
{{admon/note| Note | Use your mother language is better on this mailing list}}
+
{{admon/note| 注意 | 在这个邮件列表中使用你的母语更好}}
# Visit https://fedoraproject.org/wiki/L10N/Teams and find your language team(s)
+
# 访问 https://fedoraproject.org/wiki/L10N/Teams 并找到你的语言团队。
# Subscribe the mailing list(s) for your language(s)
+
# 订阅你的语言的邮件列表
  
{{admon/important|Mailing list guidelines| You are recommended to read this [https://fedoraproject.org/wiki/Mailing_list_guidelines guidelines] before you post messages to a mailing list.}}
+
{{admon/important|邮件列表指南| 在发送消息到邮件列表之前,建议你阅读[https://fedoraproject.org/wiki/Mailing_list_guidelines 此指南]}}
  
 
== 介绍你自己 ==
 
== 介绍你自己 ==
# Create a personal page at https://fedoraproject.org/wiki/User:Username.
+
# https://fedoraproject.org/wiki/User:Username 创建个人页面(可选).
# Make a short self-introduction to the mailing lists you have subscribed. If you don't know what to introduce, here is a template: https://fedoraproject.org/wiki/L10N_Self_introduction.
+
# 对你订阅的邮件列表进行简短的自我介绍。 如果你不知道要介绍什么,这里有一个模板:https://fedoraproject.org/wiki/L10N_Self_introduction。
  
The above two steps are very useful for Fedora contributors get to know and contact each other. The second step also helps your language coordinator to identify you and approve you as a translator of the team.
+
以上两个步骤对于Fedora贡献者相互了解和联系非常有用。 第二步还可以帮助你的语言管理员(协调员)认识你并批准你作为团队的翻译。
  
 
== 使用您的FAS账户登录Zanta ==
 
== 使用您的FAS账户登录Zanta ==
* Open https://fedora.zanata.org/ and click the blue 'Log In' button on the top-right of the page.
+
* 打开https://fedora.zanata.org/,然后单击页面右上角的蓝色“Log In(登录)”按钮。
 
[[File:zanata_login.png |600px]]
 
[[File:zanata_login.png |600px]]
* Then it will guides you to FedOAuth page in which you can Login with your FAS account and password you have registered in last section.
+
* 然后它将跳转到FedOAuth页面,你可以使用你在上一节中注册的FAS帐户和密码登录。
 
[[File:Fedoauth.png|600px]]
 
[[File:Fedoauth.png|600px]]
* Then you will be directed to a authentication page, click 'Approve'.
+
* 然后,你将被重定向到认证页面,单击“Approve(批准)”。
 
[[File:fas_approve.png|600px]]
 
[[File:fas_approve.png|600px]]
* A 'new user' page will be opened.
+
* “new user(新用户)”页面会打开。
You should enter your full name, username(FAS username) and your email address. Note: Please use your true email address but not your Fedora project alias(username@fedoraproject.org). When you finish them, click the Save button. A activation email will be sent immediately to your email address. Please find the mail in your inbox and open the  activation link that is provided in the mail. Then login with your FAS username and password. You won't need to follow this step again when you login next time. It's only necessary for new user login.
 
  
== 寻找适合于您的语言团队并加入 ==
+
你应输入你的全名,用户名(FAS用户名)和你的电子邮件地址。 注意:请使用你的真实电子邮件地址,但不要使用你的Fedora项目别名(username@fedoraproject.org)。 完成后,单击“Save(保存)”按钮。 激活邮件将立即发送到你的邮件地址。 请在收件箱中找到邮件,然后打开邮件中显示的激活链接。 然后使用你的FAS用户名和密码登录。 下次登录时,你无需再次执行此步骤。 它只对新用户登录时是必要的。
* Click Languages at the top of https://fedora.zanata.org, then you will see all the available languages.
+
 
 +
== 寻找适合于你的语言团队并加入 ==
 +
*访问https://fedora.zanata.org并点击顶部的语言,然后你将看到所有可用的语言(已过期需要登陆后才可查看)。
 
[[File:Zanata_Languages.png |600px]]
 
[[File:Zanata_Languages.png |600px]]
* Find the language you want to translate and click the language code.
+
* 找到你要翻译的语言,然后单击语言编号。
* Click the blue button Request To Join Team on the left side of the page.
+
* 单击页面左侧的蓝色按钮申请加入团队。
 
[[File:Zanata_join_team.png |600px]]
 
[[File:Zanata_join_team.png |600px]]
* You should choose the role(s) you want to be and click Send Message. Additional message is optional. Here I use Afrikaans as example in screenshot below.
+
* 你可以选择你想要的角色,然后单击“Send Message(发送消息)”。 附加消息是可选的。 例子中,我使用南非荷兰语作为下面的截图。
 
[[File:Zanata_join.png | 600px]]
 
[[File:Zanata_join.png | 600px]]
* The team coordinator will receive a email notification about your request. You will be the team member as long as he/she approves your request. However, the coordinator may not approve each of your role request. In other words, if you request to be Translator, Reviewer and Coordinator, he/she may only approve you as a translator.
+
* 团队管理员(协调员)将收到有关你请求的电子邮件通知。 只要他/她批准你的请求,你将成为团队成员。 但是,管理员(协调员)可能不会批准你的每个角色请求。 换句话说,如果你要求成为翻译,审稿人和协调员,他/她可能只会批准你担任翻译角色。
 
 
 
= Translating =
 
= Translating =
  
== Translating online on Zanata ==
+
== 使用Zanata在线翻译==
  
 
+
'''寻找你的项目'''
 
 
 
 
 
 
 
 
 
 
 
 
'''Finding your project'''
 
  
 
----
 
----
  
 +
在Zanata上有三种查找翻译文件的方法:
  
 +
'''方法一''' : 项目搜索
  
There are three ways of finding your translation files on Zanata:
+
如果你知道翻译项目的标题,可以通过项目搜索框查找它
 
 
 
 
'''Option 1''' : Project search
 
 
 
If you know the title of your translation project, you can look for it thanks to the project search box
 
  
 
[[File:search projects.png|600px]]
 
[[File:search projects.png|600px]]
  
then select the appropriate project to see the available versions for translation.
+
然后选择合适的项目来查看可用的翻译版本。
  
 
[[File:versions.png|600px]]
 
[[File:versions.png|600px]]
  
 +
'''方法二''' : 项目主页
  
'''Option 2''' : Projects Page
+
单击位于页面顶部的“Projects(项目)”链接,访问“Projects(项目)”页面上的所有项目。 通过单击列表字段名中的箭头,可以按名称,创建日期或当前活动状态对项目表进行排序。
 
 
Click on the “Projects” link located at the top of the page to access all projects on the Projects page. The table of projects can be sorted by name, creation date or current activity status by clicking the arrows in the table headings.
 
  
 
[[File:projects.png|600px]]
 
[[File:projects.png|600px]]
  
Click the name of a project to see the available versions for translation.
+
单击项目名称以查看可用于翻译的版本。
 
 
  
'''Option 3''' : User Dashboard
+
'''方法三''' : 用户仪表盘(控制台)
  
Your translation project can also be accessed from the User Dashboard.
+
你也可以从用户仪表盘(控制台)访问你的翻译项目。
  
 
[[File:dashboard2.png|200px]]
 
[[File:dashboard2.png|200px]]
  
The section “Activity” lists all your latest translations. If looking for a recently translated project, look for the name of the project through that list of messages. You can access a string, a document, a version or a whole project by clicking the relevant links in the message.
+
“Activity(活动)”部分列出了你的所有最新翻译。 如果要查找最近翻译的项目,请通过该列表信息查找项目的名称。 你可以通过单击列表信息中的相关链接文字来访问,文档信息,版本信息或整个项目。
  
 
[[File:Your activity.png|600px]]
 
[[File:Your activity.png|600px]]
  
 
+
'''开始翻译'''
'''Translating'''
 
  
 
----
 
----
  
 
+
找到并选择项目后,将打开以下编辑器:
After finding and selecting your project, the following editor will open:
 
  
 
[[File:Editor.png|800px]]
 
[[File:Editor.png|800px]]
  
1. Search
+
1. 搜索
  
Search strings by either typing a term directly in the box or by selecting a filter and entering a value by which you wish to filter the strings. For example, if you wish to display only the strings modified by yourself, select "last-modified-by" and enter your username.
+
直接在搜索框中输入相关名称或选择筛选来进行搜索。 例如,如果你只想显示自己修改的字符串,请选择“last-modified-by”并输入你的用户名。
  
 
[[File:filter terms.png|600px]]
 
[[File:filter terms.png|600px]]
  
 +
2. 文字简介
  
2. String details
+
允许你查看特定源文本的详细信息,包括注释。
 
 
Allows you to view the details of a specific source text, including comments.
 
  
3. Filtering
+
3. 筛选
  
The strings can be filtered by state: Incomplete, Complete and Invalid (containing a warning or error).
+
字符串可以按状态筛选:Incomplete, Complete and Invalid(未完成,完成和无效)(包含警告或错误)。
For example, to display all Untranslated (empty), Fuzzy (draft) and Rejected strings, check the Incomplete box.
+
例如,要显示所有未翻译(空),模糊(草稿)和拒绝的字符串,请选中“Incomplete(未完成)”框。
To display only a specific type of Incomplete strings, check the corresponding box, e.g. Fuzzy.
+
仅显示特定类型的未完成符串,请选中相应的框,例如 Fuzzy(模糊)。
  
 
[[File:Incomplete2.png|600px]]
 
[[File:Incomplete2.png|600px]]
  
  
4. Copy message from source language
+
4. 从源语言复制消息
  
This function is useful when the source text contains tags, numbers or product names that should remain the same in the target language.
+
当源文本包含标签,数字或产品名称时应与需要翻译的语言保持一致,此功能非常有用。
  
5. Profile icon
+
5. 个人资料图标
  
Click on this icon to log out or access your dashboard.
+
单击此图标可注销或访问仪表盘。
The top right of the dashboard displays the number of words/messages/documents translated for the current day/week/month.
+
仪表盘的右上角显示当前日//月翻译的单词/消息/文档的数量。
The bottom part of the dashboard displays your Activity, i.e when and in which file you translated last
+
仪表盘的底部显示你的活动状态,即你最后翻译的文件的时间和位置。
  
6. Document list
+
6. 文档列表
  
Click to go back to the list of documents for this project
+
单击返回此项目的文档列表
  
7. Editor
+
7. 编辑器
  
 
This button allows you to revert to the editor from any other page you are in, e.g. from the Project-wide Search & Replace page.
 
This button allows you to revert to the editor from any other page you are in, e.g. from the Project-wide Search & Replace page.

Revision as of 12:02, 27 February 2019

Fedora 本地化工作指南(新的)

愿景

这个页面,描述了如何加入L10N本地化团队。作为一个新的翻译者,应该如何在Zanta上翻译。

如何成为一个Fedora翻译者

L10n项目显然不仅仅是为了翻译。不过,翻译却不妨成为一个不错的门槛来迈入本地化团队,下面是使您成为翻译者的一些基本步骤:

  1. 创建一个FAS账户
  2. 加入邮件列表
  3. 介绍你自己(您可以在您加入的邮件列表中做这个,并且创建Wiki中的User页面)
  4. 使用您的FAS账户登录Zanta
  5. 寻找适合于您的语言团队并加入

你的自我介绍很重要。 它有机会提高你的操作权限。 你可能还想创建一个Bugzilla帐户来处理用户反映的错误。

创建一个FAS账户

  1. 打开 https://admin.fedoraproject.org/accounts 并点击“New Account(新建账号)”链接。
  2. 填写所有项,然后单击“Sign up(注册)”。 密码将通过电子邮件发送给你,你可以稍后更改密码。
  3. 现在再次访问 https://admin.fedoraproject.org/accounts 并用你的密码登录。
  4. 帐户系统会提醒你CLA未完成。

签署CLA

要开始翻译前,你必须完成贡献者许可协议或CLA。

  1. 访问 https://admin.fedoraproject.org/accounts 并用你在上一过程中获得的用户名和密码登录你的帐户。
  2. 在欢迎页面中,单击完成CLA或转到https://admin.fedoraproject.org/accounts/user/edit。
  3. 如果你尚未提供电话号码和地址的信息,将出现编辑帐户(user_name)页面,你需要填写每一项。否则将显示"Fedora Contributor License Agreement"页面。仔细阅读协议,如果你愿意,请点击我同意。
  4. 现在点击“保存”! 在页面底部保存你的信息。
  5. 出现用户视图页面,CLA项:显示为“CLA 已验证”。
Note.png
注意
除管理员组外,其他人无法访问电话号码和地址信息。 请参阅 https://fedoraproject.org/wiki/Legal:PrivacyPolicy 上的Fedora隐私政策。 其他任何成员都可以通过访问用户的视图页面显示其他信息。
Idea.png
有关FAS的更多信息
有关Fedora帐户系统的更多详细信息,请参阅 https://fedoraproject.org/wiki/Account_System

加入邮件列表

L10n 邮件列表

Note.png
注意
在此邮件列表中使用英语
  1. 访问trans邮件列表订阅页面并订阅它。
  2. 在管理员批准之前,你将无法向列表发送邮件。 你将收到一封确认电子邮件,其中包含确认订阅的链接。 单击链接以确认。

你的team(团队)邮件列表

Note.png
注意
在这个邮件列表中使用你的母语更好
  1. 访问 https://fedoraproject.org/wiki/L10N/Teams 并找到你的语言团队。
  2. 订阅你的语言的邮件列表
Important.png
邮件列表指南
在发送消息到邮件列表之前,建议你阅读此指南

介绍你自己

  1. https://fedoraproject.org/wiki/User:Username 创建个人页面(可选).
  2. 对你订阅的邮件列表进行简短的自我介绍。 如果你不知道要介绍什么,这里有一个模板:https://fedoraproject.org/wiki/L10N_Self_introduction。

以上两个步骤对于Fedora贡献者相互了解和联系非常有用。 第二步还可以帮助你的语言管理员(协调员)认识你并批准你作为团队的翻译。

使用您的FAS账户登录Zanta

  • 打开https://fedora.zanata.org/,然后单击页面右上角的蓝色“Log In(登录)”按钮。

Zanata login.png

  • 然后它将跳转到FedOAuth页面,你可以使用你在上一节中注册的FAS帐户和密码登录。

Fedoauth.png

  • 然后,你将被重定向到认证页面,单击“Approve(批准)”。

Fas approve.png

  • “new user(新用户)”页面会打开。

你应输入你的全名,用户名(FAS用户名)和你的电子邮件地址。 注意:请使用你的真实电子邮件地址,但不要使用你的Fedora项目别名(username@fedoraproject.org)。 完成后,单击“Save(保存)”按钮。 激活邮件将立即发送到你的邮件地址。 请在收件箱中找到邮件,然后打开邮件中显示的激活链接。 然后使用你的FAS用户名和密码登录。 下次登录时,你无需再次执行此步骤。 它只对新用户登录时是必要的。

寻找适合于你的语言团队并加入

  • 访问https://fedora.zanata.org并点击顶部的语言,然后你将看到所有可用的语言(已过期需要登陆后才可查看)。

Zanata Languages.png

  • 找到你要翻译的语言,然后单击语言编号。
  • 单击页面左侧的蓝色按钮申请加入团队。

Zanata join team.png

  • 你可以选择你想要的角色,然后单击“Send Message(发送消息)”。 附加消息是可选的。 例子中,我使用南非荷兰语作为下面的截图。

Zanata join.png

  • 团队管理员(协调员)将收到有关你请求的电子邮件通知。 只要他/她批准你的请求,你将成为团队成员。 但是,管理员(协调员)可能不会批准你的每个角色请求。 换句话说,如果你要求成为翻译,审稿人和协调员,他/她可能只会批准你担任翻译角色。

Translating

使用Zanata在线翻译

寻找你的项目


在Zanata上有三种查找翻译文件的方法:

方法一 : 项目搜索

如果你知道翻译项目的标题,可以通过项目搜索框查找它

Search projects.png

然后选择合适的项目来查看可用的翻译版本。

Versions.png

方法二 : 项目主页

单击位于页面顶部的“Projects(项目)”链接,访问“Projects(项目)”页面上的所有项目。 通过单击列表字段名中的箭头,可以按名称,创建日期或当前活动状态对项目表进行排序。

Projects.png

单击项目名称以查看可用于翻译的版本。

方法三 : 用户仪表盘(控制台)

你也可以从用户仪表盘(控制台)访问你的翻译项目。

Dashboard2.png

“Activity(活动)”部分列出了你的所有最新翻译。 如果要查找最近翻译的项目,请通过该列表信息查找项目的名称。 你可以通过单击列表信息中的相关链接文字来访问,文档信息,版本信息或整个项目。

Your activity.png

开始翻译


找到并选择项目后,将打开以下编辑器:

Editor.png

1. 搜索

直接在搜索框中输入相关名称或选择筛选来进行搜索。 例如,如果你只想显示自己修改的字符串,请选择“last-modified-by”并输入你的用户名。

Filter terms.png

2. 文字简介

允许你查看特定源文本的详细信息,包括注释。

3. 筛选

字符串可以按状态筛选:Incomplete, Complete and Invalid(未完成,完成和无效)(包含警告或错误)。 例如,要显示所有未翻译(空),模糊(草稿)和拒绝的字符串,请选中“Incomplete(未完成)”框。 仅显示特定类型的未完成符串,请选中相应的框,例如 Fuzzy(模糊)。

Incomplete2.png


4. 从源语言复制消息

当源文本包含标签,数字或产品名称时应与需要翻译的语言保持一致,此功能非常有用。

5. 个人资料图标

单击此图标可注销或访问仪表盘。 仪表盘的右上角显示当前日/周/月翻译的单词/消息/文档的数量。 仪表盘的底部显示你的活动状态,即你最后翻译的文件的时间和位置。

6. 文档列表

单击返回此项目的文档列表

7. 编辑器

This button allows you to revert to the editor from any other page you are in, e.g. from the Project-wide Search & Replace page.

8. Project-wide Search & Replace

Use this option to search and replace specific terms or phrases throughout the whole file. To do so: Enter a term in the search box, set the search filter “search target”, and check the “Case sensitive” case if applicable. In the second text box, enter the term you would like to use instead. Then either check “Select all” or select the string(s) you would like to apply this change to and click “Replace” to apply your changes.

9. Available Keyboard Shortcuts

From the text editor page, click this button to view a list of all the shortcuts available.

10. Notification

Click on this button to view the latest notifications, including the date, row number, id number of each modified string.

11. Chat room

Use this function to interact with other translators

12. Options

This function allows you to modify a few options in order to customize your translating experience. For example, check the “Enter key saves immediately” box to use the Enter key to save strings.

Options.png


13. Validation options

This page allows you to select different validation options:

- HTML/XML tags: check that html/xml tags are consistence between the source and target text.

- Java variables: check that java style ({x}) variables are consistent.

- Leading/trailing newline (\n): check for consistent leading and trailing newline (\n).

- Positional printf (XSI extension): check that positional printf style (%n$x) variables are consistent.

- Printf variables: check that printf style (%x) variables are consistent.

- Tab characters (\t): check whether source and target have the same number of tabs.

- XML entity reference: check that XML entity are complete.


14. Save as translated

Saving can either be done by clicking on this icon, clicking inside another string or by pressing Ctrl + Enter or the Enter key only (if the box “Enter key saves immediately” is checked in the Editor options (see 10.))

15. Save as fuzzy

You can use this button to set the current string as draft and indicate it needs further work.

16. Cancel

Use this button if you wish to cancel your changes.

17. History

This button takes you to a Translation History page allowing you to:

- leave a comment

- view the history of the translation for this specific string, including modification dates and user names

- compare different versions (simply click on “Compare” for the two strings you wish to compare and click on the “Compare vers. X and X” tab to view the comparison.


Translation history.png


Translation history 2.png


Translation history 3.png


18. Translation memory

The Translation Memory (TM) is a tool that searches for translations that are equal (100%) or similar (<100%) to the currently selected source string. Matches can be copied to the translation text box and used as-is or modified before saving. To copy TM matches to the selected text box, click the “Copy” button, or use Ctrl+Alt+1 to Ctrl+Alt+4 keyboard shortcuts to copy the first to fourth match in the list. You can also search the TM for other phrases by entering them in the TM text box and clicking “Search”.

19. Glossary

If a glossary has been uploaded for your language, each word in the currently selected row will be searched for a glossary entry.

Translating offline

There are two methods that allow you to translate offline:


Method 1: Zanata-cli


1. Installing zanata-cli

Go to http://zanata.org/help/

Under “Cli” - Select “Installing the client ”

You can install the client in two ways:


  • install using DNF for Fedora 22 and later versions or with YUM if you are using older release by running the following command:
sudo dnf install zanata-client
sudo yum install zanata-client
  • or install with Ivy:

Click on the “Zanata Ivy Client on github” link

Run the appropriate command depending on the system you use (Fedora, RHEL or other systems)

Once Ivy installed, click the zanata-cli file.

Zanata.cli.png

Copy and paste the content of the executable file into your text editor and save as “zanata-cli”.


2. Configuring the client


Configuring the client requires two actions:


2.1 Configuring the user:


Start by creating or opening zanata.ini in ~/.config/ with your preferred text editor.

Two steps:


2.1.1. Creation of an API key


From your Zanata account, go to your dashboard and click “Settings”.


Dashboard-settings.png


Then select Client


Client.png


If you do not have one, generate an API key.

2.1.2. Copy the contents of the text-box labeled “Configuration [zanata.ini]” into your previously created zanata.ini file and save the file.


2.2 Configuring the project:

To add project-version configuration to your project directory, navigate to your translation project in Zanata, for example:

Fedora Installation Guide - f20 - select your locale - on the upper right corner, click the arrow and select “Download config file”


Download config file.png


Save the zanata.xml file in your preferred location.


3. Downloading the files to your machine

Before running the following command in your command-line, make sure you are in the directory containing the zanata.xml file.

Run:

zanata-cli pull -s src -t trans -l <language code> --pull-type both

The source and translated files will be created into src (source) and trans (translated) files in your directory.

You can now open your files with your preferred translation editor and translate your project.


4. Uploading the files to Zanata

To push the translated files back to Zanata, run the following command:

zanata-cli push -s src -t trans -l <language code> --push-type trans

Your translation has now been pushed back to Zanata and the TM has been updated with your changes.


Method 2: Through the User Interface

Login to https://translate.zanata.org/

Search for your project, for example the Fedora Installation Guide.

Select your language

To download the entire project, click on the arrow located in the top right corner of the page (next to "sort") and click "Download All (zip)".


Projet entier.png


To download one file only, click on the arrow located on the left of the filename, and select "Download Translated [.po]."

Download translated.png

Save the file to your preferred location.

Translate the file.

Once finished, upload the file(s) back to Zanata, selecting “Upload translation”.

Note: Although it is possible to download a whole project, the upload is only possible file by file, by clicking the arrow located on the left of the filename, and selecting “Upload translation”.

Proofreading

It is very difficult for translators to find a typo or minor mistake within numbers of translated strings. So proofreading is very important. General speaking, proofreading only refers to the translated strings. However PO file plays a big role through L10n and i18n workflows. So translators should keep the PO file validate during translation process, so other translators and maintainers can use them without any problem.

PO File Validation

Online translation editor provided by Zanata has a validation feature to check each string. If you prefer translating online, this feature will help you much. The Validation options locates at the right side of the online editor. It provides several validation options for checking.

Zanata validation options.png

In this example, ending tag

</command>

is written as

</comd>

, the editor raises warnings, suggests that there exists unexpected tag. When you find warnings like this during online translation, you'd better double check your translation.

Zanata proofreading error.png

If you prefer translating offline, you should always check your file's validity before you submit. The basic command to do this is:

msgfmt -cvo /dev/null po_file_to_check.po

Make sure that there is no error message.

Translation Proofreading

Validation tool is only useful to check the validities of tags, variables or something that is related to coding language. You can't expect it to check your real translated strings.

For example, I mistakenly translated English word "He" to Chinese "它"(The right one is "他"), the validation tool will not warning you that there exists mistake. It's your goal and responsibility to make the translation without mistake.

Read the strings you have translated is a good habit for proofreading.

Testing

In fact, the directory

/usr/share/locale/your_LOCALE/LC_MESSAGES/

is the home of most of the localised files of system components and softwares.

So generally, if you want to the test translation of a software or a system component, the simplest way is:

  • Backup the original file first,
    sudo cp /usr/share/locale/your_LOCALE/LC_MESSAGES/example.mo /usr/share/locale/your_LOCALE/LC_MESSAGES/example.mo.old
  • Put the new mo file into the directory,
    sudo msgfmt -o new_example.po /usr/share/locale/your_LOCALE/LC_MESSAGES/new_example.mo
  • Run that software/component/command.

(A demo is going to be made in future. An old demo is available here: https://www.youtube.com/watch?v=Hi-7QZrUR3k)

Sections below introduce two more advanced methods for testing.

Using permalinks

One of the benefits of using the Zanata's translation platform, it's the ability to pull a translation from a permalink and then you can install it on your system by using few commands. To obtain a permalink:

  • go to translation project
  • select the version, if there is more than one
  • select the language
  • click the Documents(YOUR_LOCALE) link in navigation bar
  • copy the permalink (.po) in actions column

Once you have the permalink, you can test the translation on your system by running the following command:

Note.png
Note
We use 'ca' as locale, and anaconda as the component for test in this example.
su -c 'mv /usr/share/locale/ca/LC_MESSAGES/anaconda.mo /user/share/locale/ca/LC_MESSAGES/anaconda.mo.old; \
msgfmt <(curl -s https://fedora.zanata.org/rest/file/translation/anaconda/f23-branch/ca/po?docId=po%2Fanaconda &> /dev/stdout)\
 -o /usr/share/locale/ca/LC_MESSAGES/anaconda.mo'

Build a rpm with permalinks and fedpkg

Sometimes, it is not so easy to simple msgfmt the po file and we should build a rpm including the translations to test. There is an example below:

su -c ‘dnf install -y fedpkg fedora-packager rpmdevtools’
fedpkg clone -a -B sssd
cd sssd/f23
su -c 'dnf builddep -y sssd.spec'
fedpkg prep
export version=1.13.0
cp -rp sssd-$version sssd-${version}p
curl -s https://fedora.zanata.org/rest/file/translation/sssd/master/ca/po?docId=po%2Fsssd > sssd-${version}p/po/ca.po
curl -s https://fedora.zanata.org/rest/file/translation/sssd/master/ca/po?docId=src%2Fman%2Fpo%2Fsssd-docs > sssd-${version}p/src/man/po/ca.po
diff -urN sssd-$version sssd-${version}p > my.patch

Edit sssd.spec file for including the patch (1st. Patch999: my.patch at the top; 2nd. %patch999 -p1 in the %prep section, just after %setup -q. The last step -2nd- it's not required if there is a for p in %patches ; do):

...
### Patches ###
Patch9999: my.patch
...

...
%prep
...
%setup -q
%patch9999 -p1
...

Build & install the patched rpm:

fedpkg local
su -c 'dnf install --nogpgcheck */*.rpm'

Credits

The following people contributed to this guide:

However some of the contents in this guide are referenced from the Fedora Localization Guide for Transifex platform indirectly or directly, so the writers should be thanked here too.