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
[std::locale] Name der Sprache herausfinden
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: [std::locale] Name der Sprache herausfinden
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
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.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.