Русификация с использованием регулярных выражений в Notepad++


В данном гайде вам предоставляются советы по упрощению русификации модов при использовании программы Notepad++ и регулярных выражений.
Перед прочтением гайда, убедитесь, что вы прочитали основной гайд по русификации - КАК РУСИФИЦИРОВАТЬ МОДЫ?
Итак, начнем. Вам понадобится программа Notepad++, скачать ее можно с официального сайта - Notepad++

Совет №1 - Использование регулярного выражения "\|[a-z]|\} [a-z]|\} - [a-z]|[a-z]/" для поиска непереведнных строк.

Откройте .csv файл, который вы собираетесь русифицировать. Включите "Поиск - Найти..." или нажмите сочетание клавиш "Ctrl+F". У вас откроется окно поиска, в котором есть раздел "Режим поиска", в этом разделе нужно выбрать "Регулярные выражения". Теперь в поле поиска мы должны ввести "\|[a-z]|\} [a-z]|\} - [a-z]|[a-z]/" (без кавычек) и нажать на "Искать >>". Данное регулярное выражение позволяет найти непереведенные строки, другими словами, программа найдет строки в которых после символа "|" идет любая латинская буква.


Примеры:
1) code_name|Some english words (такую строчку находит выражение "\|[a-z]")
2) code_name|{s1} Some english words (такую строчку находит выражение "\}пробел[a-z]")
3) code_name|{s1} - Some english words (такую строчку находит выражение "\}пробел-пробел[a-z]")
4) code_name|{Lord/Lady}? (такую строчку находит выражение "[a-z]/")

Совет №2 - Использование регулярного выражения "^кодовое_наименование\|[а-я]" для поиска, возможно, уже переведенной строки в других русификаторах.

Немного предисловия: многие свежеиспеченные моды имеют в своем составе некоторые OSP, которые уже много раз русифицировались в других модах. Данный совет покажет вам русифицировалась ли непереведенная строчка в других русификаторах. Этот способ эффективнее использования программ для русификации в том плане, что вам можно будет сравнить переводимый .csv файл с неограниченным количеством других .csv файлов (чем программы похвастаться не могут).

Здесь, на первый взгляд, всё немного сложнее, но так может только показаться. Здесь нам понадобится создать папку со сборником русификаторов от различных модов.
Вы можете создать такую папку-сборник сами или скачать готовый сборник (собрано несколько русификаторов от больших модов) с ЯД - СБОРНИК РУСИФИКАТОРОВ

Далее всё по аналогии с Советом №1, но в окне поиска вместо "Найти" мы должны выбрать "Найти в файлах" и выбрать путь к нашей папке-сборнику. Теперь в поле поиска мы должны ввести "^кодовое_наименование\|[а-я]", остается нажать на "Найти все" и Notepad++ покажет переводилась ли строчка с данным кодовым наименованием в любом из файлов в папке-сборнике русификаторов.

Для более понятного усвоения информации есть видеоинструкция:



В конце русифицирования, не забудьте сохранять файлы в кодировке "UTF-8 без BOM"


Совет №3 - Использование регулярного выражения \|.+[^regplayernames{}][a-z]+* или *\|.+[^regplaynms{}][a-z]+

Это выражение можно применять, когда могли забыть в reg Lord/Lady перевести + в русском переводе могли остаться непереведенные слова.








- используйте эту кнопку если вы обнаружили ошибку/искажение содержимого/отсутствие контента в новости или если хотите сообщить администрации о выходе новой версии мода и т.п.

Комментариев 33

Царь
syabr
Титул: Главный динозавр и ГГ сайта
Офлайн 31 января 2018 12:50 поделиться
Спасибо smile6 


Танки грязи не боятся, сама отвалится
Я на Всадниках Кальрадии: https://rusmnb.ru/index.php?action=profile;u=18932
Мододел
Hero_of_Calradia
Титул: Герой Кальрадии
Офлайн 31 января 2018 13:32 поделиться
Отличный гайд, перспективным Толмачам пригодится.


Друг сообщества
Janycz
Офлайн 31 января 2018 14:41 поделиться
Есть ошибки:
Регулярное выражение "[|][a-z]" не найдет все непереведнные строки:
simple_string_id|{s0} - our king
Вышеназванную строку оно пропустит. И данное выражение лучше писать так \|[a-z]

[^\s]*кодовое_наименование[^\s][а-я] - ну не надо так писать, лучше такой регекс: ^кодовое_наименование\|[а-я]
И оно опять же, может не найти переведенную строку
simple_string_id|{s0} - наш король
и если в идентификатор входит точка, ее надо экранировать


