Document libjf-translate-v0
This commit is contained in:
parent
d0bb01a99b
commit
1f1535ac10
6
docs/libjf-translate-v0.md
Normal file
6
docs/libjf-translate-v0.md
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# libjf-translate-v0
|
||||||
|
libjf-translate-v0 provides a util class for translating strings through Google Translate.
|
||||||
|
|
||||||
|
To translate a string, just call `TranslateService.translate("Text to translate", Language.AUTO_DETECT, Language.ENGLISH)`
|
||||||
|
|
||||||
|
To obtain allow configuring languages, you may use the `Language` enum itself or `Language.byId("en")`
|
@ -16,20 +16,20 @@ public enum Language {
|
|||||||
|
|
||||||
static {
|
static {
|
||||||
for (Language language : Language.values()) {
|
for (Language language : Language.values()) {
|
||||||
LANGUAGE_BY_VALUE.put(language.value, language);
|
LANGUAGE_BY_VALUE.put(language.id, language);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Language byValue(String value) {
|
public static Language byId(String value) {
|
||||||
return LANGUAGE_BY_VALUE.getOrDefault(value, AUTO_DETECT);
|
return LANGUAGE_BY_VALUE.getOrDefault(value, AUTO_DETECT);
|
||||||
}
|
}
|
||||||
|
|
||||||
public final String name;
|
public final String name;
|
||||||
public final String value;
|
public final String id;
|
||||||
|
|
||||||
Language(String name, String value) {
|
Language(String name, String id) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.value = value;
|
this.id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -21,12 +21,12 @@ public class TranslateService {
|
|||||||
if (textToTranslate == null) throw new TranslateException("textToTranslate must not be null");
|
if (textToTranslate == null) throw new TranslateException("textToTranslate must not be null");
|
||||||
String pageSource = "";
|
String pageSource = "";
|
||||||
try {
|
try {
|
||||||
pageSource = getPageSource(textToTranslate, translateFrom.value, translateTo.value);
|
pageSource = getPageSource(textToTranslate, translateFrom.id, translateTo.id);
|
||||||
Matcher matcher = TRANSLATION_RESULT.matcher(pageSource);
|
Matcher matcher = TRANSLATION_RESULT.matcher(pageSource);
|
||||||
if (matcher.find()) {
|
if (matcher.find()) {
|
||||||
String match = matcher.group(1);
|
String match = matcher.group(1);
|
||||||
if (match != null && !match.isEmpty()) {
|
if (match != null && !match.isEmpty()) {
|
||||||
return StringEscapeUtils.unescapeHtml4(match);
|
return StringEscapeUtils.unescapeHtml4(match); //TODO use commons-text once that is shipped with Minecraft
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
throw new TranslateException("Could not translate \"" + textToTranslate + "\": result page couldn't be parsed");
|
throw new TranslateException("Could not translate \"" + textToTranslate + "\": result page couldn't be parsed");
|
||||||
|
@ -14,5 +14,6 @@ nav:
|
|||||||
- 'libjf-devutil-v0.md'
|
- 'libjf-devutil-v0.md'
|
||||||
- 'libjf-data-v0.md'
|
- 'libjf-data-v0.md'
|
||||||
- 'libjf-data-manipulation-v0.md'
|
- 'libjf-data-manipulation-v0.md'
|
||||||
|
- 'libjf-translate-v0.md'
|
||||||
- 'libjf-unsafe-v0.md'
|
- 'libjf-unsafe-v0.md'
|
||||||
- 'libjf-web-v0.md'
|
- 'libjf-web-v0.md'
|
||||||
|
Loading…
Reference in New Issue
Block a user