Я хочу настроить свой веб-сайт на использование того же 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-файл.