目前我在我的应用程序中使用了一个接口来处理所有需要的字符串。我从应用程序的任何地方访问接口(称为StringConstants)。界面以荷兰语设置所有字符串,但知道我还想添加语言切换选项(英语)。改变我正在使用的界面的诀窍是什么,或者我应该为我想使用的每种语言创建一个界面?
这是我目前使用的界面代码:
package constants;
public interface StringConstants {
//LabyrintUI//
public String APP_TITLE = "Labyrint";
public String APP_VERSION = "Versie 1.0";
public String MENU_TITLE = "Labyrint - Menu";
public String MOEILIJKHEID1 = "Gemakkelijk";
public String MOEILIJKHEID2 = "Normaal";
public String MOEILIJKHEID3 = "Moeilijk";
public String BTN_SPEEL_TITLE = "Speel";
public String BTN_OPTIES_TITLE = "Opties";
public String BTN_STOP_TITLE = "Stop";
public String BTN_RESET_SCORES_TITLE = "Verwijder de highscores";
public String BTN_SPELREGELS_TITLE = "Spelregels";
public String BTN_OVER_TITLE = "Over";
public String BTN_DEFAULT_SETTINGS_TERUG_ZETTEN_TITLE = "Standaardinstellingen terugzetten";
public String BTN_OPSLAAN_TITLE = "Opslaan";
public String LBL_MOEILIJKHEIDSGRAAD_TITLE = "Moeilijkheidsgraad";
public String LBL_GELUID_TITLE = "Geluid";
public String LBL_SCORES_TITLE = "Highscores";
public String LBL_LAST_SCORE_TITLE = "Laatste score";
public String MI_NIEUWSPEL_TITLE = "Nieuw spel";
public String MI_NIEUWSPEL_TOOLTIP_TEXT = "Nieuw spel starten";
public String MI_SPEEL_OF_PAUZE_TITLE_PAUSE = "Pauzeer";
public String MI_SPEEL_OF_PAUZE_TOOLTIP_TEXT_PAUSE = "Pauzeer het huidig spel";
public String MI_SPEEL_OF_PAUZE_TITLE_PLAY = "Speel";
public String MI_SPEEL_OF_PAUZE_TOOLTIP_TEXT_PLAY = "Hervat het huidig spel";
public String MI_STOPSPEL_TITLE = "Stop";
public String MI_STOPSPEL_TOOLTIP_TEXT = "Stop het huidig spel";
public String MI_GELUID_TITLE_OFF = "Geluid uit";
public String MI_GELUID_TOOLTIP_TEXT_OFF = "Zet geluid uit";
public String MI_GELUID_TITLE_ON = "Geluid aan";
public String MI_GELUID_TOOLTIP_TEXT_ON = "Zet geluid aan";
//BORD//
public String VAK_BEGIN_VALUE = "BEGIN";
public String VAK_LEEG_VALUE = "LEEG";
public String VAK_MUUR_VALUE = "MUUR";
public String VAK_LAVA_VALUE = "LAVA";
public String VAK_DOORGANG_VALUE = "DOORGANG";
public String VAK_EINDE_VALUE = "EINDE";
//LINKERPANEEL//
public String HIGHSCORE_NOT_FOUND_TEXT = "Nog geen highscore gevonden...";
//DIALOGS//
public String ABOUT_DIALOG_CONTENT = APP_TITLE + " is een app gemaakt door Vincent Devaux en Thibault Helsmoortel.";
public String NIEUW_SPEL_DIALOG_TITLE = APP_TITLE + " - Nieuw spel";
public String NIEUW_SPEL_DIALOG_CONTENT = "Weet u zeker dat u uw huidig spel wilt stoppen om een nieuw spel te beginnen?";
public String STOP_SPEL_DIALOG_TITLE = APP_TITLE + " - Spel stoppen";
public String STOP_DPEL_DIALOG_CONTENT = "Weet u zeker dat u uw huidig spel wilt stoppen?";
public String SLUIT_APP_DIALOG_TITLE = APP_TITLE + " - Labyrint sluiten";
public String SLUIT_APP_DIALOG_CONTENT = "Weet u zeker dat u het spel wilt verlaten?";
public String SPELREGELS_DIALOG_TITLE = APP_TITLE + " - Spelregels";
public String SPELREGELS_DIALOG_CONTENT = "Spelregels:" + "\n";
public String SPELREGELS = "Doel van het spel: geraak met je speler zo snel mogelijk aan het einde." +
"\n-Gebruik de doorgangen om je sneller door het labyrint te verplaatsen." +
"\n-Zorg ervoor dat het spook je niet vangt." +
"\n-Daag een vriend uit en verbeter zijn tijd.";
public String BTN_JA_TITLE = "Ja";
public String BTN_ANNULEREN_TITLE = "Annuleren";
public String BTN_OK_TITLE = "Ok";
public String VRAAG_SPELERNAAM_TITLE = APP_TITLE + " - Naam invoeren";
public String VRAAG_SPELERNAAM_TIJD = "Je eindigde in ";
public String VRAAG_SPELERNAAM_NAAM = "\nVul je naam in:";
public String FOUTMELDING_LEZEN_SCORES = "Er is een fout opgetreden bij het lezen van de scores. ";
public String FOUTMELDING_SCHRIJVEN_SCORES = "Er is een fout opgetreden bij het schrijven van de scores. ";
public String GAME_OVER_DIALOG = "Game over!";
public String SCORES_VERWIJDEREN_DIALOG_TITLE = APP_TITLE + " - Scores verwijderen";
public String SCORES_VERWIJDEREN_DIALOG_CONTENT = "Weet je zeker dat je alle scores wilt verwijderen?\nAlle scores zullen verwijdert worden!";
//PROPERTIES//
public String INITIAL_USER_NAME = System.getProperty("user.name");
public String FILE_SEPARATOR = System.getProperty("file.separator");
public String LINE_SEPARATOR = System.getProperty("line.separator");
public String KEYBOARD_FORMAT = System.getProperty("user.country.format");
public String CUSTOM_PROPS_HEADLINE = "Customsettings";
public String PROP_MOEILIJKHEIDSGRAAD = "moeilijkheidsgraad";
public String PROP_GELUID = "geluid";
public String SCORES_MAKKELIJK_HEADLINE = "Scores Makkelijk";
public String SCORES_NORMAAL_HEADLINE = "Scores Normaal";
public String SCORES_MOEILIJK_HEADLINE = "Scores Moeilijk";
//ANDERE//
public String FILE_DEFAULT_SETTINGS_PATH = "src" + FILE_SEPARATOR + "bestanden" + FILE_SEPARATOR + "settings" + FILE_SEPARATOR + "default.ini";
public String FILE_CUSTOM_SETTINGS_PATH = "src" + FILE_SEPARATOR + "bestanden" + FILE_SEPARATOR + "settings" + FILE_SEPARATOR + "custom.ini";
}
答案 0 :(得分:3)
为每种语言使用ResourceBundle和* .properties文件。
答案 1 :(得分:0)
请查看以下帖子,这可能对您有用。
Convert String to another locale in java
但使用i18n的更好方法是使用ResourseBoundle类的属性文件。
由于 萨蒂亚