Я хочу предоставить языковую поддержку на нескольких языках в веб-приложении php. Существует несколько разных способов сделать это. Раньше я использовал для хранения переменной в php файле для каждого языка, такого как en.php
для английской поддержки, и fr.php
для французской поддержки. Например, для слов " Good Morning
я бы сохранил его в ключевом $goodmorning
затем определял его в обоих файлах и указывал на один или другой файл с оператором if в зависимости от ввода пользователя.
Он отлично поработал, но это была большая работа. Есть ли более эффективный способ сделать это? Я думал о сохранении слов в таблице базы данных, называемой language_support. Таблица будет выглядеть следующим образом
id | en | fr | es |last_update
1 | hello | allo | hola | 04/12/2018
Но мой вопрос: как бы я научил свою программу распознавать слова?
Посмотрите на функции PHP _() и __(). Это для многоязычной поддержки внутренних строк, а не контента. Другими словами, для подсказок "Нажмите любую клавишу для продолжения" или "Введите имя клиента", а не в статьях в блоге. Общий способ работы заключается в том, что у вас есть текстовый файл для каждого языка, каждый текстовый файл со всеми внутренними строками на исходном и целевом языках.
Вы бы использовали, например, _("Good Morning!")
, И если вы установили язык на немецкий, выход будет "Guten Tag!".
Я на работе, поэтому я не могу показать вам какой-либо PHP-код прямо сейчас, но этого должно быть достаточно для Google. :)