Эта задача состоит из двух частей.
Первая - решить проблему с локализацией. Для этого вы можете создавать языковые файлы, например. php, en. php и т. Д. а в файлах - массив, содержащий перевод.
например: en.php
return [
'lastUpdate' => 'Last update',
'dateTimeFormat' => 'Y-m-d H:i:s'
];
затем it.php
return [
'lastUpdate' => 'Ultimo aggiornamento',
'dateTimeFormat' => 'g:ia \o\n l jS F Y'
];
и другие языковые файлы аналогичным образом.
Вы также можете использовать Google Translate API и php скрипт для создания этих файлов, если на сайте слишком много языков и текстов, которые вы хотели бы поддерживать, но затем качество перевода соответствует уровню Google Translate, что не так идеально.
Затем, как только вы определите / угадываете язык пользователя, вы можете выбрать языковой файл и использовать его для текстов на странице:
$lang = __DIR__ . "{$userLang}.php";
echo "{$lang['lastUpdate']} " . date ($lang['dateTimeFormat'], getlastmod());
Другая часть истории - это определение языка.
С помощью php вы можете получить IP-адрес пользователя , а затем вы можете использовать таблица, в которой указаны диапазоны IPv4, принадлежащие какой стране. Но с этим есть проблема. Возможно, что пользователь использует браузер, прокси, маскируя IP-адрес. Живет в другой стране, чем его / ее родина, или просто побывал в этой стране. Таким образом, в этих случаях предположение будет неверным.
Лучший способ сделать это - проверить браузер пользователя или язык системы с javascript на стороне интерфейса. Но он все равно может совершать ошибки, поскольку, возможно, пользователь находится в другой стране с заимствованным P C, где язык ОС и браузера отличается.
Так что также хорошо, если вы предоставите пользователю способ на странице, чтобы выбрать его / ее язык, а затем сохранить его в повар ie.