1 + 2 + 3 + 4 + ... = ζ(-1) = -0.08(3)
1 - 1 + 1 - 1 + 1 - ... = 0.5
1 - 2 + 3 - 4 + 5 - ... = 0.25
Главный администратор
klimsat
Офлайн 31 января 2018 16:27 поделиться
Janycz, спасибо за замечание. Действительно, я не задумался о том, что после | может идти {.
В теме гильдии толмачей я спрашивал про специалистов по регулярным выражениям, но таковые ко мне не обратились, поэтому разбирался сам в регулярках с нуля.
Если вы лично разбираетесь в регулярке, то это прекрасно! Мы можем улучшить гайд.  smile30 


Царь
syabr
Титул: Главный динозавр и ГГ сайта
Офлайн 31 января 2018 16:32 поделиться
klimsat, просто у всех сейчас уйма проблем, момент такой... Тебе кинуть тему на поправки?


Танки грязи не боятся, сама отвалится
Я на Всадниках Кальрадии: https://rusmnb.ru/index.php?action=profile;u=18932
Главный администратор
klimsat
Офлайн 31 января 2018 16:39 поделиться
syabr, да, можно, там еще слово одно повторяется дважды в гайде, ну и заменю регулярки по совету выше)


Главный администратор
klimsat
Офлайн 2 февраля 2018 17:25 поделиться
Гайд обновили. Большое спасибо Janycz за помощь. Знаю, что гайд можно бесконечно доводить до идеала и найти еще более умные и упрощенные варианты регулярок, поэтому если эту тему читают специалисты по регуляркам, то оставляйте свои рекомендации, поможем толмачам.


Друг сообщества
Janycz
Офлайн 2 февраля 2018 18:12 поделиться
"^кодовое_наименование\|[а-я]"
А точку, если она входит в кодовое_наименование экранировать. Добавьте это.


1 + 2 + 3 + 4 + ... = ζ(-1) = -0.08(3)
1 - 1 + 1 - 1 + 1 - ... = 0.5
1 - 2 + 3 - 4 + 5 - ... = 0.25
Главный администратор
klimsat
Офлайн 2 февраля 2018 18:30 поделиться
Janycz, всмысле? Может я что-то не понял. Вот, например, строка с точкой dlga_start:close_window.19
Эта строчка так же успешно находится по Совету №2.


Друг сообщества
praefectus
Офлайн 2 февраля 2018 18:38 поделиться
klimsat, На будущее: сервис для тестирования регулярных выражений 
Полезная штука, если пишешь регулярки


praise the sun
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Онлайн

Сейчас на сайте: 98
Гостей: 95

Пользователи: 

Последние комментарии

MOD 457 AD
zhenshen667, 15 декабря 2024 19:42
Некультурно со стороны администрации писать "(Его нет, ждите перевод или делайте сами)"....
Технические проблемы с игрой
Чикабой, 11 декабря 2024 23:18
timur karsli, Ты именно это переустановил? "Microsoft visual c++"?, или драйвера видеокарты? там...
MOD A World of Ice and Fire
Чикабой, 11 декабря 2024 23:15
timur karsli, Переустановить библиотеку визуалов, ибо там повреждены файлы....
MOD 1429 : la Guerre de Cent Ans - Steel Edition
kitel, 11 декабря 2024 09:04
Цитата: kitelпередайте тем кто руссификаторы делал чтобы перед презентацией сами проверяли их. Я...
MOD 1429 : la Guerre de Cent Ans - Steel Edition
kitel, 10 декабря 2024 16:45
передайте идиотам что руссификаторы делали чтобы перед презентацией сами проверяли их. Я только...
Быстрый перевод мода Warband гуглом
kitel, 1 декабря 2024 20:28
я перевел файл но перевод какой то странный. строки с командами отправились под конец диалога. это...
MOD Armor Mod for Viking Conquest
Halfdown, 30 ноября 2024 14:17
Еще можно установить его?  Переходя по ссылке выдает это The mod requested could not be found. We...
Технические проблемы с игрой
timur karsli, 30 ноября 2024 12:34
Добры день. Возникла проблема в игре, выдаёт ошибку "Microsoft visual c++ runtime library error " в...
MOD A World of Ice and Fire
timur karsli, 30 ноября 2024 03:12
Доброго вечера. Подскажите, пожалуйста, как решить проблему появление ошибки "Microsoft visual c++...