如果你想做到盡善盡美,那麼diferent類將是你最小的問題,因爲每一種語言都有它的方法來改變一個短語。英語總是使用SVO,而在德語中,您可以以任何喜歡的方式扭曲詞組。在德國,你會用主格,賓格,與格和屬格掙扎,而英語只有將其輸入單詞,所有格。關於這些語言如何工作的規則非常多,並且有一個原因可以讓你在大學學習。我的意思是,即使Google設法正確翻譯100%。
因此,您可能不需要爲您的程序使用超級翻譯器,我認爲只需手動翻譯所有文本然後創建一個簡單的文本類即可以使用該語言輸出其文本你喜歡。
編輯: 所以,如果你只想要一本字典,你可以使它看起來像這樣:
字典
public class Dictionary {
private Word check, it, out;
Dictionary() {
check = new Verb("check", "prüfen", "tester");
it = new Pronoun("it", "es", "le");
out = new Preposition("out", "hinaus", "dehors");
try {
System.out.print(check.translateTo(Language.German));
System.out.print(it.translateTo(Language.German));
System.out.print(out.translateTo(Language.German));
} catch (Exception whatever) {
whatever.printStackTrace();
}
}
}
字
public abstract class Word {
private final String english, german, french;
protected Word(String english, String german, String french) {
this.english = english;
this.german = german;
this.french = french;
}
public String translateTo(Language language) throws Exception {
switch(language) {
case English: return english;
case German: return german;
case French: return french;
}
throw new Exception(); //you can write a LanguageNotFoundException
}
}
Diferent類型的詞
的
public class Verb extends Word {
protected Verb(String english, String german, String french) {
super(english, german, french);
}
}
public class Pronoun extends Word {
protected Pronoun(String english, String german, String french) {
super(english, german, french);
}
}
public class Preposition extends Word {
protected Preposition(String english, String german, String french) {
super(english, german, french);
}
}
一種語言
public enum Language {
English,
German,
French;
}
我不想讓詞組翻譯它只是一本詞典 –