There is an issue that I didn't understand clearly -
I'm translating Moodle 2.0 in AMOS and also still contributing and translating through CVS Moodle 1.9.x strings. Is there any why which those strings can be synchronize automatically to AMOS (or to http://download.moodle.org/langpack/2.0/).
In other words: I expect to see in AMOS the "yellow" and "green" background color of the strings that have been translated recently (new and fix strings) in moodle 1.9.x. .
Usually the strings in 1.9.x that we translate are also strings that being used in moodle 2.0 (not new ones that only moodle 2.0 knows but old ones) What is the best why to sync with both versions.
hope I explained my dilemma properly?
is there a chance that it could work both ways (merge strings from 1.9 to 2.0 OR 2.0 strings "downgrade" to 1.9)?
I'm asking because we have focused our efforts (the Croatian translation team, five or six of us) on Moodle 2.0, and 1.9 was left as an orphan of sort, and now we have few thousands of strings for 2.0 that are not translated in 1.9, and those could _probably_ be merged to 1.9.
I'm asking this because the majority of large edu institutions in Croatia are using 1.9.x form production servers and we have no plan to move to 2.0 for at least six months after the final release (or maybe even not until the summer of 2011).
And thank you very much for all the work you are doing (as well as the improvements and features of AMOS)
sorry, automatic backporting of the translation from AMOS to 1.x branches is not supported and will not be. Moodle 1.x language packs live in CVS and it was designed that AMOS will only read from CVS but never contribute it there back.
What you can do now is to try and use the 2.0 language pack generated by AMOS and use it as-is as the initial version of the lang file and then use standard Moodle 1.9 translation process to check and use it.
- let us suppose you have your current lang/hr_utf8/moodle.php in 1.9
- download hr.zip for Moodle 2.0 generated by AMOS from the download page
- extract moodle.php from hr.zip
- concatenate both PHP files so that the one from 2.0 goes first and the current 1.9is appended to it
- if you use this new moodle.org for translation in Moodle 1.9, it will take all missing strings from 2.0
- note that you will have to double check the syntax because in 2.0, the format of string slightly changed (there are curly braces around placeholders now, no more double percents, no more escaping of quoting marks etc.)
I'v just tried that but I can't see the 1.9.x strings that I committed few days ago on the merge list.
For example: we translate few days a got through CVS this string- "profilefields" from admin.php and committed (1.9.x). (we just modified the hebrew string of it)
Today I went to Amos->Translator -> searched for "profilefields" check the checkbox of 2.0 and the 1.9 I got as a result list of 2 different strings - the 1.9 ( after the modification) and the 2.0 ( before the modification) - they are not equal - I was expected to see the Yellow background (so I can click on the checkbox to merge it but is was green) .
But when clicked on Staged from source 1.9 and target 2.0 clicked Merge - I didn't see it at all. ( is that the way to do it?)
Hope you understand and can answer me.
thanks a lot/
yes, that might happen. Because of the current Moodle migration from CVS to git repository, all AMOS scheduled jobs that parse Moodle core and 1.x languages are temporarily disabled. They should be up and running again by the end of this week.
Thanks for understanding and being patient
sorry, I misread your post previously. I just checked AMOS database and that commit from Dec 12 into 1.9 are correctly registered. However, AMOS does not provide any tool to automatically propagate the change into 2.0 branch. The stage tool 'Merge strings from another branch' works only for strings that are translated on 1.9 and are _missing_ at 2.0. In your case, the string already existed on 2.0 so the merge tool does not modify it.
This is standard and expected effect of having languages branched. Whenever you do a change on one branch, you must manually port it to other branches as needed. This can not be automated much - because sometimes we need one string having different value on different branches (that is actually one of the reasons why we have AMOS).
I agree there could be some UI widget to easily copy string from one branch to another. But at the moment, you must copy it using standard clipboard.
Hope I explained it clearly now
I have 2 quick questions:
when I'm in the translate mode in Amos and I check the 1.9 version to fine strings, Do I get the result directly from the most Update CVS from here?
or is it taken from another database?
If I commit by modify a string from 1.9 version though Amos, will I see it here (CVS mode) if yes when does the updae take place?
Just for curiosity, this is how a change propagates from CVS to AMOS:
* the string is committed into http://cvs.moodle.org/lang/
* scheduled cron job runs at my server and mirrors the CVS repo into git
* another scheduled job at my server publishes the git mirror at https://github.com/mudrd8mz/moodle-lang
* scheduled job at AMOS server fetches the github repository and registers all new changes in AMOS database.
These three cron jobs run twice an hour in sort of cascade. But if the commit just misses the first cron job, it is not processed but in the next run in 30 mins.