AA_
23.01.2009, 18:28
ein add-on besteht immer nur aus einer sprache, weil man nicht verschiedene sprachen in die installations-/updateroutine einbauen kann.
hier müssen nun im nachhinein übersetzungen angefertigt werden für sprachfiles.
das problem ist nun, dass übersetzer nicht zwangsläufig administratoren sind. und selbst wenn man einem benutzer berechtigungen für die sprachenverwaltung geben würde, heisst das nicht, dass jemand was damit anfangen kann. es fehlen im vbulletin schlicht und einfach wesentliche voraussetzungen für eine fehlerfreie übersetzung, weil man den kontext der phrasen nicht kennt oder nur vermuten kann. selbst gestandene und versierte vbulletin-administratoren, dürften damit ein problem haben.
ich habe lange überlegt, wie man aus dieser nummer herauskommt und einem vbulletin-laien die phrasen erklären kann - und das hier ist dabei herausgekommen:
ich binde in die add-on-datei (xml-file) einen externen stylesheet ein und lasse mit diesem das xml transformiert ausgeben. dabei beschränke ich mich auf die wesentlichen informationen, die ein übersetzer benötigt.
der übersetzer ruft dazu über den browser die add-on-datei auf und würde normalerweise die komplette xml-datei im browser angezeigt bekommen. die darstellung ist je nach browser sehr verschieden und nicht wirklich hilfreich. mit einer transformierten anzeige (die datei selbst bleibt unverändert) könnte das dann so aussehen:
4962
anders als im vbulletin werden hier kommentare sichtbar. dies kann man sich zu nutze machen und den kontext der texte so beschreiben, dass ein übersetzer keine fragen mehr stellen muss. und ehrlich gesagt... selbst ich als entwickler weiss nach ein paar wochen nicht mehr genau, wo bestimmte phrasen verwendet werden.
wie funktioniert das ganze?
als erstes erzeugt man sich eine leere datei mit beliebigen namen und der endung xsl. diese datei hat folgenden inhalt:
HTML:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------
diese datei ist für alle addons geeignet und sollte vielleicht in einem unterverzeichnis 'xsl' auf dem webserver gespeichert werden, zb. als 'vbulletin_products.xsl'.
jetzt bearbeitet man sein add-on, welches man übersetzen lassen will und fügt dort den link zur externen stylesheet-datei (siehe oben) ein:
HTML:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------
der pfad muss natürlich angepasst werden!
ruft man das add-on nun über den browser im web auf (vorausgesetzt natürlich, man hat die add-on-files im web verfügbar :D), sollte zumindest schonmal eine tabelle mit allen phrasen erscheinen, statt dem üblichen xml-kauderwelsch.
sehr wahrscheinlich wird die anzeige der zeichen falsch sein. denn die add-on-datei hat einen zeichensatz, der auf ISO-8859-1 stehen muss, auch wenn man darin unicode-daten gespeichert hat. dieser nonsens ist ein vbulletin-problem und ist nicht allgemeingültig!
je nachdem, mit welcher kodierung man seine add-ons erstellt, muss dann in der xsl-datei der zeichensatz ebenfalls angepasst werden. das ist alles sehr nervig... aber wer einen apache-webserver benutzt, kann hier eine korrekte darstellung erzwingen.
ich habe zb alle add-ons in einem unterverzeichnis namens '/addons' liegen (mit unterverzeichnissen für jedes add-on). in der vhost-konfiguration habe ich für dieses verzeichnis den charset 'UTF-8' für alle dateien mit der endung .xml erzwungen, so dass die merkwürdige encoding-angabe in der xml-datei ignoriert wird:
CODE:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------
man kann alternativ auch eine .htaccess-datei in das betreffende verzeichnis legen und dort die zeile hineinschreiben:
CODE:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------
hm, wieso werden bei mir keine kontext-texte angezeigt wie auf dem screenshot?
die texte, die oben im screenshot oberhalb der phrasen stehen, sind kommentare aus der add-on-datei. diese kommentare kann man leider nicht mit dem phraseneditor von vbulletin erzeugen, sondern nur in der datei selber:
HTML:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------
ja, richtig! der kommentar steht innerhalb des elements und nicht darunter oder darüber, sondern genau wie im beispiel!
beim importieren der datei (also beim installieren oder updaten eines add-ons) werden diese kommentare ignoriert und nicht importiert.
vielleicht kann ja jemand mit dieser idee was anfangen :)
hier müssen nun im nachhinein übersetzungen angefertigt werden für sprachfiles.
das problem ist nun, dass übersetzer nicht zwangsläufig administratoren sind. und selbst wenn man einem benutzer berechtigungen für die sprachenverwaltung geben würde, heisst das nicht, dass jemand was damit anfangen kann. es fehlen im vbulletin schlicht und einfach wesentliche voraussetzungen für eine fehlerfreie übersetzung, weil man den kontext der phrasen nicht kennt oder nur vermuten kann. selbst gestandene und versierte vbulletin-administratoren, dürften damit ein problem haben.
ich habe lange überlegt, wie man aus dieser nummer herauskommt und einem vbulletin-laien die phrasen erklären kann - und das hier ist dabei herausgekommen:
ich binde in die add-on-datei (xml-file) einen externen stylesheet ein und lasse mit diesem das xml transformiert ausgeben. dabei beschränke ich mich auf die wesentlichen informationen, die ein übersetzer benötigt.
der übersetzer ruft dazu über den browser die add-on-datei auf und würde normalerweise die komplette xml-datei im browser angezeigt bekommen. die darstellung ist je nach browser sehr verschieden und nicht wirklich hilfreich. mit einer transformierten anzeige (die datei selbst bleibt unverändert) könnte das dann so aussehen:
4962
anders als im vbulletin werden hier kommentare sichtbar. dies kann man sich zu nutze machen und den kontext der texte so beschreiben, dass ein übersetzer keine fragen mehr stellen muss. und ehrlich gesagt... selbst ich als entwickler weiss nach ein paar wochen nicht mehr genau, wo bestimmte phrasen verwendet werden.
wie funktioniert das ganze?
als erstes erzeugt man sich eine leere datei mit beliebigen namen und der endung xsl. diese datei hat folgenden inhalt:
HTML:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------
diese datei ist für alle addons geeignet und sollte vielleicht in einem unterverzeichnis 'xsl' auf dem webserver gespeichert werden, zb. als 'vbulletin_products.xsl'.
jetzt bearbeitet man sein add-on, welches man übersetzen lassen will und fügt dort den link zur externen stylesheet-datei (siehe oben) ein:
HTML:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------
der pfad muss natürlich angepasst werden!
ruft man das add-on nun über den browser im web auf (vorausgesetzt natürlich, man hat die add-on-files im web verfügbar :D), sollte zumindest schonmal eine tabelle mit allen phrasen erscheinen, statt dem üblichen xml-kauderwelsch.
sehr wahrscheinlich wird die anzeige der zeichen falsch sein. denn die add-on-datei hat einen zeichensatz, der auf ISO-8859-1 stehen muss, auch wenn man darin unicode-daten gespeichert hat. dieser nonsens ist ein vbulletin-problem und ist nicht allgemeingültig!
je nachdem, mit welcher kodierung man seine add-ons erstellt, muss dann in der xsl-datei der zeichensatz ebenfalls angepasst werden. das ist alles sehr nervig... aber wer einen apache-webserver benutzt, kann hier eine korrekte darstellung erzwingen.
ich habe zb alle add-ons in einem unterverzeichnis namens '/addons' liegen (mit unterverzeichnissen für jedes add-on). in der vhost-konfiguration habe ich für dieses verzeichnis den charset 'UTF-8' für alle dateien mit der endung .xml erzwungen, so dass die merkwürdige encoding-angabe in der xml-datei ignoriert wird:
CODE:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------
man kann alternativ auch eine .htaccess-datei in das betreffende verzeichnis legen und dort die zeile hineinschreiben:
CODE:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------
hm, wieso werden bei mir keine kontext-texte angezeigt wie auf dem screenshot?
die texte, die oben im screenshot oberhalb der phrasen stehen, sind kommentare aus der add-on-datei. diese kommentare kann man leider nicht mit dem phraseneditor von vbulletin erzeugen, sondern nur in der datei selber:
HTML:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------
ja, richtig! der kommentar steht innerhalb des elements und nicht darunter oder darüber, sondern genau wie im beispiel!
beim importieren der datei (also beim installieren oder updaten eines add-ons) werden diese kommentare ignoriert und nicht importiert.
vielleicht kann ja jemand mit dieser idee was anfangen :)