[std::locale] Name der Sprache herausfinden

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
Glocke
Beiträge: 332
Registriert: Fr Okt 26, 2012 8:39 am

[std::locale] Name der Sprache herausfinden

Beitrag von Glocke » Mi Apr 08, 2015 8:19 am

Hi, ich verwende im Moment std::locale um beim Programmstart die Systemsprache abzufragen und eine entsprechende Lokalisierung (INI-File mit "Übersetzungen" für bestimmte Keywords) zu laden. Dazu splitte ich mir die ersten beiden Zeichen von std::locale().name() raus und verwende sie als Dateinamen. D.h. meine Übersetzungs-Files heißen "en.ini", "de.ini" etc.

Nun überlege ich wie ich statt der Kürzel auf den Namen der Sprache komme (entweder einheitlich in englisch, d.h. "english", "german" etc. oder in der jeweiligen Sprache, d.h. "english", "deutsch" etc.). Ziel des ganzen ist es, dass ich die "Sprachdateien" "schöner" benennen kann: english.ini, deutsch.ini/german.ini etc. Die Fallunterscheidungen von Hand zu schreiben erscheint mir nicht sinnvoll, da ich für jede neue Sprache einen weiteren Fall hinzufügen muss.

Von daher gehe ich davon aus, dass es da eine elegantere Möglichkeit gibt ^^ Kann mir da jmd weiterhelfen?

LG Glocke

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: [std::locale] Name der Sprache herausfinden

Beitrag von Xin » Mi Apr 08, 2015 2:12 pm

Ich sehe da gerade keine andere Möglichkeit, die Sprache ist soweit ich weiß nur durch den Culture Code definiert. Die "Übersetzung" ist dann Dein Problem.

Culture Codes
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten