18.05.2017 в 12:26 (4811 Просмотров)
В прошлой записи я перечислял некоторые плюсы и минусы, которые вижу в мейкере (mv). Некоторые из них довольно успешно решаются сторонними разрабами.
Один из полезнейших плагинов который я встретил – это Iavra Localization. Сразу скажу, я считаю его очень необходимым любому разработчику, вне зависимости от того буде ли его продукт мультиязыячным или нет. По хорошему, его надо включать во все проекты сразу, вместо идиотского MadeWithMv, который только отладку тормозит (отключайте его первым делом =) ).
Чем же он так хорош Ivara localization. Он позволяет вынести из игры ВСЕ тексты в отдельный json-файл. Этих файлов может быть несколько, переключая их вы и получаете мультиязычность, но не это главное. Главное, что вы убираете все тексты их игры, заменив их какими хотите короткими «именами». Теперь:
1. Все тексты в одном месте-файле. Их удобно вычитывать на предмет ошибок-исправлений. Можно отдать редактору или переводчику.
2. Можно работать с текстами используя нормальный редактор.
3. Тексты можно быстро кинуть в тот же Word посмотреть на грамматику.
4. В случае ошибки легко найти нужный текст – не надо шерстить горы ивентов и т.п.
5. Тексты полезно самому перечитывать. Особенно в случае «ветвистых» диалогов. Поскольку часто разные пути прохождения даилог порождают разные сочетания одних и тех же фраз «рядом», а это часто попрождает некрасивые тавтологии, незаметные, на первый взгляд автору. Когда все тексты сложены рядом и ничем не разбавлены – их проще читать и понимать.
6. Можно иметь мультиязычность в игре.
7. Если «имена» текстов составлять с умом, так чтоб было понятно из какой сцены какой текст, то возня с текстами в «Общих событиях» упрощается на порядок.
8. И многое другое. =)
Фактически, это 2 плагина, один core - позволяет «выносить тексты», второй нужен если вам нужна реальная локализация и у вас есть переводы вашей игры. Он соответствующие пункты меню добавляет и менеджерит работу файлами разных языков.
Мелкое неудобство базового плагина состоит в то, что самому надо резать тексты на строки вставляя в текст \n . И тут получается так. Пишем:
Строка1 \n Строка 2.
В мейкере пробелы после строка1, и что совсем плохо ПЕРЕД строка2 сохраняться. Некрасиво и странно выглядит. Надо писать
Строка1\nСтрока 2.
Некрасиво и нечитабельно в редакторе. Я поправил сам плагин.
В функцию
var _replace = function(text) {
перед последней строкой
return r;
вставил
r=r.replace(new RegExp(" \n ",'g'),"\n");
Решение тупое, но удобное. Теперь сама программа все « \n » заменяет на «\n», а в файле текстов мы пишем как нам удобно. Фактически тут можно дописывать и другие свои «команды» обработки и замены текстов, вводя макрокоманды, словари замен и т.п.