Русификация плагинов с использованием файлов-словарей - AMX Mod X - Статьи - [CS][WizaRD] - Counter-Strike

Категории раздела
Наш опрос
Ccskrb? Ссылки!
Статистика
Главная » Статьи » AMX Mod X

Русификация плагинов с использованием файлов-словарей
Я не буду показывать весь исходник, а покажу только самое основное




Для этого нужен будет AMX Mod X Studio



Итак... для того чтобы задекларировать словарь - добавляем строчку в процедуру plugin_init

public plugin_init()

{

...

...

register_dictionary("VirusNade.txt")

}





Все словари находятся в дирректории cstrike\addons\amxmodx\data\lang\. Поэтому мы создаём текстовый файл VirusNade.txt именно в этой дирректории



Чтение из словаря происходит двумя параметрами и объявляется в тексте одним... Объявляется знаками "%L"(Предполагаю, что сокращённо от LANG).. Пример:



client_print(id,print_console,"%L" ...

или:

client_print(id,print_console,"Player %L has been kicked" ...







Что появляется вместо "%L"? Появляется значение, которое будет взято из словаря... Как я уже сказал чтение производится двумя параметрами: "Язык" и "Параметр"... Функция LANG_SERVER возвращает
значение - язык, на котором играет сервер... Чтение:



"%L", LANG_SERVER, "GUMUS"



Это значит что из словаря



VirusNade.txt будет считываться параметр GUMUS из раздела (Чтобы это понять - будет рассмотрен пример с Virus SmokeNade 1.3)



Далее просматриваем код на надписи на инглише... Хоп! Находим:



print( id, "You're not allowed to buy an antidote!" );



Заменяем на:



print( id, "%L",LANG_SERVER,"VN_NOT" );



И в словаре пишем перевод:



[ru]

...

...

VN_NOT = Вы не можете купить антидот!

...

...



И так далее... Незабываем под теми же параметрами поставить и английские значения(Вдруг если сервер на инглише)



[en]

...

...

VN_NOT = You're not allowed to buy an antidote!

...

...



Схема заполнения словаря такова:



[<Язык сервера (Без знаком меньше/больше, но в квадратных скобках)>]

<Параметр> = <Значение>

<Параметр> = <Значение>

<Параметр> = <Значение>



И ещё, надо учитывать последовательность языков в словаре.. Может произойти ошибка и чтения словаря вернёт значение: ML_NOTFOUND: <Параметр, вызванный вами>...



Последовательность такова:





[ru]

[en]

[de]

[sr]

[tr]

[fr]

[sv]

[da]

[pl]

[nl]

[es]

[bp]

[cz]

[fi]



Не знаю почему, но это рекомендованная последовательность языков... Если нет у вас значений на каком то языке, то можно их не писать
Категория: AMX Mod X | Добавил: XaNteR (20.03.2011)
Просмотров: 92
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Профиль
Создать сайт бесплатно