summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/configuration/Localization.java
diff options
context:
space:
mode:
authorTyler Murphy <tylermurphy534@gmail.com>2022-06-01 20:03:01 -0400
committerGitHub <noreply@github.com>2022-06-01 20:03:01 -0400
commitc506030cbabe938f0afccbf3489ab72e7463e1e7 (patch)
tree0cafe99d4b314c761d2621457c4a4a824e53350e /src/main/java/net/tylermurphy/hideAndSeek/configuration/Localization.java
parentmove code of conduct and contributing guidelines (diff)
parentUpdate CONTRIBUTING.md (diff)
downloadkenshinshideandseek-c506030cbabe938f0afccbf3489ab72e7463e1e7.tar.gz
kenshinshideandseek-c506030cbabe938f0afccbf3489ab72e7463e1e7.tar.bz2
kenshinshideandseek-c506030cbabe938f0afccbf3489ab72e7463e1e7.zip
Merge pull request #68 from tylermurphy534/1.5.0
1.5.0
Diffstat (limited to '')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/configuration/Localization.java42
1 files changed, 27 insertions, 15 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/configuration/Localization.java b/src/main/java/net/tylermurphy/hideAndSeek/configuration/Localization.java
index b93329f..9418414 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/configuration/Localization.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/configuration/Localization.java
@@ -19,30 +19,31 @@
package net.tylermurphy.hideAndSeek.configuration;
+import net.md_5.bungee.api.ChatColor;
+
import java.io.File;
import java.util.HashMap;
import java.util.Map;
-import net.md_5.bungee.api.ChatColor;
-
public class Localization {
public static final Map<String,LocalizationString> LOCAL = new HashMap<>();
+ public static final Map<String,LocalizationString> DEFAULT_LOCAL = new HashMap<>();
private static final Map<String,String[][]> CHANGES = new HashMap<String,String[][]>() {{
put("en-US", new String[][]{{"WORLDBORDER_DECREASING"},{"START","TAUNTED"}});
- put("de-DE", new String[][]{{}});
+ put("de-DE", new String[][]{{},{"TAUNTED"}});
}};
public static void loadLocalization() {
- ConfigManager manager = new ConfigManager("localization.yml", "lang/localization_"+Config.locale +".yml");
+ ConfigManager manager = ConfigManager.create("localization.yml", "lang/localization_"+Config.locale +".yml");
int PLUGIN_VERSION = manager.getDefaultInt("version");
int VERSION = manager.getInt("version");
- if(VERSION < PLUGIN_VERSION){
- for(int i = VERSION; i < PLUGIN_VERSION; i++){
- if(i < 1) continue;
+ if (VERSION < PLUGIN_VERSION) {
+ for(int i = VERSION; i < PLUGIN_VERSION; i++) {
+ if (i < 1) continue;
String[] changeList = CHANGES.get(Config.locale)[i-1];
for(String change : changeList)
manager.reset("Localization." + change);
@@ -51,9 +52,9 @@ public class Localization {
}
String SELECTED_LOCAL = manager.getString("type");
- if(SELECTED_LOCAL == null){
+ if (SELECTED_LOCAL == null) {
manager.reset("type");
- } else if(!SELECTED_LOCAL.equals(Config.locale)){
+ } else if (!SELECTED_LOCAL.equals(Config.locale)) {
manager.resetFile("lang"+File.separator+"localization_"+Config.locale +".yml");
}
@@ -61,17 +62,28 @@ public class Localization {
for(String key : manager.getConfigurationSection("Localization").getKeys(false)) {
LOCAL.put(
- key,
+ key,
new LocalizationString( ChatColor.translateAlternateColorCodes('&', manager.getString("Localization."+key) ) )
- );
+ );
+ }
+
+ for(String key : manager.getDefaultConfigurationSection("Localization").getKeys(false)) {
+ DEFAULT_LOCAL.put(
+ key,
+ new LocalizationString( ChatColor.translateAlternateColorCodes('&', manager.getString("Localization."+key) ) )
+ );
}
}
public static LocalizationString message(String key) {
- LocalizationString temp = LOCAL.get(key);
- if(temp == null) {
- return new LocalizationString(ChatColor.RED + "" + ChatColor.ITALIC + key + " is not found in localization.yml. This is a plugin issue, please report it.");
+ LocalizationString message = LOCAL.get(key);
+ if (message == null) {
+ LocalizationString defaultMessage = DEFAULT_LOCAL.get(key);
+ if(defaultMessage == null) {
+ return new LocalizationString(ChatColor.RED + "" + ChatColor.ITALIC + key + " is not found in localization.yml. This is a plugin issue, please report it.");
+ }
+ return new LocalizationString(defaultMessage.toString());
}
- return new LocalizationString(temp.toString());
+ return new LocalizationString(message.toString());
}
}