Файловая система системы локализации в netbeans

Я пытаюсь выполнить локализацию для Netbeans RCP, и я застрял, когда пытался заставить layer.xml читать свойства из Bundle.properties. Он читает его и меняет имена в дереве проекта netbeans, но я хочу добиться изменения имени в приложении.

<folder name="Folder 1">
    <attr intvalue="2" name="position"/>
    <folder name="subfolder 1" >
         <attr intvalue="0" name="position"/>
    </folder>
    <folder name="subfolder 2" >
         <attr intvalue="0" name="position"/>
    </folder>
</folder>

<folder name="Folder 2">
    <attr intvalue="2" name="position"/>
    <folder name="subfolder 1" >
         <attr intvalue="0" name="position"/>
    </folder>
    <folder name="subfolder 2" >
         <attr intvalue="0" name="position"/>
    </folder>
</folder>

Многие классы используют путь к папкам, и это жестко запрограммировано, т.е.

@ActionReference(path = "folder 1/sufolder 2", position = 1)

Когда я запускаю приложение с локалью, отличной от стандартной (например, испанской), оно загружает файл Bundle_es_ES.properties, содержащий испанский перевод. Я также хочу перевести имена папок, потому что они отображаются в приложении. Единственная подсказка, которую я нашел, заключалась в том, чтобы добавить атрибут «displayName», который считывает параметр из файла Bundle.properites. Это не работает так, как я хотел.

Большое спасибо за вашу помощь


person damian_pol    schedule 05.09.2014    source источник
comment
Демьян, у меня точно такая же проблема. Я знаю, что этот пост довольно старый, но вы получили ответ?   -  person jjazzboss    schedule 19.12.2020


Ответы (1)


В вашем layer.xml вам нужно добавить атрибут displayName к вашим локализуемым папкам, например:

   <folder name="subfolder1" >
         <attr intvalue="0" name="position"/>
         <attr name="displayName" bundlevalue="org.path.to.Bundle#Actions/subfolder1">
   </folder>

тогда Netbeans будет использовать запись Actions/subfolder1=xxx из локализованного Bundle_xx_XX.properties.

Среда IDE Netbeans может внести эти изменения за вас: отредактируйте файл layer.xml из среды IDE, выберите subfolder1, щелкните правой кнопкой мыши меню Localize Name.

person jjazzboss    schedule 19.12.2020