mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-16 17:05:20 +01:00
Removed invalid code in getLanguageFileDescription,When the language is not discovered, it will use the built-in language fallback mechanism to fall back,At the same time, we also fix the issue that using language in the server does not save the settings of the server side locale
This commit is contained in:
@@ -31,24 +31,24 @@ public final class LanguageCommand implements CommandHandler {
|
||||
}
|
||||
|
||||
String langCode = args.get(0);
|
||||
String actualLangCode = null;
|
||||
|
||||
var languageInst = Grasscutter.getLanguage(langCode);
|
||||
var actualLangCode = languageInst.getLanguageCode();
|
||||
var locale = Locale.forLanguageTag(actualLangCode);
|
||||
if (sender != null) {
|
||||
var locale = Locale.forLanguageTag(langCode);
|
||||
actualLangCode = Utils.getLanguageCode(locale);
|
||||
var account = sender.getAccount();
|
||||
account.setLocale(locale);
|
||||
account.save();
|
||||
}
|
||||
else {
|
||||
var languageInst = Grasscutter.getLanguage(langCode);
|
||||
actualLangCode = languageInst.getLanguageCode();
|
||||
Grasscutter.setLanguage(languageInst);
|
||||
var config = Grasscutter.getConfig();
|
||||
config.language.language = locale;
|
||||
Grasscutter.saveConfig(config);
|
||||
}
|
||||
|
||||
if (!langCode.equals(actualLangCode)) {
|
||||
// I think there is no necessary to register this in language files
|
||||
// since this will always be english
|
||||
CommandHandler.sendMessage(sender, "currently, server does not have that language: " + langCode);
|
||||
CommandHandler.sendMessage(sender, translate(sender, "commands.language.language_not_found", langCode));
|
||||
}
|
||||
|
||||
CommandHandler.sendMessage(sender, translate(sender, "commands.language.language_changed", actualLangCode));
|
||||
|
||||
@@ -116,12 +116,8 @@ public final class Language {
|
||||
private static LanguageStreamDescription getLanguageFileDescription(String languageCode, String fallbackLanguageCode) {
|
||||
var fileName = languageCode + ".json";
|
||||
var fallback = fallbackLanguageCode + ".json";
|
||||
|
||||
String actualLanguageCode = languageCode;
|
||||
if (cachedLanguages.containsKey(actualLanguageCode)) {
|
||||
return new LanguageStreamDescription(actualLanguageCode, null);
|
||||
}
|
||||
|
||||
String actualLanguageCode = languageCode;
|
||||
InputStream file = Grasscutter.class.getResourceAsStream("/languages/" + fileName);
|
||||
|
||||
if (file == null) { // Provided fallback language.
|
||||
|
||||
Reference in New Issue
Block a user