Langpack - Sprachpackete allg. zu mehrsprachiger Prog*

hallo,

also ich hab da mal ein paar Fragen zu mehrsprachigen Programmen. Im Internet habe ich auch nach tagelanger Suche nix (auf Deutsch) gefunden.
Wusste nicht wohin mit den Fragen, denke mal hier gehört es hin.

Zur Sache:

Ich musste schon des öfteren DE Langpacks suchen und nach installieren - mein Englisch ist leider nicht sehr gut :rolleyes: :rolleyes: - und hab dann einfach mal geschaut wo die sind (im Programm),
dabei ist mir folgendes aufgefallen, mal gibt es Ordner ( Lang ), mal nix, und es gibt glauge ich noch ein paar andere Varianten.
In den Lang Ordner sind mal z.B. de.txt - de.lang - de-de.wlz - oder. xml und .proberties Dateien.

Zu den Fragen:

1. warum verschiedene Datei Typen - .txt .lang und so weiter

2. liegt es an der Programmiersprache

3. dem Programmierstil

4. gibt es evtuell Regeln oder Standarts wie man multilang Programmieren sollte oder zumindest was zu beachten ist um z.B. potenzielen Übersetzern die Arbeit zu erleichtern

5. bei manchen Programmen gibt es Zahlen etwa in der Art (en) 00001=File und irgend ein fleisiger Hobbyübersetzer schreibt dann in etwa, in xml glaube ich (en-de) 00001=Datei

so, das wars erstmal, ich hoffe das ich mich halbwegs verständlich ausgedrückt habe und die Fragen nicht völlig daneben sind.

ps: Suchmaschinen und Lexika hab ich durchforstet, von Übersetzungssoftware, automatisch oder mit TM oder, oder, habe ich schon gehört, gelesen ;) , mir geht es mehr um die allgemeine und bestenfalls obtimale Vorgehensweise beim Progammieren für multilang und Übersetzung
und
warum es soviele verschiedene Herangehensweisen gibt.


Vielen Dank erstmal das Ihr alles gelesen habt, ich hoffe Ihr könnt mir weiter helfen.


Ommm
 
Wie die Sprachunterstützer implementiert ist, ist von Programm zu Programm unterschiedlich. Es gibt viele Möglichkeiten, Sprachunterstützung in sein Programm einzubauen, jeweils mit unterschiedlicher Skalierbarkeit (hier: Möglichkeit, einfach neue Sprachen/Texte hinzuzufügen).
Eine Möglichkeit ist z.B., einfach ein Array der Größe 5 (für z.B. 5 unterstützte Sprachen) für jeden Text zu erstellen; dies wäre aber nur schlecht erweiterbar, reicht für einfache Applikationen aber durchaus aus.
Verschiedene Frameworks wie z.B. QT bringen jedoch komplexe und durchdachte Sprachunterstützung mit, die dann natürlich wieder anders implementiert ist und zu anderen Sprachdateien führt.
Aufgrund dieser Vielzahl an Möglichkeiten entsteht dann auch die vielen unterschiedlichen Dateien (falls die Sprachunterstützung überhaupt auf Dateien ausgelagert und nicht direkt ins Programm eingebaut ist (was natürlich extrem schlecht wäre)).
 
Danke =) Heinzelotto,

das heist also das es je nach Programmiersprache -stil -werkzeug und dem gewollten Umfang des Programms es immer mehr als eine Lösung gibt ?

Um sich einen Überblick zu verschaffen muß man sich also für jede Sprache die oder das Entwurfsmuster suchen und/oder die Standarts finden?

Eigentlich läuft die Frage darauf hinaus

-angenommen mann schreibt ein Programm in irgend einer Sprache und beabsichtigt von vornerein es mehrsprachig zu machen, also n Sprachen, dann sollte es doch je nach Programmiersprache eine empfolene Struktur geben damit die nachträgliche Spracherweiterung kein größeres Problem mehr ist.


Was mir halt das Hirn zermartert

- gebe es pro Programmiersprache (hier jetzt mal Java) einen Standart, könnte man doch ein Tool basteln das

1. Langpacks dem Java Standart folgend schreibt #daraus folgt das

2. es (Bspw. 2 Sprachig,je nach Wahl des Programmieres) es automatisch, wenn man bei DE schreibt =Datei, einen EN-Ordner mit dem Inhalt =File anlegt

3. Es warscheinlich Listen oder eine Tabel DE EN FR SP usw geben muss

4. Sprachpaare könnten/sollten erweiterbar sein


Sinn und Zweck :rolleyes: :rolleyes:

Für kleinere Programme doch bestimmt nützlich, Reiter/Buttons usw wären sofort in n Sprachen vorhanden.
OK, die Hilfe vielleicht nicht, aber es wäre doch bestimmt Benutzer freundlicher.

Gruß Ommm
 
also ein Multi-Language-System, was mir schon des öfteren über den Weg gelaufen ist, sind die .po-Dateien, dazu gibt es z.B. poedit


ich persönlich habe bis jetzt, wenn ich mit PHP was mehrsprachig basteln wollte, immer mit Arrays gearbeitet - also ein Ordner "lang" und da drin eine de.php eine en.php, etc.

und da drin eben dann in de.php
PHP:
<?
$text = array(
0 => "Speichern",
1 => "Abbrechen",
2 => "Hier ist ein Text"
);
?>

in en.php
PHP:
<?
$text = array(
0 => "Save",
1 => "Cancel",
2 => "Here is a text"
);
?>




in den .po-Dateien läuft das ganze ehr nach dem Ersetzungs-System:
Code:
"Save" = "Speichern"
"Cancel" = "Abbrechen"
"Here is a text" = "Hier ist ein Text"

das hat den Vorteil, dass man eine Standard-Sprache hat und was ersetzt werden kann wird ersetzt, der Rest bleibt eben in der Originalsprache
 
Die po-Dateien werden zumeist in Verbindung mit GNU gettext verwendet und sind unter Linux/Unix ein Quasi-Standard für mehrsprachige Software. Deswegen trifft man das so häufig an.
 
Zurück
Oben