After testing Drupal locally for some time, I'm planning to use it in several projects. They all are German (or multilingual) Websites. Unfortunately, right now, I’m not really happy with the provided German translation:

  • Strings are translated in informal style, yet I need a formal version for my target group. Unfortunately, this is not easy to change, as many strings in the translation use this informal style (i.e. Lies mehr davon instead of the IMO more neutral Weiterlesen). To change that, I need to check every single string.
  • Caused by the modular architecture, some parts are translated, some aren’t. I’m afraid that such a kind of multilingual bastard won’t look very professional …
  • Terms are sometimes used inconsistently: Konfiguration, Optionen, Einstellungen are used as synonyms (they are, but I think one should settle for one term in an interface); some Terms from the original English version are translated (Gewicht (Weight), some aren’t (Throttle). The same goes for capitalization (which is already nasty in the original English version).

So – where’s the patch, you might ask.

I’m willing to provide this formal version, yet I might need some help to do so – I’m confident that I’m able to translate the strings, but I haven’t worked much with these developer tools before. (FYI, I’ll be using KBabel (running with X11) on my Mac OS X Box).

IMHO, it would be ideal if both the formal and informal version would share as much information as possible. Here are my ideas:

  • As far as possible, strings should be translated neutral, i.e. Weiterlesen instead of Lies mehr davon. The neutral version can be used in both the formal and informal version. This works for shorter strings (just in the same way as most Operating Systems and applications are translated), yet long passages must be adapted to either formal or informal form. It would be convenient if those strings would be marked somehow, so that they can be adapted easily.
  • There should be somewhere a glossary (probably a Wiki), where the most used terms are defined/translated and explained how they are used. There, one could also discuss how such terms as Throttle, Node, Page etc. should be treated. Just the way this has been done before.
  • Capitalization should be standardized – I would propose to start all strings with a capital letter (as long as the context does not entirely speaks against that). If someone wants to have it different, he can use CSS in his template to do so.

Maybe there is more later when I’m working on it, but that would be my ideas for the time being. I would be thankful if you could give me some feedback about these ideas. And probably also some hints how to proceed …

Comments

killes@www.drop.org’s picture

I agree that the current translation isn't a particularly good one. It needs work. I already wrote some of the code that makes it possible to import translations so I will leave the translation work to others.

Formal vs. informal: This is a valid point and it is luckily easily solved. One can import one translation after another and allow (or deny) the replacement of already translated strings. A formal translation would only need to contain the strings that need to be specially treated and could overwrite some strings of a less formal translation. The only problem is that the current packaging scripts on drupal.org aren't well suited to this approach. But this can be fixed.

Discussions about usage can be also be done here on Drupal.org. We are in the process of creating Forums for translators. We just need to discuss how to do this in the most elegant way. Unfortunately, there are English strings that are used in different situations, but are the same. Those should be translated differently. This is currently not possible.

--
If you have troubles with a particular contrib project, please consider to file a support request. Thanks.

Steven’s picture

You might want to look at how professionally translated applications use the language. For example, in Dutch, commands are almost always written using the infinitive of the verb rather than the imperative, as this sounds too harsh.

Perhaps you can reach a common set of guidelines for such a neutral translation?

Dries’s picture

It's clear that guidelines are needed to resolve issues like those mentioned above. We should add a guidelines-page to the (otherwise excellent) Drupal translator's guide. Maybe we can adopt KDE's guidelines and go from there? For what it is worth, KDE also has dictionaries and tools for consistency checking.

Uwe Hermann’s picture

Hi everyone,

I basically agree with most of xeophins points:

* Strings are translated in informal style, yet I need a formal version for my target group.

ACK. I'll start changing all strings to neutral/formal style in CVS. Any help with this and/or patches against the CVS files are welcome.

* Caused by the modular architecture, some parts are translated, some aren’t. I’m afraid that such a kind of multilingual bastard won’t look very professional …

Yes, but the only thing we can do here is to continue translating until no more english string are left. As above, any patches are welcome.

* Terms are sometimes used inconsistently

Yes, I suggest we discuss and agree upon one version, preferrably in the translation forums...

some Terms from the original English version are translated (Gewicht (Weight), some aren’t (Throttle).

In the parts of the translation I have done, this is on purpose.
To be honest, I find that some terms (especially from the field of computer science or other technical fields) don't have any proper, good-sounding german translation, so it's IMHO better to leave the english version untouched.

The same goes for capitalization (which is already nasty in the original English version).

ACK. IMHO all words which are usually capitalized in german should be capitalized in the Drupal translation, too, regardless of whether they are capitalized in the english version or not.
I'll work on this, too. Patches welcome.

(FYI, I’ll be using KBabel (running with X11) on my Mac OS X Box).

No problem, I'm using KBabel, too. But that's probably irrelevant, as any translation tool should do...

* As far as possible, strings should be translated neutral

ACK.

* There should be somewhere a glossary (probably a Wiki), where the most used terms are defined/translated and explained how they are used. There, one could also discuss how such terms as Throttle, Node, Page etc. should be treated. Just the way this has been done before.

If noone objects, I'll create a file in CVS for this. There we can always keep the most recent list of terms... Discussion should take place in the forums, though.

Uwe.
--
My Drupal site: http://www.crazy-hacks.org
Soon to be drupalized: http://www.unmaintained-free-software.org

Anonymous’s picture

I’m sorry to answer so late (several other projects kept me from doing so), but now I’d like to say that I’m glad that my ideas were accepted and received so well.

As far as I can see I will have time next week to begin my work. Am I right that I can download the newest versions from the CVS, edit it and then upload this edited file with the issue-form found here?

Uwe Hermann’s picture

Yes, please go ahead.

--
My Drupal site: http://www.crazy-hacks.org
Soon to be drupalized: http://www.unmaintained-free-software.org

carlmcdade’s picture

Capitalization should be left to the typographical layout rather than the grammatical sense of the words in any language. I say this because languages like Swedish which are devoid of capitalization for the most part create a mess of a GUI when translated using exact or formal grammatical sense. Use of capitals should be handled in a Linux or Microsoft translation guidline where their use has actual meaning in the GUI and are not used to satisfy any language grammer. To do otherwise makes for a strange and unpolished look in your UI.

I have run into this problem when trying to translate my own CMS to use english, german and swedish.

The other items mentioned are the major drawbacks to using GetText translations in situations where there is no guideline used for repetative text instructions. I am not sure if weighted word usage will solve something that is so basic in origin. It could lead to using some very heavy and complicated algorithms that are best reserved to search engines.
---------------------------
info for Drupal installation
__________________________
Carl McDade
Information Technology Consult
Team Macromedia
www.hivemindz.com

Anonymous’s picture

I'm not quite sure if I understand you correctly, but I assume that you mean something like Apple's Guidelines to capitalisation. Maybe you could provide links to the translations guides you mentioned as well, so we could read and compare them.

I think English handles capitalisation much more flexible than German, which has a strict set of rules what has to be capitalised – much to the horror of pupils ;). Simple rules like "Capitalise the first word of a sentence" or "Capitalise every word" won't work here, it is perceived as being wrong.

The reason I pointed capitalisation out is mainly its use in the navigation block of Drupal: everything is de-capitalised. What works perfectly well in English becomes an aesthetic issue in German ... My proposition to avoid this was to capitalise grammatically correct, including the first word of every string. De-capitalisation, if desired, could be achieved through CSS.

Whatever is decided, I would like it to be consistent ... unlike, i.e. the navigation block on www.hivemindz.com, which has Features capitalised and all the following points not ... ;-)

