Östliche Sprachen anzeigen lassen, aber wie?
-
Hallo,
ich möchte in meinem Programm eine östliche Sprache anzeigen lassen (wie z. B. aserbaidschanisch, chinesisch, russisch ...)
Jetzt habe ich allerdings keine Ahnung, wie ich das anstellen soll. Wenn ich z. B. ein Wörterbuch programmieren möchte (bsp.: deutsch - chinesisch), wie gehe ich da vor? Sobald ich versuche auf einer anderen Sprache einzutippen, funktioniert das nicht bzw. wird dann nicht korrekt angezeigt, wenn das Programm gestartet wird. Weiß jemand, wie ich da nun vorgehen soll?Danke!
-
Wo anzeigen und wie funktioniert nicht?
An sich wirst du wohl die ERingabe in Unicode annehmen müssen und eine Unicode-fähige Ausgabe verwenden müssen.
Plattform?
GUI? Wenn ja Welches Toolkit? Konsole? Welche? (n)curses?
-
Also z .B
ich hab' ein array[1]="Können" und hab' ich noch array[2]="Can" und normaleweise wenn ich Können eingebe muss mir Can ausgeben , das funktioniert nicht , der sieht 'Ö' nicht , aber wenn ich statt ö o schreibe geht es super ....
und genau so mit Chinesisch und mit Russisch ....
-
Bakuer schrieb:
...
Könntest du dennoch bitte erstmal die Fragen beantworten, damit man dir weiterhelfen kann?
GUI / Konsole ?
Welche API/Framework... ?
Windows / Linux / MacOS... ?cu André
-
In GUI / Konsole und API/Framework...
In Konsole hab' ich mal gelesen , dass man mit locale.h arbeiten kann , z.B#include <iomanip> #include <iostream> #include <locale> using namespace std; void main() { locale::global(locale("rus")); printf("Введите a "); cin>>a; cout<<"Привет"; }Danke
-
Bakuer schrieb:
In GUI / Konsole und API/Framework...
In Konsole hab' ich mal gelesen , dass man mit locale.h arbeiten kann , z.BDas könnte noch bei russisch funktionieren, aber ich denke, dass das mit Chinesisch einfach nicht funktioniert, weil die mehr als 256 Zeichen haben. Außerdem brauchst du dann wahrscheinlich eine Chinesische Version, deines Betriebsystems. Ich denke, die beste Lösung für dein Problem wäre, mit UTF-8 zu Arbeiten und ein Toolkit zu verwerden, das dies unterstüzt. Dafür würde sich GTK+ anbieten.
-
Bakuer schrieb:
In GUI / Konsole und API/Framework...
Nochmal: Welche API/Framework?
Wenn du das nicht einmal beantworten kannst, wird dir keiner helfen.Solange nicht mehr informationen kommen nur so viel:
1. Solltest du mit Unicode arbeiten (cout ==> wcout; string ==> wstring),
gerade wenn du östliche Sprachen erwähnst wird du nicht mehr mit 265
Zeichen auskommen.
2. Bei der Konsole muss sichergestellt sein das ein passender Zeichensatz
verwendet wird, sonst wirst du auch bei richtiger interner Zeichencodierung
an der Ausgabe scheitern.cu André
-
ProgChild schrieb:
...Außerdem brauchst du dann wahrscheinlich eine Chinesische Version, deines Betriebsystems...
Nicht wirklich, es kommt nur darauf an, das die verwendeten Zeichensätze dies unterstützen, und er dann auch intern mit Unicode arbeitet.
Zudem kann er mal google verwenden wenn man schon jede Information aus seiner Nase einzeln herausziehen muss:
http://www.google.de/search?hl=de&q="C%2B%2B"+%2B+I18N&btnG=Google-Suche&meta=cu André
-
Hallo
Man kann auch auf "normalen" europäischen Windows-Versionen die asiatischen Schriften nachinstallieren (WinXP)
- Systemsteuerung/Regions- und Sprachoptionen
- Tab Sprachen
- Option "Dateien für ostasiatische Sprachen installieren"Danach kann man mit der GUI auch chinesisch anzeigen lassen (bester Test ist auf Wikipedia die Seite zu China öffnen, da sind dann korrekte Zeichen). Ob dann aber in der Konsole auch chinesische Zeichen möglich sind kann ich nicht sagen.
bis bald
akari
-
akari schrieb:
Danach kann man mit der GUI auch chinesisch anzeigen lassen (bester Test ist auf Wikipedia die Seite zu China öffnen, da sind dann korrekte Zeichen). Ob dann aber in der Konsole auch chinesische Zeichen möglich sind kann ich nicht sagen.
Ich denke nicht, dass das auf der Windows-Console funktioniert. Da hat man ja schon Probleme mit den Umlauten.
-
Warum wiederholt ihr eure Fragen an den Threadersteller ständig? Wenn er nicht lesen will, dann hat er auch keine Hilfe verdient, spart euch doch die Zeit und Nerven

-
Die Darstellung der Zeichen hat nichts mit C++ tun. Und auch das Locale hat damit nichts zutun. Benutzt wchar_t und std::wstring und gut ist.
-
Ratgeber schrieb:
Warum wiederholt ihr eure Fragen an den Threadersteller ständig? Wenn er nicht lesen will, dann hat er auch keine Hilfe verdient, spart euch doch die Zeit und Nerven


Ich hab' doch geantwortet !
Ich will beide Fälle wissen , für Konsole hab' ich selber ein kleines Beispiel geschrieben , und das war nur für Russisch und es funktioniert in Visual St. , aber nicht in Borland c++ ....
Für Api und Frame hat niemand eine richtige Antwort bis jetzt geschrieben...
-
Bakuer schrieb:
Für Api und Frame hat niemand eine richtige Antwort bis jetzt geschrieben...
Weil du noch immer nicht geschrieben hast für welche API oder welches Framework. Punkt aus Ende.