Я использую Zymic , его отличный хостинг, но он не поддерживает расширение php gettext . Я планирую купить некоторый хостинг в будущем, но отныне я хочу простейшее решение, чтобы заменить функцию gettext , в этом случае я хочу отображать другой текст (английский, испанский, китайский и т. Д.). без чрезмерного изменения файла (по крайней мере, не нужно создавать файлы с расширением для каждого языка).
Я попробовал что-то вроде этого:
<?php $lang = ""; switch ($lang) { case "en": $lang = "Hello World"; break; case "es": $lang = 'Hola Mundo'; break; } ?> <div> <p><?php echo $lang;?></p> </div>
Когда я изменяю переменную $lang
она работает. Я начинающий PHP, и я не могу придумать, как изменить его в браузере (нажав ссылку).
Или есть лучший способ сделать это?
Я бы сказал, что Zend_translate – лучший выбор для интернационализации в наши дни. Это даже лучше, чем gettext. См. Этот SO-запрос для ряда аргументов. Этот вопрос состоял в том, как я сам узнал о Zend_translate.
Это немного для простой задачи, которую вы показываете в своем вопросе, и вначале может потребоваться немного работы, чтобы привыкнуть к ней, но компоненты Zend обещают очень хорошие решения для всех видов вопросов интернационализации, которые больше, чем просто перевод слов. Существуют также различные форматы нумерации, форматы времени, форматы валют, часовые пояса … все, о чем следует заботиться при интернационализации приложения.
Он не требует каких-либо конкретных расширений, и вы можете использовать части Zend Framework в качестве простой библиотеки, нет необходимости придерживаться определенной структуры приложения или чего-то еще.