Поговорим про мультиязычность инстанта

+5
78
Поговорим про мультиязычность инстанта

Всем привет!
В этом посте хочу поднять тему мультиязычности InstantCMS — а точнее, почему до сих пор отсутствуют переводы на другие языки, несмотря на то что поддержка мультиязычности уже давно реализована «из коробки».

Я записал видео, в котором показываю новый компонент, призванный решить эту проблему. Он предоставляет удобный интерфейс для перевода языковых файлов InstantCMS, а также позволяет сгенерировать готовый установочный архив с переводом, который можно легко установить на свой сайт.

Видеообзор

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

Компонент не использует базу данных, так как хранение переводов для нескольких языков в БД было бы слишком объёмным. Все переводы хранятся в файлах.

Возможно, Fuze проверить код компонента на безопасность и установить его на официальный сайт — ведь именно здесь собирается всё сообщество InstantCMS.

Я верю, что с помощью сообщества мы сможем перевести InstantCMS на множество языков и сделать его доступнее для пользователей со всего мира.

Пишите, что думаете по этому поводу — любые предложения, идеи и критика приветствуются!

P.S. Текст написал нейросеть, я не настолько грамотный 😀

0
CEH9I CEH9I 3 часа назад #

Вы можете добавить перевод от нейросетей, будет гораздо быстрее)

0
My-InstantCMS.Ru My-InstantCMS.Ru 2 часа назад #

Думаю в каких то коротких текстах, нейросеть не поймет контекст и переведет неправильно.

Лучше подключить автоперевод по API яндекс или гугл, который одним нажатием вернёт переведенный текст и вставить в поле, далее человек уже подправить или сохранить если всё правильно.

0
F_a_R_i_D F_a_R_i_D 2 часа назад #

Есть мультиязычные сайты и имею несколько проблем:

— Административная и пользовательская часть должна отделиться с переводом совсем.

— Одни и те же слова использую в нескольких местах, но при переводе на другой язык имеет другой смысл (н-р, год — возраст, год — дата, оба берутся с одного перевода, но, н-р, на азербайджанском это 2 разных слова) и такие слова используются во многих местах.

Остальное вспомню, напишу.

0
My-InstantCMS.Ru My-InstantCMS.Ru 2 часа назад #

Можете поподробнее написать с примером, какие константы? Я тоже сталкивался с проблемой в части админки, уже не помню, но отказался от перевода админской части 

+1
F_a_R_i_D F_a_R_i_D 1 час назад #

год, группы (имеются 2 группы — группа пользователей, компонент.). Я хочу сменить группы на компании, вот тогда начинается бардак)). Их несколько, придётся вспомнить.

+1
dChirkis dChirkis 2 часа назад #

Очень интересно, спасибо.
Предложение:  в админке — настройка компонента — сделать возможность выбора основного языка. Т.е.  - если у сайта основной язык англ. то он будет как базовый и все переводы будут делаться на его основе. Удобно было бы выбирать исходный язык для первода.
У меня так — англ как основной, ru — вторым и ua третьим. Украинский я переводил заново сам (для 2.17.1) и выложит у нас. Хотелось бы его проверить.

0
WebMan WebMan 7 минут назад #

Идея интересная и полезная. Такой компонент вполне можно было бы встроить в раздел «Дополнения».

Что нужно доработать для этого, на мой взгляд:

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

Предыдущие переводы. Для новых версий использовать (автоматически подставлять) перевод от предыдущей версии, если это возможно, и показывать константы, оставшиеся без перевода. Это можно делать разово, например, при создании новой версии перевода на выбранный язык. Также придётся сделать проверку констант на изменение по сравнению с предыдущей версией — вдруг какую-то константу изменили.
 

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

Доступы. Добавление языков, добавление новых версий движка, создание установочного пакета после готовности перевода — это дело админа сайта. Пользователи могут подать заявку на перевод выбранной версии на желаемый язык. Админ утверждает или отклоняет этого переводчика. По готовности перевода админ генерирует пакет, который потом могут скачать все желающие, а доступ переводчика прекращается.
 

Версии пакетов. При необходимости что-то изменить в уже созданном пакете проходим всю цепочку заново: новая заявка от переводчика, исправление ошибок и перегенерация пакета. На странице языка возле версии движка нужно будет отображать дату и время создания последнего пакета. Это же время и дату в каком-то общепринятом формате (например, ГГГГММДД-ЧЧММСС) добавлять в имя файла пакета. Это нужно чтобы пользователи легко понимали, были ли изменения в пакете с момента его последнего скачивания.
 

Перевод с помощью ИИ. В идеале, в режиме редактирования можно добавить кнопки перевода с помощью ИИ: «Перевести весь файл» и «Перевести все константы без перевода» над списком констант. А также кнопки-иконки «Перевести константу» справа возле кнопок редактирования и очистки. Это ещё больше упростит работу переводчика, останется лишь проверить корректность перевода. Но это красивая хотелка на будущее.
 

Хранение. Переводы лучше хранить в файлах, согласен. А данные по версиям и статистике отлично лягут в БД в таблицы компонента.
 

Работы, конечно, ещё много. Зато это позволит подключить сообщество к переводам, сильно упростит работу переводчиков и в итоге сделает InstantCMS ещё более популярной в мире.

Еще от автора

Боты на нейросети или имитация активности на сайте
Обсудим новый компонент Имитация активности, пишите своих хотелки и предложения...
RSS агрегатор с нейросетью - часть 2
Это продолжение поста про компонент RSS агрегатор с нейросетью
RSS агрегатор с нейросетью
Обсуждаем разработку нового компонента RSS агрегатор с возможностью парсинга и изменение текста с помощью ИИ
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.