Многоязычная рамка для добавления языков вашего сайта

Существует несколько подходов к созданию Вашего сайта многоязычным, и, как и во всех решениях по проектированию, требования Вашего сайта должны диктовать, каким путем вы идете до конца анализа. В этой статье я не собираюсь описывать плюсы и минусы каждого подхода, а мы рассмотрим специально построенную многоязычную рамку, облегчает переводчикам.

Все тексты веб-сайтов — это слова, предложения, абзац, ссылки или любой другой, хранящейся в базе данных backend и доступ к которым осуществляется ключом, то есть. целое число и идентификатор языка, например, EN. Таким образом, вы можете иметь несколько записей, таких как: 1, EN, "Привет" и 1, TU, "Salam" Вы можете иметь поля, которые указывают на какой странице текст может быть найден, что полезно позже в переводе программы. 19659002] Каждая страница содержимого веб-сайта существует один раз для нескольких языков. Нет необходимости копировать исходный код для каждой страницы. Используя этот подход, я построил приложение, основанное на PHP, и везде текст с & # 39; явился в HTML, его заменили функцией php, которая выглядела примерно так: p ( "Hello", 1) Функция & # 39; p & # 39; печатает слово "Hello" речь активна. Если английский язык активная, функция просто возвращает английский текст, который был отправлен. Если используется другой язык, функция ищет этот текст в нужном языке и возвращает ее. Активное язык можно хранить в переменной GET или Session. Очевидное преимущество этого подхода заключается в том, что текст "Привет" остается на своем законном месте в источнике страницы и легко читается и поддерживается. Другие подходы иногда оставляют вам не что иное, как загадочный текстовый ключ, и вы должны искать текст вручную, чтобы иметь возможность читать HTML. напр Здравствуйте = 1, Good bye = 2, существуют простые подходы к автоматизации. Например, когда программисты пишут "Hello", они просто кодируют p ( "Hello"). Позже утилита запускается, находит нетронутую "Hello", назначает ему id и обновляет код, чтобы выглядеть как p ( "Hello", 1). Такая же утилита может проверять имеющиеся текстовые записи, чтобы увидеть, был обновлен английский текст (или любую другую базовую язык), а затем сделайте заметку в базе данных, оповестит переводчиков о том, что перевод также должен быть обновлен. В нашей базе данных мы следим за текущим английским текстом и предыдущим английским текстом, чтобы переводчики могли видеть историю изменения текста. Чтобы избежать поиска в базе данных для каждого текстового дисплея, мы загружаем всю текстовую базу данных для конкретного языка в переменную массива Session, когда пользователь изменяет языка. Это довольно быстро и незаметно для пользователя. Если у вас есть большой сайт, вы можете одновременно загружать в массив только выбранные части сайта. Функция & # 39; p & # 39; делает очень быстрый поиск массива для возврата соответствующего текста. Конечно, базовая речь вовсе не требует поиска, поскольку она уже передана функции.

Со всем текстом в базе данных легко создавать программы для переводчиков, чтобы добавить новый язык или обновить текст, который был изменен на выходных страницах. Переводчики не должны знать html для выполнения своей работы. Одной из приятных возможностей является копирование перевода для определенного текста, который является одинаковым на нескольких страницах. Будьте осторожны относительно повторного использования переводов, поскольку перевод может потребовать изменения в зависимости от контекста страницы.

Это никоим образом не является исчерпывающим описанием того, что нужно сделать, чтобы сделать ваш сайт полностью многоязычным. Есть много вопросов, которые варьируются от простых вещей, таких как отображения даты и валюты, в более тонких вопросов, вызванных культурой, например, фотографии или цвета вы используете? Теперь вы можете визуализировать по крайней мере один вариант дизайна для вашего многоязычного сайта. Вот сайт, где этот метод был использован: www.goodneighboraz.com Удача глобальной!

Releated Post

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *