[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Русификация плагинов с использованием файлов-словарей
ink_777_ Date: Воскресенье, 24.04.2011, 01:22 | Message # 1
Messages: 115
Reproofs:
Respect
[ 100 ]
Для этого нужен будет 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 из раздела <LANG_SERVER>(Чтобы это понять - будет рассмотрен пример с 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]

Не знаю почему, но это рекомендованная последовательность языков... Если нет у вас значений на каком то языке, то можно их не писать


Если ты поисковик готовься к носилию!
  • Страница 1 из 1
  • 1
Поиск: