Use transifex for translations

Started by AlexL, July 01, 2015, 12:22:35 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

AlexL

Hi developers,
My proposal is to use transifex for translations: https://www.transifex.com
It works fine with .ts files, has suggestions for translations, .etc.

Liviu Lalescu

Thank you for the suggestion, but it seems it is a non-free service. I prefer to depend only on free software (free as in free speech).

Or have I misunderstood?

AlexL

#2
You will upload translations to tx and translators will translate fet.
https://www.transifex.com/projects/p/linphone-gtk/ is example how it works for free software.
"Crowdsource translations for your Open Source project for free on Transifex with no word count limits."
Quote from: Liviu Lalescu on July 01, 2015, 01:01:42 PM
it seems it is a non-free service.
not-free for commercial projects and free for open source projects like fet.

Liviu Lalescu

Hmm, I am a bit afraid to go into this, as I have no experience. I just want to receive the translation .ts from a person and add it into FET. Could it be possible for another person to become a "buffer" between me and transifex?

AlexL

Don't worry. Tx is very good service and tested by distros (https://www.transifex.com/projects/p/mageia), DEs (https://www.transifex.com/projects/p/MATE).
It's better if author will upload new .ts files (only author knows when new strings are available) and download from tx before fet's release.
So, translations for fet will be better and better day by day.
I'm sure tx will help for fet to be better translated.

Liviu Lalescu

#5
Hmm, I am afraid to try something new :)

It is like when some people suggested to put FET in a public repository, but I was afraid.

I will add your suggestion in the TODO and I will think about it. But I cannot guarantee it soon.

We can talk some more, this topic is not, by any means, closed.

AlexL

Liviu, tx is really progressive tool and better, than qt linguist.
You will loose nothing: if translator will sent .ts file to you directly, then you will upload file to tx. Before fet release you will download all new translations.
But you will have new translators, teams of translators, several people will translate one language, .etc.
You know fet has problems with translations, but translations will be up to date and more full with tx, than now.
So, you should think about my proposal as soon as possible.

I asked Russian translator about fet, but he has no resources for continue translation. With fet everybody will have 2 tools: tx and qt linguist. If you create tx I will ask him again.

Liviu Lalescu

#7
It is difficult for me to accept this change, because it means more responsibilities and learning a new program (also, FET will depend on this additional program) and changing old habits. But I will think on it and I will also ask Volker, but he will be not available for some time.

AlexL

#8
1)
I tested tx with Russian from fet-5.27.3.tar.bz2.
5285/8543 (translated/untranslated) strings by default.
6111/8543 (translated/untranslated) after tx with option TM (use Translation Memory).
6111-5285=826 strings was added by tx automatically from own ru_ts if strings are the same.
2)
I created project gamine-game yesterday by tx and I sent invites to 1000 translators. What I see 24 hours later:

"Theo_Chamalis submitted a Greek translation to gamine.pot of the gamine-game project
egoitzro submitted a Basque translation to gamine.pot of the gamine-game project
Moo submitted a Lithuanian translation to gamine.pot of the gamine-game project
Puretech submitted a Malay translation to gamine.pot of the gamine-game project
filip.komar submitted a Slovenian translation to gamine.pot of the gamine-game project
huseynkhan submitted a Azerbaijani translation to gamine.pot of the gamine-game project
EgeitiJason submitted a Faroese translation to gamine.pot of the gamine-game project
Sidney_1 submitted a Chinese (Hong Kong) translation to gamine.pot of the gamine-game project
KristapsK submitted a Latvian translation to gamine.pot of the gamine-game project
fri submitted a Czech translation to gamine.pot of the gamine-game project
lyubomirv submitted a Bulgarian translation to gamine.pot of the gamine-game project"

11 people translated project during the day.
3)
For example, there are 2256 translators into Russian on tx. How fast will they translate fet if to invite somebody?

I don't know what you think, but tx is really helps to translate.

Liviu Lalescu

#9
About (1), it is interesting, because also Qt Linguist has guessing enabled; are you sure the automatically added strings are exactly similar? Could you send me the new file, so I can compare to the old one?

About (2) and (3), yes, I know this is a big advantage, but how will I have control over the persons who translate? They would be preferably FET users, not any users, to test their translation. I need to add in the Help/About the name and email (or forum user) of the person who translated.

Also, I fear that by some careless handling (as a beginner) I might lose translated fields.

I will also talk to Volker about this; I think he will be back in about one week.

Liviu Lalescu

Consider the main menu or the constraints strings. Each string is critically important, and I use some abbreviations.

Also, the translators like German, Romanian or Italian, which are complete, how will they impose that fact that no newcomer will try to translate in a possibly worse way?

AlexL

#11
> About (1), it is interesting, because also Qt Linguist has guessing enabled; are you sure the automatically added strings are exactly similar? Could you send me the new file, so I can compare to the old one?
Qt Linguist do nothing. I checked and I did not see problems.
I sent file to you by email.

> but how will I have control over the persons who translate?
Every translator has rating how many strings he translated. Each language has manager, corrector and translators. tx is own world with own laws.

> They would be preferably FET users, not any users, to test their translation.
FET users will check translations as manager and correctors.

> I need to add in the Help/About the name and email (or forum user) of the person who translated.
tx has chronology.

> Also, I fear that by some careless handling (as a beginner) I might lose translated fields.
They translate untranslated strings.

> Also, the translators like German, Romanian or Italian, which are complete, how will they impose that fact that no newcomer will try to translate in a possibly worse way?
Nobody will translate without invite.

Liviu Lalescu

About (1): It is a bad behaviour of Transifex, because it seems it finished strings marked as unfinished. These strings should be manually finished by the translator.

See command line of lrelease:

This is on my file:

Updating 'fet_ru.qm'...
    Generated 6181 translation(s) (5285 finished and 896 unfinished)
    Ignored 2362 untranslated source text(s)

This is on your file:

Updating 'fet_ru.qm'...
    Generated 6111 translation(s) (6111 finished and 0 unfinished)
    Ignored 2432 untranslated source text(s)

AlexL

#13
1) with your file:
LC_ALL=C lupdate fet.pro
    Found 8543 source text(s) (0 new and 8543 already existing)
Updating 'translations/fet_ru.ts'...
LC_ALL=C lrelease fet_ru.ts
Updating 'fet_ru.qm'...
    Generated 6285 translation(s) (5285 finished and 1000 unfinished)
    Ignored 2258 untranslated source text(s)

2) with file from tx:
LC_ALL=C lupdate fet.pro
Updating 'translations/fet_ru.ts'...
    Found 8543 source text(s) (0 new and 8543 already existing)
    Number heuristic provided 104 translation(s)
LC_ALL=C lrelease fet_ru.ts
Updating 'fet_ru.qm'...
    Generated 6215 translation(s) (6111 finished and 104 unfinished)
    Ignored 2328 untranslated source text(s)

I see equal transformation: unfinished/untranslated strings were finished if the same translations were available, another unfinished strings were marked as untranslated.
So you can use my fet_ru.ts in new version of fet without problems. It adds +826 translated strings.

Liviu Lalescu

Number heuristic is bad, I disable it in Qt.

The unfinished strings are translated also in Qt, the only thing is that they are marked unfinished in the .ts file. There are only 30 new strings in Transifex, which come probably from number heuristic, which is bad.