mirror of
https://github.com/CitizensDev/Citizens2.git
synced 2024-11-30 14:43:54 +01:00
Move translator creation to the translate methods
This commit is contained in:
parent
9a6bdaa170
commit
18d9d412c8
@ -3,7 +3,6 @@ package net.citizensnpcs;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.Iterator;
|
||||
import java.util.Locale;
|
||||
|
||||
import net.citizensnpcs.Settings.Setting;
|
||||
import net.citizensnpcs.api.CitizensAPI;
|
||||
@ -43,7 +42,6 @@ import net.citizensnpcs.npc.NPCSelector;
|
||||
import net.citizensnpcs.util.Messages;
|
||||
import net.citizensnpcs.util.Messaging;
|
||||
import net.citizensnpcs.util.StringHelper;
|
||||
import net.citizensnpcs.util.Translator;
|
||||
import net.milkbowl.vault.economy.Economy;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
@ -209,7 +207,6 @@ public class Citizens extends JavaPlugin implements CitizensPlugin {
|
||||
return;
|
||||
}
|
||||
config = new Settings(getDataFolder());
|
||||
setupTranslator();
|
||||
registerScriptHelpers();
|
||||
|
||||
saves = NPCDataStore.create(getDataFolder());
|
||||
@ -318,29 +315,6 @@ public class Citizens extends JavaPlugin implements CitizensPlugin {
|
||||
// allows all plugin classes to be imported.
|
||||
}
|
||||
|
||||
private void setupTranslator() {
|
||||
Locale locale = Locale.getDefault();
|
||||
String setting = Setting.LOCALE.asString();
|
||||
if (!setting.isEmpty()) {
|
||||
String[] parts = setting.split("[\\._]");
|
||||
switch (parts.length) {
|
||||
case 1:
|
||||
locale = new Locale(parts[0]);
|
||||
break;
|
||||
case 2:
|
||||
locale = new Locale(parts[0], parts[1]);
|
||||
break;
|
||||
case 3:
|
||||
locale = new Locale(parts[0], parts[1], parts[2]);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
Translator.setInstance(new File(getDataFolder(), "lang"), locale);
|
||||
Messaging.logTr(Messages.LOCALE_NOTIFICATION, locale);
|
||||
}
|
||||
|
||||
private void startMetrics() {
|
||||
try {
|
||||
metrics = new Metrics(Citizens.this);
|
||||
|
@ -19,6 +19,9 @@ import java.util.Properties;
|
||||
import java.util.PropertyResourceBundle;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
import net.citizensnpcs.Settings.Setting;
|
||||
import net.citizensnpcs.api.CitizensAPI;
|
||||
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.io.Closeables;
|
||||
import com.google.common.io.Files;
|
||||
@ -246,16 +249,39 @@ public class Translator {
|
||||
}
|
||||
}
|
||||
|
||||
public static void setInstance(File resourceFile, Locale locale) {
|
||||
instance = new Translator(resourceFile, locale);
|
||||
}
|
||||
|
||||
public static String translate(String key, Locale preferredLocale, Object... msg) {
|
||||
if (instance == null)
|
||||
createInstance();
|
||||
return StringHelper.parseColors(msg.length == 0 ? instance.translate(key, preferredLocale) : instance
|
||||
.format(key, preferredLocale, msg));
|
||||
}
|
||||
|
||||
public static String translate(String key, Object... msg) {
|
||||
if (instance == null)
|
||||
createInstance();
|
||||
return translate(key, instance.defaultLocale, msg);
|
||||
}
|
||||
|
||||
private static void createInstance() {
|
||||
Locale locale = Locale.getDefault();
|
||||
String setting = Setting.LOCALE.asString();
|
||||
if (!setting.isEmpty()) {
|
||||
String[] parts = setting.split("[\\._]");
|
||||
switch (parts.length) {
|
||||
case 1:
|
||||
locale = new Locale(parts[0]);
|
||||
break;
|
||||
case 2:
|
||||
locale = new Locale(parts[0], parts[1]);
|
||||
break;
|
||||
case 3:
|
||||
locale = new Locale(parts[0], parts[1], parts[2]);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
instance = new Translator(new File(CitizensAPI.getDataFolder(), "lang"), locale);
|
||||
Messaging.logTr(Messages.LOCALE_NOTIFICATION, locale);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user