Globalization

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.

V3 is a software to be used all around to world, among many different cultures. FCKeditor 2 already offers good Globalization support. We should now look for perfecting it.

What's Globalization?

In software development, Globalization (and Internationalization) is the process of developing and deploying applications in different languages, considering also the cultural aspects involved in the software features. In the case of V3, the most important aspect for Globalization is its multi-language UI support.

The Globalization process is composed by two essential steps: localizability and localization.

Localizability inside V3

Localizability is the design and development of software that can be localized in different languages with any changes in the source code.

For V3 the following are some localizability features to be considered:

  • All textual labels must be isolated for localization.
  • Tooltips texts must be localizable.
  • The interface must mirror according to RTL languages needs.

For the definition of our UI elements, we'll be following the Microsoft Globalization Rules and Recommendations.

Localization for V3

Localization is the process of effectively translating and customizing the software for a specific culture.

The V3 development is based in the English language. It doesn't mean that our developers are all native English speakers, but that is the common language among all of them. Actually, none of the core developers are native English speakers. So, to guarantee the quality of our English localization, we need to assign an English Localization Reviewer to the project (even more than one).

Then, based on the reviewed English localization, we can proceed by localizing it to other languages. For that, dedicated Localization Groups will be created, one for each language. The group must have at least two translators (ideally three), which will work as reviewers at the same time. In this way we ensure that all translations are properly reviewed, offering some quality level to it.

Translation contributions are definitely welcome, but will not be introduced in V3 until not reviewed by one of the official translators.

The review process for the localization must not be done by exclusively comparing the original and translated texts, but also by verifying the translated text in its usage context.

Ideally, to help on the translation process, a "Localization Kit" tool could be created making it easy to translate, showing the translation changes in the editor automatically.

Globalization Related Features

  • Automatically detect the user language.
  • Make it possible to the user to change the UI language.
  • Make it possible to enforce a specific language as the default one.
  • Make it possible to specify the desired language by code at runtime.