1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Распознавание языка в чате

Тема в разделе "Разработка плагинов для новичков", создана пользователем Sergeo, 1 апр 2021.

  1. Автор темы
    Sergeo

    Sergeo Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Solomka
    Возможно ли распознать язык, который используется игроком? Например, "Привет, мир!" - русский, "Helloy world!" - английский и уже делать следующие: (Автоматически выставлял язык, а потом уже методы по чату и т.д)


    Код:
    public class TranslateString {
    
        public static String translate(String langFrom, String langTo, String text, Player p) throws IOException {
            String urlStr = " https://script.google.com/macros/s/AKfycbzhi3gpfD8b5PZ2pWS0pGCFOU0jF9vxJL2d-G9HQBTrZSfT9u4/exec" +
                    "?q=" + URLEncoder.encode(text, StandardCharsets.UTF_8) +
                    "&target=" + langTo +
                    "&source=" + langFrom;
            URL url = new URL(urlStr);
            StringBuilder response = new StringBuilder();
            HttpURLConnection con = (HttpURLConnection) url.openConnection();
            con.setRequestProperty("User-Agent", "Mozilla/5.0");
            BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
            String inputLine;
            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
            in.close();
            return response.toString();
        }
    }
    И вот сюда помещать какой язык использован и переводить на русский:

    Код:
    pl.sendMessage(translate("en", "ru", e.getMessage(), p));
     
  2. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Боюсь, вариантов не много. В первую очередь приходит мысль воспользоваться третьим апи(вроде этого). Ещё вариант - сделать какие-нибудь таблицы символов языков, и по ним определять используемый язык, но это ненадежно. Наконец, можно получить язык самого игрока через Player#getLocale(), но лично я использую английский по-дефолту, так что работать будет отнюдь не всегда.
     
  3. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Легко, смотри какой язык выбран в клиенте и все. player.getLocale()
     
  4. Sneyzi

    Sneyzi Активный участник Пользователь

    Баллы:
    76
    При первом заходе спрашивать у игрока его язык и заносить в бд.
     
  5. Автор темы
    Sergeo

    Sergeo Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Solomka
    Мне не на один раз нужно, а это работает в плане переводчика /translator, а дальше уже языки, на которые Расчитан сервер(настройка кфг)
     
  6. Автор темы
    Sergeo

    Sergeo Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Solomka
    Апи мне больше по душе). Спасибо за материалы!
     

Поделиться этой страницей