namchik Posted September 3, 2010 Posted September 3, 2010 (edited) Hi, LUK Can you plz swap the number and text in phrase: 7 items (3 files; 4 folders) like on screenshot: so it would look like: Items: 7 (files: 3; folders: 4) It is needed to correctly translate the above phrase into Russian. Because in English words in plural usually end on "-s", but in Russian there are several options so only one variant of word ending is not enough... Maybe in some other languages situation is similar and they will support my idea. Thanks. Edited December 9, 2010 by namchik
LIGHTNING UK! Posted September 3, 2010 Posted September 3, 2010 What does explorer say in the status bar when you select 1 item? What does it say when you select 2 items? That's basically what I was trying to copy. I'm interested though... taking ImgBurn as it is now, where would there extra variants come into play? is '2 Files' tanslated differently to '3 Files' ?
namchik Posted September 3, 2010 Author Posted September 3, 2010 (edited) is '2 Files' tanslated differently to '3 Files' ? Yes, you see... let's take the word "file" as an example: in English there's no difference between 2, 3 or 1000 files. The ending will always be "-s". But in Russian 2 to 4 files will have one ending, 5-20 files will have another ending, 21 another one, 22-24 another again, 25-30 has the ending same as 5-20 and so on... So for Russian language 3 different variants of plural forms are needed. Otherwise it would be non-grammatical. But if we use structure like: Items: xx (files: yy; folders: zz) - it will be correct. Edited September 3, 2010 by namchik
LIGHTNING UK! Posted September 3, 2010 Posted September 3, 2010 Wow, I never would have known that! What a pain to have to change words so frequently. Please tell me they're at least similar?!
namchik Posted September 3, 2010 Author Posted September 3, 2010 Wow, I never would have known that! What a pain to have to change words so frequently. Not a pain at all if it is your native language Please tell me they're at least similar?! the word is the same, only ending (usually last 1-3 letters) differs
khagaroth Posted September 3, 2010 Posted September 3, 2010 There is a lot of languages like that, most have 3 plural forms, but there are some languages that have 4 and one (at least the only I know) has 5 different plural forms. All the languages have different rules for applying the correct plural form. The only translation system that supports this correctly is the gnu gettext that is used by many OSS projects. There is a version for Delphi/C++ builder - dxgettext. The translation files contain a string used to determine the correct plural form, for my language (Czech, and it definitely isn't the most complicated) it looks like this: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" This means that my language has 3 plural forms, one for 1, the second for 2, 3, 4 and the third for 0 and the rest. For strings where there are any plurals, the translation file contains all the variants, ie: msgid "%s file" msgid_plural "%s files" msgstr[0] "%s soubor" msgstr[1] "%s soubory" msgstr[2] "%s souborů" and the correct one is selected at runtime depending on the value of the variable in the string. With the example with files, the translation would be: 0 files - 0 souborů 1 file - 1 soubor 2 (3, 4) files - 2 (3, 4) soubory 5 files - 5 souborů
DimmY Posted September 3, 2010 Posted September 3, 2010 I absolutely agree with namchik. We have discussed this issue before, and we found the only form which would conform to all languages – it's "Parameter: value". In this case "Parameter" remains constant, regardless of value, so no need to worry about the plural form of nouns in different languages.
khagaroth Posted September 3, 2010 Posted September 3, 2010 I agree it's a reasonable workaround. It's also a reason why any guide for preparing a translatable application emphasizes the importance of usage of complete sentences with numbered variables and discourages string fragmentation. After all, different languages have different word order, and the translator should have the ability to reorder all the parts of the string as needed.
LIGHTNING UK! Posted September 29, 2010 Posted September 29, 2010 I've changed that bit of code to use a full sentence. There are about 12 strings for it now (6 for 'Selected', 6 for not selected). The 6 have to cover all the bases (for us English people), so you get: "%1 Item (%2 File, %3 Folders)" - this is just for when there's 1 item (a file) "%1 Item (%2 Files, %3 Folder)" - this is just for when there's 1 item (a folder) "%1 Items (%2 File, %3 Folder)" "%1 Items (%2 File, %3 Folders)" "%1 Items (%2 Files, %3 Folder)" "%1 Items (%2 Files, %3 Folders)" You're now free to just set all those strings to the following if you so wish. "Items: %1 (Files: %2, Folders: %3)"
namchik Posted December 9, 2010 Author Posted December 9, 2010 (edited) Thanks alot, LUK! Just read your reply. (I wonder why I didn't receive any notification) oops))) just noticed the "watch topic" button I guess it would be better "immediate notification" set by default PS. New translation is coming soon Edited December 9, 2010 by namchik
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now