Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 8 из 8
  1. #1
    Аватар для paik
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.06.2016
    Сообщений
    5
    Репутация:
    1 ±

    Поддержка двух языков на сервере.

    Приветик, есть мод ДМ на русском языке, я вот задумался, было бы не плохо сделать поддержку английского языка, чтобы удобнее было иностранцам. Как это лучше реализовать в моде? а то дублировать строчки на проверки if(rus) не хотелось бы так :)

    upd.
    p.s. в cs 1.6 на amx было удобно с подключением LANG файлов. в моде пишешь типо L_HELLO а в LANG файле:
    [RU]
    L_HELLO = привет
    [EN]
    L_HELLO = hi

    Спасибо.
    Последний раз редактировалось paik; 27.06.2016 в 21:17.

  2. #2
    Аватар для kushichka
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.04.2014
    Сообщений
    75
    Репутация:
    6 ±
    Думаю и здесь можно попробовать сделать через языковые файлы, хотя бы при помощи PVar'ов.. Нужно подумать как это лучше реализовать.

  3. #3
    Аватар для Redsan
    Пользователь

    Статус
    Оффлайн
    Регистрация
    07.06.2016
    Адрес
    Minsk, Belarus
    Сообщений
    78
    Репутация:
    15 ±
    Ну например вот так:
    PHP код:
    // 2 - количество языков, 1 - количество строк текста, 144 - максимальная длина текста(лимит sa-mp)
    new LangugeText[2][1][144] = { 
        {
            {
    "English text"}
        },
        {
            {
    "Русский текст"}
        }
    };

    public 
    OnPlayerConnect(playerid)
    {
        
    SetPVarInt(playerid"Language"1); // 0 - английский язык, 1 - русский язык
    }

    CMD:englishtext(playeridparams[])
    {
        
    SendClientMessage(playerid, -1LangugeText[GetPVarInt(playerid"Language")][0]);
        return 
    1;
    }

    CMD:russiantext(playeridparams[])
    {
        
    SendClientMessage(playerid, -1LangugeText[GetPVarInt(playerid"Language")][0]);
        return 
    1;

    p.s. по моему видел эту реализацию на официальном форуме sa-mp.com

  4. Пользователь сказал cпасибо:
    paik (28.06.2016)
  5. #4
    Аватар для paik
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.06.2016
    Сообщений
    5
    Репутация:
    1 ±
    Цитата Сообщение от Redsan Посмотреть сообщение
    Ну например вот так:
    PHP код:
    // 2 - количество языков, 1 - количество строк текста, 144 - максимальная длина текста(лимит sa-mp)
    new LangugeText[2][1][144] = { 
        {
            {
    "English text"}
        },
        {
            {
    "Русский текст"}
        }
    };

    public 
    OnPlayerConnect(playerid)
    {
        
    SetPVarInt(playerid"Language"1); // 0 - английский язык, 1 - русский язык
    }

    CMD:englishtext(playeridparams[])
    {
        
    SendClientMessage(playerid, -1LangugeText[GetPVarInt(playerid"Language")][0]);
        return 
    1;
    }

    CMD:russiantext(playeridparams[])
    {
        
    SendClientMessage(playerid, -1LangugeText[GetPVarInt(playerid"Language")][0]);
        return 
    1;

    p.s. по моему видел эту реализацию на официальном форуме sa-mp.com
    Спасибо. Но хотелось бы пихнуть всё в файл, как я делал в cs. Попробую сам поковырять, если не получится, тогда через твой способ.

  6. #5
    Аватар для TheMallard
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.12.2015
    Адрес
    San Fierro
    Сообщений
    217
    Репутация:
    39 ±
    https://github.com/Open-GTO/zlang

    Это как-раз система языков с файлами.

  7. Пользователь сказал cпасибо:
    paik (28.06.2016)
  8. #6
    Аватар для paik
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.06.2016
    Сообщений
    5
    Репутация:
    1 ±
    Спасибо :)

  9. #7
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от TheMallard Посмотреть сообщение
    https://github.com/Open-GTO/zlang

    Это как-раз система языков с файлами.
    У автора другие цели, он хочет предоставлять мультиязычность для каждого игрока по-отдельности, что эта система не позволяет сделать. Также она использует SVar, а их может быть очень ограниченное количество, поэтому её нужно переписать на GVar. Для SA-MP ничего адекватного в плане мультиязычности нет, в идеале нужно реализовать плагин, предоставляющий интерфейс для работы с GNU gettext, может тогда ситуация с этим улучшится.

  10. 2 пользователя(ей) сказали cпасибо:
    kushichka (28.06.2016) paik (28.06.2016)
  11. #8
    Аватар для paik
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.06.2016
    Сообщений
    5
    Репутация:
    1 ±
    ех жаль =\

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •