2009-03-13 6 views
9

Как я могу выделить строки в плагине плагина Eclipse плагина.xml?Внешние строки в plugin.xml для плагина Eclipse

Щелчок правой кнопкой мыши по проекту плагина> Инструменты PDE> Внешние строки не отображают мой плагин.

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

ответ

18

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

Затмение, оказывается, воплощается plugin.xml таким образом:

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

    Bundle-Localization: plugin 
    

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

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

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

+0

Благодарим вас за отзыв. +1. Я добавил некоторые ссылки, связанные с этой проблемой «Bundle-Localization» в моем ответе ниже. – VonC

3

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

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

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

Имейте в виду, что некоторые ошибки, связанные с detecting all non-externalized attributes/values of the <extension-point> and <extension> elements или showing up un-externalized names of extension(-point), которые только растворенные в 3,4 или очень недавно 3.5M4.

Однако, если в меню «экстернализация строки» не отображается на все ваши плагин проектов, может быть его «project nature» поврежден каким-то образом, может быть ваш бывший проект Java является not properly converted to a PDE project?

Так два предложения:

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

И тогда скажите нам, если это меню еще недоступен.


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

Bundle-Localization: plugin 

в файле MANIFEST.MF, как указано в this message.

bug has been created, но:

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

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

  • это, вероятно, будет проблемой для тех, которые создали пучки с экстернализации < 3,2, а затем не в состоянии увидеть их при работе в 3.3.

+0

По какой-то причине мастер Externalize String показывает другие плагины, но не обязательный плагин. Однако мне удалось решить проблему. Я добавил его в качестве нового ответа здесь. – PlagueHammer

+0

+1 Для полного решения, которое я не знал, что существует. Я обычно интернационализировал все эти строки вручную. –

+0

Спасибо Ноктюрн за сообщение. Наряду с изменениями, которые вы упомянули в своем посте, я хотел бы добавить еще одну строку. При экспорте флага подключаемого модуля сделайте запись plugin.properties в файле build.properties. – 2012-08-22 10:33:58