Существует множество способов добиться перевода страницы с помощью Smarty.
Мой путь
Я создаю несколько .conf
файлов, содержащих что-то вроде:
en.conf
hello_world = "Hello! World!"
my_name_is = "They call me"
nl.conf
hello_world = "Hallo! Wereld!"
my_name_is = "Ik heet"
fr.conf
hello_world = "Bonjour! Tout le Monde!"
my_name_is = "Ils m'appellent"
Теперь у вас есть 2 варианта:
- Вы можете загрузить файл
.conf
из файла .tpl
:
- Или вы хотите, чтобы PHP обрабатывал нужный файл. (Я использую этот метод)
template.tpl (английский)
{config_load file="en.conf"}
<html>
<body>
<h1>{#hello_world#}</h1>
<p>
{#my_name_is#}
</p>
</body>
</html>
template.tpl (голландский)
{config_load file="nl.conf"}
<html>
<body>
<h1>{#hello_world#}</h1>
<p>
{#my_name_is#}
</p>
</body>
</html>
template.php (Использование Smarty Class в PHP)
$configFile = 'fr.conf';
// Smarty Version 2
$this->smarty->config_load($configFile);
//Smarty Version 3
$this->smarty->configLoad($configFile);
Надеюсь, это сработает и для вас.