Подготовка:
для перевода плагинов нам понадобится akelpad[1.08 Mb] Вступление:
Есть 2 способа русификации плагинов:
1. Способ проще, но он подходит для грамоздких плагинов...
Способ 1
Русификация с использованием словарей:
1. Что и где?
Все словари лежат в в папке
Code
cstrike'addons/amxmodx/data/lang
и имеют расширение *.txt
2. Подгатовка плагина Открываем нужный плагин *.SMA (в моем случае это deagsmapmanager) и видим:
Code
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
......
......
register_dictionary("deagsmapmanager.txt");
}
Code
register_dictionary("deagsmapmanager.txt");
означает что для этого плагина зарегистрирован словарь под названием
"deagsmapmanager.txt" Если такой строчки нет - создаём её ( в последствие нужно создать файл deagsmapmanager.txt в указаной выше папке "lang"
3. Замена надписей в плагине
Теперь время замутить перевод плагина =)
Ищим нужную фразу в плагине например
Code
client_print(id, print_chat, "%L", id, "Voting is currently in progress");
(ЭТО ПРИМЕР, в моем случаем случае это deagsmapmanager) Теперь мы меняем эту фразу на:
Code
client_print(id, print_chat, "%L", id, "DMAP_VOTING_IN_PROGRESS");
4. Создание словаря
Теперь сервер попытается найти в зарегистрированом словаре ("deagsmapmanager.txt") строку:
Code
DMAP_VOTING_IN_PROGRESS= Текст
Где "текст" пишем перевод такой какой хотим. Ну например:
DMAP_VOTING_IN_PROGRESS = голосование в процессе
И у нас получается файл "deagsmapmanager.txt" с содержимым:
Code
[ru]
DMAP_VOTING_IN_PROGRESS = голосование в процессе
Параметр = Значение
Параметр = Значение
5. Сохранение:
Файл => Сохранить как =>
6. Применяем:
Когда мы в настройке сервера поставим язык на "русский", то у нас отобразится русский текст
1ый способ готов. приступим к следующему, 2ому способу
2ой способ
Вы меня спросите:
-А что если я хочу перевести всего 1 строчку в плагине, мне нужно морочиться с первым способом?
-НЕТ! Читаем ниже...
Перевод *.SMA
Открываем плагин в AnkelPad (ОБЯЗАТЕЛЬНО) види там:
Code
client_print(id, print_chat, "%L", id, "Voting is currently in progress");
Меняем на:
Code
client_print(id, print_chat, "%L", id, "Голосование в процессе");
и так всё что хотим перевести!
Сохранение
File => Save As =>
при сохранении обязательно убрать галочку BOM
Компилим
[p.s.]Для всего этого нам понадобится akelpad[/p.s.]