Android-приложение, отображающее некорректные символы испанского акцента - PullRequest
1 голос
/ 10 июня 2011

У меня есть текущее приложение для Android, которое использует i18n через ресурсы.res / values-es / strings.xml и так далее.Когда я тестирую его на устройстве с языком, установленным на Espanol, он извлекает правильные ресурсы из файла значений, но символы ударения не в порядке.

Например, я хочу использовать строчную букву o с ударением (ó).Я попытался с реальным символом в файле strings.xml (используя карту символов в Ubuntu для создания строки) и с сущностью, в любом случае это получается как какой-то другой акцент набора символов, который я не узнаю:

enter image description here

Один и тот же символ выглядит идеально в рамках strings.xml при использовании различных текстовых редакторов.И файл UTF-8 (попытался воссоздать его с помощью Android-мастера «Мастер» в Eclipse, чтобы убедиться).

strings.xml

   <?xml version="1.0" encoding="utf-8"?>
    <resources>
            <string name="label_app_version">Versión</string>
    </resources>

Теперь я использовал французский,и немецкий раньше в других приложениях для Android, со всеми видами акцентов, и не видел этой проблемы, так что я в настоящий момент в замешательстве.Что я делаю не так в этот раз?

Ответы [ 4 ]

3 голосов
/ 16 июня 2011

Я наконец решил это.Я использовал шрифт и вызывал setTypeface ранее в коде.Шрифт, который я использую, не должен иметь специальных символов, необходимых для других языков.Мне нужно проверить, чтобы убедиться, что мой пользователь использует локаль, которую поддерживает мой шрифт, прежде чем устанавливать шрифт.

Я должен был это понять и проверить раньше.

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

3 голосов
/ 10 июня 2011

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

Это мне пока не ясно:

  1. Это происходит только в этом проекте?Ты пробовал других?(возможно, ошибка проекта)
  2. Попробуйте включить другие языковые папки (попробуйте, скажем, values-fr).У вас есть такая же проблема?
  3. Вы пытались создать свое приложение в Eclipse?Вы пытались строить вручную из командной строки?

Затем вы можете попробовать:

  1. Вместо «-» (здесь в PT мы используем то же самое),попробуйте \u00f3.Нравится: Versi\u00f3n.Вы получаете правильный латинский маленький с острым?Просто чтобы прояснить ситуацию.
  2. Создайте свое приложение, используя ant ($ ant release) вручную в командной строке.Сообщите результаты.

Это может помочь парням здесь (которые намного опытнее меня) угадать, где может быть проблема.

BestС уважением!

1 голос
/ 10 июня 2011

Это странно, так как не должно вызывать проблем. Может быть, вам следует попробовать вставить строку в раздел CDATA, например:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="label_app_version"><![CDATA[Versión]]></string>
</resources>
1 голос
/ 10 июня 2011

Проверьте, как хранится фактический файл strings.xml.

В дереве файлов в Eclipse щелкните правой кнопкой мыши файл strings.xml и выберите свойства.

Вы получитеДиалог свойств для файла.

Если он еще не выбран, выберите строку «Ресурс» в левом столбце.

Проверьте область «Кодировка текстового файла» внизу.Может быть выбрано «по умолчанию» или выбрана определенная кодировка, например «UTF-8».

Выберите опцию UTF-8.Сохранить файл.Очистите и создайте проект (для повторного создания ресурсов), а затем посмотрите, есть ли какие-либо изменения enter image description here s.

См. Прикрепленный снимок экрана.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...