Хотя этот вопрос, вероятно, не является хорошим SO вопрос из-за своей широкой природы. Это может быть актуально для многих пользователей.
Моим подходом были бы шаблоны. Ваше предложение иметь два html-файла плохо для очевидной причины дублирования - скажем, вам нужно что-то изменить на своем сайте. Вам всегда нужно было бы изменить два файла html - плохо.
Наличие одного файла html, а затем его разбор и перевод его звучит как массивная головная боль.
Некоторые шаблоны шаблонов могут помочь вам в массовом порядке. Я использую Smarty, но это личный выбор, и здесь есть много вариантов.
Идея заключается в том, что вы создаете файл шаблона для своего html, а вместо фактического содержимого вы используете метки. Затем в вашем php-коде вы включаете правильный язык в зависимости от файлов cookie, пользовательских настроек или данных сеанса.
Хранение этикеток - еще одна проблема. Однако сохранение их в базе данных является хорошим вариантом, однако помните, что вы не хотите делать 100 запросов к базе данных для получения каждой метки. Что вы можете сделать, это сохранить их в базе данных, а затем сгенерировать языковой файл - массив меток -> переводы для быстрого доступа и регенерировать эти файлы всякий раз, когда вы добавляете/обновляете метки.
Или вы можете пропустить базу данных в целом и просто сохранить их в файлах, однако, поскольку они растут, они могут быть не так просты в обслуживании.
Вы можете попробовать использовать [gettext] (http://php.net/manual/en/book.gettext.php) – jcubic
У вас действительно есть три отдельных вопроса. 1 основана на мнениях и вне темы. 2 также основан на мнениях и вне темы. 3 может считаться основанной на мнениях или слишком широкой, но в любом случае это не относится к теме. – Quentin
Я бы предложил посмотреть на шаблоны, что-то вроде Smarty или эквивалент. Это означало бы, что вы создадите веб-сайт один раз, а затем просто будете работать с ярлыками, которые переведены на разные языки и выбираются с помощью пользовательских настроек, файлов cookie или данных сеанса. – apriede