Hallo Gunnar,
ja wieso, wenn er mit #### tokenisiert und leere Tokens akzeptiert kommt doch ein Leerstring raus. Dass bei 3 fehlenden Übersetzungen (man kann ja locker 50 anbieten) da 16 Hashzeichen stehen, ist doch schnell abgezählt.
SCNR
Ich würde den JSON übrigens umdrehen, Deutsch als Primärkey und Language-Codes als Subkey. Braucht im Allgemeinen weniger Bytes und ich habe bei Textänderungen nicht pro Sprache den Key zu ändern. Und ein äußeres Array tut nicht, das muss ebenfalls eine Objektklammer sein.
{
"T_MÄRZ": {
"de": "März",
"en": "March",
"nl": "maart",
}
"T_JAHR": {
"de": "Jahr",
"en": "Year",
"nl": "jaar",
}
}
Die Frage wäre auch, ob man es als JSON oder nicht besser als YAML Datei speichert. YAML ist wesentlich weniger anfällig für Fehler mit Kommata oder Klammern. Mit einer PECL Extension kann PHP das problemlos verarbeiten. Das folgende Snippet entsteht durch
$lang = [
"L_MÄRZ" => [ "de" => "März", "en" => "March", "nl" => "maart" ],
"L_JAHR" => [ "de" => "Jahr", "en" => "Year", "nl" => "jaar" ]
];
yaml_emit_file("lang.yaml", $lang)
---
- L_MÄRZ:
de: März
en: March
nl: maart
L_JAHR:
de: Jahr
en: Year
nl: jaar
...
Rolf
sumpsi - posui - obstruxi