Пофиски
А в каких ивентах он используется?
Всм? Ты можешь использовать эту функцию если ты будешь использовать класс Player
if($player->getLocale() == 'ru_RU') {
// даёшь предмет и название на русском
} // Тут: else и название на Английском (пример)
Фу…
Тоесть если игрок англ, то это “en_EN”?
Лучше создать отдельную функцию для этого, сделаю маленький пример:
public static function sendMessageLocale(Player $player, string $rus, string $en) : void{
switch($player->getLocale()){
case 'ru_RU':
$player->sendMessage($rus);
break;
case 'en_EN':
$player->sendMessage($en);
break;
}
}
self::sendMessageLocale($player, 'привет', 'hello');
гкод, но лучше предлогать я даже не собирался
Даун???
То есть ты предлагаешь передавать в аргументы переведенное сообщение на каждый язык??
Я же сказал гкод, я лучше предлагать не собирался
Я просто сказал что проверку не стоит так использовать каждый раз.
подобные операции лучше делать другим образом. чтобы не загромождать код.
название файла (в качестве примера): ru_Ru.json
в плагине сделать отдельный класс, который будет работать с данными файлами. а функция будет выглядеть примерно так:
public function getLocaleMessage(string $query, string $locale): string;
как минимум подобные операции в ваших плагинах сделают код чистым и красивым. вообще языковые настройки (как я наконец-то адекватно реализовал) можно посмотреть тут
это псевдо пример, если что
У меня жалоба: команда /troll отображается, но никаких действий не производит. Ядро Генезис Мод 1.1.
Гений

Это API даёт гарантию, что на Генезисе это должно работать!
Не дает
мне было скучно и я решил запилить псевдо пример:)
$queryHelper = TestPlugin::getInstance()->getLocaleTranslationManager()->getQueryHelper();
$queryHelper->getTranslatedString("message.test", "ru_RU");
// Это тестовое сообщение.
TestPlugin.zip (6.0 КБ)
К тому же, команда отображается, то есть плагин работает, но не должным образом.