Update for LibJF 2.7.0
This commit is contained in:
parent
14d09220a1
commit
02a5584455
|
@ -9,6 +9,6 @@ dependencies {
|
|||
|
||||
modImplementation "com.terraformersmc:modmenu:3.1.0"
|
||||
|
||||
// Compat fix
|
||||
include modRuntimeOnly('io.gitlab.jfronny:gson:2.9.0.2022.4.2.19.45.43') // Dependency of LibJF 2.7.0
|
||||
include modImplementation(fabricApi.module("fabric-command-api-v1", "${project.fabric_version}"))
|
||||
}
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
# https://fabricmc.net/develop/
|
||||
minecraft_version=1.18.2
|
||||
yarn_mappings=build.1
|
||||
yarn_mappings=build.2
|
||||
loader_version=0.13.3
|
||||
maven_group=io.gitlab.jfronny
|
||||
archives_base_name=translater
|
||||
|
||||
jfapi_version=2.5.0
|
||||
fabric_version=0.47.8+1.18.2
|
||||
jfapi_version=2.7.0
|
||||
fabric_version=0.48.0+1.18.2
|
||||
|
||||
modrinth_id=YnU8kpyc
|
||||
modrinth_optional_dependencies=mOgUt4GM
|
||||
|
|
|
@ -2,7 +2,6 @@ package io.gitlab.jfronny.translater;
|
|||
|
||||
import io.gitlab.jfronny.libjf.config.api.Entry;
|
||||
import io.gitlab.jfronny.libjf.config.api.JfConfig;
|
||||
import io.gitlab.jfronny.libjf.translate.impl.google.Language;
|
||||
|
||||
public class Cfg implements JfConfig {
|
||||
@Entry
|
||||
|
@ -10,7 +9,7 @@ public class Cfg implements JfConfig {
|
|||
@Entry
|
||||
public static boolean breakFully = false;
|
||||
@Entry
|
||||
public static String targetLanguage = Language.ENGLISH.id;
|
||||
public static String targetLanguage = "en";
|
||||
@Entry
|
||||
public static ProgressMode renderProgress = ProgressMode.None;
|
||||
@Entry
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package io.gitlab.jfronny.translater;
|
||||
|
||||
import io.gitlab.jfronny.libjf.translate.api.TranslateService;
|
||||
import io.gitlab.jfronny.translater.transformer.CachingTransformer;
|
||||
import io.gitlab.jfronny.translater.transformer.TransformingMap;
|
||||
import io.gitlab.jfronny.translater.transformer.TranslatingTransformer;
|
||||
|
@ -16,7 +17,7 @@ import java.util.Map;
|
|||
public class Translater {
|
||||
public static final String MOD_ID = "translater";
|
||||
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
|
||||
private static final TransformingMap map = new TransformingMap(new CachingTransformer(new TranslatingTransformer()));
|
||||
private static final TransformingMap map = new TransformingMap(new CachingTransformer(new TranslatingTransformer<>(TranslateService.getConfigured())));
|
||||
|
||||
public static boolean progressUIEnabled() {
|
||||
return Cfg.renderProgress == Cfg.ProgressMode.Full || Cfg.renderProgress == Cfg.ProgressMode.Gui;
|
||||
|
|
|
@ -1,21 +1,33 @@
|
|||
package io.gitlab.jfronny.translater.transformer;
|
||||
|
||||
import io.gitlab.jfronny.libjf.translate.api.Language;
|
||||
import io.gitlab.jfronny.libjf.translate.api.TranslateException;
|
||||
import io.gitlab.jfronny.libjf.translate.impl.google.GoogleTranslateService;
|
||||
import io.gitlab.jfronny.libjf.translate.impl.google.Language;
|
||||
import io.gitlab.jfronny.libjf.translate.api.TranslateService;
|
||||
import io.gitlab.jfronny.translater.Cfg;
|
||||
import io.gitlab.jfronny.translater.Translater;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class TranslatingTransformer implements Transformer {
|
||||
public class TranslatingTransformer<T extends Language> implements Transformer {
|
||||
public TranslatingTransformer(TranslateService<T> ts) {
|
||||
rnd = new Random();
|
||||
this.ts = ts;
|
||||
languages = ts.getAvailableLanguages();
|
||||
languageAuto = ts.parseLang("auto");
|
||||
languageEnglish = ts.parseLang("en");
|
||||
}
|
||||
|
||||
private static final Pattern SURROUNDING_SPACE_PATTERN = Pattern.compile("^(\\s*)(.*[^\\s]+)(\\s*)$");
|
||||
private final Random rnd;
|
||||
private final Language[] languages = Language.values();
|
||||
private final GoogleTranslateService ts = new GoogleTranslateService();
|
||||
private final TranslateService<T> ts;
|
||||
private final List<T> languages;
|
||||
private final T languageAuto;
|
||||
private final T languageEnglish;
|
||||
|
||||
@Override
|
||||
public String transform(String str) {
|
||||
try {
|
||||
|
@ -72,17 +84,17 @@ public class TranslatingTransformer implements Transformer {
|
|||
return str;
|
||||
}
|
||||
try {
|
||||
Language startLang = StringUtils.isAlpha(Cfg.targetLanguage) && Cfg.targetLanguage.length() == 2
|
||||
? Language.byId(Cfg.targetLanguage)
|
||||
: Language.AUTO_DETECT; // Identify target language
|
||||
T startLang = StringUtils.isAlpha(Cfg.targetLanguage) && Cfg.targetLanguage.length() == 2
|
||||
? ts.parseLang(Cfg.targetLanguage)
|
||||
: languageAuto; // Identify target language
|
||||
String currentState = m.group(2);
|
||||
Language currentLang = startLang;
|
||||
T currentLang = startLang;
|
||||
for (int i = 0; i < Cfg.rounds; i++) { // Translate around
|
||||
Language newLang = randomLanguage();
|
||||
T newLang = randomLanguage();
|
||||
currentState = ts.translate(currentState, Cfg.breakFully ? randomLanguage() : currentLang, newLang);
|
||||
currentLang = newLang;
|
||||
}
|
||||
currentState = ts.translate(currentState, currentLang, startLang == Language.AUTO_DETECT ? Language.ENGLISH : startLang); // Translate to starting language
|
||||
currentState = ts.translate(currentState, currentLang, startLang == languageAuto ? languageEnglish : startLang); // Translate to starting language
|
||||
currentState = m.group(1) + currentState + m.group(3); // Add back surrounding white space
|
||||
Translater.LOGGER.info("Transformed: \"" + str + "\" to: \"" + currentState + "\"");
|
||||
return currentState;
|
||||
|
@ -92,11 +104,7 @@ public class TranslatingTransformer implements Transformer {
|
|||
}
|
||||
}
|
||||
|
||||
private Language randomLanguage() {
|
||||
return languages[rnd.nextInt(languages.length)];
|
||||
}
|
||||
|
||||
public TranslatingTransformer() {
|
||||
rnd = new Random();
|
||||
private T randomLanguage() {
|
||||
return languages.get(rnd.nextInt(languages.size()));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,12 +23,16 @@
|
|||
"depends": {
|
||||
"fabricloader": ">=0.12.12",
|
||||
"minecraft": "*",
|
||||
"libjf-config-v0": ">=2.2.0"
|
||||
"libjf-config-v0": ">=2.7.0",
|
||||
"libjf-translate-v1": ">=2.7.0"
|
||||
},
|
||||
"custom": {
|
||||
"modupdater": {
|
||||
"strategy": "curseforge",
|
||||
"projectID": 394823
|
||||
},
|
||||
"libjf:config": {
|
||||
"referencedConfigs": ["libjf-translate-v1"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue