Локализация

Курс "Программирование под Андроид"
10 уровень, 4 лекция
Открыта

Фрагмент кода с испанским переводом строк из приложения Just Java

В этой статье — исчерпывающее объяснение работы со строками.

Контрольный список локализации перед запуском приложения.

Комментарии (20)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
misha_lazarev Уровень 34
29 мая 2022
Все получится (автор фразы: Виктор)
Эшли Уровень 10
1 мая 2022
Добавил Беларускую мову))) Чтобы приложение могло сейчас показать, откуда на Бялорусь готовилось нападение...)
bighugеmistеr Уровень 15
23 января 2022
А почему на 4:38 она писала

getResources().getString();
, а во всех последующих моментах она писала просто

getString();
, то есть без getResources()?
25 января 2022
Знающий народ говорит, что они одинаковые как не крути: https://stackoverflow.com/questions/8999591/difference-between-getstring-and-getresources-getstring
Dima Уровень 19
8 января 2021
Ну xliff это по сути комментарий для переводчика, чтобы он понимал, что происходит - в качестве приема значения достаточно оставить %s
Учиха Шисуи Уровень 22 Expert
8 января 2021
Вот это уже интересно!
🦔 Виктор Уровень 20 Expert
2 декабря 2020
1. Полную локализацию не стал делать, не в продакшн всё-таки приложение сдаю, но частично попрактиковался на строках с английским и русским языком. 2. За xliff отдельное спасибо, не знал. Чтобы он работал, нужно объявить соответствующее пространство имён в корне ресурс файла:

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
3. Когда начал на своём боевом телефоне менять язык, то не только в учебном приложении увидел локализацию текста, но и у видел как гугл плей маркет начал скачивать кучу локализаций для уже установленных приложений :o 4. Всё получится!
Николай Уровень 2
17 августа 2019
xliff нужно добавлять во все локализации strings.xml.
LCI Уровень 3
22 июля 2019
Пока что пропустим
18 декабря 2020
зря, очень интересно)
Витёк (Vitek) Уровень 10
10 июля 2018
Не понял. Зачем обращаться из java кода к строковым ресурсам, если мы это делаем из XML кода?
Илья Уровень 17
21 марта 2018
Для тех кто не понял про xliff, это просто плейсхолдер. То есть, например, в strings.xml мы пишем: <string name="name">Имя: <xliff:g>%s</xliff:g></string> Причем атрибуты example и id вовсе не обязательны, они были показаны в видео, но это лишь для удобства переводчика. А в java коде пишем:

getString(R.string.name, name)
Вторая name это строковая переменная с именем, можно сперва положить в нее имя, вызвав метод, созданный нами ранее для получения введенного пользователем имени, а можно подставить метод прямо туда, как я и сделал:

getString(R.string.name, typeName())
В общем, это очень удобная вещь, на самом деле. Чтобы xliff воспринимался правильно нужно <resources> поменять на: <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">