Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
MOD Fleißiger Referenzredakteur
Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 27.06.2012, 21:18 Titel: mdLanguage |
|
|
mdLanguage ist eine kleine .bi, die es erlaubt, ein Programm einfach mit mehreren Sprachen nutzen zu können. Die jeweiligen Sprachen werden dann über Sprachdateien gesteuert und zur Laufzeit geladen.
Der Code ist recht simpel, vermutlich nicht der schnellste, aber sehr leicht anzuwenden und für kleine und mittlere Projekte gut geeignet.
Code, Readme und Beispiele im >>DOWNLOAD<<
Danke an nemored für die Tests und das Beispiel 'bottles'! |
|
Nach oben |
|
|
Roland Chastain
Anmeldungsdatum: 05.12.2011 Beiträge: 193 Wohnort: Frankreich
|
Verfasst am: 30.06.2012, 09:19 Titel: |
|
|
Sehr interessant !
Da ist mein Beitrag :
Code: | test-one=Bonjour le monde
test-two=Bonjour {0}
test-three=Bonjour {0} et bienvenue à {1}
hallo-x-sign-into-x-and-get-your-x=Bonjour {0}, enregistre-toi sur {1} et obtiens ton {2}!
test-four=Bonjour {0} ton nom est {0} ou {1}?
present=cadeau
hello=Bonjour
label=Titre
your-name=Ton nom:
change-language=Choisir le langage |
Code: | HowManyBottles?=Combien de bouteilles de biere y a-t-il sur le mur ?
tooLittle=Il n'y a pas assez de bouteilles!
tooMany=Il y a trop de bouteilles!
0=aucune
1=une
last=une
2=deux
3=trois
4=quatre
5=cinq
6=six
7=sept
8=huit
9=neuf
10=dix
11=onze
12=douze
13=treize
14=quatorze
15=quinze
16=seize
17=dix-sept
18=dix-huit
19=dix-neuf
20=vingt
30=trente
40=quarante
50=cinquante
60=soixante
70=soixante-dix
80=quatre-vingt
90=quatre-vingt-dix
20+={0}-{1}
100={0} cent
100+={0} cent et {1}
1000={0} mille
1000+={0} mille {1}
bottle=bouteille
bottles=bouteilles
verse1={0} {1} de biere sur le mur, {0} {1} de biere.
verse2=Prends-en une et fais la passer, {0} {1} de biere sur le mur.
|
Aber wäre es möglich "bière" zu schreiben ? |
|
Nach oben |
|
|
MOD Fleißiger Referenzredakteur
Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 30.06.2012, 10:44 Titel: |
|
|
Danke für die Übersetzungen! Ich habe sie gleich eingebaut und den Download aktualisiert.
Das Problem mit Sonderzeichen wie è, aber auch äüößÄÜÖ ist, dass sie im normalen String nicht funktionieren und falsch dargestellt werden. Es ist allgemein nicht so einfach, das Problem zu lösen. Vorerst wird es also leider nicht gehen. |
|
Nach oben |
|
|
Roland Chastain
Anmeldungsdatum: 05.12.2011 Beiträge: 193 Wohnort: Frankreich
|
Verfasst am: 30.06.2012, 11:39 Titel: |
|
|
MOD hat Folgendes geschrieben: | Danke für die Übersetzungen! Ich habe sie gleich eingebaut und den Download aktualisiert. |
Es freut mich.
MOD hat Folgendes geschrieben: | Das Problem mit Sonderzeichen wie è, aber auch äüößÄÜÖ ist, dass sie im normalen String nicht funktionieren und falsch dargestellt werden. Es ist allgemein nicht so einfach, das Problem zu lösen. Vorerst wird es also leider nicht gehen. |
Jedenfalls es ist ein sehr gut Code meiner Meinung nach. Ich denke ich will es benutzen.
Zuletzt bearbeitet von Roland Chastain am 30.06.2012, 12:30, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
MOD Fleißiger Referenzredakteur
Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 30.06.2012, 11:49 Titel: |
|
|
Freut mich, wenn es dir nützt. |
|
Nach oben |
|
|
Eternal_pain
Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 30.06.2012, 12:17 Titel: |
|
|
Hatte selbst leider noch keine Zeit gefunden rein zu sehen, werd ich aber schnellstens noch Nachholen da ich etwas vergleichbares schon gesucht habe
Also mal Dank im vorraus ohne getestet zu haben _________________
|
|
Nach oben |
|
|
Roland Chastain
Anmeldungsdatum: 05.12.2011 Beiträge: 193 Wohnort: Frankreich
|
Verfasst am: 30.06.2012, 12:47 Titel: |
|
|
Zitat: | test-three=Bonjour {0} et bienvenue à {1} |
Berichtigung :
Zitat: | test-three=Bonjour {0} et bienvenue a {1} |
|
|
Nach oben |
|
|
MOD Fleißiger Referenzredakteur
Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 30.06.2012, 12:59 Titel: |
|
|
Danke, hab es ausgebessert.
Und noch eine kleine Verbesserung:
loadCustomLanguage erlaubt nun, den Dateinamen der Sprachdatei mit prefix und suffix zu manipulieren, die Pfadangabe hat hingegen nun einen Prüfung auf "/" bzw. "\" erhalten. |
|
Nach oben |
|
|
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 30.06.2012, 19:59 Titel: |
|
|
MOD hat Folgendes geschrieben: | Das Problem mit Sonderzeichen wie è, aber auch äüößÄÜÖ ist, dass sie im normalen String nicht funktionieren und falsch dargestellt werden. Es ist allgemein nicht so einfach, das Problem zu lösen. Vorerst wird es also leider nicht gehen. | Man nennt es "Unicode" |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4672 Wohnort: ~/
|
Verfasst am: 30.06.2012, 20:04 Titel: |
|
|
Schon richtig, aber die Unterstützung durch FreeBASIC ist da eben leider marginal. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 30.06.2012, 20:21 Titel: |
|
|
Das musste man dann alles mit Pointern machen, oder? |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4672 Wohnort: ~/
|
Verfasst am: 30.06.2012, 20:30 Titel: |
|
|
Es gibt zwar den Datentyp WSTRING, es scheitert aber an der Ausgabe. Im Grafikfenster sind die Sonderzeichen (also nicht die in der entsprechenden ANSI-Codepage, sondern die anderen) gar nicht erst im Zeichensatz. Wie das in der Konsole aussieht, weiß ich nicht. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 30.06.2012, 20:31 Titel: |
|
|
Sollte unter Linux gehen, unter Windows kann man zwar UTF-16 in die Konsole schreiben (nachdem die Codepage entsprechend gesetzt wurde), aber ohne das der Nutzer Einstellungen verändert, geht da nicht viel. |
|
Nach oben |
|
|
MisterD
Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 30.06.2012, 23:55 Titel: |
|
|
benutz halt windows/linux/was auch immer fürn betriebssystem fenster oder ne lib wie GTK statt PRINT und DRAW STRING, die können auch sonderzeichen-text darstellen dummerweise is das halt mehr arbeit. _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
|
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 01.07.2012, 13:34 Titel: |
|
|
Der Hauptteil der Arbeit steckt hier wohl kaum in der Darstellung, sondern viel eher in der schlechten Unicode-Unterstützung von FB. Allerdings lehne ich mich hier mal nicht zu weit aus dem Fenster sonst ist wieder der Zentralrat der Freebasicanwender (Jojo ) empört |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 01.07.2012, 16:43 Titel: |
|
|
28398 hat Folgendes geschrieben: | Allerdings lehne ich mich hier mal nicht zu weit aus dem Fenster sonst ist wieder der Zentralrat der Freebasicanwender (Jojo ) empört |
Ich benutze doch gar kein FreeBASIC mehr. Und meine Liebelingssprache bietet von Haus aus auch praktisch keinen Unicode-Support, da sie ohne STL gar keine Strings kennt. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 01.07.2012, 19:46 Titel: |
|
|
C++ ist da auch so eine Tragödie, was DAS angeht (schonmal nen UTF-16 String in UTF-8 konvertiert? :>)
Da lob ich mir mein Python, dass handhabt Kodierung wenigstens richtig... |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 01.07.2012, 22:43 Titel: |
|
|
28398 hat Folgendes geschrieben: | C++ ist da auch so eine Tragödie, was DAS angeht (schonmal nen UTF-16 String in UTF-8 konvertiert? :>) |
Wenn ich das mal brauchen werde, habe ich dafür Qt oder andere Bibliotheken. Selbiges gilt wie MisterD schon anmerkte auch für FB. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
Roland Chastain
Anmeldungsdatum: 05.12.2011 Beiträge: 193 Wohnort: Frankreich
|
Verfasst am: 13.08.2012, 07:08 Titel: |
|
|
Hallo MOD !
Ich möchte meine "properties" Dateien in ein Folder zusammen ordnen.
Zitat: | to load from another path, manipulate the file name with prefixes and suffixes or create a default variable, use loadCustomLanguage(var, "language"[, "path", "prefix", "suffix"]) |
Ich verstehe nicht wohl. Könnten Sie ein Beispiel geben ? |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4672 Wohnort: ~/
|
Verfasst am: 13.08.2012, 10:49 Titel: |
|
|
Code: | loadCustomLanguage(lang, "DE", "meinOrdner/") |
lädt meinOrdner/Language_DE.properties in die Variable* 'lang'
Code: | loadCustomLanguage(lang, "DE", "meinOrdner/", "prefix", "suffix") |
lädt meinOrdner/prefixDEsuffix in die Variable 'lang'
*) Ich nenne es mal Variable, auch wenn es ein verstecktes Array ist. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
|