Кстати, я тут тоже работаю над проектом, точнее над его переводом на русский язык. Столкнулся с проблемой перевода переменных типа: ":type", " : object_type" и т.д. Сложность перевода переменных заключается в: 1) они автоматом подхватывают слово из кода, и вставляют английские слова, которые не доступны для перевода из интерфейса скрипта; 2) не могу найти вариант как делать перевод в зависимости от числа и рода в русском....
Буду признателен за идеи или готовые решения, как обойти вышеуказанные затруднения - хочеться сделать качественный и аутентичный перевод, котоый будет приятно читать...
вот поговорили мы с тобой насчёт этих проблем и я немного покопал код коллаба. по сути поддержки такого в коллабе нету и согласно их форума они не намерены делать это в ближайшем будущем. у меня возникла идея, как можно это дело сделать минимально кастомизированым, но нужна правка одного из классов коллаба, что в принципе не есть смертельно, но и не особо хорошо. Эта правда разрешает создание кастомного модуля, где и можно будет попробовать обрабатывать похожие исключения. Каркас модуля я уже накидал, хотя по сути там всё очень просто. А вот вопрос как сделать перевод в зависимости от числа и рода остаётся открытым, есть пару примеров, но хотелось бы что-то более серьёзное. Есть у кого идеи или достаточно хорошие примеры, как такое делается? предпочтительно на пхп, но можно и теоретические выкладки.
пару примеров
1. : object_type: deleted, где : object_type может быть сообщением, майлстоуном, просто записью, потому в зависимости от типа : object_type может быть: удалён, удалено, удалена.
2. You have :num new messages в английском всё просто, для одного сообщения используется другая фраза из ресурсов типа You have one new message (У вас одно новое сообщения), в коде анализируется количесво и в зависимости от 1 или много выбирается шаблон сообщения. Но в русском будет сложнее так как, для
2, 3, 4 - будет сообщения,
5, 6, 7, 8, 9, 0 - будет сообщений
тоесть, шаблон
You have :num new messages
если использовать
У вас :num новых сообщений не будет в этом случае 100% правильным для всех случаев.
в коде локализации идёт просто замена :var на соответствующее значение, а нужно что-то более "умное".