mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-19 19:25:48 +00:00
[CI skip] Translators are now read from a json file.
Next step is writing a GitHub action that auto-populates that file via the Crowdin API
This commit is contained in:
parent
bea34966c1
commit
a4aebf7bcd
1
pom.xml
1
pom.xml
@ -302,6 +302,7 @@
|
||||
<include>config.yml</include>
|
||||
|
||||
<include>wiki.json</include>
|
||||
<include>languages/translators.json</include>
|
||||
<include>tags/*.json</include>
|
||||
|
||||
<include>languages/**/*.yml</include>
|
||||
|
@ -38,7 +38,6 @@ public class Contributor {
|
||||
private final TriStateOptional<String> headTexture = TriStateOptional.createNew();
|
||||
|
||||
private Optional<UUID> uuid = Optional.empty();
|
||||
private boolean immutable = false;
|
||||
|
||||
/**
|
||||
* This creates a new {@link Contributor} with the given ingame name and GitHub profile.
|
||||
@ -84,10 +83,8 @@ public class Contributor {
|
||||
Validate.notNull(role, "The role cannot be null!");
|
||||
Validate.isTrue(commits >= 0, "Contributions cannot be negative");
|
||||
|
||||
if (!immutable || role.startsWith("translator,")) {
|
||||
contributions.put(role, commits);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the name of this {@link Contributor}.
|
||||
@ -259,13 +256,4 @@ public class Contributor {
|
||||
public int getPosition() {
|
||||
return -getTotalContributions();
|
||||
}
|
||||
|
||||
/**
|
||||
* This marks this {@link Contributor} as immutable.
|
||||
* Immutable {@link Contributor Contributors} will no longer be assigned any contributions.
|
||||
* This is useful when you want to prevent some commits from counting twice.
|
||||
*/
|
||||
public void setImmutable() {
|
||||
immutable = true;
|
||||
}
|
||||
}
|
||||
|
@ -9,6 +9,7 @@ import java.util.UUID;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.ConcurrentMap;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
@ -16,7 +17,6 @@ import javax.annotation.Nullable;
|
||||
import org.apache.commons.lang.Validate;
|
||||
|
||||
import io.github.thebusybiscuit.cscorelib2.config.Config;
|
||||
import io.github.thebusybiscuit.slimefun4.core.services.localization.Translators;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunPlugin;
|
||||
import io.github.thebusybiscuit.slimefun4.utils.HeadTexture;
|
||||
|
||||
@ -88,7 +88,12 @@ public class GitHubService {
|
||||
addContributor("nahkd123", "&aWinner of the 2020 Addon Jam");
|
||||
|
||||
// Translators
|
||||
new Translators(this);
|
||||
try {
|
||||
TranslatorsReader translators = new TranslatorsReader(this);
|
||||
translators.load();
|
||||
} catch (Exception x) {
|
||||
SlimefunPlugin.logger().log(Level.SEVERE, "Failed to read 'translators.json'", x);
|
||||
}
|
||||
}
|
||||
|
||||
private void addContributor(@Nonnull String name, @Nonnull String role) {
|
||||
@ -113,6 +118,17 @@ public class GitHubService {
|
||||
return contributor;
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
public Contributor addContributor(@Nonnull String username, @Nonnull String role, int commits) {
|
||||
Validate.notNull(username, "Username must not be null.");
|
||||
Validate.notNull(role, "Role should not be null.");
|
||||
Validate.isTrue(commits >= 0, "Commit count cannot be negative.");
|
||||
|
||||
Contributor contributor = contributors.computeIfAbsent(username, key -> new Contributor(username));
|
||||
contributor.setContributions(role, commits);
|
||||
return contributor;
|
||||
}
|
||||
|
||||
private void loadConnectors(boolean logging) {
|
||||
this.logging = logging;
|
||||
addDefaultContributors();
|
||||
|
@ -0,0 +1,63 @@
|
||||
package io.github.thebusybiscuit.slimefun4.core.services.github;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Level;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParser;
|
||||
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunPlugin;
|
||||
|
||||
/**
|
||||
* This class reads all translators of this project.
|
||||
* A translator is equivalent to the class {@link Contributor} as it also uses that internally.
|
||||
*
|
||||
* @author TheBusyBiscuit
|
||||
*
|
||||
* @see Contributor
|
||||
*
|
||||
*/
|
||||
final class TranslatorsReader {
|
||||
|
||||
private final GitHubService github;
|
||||
|
||||
// We maybe should switch to a json file in our resources folder at some point.
|
||||
TranslatorsReader(@Nonnull GitHubService github) {
|
||||
this.github = github;
|
||||
}
|
||||
|
||||
public void load() {
|
||||
InputStream inputStream = SlimefunPlugin.class.getResourceAsStream("/languages/translators.json");
|
||||
|
||||
try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8))) {
|
||||
JsonParser parser = new JsonParser();
|
||||
JsonElement element = parser.parse(reader.lines().collect(Collectors.joining("")));
|
||||
JsonObject json = element.getAsJsonObject();
|
||||
|
||||
for (Map.Entry<String, JsonElement> entry : json.entrySet()) {
|
||||
String languageCode = entry.getKey();
|
||||
|
||||
if (entry.getValue().isJsonArray()) {
|
||||
String role = ContributorRole.TRANSLATOR.getId() + ',' + languageCode;
|
||||
JsonArray users = entry.getValue().getAsJsonArray();
|
||||
|
||||
for (JsonElement user : users) {
|
||||
github.addContributor(user.getAsString(), role, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
SlimefunPlugin.logger().log(Level.SEVERE, "Failed to load translators.json file", e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -1,220 +0,0 @@
|
||||
package io.github.thebusybiscuit.slimefun4.core.services.localization;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
import io.github.thebusybiscuit.slimefun4.core.services.github.Contributor;
|
||||
import io.github.thebusybiscuit.slimefun4.core.services.github.GitHubService;
|
||||
|
||||
/**
|
||||
* This class holds all {@link Translators} of this project.
|
||||
* A translator is equivalent to the class {@link Contributor} as it also uses that internally.
|
||||
*
|
||||
* @author TheBusyBiscuit
|
||||
*
|
||||
* @see Contributor
|
||||
*
|
||||
*/
|
||||
public class Translators {
|
||||
|
||||
private final GitHubService github;
|
||||
|
||||
// We maybe should switch to a json file in our resources folder at some point.
|
||||
public Translators(@Nonnull GitHubService github) {
|
||||
this.github = github;
|
||||
|
||||
// Translators - German
|
||||
addTranslator("TheBusyBiscuit", SupportedLanguage.GERMAN, false);
|
||||
addTranslator("MeerBiene", SupportedLanguage.GERMAN, true);
|
||||
addTranslator("daro2404", SupportedLanguage.GERMAN, true);
|
||||
|
||||
// Translators - French
|
||||
addTranslator("JustDams", "D4ms_", SupportedLanguage.FRENCH, true);
|
||||
addTranslator("edkerforne", SupportedLanguage.FRENCH, true);
|
||||
addTranslator("tnthomastn", SupportedLanguage.FRENCH, true);
|
||||
addTranslator("Noumaa", SupportedLanguage.FRENCH, true);
|
||||
addTranslator("ishi-sama", SupportedLanguage.FRENCH, true);
|
||||
addTranslator("amarcais53", SupportedLanguage.FRENCH, true);
|
||||
addTranslator("NinoFutur", SupportedLanguage.FRENCH, true);
|
||||
addTranslator("TheRetix", SupportedLanguage.FRENCH, true);
|
||||
addTranslator("Aeris1One", SupportedLanguage.FRENCH, true);
|
||||
addTranslator("Aomitsu", SupportedLanguage.FRENCH, true);
|
||||
|
||||
// Translators - Italian
|
||||
addTranslator("xXDOTTORXx", SupportedLanguage.ITALIAN, true);
|
||||
addTranslator("Sfiguz7", SupportedLanguage.ITALIAN, false);
|
||||
addTranslator("ThatsCube", SupportedLanguage.ITALIAN, true);
|
||||
addTranslator("alessandrobasi", SupportedLanguage.ITALIAN, true);
|
||||
addTranslator("dracrus", SupportedLanguage.ITALIAN, true);
|
||||
addTranslator("prolletto64", SupportedLanguage.ITALIAN, true);
|
||||
|
||||
// Translators - Spanish
|
||||
addTranslator("Luu7", "_Luu", SupportedLanguage.SPANISH, true);
|
||||
addTranslator("Vravinite", SupportedLanguage.SPANISH, true);
|
||||
addTranslator("NotUmBr4", SupportedLanguage.SPANISH, true);
|
||||
addTranslator("dbzjjoe", SupportedLanguage.SPANISH, true);
|
||||
addTranslator("DaHolyCheese", SupportedLanguage.SPANISH, true);
|
||||
addTranslator("d-l-n", SupportedLanguage.SPANISH, true);
|
||||
|
||||
// Translators - Latvian
|
||||
addTranslator("AgnisT", "NIKNAIZ", SupportedLanguage.LATVIAN, true);
|
||||
|
||||
// Translators - Hungarian
|
||||
addTranslator("andris155", SupportedLanguage.HUNGARIAN, true);
|
||||
addTranslator("KingDeadZ", SupportedLanguage.HUNGARIAN, true);
|
||||
addTranslator("poma123", SupportedLanguage.HUNGARIAN, false);
|
||||
|
||||
// Translators - Vietnamese
|
||||
addTranslator("HSGamer", SupportedLanguage.VIETNAMESE, false);
|
||||
addTranslator("JustMangoT", "JFF_JustMango", SupportedLanguage.VIETNAMESE, true);
|
||||
addTranslator("Julie-Sigtuna", SupportedLanguage.VIETNAMESE, true);
|
||||
addTranslator("nahkd123", SupportedLanguage.VIETNAMESE, true);
|
||||
addTranslator("JustAPieOP", SupportedLanguage.VIETNAMESE, true);
|
||||
addTranslator("that4life", SupportedLanguage.VIETNAMESE, true);
|
||||
addTranslator("CactusTheGuy", SupportedLanguage.VIETNAMESE, true);
|
||||
addTranslator("hniV", SupportedLanguage.VIETNAMESE, true);
|
||||
|
||||
// Translators - Slovak
|
||||
addTranslator("KillerXCoder", SupportedLanguage.SLOVAK, true);
|
||||
addTranslator("PixelHotDog", SupportedLanguage.SLOVAK, true);
|
||||
|
||||
// Translators - Czech
|
||||
addTranslator("Nekomitsuki", SupportedLanguage.CZECH, true);
|
||||
addTranslator("GGGEDR", SupportedLanguage.CZECH, true);
|
||||
addTranslator("jakmanda05", SupportedLanguage.CZECH, true);
|
||||
addTranslator("Aile-Minicraftcz", SupportedLanguage.CZECH, true);
|
||||
addTranslator("Tengoblinekcz", SupportedLanguage.CZECH, true);
|
||||
addTranslator("sirhCCC", SupportedLanguage.CZECH, true);
|
||||
addTranslator("Thezerix", SupportedLanguage.CZECH, true);
|
||||
addTranslator("IsLineCZ", SupportedLanguage.CZECH, true);
|
||||
addTranslator("MrFriggo", SupportedLanguage.CZECH, true);
|
||||
addTranslator("100petr", SupportedLanguage.CZECH, true);
|
||||
addTranslator("frfole", SupportedLanguage.CZECH, true);
|
||||
addTranslator("bobhenl", SupportedLanguage.CZECH, true);
|
||||
addTranslator("janvrska", SupportedLanguage.CZECH, true);
|
||||
addTranslator("LirCZE", SupportedLanguage.CZECH, true);
|
||||
|
||||
// Translators - Russian
|
||||
addTranslator("SoSeDiK", SupportedLanguage.RUSSIAN, false);
|
||||
addTranslator("KostaTV", SupportedLanguage.RUSSIAN, true);
|
||||
addTranslator("TomWiskis", "MrWiskis", SupportedLanguage.RUSSIAN, true);
|
||||
addTranslator("cyb3rm4n", "GP_CyberMan", SupportedLanguage.RUSSIAN, true);
|
||||
|
||||
// Translators - Ukrainian
|
||||
addTranslator("SoSeDiK", SupportedLanguage.UKRAINIAN, false);
|
||||
|
||||
// Translators - Swedish
|
||||
addTranslator("NihilistBrew", "ma1yang2", SupportedLanguage.SWEDISH, false);
|
||||
addTranslator("Tra-sh", "TurretTrash", SupportedLanguage.SWEDISH, true);
|
||||
|
||||
// Translators - Finnish
|
||||
addTranslator("developer-pseudo", SupportedLanguage.FINNISH, true);
|
||||
|
||||
// Translators - Dutch
|
||||
addTranslator("Dr4gonD", "DragonD", SupportedLanguage.DUTCH, true);
|
||||
addTranslator("svr333", SupportedLanguage.DUTCH, false);
|
||||
addTranslator("PabloMarcendo", SupportedLanguage.DUTCH, true);
|
||||
addTranslator("milvantiou", SupportedLanguage.DUTCH, true);
|
||||
addTranslator("Sven313D", SupportedLanguage.DUTCH, true);
|
||||
addTranslator("TypischTeun", SupportedLanguage.DUTCH, true);
|
||||
addTranslator("peppower", SupportedLanguage.DUTCH, true);
|
||||
|
||||
// Translators - Danish
|
||||
addTranslator("Mini-kun", SupportedLanguage.DANISH, true);
|
||||
|
||||
// Translators - Polish
|
||||
addTranslator("ascpixel", "kbartek_", SupportedLanguage.POLISH, true);
|
||||
addTranslator("Xylitus", SupportedLanguage.POLISH, true);
|
||||
addTranslator("Wirusiu", SupportedLanguage.POLISH, true);
|
||||
addTranslator("koloksk", SupportedLanguage.POLISH, true);
|
||||
|
||||
// Translators - Chinese (China)
|
||||
addTranslator("StarWishsama", "StarWish_Sama", SupportedLanguage.CHINESE_CHINA, false);
|
||||
addTranslator("Rothes", SupportedLanguage.CHINESE_CHINA, true);
|
||||
addTranslator("Chihsiao", SupportedLanguage.CHINESE_CHINA, true);
|
||||
addTranslator("Jiejue233", SupportedLanguage.CHINESE_CHINA, true);
|
||||
|
||||
// Translators - Chinese (Taiwan)
|
||||
addTranslator("BrineYT", "HeroBrineKing", SupportedLanguage.CHINESE_TAIWAN, true);
|
||||
addTranslator("mio9", SupportedLanguage.CHINESE_TAIWAN, true);
|
||||
addTranslator("ALiangLiang", SupportedLanguage.CHINESE_TAIWAN, true);
|
||||
|
||||
// Translators - Arabic
|
||||
addTranslator("mohkamfer", "AgentBabbie", SupportedLanguage.ARABIC, false);
|
||||
|
||||
// Translators - Hebrew
|
||||
addTranslator("dhtdht020", SupportedLanguage.HEBREW, true);
|
||||
addTranslator("Eylonnn", SupportedLanguage.HEBREW, true);
|
||||
addTranslator("sarhatabaot", SupportedLanguage.HEBREW, false);
|
||||
addTranslator("Timotiyadeyhakesem", SupportedLanguage.HEBREW, true);
|
||||
addTranslator("PaladinBear", SupportedLanguage.HEBREW, true);
|
||||
addTranslator("Molioron", SupportedLanguage.HEBREW, true);
|
||||
addTranslator("McAlmog", SupportedLanguage.HEBREW, true);
|
||||
|
||||
// Translators - Japanese
|
||||
addTranslator("bito-blosh", "Bloshop", SupportedLanguage.JAPANESE, false);
|
||||
|
||||
// Translators - Korean
|
||||
addTranslator("kwonms871", SupportedLanguage.KOREAN, true);
|
||||
addTranslator("yumjunstar", SupportedLanguage.KOREAN, true);
|
||||
addTranslator("BlWon", SupportedLanguage.KOREAN, true);
|
||||
addTranslator("20181241", SupportedLanguage.KOREAN, true);
|
||||
addTranslator("kudansul", SupportedLanguage.KOREAN, true);
|
||||
|
||||
// Translators - Indonesian
|
||||
addTranslator("diradho", SupportedLanguage.INDONESIAN, false);
|
||||
addTranslator("Frozenkamui", SupportedLanguage.INDONESIAN, false);
|
||||
addTranslator("aril3721", SupportedLanguage.INDONESIAN, false);
|
||||
addTranslator("JunederZ", SupportedLanguage.INDONESIAN, false);
|
||||
addTranslator("EnderWingZ", SupportedLanguage.INDONESIAN, false);
|
||||
|
||||
// Translators - Thai
|
||||
addTranslator("phoomin2012", SupportedLanguage.THAI, false);
|
||||
addTranslator("film2860", SupportedLanguage.THAI, false);
|
||||
addTranslator("Rafrael17k", SupportedLanguage.THAI, false);
|
||||
addTranslator("Cupjok", SupportedLanguage.THAI, false);
|
||||
|
||||
// Translators - Turkish
|
||||
addTranslator("Yunuskrn", SupportedLanguage.TURKISH, true);
|
||||
addTranslator("LinoxGH", "ajan_12", SupportedLanguage.TURKISH, false);
|
||||
|
||||
// Translators - Macedonian
|
||||
addTranslator("TheSilentPro", SupportedLanguage.MACEDONIAN, true);
|
||||
|
||||
// Translators - Bulgarian
|
||||
addTranslator("DNBGlol", SupportedLanguage.BULGARIAN, true);
|
||||
addTranslator("Pukejoy", SupportedLanguage.BULGARIAN, true);
|
||||
|
||||
// Translators - Tagalog
|
||||
addTranslator("sccooottttie", SupportedLanguage.TAGALOG, true);
|
||||
|
||||
// Translators - Portuguese
|
||||
addTranslator("Gusstavo", SupportedLanguage.PORTUGUESE_PORTUGAL, true);
|
||||
|
||||
// Translators - Portuguese (Brazil)
|
||||
addTranslator("G4stavoM1ster", SupportedLanguage.PORTUGUESE_BRAZIL, true);
|
||||
addTranslator("yurinogueira", SupportedLanguage.PORTUGUESE_BRAZIL, true);
|
||||
addTranslator("Sakanas", SupportedLanguage.PORTUGUESE_BRAZIL, true);
|
||||
addTranslator("krazybeat", SupportedLanguage.PORTUGUESE_BRAZIL, true);
|
||||
addTranslator("FaolanMalcadh", SupportedLanguage.PORTUGUESE_BRAZIL, true);
|
||||
addTranslator("Gusstavo", SupportedLanguage.PORTUGUESE_BRAZIL, true);
|
||||
addTranslator("Day-OS", SupportedLanguage.PORTUGUESE_BRAZIL, true);
|
||||
addTranslator("ooicram", SupportedLanguage.PORTUGUESE_BRAZIL, true);
|
||||
addTranslator("Sxigames", SupportedLanguage.PORTUGUESE_BRAZIL, true);
|
||||
}
|
||||
|
||||
@ParametersAreNonnullByDefault
|
||||
private void addTranslator(String name, SupportedLanguage lang, boolean lock) {
|
||||
addTranslator(name, name, lang, lock);
|
||||
}
|
||||
|
||||
@ParametersAreNonnullByDefault
|
||||
private void addTranslator(String username, String minecraftName, SupportedLanguage lang, boolean lock) {
|
||||
Contributor contributor = github.addContributor(minecraftName, "https://github.com/" + username, "translator," + lang.getLanguageId(), 0);
|
||||
|
||||
if (lock) {
|
||||
contributor.setImmutable();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
178
src/main/resources/languages/translators.json
Normal file
178
src/main/resources/languages/translators.json
Normal file
@ -0,0 +1,178 @@
|
||||
{
|
||||
"de" : [
|
||||
"TheBusyBiscuit",
|
||||
"MeerBiene",
|
||||
"daro2404"
|
||||
],
|
||||
"fr" : [
|
||||
"JustDams",
|
||||
"edkerforne",
|
||||
"tnthomastn",
|
||||
"Noumaa",
|
||||
"ishi-sama",
|
||||
"amarcais53",
|
||||
"NinoFutur",
|
||||
"TheRetix",
|
||||
"Aeris1One",
|
||||
"Aomitsu"
|
||||
],
|
||||
"es" : [
|
||||
"Luu7",
|
||||
"Vravinite",
|
||||
"NotUmBr4",
|
||||
"dbzjjoe",
|
||||
"DaHolyCheese",
|
||||
"d-l-n"
|
||||
],
|
||||
"it" : [
|
||||
"Sfiguz7",
|
||||
"xXDOTTORXx",
|
||||
"ThatsCube",
|
||||
"alessandrobasi",
|
||||
"dracrus",
|
||||
"prolletto64"
|
||||
],
|
||||
"lv" : [
|
||||
"AgnisT"
|
||||
],
|
||||
"hu" : [
|
||||
"poma123",
|
||||
"andris155",
|
||||
"KingDeadZ"
|
||||
],
|
||||
"vi" : [
|
||||
"HSGamer",
|
||||
"JustMangoT",
|
||||
"Julie-Sigtuna",
|
||||
"nahkd123",
|
||||
"JustAPieOP",
|
||||
"that4life",
|
||||
"CactusTheGuy",
|
||||
"hniV"
|
||||
],
|
||||
"sk" : [
|
||||
"KillerXCoder",
|
||||
"PixelHotDog"
|
||||
],
|
||||
"cs" : [
|
||||
"Nekomitsuki",
|
||||
"GGGEDR",
|
||||
"jakmanda05",
|
||||
"Aile-Minicraftcz",
|
||||
"Tengoblinekcz",
|
||||
"sirhCCC",
|
||||
"Thezerix",
|
||||
"IsLineCZ",
|
||||
"MrFriggo",
|
||||
"100petr",
|
||||
"frfole",
|
||||
"bobhenl",
|
||||
"janvrska",
|
||||
"LirCZE"
|
||||
],
|
||||
"ru" : [
|
||||
"SoSeDiK",
|
||||
"KostaTV",
|
||||
"TomWiskis",
|
||||
"cyb3rm4n"
|
||||
],
|
||||
"sv" : [
|
||||
"NihilistBrew",
|
||||
"Tra-sh"
|
||||
],
|
||||
"fi" : [
|
||||
"developer-pseudo"
|
||||
],
|
||||
"nl" : [
|
||||
"Dr4gonD",
|
||||
"svr333",
|
||||
"PabloMarcendo",
|
||||
"milvantiou",
|
||||
"Sven313D",
|
||||
"TypischTeun",
|
||||
"peppower"
|
||||
],
|
||||
"da" : [
|
||||
"Mini-kun"
|
||||
],
|
||||
"pl" : [
|
||||
"ascpixel",
|
||||
"Xylitus",
|
||||
"Wirusiu",
|
||||
"koloksk"
|
||||
],
|
||||
"zh-CN" : [
|
||||
"StarWishsama",
|
||||
"Rothes",
|
||||
"Chihsiao",
|
||||
"Jiejue233"
|
||||
],
|
||||
"zh-TW" : [
|
||||
"BrineYT",
|
||||
"mio9",
|
||||
"ALiangLiang"
|
||||
],
|
||||
"ar" : [
|
||||
"mohkamfer"
|
||||
],
|
||||
"he" : [
|
||||
"dhtdht020",
|
||||
"Eylonnn",
|
||||
"sarhatabaot",
|
||||
"Timotiyadeyhakesem",
|
||||
"PaladinBear",
|
||||
"Molioron",
|
||||
"McAlmog"
|
||||
],
|
||||
"ja" : [
|
||||
"bito-blosh"
|
||||
],
|
||||
"ko" : [
|
||||
"kwonms871",
|
||||
"yumjunstar",
|
||||
"BlWon",
|
||||
"20181241",
|
||||
"kudansul"
|
||||
],
|
||||
"id" : [
|
||||
"diradho",
|
||||
"Frozenkamui",
|
||||
"aril3721",
|
||||
"JunederZ",
|
||||
"EnderWingZ"
|
||||
],
|
||||
"th" : [
|
||||
"phoomin2012",
|
||||
"film2860",
|
||||
"Rafrael17k",
|
||||
"Cupjok"
|
||||
],
|
||||
"tr" : [
|
||||
"Yunuskrn",
|
||||
"LinoxGH"
|
||||
],
|
||||
"mk" : [
|
||||
"TheSilentPro"
|
||||
],
|
||||
"bg" : [
|
||||
"DNBGlol",
|
||||
"Pukejoy"
|
||||
],
|
||||
"tl" : [
|
||||
"sccooottttie"
|
||||
],
|
||||
"pt" : [
|
||||
"Gusstavo"
|
||||
],
|
||||
"pt-BR" : [
|
||||
"G4stavoM1ster",
|
||||
"yurinogueira",
|
||||
"Sakanas",
|
||||
"krazybeat",
|
||||
"FaolanMalcadh",
|
||||
"Gusstavo",
|
||||
"Day-OS",
|
||||
"ooicram",
|
||||
"Sxigames"
|
||||
]
|
||||
}
|
Loading…
Reference in New Issue
Block a user