-
Invision Community полностью переводим и может поддерживать любые языки. По умолчанию встроен только один язык - English (US), но другие языки также могут быть добавлены путём:
Загрузки готового языкового пакета.
Создания своего собственного языкового пакета.
Что охватывают языковые пакеты?
Языковой пакет управляет:
Языком, на котором отображается интерфейс.
Форматирование чисел и дат (локале-зависимо).
Направление текста (слева направо или справа налево).
Позволяет вам переводить определённый контент, созданный администратором, например названия форумов, названия групп пользователей и т.д.
Локали
Локаль вашего языка в первую очередь определяет форматирование числе и дат.
Хотя каждый язык, установленный на вашем сообществе, имеет собственную локаль, локаль можно выбирать. Это происходит потому, что язык часто может использовать больше одной локали, например, Английский язык используется как в США, так и Великобритании, хотя это разные локали с разным форматирование дат.
Если это необходимо, вы можете установить один и тот же языковой пакет несколько раз и выбрать при установке разные локали для каждого, позволяя пользователям выбирать различное форматирование дат.
Несколько языков
Invision Community позволяет установить сразу несколько языковых пакетов, тем самым позволяя пользователям переключаться между языками.
Языковые пакеты не переводят созданный пользователями контент, например сообщения форумов; они будут отображаться только на набранном пользователем языке. Если у вас пользователи будут общаться на разных языках, имеет смысл для каждого языка создать отдельный контейнер (например форум).
-
Самый простой способ добавить новый язык на ваше сообщество, это установить готовый языковой пакет. Многие из них доступны в категории Translations на официальном сайте разработчика. Скачать русский языковой пакет для IPS4 можно в нашем специальном разделе на сайте.
Языковой пакет состоит из одного файла с расширением .xml. Если языковой пакет, который вы устанавливаете, содержит другие файлы, следуйте инструкциям локализатора.
Для установки пакета, перейдите на страницу Кастомизация > Локализация > Языки в вашем админцентре. Нажмите на кнопку "Создать" и во всплывающем окне выберите вкладку "Загрузить". Укажите файл языкового пакета.
Установка нового языка в IPS4
Локаль определяет, как будут форматироваться числа и даты в программном обеспечении. Один и тот же язык может использоваться в разных локалях; например, английский язык используется в США и Великобритании, хотя эти страны имеют разные локали и разное форматирование чисел и дат. Выберите локаль, которая наилучшим образом соответствует вашему сообществу (вы можете установить один языковой пакет несколько раз с несколькими локалями, если хотите).
Нажмите кнопку Сохранить для установки языкового пакета. Теперь вы увидите новый язык в списке языков; он включён и готов к использованию вашими пользователями!
-
Invision Community поставляется с единственным английским языковым пакетом, который также установлен языком по умолчанию. Тем не менее, вы можете установить другой язык как язык по умолчанию, если хотите.
Invision Community пытается определить корректный для пользователя язык на основании предоставленной его браузером информации. Если это может быть определено и у вас установлен соответствующий языковой пакет, и пользователь специально для себя не выбрал определённый язык, этот язык будет отображён пользователю, независимо от настроек стандартного языка в вашем сообществе.
Для установки языка по умолчанию, перейдите на страницу Кастомизация > Локализация > Языки и нажмите иконку Изменить рядом с названием языка:
Настройка темы по умолчанию
Во всплывающем окне активируйте настройку Язык по умолчанию? и сохраните форму.
-
Если вам необходимо создать собственный языковой пакет для вашего сообщества, Invision Community включает инструменты для реализации этого. Invision Community имеет множество фраз, которые нуждаются в переводе для создания полноценного языкового пакета, это может занять довольно продолжительное время, будьте к этому готовы. Если для вашего языка существует готовый языковой пакет, вы можете взять его за основу при создании собственного, это сэкономит большое количество времени.
Существует два доступных инструмента:
Стандартный перевод
Вы должны указать перевод для каждой существующей фразы.
Визуальный редактор языка
Пользуйтесь сообществом в обычном режиме и нажимайте на фразы, которые видите, для их перевода.
Мы рассмотрим оба варианта подробнее в других инструкциях.
Для создания собственного языкового пакета, перейдите на страницу Кастомизация > Локализация > Языки, и нажмите на кнопку Создать. Во всплывающем окне укажите название вашего пакета и выберите другие соответствующие параметры. Нажмите Сохранить для создания языкового пакета.
Язык теперь доступен для пользователей, однако, все фразы по-прежжнему на английском языке, пока вы их не переведёте. Вы можете отключить язык, пока вы не закончили перевод. Для этого щёлкните на бейдж Включено, расположенный справа от названия языка:
-
Самый простой способ начать перевод вашего языкового пакета, это использовать визуальный редактор языка. Чтобы его активировать, сперва убедитесь, что вы выбрали необходимый язык. Вы можете выбрать язык в футере публичной части вашего сообщества.
Далее перейдите на страницу Кастомизация > Локализация > Язык, и нажмите кнопку Инструменты перевода сверху страницы. Во всплывающем окне активируйте настройку Быстрый перевод и сохраните настройки.
Активация визуального редактора языка
Использование визуального редактора языка
Если эта настройка активирована, вы сможете изменять фразы, которые видите в интерфейсе, как в админцентре, так и публичной части вашего сообщества. Фразы, которые могут быть переведены, подсвечиваются когда вы наводите на них курсор мыши.
Чтобы изменить фразу, нажмите на неё и удерживайте клавишу мыши несколько секунд. Фраза изменится в текстовое поле с возможностью изменить символы.
Введите новую фразу и кликните за пределы поля редактирования, чтобы сохранить перевод.
Использование визуального редактора языка
Используя визуальный редактор языка вы также можете перевести контент, который создали сами, например названия форумов, описания, группы пользователей и многое другое.
Существует множество фраз, которые вы не можете увидеть в вашем интерфейсе, и, соответственно, они не могут быть переведены визуальным редактором языка. Для этого вы можете использовать стандартный интерфейс перевода, работа с которым описана в инструкции - Перевод с помощью стандартного редактора языка.
Отключение визуального редактора
Визуальный редактор будет активным на всём протяжении длительности сессии. для его отключения, вы можете перезагрузить ваш браузер или вернуться опять же на страницу Кастомизация > Локализация > Языки, нажать на кнопку Инструменты перевода и отключить настройку Быстрый перевод.
-
Альтернативный способ визуальному редактору языка является стандартный редактор. Он позволяет редактировать любые фразы вашего сообщества в одном месте, одну за другой. Чтобы использовать стандартный редактор, посетите страницу Кастомизация > Локализация > Языки в вашем админцентре. Нажмите на иконку рядом с названием языка, который вы хотите перевести. Теперь вы увидите таблицу, содержащую каждую фразу программного обеспечения.
Использование данного интерфейса не представляет особых сложностей - проходите по каждой фразе и вводите собственный перевод. Мы разберём несколько ключевых моментов данного интерфейса.
Таблица всех фраз IPS4
1. Фильтры
Фильтры над таблице позволяют уменьшить фразы, которые вы видите.
Устаревшие
Полезно тогда, когда изменённые фразы требуют обновления после того, как вы обновили Invision Community.
Не переведено
Отображает ещё не переведённые фразы.
Переведено
Показывает уже переведённые фразы.
2. Живой поиск
Вы можете искать фразы для перевода с помощью формы живого поиска. По умолчанию, в поле поиска вы можете осуществлять поиск по ключу и английской фразе, но вы можете уточнить поиск с помощью кнопки шестерёнки, расположенной рядом с формой поиска.
Удобный способ найти ключ, используемый той или иной фразой, это активация просмотра ключей слов. Для этого перейдите на страницу Кастомизация > Локализация > Языки в вашем админцентре, нажмите кнопку Инструменты перевода и активируйте настройку "Просмотр ключей слов". После сохранения формы, вместо английских фраз, вы увидите ключи, используемые для идентификации этой фразы.
3. Сортировка
Нажмите на один из заголовков таблицы для смены сортировки фраз в таблице. Нажмите на заголовок еще раз, чтобы переключаться между возрастающей и убывающей сортировкой.
4. Английская фраза
Эта колонка отображает оригинальную английскую фразу, которая используется в программном обеспечении. Используйте её в качестве основы вашего перевода.
5. Ваш перевод
Текстовое поле, куда вы вводите ваш перевод для каждой фразы. Ваш перевод будет автоматически сохранён когда вы переходите к другой фразе, или вы можете вручную нажать на соответствующую кнопку Сохранить, которая появится автоматически.
-
Некоторые фразы имеют значения, передаваемые в них системой, вы должны знать их и использовать в своём переводе в неизменном виде. Вот несколько типов замен, которые вы увидите:
%s
Простая строковая замена.
{internal.app=core&module=system&controller=register}
Замена URL адреса
{# [1:reply][?:replies]}
Плюрализационная замена.
Мы рассмотри плюрализационную замену более подробно в данной статье - .
Строковая замена
Простые строковые замены используют формат, определяемый PHP функцией sprintf. В этом формате специальный маркер %s заменяется значением, передаваемым во фразу:
Меня зовут %s
При отображении будет:
Меня зовут Кирилл
В некоторые фразы передаётся несколько значений, которые заменяются в порядке свей очерёдности. Например, если значения "Кирилл" и "синий" передаются во фразу, они будут расположены в таком порядке в языковой фразе:
Меня зовут %s и мой любимый цвет %s
Станет таким при отображении:
Меня зовут Кирилл и мой любимый цвет синий
Однако, поскольку порядок переданных значений определяется PHP кодом и не может быть изменён автором перевода, существует специальный синтаксис, позволяющий изменить порядок любого из значений (это может быть необходимо для других языков, у которых структура предложения отличается от структуры в английском языке).
Для изменения порядка замен, маркер %s должен быть изменён на %2$s - по сути вставка 2$ в середину обычного маркера, где 2 - это позиция параметра, который вы хотите использовать для замены. Для понимая описанного мы изменим порядок:
Мой любимый цвет %2$s и меня зовут %1$s
который будет выглядеть так:
Мой любимый цвет синий и меня зовут Кирилл
Для получения дополнительной информации обратитесь к документации PHP.net sprintf (имейте ввиду, что этот документ носит технический характер и предназначен только для разработчиков).
Замена URL адреса
В некоторых случаях в языковых фразах должны быть построены ссылки. Языковая система Invision Community поддерживает эту возможность с помощью специальных тегов, например:
{internal.app=core&module=system&controller=register}
В этом примере internal. подразумевает собой ссылку на внутреннюю страницу (то есть страницу IPS4), с URL адресом на определённую страницу. Соответственно могут быть определены внешние ссылки, например:
{external.ad-custom-location}
В этом случае ad-custom-location это предустановленный внешний URL адрес в IPS4. При выполнении перевода не забудьте включить эти ссылки, найденные в оригинальном языке, т.к. они часто несёт за собой полезную информацию.
-
Многие фразы в Invision Community являются зависимыми от числа, то есть плюрализационными. Например: 21 ответ, 2 ответа, 12 ответов; У вас 1 новое уведомления, 2 новых уведомления и так далее.
В английском языке множественное число, как правило, имеет окончание 's'. В других языках, например в русском, правила сложнее и требуют определённый формат в зависимости от конкретного числа.
Чтобы учесть эти нюансы, Invision Community использует специальный синтаксис для фраз, которые используют плюрализацию. Языковая система передаёт значение, используемое в фразе, и специальный синтаксис может использовать это значение для определения слов для отображения.
Синтаксис
Синтаксис для фраз с плюрализацией выглядит так:
{# [1:ответ][?:ответов]}
Этот синтаксис открывает множество возможностей, но это основное его использование. Он состоит из определений, которые применяются в зависимости от переданного в фразу числа. Давайте разберёмся подробнее.
{...}
Плюрализация всегда должна быть заключена в фигурные скобки чтобы система распознала её. Обратите внимание, что плюрализация может существовать внутри другой фразы, если остальная часть фразы не зависит от числа. Например:
"У вас {# [1:новое уведомление][?:новых уведомлений]}"
#
Следующий символ это хэш/решётка. Когда он появляется в начале замены, он заменяется на актуальное переданное в замену число. С другой стороны, если указать !#, то число не будет отображено.
{# [1:ответ][?:ответов]}
{!# [1:ответ][?:ответов]}
будет выглядеть так:
10 ответов
ответов
[x:ответов]
Следующий блок является вариантом замены, которых может быть несколько. Они заключены в фигурные скобки и вы можете иметь их столько, сколько необходимо для вашего языка. Блок начинается с x:, где x - число, указывающее, что замена используется, когда переданное во фразу число равно x. Если ваш язык требует другую форму плюрализации для определённых чисел, вы можете повторить каждый необходимый блок.
Существует три специальных символа, которые вы можете использовать для 'x':
*1: Соответствует всем числам, заканчивающимся на единицу, например 1, 11, 21, 251.
%1: Соответствует всем числам, начинающимся с единицы, например 1, 10, 12, 163.
?: Соответствует всем другим значениям, которые не соответствуют другим блокам.
После двоеточия : строковое значение, используемое при совпадении с боком.
Обратите внимание, что значения в этих блоках могут использовать специальный символ #, который, как было описано выше, заменяется на переданное значение в фразу. Это полезно, когда фраза в некоторых случаях не должна отображать цифру. Например:
"Каждый {!#[1:год][?:# лет]}"
Мы не говорим "каждый 1 год", правильно говорить "каждый год". В первой замене мы убрали число с помощью восклицательного знака.
-
Форматы дат в IPS 4 могут быть отформатированы и переведены с помощью изменения языковых строк в любой формат, который вам нужно отобразить. Вы можете найти строки, связанные с датами, с помощью префикса _date в вашем языковом пакете.
Если вы не знаете как вручную переводить языковые строки, вам нужно сначала ознакомиться со следующей инструкцией:
http://invisionbyte.ru/docs/custom/lang/perevod-s-pomoschyu-standartnogo-redaktora-yazyka-r167/
Языковые строки состоят из нескольких элементов, каждый из которых относится ко дню, месяцу и году. В данном примере мы будем редактировать языковую строку _date_last_year_long .
По умолчанию она содержит следующий текст:
{!1#[1:January][2:February][3:March][4:April][5:May][6:June][7:July][8:August][9:September][10:October][11:November][12:December]} {0#} %s
Переформатирование
Для более понятного объяснения мы раскрасили разные элементы строки для примера.
{!1#[1:January][2:February][3:March][4:April][5:May][6:June][7:July][8:August][9:September][10:October][11:November][12:December]} {0#} %s
Здесь мы имеем три части, и разберём их на примере Февраль 1 2017.
ЗЕЛЁНЫЙ - это самая простая из всех трёх часть, как вы можете видеть это месяцы. Месяц Февраль это часть строки выше.
КРАСНЫЙ - Это часть строки, отвечающая за день, в нашем случае число 1.
СИНИЙ - Это часть года, у нас это 2017.
Как вы можете видеть, вы можете довольно просто переставить значения, изменив порядок отображения даты в вашем языке. Таким образом, если мы хотим изменить дату на "1 Февраль 2016", мы должны изменить порядок следующим образом.
{0#} {!1#[1:January][2:February][3:March][4:April][5:May][6:June][7:July][8:August][9:September][10:October][11:November][12:December]} %s
Вы можете заметить, что перед названием месяца отображается "{!1#". То есть число месяца отображаться не будет.
-
Когда вы завершили создание своего языкового пакета, вы можете экспортировать его и поделиться им с другими людьми (например на официальном сайте или в нашем разделе Загрузки) или просто сделать его резервную копию.
Для этого перейдите на страницу Кастомизация > Локализация > Языки в вашем админцентре и нажмите кнопку выпадающего меню справа от названия языка, который вы хотите экспортировать. Выберите пункт "Скачать" и ваш браузер загрузит ваш файл языка:
Скачивание языкового пакета
Файл языка будет с расширением .xml и это единственный файл, которым нужно поделиться с другими, если вы хотите поделиться собственным переводом.