Contents
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 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.
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
- Transifex website: http://www.transifex.net
- Transifex documentation: http://help.transifex.net
- 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 Localization Project Structure
The CKEditor project on Transifex currently includes the following translatable resources:
-
core
– the language strings of the main CKEditor application; -
plugin-a11yhelp
– the language strings of the CKEditor Accessibility Help; -
plugin-devtools
– the language strings of the optional Developer Tools plugin; -
plugin-placeholder
– the language strings of the optional Placeholder plugin; -
plugin-specialchar
– the language strings of the Special Characters plugin; -
plugin-uicolor
– the language strings of the UI Color plugin.
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.
Joining CKEditor Localization Team
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:
- Register on the Transifex website.
- You can sign up for free by using the "Free Plan" option. You will be redirected to the 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.
- Sign in and complete your profile.
- Go to the Profile tab of your dashboard and fill in the information that can tell other contributors something more about yourself.
- Join a CKEditor translation team.
- Go to the translation teams page on the project's site and see the list of available language teams. If you find a suitable one, join it. If not, 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 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.
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.
The request will also be visible in your profile — see the Recent activity list.
When your request is approved, you will receive an e-mail notification. Your user name will also appear on the language team page.
You can now start translating project resources within your language team.
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 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.
de
, it
, fi
) for the majority of translations. In some cases, when a regional variation is required, the four-letter language code can be used (like in pt_BR
for Brazilian Portuguese). Please contact the project maintainers if you have any doubts in this regard.
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.
The request will also be visible in your profile — see the Recent activity list.
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.
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.
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.
Please note that it is recommended to complete missing translations before attempting to correct the existing ones.
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.
See the Translation Tips section for some important pointers for working on CKEditor translations.
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.
The translation process can be performed in two ways: online and offline.
- Online translation – 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.
- Offline translation – 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.
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 — in English). The Translation column is where you should enter your translation.
The language strings in the Translation column are color-coded. A green left border means a translated entry, a red one — 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.
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.
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.
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.
You will be prompted to save the file on your local computer; please note that it will have the .po
extension that comes from the gettext
format.
You can now open the file with your favorite gettext
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.
When the upload is finished, your translations will be added to the project and the file lock will be released.
Translation Tips
Below are some tips that can speed up the translation process and make our workflow more understandable.
- When translating, concentrate on incomple resources first and only after they are done, attempt to correct the extisting entries.
- When using the online Transifex editor, see the list of available keyboard shortcuts that can make a translator's life much easier.
- In translation the context is everything. The source language string might sometimes be ambiguous, so in the online editor you can open the Details tab for each source string and check its context that is described in the Comment field. Please use this feature often to avoid misunderstandings!
- If you are not a long-time CKEditor user or developer, we recommend you get acquainted with the editor demo or even download and install CKEditor on your local computer. This will make it easier for you to understand the look and feel of the application as well as its structure and building blocks.
- Transifex includes a very useful feature called "suggestions". You can use it to propose a better version of an existing translation and let the team coordinator or fellow team members decide which version should be used. Additionally, when you are unsure as to how to translate a term, you can propose several versions as suggestions and let other users vote on them. You will find the Suggestions tab for each entry in the Source String column.
- Use the file locking feature reasonably and do not lock a file for longer than is necessary. If you know you will not be able to finish your work in one go, you can submit a partially complete translation and come back to it when you have more time to spare.
- Last but not least, remember that Transifex is based on team work. Treat fellow team members as you would like to be treated by them; it is not about competition, it is about cooperation with others and working together to achieve a common goal.