Jump to content

Translating administration – language question for all users


Adam Kiss
 Share

Recommended Posts

Hi all,

there has been few requests as I recall for translation of administration. And since I've been always interested for these things, few language differences come to my mind it has to solve in future (just from top of my mind):

  • different words in different contexts – english has just one word in multiple contexts – e.g. page – 'Page was created' and 'user has created a page' are using the same word 'page', some languages don't
  • different language when counting – english has just one page and multiple pages. some languages have more option, e.g. slovak language (my 'mother tongue') has different words for one, then two to four and then for 5 and more pages

So, I'm interested about hearing what other differences may come to your mind and also what languages you speak and how are they dealing with these situations.

Adam

Link to comment
Share on other sites

I'm interested too. I didn't realize some of the language variations you mentioned. How do other CMSs do it in Slovak? Especially the issue you mentioned about different words depending on number of pages (1, 2-4, 5+)?

Link to comment
Share on other sites

I don't know – I don't remember giving our clients full access in the past, so I never really tried to use slovak language in my administration. Also, not many open source projects (not even commercial, though) try to use the human language – full sentences with some information for end user.

Most of CMS do take the engineer way – you know, saying stuff like 'Page with ID 756 was created on 2011-07-02 12:45' instead of something like 'You just created a new page!'

Link to comment
Share on other sites

I'm starting to see why many CMSs take the icon approach too. Personally, I am not a fan of icons... 80% of the time, I have no idea what an icon is for in an application, even if it is pretty. And once I figure it out, I can't ever seem to remember what a given icon is for either... But I think part of that is just growing up with MS DOS rather than a Mac. :) I don't know what I'd do without tool tips.

Link to comment
Share on other sites

Great topic Adam. In Finnish we can easily have few thousand versions of the same word. See example these 2253 versiions of word "kauppa" (shop): http://www.ling.helsinki.fi/~fkarlsso/genkau2.html

So it is pretty much same thing here than it is at Slovak I guess. No easy solutions. Complete phrases or some dummy language.

Page was created: Sivu luotiin.

User has created a page: Käyttäjä loi sivun.

Page cannot be saved: Sivua ei voitu tallentaa.

You can bring more content to a page: Voit tuoda lisää sisältöä sivulle.

On the other way things can be said in many different ways, but usually if we need to use basic form of the word, it ends up sounding dummy. I think important thing is that if there is some thing in phrase that can be different every time (let's say page name), then that it could be in different place also in different language.

Poor example, but:

English:

printf('You saved page %s succesfully', $pagename)

Finnish:

printf('Tallensit onnistuneesti sivun %s', $pagename)
Link to comment
Share on other sites

...except the fun starts when you need to say 'you saved %i pages' – there kicks in different 'amount forms' :)

Is there any way to bring it down somehow in finnish?

That is in Finnish actually simple, since we have same plural if the context is same. But many other cases it's not, and then we end up saying something like this (this is what I call dummy language):

You saved multiple pages (4).

OT: Heh, that is cool. Stina is a girl's name here.

Link to comment
Share on other sites

in italian we have two words for counting, just one singular and one plural and in some situations we use the same word in different context like english does but sometimes english doesn't use 'the' or 'a' before the word ex.: 'page was created', in italian the correct would be 'the page was created'

O.T.: hey Adam, starting from April i'll live in Bratislava  ;D You live there?

Link to comment
Share on other sites

Yep articles are an issue in italian, you can rarely omit them and there are six forms for "the": il, lo [m, s]; la [f; s]; i, gli [m, p]; le [f, p]; and three for "a": un, uno [m]; una [f].

You pick the proper masculine form depending on the word that follows.

Also, you can have elision with an apostrophe when the article ends with a vowel and the following word starts with a vowel (the user = l'utente).

Moreover, they combine with prepositions: so while "of" is "di", "of the" can be "del, dello; della; dei, degli; delle".

In general, this applies to Italian too:

No easy solutions. Complete phrases or some dummy language.

Single words substitutions are hard because of order and syntax variations depending on the context, and concordance issues.

There's no neuter, only masculine and feminine, and articles, adjectives, and participles have to be adjusted for gender and singular/plural.

"A new page has been created" -> "Una nuova pagina è stata creata"

"A new user account has been created" -> "Un nuovo utente è stato creato"

Being a romance language, verbs conjugations are also tricky, with suffixes that always change for person, tense and mood, following three different schemes with many adjustments and exceptions.

I eat -> io mangio; I ate -> io mangiai; you ate -> tu mangiasti

I see -> io vedo; I saw -> io vidi; you saw -> tu vedesti

I sleep -> io dormo; I slept -> io dormii; you slept -> tu dormisti

Oh, btw, hello to everybody in this forum =)

Link to comment
Share on other sites

Abu,

Thanks for your post... this is really good info, and I'm impressed by your understanding of the language differences. I don't have a good understanding of these issues, so this is very helpful.

You'll be glad to know we're not planning to handle translations on a word-by-word basis, but rather as entire blocks/phrases. So there would be a block for "a new page has been created", and the translator will be free to re-word that in any way they see fit.

Want to help with the Italian translation sometime in the future? :)

Thanks,

Ryan

Link to comment
Share on other sites

Thanks Abu, that would be great. We're still a little ways off from having multi language capability in the admin, but it is one of the high priorities on the roadmap, so hopefully we can tackle this soon. 

Link to comment
Share on other sites

