我希望将自己的网站设置为使用与我的android应用完全相同的xml文件进行语言翻译。到目前为止,我可以使用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文件。