====== Локализация (перевод) приложения ====== Пользовательский интерфейс (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" name="Q" - имя кнопки\\ value="Q" - символ, который будет введен при нажатии на кнопку\\ Рекомендуется использовать ЗАГЛАВНЫЕ буквы для экранной клавиатуры.\\ При желании и необходимости вы можете удалить или добавить кнопку в любом ряду. Для этого нужно удалить целиком или добавить новую строку . В самом конце файла, внутри контейнера
находятся еще 2 кнопки, надписи на которых так же нужно перевести:\\ \\ \\ После этого, в файле "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".\\ {{:external:доставка:tablehead.png|}}\\ Открываем его любым графическим редактором и правим названия столбцов.\\ Ширину столбцов **не менять!!!** ===== Подключение локализации и проверка работы ===== После правки всех необходимых файлов можно включить использование новой локализации указав новое значение параметра $lng в файле const.php. Далее перезагружаем модуль доставки и проверяем корректность перевода.\\ Если какая то фраза, требующая перевода, будет отсутствовать в используемом файле локализации (например, после обновления версии модуля), то при работе, эта фраза будет отображаться на русском и дополнительно выделяться красным цветом и символами "!!" с двух сторон: {{:external:доставка:local_error.png?400|}}\\ Для исправления ошибки необходимо добавить в используемый файл локализации эту фразу (без знаков "!!") и указать перевод для нее. --- //[[sibgaba@gmail.com|Александр Ильин]] 2018/04/30 15:44//