2009-03-13 5 views
9

Wie kann ich Strings in der plugin.xml meines Eclipse-Plugins externalisieren?Strings in plugin.xml für Eclipse-Plugin externalisieren

Rechtsklick auf das Plugin-Projekt> PDE Tools> Strings externalisieren zeigt nicht mein Plugin.

Ich versuche, dies jetzt manuell zu tun. Ich fügte Einträge in plugin.properties hinzu und ersetzte die entsprechende Zeichenfolge in plugin.xml durch ein% -Zeichen gefolgt von dem Zeichenfolgenschlüssel. Aber das scheint nicht zu funktionieren. Was fehlt mir hier?

Antwort

18

Endlich habe ich herausgefunden, wie man das Plugin manuell externalisiert.

Eclipse es stellt sich heraus, externalisiert plugin.xml diese Weise:

  • Im Plugin-Manifest (META-INF/MANIFEST.MF), fügen Sie die folgende Zeile

    Bundle-Localization: plugin 
    

    wo Sie beabsichtigen, die externalisierten Zeichenfolgen in einer Datei mit dem Namen "plugin.properties" zu speichern (stellt fest, dass dies das fehlende Teil war).

  • Fügen Sie die externalisierten Schlüssel/Wert-Paare in der Datei plugin.properties hinzu.

  • Ersetzen Sie die tatsächlichen Zeichenfolgen in plugin.xml durch die Schlüssel aus plugin.properties (mit dem Präfix%).

+0

Vielen Dank für dieses Feedback. +1. Ich habe in meiner Antwort unten einige Links zum Thema "Bündel-Lokalisierung" hinzugefügt. – VonC

3

Wenn in Ihrem Arbeitssatz Plug-in-Projekte enthalten sind, sollte Externalize Strings wizard zur Unterstützung der Externalisierung von Zeichenfolgen in den Manifest- und plugin.xml-Dateien verfügbar sein.
Manifestdateien externalisieren extrahiert übersetzbare Zeichenfolgen und speichert sie in einer Eigenschaftendatei für die Unterstützung mehrerer Sprachen.

Der Assistent ist im Menü PDE-Tools im Kontextmenü der MANIFEST.MF- oder plugin.xml-Dateien eines PDE-Projekts verfügbar.

alt text http://help.eclipse.org/stable/topic/org.eclipse.pde.doc.user/guide/images/pde_actions/externalize_strings_selection.png

Beachten Sie, dass es einige Fehler zu detecting all non-externalized attributes/values of the <extension-point> and <extension> elements oder showing up un-externalized names of extension(-point), die in 3.4 oder jüngsten 3.5M4 gelöst sind nur im Zusammenhang waren.

Wenn jedoch die „Externalize Strings“ Menü überhaupt nicht auf dem Plugin-Projekte können nicht auftauchen, werden seine „project nature“ ist irgendwie beschädigt werden, kann Ihre frühere Java-Projekt not properly converted to a PDE project ist sein?

So zwei Vorschläge: noch

  • Versuch mit einer Neuinstallation eines eclipse3.5M4
  • Ihr Plugin-Projekt importieren und überprüfen Sie die Natur

Und uns dann sagen, ob das Menü nicht verfügbar.


Wie Sie in your own answer erwähnen ist der Externalisierungsprozesses durch die Zeichenfolge erklärt

Bundle-Localization: plugin 

in der MANIFEST.MF Datei, wie in this message erwähnt.

A bug has been created, aber:

  • Die Lokalisierung ist nicht etwas spezifisch für PDE sondern die OSGi-Spezifikation
  • diese Linie nicht immer im manifest ist:

    Vor 3.3 Wir haben alle unsere Manifeste erstellt, indem wir eine plugin.xml erstellt und dann konvertiert haben. Der Konverter hat immer "Bündel-Lokalisierung: Plugin" zum Manifest hinzugefügt, da dies der Standardort ist, wenn das Plug-in kein Manifest hat.
    Wenn ein Plug-in keine Übersetzungsdateien enthielt, war dieser Header unnötig aufgebläht.
    In 3.3, erstellten wir Plug-in-Projekte durch direktes Erstellen von Manifest, was bedeutet, dass wir beschlossen, nur die Header für die Erstellung von Projekten erforderlich zu erstellen.

  • es ist wahrscheinlich ein Problem für diejenigen sein, die in 3,3 sie Bündel mit Externalisierung < 3.2, und dann nicht in der Lage zu sehen beim Laufen geschaffen haben.

+0

Aus irgendeinem Grund zeigt der Externalize String Wizard andere Plugins, aber nicht das erforderliche Plugin an. Ich habe es geschafft, das Problem zu beheben. Ich habe es hier als neue Antwort hinzugefügt. – PlagueHammer

+0

+1 Für eine vollständige Lösung, die ich nicht wusste, dass es existierte. Normalerweise habe ich alle diese Saiten von Hand internationalisiert. –

+0

Danke Nocturne für die Post. Zusammen mit den Änderungen, die Sie in Ihrem Beitrag erwähnt haben, möchte ich noch eine Zeile hinzufügen. Fügen Sie beim Exportieren des Plug-in jar den Eintrag plugin.properties in der Datei build.properties ein. –

Verwandte Themen