2016-08-29 4 views
0

Я создал один образец портлета в liferay 6.2, в котором мне нужно напечатать значение unicode на французском языке.Язык перевода не работает в liferay 6.2

Я создал файл language_fr_FR.properties в папке src и на моей странице jsp у меня напечатано значение.

results.noresults   = No r\u00E9sultats (language_fr_FR.prop) 

страница JSP

<liferay-ui:message key="results.noresults"/> 

в JSP не я получаю сообщение, как Нет rsultats

может кто-нибудь пожалуйста, скажите мне, какой класс или метод этот юникода перевод выступает в Liferay.

ответ

0

По какой-либо причине файлы свойств языка Liferay должны быть закодированы в UTF-8, а не в противном случае типичным Java-кодированием ISO-8859-1 (или экранированными символами).

Иногда сложно убедить вашу среду IDE, что это действительно ожидаемая кодировка, но она работает.

+0

спасибо ... Я создал один метод для разбора юникода. Теперь я хочу знать, откуда метод разбора по умолчанию вызывает класс PropertiesUtil.java. в исходном коде. –

+0

привет Олаф, не могли бы вы рассказать мне, из какого класса или метода этот перевод юникода выполняет в liferay ... Ниже код работает нормально, поэтому я хочу переопределить этот код ... String string = StringEscapeUtils.unescapeJava ("Tout s \ u00E9 lectionner/d \ u00E9 lectionner "); –

+0

, кроме угадывания, для этого потребуется плагин ext, чтобы изменить это поведение, а не от верхней части головы. Если вы собираетесь создать дополнительный плагин, вы все равно будете делать операцию на открытом сердце и должны быть знакомы с кодом. Следите за тем, чтобы какой-либо класс начинался с языка *, и вы должны, по крайней мере, находиться рядом с файлами свойств. Вам нужно будет понять немного о внутренней работе, чтобы создать ext в любом случае (читайте: я бы посоветовал не делать этого для этой простой цели. Просто пойдите с кодировкой или возьмите пакетную обработку во время сборки) –

0

Один из способов убедиться, что у вас есть правильный файл свойств, записывается в файл xx.properties.native и, независимо от его кодировки, вызывает задачу native2ascii во время сборки. Это должно привести к файлу с символами, отличными от ascii, закодированными как Unicode. Если вы хотите напрямую писать в xxx.properties с вашими региональными символами, вы должны убедиться, что используете кодировку UTF-8, а IDE не делают это автоматически. Liferay IDE использует UTF-8 для редактирования файлов свойств в последних версиях, поэтому вы должны иметь возможность писать только обычный французский в своих файлах свойств и забывать о переводе в Unicode. Это все равно. У меня были некоторые головные боли.

+0

спасибо ... Я создал один метод для разбора unicode ... Теперь я хочу знать, откуда метод разбора по умолчанию вызывает класс PropertiesUtil.java. в исходном коде. –

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