Seite 1 von 1

[std::locale] Name der Sprache herausfinden

Verfasst: Mi Apr 08, 2015 8:19 am
von Glocke
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

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

Verfasst: Mi Apr 08, 2015 2:12 pm
von Xin
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