From: Josef 'Jupp' Schugt Date: 2003-06-30T04:30:18+09:00 Subject: Re: Message catalogs (I18N) overnight hack Saluton! * Hal E. Fulton; 2003-06-28, 23:03 UTC: > puts "Hello, world!" > Hallo, Welt! OK > puts "Hello, Tom!" > Hallo, Tom! OK > puts "User adam has opened file garden.eden already." > Datei garden.eden wird schon geoeffnet von adam. Datei garden.eden wurde schon von Benutzer adam geoeffnet. > puts "User foo has opened file bar already." > Datei bar wird schon geoeffnet von foo. Datei bar wurde schon von Benutzer foo geoeffnet. > printf "User %s has opened file %s already.\n", "eve", "apple" > Datei apple wird schon geoeffnet von eve. Datei apple wurde schon von Benutzer eve geoeffnet. > puts "Douglas Adams says that 'the meaning of life' is 42." > Douglas Adams hat gesagt, dass 'the meaning of life' '42' ist. Okay - besides that it is the meaning of life, the universe, and all that >;-> > puts "This %1 symbol will be ignored." > This %1 symbol will be ignored. Dieses %1-Symbol wird ignoriert. If the above is to be correct German the Bindestrich *has* to be present (although that is changing these days). > printf "The cost of %s is $%5.2f.\n", "this item", 49.95 > $49.95 ist der Preis von 'this item'. Where do the apostrophes come from? Cost is Kosten, not Preis (that's price). German has a parallel way ofr formulating the above: Die Kosten von this item betragen $49,95. FYI: The recently mentioned DECIMAL POINT IS COMMA statement of COBOL reflects a difference between German and US way of writing numbers US: 100,000,000.00 DE: 100.000.000,00 Precisely the other way round. Note that I did *not* correct ae/oe/ue/ss. In the case of 'ss': Presently both pre or post Rechtschreibreform spelling are correct. In the other cases: I suppose you know how to correctly spell these words >;-> Technical side: According to me redefining 'print' is an unacceptable violation of the principle of least surprise. The command reads 'print' as in 'print that book' not as in 'publish a translation of that book'. What about this? String.locale('C', 'de_DE') puts 'Alternatives exist'.l10n First argument of String.locale is language strings are expected to be in ('C' is default), second is target language). Gis, Josef 'Jupp' Schugt