Re: [Audacity-translation] Correcting the Plural-forms directive for Portuguese, Turkish, Ukrainian
Ah, our messages crossed. I see that you changed n > 1 to n != 1 in the header. That makes a difference only when n == 0. Should zero take singular or plural? poedit most think that plural is the covention of most western European languages, including European Portuguese. But I see the .po files for French and Brazilian Portuguese still have n > 1 and poedit does not warn. Are those in fact the exceptions? I also see many other corrections of spelling and wording not related to that. This file is still 100% complete. msgcmp pt_PT.po audacity.pot makes no errors. I notice you remove some & characters, which as you must know, are not displayed but determine where underscores (on Windows) are placed under letters, to mark accelerators. It's not wrong, but are you sure you want to remove those accelerators? I can merge these corrections while I wait for the answer to that. PRL On Tue, Jan 23, 2018 at 9:37 PM, Bruno Ramalhetewrote: > I made some improvements in the Portuguese po file. > Now the warning has gone, can you see if it is all right now? > > I made some changes and I use better words from previous translations. > > I send you the updated po file here. > > Best regards. > Bruno > > 2018-01-23 18:12 GMT+00:00 Paul Licameli : > >> Attention, Bruno, Kaya, and Yuri, >> >> As I previously mentioned, poedit warns me that your .po files had the >> Plural-Forms directive in the header set unusually for your languages. >> >> There is a discussion of plural forms here: >> https://www.gnu.org/software/gettext/manual/gettext.html#Plural-forms >> >> For Portuguese, I think poedit just gives a false warning. The file has >> this directive: >> "Plural-Forms: nplurals=2; plural=(n > 1);\n" >> >> That is appropriate with a language like English with a distinction of >> one and more-than-one, and according to the gettext documentation, >> Portuguese is like that. (And pt_BR.po has the same directive too.) >> >> Turkish is also like that, but the file has: >> "Plural-Forms: nplurals=1; plural=0;\n" >> >> That line works for a language with no number distinctions like Chinese. >> The gettext documentation explains that Turkish does not change noun forms >> when they occur after a numeral, but there are some examples in >> audacity.pot that are not like that. For instance: >> >> #: src/PluginManager.cpp >> msgid "Enable this plug-in?" >> msgid_plural "Enable these plug-ins?" >> msgstr[0] "Bu uygulama ekleri etkinleştirilsin mi?" >> >> Should there be a msgstr[1] with a Turkish plural form? The tr.po header >> must be edited so that msgmerge with audacity.pot will then make the >> msgstr[1] for you to fill in. >> >> Finally Ukrainian. gettext documentation says this: >> >> "Three forms, special cases for numbers ending in 1 and 2, 3, 4, except >> those ending in 1[1-4] >> The header entry would look like this: >> >> Plural-Forms: nplurals=3; \ >> plural=n%10==1 && n%100!=11 ? 0 : \ >>n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; >> Languages with this property include: >> >> Slavic family >> Russian, Ukrainian, Belarusian, Serbian, Croatian" >> >> That expression means you map a number to a place in the msgstr[] table >> thus: >> return 0 for 1, 21, 31, ... >> return 1 for 2, 3, 4, 22, 23, 24, 32, 33, 34, ... >> return 2 for 5 through 20, 25 through 30, 35 through 40, ... >> (and similarly for each century) >> >> From what I know of Russian, the first case is where you use nominative >> singular, the second genitive singular, the last, genitive plural. (Unless >> the noun phrase as a whole is in an oblique case, not nominative.) >> >> Is it correct that Ukrainian has identical rules? But uk.po has this >> instead: >> >> "Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" >> >> In other words: >> return 0 for 21, 31, ... >> return 1 in no case >> return 2 for 2 >> return 3 for 1 and 3 >> For all other numbers, return out-of-bounds! This can't be right. >> >> For all these languages, tell me you think your Plural-Forms is really >> correct, despite the references above, and I will ignore the warning from >> poedit. Or else, you still have opportunity to fix it. There are not very >> many uses yet of msgid_plural -- only 6. But I hope to make more >> consistent use of it in future. There may be places where it should be >> used but isn't. >> >> Or if it's only the one header line that needs correction, I can fix that >> by hand. >> >> PRL >> >> >> >> -- >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> ___ >> Audacity-translation mailing list >> Audacity-translation@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/audacity-translation >> >> > >
Re: [Audacity-translation] I am merging your translation updates
Bruno, I think nothing is really wrong with pt_PT.po. I examined it and all msgid_plural entries appear to be filled in properly. poedit was simply making a warning when I opened the file, about the header information and not about any particular entry, and I explained why the warning is probably wrong. Portuguese is like English and most Western European languages -- there are only two number forms, singular and plural. Correct? PRL On Tue, Jan 23, 2018 at 6:00 PM, Bruno Ramalhetewrote: > Hi Paul, > > I am trying to fix the plural issues. Can you tell me in which lines do > you see the warnings? I am trying to search. > > I must make some improvements and send you the file again. > > Regards. > Bruno > > > > Em 23/01/2018 01:08, "Paul Licameli" escreveu: > >> I am now looking at updated .po files for Audacity version 2.2.2. >> >> I am aware of updates for these -- please alert me if I missed any. >> >> Some of these are still missing a few entries from the latest version of >> Audacity.pot. Some give me a warning when I open them in poedit that the >> Plural-Forms header line is unusual for that language. >> >> Basque >> Chinese (Simplified) (missing 34) >> Danish (missing 10) >> French >> German >> Greek >> Korean >> Portuguese (European) (plurals) >> Spanish >> Swedish >> Turkish (10 missing; plurals) >> Ukrainian (plurals) >> >> I will soon put all these updates into GitHub, as complete or nearly so. >> If you still want to make small corrections, it is not too late. >> >> See this reference for how to correct the Plural-Forms, and what might be >> correct for your language: https://www.gnu.org/software/g >> ettext/manual/gettext.html#Plural-forms >> >> Once you do that, try msgmerge xx.po audacity.pot and see that you get >> lines like >> >> msgstr[0] >> msgstr[1] >> >> etc. to be filled in. >> >> Finally, there were some other languages that were brought up to date for >> version 2.2.1. I hope those translators are reading this and can keep >> these others up-to-date for 2.2.2 too: >> >> Arabic >> Basque (Spain) >> Chinese (Traditional) >> Czech >> Dutch >> Hindi >> Italian >> Polish >> Portuguese (Brazilian) >> Slovenian >> >> And languages not on this list are surely welcome too. >> >> PRL >> >> >> >> -- >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> ___ >> Audacity-translation mailing list >> Audacity-translation@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/audacity-translation >> >> > > -- > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > ___ > Audacity-translation mailing list > Audacity-translation@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/audacity-translation > > -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ Audacity-translation mailing list Audacity-translation@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/audacity-translation
Re: [Audacity-translation] I am merging your translation updates
It is correct, Paul, there are just two number forms, and I read the gettext manual you sent by that link. By the way, I needed to make some improvements in the Portuguese translation, and need to make sure you test the file again and nothing is wrong by now. Regards. Bruno 2018-01-24 2:37 GMT+00:00 Paul Licameli: > Bruno, I think nothing is really wrong with pt_PT.po. I examined it and > all msgid_plural entries appear to be filled in properly. > > poedit was simply making a warning when I opened the file, about the > header information and not about any particular entry, and I explained why > the warning is probably wrong. > > Portuguese is like English and most Western European languages -- there > are only two number forms, singular and plural. Correct? > > PRL > > > On Tue, Jan 23, 2018 at 6:00 PM, Bruno Ramalhete > wrote: > >> Hi Paul, >> >> I am trying to fix the plural issues. Can you tell me in which lines do >> you see the warnings? I am trying to search. >> >> I must make some improvements and send you the file again. >> >> Regards. >> Bruno >> >> >> >> Em 23/01/2018 01:08, "Paul Licameli" escreveu: >> >>> I am now looking at updated .po files for Audacity version 2.2.2. >>> >>> I am aware of updates for these -- please alert me if I missed any. >>> >>> Some of these are still missing a few entries from the latest version of >>> Audacity.pot. Some give me a warning when I open them in poedit that the >>> Plural-Forms header line is unusual for that language. >>> >>> Basque >>> Chinese (Simplified) (missing 34) >>> Danish (missing 10) >>> French >>> German >>> Greek >>> Korean >>> Portuguese (European) (plurals) >>> Spanish >>> Swedish >>> Turkish (10 missing; plurals) >>> Ukrainian (plurals) >>> >>> I will soon put all these updates into GitHub, as complete or nearly >>> so. If you still want to make small corrections, it is not too late. >>> >>> See this reference for how to correct the Plural-Forms, and what might >>> be correct for your language: https://www.gnu.org/software/g >>> ettext/manual/gettext.html#Plural-forms >>> >>> Once you do that, try msgmerge xx.po audacity.pot and see that you get >>> lines like >>> >>> msgstr[0] >>> msgstr[1] >>> >>> etc. to be filled in. >>> >>> Finally, there were some other languages that were brought up to date >>> for version 2.2.1. I hope those translators are reading this and can keep >>> these others up-to-date for 2.2.2 too: >>> >>> Arabic >>> Basque (Spain) >>> Chinese (Traditional) >>> Czech >>> Dutch >>> Hindi >>> Italian >>> Polish >>> Portuguese (Brazilian) >>> Slovenian >>> >>> And languages not on this list are surely welcome too. >>> >>> PRL >>> >>> >>> >>> -- >>> Check out the vibrant tech community on one of the world's most >>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >>> ___ >>> Audacity-translation mailing list >>> Audacity-translation@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/audacity-translation >>> >>> >> >> -- >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> ___ >> Audacity-translation mailing list >> Audacity-translation@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/audacity-translation >> >> > > > -- > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > ___ > Audacity-translation mailing list > Audacity-translation@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/audacity-translation > > -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ Audacity-translation mailing list Audacity-translation@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/audacity-translation
Re: [Audacity-translation] Correcting the Plural-forms directive for Portuguese, Turkish, Ukrainian
I just opened all the .po files in poedit, not just those recently updated. Some of the .po files (Macedonian for one) don't even define Plural-Forms. Among those that do, the only other ones for which poedit warns about unusual plural forms are: Bosnian, Croation, Slovenian, Polish, Russian. No warnings for these other Slavic languages that do define it: Belarussian, Czech, Slovak, Serbian (Latin), Serbian (Cyrillic). A close look shows that those that warn do what Yuri did for Ukrainian, using four forms, which he convinced me is really better, but those that do not warn use only three forms, and perhaps they should be changed if we get more updates. Pavel Fric gave a Czech update only last November. There is also Bulgarian, with no warnings, but I understand that one doesn't decline nouns and has simpler number rules. PRL On Tue, Jan 23, 2018 at 1:48 PM, Yuri Chornoivanwrote: > вівторок, 23 січня 2018 р. 20:12:55 EET Paul Licameli написано: > > Finally Ukrainian. gettext documentation says this: > > > > "Three forms, special cases for numbers ending in 1 and 2, 3, 4, except > > those ending in 1[1-4] The header entry would look like this: > > > > Plural-Forms: nplurals=3; \ > > plural=n%10==1 && n%100!=11 ? 0 : \ > >n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; > > Languages with this property include: > > > > Slavic family > > Russian, Ukrainian, Belarusian, Serbian, Croatian" > > > > That expression means you map a number to a place in the msgstr[] table > > thus: return 0 for 1, 21, 31, ... > > return 1 for 2, 3, 4, 22, 23, 24, 32, 33, 34, ... > > return 2 for 5 through 20, 25 through 30, 35 through 40, ... > > (and similarly for each century) > > > > From what I know of Russian, the first case is where you use nominative > > singular, the second genitive singular, the last, genitive plural. > (Unless > > the noun phrase as a whole is in an oblique case, not nominative.) > > > > Is it correct that Ukrainian has identical rules? But uk.po has this > > instead: > > > > "Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : > n" > > > > In other words: > > return 0 for 21, 31, ... > > return 1 in no case > > return 2 for 2 > > return 3 for 1 and 3 > > For all other numbers, return out-of-bounds! This can't be right. > > Actually, it was read in a wrong way. > > Let's see. The whole header of the file from PR says: > > "Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" > "%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" > > which means > > Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : > n%10>=2 > && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" > > or in human readable form: > > 3rd form for n=1 > 0th form for (n div 10=1) and (n div 100 not equal 11) or simpler "21, > 31..." > 1st form for 2, 3, 4, 22, 23 , 24... > 2nd form for 5, 6, 7, 8... > > As you can see, it is the same as CLDR form for all cases, but the case > n=1. > > You might be asking _why on Earth!!!?_ Can it be simpler? > > Heh... The standard form works only for the messages with a replacer. > > Consider the examples from gettext man (the same thing holds true for > wxWidgets too): > > https://www.gnu.org/savannah-checkouts/gnu/gettext/manual/ > html_node/Plural-forms.html > > 1. > > ngettext ("%d file removed", "%d files removed", n) > > Perfect. The standard form works just fine. %d is replaced by the number > and > all 3 standard forms fit. > > 2. > > ngettext ("One file removed", "%d files removed", n) > > Trouble. The form 0 for Slavic languages is for 1, 21, 31... But in words > they > are not "One", they are "One, Twenty-one..." Such plurals cannot be > translated > in Transifex at all. The validity check refuses any Slavic langauge > translation (see the translation of Transifex itself). > > If you translate > > "One file removed" > "%d files removed" > "%d files removed" > > the validation will be failed because the first form (0th case) does not > contain enough cases to be split into "1, 21, 31..." > > If you translate > > "%d file removed" > "%d files removed" > "%d files removed" > > the validation will be failed because there is "%d" in the first case, but > the > checker thinks there should not be any replacer... > > 3. > > ngettext ("Delete the selected file?", > "Delete the selected files?", n) > > Fail. Without number (replacer), there are only two plural forms in the > Slavic > languages: "one" and "many". But the 0th rule in the standard (CLDR) > combines > "one" and "many". They should be split to give the correct translation. > > That's why Russian, Serbian and Ukrainian KDE and GNOME teams use the > plural > rules with 4 forms (n=1 is separated in its own case). > > Hope this helps to understand the current header of Audacity file. > > Thanks for your work. > > Best regards, > Yuri > > > -- >
Re: [Audacity-translation] Correcting the Plural-forms directive for Portuguese, Turkish, Ukrainian
I saw that in English there weren't some & characters and I removed that for Portuguese, and some others have. Now I have to see where the & is needed, now I can't remember. I'll see. Bruno 2018-01-24 2:51 GMT+00:00 Paul Licameli: > Ah, our messages crossed. > > I see that you changed n > 1 to n != 1 in the header. That makes a > difference only when n == 0. Should zero take singular or plural? poedit > most think that plural is the covention of most western European languages, > including European Portuguese. But I see the .po files for French and > Brazilian Portuguese still have n > 1 and poedit does not warn. Are those > in fact the exceptions? > > I also see many other corrections of spelling and wording not related to > that. > > This file is still 100% complete. msgcmp pt_PT.po audacity.pot makes no > errors. > > I notice you remove some & characters, which as you must know, are not > displayed but determine where underscores (on Windows) are placed under > letters, to mark accelerators. It's not wrong, but are you sure you want > to remove those accelerators? > > I can merge these corrections while I wait for the answer to that. > > PRL > > > > > On Tue, Jan 23, 2018 at 9:37 PM, Bruno Ramalhete > wrote: > >> I made some improvements in the Portuguese po file. >> Now the warning has gone, can you see if it is all right now? >> >> I made some changes and I use better words from previous translations. >> >> I send you the updated po file here. >> >> Best regards. >> Bruno >> >> 2018-01-23 18:12 GMT+00:00 Paul Licameli : >> >>> Attention, Bruno, Kaya, and Yuri, >>> >>> As I previously mentioned, poedit warns me that your .po files had the >>> Plural-Forms directive in the header set unusually for your languages. >>> >>> There is a discussion of plural forms here: >>> https://www.gnu.org/software/gettext/manual/gettext.html#Plural-forms >>> >>> For Portuguese, I think poedit just gives a false warning. The file has >>> this directive: >>> "Plural-Forms: nplurals=2; plural=(n > 1);\n" >>> >>> That is appropriate with a language like English with a distinction of >>> one and more-than-one, and according to the gettext documentation, >>> Portuguese is like that. (And pt_BR.po has the same directive too.) >>> >>> Turkish is also like that, but the file has: >>> "Plural-Forms: nplurals=1; plural=0;\n" >>> >>> That line works for a language with no number distinctions like >>> Chinese. The gettext documentation explains that Turkish does not change >>> noun forms when they occur after a numeral, but there are some examples in >>> audacity.pot that are not like that. For instance: >>> >>> #: src/PluginManager.cpp >>> msgid "Enable this plug-in?" >>> msgid_plural "Enable these plug-ins?" >>> msgstr[0] "Bu uygulama ekleri etkinleştirilsin mi?" >>> >>> Should there be a msgstr[1] with a Turkish plural form? The tr.po >>> header must be edited so that msgmerge with audacity.pot will then make the >>> msgstr[1] for you to fill in. >>> >>> Finally Ukrainian. gettext documentation says this: >>> >>> "Three forms, special cases for numbers ending in 1 and 2, 3, 4, except >>> those ending in 1[1-4] >>> The header entry would look like this: >>> >>> Plural-Forms: nplurals=3; \ >>> plural=n%10==1 && n%100!=11 ? 0 : \ >>>n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; >>> Languages with this property include: >>> >>> Slavic family >>> Russian, Ukrainian, Belarusian, Serbian, Croatian" >>> >>> That expression means you map a number to a place in the msgstr[] table >>> thus: >>> return 0 for 1, 21, 31, ... >>> return 1 for 2, 3, 4, 22, 23, 24, 32, 33, 34, ... >>> return 2 for 5 through 20, 25 through 30, 35 through 40, ... >>> (and similarly for each century) >>> >>> From what I know of Russian, the first case is where you use nominative >>> singular, the second genitive singular, the last, genitive plural. (Unless >>> the noun phrase as a whole is in an oblique case, not nominative.) >>> >>> Is it correct that Ukrainian has identical rules? But uk.po has this >>> instead: >>> >>> "Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : >>> n" >>> >>> In other words: >>> return 0 for 21, 31, ... >>> return 1 in no case >>> return 2 for 2 >>> return 3 for 1 and 3 >>> For all other numbers, return out-of-bounds! This can't be right. >>> >>> For all these languages, tell me you think your Plural-Forms is really >>> correct, despite the references above, and I will ignore the warning from >>> poedit. Or else, you still have opportunity to fix it. There are not very >>> many uses yet of msgid_plural -- only 6. But I hope to make more >>> consistent use of it in future. There may be places where it should be >>> used but isn't. >>> >>> Or if it's only the one header line that needs correction, I can fix >>> that by hand. >>> >>> PRL >>> >>> >>>
[Audacity-translation] Correcting the Plural-forms directive for Portuguese, Turkish, Ukrainian
Attention, Bruno, Kaya, and Yuri, As I previously mentioned, poedit warns me that your .po files had the Plural-Forms directive in the header set unusually for your languages. There is a discussion of plural forms here: https://www.gnu.org/software/gettext/manual/gettext.html#Plural-forms For Portuguese, I think poedit just gives a false warning. The file has this directive: "Plural-Forms: nplurals=2; plural=(n > 1);\n" That is appropriate with a language like English with a distinction of one and more-than-one, and according to the gettext documentation, Portuguese is like that. (And pt_BR.po has the same directive too.) Turkish is also like that, but the file has: "Plural-Forms: nplurals=1; plural=0;\n" That line works for a language with no number distinctions like Chinese. The gettext documentation explains that Turkish does not change noun forms when they occur after a numeral, but there are some examples in audacity.pot that are not like that. For instance: #: src/PluginManager.cpp msgid "Enable this plug-in?" msgid_plural "Enable these plug-ins?" msgstr[0] "Bu uygulama ekleri etkinleştirilsin mi?" Should there be a msgstr[1] with a Turkish plural form? The tr.po header must be edited so that msgmerge with audacity.pot will then make the msgstr[1] for you to fill in. Finally Ukrainian. gettext documentation says this: "Three forms, special cases for numbers ending in 1 and 2, 3, 4, except those ending in 1[1-4] The header entry would look like this: Plural-Forms: nplurals=3; \ plural=n%10==1 && n%100!=11 ? 0 : \ n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; Languages with this property include: Slavic family Russian, Ukrainian, Belarusian, Serbian, Croatian" That expression means you map a number to a place in the msgstr[] table thus: return 0 for 1, 21, 31, ... return 1 for 2, 3, 4, 22, 23, 24, 32, 33, 34, ... return 2 for 5 through 20, 25 through 30, 35 through 40, ... (and similarly for each century) >From what I know of Russian, the first case is where you use nominative singular, the second genitive singular, the last, genitive plural. (Unless the noun phrase as a whole is in an oblique case, not nominative.) Is it correct that Ukrainian has identical rules? But uk.po has this instead: "Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" In other words: return 0 for 21, 31, ... return 1 in no case return 2 for 2 return 3 for 1 and 3 For all other numbers, return out-of-bounds! This can't be right. For all these languages, tell me you think your Plural-Forms is really correct, despite the references above, and I will ignore the warning from poedit. Or else, you still have opportunity to fix it. There are not very many uses yet of msgid_plural -- only 6. But I hope to make more consistent use of it in future. There may be places where it should be used but isn't. Or if it's only the one header line that needs correction, I can fix that by hand. PRL -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ Audacity-translation mailing list Audacity-translation@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/audacity-translation
Re: [Audacity-translation] Audacity-translation Digest, Vol 128, Issue 30
Paul you're right. There are plural suffixes and there is some nuance, but we can neglect it. As your example, if dialog asks to us: "Enable these plug-ins" (plural) and if there is only one plug-in in the list below (singular) it's still acceptable and not ear splitting. I use same approach on my other translations (around 200 project) and test on apps that I use daily. Seems ok for me. On the other hand, if it's necessary I can easily modify the translation as you pointed out. But in that case -if I understand right- we should forget to use Transifex anymore. I'm not so willing to do that. Thanks for your effort Kaya > -- Saygılarımla, Kaya Zeren -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ Audacity-translation mailing list Audacity-translation@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/audacity-translation
Re: [Audacity-translation] I am merging your translation updates
Update: I have seen the small updates for Simplified Chinese, Danish, and Turkish since I wrote this. That brings all twelve languages in the first list below 100% up to date. Thanks for the updates. I took the Turkish from Transifex. I see it is done by the same party who also posts to this mailing list. The Turkish, however, still causes a warning when I open it with poedit, that plural forms are not specified in the usual way for that language. PRL On Mon, Jan 22, 2018 at 8:08 PM, Paul Licameliwrote: > I am now looking at updated .po files for Audacity version 2.2.2. > > I am aware of updates for these -- please alert me if I missed any. > > Some of these are still missing a few entries from the latest version of > Audacity.pot. Some give me a warning when I open them in poedit that the > Plural-Forms header line is unusual for that language. > > Basque > Chinese (Simplified) (missing 34) > Danish (missing 10) > French > German > Greek > Korean > Portuguese (European) (plurals) > Spanish > Swedish > Turkish (10 missing; plurals) > Ukrainian (plurals) > > I will soon put all these updates into GitHub, as complete or nearly so. > If you still want to make small corrections, it is not too late. > > See this reference for how to correct the Plural-Forms, and what might be > correct for your language: https://www.gnu.org/software/ > gettext/manual/gettext.html#Plural-forms > > Once you do that, try msgmerge xx.po audacity.pot and see that you get > lines like > > msgstr[0] > msgstr[1] > > etc. to be filled in. > > Finally, there were some other languages that were brought up to date for > version 2.2.1. I hope those translators are reading this and can keep > these others up-to-date for 2.2.2 too: > > Arabic > Basque (Spain) > Chinese (Traditional) > Czech > Dutch > Hindi > Italian > Polish > Portuguese (Brazilian) > Slovenian > > And languages not on this list are surely welcome too. > > PRL > > -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ Audacity-translation mailing list Audacity-translation@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/audacity-translation
Re: [Audacity-translation] I am merging your translation updates
On Tue, Jan 23, 2018 at 12:48 PM, Yuri Chornoivanwrote: > вівторок, 23 січня 2018 р. 19:10:57 EET Paul Licameli написано: > > Some of these are still missing a few entries from the latest version of > > Audacity.pot. Some give me a warning when I open them in poedit that the > > Plural-Forms header line is unusual for that language. > > Ukrainian (plurals) > > Hi, > > If it is not hard to do, please use the file from PR. Please do not use the > application like poEdit to test Ukrainian translation. > > poEdit, Qt Linguist, Transifex, Pootle and some other tools have hard-coded > plural forms for each language. These forms are in accordance with CLDR > (official Unicode) but are not always suitable for software translations > (if > you need it, I can explain everything thoroughly with examples from gettext > man). > > The plural forms from the file attached (the same as in PR) are correct > (just > one additional case for n==1). This can be verified by "msgfmt -vc" from > gettext utils. > > If you still do not want to use this file, please use the Transifex > flavour... > > Thanks in advance for your work. > > Best regards, > Yuri > Yuri, Our messages crossed. See my other recent email about plurals. I did download your pull request and will soon push that change to Github, rebased onto more recent HEAD. The existing Plural-Forms in the header for uk.po (both the PR and your last attachment, and also in the 2.2.1 version of it) are all the same, and as I explained in the other email, all incorrect because they map some numbers outside the range of 0, ... 3. What was the source of that directive? Something must be done to fix it. PRL > - - > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > ___ > Audacity-translation mailing list > Audacity-translation@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/audacity-translation > > -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ Audacity-translation mailing list Audacity-translation@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/audacity-translation
Re: [Audacity-translation] Correcting the Plural-forms directive for Portuguese, Turkish, Ukrainian
вівторок, 23 січня 2018 р. 20:12:55 EET Paul Licameli написано: > Finally Ukrainian. gettext documentation says this: > > "Three forms, special cases for numbers ending in 1 and 2, 3, 4, except > those ending in 1[1-4] The header entry would look like this: > > Plural-Forms: nplurals=3; \ > plural=n%10==1 && n%100!=11 ? 0 : \ >n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; > Languages with this property include: > > Slavic family > Russian, Ukrainian, Belarusian, Serbian, Croatian" > > That expression means you map a number to a place in the msgstr[] table > thus: return 0 for 1, 21, 31, ... > return 1 for 2, 3, 4, 22, 23, 24, 32, 33, 34, ... > return 2 for 5 through 20, 25 through 30, 35 through 40, ... > (and similarly for each century) > > From what I know of Russian, the first case is where you use nominative > singular, the second genitive singular, the last, genitive plural. (Unless > the noun phrase as a whole is in an oblique case, not nominative.) > > Is it correct that Ukrainian has identical rules? But uk.po has this > instead: > > "Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" > > In other words: > return 0 for 21, 31, ... > return 1 in no case > return 2 for 2 > return 3 for 1 and 3 > For all other numbers, return out-of-bounds! This can't be right. Actually, it was read in a wrong way. Let's see. The whole header of the file from PR says: "Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" "%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" which means Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" or in human readable form: 3rd form for n=1 0th form for (n div 10=1) and (n div 100 not equal 11) or simpler "21, 31..." 1st form for 2, 3, 4, 22, 23 , 24... 2nd form for 5, 6, 7, 8... As you can see, it is the same as CLDR form for all cases, but the case n=1. You might be asking _why on Earth!!!?_ Can it be simpler? Heh... The standard form works only for the messages with a replacer. Consider the examples from gettext man (the same thing holds true for wxWidgets too): https://www.gnu.org/savannah-checkouts/gnu/gettext/manual/html_node/Plural-forms.html 1. ngettext ("%d file removed", "%d files removed", n) Perfect. The standard form works just fine. %d is replaced by the number and all 3 standard forms fit. 2. ngettext ("One file removed", "%d files removed", n) Trouble. The form 0 for Slavic languages is for 1, 21, 31... But in words they are not "One", they are "One, Twenty-one..." Such plurals cannot be translated in Transifex at all. The validity check refuses any Slavic langauge translation (see the translation of Transifex itself). If you translate "One file removed" "%d files removed" "%d files removed" the validation will be failed because the first form (0th case) does not contain enough cases to be split into "1, 21, 31..." If you translate "%d file removed" "%d files removed" "%d files removed" the validation will be failed because there is "%d" in the first case, but the checker thinks there should not be any replacer... 3. ngettext ("Delete the selected file?", "Delete the selected files?", n) Fail. Without number (replacer), there are only two plural forms in the Slavic languages: "one" and "many". But the 0th rule in the standard (CLDR) combines "one" and "many". They should be split to give the correct translation. That's why Russian, Serbian and Ukrainian KDE and GNOME teams use the plural rules with 4 forms (n=1 is separated in its own case). Hope this helps to understand the current header of Audacity file. Thanks for your work. Best regards, Yuri -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Audacity-translation mailing list Audacity-translation@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/audacity-translation
Re: [Audacity-translation] Audacity-translation Digest, Vol 128, Issue 27
Sorry I just saw the messages and couldn't get if I change something. Plural form for Turkish is: nplurals=1; plural=0; We use singular phrases for plural in Turkish. Thanks Kaya 23 Oca 2018 Sal, 20:48 tarihinde < audacity-translation-requ...@lists.sourceforge.net> şunu yazdı: > Send Audacity-translation mailing list submissions to > audacity-translation@lists.sourceforge.net > > To subscribe or unsubscribe via the World Wide Web, visit > https://lists.sourceforge.net/lists/listinfo/audacity-translation > or, via email, send a message with subject or body 'help' to > audacity-translation-requ...@lists.sourceforge.net > > You can reach the person managing the list at > audacity-translation-ow...@lists.sourceforge.net > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Audacity-translation digest..." > > > Today's Topics: > >1. Re: I am merging your translation updates (Paul Licameli) >2. Re: I am merging your translation updates (Yuri Chornoivan) > > > -- > > Message: 1 > Date: Tue, 23 Jan 2018 12:10:57 -0500 > From: Paul Licameli> To: audacity-translation > Subject: Re: [Audacity-translation] I am merging your translation > updates > Message-ID: > < > cakug33p6xmdjg9ox_6dqraeu8do0npz_hnc-vy+j1nxh6yx...@mail.gmail.com> > Content-Type: text/plain; charset="utf-8" > > Update: I have seen the small updates for Simplified Chinese, Danish, and > Turkish since I wrote this. That brings all twelve languages in the first > list below 100% up to date. Thanks for the updates. > > I took the Turkish from Transifex. I see it is done by the same party who > also posts to this mailing list. > > The Turkish, however, still causes a warning when I open it with poedit, > that plural forms are not specified in the usual way for that language. > > PRL > > > > On Mon, Jan 22, 2018 at 8:08 PM, Paul Licameli > wrote: > > > I am now looking at updated .po files for Audacity version 2.2.2. > > > > I am aware of updates for these -- please alert me if I missed any. > > > > Some of these are still missing a few entries from the latest version of > > Audacity.pot. Some give me a warning when I open them in poedit that the > > Plural-Forms header line is unusual for that language. > > > > Basque > > Chinese (Simplified) (missing 34) > > Danish (missing 10) > > French > > German > > Greek > > Korean > > Portuguese (European) (plurals) > > Spanish > > Swedish > > Turkish (10 missing; plurals) > > Ukrainian (plurals) > > > > I will soon put all these updates into GitHub, as complete or nearly so. > > If you still want to make small corrections, it is not too late. > > > > See this reference for how to correct the Plural-Forms, and what might be > > correct for your language: https://www.gnu.org/software/ > > gettext/manual/gettext.html#Plural-forms > > > > Once you do that, try msgmerge xx.po audacity.pot and see that you get > > lines like > > > > msgstr[0] > > msgstr[1] > > > > etc. to be filled in. > > > > Finally, there were some other languages that were brought up to date for > > version 2.2.1. I hope those translators are reading this and can keep > > these others up-to-date for 2.2.2 too: > > > > Arabic > > Basque (Spain) > > Chinese (Traditional) > > Czech > > Dutch > > Hindi > > Italian > > Polish > > Portuguese (Brazilian) > > Slovenian > > > > And languages not on this list are surely welcome too. > > > > PRL > > > > > -- next part -- > An HTML attachment was scrubbed... > > -- > > Message: 2 > Date: Tue, 23 Jan 2018 19:48:41 +0200 > From: Yuri Chornoivan > To: audacity-translation@lists.sourceforge.net > Subject: Re: [Audacity-translation] I am merging your translation > updates > Message-ID: <2433412.zTPHVFxuPq@localhost.localdomain> > Content-Type: text/plain; charset="utf-8" > > , 23 ? 2018 ?. 19:10:57 EET Paul Licameli : > > Some of these are still missing a few entries from the latest version of > > Audacity.pot. Some give me a warning when I open them in poedit that the > > Plural-Forms header line is unusual for that language. > > Ukrainian (plurals) > > Hi, > > If it is not hard to do, please use the file from PR. Please do not use the > application like poEdit to test Ukrainian translation. > > poEdit, Qt Linguist, Transifex, Pootle and some other tools have hard-coded > plural forms for each language. These forms are in accordance with CLDR > (official Unicode) but are not always suitable for software translations > (if > you need it, I can explain everything thoroughly with examples from gettext > man). > > The plural forms from the file attached (the same as in PR) are correct > (just > one additional case for n==1). This can be verified by
[Audacity-translation] Put updated translations on github
Could someone put the newest translations on github so i can double check my translation is correct? -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Audacity-translation mailing list Audacity-translation@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/audacity-translation
Re: [Audacity-translation] Put updated translations on github
Den 23-01-2018 kl. 22:47 skrev Paul Licameli: Now! See commit 02caea1b8ae24dbccada1a04c12240feec53cf00 PRL Thanks. Looks fine for danish translation at least. Someone forgot to update the "Project-Id-Version: audacity 2.2.0\n" in the pot file. Perhaps remove the " 2.2.0" part from the pot file? Not that its super important its just a little confusing when i have "2.2.2" in the translated po file and i want to update it with a pot file that have "2.2.0". -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Audacity-translation mailing list Audacity-translation@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/audacity-translation