Я разрабатываю сайт, который уже переведен на португальский и английский языки.
На данный момент есть два разных сайта для них:
http://yogmel.com : Английская версия
http://yogmel.com/pt/ : Португальская версия
Я провел некоторое исследование и обнаружил, что это не лучший способ сделать это.
Какой лучший способ изменить язык сайта? У меня уже есть переведенные тексты / страницы, и я не хочу, чтобы они были переведены третьей стороной (Google Translator, Wix, Squarespace).
Я готов учиться и программировать php, если это лучший способ.
«Лучший» способ слишком самоуверенный, но самый простой В общем, вам нужен какой-то способ сохранить фразу за таблицей фраз переводов. Ключевым полем будет фраза на основном языке (или ее уникальный идентификатор) с другими полями для перевода на каждом языке, и вы печатаете фразу на страницу, вызывая функцию, которая принимает параметры фразы в основной язык и целевой язык.
<div>
<p><?php echo translate('Welcome to the site', $targetLanguage); ?></p>
<p><?php echo translate('Our company is committed to excellence!', $targetLanguage); ?></p>
<!-- if using identifier approach instead: -->
<p><?php echo translate('Paragraph_of_company_propaganda', $targetLanguage); ?></p>
</div>
База данных здесь может быть реальной базой данных или большим массивом PHP, в зависимости от того, как вы хотите это сделать.
Список языков, которые пользователь принимает в браузере, можно найти на $_SERVER['HTTP_ACCEPT_LANGUAGE']
который должен сначала вернуть массив с наиболее приемлемым языком. Языки будут представлены двухсимвольным кодом, таким как EN, ES, FR ….
Других решений пока нет …