Выбор свойств сообщения Java для чтения языков справа налево - PullRequest
2 голосов
/ 13 мая 2019

У меня есть около 30 языков, которые должны поддерживать мое приложение. У меня есть довольно простой текст, который был предоставлен для каждого из них, но в этом тексте мне нужно сделать один выбор, используя {0, choice, 0 # ... | 0 <...} </p>

В настоящее время я даже не дошел до того, чтобы проверить, работает ли это, потому что у меня много проблем с попыткой настроить мой текстовый редактор, чтобы позволить мне комбинировать текст слева направо и справа налево, но то, что я действительно хочу чтобы узнать, возможно ли это вообще ...

Вопрос: Можно ли использовать встроенный выбор свойств сообщений Java с языками, перетекающими справа налево.

Если кто-нибудь может придумать какие-либо дополнительные теги для использования в этом вопросе, я был бы признателен.

1 Ответ

1 голос
/ 13 мая 2019

Краткий ответ: да, это возможно.Это сложная проблема, но поддержка BIDI (двунаправленная) - проблема не вашего текстового редактора.Так что, если ваш текстовый редактор поддерживает это (и большинство редакторов поддерживают), то это возможно.Сначала вы должны убедиться, что вы используете кодировку (набор символов), которая поддерживает несколько языков - рекомендуется UTF-8 (но также может работать UTF-16 и, возможно, некоторые другие) в отличие от ISO-8859-X (где Xэто одна цифра), которая поддерживает только 2 языка.Также вы можете записать свои строки в файле свойств или в любом месте кода в виде последовательности юникода.

Существует библиотека Java с открытым исходным кодом MgntUtils, в которой есть утилита, которая преобразует строки на любом языке (включая специальные символы и смайлики впоследовательность Юникода и наоборот:

result = "Hello World";
result = StringUnicodeEncoderDecoder.encodeStringToUnicodeSequence(result);
System.out.println(result);
result = StringUnicodeEncoderDecoder.decodeUnicodeSequenceToString(result);
System.out.println(result);

Вывод этого кода:

\u0048\u0065\u006c\u006c\u006f\u0020\u0057\u006f\u0072\u006c\u0064
Hello World

Библиотека может быть найдена в Maven Central или в Github Поставляется в виде артефакта maven, с источниками и javadoc

Вот javadoc для класса StringUnicodeEncoderDecoder

...