2015-12-08 2 views
1

У меня есть короткий вопрос об использовании фрагментов в Eclipse RCP. В настоящее время я использую механизм Messages для перевода строк. Файлы Messages.java и * .properties находятся в моем плагине, и все работает нормально. Теперь я хотел бы использовать различные строки/переводы для разных клиентов. Насколько я знаю, плагины-фрагменты - это возможное решение. Я читал, что переопределение файлов в хост-плагине с помощью фрагмента невозможно. Поэтому я думаю, что я должен использовать 2 разных фрагмента, которые предоставляют правильный файл * .properties. На следующем рисунке показана схема, которую, я думаю, я должен использовать.Eclipse RCP - Использование фрагмента для предоставления переводов

Host-Fragment-Usage

После настройки проектов фрагмента (хост-модули установлены и * .properties файлы находятся в равной степени с именем пакета в один в хозяине) Я хотел бы начать свой RCP приложение с помощью Eclipse IDE. Также настроены конфигурации 2 Run Configurations. При использовании консоли OSGI я вижу, что мой фрагмент присутствует и РЕШЕНО.

Но моя проблема в том, что предоставленные строки/переводы из фрагментов не используются. Каждый раз, когда я запускаю приложение, используются некоторые старые строки/переводы (те, которые использовались до перемещения файлов свойств на фрагменты).

Кто-нибудь знает, что я делаю неправильно, и если мое решение - правильный подход?

Заранее спасибо :)

+0

я не уверен, но похоже, что вы используете два одинаковых фрагмента - может быть, это просто скопировать и вставить, но вы не можете предоставить два-де-языковых пакетов (Deutschland) в двух фрагментах .... –

+0

вас обычно создают фрагмент для поддержки немецкого языка и другой фрагмент для (возможно) поддержки языкового языка ... –

+0

Я создал оба плагина через New Wizard - без копирования и вставки. У меня есть 2 разных продукта и 2 разных конфигурации запуска. В зависимости от конфигурации я добавляю Fragment1 OR Fragment2 - не оба одновременно. Каждый продукт должен иметь свои собственные сообщения .properties и немецкий перевод. Сам хост-модуль не предоставляет никаких сообщений .properties или немецкий перевод. – AnarchoEnte

ответ

0

вы должны запустить затмение продукта с правильной конфигурацией - если вы хотите увидеть (и тест) Ваша поддержка языка вы должны начать затмение с соответствующей информацией !! enter image description here

пытается установить язык непосредственно

-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl de_DE -consoleLog

+0

К сожалению, это не сработает ни. Интересно, что эти строки/переводы используются, которые были помещены в хост-плагин, прежде чем я переместил их на фрагменты. Даже если я изменяю свойства в своих фрагментах, строки не используются. Может быть, Eclipse использует некоторый механизм кеширования? – AnarchoEnte

+0

, если вы запустите приложение eclipse, вы видите, какой контент установлен? Справка -> О -> Сведения об установке -> Плагины? ваш фрагмент должен быть указан там ... –

+0

Установлен хост-плагин и фрагмент – AnarchoEnte

0

Предоставляют ли вы заголовку манифест?

Bundle-Localization: plugin 
+0

Я добавил это к моему фрагменту Manifest.MF, но без успеха :( Фрагмент находится в статусе «RESOLVED» и имеет ссылку на мой хост-плагин, который находится в статусе «АКТИВНО». Я думаю, что соединение в порядке, но сообщения, предоставленные в фрагменте, не используются. Может быть, Eclipse кэширует некоторые данные? Используемые сообщения были перемещены (!) с хоста на фрагмент и изменен, но старые сообщения все еще используются – AnarchoEnte

+0

Это должно быть внутри хоста. Не в фрагменте. –

+0

К сожалению, нет успеха. Я начинаю спрашивать себя, можно ли добавить messages.properties через фрагмент в хост-плагин Но IMHO это должно быть возможно через фрагменты. Свойства - Файлы находятся внутри пакета с одинаковым именем в плагине хоста. – AnarchoEnte

Смежные вопросы