Работа с json. Локализация

275
23 августа 2017, 16:13

Хочу реализовать систему выбора языкового файла для перевода текста. Получил язык установленный в клиенте у игрока. Они имеют вид, к примеру, ru_RU, en_EN. По дефолту, если язык не найден устанавливается en_EN Есть два языковых файла ru_RU.json и en_EN.json Есть такой код для выбора языкового файла

private final String DEFAULT_LANG = "en_EN";

public String TranslateText(Player player, String text){
    String lang = player.getLoginChainData().getLanguageCode();
    File file = new File("uocore.provider.lang."+lang+".json");
    if(file.exists()){
        try{
            JsonParser parser = new JsonParser();
            Object obj = parser.parse(new FileReader(file));
            JsonObject jobj = (JsonObject) obj;
            return jobj.get(text).toString();
        }catch(FileNotFoundException e){
            e.printStackTrace();
        }
    }else{
        try{
            File def_file = new File("uocore.provider.lang."+DEFAULT_LANG+".json");
            JsonParser parser = new JsonParser();
            Object obj = parser.parse(new FileReader(def_file));
            JsonObject jobj = (JsonObject) obj;
            return jobj.get(text).toString();
        }catch(FileNotFoundException e){
            e.printStackTrace();
        }
    }
}

Языковые файлы имеют формат

{ "game": "Русский" }

{ "game": "English" }

Я знаю, что работать это не будет. Помогите, пожалуйста, с реализацией. Как открывать нужный языковой файл для перевода текста игроку?

READ ALSO
Как правильно настроить criteria

Как правильно настроить criteria

Есть 2 сущности связанные многие-ко-многимЕсли я хочу получить все данные то result = session

364
Почему код не проходит условие? [дубликат]

Почему код не проходит условие? [дубликат]

На данный вопрос уже ответили:

266
рекурсивная отрисовка composite component

рекурсивная отрисовка composite component

Добрый день! Я хочу сделать рекурсивный вызов composite componentТ

240
Java socket. ошибка с отправкой объекта

Java socket. ошибка с отправкой объекта

Пишу игру по сетиКлиент посылает экземпляр класса ServerCommand серверу

296