
| Author | Message |
|---|---|
|
Written on: 16. 08. 2012 [19:56]
|
|
|
OlafGrabienski
Olaf Grabienski
Topic creator
registered since: 01.03.2012
Posts: 6
|
Mir ist nicht klar, wie ich einen selbst erstellten Menüblock in der Sidebar einer OJS-Zeitschrift so darstelle, dass dessen Links in der vom Nutzer gewählten Sprache erscheinen. Meine Fragen zu diesem Thema: (1) In dem von mir als Plugin erstellten Menüblock befinden sich sowohl OJS-Standard-Links, von denen ich weiß, mit welchem 'translate key' ich sie mehrsprachig machen kann. Beispiel: XML href="{url page="about" op="editorialTeam"}">{translate key="about.editorialTeam"}>Die anderen Links führen auf selbst definierte Abschnitte im Impressum. Diese letztgenannten Einträge werden direkt im Formular (Startseite > Benutzer/in > Zeitschriftenverwaltung > Impressum) in beiden Sprachen definiert und dann auf der Seite "Über uns" je nach Nutzersprachwahl richtig ausgegeben. Damit sie im selbst erstellten Menüblock ebenfalls in der richtigen Sprache erscheinen, fehlt mir ein geeigneter 'translate key', der im folgenden Beispiel an die Stelle des Worts "Herausgeber" käme: XML Ist jemandem bekannt, ob es hier überhaupt einen 'translate key' gibt und wo ich danach suchen kann?(2) Gibt es stattdessen eine Technik oder Konvention in OJS, mit der einzelne HTML-Elemente zur Anzeige für eine Sprache gekennzeichnet werden, so dass sie nur erscheinen, wenn diese Sprache aktiv ist? Also etwas in der Art XML In diesem Fall würde ich die Links einfach doppelt aufführen - einmal in Kennzeichnung für Deutsch und einmal für Englisch.(3) Ein passaber Workaround könnte m.E. ansonsten darin bestehen, die Links doppelt bzw. zweisprachig anzulegen und je nach gewählter Sprache über das CSS im eigenen Theme ein- bzw. auszublenden. Was mir dazu jedoch fehlt, ist eine ID oder Klasse im HTML-Quelltext, mit der die aktive Sprache gekennzeichnet ist, also z.B. XML id=en_EN">Jede Unterstützung ist willkommen, vielen Dank im Voraus. [This article was edited 2 times, at last 16.08.2012 at 20:12.] |
|
Written on: 21. 08. 2012 [10:31]
|
|
|
OlafGrabienski
Olaf Grabienski
Topic creator
registered since: 01.03.2012
Posts: 6
|
Der Beitrag wurde schon 55 mal gelesen, aber noch keine Antwort, schade. Hat niemand einen Tipp? (Ich hoffe, meine Fragen sind verständlich, obwohl in der Code-Ansicht der Beispiele einige Zeichen wie z.B. Teile des "a"-Tags verschluckt wurden. Falls etwas nicht verständlich ist, gerne rückfragen.) |
|
Written on: 21. 08. 2012 [11:27]
|
|
|
mtullney
Marco Tullney
registered since: 15.12.2009
Posts: 7
|
Lieber Olaf Grabienski, spontan dazu: Mehrsprachigkeit wird über locale-Dateien in den unterschiedlichen Sprachen hergestellt. Sie sollten die Teile, die übersetzt werden sollen, nicht in den Templates hart codieren. Sie können für Ihr Plug-In einen locale-Ordner anlegen und dort Unterverzeichnisse für die Sprachen anlegen - de_DE für Deutsch, en_US für Englisch. Dort platzieren Sie Ihre eigene locale.xml-Datei, die einer einfachen DTD genügen muss (https://github.com/pkp/pkp-lib/blob/master/dtd/locale.dtd). Diese Dateien (de_DE/locale.xml, en_US/locale.xml) enthalten dann die Keys für Ihr Plug-In. Sie können die Keys dann ganz normal in Ihrem Template benutzen: {translate key="plugins.block.…"} Sie sollten darauf achten, dass Ihre Key-Namen eindeutig sind, damit es keine Kollisionen mit andernorts verwendeten Namen gibt. Dazu kodieren Sie am besten den Plug-In-Pfad mit, z.b. plugins.block.(projektname).roles.editor etc. Sie können sich als kurzes Beispiel das developedBy-Plug-In ansehen, insbesondere: https://github.com/pkp/ojs/blob/master/plugins/blocks/developedBy/block.tpl https://github.com/pkp/ojs/blob/master/plugins/blocks/developedBy/locale/de_DE/locale.xml https://github.com/pkp/ojs/blob/master/plugins/blocks/developedBy/locale/en_US/locale.xml Ich hoffe, das hilft Ihnen weiter, ansonsten melden Sie sich bitte noch einmal - dann vielleicht mit konkreten Code-Beispielen. Mit freundlichen Grüßen Marco Tullney |
|
Written on: 21. 08. 2012 [12:55]
|
|
|
mtullney
Marco Tullney
registered since: 15.12.2009
Posts: 7
|
Ansonsten gibt es eine längere Anleitung unter http://pkp.sfu.ca/wiki/index.php/Writing_a_Block_Plugin |
|
Written on: 21. 08. 2012 [13:03]
|
|
|
OlafGrabienski
Olaf Grabienski
Topic creator
registered since: 01.03.2012
Posts: 6
|
Danke, Marco Tullney! Das mit den locale-Dateien werde ich probieren. (Die genannte Anleitung hatte ich anfangs sogar schon konsultiert, die kurze Passage zu Mehrsprachigkeit jedoch übersehen.) |
|
Written on: 27. 08. 2012 [20:33]
|
|
|
OlafGrabienski
Olaf Grabienski
Topic creator
registered since: 01.03.2012
Posts: 6
|
Kurze Rückmeldung: Mit Hilfe der locale-Dateien hat alles geklappt, danke noch einmal für den Hinweis! Gefreut habe ich mich auch darüber, dass ich im eigenen Sidebar-Navigations-Plugin auch das title-Attribut für Links vergeben konnte. Beispiel: HTML (Ist es eigentlich zutreffend, dass in der OJS-Hauptnavigation keine Verwendung des title-Attributs möglich ist - es sei denn, man überschreibt das Template?) |