У нас есть структура для того, когда (если) наш сайт выходит на международный уровень и работает следующим образом ...
Структура папок;
/
lang/
english/
images/
text/
dutch/
images/
text/
Любой текст или изображения, относящиеся к конкретному языку, удаляются со страницы напрямую и заменяются константами. Например, на экране входа в систему мы заходим;
echo TEXT_LOGIN_WELCOME;
, который определен в /lang/english/text/login.php как;
define('TEXT_LOGIN_WELCOME', 'Welcome, please login:');
но в /lang/dutch/text/login.php он определен как;
define('TEXT_LOGIN_WELCOME', 'Welcome, please login (in dutch):');
; -)
Каждый файл определения языка назван точно так же, как и страница, для которой он используется, поэтому при загрузке общедоступной страницы нам нужно только выяснить, на каком языке говорит пользователь, и мы можем включить соответствующий файл определения языка. .
Хорошо в этой системе то, что вся информация о языке централизована. Когда вам нужно добавить новый язык, просто скопируйте основную (английскую?) Папку, переименуйте ее, заархивируйте все и отправьте в службу переводов, чтобы творить чудеса. Конечно, недостатком этой системы является обслуживание по мере роста языков и контента ... Если у кого-то есть какие-либо блестящие идеи по этому поводу, я бы с удовольствием их услышал!
Кстати, если вам в конечном итоге потребуется угадать местоположение пользователя по IP, вы можете проверить geoIP .