Как я могу настроить свой сайт PHP как многоязычный сайт?

Я пытаюсь понять, как лучше всего перевести мой PHP-сайт на другие языки. В настоящее время мой веб-сайт работает на английском языке, и я знаю, что могу создавать разные языковые файлы (например, en.php, pt.php, es.php и т. Д.) С настройкой различных языковых переменных.

Тем не менее, я прочитал, используя * .po или * .pot файлы, которые могут облегчить перевод сайта.

Есть ли инструмент, который извлекает весь английский текст на моем сайте, а затем помещает его в файл * .po?

2

Решение

GetText Функция в PHP — отличный способ работы с несколькими языками.

Во-первых, разница между .po, .mo а также .pot:

.ГОРШОК Шаблон переносимого объекта. Это файл, который вы получаете, когда извлекаете тексты из приложения. Обычно вы отправляете этот файл своим переводчикам.

.ПО Портативный Объект. Это файл, который вы получаете от переводчиков. Это текстовый файл, который включает в себя оригинальные тексты и переводы.

.Миссури Машинный Объект. MO-файл содержит то же содержимое, что и PO-файл. Два файла отличаются по своему формату. В то время как PO-файл является текстовым файлом, который легко читается людьми, MO-файлы компилируются и легко читаются компьютерами. Ваш веб-сервер будет использовать файл MO для отображения переводов.


Использование в PHP

<?php
// Set language to German
putenv('LC_ALL=de_DE');
setlocale(LC_ALL, 'de_DE');

// Specify location of translation tables
bindtextdomain("myPHPApp", "./locale");

// Choose domain
textdomain("myPHPApp");

// Translation is looking for in ./locale/de_DE/LC_MESSAGES/myPHPApp.mo now

// Print a test message
echo gettext("Welcome to My PHP Application");

// Or use the alias _() for gettext()
echo _("Have a nice day");
?>

инструменты

Я использую инструмент Poedit. Инструменты позволяют объединять новые тексты в POT и затем создают файлы PO или MO.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]