Русификация плагинов CS

Русификация плагинов CS

Собственно столкнулся с произволом! Граждане переводят плагины криво, меняя кодировку непосредственно у исходника. Давайте не будем совершать ошибки. Метод ваш - хорош, но жутко неудобен, когда хочется перевести под себя, где-то поправить и прочь..

Итак по порядку:
1) Есть в нашем плагине такая функция, и выглядит она примерно так:

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
}

Собственно это главная функция, в ней мы и регистрируем наш файл с переводом, который надо положить в data\lang
Сам файл надо сохранять в кодировке utf-8(обязательно без сигнатур)
Вот как выглядит это в плагине:

register_dictionary("myperevod.txt")

2) После объявления файла для перевода надо бы что то такое, что можно перевести
Ну вот например я хочу вывести в чат русское сообщение
client_print(0, print_chat, "%L", LANG_PLAYER, "MY_MESS" )

Собственно умный человек и сам поймёт, что тут написанно, но тем неменее небольшие заметки:
цифра 0 - это ID клиентов, при значении 0 - отображаться сообщение будет всем, если же хотим конкретному юзеру, то тут лучше ставить id. Как с этим работать id - расписывать не стану, ибо это уже из другой оперы.
Далее
"%L" - сюда то и будет подставляться ваш перевод
LANG_PLAYER - это означает, что текст будет на том языке, какой установлен у пользователя. Если же тут прописать LANG_SERVER - текст будет на языке, установленном по умолчанию на сервере.
"MY_MESS" - это код вашего сообщения. Тут очень важно то, что если этот код повторится в другом файле с переводом(допустим hpk.txt) то неизвестно, что за текст тут отобразится. В любом случае код должен быть уникальным.
3) Ну вот, с самим исходником всё. Теперь файл с переводом (у нас он myperevod.txt)
Открываем его, и там вписываем:

[ru]
MY_MESS = мой текст

[en]
MY_MESS = my text

Обратите внимание, что во всех файлах перевода порядок и количество языков должно быть соблюдено одинаково.
Т.е. тут у нас русский и английский и в других должно быть также. Если вы перепутаете порядок и будет у вас сначала английский, потом русский в одном, русский и английский в другом - начнётся беспорядок и тексты у вас будут сразу на двух языках
Мой совет, всегда соблюдайте такой порядок:

[ru]
перевод

[en]
перевод

Если кому непонятно - посмотрите исходники amxx мода. Думаю с этим маленьким мануалом вам станет понятнее языковой поддержки в нём.
4) Ну и наконец заключение: некоторые элементы не переводятся, например названия меню(мне не удалось подобным способом перевести название amx_super menu :buba: ), поэтому для этого и подходит фокус с кодировкой самого исходника.
Ну вот на этом пока всё, статья возможно будет редактироватся и дополнятся :spiteful:

Copyright © Rockon
Комментарии(3)
  1. Аватар X-Flight
    X-Flight Без регистрации
    08 июня
    0
    Думаешь кто-то поймет??? fool
  2. Аватар Alive...
    Alive... Без регистрации
    06 июля
    0
    Что тут не понятного ? Все очень просто...
  3. Аватар MyProDreams
    MyProDreams Без регистрации
    09 января
    0
    Alive...,
    Уже понял)