Hi Korakurider,
This is current work flow of etoys translation which I assume.
- A developer modifies translation keywords. - New POT is updated in svn repository. - New POT is copied to git (mkPootle). - Pootle merges new POT automatically.
- A translator translates new keywords introduced by new POT. - A translator checks fuzzy keywords modified by new POT.
- A language admin commits translation. - POs are updated in git repository. - POs are copied to svn (mkPootle), and MOs are built (Makefile).
On Jan 26, 2008 11:01 AM, Korakurider korakurider@gmail.com wrote:
Hi, Sayamindu and Takashi.
And, Takashi, it seems we are in confusion right now: POs on git are synchronized to older POT recently. see (2) Import from Pootle failed this time. see (5)
Yes, when I updated the repository, Pootle didn't merge new POT yet. but those are most up to date translations. Please don't worry about the header too much.
You can ask me to schedule a git push (manually for all changed po files) when you do a sync at your end. Do you want something like that ?
I believe we need the way for developers to pull latest
translations from Pootle to repository (or asking you to do it :-) . Pushing periodically would even make sense for etoys as we spitted repository into git for translators and svn for developers. But the decision up to Takashi (and etoys core developers).
I don't quite understand why you need latest translations on Pootle. It could be inconsistent. Let's try the standard work flow of Pootle at first.
As a side note: With a sole Pootle, users can't know what has changed in translations /review or when POT merge was done, right? Me thinks these capabilities are very important to run and manage translation project. By synchronizing Pootle and repository more tightly, tracking would be easier...
In theory, if you use Quick Translate mode, you can trace new / modified keywords introduced by new POT. But it doesn't work well in etoys because there are too much untranslated keywords. I think we should reduce the size of POT as much as possible.
Regarding POT merging, unfortunately I have not been able to this till now - since it looks the PO files are too large for normal Pootle to handle (the merge command took 100% CPU on the dual Opteron server for 20 minutes before I killed it). I have spoken to the developers of Pootle, and they suggested some optimizations which can be done (certain extra Python modules need to be installed in the server) to speed up the process. I'm trying to coordinate with the server admins to do this. If nothing works out by the end of this week - I'll use msgmerge manually from the command line to update the PO files.
Maybe I have to learn python to help Pootle developers...
Cheers, - Takashi
On 1/28/08, Takashi Yamamiya tak@metatoys.org wrote:
Hi Korakurider,
This is current work flow of etoys translation which I assume.
A developer modifies translation keywords.
New POT is updated in svn repository.
New POT is copied to git (mkPootle).
Pootle merges new POT automatically.
A translator translates new keywords introduced by new POT.
A translator checks fuzzy keywords modified by new POT.
A language admin commits translation.
POs are updated in git repository.
POs are copied to svn (mkPootle), and MOs are built (Makefile).
I understand this and basically I don't change this basically.
On Jan 26, 2008 11:01 AM, Korakurider korakurider@gmail.com wrote:
Hi, Sayamindu and Takashi.
And, Takashi, it seems we are in confusion right now: POs on git are synchronized to older POT recently. see (2) Import from Pootle failed this time. see (5)
Yes, when I updated the repository, Pootle didn't merge new POT yet. but those are most up to date translations. Please don't worry about the header too much.
I used headers to show what were changed in each files, what are out of sync.
What I am worrying is the fact translators are working with POs based on old POT, and we leave it as is. It would not be big problem if the differences among POT versions are just additions of new phrases. But until now we don't refrain from changing existing phrases, right? Contributed translations for old wording will not be used in final product, so I think this is problem. I know phrases for the case aren't many and may be I am worring too much. But I don't think it too much if we aren't taking care of this very well.
(note that other product declare "string freeze" for specific release to stabilize translation, but we haven't. And some products have even effort to diagnose changes to existing wording automaticaly )
You can ask me to schedule a git push (manually for all changed po files) when you do a sync at your end. Do you want something like that ?
I believe we need the way for developers to pull latest
translations from Pootle to repository (or asking you to do it :-) . Pushing periodically would even make sense for etoys as we spitted repository into git for translators and svn for developers. But the decision up to Takashi (and etoys core developers).
I don't quite understand why you need latest translations on Pootle. It could be inconsistent. Let's try the standard work flow of Pootle at first.
Hmm, I thought we want use as much contributions by translators as possible on building newer RPM, right? For this standard process will work only if language admin push translations on the right timing. I don't quite understand why you want to lose control on this. But the process is up to you anyway and I would give up if you insist that...
As a side note: With a sole Pootle, users can't know what has changed in translations /review or when POT merge was done, right? Me thinks these capabilities are very important to run and manage translation project. By synchronizing Pootle and repository more tightly, tracking would be easier...
In theory, if you use Quick Translate mode, you can trace new / modified keywords introduced by new POT. But it doesn't work well in etoys because there are too much untranslated keywords. I think we should reduce the size of POT as much as possible.
Even languages with long history of translation effort(Spanish or Japanese for instances) have about 50% of phrases translated, while they think it good coverage for typical usage in workshop for kids. So I am curious what do you mean when you are saying to shrink POT. (How much coverage number do we want actually, etc)
Regarding POT merging, unfortunately I have not been able to this till now - since it looks the PO files are too large for normal Pootle to handle (the merge command took 100% CPU on the dual Opteron server for 20 minutes before I killed it). I have spoken to the developers of Pootle, and they suggested some optimizations which can be done (certain extra Python modules need to be installed in the server) to speed up the process. I'm trying to coordinate with the server admins to do this. If nothing works out by the end of this week - I'll use msgmerge manually from the command line to update the PO files.
Maybe I have to learn python to help Pootle developers...
see the recent discussion on Pootle list Sayamindu mentioned, insight on this was explained. http://sourceforge.net/mailarchive/forum.php?thread_name=a1314bfe0801260957u...
/Korakurider
Hi Sayamindu,
Did you actually try python-Levenshtein? It made pot2po 20 times faster on my test server.
### With Levenshtein $ time pot2po -t etoys/po/ja/etoys.po etoys/po/templates/etoys.pot ja.po real 0m57.951s user 0m57.116s sys 0m0.308s
### Without Levenshtein $ time pot2po -t etoys/po/ja/etoys.po etoys/po/templates/etoys.pot ja.po real 21m26.559s user 21m18.504s sys 0m0.388s
### msgmerge $ time msgmerge etoys/po/ja/etoys.po etoys/po/templates/etoys.pot > ja2.po real 0m6.555s user 0m6.440s sys 0m0.032s
Cheers, - Takashi
Regarding POT merging, unfortunately I have not been able to this till now - since it looks the PO files are too large for normal Pootle to handle (the merge command took 100% CPU on the dual Opteron server for 20 minutes before I killed it). I have spoken to the developers of Pootle, and they suggested some optimizations which can be done (certain extra Python modules need to be installed in the server) to speed up the process. I'm trying to coordinate with the server admins to do this. If nothing works out by the end of this week - I'll use msgmerge manually from the command line to update the PO files.
Maybe I have to learn python to help Pootle developers...
see the recent discussion on Pootle list Sayamindu mentioned, insight on this was explained.
http://sourceforge.net/mailarchive/forum.php?thread_name=a1314bfe0801260957u...
On Feb 5, 2008 8:09 AM, Takashi Yamamiya tak@metatoys.org wrote:
Hi Sayamindu,
Did you actually try python-Levenshtein? It made pot2po 20 times faster on my test server.
Ticket to request installation has been filled see http://dev.laptop.org/ticket/6221
/Korakurider
Hi Korakurider,
Thank you for letting me know about that! Cheers, - Takashi
On Feb 4, 2008 8:13 PM, Korakurider korakurider@gmail.com wrote:
On Feb 5, 2008 8:09 AM, Takashi Yamamiya tak@metatoys.org wrote:
Hi Sayamindu,
Did you actually try python-Levenshtein? It made pot2po 20 times faster on my test server.
Ticket to request installation has been filled see http://dev.laptop.org/ticket/6221
Hi, Sayamindu
Since blocker http://dev.laptop.org/ticket/6221 (python-Levenshtein installation) had been fixed, could you please try again to merge etoys.pot to each language PO?
(some language community achieved almost 100% translated for old PO (!) , and want to translate missing strings in current PO because of failed merge of newer POT)
Thanks in advance. /Korakurider
On Tue, Feb 5, 2008 at 8:09 AM, Takashi Yamamiya tak@metatoys.org wrote:
Hi Sayamindu,
Did you actually try python-Levenshtein? It made pot2po 20 times faster on my test server.
### With Levenshtein $ time pot2po -t etoys/po/ja/etoys.po etoys/po/templates/etoys.pot ja.po real 0m57.951s user 0m57.116s sys 0m0.308s
### Without Levenshtein $ time pot2po -t etoys/po/ja/etoys.po etoys/po/templates/etoys.pot ja.po real 21m26.559s user 21m18.504s sys 0m0.388s
### msgmerge $ time msgmerge etoys/po/ja/etoys.po etoys/po/templates/etoys.pot > ja2.po real 0m6.555s user 0m6.440s sys 0m0.032s
Cheers,
- Takashi
Regarding POT merging, unfortunately I have not been able to this till now - since it looks the PO files are too large for normal Pootle to handle (the merge command took 100% CPU on the dual Opteron server for 20 minutes before I killed it). I have spoken to the developers of Pootle, and they suggested some optimizations which can be done (certain extra Python modules need to be installed in the server) to speed up the process. I'm trying to coordinate with the server admins to do this. If nothing works out by the end of this week - I'll use msgmerge manually from the command line to update the PO files.
Maybe I have to learn python to help Pootle developers...
see the recent discussion on Pootle list Sayamindu mentioned, insight on this was explained.
http://sourceforge.net/mailarchive/forum.php?thread_name=a1314bfe0801260957u...
Pootle is still hogging enormous resources to update the files. I am trying to figure out why. If not fixed by the next weekend - give me a ping and I'll merge them by hand (msgmerge). Thanks, Sayamindu
On Mon, Mar 3, 2008 at 10:11 AM, Korakurider korakurider@gmail.com wrote:
Hi, Sayamindu
Since blocker http://dev.laptop.org/ticket/6221 (python-Levenshtein installation) had been fixed, could you please try again to merge etoys.pot to each language PO?
(some language community achieved almost 100% translated for old PO (!) , and want to translate missing strings in current PO because of failed merge of newer POT)
Thanks in advance. /Korakurider
On Tue, Feb 5, 2008 at 8:09 AM, Takashi Yamamiya tak@metatoys.org wrote:
Hi Sayamindu,
Did you actually try python-Levenshtein? It made pot2po 20 times faster on my test server.
### With Levenshtein $ time pot2po -t etoys/po/ja/etoys.po etoys/po/templates/etoys.pot ja.po real 0m57.951s user 0m57.116s sys 0m0.308s
### Without Levenshtein $ time pot2po -t etoys/po/ja/etoys.po etoys/po/templates/etoys.pot ja.po real 21m26.559s user 21m18.504s sys 0m0.388s
### msgmerge $ time msgmerge etoys/po/ja/etoys.po etoys/po/templates/etoys.pot > ja2.po real 0m6.555s user 0m6.440s sys 0m0.032s
Cheers,
- Takashi
Regarding POT merging, unfortunately I have not been able to this till now - since it looks the PO files are too large for normal Pootle to handle (the merge command took 100% CPU on the dual Opteron server for 20 minutes before I killed it). I have spoken to the developers of Pootle, and they suggested some optimizations which can be done (certain extra Python modules need to be installed in the server) to speed up the process. I'm trying to coordinate with the server admins to do this. If nothing works out by the end of this week - I'll use msgmerge manually from the command line to update the PO files.
Maybe I have to learn python to help Pootle developers...
see the recent discussion on Pootle list Sayamindu mentioned, insight on this was explained.
http://sourceforge.net/mailarchive/forum.php?thread_name=a1314bfe0801260957u...
etoys-dev@lists.squeakfoundation.org