Внешние строки в plugin.xml для плагина Eclipse - PullRequest
9 голосов
/ 14 марта 2009

Как мне вывести строки в plugin.xml моего плагина Eclipse?

При щелчке правой кнопкой мыши по проекту плагина> Инструменты PDE> Externalize Strings мой плагин не отображается.

Я пытаюсь сделать это вручную сейчас. Я добавил записи в plugin.properties и заменил эквивалентную строку в plugin.xml знаком%, за которым следует строковый ключ. Но это не похоже на работу. Что мне здесь не хватает?

Ответы [ 2 ]

18 голосов
/ 14 марта 2009

Я наконец понял, как вручную подключить плагин.

Eclipse, оказывается, выводит plugin.xml таким образом:

  • В манифесте плагина (META-INF / MANIFEST.MF) добавить следующую строку

    Bundle-Localization: plugin
    

    , где вы намереваетесь сохранить внешние строки в файле с именем "plugin.properties" (оказывается, это был отсутствующий фрагмент).

  • Добавить пары ключ-значение для внешней строки в plugin.properties.

  • Заменить фактические строки в plugin.xml ключами из plugin.properties (с префиксом%).

3 голосов
/ 14 марта 2009

Если в вашем рабочем наборе есть проекты плагинов, должен быть доступен Externalize Strings wizard , помогающий экстернализовать строки в файлах Manifest и plugin.xml.
Внешние файлы манифеста извлекают переводимые строки и сохраняют их в файле свойств для многоязычной поддержки.

Мастер доступен в меню инструментов PDE в контекстном меню файлов MANIFEST.MF проекта PDE или файлов plugin.xml .

alt text
(источник: eclipse.org )

Имейте в виду, что были некоторые ошибки, связанные с обнаружением всех неэкстернализованных атрибутов / значений <extension-point> и <extension> элементов или , отображающих неэкстернализованные имена расширения ( -точка) , которые решаются только в версии 3.4 или самой последней версии 3.5M4.

Однако, если меню «Externalize Strings» вообще не отображается в ваших проектах плагинов, возможно, его « характер проекта » как-то поврежден, возможно, ваш бывший Проект Java неправильно преобразован в проект PDE ?

Итак, два предложения:

  • попробуйте новую версию eclipse3.5M4
  • импортировать ваш плагин проекта и проверить его природу

А затем скажите нам, если это меню по-прежнему недоступно.


Как вы упоминаете в своем собственном ответе , процесс экстернализации объявляется строкой

Bundle-Localization: plugin

в файле MANIFEST.MF, как указано в в этом сообщении .

ошибка была создана , но:

  • Локализация - это не что-то специфичное для PDE, а спецификация OSGI
  • эта строка не всегда в МАНИФЕСТЕ:

    До версии 3.3 мы создали все наши манифесты, создав файл plugin.xml, а затем превращая это. Конвертер всегда добавляет «Bundle-Localization: плагин» к Manifest, поскольку это местоположение по умолчанию, если в плагине нет Manifest.
    Если в плагине не было файлов переводов, этот заголовок был ненужным.
    В 3.3 мы создали проекты плагинов, создав Манифест напрямую, что означает, что мы решил создать только заголовки, необходимые для создания проекта.

  • это может быть проблемой для тех, кто создал пакеты с экстернализация <3.2, а затем не может видеть их при работе в 3.3. </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...