Jump to content

Recommended Posts

Posted (edited)

Hi, LUK

Can you plz swap the number and text in phrase: 7 items (3 files; 4 folders)

like on screenshot:

imb.png

 

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 by namchik
Posted

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' ?

Posted (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 by namchik
Posted

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 :)

Posted

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ů

Posted

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.

Posted

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.

  • 4 weeks later...
Posted

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)"

  • 2 months later...
Posted (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 by namchik

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.