Использование файлов Android strings.xml в php - PullRequest
0 голосов
/ 02 ноября 2018

Я хочу настроить свой веб-сайт на использование того же XML-файла для моих языковых переводов, что и в моем приложении для Android. Пока что он работает, используя simplexml_load_file() для загрузки строк. Но это работает только для простого текста, любые строки, имеющие любое форматирование, удаляют строку форматирования.

Например, используя две строки ниже:

<string name="basicPlan">Basic Plan</string>
<string name="basicPlanDetails">
    Our Basic Plan starts at
    <xliff:g name="price" example="5.99">%1$d</xliff:g>
    per month.
</string>

Я могу печатать basicPlan просто отлично, но когда я пробую basicPlanDetails, текст появляется, но весь этот раздел отсутствует: <xliff:g name="price" example="5.99">%1$d</xliff:g> так что это просто показывает «Наш Базовый план начинается в месяц»

Если бы я мог просто сохранить часть %1$d, я бы смог использовать sprintf() для ее форматирования, но, похоже, simplexml_load_file() удаляет тег <xliff:g> и все его содержимое. Есть ли способ загрузки XML-файла при сохранении форматирования строки?

РЕДАКТИРОВАТЬ: Найден временный обходной путь, я просто вырезать эти теги из файлов строк, используя эту строку:

strip_tags(file_get_contents("strings.xml"),"<xml><resources><string><item><plurals><string-array><array>");

Тогда я сохраню его обратно над собой. Это сохраняет %1$d, так что я могу использовать sprintf(), не страшно, но все равно это не тот же XML-файл.

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