Для этого нужен будет AMX Mod X Studio или сойдёт AkelPad
Итак... для того чтобы задекларировать словарь - добавляем строчку в процедуру plugin_init:
public plugin_init()
{
register_plugin("Статья :)","1","Serjant")
register_dictionary("Lang.txt")
}
Все словари находятся в дирректории:
cstrike\addons\amxmodx\data\lang\
Поэтому мы создаём текстовый файл Lang.txt именно в этой дирректории
Чтение из словаря происходит двумя параметрами и объявляется в тексте одним.
Объявляется знаками "%L" (Предполагаю, что сокращённо от LANG)
Пример:
client_print(id,print_console,"%L" ...
Или:
client_print(id,print_console,"Игрок %L был кикнут" ...
Что появляется вместо "%L" ?
Появляется значение, которое будет взято из словаря!
Как я уже сказал чтение производится двумя параметрами:
"Язык" и "Параметр"
Функция LANG_SERVER возвращает значение - язык, на котором играет сервер...
Чтение:
"%L", LANG_SERVER, "TEST"
Это значит что из словаря Lang.txt будет считываться параметр TEST из раздела!
Далее просматриваем код на надписи на инглише... Хоп!
Находим:
print( id, \"Игрок %s был кикнут" );
Заменяем на:
print( id, "%L",LANG_SERVER,"TEST" );
И в словаре пишем перевод:
[ru]
...
...
TEST = Игрок был кикнут
...
...
И так далее...
Незабываем под теми же параметрами поставить и английские значения(Вдруг если сервер на Английском)
[en]
...
...
TEST = Player %s has been kicked
...
...
Схема заполнения словаря такова:
[]
=
=
=
И ещё, надо учитывать последовательность языков в словаре..
Может произойти ошибка и чтения словаря вернёт значение: ML_NOTFOUND: ...
Последовательность такова:
[ru]
[en]
[de]
[sr]
[tr]
[fr]
[sv]
[da]
[pl]
[nl]
[es]
[bp]
[cz]
[fi]
Не знаю почему, но это рекомендованная последовательность языков...
Если нет у вас значений на каком то языке, то можно их не писать!!!