Moodle

TinyMCE and language support

Details

  • Type: Sub-task Sub-task
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 2.0
  • Fix Version/s: None
  • Component/s: HTML Editor
  • Labels:
    None
  • Affected Branches:
    MOODLE_20_STABLE

Description

Just working the first time with TinyMCE in 2.0 I saw several issues relating language support in TinyMCE 3.0.:

  • There are several language strings missing in english version
  • Other languages than english are not available yet. Normally they have to be added manually for TinyMCE, but we should add them from beginning.
  • Language files and UTF8. It seems that there were some problems with UTF8 and language files had to be encoded new from ISO to UTF8. But it may be solved in TimyMCE 3. But lots of languages are not translated.

Activity

Hide
Mathieu Petit-Clair added a comment -

This is now fixed in head, at least for languages where a translation exists.

I'm keeping this issue opened, as I still need to add some documentation on how to upgrade TinyMCE to include the patch that is necessary to fix this.

Show
Mathieu Petit-Clair added a comment - This is now fixed in head, at least for languages where a translation exists. I'm keeping this issue opened, as I still need to add some documentation on how to upgrade TinyMCE to include the patch that is necessary to fix this.
Hide
Ralf Hilgenstock added a comment -

Hi Mathieu,

I'm not a developer and didn't understand lot of code. I saw your last files and wondered about two points:

1. I understood there is a new import process for importing language files directly from TinyCME cvs system in the language system of Moodle. They are added to the moodle language system but overwritten by an external process. It will be confusing - only for translators- if they change the strings in the main version of their language and upload it to moodle, because the changes are overwritten by automatic import from Tinycme.
If lnaguage files are in lang/mylanguage/ folder translators will try to translate them. But if there is an automatic process to update from external source it will be confusing. Most translator not only tranlate missing strings but also try to optimize language strings

2. Are the paths correct here in create_langfiles.php?

// this should be the path to a checkout of the translations tree
// the english file will need to be separately committed to all
// relevant cvs checkouts (2.0 and up)

-define('MOODLE_LANG_PATH', '/home/mathieu/workspace/moodle_langs');

+define('MOODLE_LANG_PATH', '/home/mathieu/workspace/lang');

// this should be the path to the unzipped tinymce langpacks
define('LANGPACK_PATH', '/home/mathieu/workspace/tinymce_langs');

+// this should be the path to your HEAD checkout - the english translation
+// will be saved there.
+define('MOODLE_CVSHEAD_PATH', '/home/mathieu/workspace/head');
+

Show
Ralf Hilgenstock added a comment - Hi Mathieu, I'm not a developer and didn't understand lot of code. I saw your last files and wondered about two points: 1. I understood there is a new import process for importing language files directly from TinyCME cvs system in the language system of Moodle. They are added to the moodle language system but overwritten by an external process. It will be confusing - only for translators- if they change the strings in the main version of their language and upload it to moodle, because the changes are overwritten by automatic import from Tinycme. If lnaguage files are in lang/mylanguage/ folder translators will try to translate them. But if there is an automatic process to update from external source it will be confusing. Most translator not only tranlate missing strings but also try to optimize language strings 2. Are the paths correct here in create_langfiles.php? // this should be the path to a checkout of the translations tree // the english file will need to be separately committed to all // relevant cvs checkouts (2.0 and up) -define('MOODLE_LANG_PATH', '/home/mathieu/workspace/moodle_langs'); +define('MOODLE_LANG_PATH', '/home/mathieu/workspace/lang'); // this should be the path to the unzipped tinymce langpacks define('LANGPACK_PATH', '/home/mathieu/workspace/tinymce_langs'); +// this should be the path to your HEAD checkout - the english translation +// will be saved there. +define('MOODLE_CVSHEAD_PATH', '/home/mathieu/workspace/head'); +
Hide
Mathieu Petit-Clair added a comment -

I don't quite know how to answer question #1 ... Either translators have to redo all the translations (which is a waste for those that already exists), or the strings are imported from TinyMCE. When I import new strings, I don't quite know how (not speaking most of these languages) to decide which strings need to be replaced and which one need to be kept (I'm sure the TinyMCE translation team does "optimize strings" too). We need to be able to update the files, to upgrade when a new version comes out.. Any suggestion?

As for #2, they're right for me .. which is probably wrong for everybody else. But nobody has the same setup, and this script should only be used by the developer upgrading to a newer TinyMCE version. No idea what to put in there except for blatantly obviously wrong paths (like "/PATH/TO/YOUR/MOODLE/HEAD/REPO").

Show
Mathieu Petit-Clair added a comment - I don't quite know how to answer question #1 ... Either translators have to redo all the translations (which is a waste for those that already exists), or the strings are imported from TinyMCE. When I import new strings, I don't quite know how (not speaking most of these languages) to decide which strings need to be replaced and which one need to be kept (I'm sure the TinyMCE translation team does "optimize strings" too). We need to be able to update the files, to upgrade when a new version comes out.. Any suggestion? As for #2, they're right for me .. which is probably wrong for everybody else. But nobody has the same setup, and this script should only be used by the developer upgrading to a newer TinyMCE version. No idea what to put in there except for blatantly obviously wrong paths (like "/PATH/TO/YOUR/MOODLE/HEAD/REPO").
Hide
Ralf Hilgenstock added a comment -

Works for me. Thanks

Show
Ralf Hilgenstock added a comment - Works for me. Thanks
Hide
Karoly Fabricz added a comment -

I am afraid automatically incorporating translations (localizations) from other projects will kill Moodle localization efforts on the whole. Rather than saving time, you get a mix of terminology that is impossible to maintain. If you concentrate on the end user's requirements, such a procedure is absolutely ungrounded. You cannot ensure consistence of term usage, not to mention that fact that (at least the HU counterpart) is half English, half Hungarian, and the Hungarian is produced by someone who is apparently anyone but a specialist proficient in orthography and grammar.
The obvious misconception is related to the assumption that each term in each language is translated in one single (and appropriate) way.
I'd suggest a check phase is included after automatic and uncontrolled import of translations from other projects and before implementation, so that the translators can streamline new terminology with the one they use and Moodle users are accustomed to. Otherwise, localizations will definitely be an unmaintainable mess.

Karoly Fabricz
Moodle HU localizer

Show
Karoly Fabricz added a comment - I am afraid automatically incorporating translations (localizations) from other projects will kill Moodle localization efforts on the whole. Rather than saving time, you get a mix of terminology that is impossible to maintain. If you concentrate on the end user's requirements, such a procedure is absolutely ungrounded. You cannot ensure consistence of term usage, not to mention that fact that (at least the HU counterpart) is half English, half Hungarian, and the Hungarian is produced by someone who is apparently anyone but a specialist proficient in orthography and grammar. The obvious misconception is related to the assumption that each term in each language is translated in one single (and appropriate) way. I'd suggest a check phase is included after automatic and uncontrolled import of translations from other projects and before implementation, so that the translators can streamline new terminology with the one they use and Moodle users are accustomed to. Otherwise, localizations will definitely be an unmaintainable mess. Karoly Fabricz Moodle HU localizer

People

Vote (0)
Watch (1)

Dates

  • Created:
    Updated:
    Resolved: