package gui; import static javafx.scene.control.Alert.AlertType.*; import java.util.HashMap; import javafx.scene.control.Alert; import javafx.scene.control.Label; public class Messages { // warnings & errors public static String WARNING_CORPUS_NOT_FOUND = I18N.get("message.WARNING_CORPUS_NOT_FOUND"); public static String WARNING_RESULTS_DIR_NOT_VALID = I18N.get("message.WARNING_RESULTS_DIR_NOT_VALID"); public static String WARNING_DIFFERING_NGRAM_LEVEL_AND_FILTER_TOKENS = I18N.get("message.WARNING_DIFFERING_NGRAM_LEVEL_AND_FILTER_TOKENS"); public static String WARNING_DIFFERING_NGRAM_LEVEL_AND_FILTER_TOKENS_INFO = I18N.get("message.WARNING_DIFFERING_NGRAM_LEVEL_AND_FILTER_TOKENS_INFO"); public static String WARNING_WORD_OR_LEMMA = I18N.get("message.WARNING_WORD_OR_LEMMA"); public static String WARNING_ONLY_NUMBERS_ALLOWED = I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED"); public static String WARNING_NUMBER_TOO_BIG = I18N.get("message.WARNING_NUMBER_TOO_BIG"); public static String WARNING_MISMATCHED_NGRAM_AND_TOKENS_VALUES = I18N.get("message.WARNING_MISMATCHED_NGRAM_AND_TOKENS_VALUES"); public static String WARNING_MISSING_STRING_LENGTH = I18N.get("message.WARNING_MISSING_STRING_LENGTH"); public static String WARNING_NO_TAXONOMY_FOUND = I18N.get("message.WARNING_NO_TAXONOMY_FOUND"); public static String WARNING_NO_SOLAR_FILTERS_FOUND = I18N.get("message.WARNING_NO_SOLAR_FILTERS_FOUND"); public static String ERROR_WHILE_EXECUTING = I18N.get("message.ERROR_WHILE_EXECUTING"); public static String ERROR_WHILE_SAVING_RESULTS_TO_CSV = I18N.get("message.ERROR_WHILE_SAVING_RESULTS_TO_CSV"); public static String ERROR_NOT_ENOUGH_MEMORY= I18N.get("message.ERROR_NOT_ENOUGH_MEMORY"); // missing public static String MISSING_NGRAM_LEVEL = I18N.get("message.MISSING_NGRAM_LEVEL"); public static String MISSING_CALCULATE_FOR = I18N.get("message.MISSING_CALCULATE_FOR"); public static String MISSING_SKIP = I18N.get("message.MISSING_SKIP"); public static String MISSING_STRING_LENGTH = I18N.get("message.MISSING_STRING_LENGTH"); public static String MISMATCHED_STRING_LENGTH_AND_MSD_REGEX = I18N.get("message.MISMATCHED_STRING_LENGTH_AND_MSD_REGEX"); // general notifications - static content/set only once public static String NOTIFICATION_FOUND_X_FILES = I18N.get("message.NOTIFICATION_FOUND_X_FILES"); public static String NOTIFICATION_ANALYSIS_COMPLETED = I18N.get("message.NOTIFICATION_ANALYSIS_COMPLETED"); public static String NOTIFICATION_ANALYSIS_COMPLETED_NO_RESULTS = I18N.get("message.NOTIFICATION_ANALYSIS_COMPLETED_NO_RESULTS"); public static String RESULTS_PATH_SET_TO_DEFAULT = I18N.get("message.RESULTS_PATH_SET_TO_DEFAULT"); public static String NOTIFICATION_ANALYSIS_CANCLED = I18N.get("message.NOTIFICATION_ANALYSIS_CANCELED"); // ongoing notifications - displayed while processing, dynamically changing public static String ONGOING_NOTIFICATION_ANALYZING_FILE_X_OF_Y = I18N.get("message.ONGOING_NOTIFICATION_ANALYZING_FILE_X_OF_Y"); public static String CANCELING_NOTIFICATION = I18N.get("message.CANCELING_NOTIFICATION"); // Labels public static String LABEL_CORPUS_LOCATION_NOT_SET = I18N.get("message.LABEL_CORPUS_LOCATION_NOT_SET"); public static String LABEL_RESULTS_LOCATION_NOT_SET = I18N.get("message.LABEL_RESULTS_LOCATION_NOT_SET"); public static String LABEL_RESULTS_CORPUS_TYPE_NOT_SET = I18N.get("message.LABEL_RESULTS_CORPUS_TYPE_NOT_SET"); public static String LABEL_SCANNING_CORPUS = I18N.get("message.LABEL_SCANNING_CORPUS"); public static String LABEL_SCANNING_SINGLE_FILE_CORPUS = I18N.get("message.LABEL_SCANNING_SINGLE_FILE_CORPUS"); public static String COMPLETED = I18N.get("message.COMPLETED"); public static String TOOLTIP_chooseCorpusLocationB = I18N.get("message.TOOLTIP_chooseCorpusLocationB"); public static String TOOLTIP_readHeaderInfoChB = I18N.get("message.TOOLTIP_readHeaderInfoChB"); public static String TOOLTIP_readNotePunctuationsChB = I18N.get("message.TOOLTIP_readNotePunctuationsChB"); public static String TOOLTIP_readDisplayTaxonomyChB = I18N.get("message.TOOLTIP_readDisplayTaxonomyChB"); private static Label chooseCorpusL; private static String chooseCorpusLabelContent; private static String[] chooseCorpusLabelProperties; // Not properly to be here. TODO move somewhere else in future public static String HELP_URL = "http://slovnica.ijs.si/"; // helper maps /** * Typical window titles * ERROR = "Napaka" * WARNING = "Opozorilo" * CONFIRMATION = "Potrdilo" */ static HashMap windowTitles = new HashMap<>(); static { // automatically set window's title windowTitles.put(ERROR, I18N.get("windowTitles.error")); windowTitles.put(WARNING, I18N.get("windowTitles.warning")); windowTitles.put(CONFIRMATION, I18N.get("windowTitles.confirmation")); } public static void reload(){ LABEL_CORPUS_LOCATION_NOT_SET = I18N.createStringBinding("message.LABEL_CORPUS_LOCATION_NOT_SET").get(); windowTitles = new HashMap<>(); windowTitles.put(ERROR, I18N.get("windowTitles.error")); windowTitles.put(WARNING, I18N.get("windowTitles.warning")); windowTitles.put(CONFIRMATION, I18N.get("windowTitles.confirmation")); } public static void setChooseCorpusL(Label chooseCorpus, String chooseCorpusLabel){ chooseCorpusL = chooseCorpus; chooseCorpusLabelContent = chooseCorpusLabel; chooseCorpusL.textProperty().unbind(); chooseCorpusL.setText(chooseCorpusLabelContent); } public static void setChooseCorpusProperties(String corpusLoc, String corpusFilesSi, String corpusName){ chooseCorpusLabelProperties = new String[3]; chooseCorpusLabelProperties[0] = corpusLoc; chooseCorpusLabelProperties[1] = corpusFilesSi; chooseCorpusLabelProperties[2] = corpusName; } public static void updateChooseCorpusL(){ if (chooseCorpusLabelProperties != null && chooseCorpusLabelProperties[0] != null && chooseCorpusLabelProperties[1] != null && chooseCorpusLabelProperties[2] != null) { StringBuilder sb = new StringBuilder(); sb.append(chooseCorpusLabelProperties[0]) .append("\n") .append(String.format(I18N.get("message.NOTIFICATION_FOUND_X_FILES"), chooseCorpusLabelProperties[1])) .append("\n") .append(String.format(I18N.get("message.NOTIFICATION_CORPUS"), chooseCorpusLabelProperties[2])); chooseCorpusLabelContent = sb.toString(); chooseCorpusL.textProperty().unbind(); chooseCorpusL.setText(chooseCorpusLabelContent); } } }