Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Maxim Senior JLI'ler
Anmeldedatum: 28.03.2004 Beiträge: 249
Medaillen: Keine
|
Verfasst am: 03.05.2005, 08:55 Titel: Sprachauswahl für die Benutzeroberfläche [MFC] |
|
|
Hallo.
Wie kann ich in meinem MFC – Programm eine Sprachauswahl für die Benutzeroberfläche realisieren?
Ich weiß das ich eine Stringtabelle für jede Sprache anlegen soll, aber wie benutzt man die dann richtig? Muss man da jeden einzelnen String auslesen? Das wäre ja ziemlich viel.
Hat schon jemand Erfahrung damit? |
|
Nach oben |
|
 |
Fallen JLI MVP


Alter: 41 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 03.05.2005, 10:36 Titel: |
|
|
Ich mache sowas mit nen Sprach Manager:
CPP: | LanguageManager::LoadLanguage("German.xml");
...
std::string text = LanguageManager::GetString("Begruessung_Fred_Freundlich"); |
Die German.xml ist dann zum Beispiel so aufgebaut (Ini datein reichen natürlich auch):
<Text Hash="Begruessung_Fred_Freundlich" String="Guten tag, ..."/> _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
 |
Maxim Senior JLI'ler
Anmeldedatum: 28.03.2004 Beiträge: 249
Medaillen: Keine
|
Verfasst am: 03.05.2005, 10:43 Titel: |
|
|
FallenAngel84 hat Folgendes geschrieben: | Ich mache sowas mit nen Sprach Manager:
CPP: | LanguageManager::LoadLanguage("German.xml");
...
std::string text = LanguageManager::GetString("Begruessung_Fred_Freundlich"); |
Die German.xml ist dann zum Beispiel so aufgebaut (Ini datein reichen natürlich auch):
<Text Hash="Begruessung_Fred_Freundlich" String="Guten tag, ..."/> |
Was für Sprach Manager? Hast du es selbst geschrieben oder ist es eine MFC-Klasse? |
|
Nach oben |
|
 |
Patrick Dark JLI Master

Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 03.05.2005, 14:11 Titel: |
|
|
CPP: | #include <string>
#include <map>
#include <iostream>
// Sprache Schlüsselwort Satz in anderer Sprache
std::map<std::string, std::map<std::string, std::string> > language_lib;
int main (void)
{
std::map<std::string, std::string> temp;
// Deutsch
temp.insert(std::make_pair("string1", "Hallo, dies ist ein String Nr. 1"));
temp.insert(std::make_pair("string2", "Hallo, dies ist ein String Nr. 2"));
language_lib.insert(std::make_pair("german", temp));
temp.clear ();
// Englisch
temp.insert(std::make_pair("string1", "Hello, this is string no 1"));
temp.insert(std::make_pair("string2", "Hello, this is string no 2"));
language_lib.insert(std::make_pair("english", temp));
std::string language;
std::cout << "Welche sprache moechtest Du haben?";
std::cin >> language;
// Die 2 Strings ausgeben:
std::cout << language_lib[language]["string1"].c_str() << std::endl;
std::cout << language_lib[language]["string2"].c_str() << std::endl;
if(language_lib[language].find("string2") != language_lib[language].end())
{
std::cout << "string2 ist drin";
}
if(language_lib[language].find("string3") == language_lib[language].end())
{
std::cout << "string3 ist NICHT drin";
}
// Eingabepuffer leeren und auf RETURN warten
std::cin.sync ();
std::cin.get();
return 0;
} |
Easy  _________________ 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ] |
|
Nach oben |
|
 |
DirectXer Dark JLI'ler

Anmeldedatum: 05.02.2005 Beiträge: 1201 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 03.05.2005, 19:02 Titel: |
|
|
ohhhh, wie "unschön":
CPP: | if(...)
{ <---
...
} <---
if(...)
{ <---
...
} <--- |
Klammern weg!
Gruß DirectXer |
|
Nach oben |
|
 |
PeaceKiller JLI Master

Alter: 36 Anmeldedatum: 28.11.2002 Beiträge: 970
Medaillen: Keine
|
Verfasst am: 03.05.2005, 19:06 Titel: |
|
|
Ja und sobald ein unerfahrener/schlampiger Programmierer kommt und etwas hinzufügen will wundert er sich warum es nicht s tut wie er will.
ergo:
Klammern hin _________________ »If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine |
|
Nach oben |
|
 |
HomeLess_PunkDrummer JLI Master Trainee

Alter: 36 Anmeldedatum: 28.11.2004 Beiträge: 583 Wohnort: Alter Joghurtbecher an der A4 Medaillen: Keine
|
Verfasst am: 03.05.2005, 19:15 Titel: |
|
|
Genau, dadurch wirds auch net langsamer, nur der Code in der .cpp wird größer. _________________ "Was die Götter angeht, so ist es mir unmöglich, zu wissen, ob sie existieren oder nicht, noch, was ihre Gestalt sei. Die Kräfte, die mich hindern, es zu wissen, sind zahlreich, und auch ist die Frage verworren und das menschliche Leben kurz." |
|
Nach oben |
|
 |
DirectXer Dark JLI'ler

Anmeldedatum: 05.02.2005 Beiträge: 1201 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 03.05.2005, 19:25 Titel: |
|
|
in seinen Tuts machts Patrick aber auch immer so  |
|
Nach oben |
|
 |
HomeLess_PunkDrummer JLI Master Trainee

Alter: 36 Anmeldedatum: 28.11.2004 Beiträge: 583 Wohnort: Alter Joghurtbecher an der A4 Medaillen: Keine
|
Verfasst am: 04.05.2005, 14:18 Titel: |
|
|
Ja und. Sachen wo solche kleinen Sachen sind wie CPP: | if(a==0)
ais0=true;
else
ais0=false; |
gehn auch
Und sonst solltest du lieber so programmieren dass es logisch ist. Deshalb gibt es den // und den /*. Und deshalb gibt es die beiden { und }. _________________ "Was die Götter angeht, so ist es mir unmöglich, zu wissen, ob sie existieren oder nicht, noch, was ihre Gestalt sei. Die Kräfte, die mich hindern, es zu wissen, sind zahlreich, und auch ist die Frage verworren und das menschliche Leben kurz." |
|
Nach oben |
|
 |
Patrick Dark JLI Master

Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
|
Nach oben |
|
 |
Fallen JLI MVP


Alter: 41 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 04.05.2005, 16:39 Titel: |
|
|
Solche Sachen funzen unter C# und Java nicht, das nervt da ziemlich wenn man sich angewöhnt hat damit zu arbeiten. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
 |
DirectXer Dark JLI'ler

Anmeldedatum: 05.02.2005 Beiträge: 1201 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 05.05.2005, 20:02 Titel: |
|
|
Patrick hat Folgendes geschrieben: | |
*strahl* wie elegant
Da schlägt ein Programmierer-Herz gleich höher...
Gruß DirectXer, der heute mal wieder übertreibt |
|
Nach oben |
|
 |
Patrick Dark JLI Master

Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
|
Nach oben |
|
 |
|