Я кодирую веб-сайт с языковой строкой, разделенной на XML-файлы.В зависимости от языка я включаю тот или иной.С этим проблем нет.
Кстати, этот сайт является динамическим, поэтому будет иметь, например, строку типа Hello ipalaus! на английском языке, например Bienvenido ipalaus! и т. Д.В этом случае у нас тот же порядок слов, но в некоторых случаях, вероятно, будет имя строки , имя строки , строка имени строки ...
В любом случае, можно ответить, что sprintf()
делает в PHP?В PHP у нас есть это:
<?php
$name = "ipalaus";
$string = "Welcome %s";
echo sprintf($string, $name);
// OUTPUTS: Welcome ipalaus
?>
Я хотел бы иметь в моем index.en.xml что-то вроде:
<language>
<welcome>Welcome %s</welcome>
</language>
В моем index.xml , созданный с помощью PHP, будет иметь:
<index>
<locale>en</locale>
<welcome>ipalaus</welcome>
</index>
и в файле XSLT представляют Welcome ipalaus .
На самом деле,в моем файле XSLT я использую это для загрузки языка:
<xsl:param name="language" select="document(concat('../lang/', $locale, '/index.xml'))" />
Доступ к значениям с помощью: <xsl:value-of select="$base/language/welcome" />
.
Заранее спасибо!
РЕДАКТИРОВАТЬ: Пример для вопроса к Алехандро о его полностью действительный ответ:
<index>
<video>
<author>ipalaus</author>
</video>
<video>
<author>Alejandro</author>
</video>
</index>
И языковой файл:
<language>
<video>
<made>This videos is made by <author/></made>
<random>Another string</random>
</video>
</language>