2010/12/11

Updating translations in CKEditor

CKEditor is fully coded so it can be used in any language (many other simple WYSIWYG editors work in only one language), it just needs the translations for the used strings, and that task is done by providing a language file as found in the _source/lang folder.

Currently it ships with 57 translations, but unfortunately many of them are quite outdated in my point of view, so in order to avoid wasting too much space with outdated files I've chose to remove any language that is missing over 200 sentences (the total number of entries for 3.5 right now is 346)

That means that Write Area 0.9.5a2 includes only 32 languages (saving 90Kb), but as I said, I'm planning on removing languages that are missing more than 100 entries, than means removing other 13 files and the savings won't be as big as the first removal, but i don't see a reason to ship something that only works half of the time. If the user sees dialogs with mixed English and local language I think that it might look more weird than seeing everything in English.

But there's something that you can do if you want to see a fully translated CKEditor: provide an updated translation to your locale.

The steps are quite easy:

  1. Get the nightly version (it's based on 3.4x instead of 3.5x so it won't include all the new entries, but that's one of the problems with the current dual branch method). 
  2. Extract the zip to any folder in your computer (you don't even need a web server for this task)
  3. Open one of the files under _samples, for example _samples/replacebyclass.html
  4. That should work and you should be able to perform any operation with CKEditor (besides saving the contents)
  5. Now replace the "lang" folder with "_source/lang", so it's easier to edit the files
  6. Open the file for your language with a text editor (be careful, files are encoded as UTF8+BOM, so if you are using an old editor it might not open correctly) and search for entries marked with "// MISSING"
  7. You can see there the English text, so write your translations, save and then it's time to check that now they work correctly.
  8. By opening the files from the disk usually it isn't needed to clear the cache, but at the very least you'll have to reload the page in your browser, if you don't see any change, then try to close the browser and open it again.
  9. When you have finished updating your locale, go to http://dev.ckeditor.com/wiki/Bugs and read quickly the steps. The most important part is that you have to create an account and after that you can create a new ticket.
  10. Provide a brief summary "Updated Italian translation" select as Component "UI: Language" and put something simple in the summary stating any notes that you want to add.
  11. Mark the "I have files to attach" and click "Create ticket"
  12. attach your translation and if everything is OK your updated translation will be added for the next release.

Something important to note: Take a look first, maybe someone else has already provided an updated translation and it's just waiting to be added.

And of course, besides adding missing entries you can try to provide corrections over existing sentences, but in that case it's not as easy for us to know if the first translation is really bad and your new suggestion is better, so it's better if you can try to find the original translator and both of you agree with a new file. There are times when someone provides a translation but without looking at those sentences in CKEditor, so maybe the text is too long and is displayed poorly, or it doesn't fit correctly with the rest of the dialog, that's why it's important for you repeat steps 7-8 and check that your new entries fit correctly with the rest of the dialog.

No comments: