MyBB.de Forum

Normale Version: Sprachdatei ausgeben lassen & ändern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

der language-Ordner hat Schreibrechte 777.

In der Datei kann ich zuerst die Datei aus /inc/languages/deutsch_du/ auswählen. Also einfach ein Link neben der Datei. Klickt man drauf, erscheinen alle Variablenwarte, aber ohne die Variablennamen. Also einfach so:

Zitat:Text1
Text2

Was auch immer 3
456722
bla bla bla
etc.
MyBB

und noch was
Absätze in den orig. Dateien können aber müssen nicht behalten werden
So.
Ganz unten ist wieder ein Textlink, oder ein Button, ist mir wurscht.
Klickt man drauf, erscheint ein leeres Textfeld.
Und wenn ich jetzt neue Texte in selber Reihenfolge eingebe, werden die aktualisiert.
Bei Fragen einfach Fragen ;-)
Vielen Dank im Vorraus.
(05.04.2010, 19:31)magent schrieb: [ -> ]Was auch immer
bla bla bla

Huh
Damit sind Werte gemeint.
Zur Verdeutlichung:

Es gibt folgende Quelldatei:
PHP-Code:
#########################################################
# Deutsches Sprachpaket (Informell)                     #
# Version 1.4.10                                        #
# Datum: 01.12.2009                                     #
# MyBB-Version 1.4.10                                   #
# Autor: MyBBoard.de | Webseite: https://www.mybb.de #
# (c) 2005-2009 MyBBoard.de | Alle Rechte vorbehalten!  #
#                                                       #
# Die Lizenz/Nutzungsbedingungen finden Sie in der      #
# beiliegenden Readme.                                  #
#########################################################

$l['nav_memberlist'] = "Mitgliederliste";

$l['memberlist_disabled'] = "Die Mitgliederliste wurde vom Administrator deaktiviert.";

$l['member_list'] = "Mitgliederliste";
$l['avatar']  ="Avatar";
$l['username'] = "Benutzername";
$l['joined'] = "Mitglied seit";
$l['lastvisit'] = "Letzter Besuch";
$l['posts'] = "Beiträge"
...

Daraus wird ausgegeben:
Code:
Mitgliederliste

Die Mitgliederliste wurde vom Administrator deaktiviert.

Mitgliederliste
Avatar
Benutzername
Mitglied seit
Letzter Besuch
Beiträge

Und dann kann ich in selber Reihenfolge neue Werte reinschreiben. Und diese werden dann updatet.
Ich verstehe immer noch nicht, worauf du eigentlich hinaus willst. Man kann im Admin CP bereits die Sprachdateien direkt editieren. In separaten Feldern, da einige Einträge auch mehrzeilig sind. Es gibt sicher bessere Lösungen für Übersetzungen, aber man kann damit leben. Was genau möchtest du nun erreichen?
Nein, ich möchte alle Werte gleichzeitig einfügen/ändern können.
Ich möchte aber nur ein Feld haben. Ich habe die Übersetzungen bereits in der richtigen Reihenfolge vorliegen, und möchte sie nur mit einmal Kopieren & Einfügen in die Dateien einfügen.
Naja, theoretisch kannst du alles komplett in eine Variable speichern. Mit z.B. explode() und den Umbruch als Trenner bekommst du jede Zeile direkt ansprechbar.

Das größte Problem sind aber Umbrüche, welche nicht das Ende der Sprachvariable deklarieren. Da ist dann nämlich Schluss mit der Variante.

Die "beste" Möglichkeit ist tatsächlich schon im Admin CP realisiert. Was gefällt dir an dem System denn nicht?
Das, dass ich alle meine Sätze oder Wörter säuberlich Zeile für Zeile gespeichert habe – ohne Variablen und ich möchte sie gerne alle auf einmal einfügen.
Wie es das System macht, ist mir wurscht. Ich will nur am Ende meine Sprachdateien haben, die ich auch ohne Probleme weitergeben kann.
Wer mir jetzt hilft, diese Funktion zu realisieren, kommt auf jedenfall auf die Readme der bayrischen Übersetzung :-)
Das ist natürlich Panne, daß du die Sprachdateien nicht gleich direkt editiert hast sondern so ein komisches Format erfunden hast nun. Eine Zeile zuviel oder zuwenig irgendwo und dir verrutscht alles. Ich hab mich trotzdem mal dran versucht, aber garantieren, daß es funktioniert, das kann keiner. Dazu müsste das Programm hellsehen können, weils einfach eine verbockte Vorgabe ist.

PHP-Code:
<?php
// input1 ist die sprachdatei
$file1 file_get_contents("input1");
// input2 ist dein schwachsinniges zeilendingsbums
$file2 file_get_contents("input2");
// schwachsinniges zeilendingsbums splitten in ein array
$farr explode("\n"$file2);
// sprachdatei splitten nach einzeiligen string-values
$split preg_split("# *= *\"[^\n]*\" *; *\r*\n#um"$file1);

// result zusammenbauen
$result array_shift($split);

// fuer jede zeile im schwachsinn...
foreach($farr as $value)
{
    
// ...wenn da tatsächlich schwachsinn steht...
    
if(strlen(trim($value)))
    {
        
// ...schwachsinn einsetzen
        
$result .= " = \"".$value."\";\n".array_shift($split);
    }
}

// wenn zuwenig schwachsinn da war kommt hier noch was nach
$result .= implode("\nbockmist:\n"$split);

// ergebnis ausgeben
echo $result;

?>
Error

To many Schwachsinns. Press any Schwachsinn to get Schwachsinn.

Nein, vielen Dank dir :-)
Ich werde es gleich mal probieren.
Aber was soll zu "input2"? Und es soll ja so sein, dass es mir zuerst alle Zeilen so ausgibt, wie sie im Moment sind (nur die Werte), und ich es dann ändern kann.
Ach so, ich dachte, du hättest das schon so gemacht und hast jetzt Probleme, das wieder zurückzufuseln ins Originalformat. Wenn du noch gar nichts gemacht hast, dann lass diesen Blödsinn gefälligst und editiere die Sprachdateien direkt. In einem Editor. Mit den Keys davor. Dass du die nachher nicht wieder zurückfrickeln musst. Meine Güte.
Seiten: 1 2