Содержание

Локализация (перевод) приложения

Пользовательский интерфейс (UI) модуля можно самостоятельно перевести на любой язык.

Какой вариант локализации будет использован при работе модуля - определяется значением параметра $lng в файле const.php

Локализация основного текста

Для того что создать новую локализацию необходимо скопировать файл «LNG\en.php» под новым именем (например de.php) в ту же папку.

Имя нового файла без расширения (в нашем примере «de») является значением параметра $lng, которое нужно указать в файле const.php, для использования этой локализации ($lng='de';).

Внимание!!! Не копируйте и не удаляйте файл ru.php т.к. он не содержит локализации и является «заглушкой», необходимой для работы модуля.

Далее, при помощи любого текстового редактора, поддерживающего кодировку UTF-8 (например FarManager), необходимо вручную перевести каждую строку внутри контейнера «switch» (всего около 100 слов и фраз).

Структура строки:

case "Адрес доставки": 	return "Delivery address"; break;

«Адрес доставки» - оригинальная фраза в русском UI (не менять!!!)

«Delivery address» - перевод на нужный язык.

*Желательно стараться сохранять примерное то же количество символов для каждой строки, что и в оригинале (на русском). В противном случае верстка некоторых элементов может «поплыть», т.к. более длинный перевод просто не вместится в ту область, которая отведена для данной фразы…

Внимание!!! При локализации не используйте символы двойной кавычки

" 

При необходимости использования этого символа его нужно экранировать (поставить перед ними символ «\»)

\"

Локализация экранной клавиатуры

Для локализации экранной клавиатуры необходимо скопировать файл «LNG\en-kbd.php» под новым именем «de-kbd.php» в ту же папку.
Далее, при помощи любого текстового редактора, поддерживающего кодировку UTF-8 (например FarManager), необходимо вручную перевести каждую строку с тегом «input»

<input name="Q" type="button" value="Q" class="key"/>

name=«Q» - имя кнопки

value=«Q» - символ, который будет введен при нажатии на кнопку

Рекомендуется использовать ЗАГЛАВНЫЕ буквы для экранной клавиатуры.

При желании и необходимости вы можете удалить или добавить кнопку в любом ряду. Для этого нужно удалить целиком или добавить новую строку <input …>.

В самом конце файла, внутри контейнера <div id=«spacebar» align=center> находятся еще 2 кнопки, надписи на которых так же нужно перевести:

<input name=«clear» type=«button» value=«Clear» class=«clear»/>

<input name=«close» type=«button» value=«Close» class=«close» />

После этого, в файле «js\vkeyboard.js» необходимо модифицировать 2 строки. А именно:

Строка 54. Первичное значение:

if( $(this).val() == 'OK' || $(this).val() == 'Закрыть')

Дописать до вида

if( $(this).val() == 'OK' || $(this).val() == 'Закрыть' || $(this).val() == 'Close')

Строка 59. первичное значение:

if( $(this).val() == 'Очистить' )

Дописать до вида:

if( $(this).val() == 'Очистить' || $(this).val() == 'Clear')

где «Close» и «Clear» это соответствующие значения параметров 'valie' тегов 'input'. Регистр ВАЖЕН!!!

Перевод заголовка таблицы на главной станице

Заголовок таблицы это изображение из файла «\ico\tableHead.png».


Открываем его любым графическим редактором и правим названия столбцов.

Ширину столбцов не менять!!!

Подключение локализации и проверка работы

После правки всех необходимых файлов можно включить использование новой локализации указав новое значение параметра $lng в файле const.php. Далее перезагружаем модуль доставки и проверяем корректность перевода.

Если какая то фраза, требующая перевода, будет отсутствовать в используемом файле локализации (например, после обновления версии модуля), то при работе, эта фраза будет отображаться на русском и дополнительно выделяться красным цветом и символами «!!» с двух сторон:

Для исправления ошибки необходимо добавить в используемый файл локализации эту фразу (без знаков «!!») и указать перевод для нее.

Александр Ильин 2018/04/30 15:44