But maybe I haven't understood correctly, if so, please correct me.

carlmcdade’s picture

All languages have strict rules about capitalization. This creates a big problem when trying to internationalize or localize. If you take the examples of English versus Swedish when writing names of places or descriptions "American" , "american" will not be correctly translated as Swedish does not use capitalization in this respect. There is also the same formal problem with swedish in that "Jag" can be used at the beginning or as part of a sentence as "Jag" or "jag". Translating this english only leaves "I" which is always capitalized. The same thing happens when using words like "english" and "English".

It pretty much comes down to a matter of taste and what works for your software. I have had to change my own name from Carl Mc Dade to Carl McDade because of software and systems that do not recognized the space in the sir name and take the "Mc" as being a middlename. They even go as far using "Mcdade" removing both the spacing and the capitalization.

I will fix that link. It is a typo. Thanks.

I'll see if I can dig up MS guidelines for GUI translation on MSDN.
---------------------------
info for Drupal installation
__________________________
Carl McDade
Information Technology Consult
Team Macromedia
www.hivemindz.com

Ralf Saalmueller’s picture

A lot of drupal, cms and internet or computer related terms have to be fixed befor a contributed localisation should take of. Otherwise you'll start debugging the work from different points without getting done at all.

For all who are working on .po files. You know that drupal creates strings as needed? After I set up a new module new strings shown up that need to be translated. Still without some modules my installation does count over 1.400 string.

I like to take part in translating the whole thing. If you like to look at my buggy and always uncomplete work already done, visit http://rsn.homeip.net

Don't wonder about content, it doesn't count yet. Everything is in progress.

killes@www.drop.org’s picture

Uwe has started to make a plan. It is in the cvs version's README of the translation. As I expected, I have some other ideas about what to translate how. ;)

For example:
create erstellen

Erstellen hört sich ziemlich hölzern an. "Artikel erstellen" ist geradezu eine sprachliche Grausamkeit. "Artikel schreiben" hört sich viel besser an.

"node" würde ich als Knoten übersetzen. Der Begriff taucht ohnehin nur noch in Hilfetexten für Administratoren auf. Halbfertige Übersetzungen kann ich nicht leiden.

http://dict.leo.org ist auch immer eine gute Quelle für Ideen zur Übersetzung.
--
If you have troubles with a particular contrib project, please consider to file a support request. Thanks.

Anonymous’s picture

Erstellen hört sich ziemlich hölzern an. "Artikel erstellen" ist geradezu eine sprachliche Grausamkeit. "Artikel schreiben" hört sich viel besser an.

Solange es sich um Text handelt, fände ich Schreiben auch besser. Ansonsten finde ich Erstellen okay.

"node" würde ich als Knoten übersetzen. Der Begriff taucht ohnehin nur noch in Hilfetexten für Administratoren auf. Halbfertige Übersetzungen kann ich nicht leiden.

Ich würde den Begriff belassen, umso mehr, als er nur noch für Administratoren auftaucht. Einfach grossgeschrieben müsste er werden (also Node). Da für mich das Erstellen eines neuen Datenbankeintrages wenig «knotenhaftes» hat, könnte ich mit Node fast besser leben – als ein eigener Begriff des Drupal-Systemes (im Stil von Node™ – denn was halbfertige Übersetzungen betrifft, bin ich durchaus der gleichen Meinung …)

post würde ich als Beitrag übersetzen, als eine Art Überklasse aller Textarten.

story würde ich eigentlich ebenfalls mit Artikel übersetzen, bloss ist das schon vergeben …

Ralf Saalmueller’s picture

was hier auf Deutsch gesagt wurde stimmt in grossen Teilen mit der Übersetzung die ich am laufen habe. Nur bei create hängt es noch. "Eintrag schreiben" hört sich ebenso hölzern an wie "Artikel erstellen". Wobei ich aus reinen technischen Gesichtspunkt weiter bei "erstellen" bleiben möchte, den Artikel hat man ja eventuell vorher fertig gestellt. Trotzdem, das ist Feintuning das man am Ende der Übersetzung machen sollte, wenn es denn geht.

Bei Knoten ect. wird der Drupal Fachbegriff in meiner Übersetzung einfach in Klammern dahintergesetzt, so geht nichts verloren.

Eine de.po gibt es ebenfalls. Wäre aber grundsätzlich bereit bei einem stehenden Plan nochmals ganz von vorne anzufangen.

Meine de.po gibt es bei http://rsn.homeip.net heute Nacht nochmals aktualisiert.

Anonymous’s picture

I have now started to translate the comment-module, basing on the existing version in the CVS.

Given the fact that some strings have to be translated either formal or informal, I would propose to add a comment to such strings. For now, I wrote # formal (the informal version would of course then be # informal). This will allow to search the file for those comments and rewriting the strings if desired.

I hope that such a comment confirms to the .po-syntax ... If not, please tell me.

killes@www.drop.org’s picture

This does conform to PO syntax (as can be found out be reading the fine manual ;). Please place this message above the reference comments starting with #:.
--
If you have troubles with a particular contrib project, please consider to file a support request. Thanks.

Ralf Saalmueller’s picture

I'm far beyond 1k strings that were translated to german. The first de.po export had over 200 KBytes. After the second and third round of work, the po file get's smaller every time. Now far below 40 KBytes.

What happens? Where can I reset the .po export?