During checking "ceilometer" Japanese translation, I found another issue. I noticed some rejected strings in the master branch is overridden by old translation in stable-liberty and the status was reset to "Translated". I suspect it is a side-effect of merging stable-liberty. https://translate.openstack.org/webtrans/translate?project=ceilometer&iteration=master&localeId=ja&locale=ja#view:doc;doc:ceilometer resource ID 93fc08cfc55420bbf5e5b340296a3905 is an example. The detail situation is as follows. - The string was copied from ibm-translation-for-review to master branch at Sep 21. - It was also copied to stable-liberty branch when stable-liberty was created. - On Sep 27, I change the string in the master branch by using "Project-wide search and replace". (Note that changes in "Project-wide search and replace" are not recorded as "Translated" and they are recorded as "Rejected" for new strings) - On Oct 08, the string was overridden by the from stable-liberty branch Apparently the string in the master branch is newer than the corresponding string in stable-liberty branch. I wonder why it was overridden. The following are the history both in master and stable-liberty branches. In master branch, (a lower one is older) - Tom Cocozzello created a Translated revision パイプライン %(pipeline)s: パラメーター %(param)s を使用して変換プログラム・インスタンス %(name)s をセットアップします 08/10/15 22:17 Revision 3 Merge version: translation copied from project 'ceilometer', version 'stable-liberty', document 'ceilometer', author 'Tom Cocozzello' - Akihiro Motoki created a Rejected revision パイプライン %(pipeline)s: パラメーター %(param)s を使用して変換プログラムインスタンス %(name)s をセットアップします 27/09/15 23:50 - Mie Yamamoto created a Rejected revision パイプライン %(pipeline)s: パラメーター %(param)s を使用して変換プログラム・インスタンス %(name)s をセットアップします 27/09/15 09:30 - Mie Yamamoto left a comment 中黒(・)は使用しない 27/09/15 09:30 - Tom Cocozzello created a Translated revision パイプライン %(pipeline)s: パラメーター %(param)s を使用して変換プログラム・インスタンス %(name)s をセットアップします 21/09/15 22:27 Copy translation: translation copied from project 'ceilometer', version 'ibm-translation-for-review', document 'ceilometer', author 'Tom Cocozzello' In stable-liberty branch, only one history. - Tom Cocozzello created a Translated revision パイプライン %(pipeline)s: パラメーター %(param)s を使用して変換プログラム・インスタンス %(name)s をセットアップします 21/09/15 22:27 Revision 1 Copy version: translation copied from project 'ceilometer', version 'ibm-translation-for-review', document 'ceilometer', author 'Tom Cocozzello' 2015-10-09 0:57 GMT+09:00 Ying Chun Guo <guoyingc@cn.ibm.com>:
Akihiro Motoki <amotoki@gmail.com> wrote on 10/08/2015 10:37:21 PM:
From: Akihiro Motoki <amotoki@gmail.com> To: Ying Chun Guo/China/IBM@IBMCN Cc: Openstack-i18n <openstack-i18n@lists.openstack.org> Date: 10/08/2015 10:38 PM Subject: Re: [Openstack-i18n] Approved & rejected translations after versions merging
Thanks Daisy,
You are correct.
I rechecked both master and stable-liberty translations more carefully and it turned out it is a corner case. I noticed all of such strings are rejected in both master and stable-liberty and most of them (all? I am not sure) are edited through "Project- wide Search & Replace". When we edit "rejected" strings with "Project-wide Search & Replace", the strings still remains in "rejected" status.
The lesson learned is valuable to the whole team. I didn't know the rejected strings still remain in "rejected" even they are updated. Thank you, Akihiro. We are all learning to play with Zanata. We will get better and better.
It seems that I started to review nova translations too early and unfortunately we cannot complete reviews due to the volume. As a result, we hit "not a good practice" you said.
I learned one practice that if we are not confident with addressing "rejected" strings which already exist in master branch, we should not touch such string, I learned much more detail conditions, but perhaps it only applies to me.
Thanks, Akihiro
2015-10-08 22:39 GMT+09:00 Ying Chun Guo <guoyingc@cn.ibm.com>: I cannot agree with you, Akihiro. When stable-liberty version was created, we set master version as "Read Only". Translators had to improve stable-liberty branch. The corrections made in stable-liberty version is newer than the old translations in master version. So when I merged, the newer translations will be copied and replaced the old translations. So the corrections will be moved to the master version.
But the rejections will not. So it's not a good practise to only reject translations in stable- liberty without input the correct translations.
Could you check in Nova master version? I think your corrections to IBM translations should be moved to master version.
Best regards Ying Chun Guo (Daisy)
Akihiro Motoki <amotoki@gmail.com> wrote on 10/08/2015 09:31:36 PM:
From: Akihiro Motoki <amotoki@gmail.com> To: Ying Chun Guo/China/IBM@IBMCN Cc: Openstack-i18n <openstack-i18n@lists.openstack.org> Date: 10/08/2015 09:32 PM Subject: Re: [Openstack-i18n] Approved & rejected translations after versions merging
On a second thought, I start to think this can happen in every OpenStack release.
What can possibly happen?
Most reviews are done after RC1 is released. It means reviews and corrections are done in stable-xxxx branch. It is not a rare case that strings are also translated in the master branch. In this case, corrections in stable-xxxx branch will not be feedback-ed to the master branch and this means that translators/reviewers need to do the same thing again and can lead to inconsistent translations.
What can we do?
I don't think we have a general solution to this. Zanata's current behavior may work well in most cases, but does not work for us.
One possible solution is to allow language coordinators (or reviewers) to upload PO files. Language coordinators (or reviewers) can use diff tools locally and merge translations more efficiently. The demand may be different among languages. If they can upload PO files, we can cope with this lang by lang.
Thought?
Akihiro
2015-10-08 19:37 GMT+09:00 Akihiro Motoki <amotoki@gmail.com>: Daisy,
Is there any way to apply modifications made in stable-liberty branch to the master branch?
We made a lot of modifications/fixes to strings from IBM translation contribution in stable-liberty branch. The master branch already has translations because it is contributed by IBM, so merging from liberty to master does not help us.
It seems translators or language coordinator cannot upload PO files, so I cannot have a way to replace the master translation with the liberty version in a batch way.
We don't want to check >100 rejected strings and copy >100 modified strings from liberty manually.
Is there any suggestion?
Akihiro
2015-10-03 2:12 GMT+09:00 Ying Chun Guo <guoyingc@cn.ibm.com>: Hi,
A translation could be approved or rejected. This action is called translation review. A version merging is to copy all matching translated/approved translations from the source version to the target version. If there is an existing translated/approved translation, the newer translation will be used. After liberty translations are closed, we will merge translations from stable-liberty version to master version, and then open both stable-liberty version and master version to accept translations. I investigated whether translation review would be copied after version merging.
Here are the results: The review result - "approve" will be copied to the target version, while the review result - "reject" will not. Only "rejecting" existing translations will not have the same translations rejected in master version. But "approving" existing translations will have the same translations approved in the master version. That means, if there are "rejected" translations in stable-liberty, it's better to input the correct translations.
The investigation result is OK with me. If you have different opinions, please propose here. If you want to understand more about version merging, please let me know.
Best regards Ying Chun Guo (Daisy)
_______________________________________________ Openstack-i18n mailing list Openstack-i18n@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-i18n