Why not make the script have variables : ( $language[181]  or M_BACK so that there are different language files with defines, you ask php to include your language file.  This will make it easier for any of us to translate PW since we would be translating full sentences instead of word by word.  This also solves some things like changing the wording on the admin as we might please (by modifying the language file) or even using icons where/if we want.

Making this a requirement for modules also means that they will be easily translateable as well.

Link to comment
Share on other sites

I've been looking more and more into the multilanguage (internationalization and localization) capability here. There are two parts to it:

1. Predefined languages for the admin control panel

2. Built-in user defined multilanguage capabilities for sites

Number 2 is broader in scope than 1, but it's also something that can be handled at the API level any number of ways. I know Adam and others have been doing this already. Whereas number 1 is something that can't be changed without it being built into the product itself.

As a result, number 1 has the priority in the short term, and is actually the next item up on the roadmap. I haven't yet determined what approach we'll take, but am slightly leaning towards structuring it around GNU Gettext, since it's built into PHP and has a track record with other CMSs. That would make the translation process for each language roughly like that of WordPress: http://codex.wordpress.org/Translating_WordPress

It would also make the module/plugin implementation of it roughly like WordPress:

http://codex.wordpress.org/I18n_for_WordPress_Developers

I'm curious what others experience has been with other CMSs with installing and/or translating with different languages? What solutions have you seen that you like, and what have you seen that you didn't like?

Thanks,

Ryan

Link to comment
Share on other sites

  • 2 weeks later...

Hi everyone,

I agree, entire blocks is the only solution - Polish is also quite complicated ;)

Utworzyłeś stronę -> Page was created

Strona nie może być zapisana -> Page cannot be saved

Zapisano 2 strony -> Two pages were saved

Zapisano 5 stron -> Five pages were saved

..and I'd be glad to create polish translation!

Link to comment
Share on other sites

Thanks Marcin! That's great -- I'll be glad to take you up on that. In about a month or so I hope to have a separate dev branch that includes the multi language support (at least the basics).

Link to comment
Share on other sites

Not yet positive about the actual format of the file, but the two you mentioned are likely candidates. Though the files may end up being used just for importing/exporting, and DB used for storage. Regardless of the file format, we're going to make them editable in the admin so that the format won't matter too much.

Link to comment
Share on other sites

  • 1 month later...

Hey, I'm new on this forum. I installed PW a couple of days ago and I like it! Very elegant and zen-like approach. Thank you Ryan! It seems like a lot of effort and background experience have been put into your cms.

I'm just a wanna be freelance web developer from Russia looking for a flexible and lightweight cms that can help me start developing websites really fast :)

I hope these links about i18n and numerals will be helpful:

http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html - Language Plural Rules

http://cldr.unicode.org/ - Unicode Common Locale Data Repository

http://www.yiiframework.com/doc/guide/1.1/en/topics.i18n - here is how it works in Yii

http://bit.ly/m2OiXe - simple snippet for MODX cms using PHx for Russian language (google translate)

I can't stress enough how important it is for Processwire to have multilanguage support. Because otherwise you just lose potentially huge community of non-Engish-speaking developers. Just check out Russian lounge on MODX forums and see how active the community is. About 92000 posts!!! I think i18n and l10n has to be a top priority on your roadmap))) I would be happy to help with translation in Russian.

Thank you for your great cms again!

Link to comment
Share on other sites

Slkwrm, thanks for these links. I took a brief look and these look very helpful. You'll be glad to know that multilanguage support is scheduled as the main drive behind ProcessWire 2.2, being developed this summer. I'm not an expert with i18n and l10n (yet), so I'm doing a lot of reading and links like those you posted are very helpful and I will be reviewing them in more detail. Likewise, having people around here that are well versed in this stuff is really helpful too, so please stick around. :) We will need all the help we can get with regard to testing, translating, etc.

Link to comment
Share on other sites

Hi, sorry for not replying sooner.

It's really nice to hear you scheduled it!!! I hope Proceswire will gain more attention in the nearest future. Unfortunately, I'm not an expert in i18n and l10n either, just learning the whole black art of making websites.

I know it's a little bit off topic but what's your plans about bugtracking system, more condenced cheatsheet-like api-reference, maybe cummunity-supported knowledge base wiki. I understand, for now it's maybe not on your list, just asking)))

Link to comment
Share on other sites

Currently we are using the bugtracking system provided by GitHub. I've been happy with it so far. But we're always open to suggestions if anyone thinks another system would be better.

I like the idea of an API cheat sheet reference like you mentioned. I've got a 1-page VIM cheat sheet tacked on my wall. Might need something like this for ProcessWire.

As for community-supported knowledge base wiki, I like the idea of this. I think we'll pursue it as soon as there is demand and a perceived need for it. I think this might be especially useful in maintaining documentation for 3rd party modules.

Link to comment
Share on other sites

HI all!

I found Processwire very recently, and I really like the concept behind it.

I'm from Portugal and would like to help with the Portuguese translation. I agree that it would be much easier and friendly if we have complete sentences. The Portuguese language also raises some issues, but taking the example from Marcin I can see it might be less complicated than Polish :)

A página foi criada -> Page was created

A página não pôde ser salva -> Page cannot be saved

Foram salvas duas páginas -> Two pages were saved

Foram salvas cinco páginas -> Five pages were saved

One major issue (but of a different kind) that comes to my mind is if there should be separated translations to European Portuguese and Brazilian Portuguese.

Link to comment
Share on other sites

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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...