CKEditor Localization

This website contains links to software which is either no longer maintained or will be supported only until the end of 2019 (CKFinder 2). For the latest documentation about current CKSource projects, including software like CKEditor 4/CKEditor 5, CKFinder 3, Cloud Services, Letters, Accessibility Checker, please visit the new documentation website.

If you look for an information about very old versions of CKEditor, FCKeditor and CKFinder check also the CKEditor forum, which was closed in 2015. If not, please head to StackOverflow for support.

(Localization tips moved to a separate article)
(Screenshot replaced with a current one)
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
__TOC__
 
__TOC__
 
{{#CUSTOMTITLE:CKEditor Localization}}
 
{{#CUSTOMTITLE:CKEditor Localization}}
In an effort to speed up the CKEditor localization process and make it easier and more intuitive for our translators to create and maintain different localizations we have decided to set up the [https://www.transifex.net/projects/p/ckeditor/ CKEditor localization project on Transifex]. Transifex is an online platform that allows projects to make use of community-based translations, providing suitable resource management tools as well as a user-friendly browser-based interface.
+
In an effort to speed up the CKEditor localization process and make it easier and more intuitive for our translators to create and maintain different localizations we have decided to set up the [https://www.transifex.com/projects/p/ckeditor/ CKEditor UI Translation Center on Transifex]. Transifex is an online platform that allows projects to make use of community-based translations, providing suitable resource management tools as well as a user-friendly browser-based interface.
  
 
No matter if you are a first-time Transifex user or a seasoned translator, a fresh CKEditor fan or a long time user, feel free to join us, contribute to existing translations or create new ones in an effort to make it easier for people from around the world to use their favorite editor in their native language!
 
No matter if you are a first-time Transifex user or a seasoned translator, a fresh CKEditor fan or a long time user, feel free to join us, contribute to existing translations or create new ones in an effort to make it easier for people from around the world to use their favorite editor in their native language!
 +
 +
<gallery style="border: 1px solid #DDDDDD; background-color: #FAFAFA;" caption="CKEditor UI Translation Center at Transifex" perrow="2"  widths="240px" heights="200px">
 +
File:Transifex_project_page.png
 +
File:Transifex_team_translation_resources_01.png
 +
File:Transifex_team_translation_details_03.png
 +
File:Transifex_online_translation_04.png
 +
</gallery>
  
 
== Useful Links ==
 
== Useful Links ==
* Transifex website: http://www.transifex.net
+
* Transifex website: https://www.transifex.com/
* Transifex documentation: http://help.transifex.net
+
* Transifex documentation: http://help.transifex.com
 
* CKEditor official website for an overview of the editor features: http://ckeditor.com
 
* CKEditor official website for an overview of the editor features: http://ckeditor.com
 
* CKEditor demo, to see the real context where the language strings are used: http://ckeditor.com/demo
 
* CKEditor demo, to see the real context where the language strings are used: http://ckeditor.com/demo
  
 
== CKEditor Localization Project Structure ==
 
== CKEditor Localization Project Structure ==
The [https://www.transifex.net/projects/p/ckeditor/ CKEditor project] on Transifex currently includes the following translatable resources:
+
The CKEditor UI Translation Center on Transifex includes a list of [https://www.transifex.com/projects/p/ckeditor/resources/ language resources] that can be translated. These include both CKEditor core file and plugin language files. Please note that as of CKEditor 4 the <code>core</code> resource contains only a handful of common entries and plugin files are crucial for a complete localization experience.
* <code>[https://www.transifex.net/projects/p/ckeditor/resource/core/ core]</code> &ndash; the language strings of the main CKEditor application;
 
* <code>[https://www.transifex.net/projects/p/ckeditor/resource/plugin-a11yhelp/ plugin-a11yhelp]</code> &ndash; the language strings of the '''CKEditor Accessibility Help''';
 
* <code>[https://www.transifex.net/projects/p/ckeditor/resource/plugin-devtools/ plugin-devtools]</code> &ndash; the language strings of the optional '''Developer Tools''' plugin;
 
* <code>[https://www.transifex.net/projects/p/ckeditor/resource/plugin-placeholder/ plugin-placeholder]</code> &ndash; the language strings of the optional '''Placeholder''' plugin;
 
* <code>[https://www.transifex.net/projects/p/ckeditor/resource/plugin-specialchar/ plugin-specialchar]</code> &ndash; the language strings of the '''Special Characters''' plugin;
 
* <code>[https://www.transifex.net/projects/p/ckeditor/resource/plugin-uicolor/ plugin-uicolor]</code> &ndash; the language strings of the '''UI Color''' plugin.
 
  
 
== CKEditor Localization Team Structure ==
 
== CKEditor Localization Team Structure ==
Line 27: Line 28:
 
** '''Team member''' &ndash; a translator of CKEditor into a given language.
 
** '''Team member''' &ndash; a translator of CKEditor into a given language.
  
== Joining CKEditor Localization Team ==
+
== CKEditor Localization Documentation ==
CKSource is always looking for new translators willing to join the CKEditor localization project, complete existing translations and add new language versions. If you want to contribute, proceed as described below:
+
The localization process of CKEditor is described in a few sections of the documentation page, namely:
# '''Register on the Transifex website.'''
+
* [[CKEditor_3.x/Developers_Guide/Localization_Teams|Localization Teams]] &ndash; joining a localization team, requesting a new one.
#; You can [https://www.transifex.net/plans/ sign up for free] by using the "Free Plan" option. You will be redirected to the [https://www.transifex.net/plans/signup/free/ signup form page]. Fill in your personal details and register the account. You will need to confirm your account by clicking the link from the validation e-mail.
+
* [[CKEditor_3.x/Developers_Guide/Translating_CKEditor|Translating CKEditor]] &ndash; localizing CKEditor by using the online and offline translation workflow.
# '''Sign in and complete your profile.'''
+
* [[CKEditor_3.x/Developers_Guide/Localization_Tips|Localization Tips]] &ndash; some useful advice on using Transifex to translate CKEditor.
#; Go to the '''Profile''' tab of your dashboard and fill in the information that can tell other contributors something more about yourself.
+
* [[CKEditor_3.x/Developers_Guide/Localization_Troubleshooting|Localization Troubleshooting]] &ndash; some issues that you may encounter while translating CKEditor.
# '''Join a CKEditor translation team.'''
+
* [[CKEditor_3.x/Developers_Guide/Technical_Details_of_Localization|Technical Details]] &ndash; additional, more advanced information about the UI Translation Center.
#; Go to the translation [https://www.transifex.net/projects/p/ckeditor/teams/ teams page] on the project's site and see the list of available language teams. If you find a suitable one, [[CKEditor_3.x/Developers_Guide/Localization#Joining_a_Team|join it]]. If not, [[CKEditor_3.x/Developers_Guide/Localization#Requesting_a_New_Team|request the creation of a new team]] for your native language.
 
#; Your requests will need to be approved by one of the maintainers or coordinators before you can actively contribute to the project.
 
 
 
=== Joining a Team ===
 
Go to the translation [https://www.transifex.net/projects/p/ckeditor/teams/ teams page] on the project's site and click a team that you want to join. Accept the contributor license agreements and click '''Join this Team''' to request access to an existing team.
 
 
 
[[Image:Transifex_join_team_01.png|thumb|center|800px|Joining an existing team in Transifex]]
 
 
 
 
After you click the '''Join this Team''' button, a notification will be sent to the team coordinator. Your user name will now appear on the waiting list and you will be able to withdraw your application by clicking the '''Withdraw''' button.
 
 
 
[[Image:Transifex_join_team_02.png|thumb|center|800px|Team waiting list in Transifex]]
 
 
 
 
 
The request will also be visible in your profile — see the '''Recent activity''' list.
 
 
 
[[Image:Transifex_recent_activity_01.png|frame|center|Recent activity list in Transifex profile]]
 
 
 
 
 
When your request is approved, you will receive an e-mail notification. Your user name will also appear on the language team page.
 
 
 
[[Image:Transifex_team_members.png|thumb|center|800px|Team members list in Transifex]]
 
 
 
 
 
You can now start translating project resources within your language team.
 
 
 
<note>Please note that in order to join more language teams you need to apply to all of them separately.
 
</note>
 
 
 
 
 
=== Requesting a New Team ===
 
If a team for your native language does not exist, you can request creating a new one.
 
 
 
Go to the translation [https://www.transifex.net/projects/p/ckeditor/teams/ teams page] on the project's site and click the '''Request a new team''' button. The following form will open, letting you choose a language for the team.
 
 
 
[[Image:Transifex_request_team_02.png|thumb|center|800px|Requesting a new team in Transifex]]
 
 
 
 
<note>Please note that CKEditor uses two-letter ISO 639-1 language codes (like <code>de</code>, <code>it</code>, <code>fi</code>) for the majority of translations. In some cases, when a regional variation is required, the four-letter language code can be used (like in <code>pt_BR</code> for Brazilian Portuguese). Please contact the project maintainers if you have any doubts in this regard.</note>
 
 
 
 
 
After you click the '''Request Team''' button, a notification will be sent to the project maintainers. The requested team will now appear on the waiting list.
 
 
 
[[Image:Transifex_request_team_03.png|thumb|center|800px|Pending team requests in Transifex]]
 
 
 
 
The request will also be visible in your profile — see the '''Recent activity''' list.
 
 
[[Image:Transifex_recent_activity_02.png|frame|center|Recent activity list in Transifex profile]]
 
 
 
 
 
When your request is approved, you will receive an e-mail notification. The new team will also immediately appear on the main project teams page.
 
 
 
[[Image:Transifex_teams_01.png|frame|center|Language teams list in Transifex]]
 
 
 
 
 
== Introduction to Translating CKEditor ==
 
After you are accepted as a member of a CKEditor translation team, you will be able to contribute your translations. In order to start translating, go to the team page and choose a resource that you would like to work on, like CKEditor core or one of its plugins.
 
 
 
[[Image:Transifex_team_translation_resources_01.png|thumb|center|800px|Team translation resources in Transifex]]
 
 
 
 
Pay attention to project resource statistics on the main team translation page. The '''Completion''' column shows you the completion status of a given resource in a percent value. When you hover over the completion bar, the number of translated and untranslated language strings will be displayed in a tooltip.
 
 
 
<note>Please note that it is recommended to complete missing translations before attempting to correct the existing ones.
 
</note>
 
 
 
 
 
When you choose a translation resource, a pop-up window with various options for a given resource will be displayed. Depending on your permissions (i.e. whether you are a team member) you will be able to download the translated version of the resource as well as the original language file, view the language strings online, see the resource status and, last but not least, start translating.
 
 
 
<note>See the [[CKEditor_3.x/Developers_Guide/Localization#Translation_Tips|Translation Tips]] section for some important pointers for working on CKEditor translations.
 
</note>
 
 
 
 
 
=== Translating a Resource ===
 
After you are accepted as a language team member, you can go to the team page and view the resources available for translation. Choose an incomplete translation that you want to start working on and check its statistics on the '''Translation Details''' pop-up that will open.
 
 
 
[[Image:Transifex_team_translation_details_03.png|frame|center|Translation details in Transifex]]
 
 
 
 
The translation process can be performed in two ways: online and offline.
 
* [[CKEditor_3.x/Developers_Guide/Localization#Online_Translation|Online translation]] &ndash; uses the built-in Transifex editor (codenamed "Lotte") and lets you translate the strings in your browser, without the need to download or upload any files and even see the source file format. This is a recommended method, especially for the beginners.
 
* [[CKEditor_3.x/Developers_Guide/Localization#Offline_Translation|Offline translation]] &ndash; requires downloading the language file to your local computer and uploading it back to Transifex when you are done. This method is only recommended for more experienced users.
 
 
 
=== Online Translation ===
 
If you want to translate online, go to the language team page and choose a resource that you want to work on from the resources list. In the '''Translation Details''' pop-up that opens click the '''Translate now''' button.
 
 
 
The online editor that will open ("Lotte") shows you the list of language strings that need translating. By default only the untranslated strings are displayed, but you can change this setting by checking and unchecking the boxes in the top left-hand corner of the screen.
 
 
 
[[Image:Transifex_online_translation_01.png|thumb|center|800px|Display options for resource translation in Transifex]]
 
 
 
 
If you know more languages and having a translation to one of them would be useful to you, you can choose to display other translations alongside the source version by checking them in the More languages drop-down list.
 
 
 
You are now ready to go. The '''Source String''' column displays the language string in its original version (for CKEditor &mdash; in English). The '''Translation''' column is where you should enter your translation.
 
 
 
[[Image:Transifex_online_translation_02.png|thumb|center|800px|Source string and translation in Transifex]]
 
 
 
 
The language strings in the '''Translation''' column are color-coded. A green left border means a translated entry, a red one &mdash; an untranslated entry and the blue one is a modified one.
 
 
 
Continue translating the language strings until you are done. You can use all the tools that are normally available in Transifex and described in the official documentation, like auto translate, copy source, history, spell checking and so on.
 
 
 
Transifex saves the translations automatically as you go from one language string to another. You will see the "Saving..." caption on the top of the page when you move forward.
 
 
 
[[Image:Transifex_online_translation_03.png|thumb|center|800px|Automatic translation saving in Transifex]]
 
 
 
 
When you are done, click the '''Save and Exit''' button to finish your work. You will be redirected to the resource page where you will be able to see the status of all translations of a given project resource.
 
 
 
[[Image:Transifex_online_translation_04.png|thumb|center|800px|Translation status in Transifex]]
 
 
 
 
You can now go back to your language team page and choose another untranslated resource to work on.
 
 
 
=== Offline Translation ===
 
If you want to translate offline, go to the language team page and choose a resource that you want to work on from the resources list. In the '''Translation Details''' pop-up that opens choose the '''Download for translation''' option.
 
 
[[Image:Transifex_offline_translation_01.png|thumb|center|800px|Offline translation in Transifex]]
 
 
 
 
 
When you choose this option, Transifex will lock the file to prevent multiple translators from working on the same resource and possibly duplicating their efforts. The file will be locked for up to 48 hours and if you do not upload the translated file during this time (or extend the lock by using the Transifex UI), it will become available to other translators after that.
 
 
[[Image:Transifex_offline_translation_02.png|frame|center|File lock status in Transifex]]
 
 
 
 
 
You will be prompted to save the file on your local computer; please note that it will have the <code>.po</code> extension that comes from the <code>[http://www.gnu.org/software/gettext/manual/gettext.html gettext]</code> format.
 
 
 
<note>Please note that all CKEditor language files should be UTF-8 encoded, without BOM. Transifex will reject any other file encoding, often without a clear error message.</note>
 
 
 
 
 
You can now open the file with your favorite <code>gettext</code> editor and add your translations. When you are done, go back to the resource's page on Transifex and upload the file by using the '''Upload file''' button. While the upload is in progress, a suitable notice will be displayed in your browser.
 
 
 
[[Image:Transifex_offline_translation_03.png|frame|center|Uploading a file in Transifex]]
 
 
 
 
 
When the upload is finished, your translations will be added to the project and the file lock will be released.
 

Latest revision as of 14:56, 1 March 2013

In an effort to speed up the CKEditor localization process and make it easier and more intuitive for our translators to create and maintain different localizations we have decided to set up the CKEditor UI Translation Center on Transifex. Transifex is an online platform that allows projects to make use of community-based translations, providing suitable resource management tools as well as a user-friendly browser-based interface.

No matter if you are a first-time Transifex user or a seasoned translator, a fresh CKEditor fan or a long time user, feel free to join us, contribute to existing translations or create new ones in an effort to make it easier for people from around the world to use their favorite editor in their native language!

Useful Links

CKEditor Localization Project Structure

The CKEditor UI Translation Center on Transifex includes a list of language resources that can be translated. These include both CKEditor core file and plugin language files. Please note that as of CKEditor 4 the core resource contains only a handful of common entries and plugin files are crucial for a complete localization experience.

CKEditor Localization Team Structure

You will find the following roles among the contributors of the CKEditor localization project on Transifex:

  • Project maintainers – CKSource staff that manage the project and have full administration permissions.
  • Teams – groups of people that take care of specific localizations, like the Hebrew team, the German team, the Spanish team and so on. Each team consists of one or more persons that perform either of the following roles:
    • Team coordinator – usually the creator of the team or a more advanced translator; a user who can manage the team and review submitted translations.
    • Team member – a translator of CKEditor into a given language.

CKEditor Localization Documentation

The localization process of CKEditor is described in a few sections of the documentation page, namely:

This page was last edited on 1 March 2013, at 14:56.