diff --git a/src/de/deadlocker8/budgetmaster/logic/utils/Strings.java b/src/de/deadlocker8/budgetmaster/logic/utils/Strings.java index 4e5682972a38d7840fbe5417bc2175eb6501a820..f5544a5f8e089271d1081839b37a9e943052e796 100644 --- a/src/de/deadlocker8/budgetmaster/logic/utils/Strings.java +++ b/src/de/deadlocker8/budgetmaster/logic/utils/Strings.java @@ -19,12 +19,24 @@ public class Strings public static final String TITLE_AMOUNT = "title.amount"; public static final String TITLE_INFO = "title.info"; public static final String TITLE_WARNING = "title.warning"; - public static final String TITLE_ERROR = "title.error"; + public static final String TITLE_ERROR = "title.error"; + public static final String TITLE_CATEGORY_NEW = "title.category.new"; + public static final String TITLE_CATEGORY_EDIT = "title.category.edit"; + public static final String TITLE_CHART_EXPORT = "title.chart.export"; + public static final String TITLE_MODAL = "title.modal"; + + //LOAD + public static final String LOAD_CHARTS = "load.charts"; + public static final String LOAD_DATA = "load.data"; //MISC public static final String CATEGORY_NONE = "category.none"; + public static final String CATEGORY_REST = "category.rest"; public static final String TOOLTIP_CHART_CATEGORIES = "tooltip.chart.categories"; - public static final String CHART_MONTH_LINE_SUM = "chart.month.line.sum"; + public static final String CHART_MONTH_LINE_SUM = "chart.month.line.sum"; + public static final String CATEGORIES_PLACEHOLDER = "categories.placeholder"; + public static final String CHART_CATEGORIES_TITLE_INCOMES = "chart.categories.title.incomes"; + public static final String CHART_CATEGORIES_TITLE_PAYMENTS = "chart.categories.title.payments"; //REPORT public static final String REPORT_POSITION = "report.position"; @@ -56,8 +68,7 @@ public class Strings public static final String MONTH_SEPTEMBER ="month.september"; public static final String MONTH_OCTOBER ="month.october"; public static final String MONTH_NOVEMBER ="month.november"; - public static final String MONTH_DECEMBER ="month.december"; - + public static final String MONTH_DECEMBER ="month.december"; //INFO public static final String INFO_TITLE_CATEGORY_DELETE = "info.title.category.delete"; @@ -68,10 +79,10 @@ public class Strings public static final String INFO_TEXT_PAYMENT_REPEATING_DELETE_ALL = "info.text.payment.repeating.delete.all"; public static final String INFO_TEXT_PAYMENT_REPEATING_DELETE_FUTURES = "info.text.payment.repeating.delete.futures"; public static final String INFO_TEXT_PAYMENT_REPEATING_DELETE_CANCEL = "info.text.payment.repeating.delete.cancel"; - - + public static final String INFO_FIRST_START = "info.first.start"; //WARNING + public static final String WARNING_ENDDATE_BEFORE_STARTDATE = "warning.enddate.before.startdate"; //ERROR public static final String ERROR_UNKNOWN_HOST = "error.unknown.host"; @@ -81,4 +92,7 @@ public class Strings public static final String ERROR_400 = "error.400"; public static final String ERROR_401 = "error.401"; public static final String ERROR_500 = "error.500"; + public static final String ERROR_CREATE_UI = "error.create.ui"; + public static final String ERROR_SERVER_CONNECTION = "error.server.connection"; + public static final String ERROR_SERVER_CONNECTION_WITH_DETAILS = "error.server.connection.with.details"; } \ No newline at end of file diff --git a/src/de/deadlocker8/budgetmaster/main/_de.properties b/src/de/deadlocker8/budgetmaster/main/_de.properties index af8b8c38a6860864863c9d99d19ca83616ccbf01..86ba0e9cc0ff970709ca07b5b70d5a2313f9f2d2 100644 --- a/src/de/deadlocker8/budgetmaster/main/_de.properties +++ b/src/de/deadlocker8/budgetmaster/main/_de.properties @@ -18,11 +18,23 @@ title.amount=Betrag title.info=Hinweis title.warning=Warnung title.error=Fehler +title.category.new=Neue Kategorie +title.category.edit=Kategorie bearbeiten +title.chart.export=Diagramm exportieren +title.modal=Vorgang l�uft + +# LOAD +load.charts=Lade Diagramme... +load.data=Lade Daten... # MISC category.none=Keine Kategorie +category.rest=�bertrag tooltip.chart.categories={0}\n{1} %\n{2} chart.month.line.sum=Summe in {0} +categories.placeholder=Keine Kategorien verf�gbar +chart.categories.title.incomes=Einnahmen nach Kategorien +chart.categories.title.payments=Ausgaben nach Kategorien # REPORT report.position=Nr. @@ -65,9 +77,10 @@ info.text.payment.repeating.delete=Es handelt sich um eine wiederkehrende Zahlun info.text.payment.repeating.delete.all=Alle info.text.payment.repeating.delete.futures=Alle zuk�nftigen info.text.payment.repeating.delete.cancel=Abbrechen - +info.first.start=Vor der ersten Benutzung musst du deine Serverdaten eingeben. # WARNING +warning.enddate.before.startdate=Das Enddatum darf nicht vor dem Startdatum liegen. # ERROR error.unknown.host=Es konnte keine Verbindung mit dem Internet hergestellt werden. @@ -77,3 +90,6 @@ error.https.hostname.wrong=Der Server verwendet ein selbst signiertes Zertifkat error.400=Der Server erhielt eine fehlerhafte Anfrage oder ung�ltige Parameter. error.401=Ung�ltiges Passwort. error.500=Beim Ausf�hren der Anfrage ist ein interner Serverfehler ist aufgetreten. +error.create.ui=Beim Erstellen der Benutzeroberfl�che ist ein Fehler aufgetreten. +error.server.connection=Beim Herstellen der Verbindung zum Server ist ein Fehler aufgetreten. Bitte �berpr�fe deine Einstellungen. +error.server.connection.with.details=Beim Herstellen der Verbindung zum Server ist ein Fehler aufgetreten. Bitte �berpr�fe deine Einstellungen.\n\nFehlerdetails:\n{0} diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/CategoryController.java b/src/de/deadlocker8/budgetmaster/ui/controller/CategoryController.java index 2c8762fe1a8182cba3cde01d5cd57aaa8f2a305b..a00ebacff60746b6a300da90b76ceafc35b66503 100644 --- a/src/de/deadlocker8/budgetmaster/ui/controller/CategoryController.java +++ b/src/de/deadlocker8/budgetmaster/ui/controller/CategoryController.java @@ -9,6 +9,7 @@ import de.deadlocker8.budgetmaster.logic.serverconnection.ExceptionHandler; import de.deadlocker8.budgetmaster.logic.serverconnection.ServerConnection; import de.deadlocker8.budgetmaster.logic.utils.Colors; import de.deadlocker8.budgetmaster.logic.utils.Helpers; +import de.deadlocker8.budgetmaster.logic.utils.Strings; import de.deadlocker8.budgetmaster.ui.Refreshable; import de.deadlocker8.budgetmaster.ui.cells.CategoryCell; import fontAwesome.FontIconType; @@ -32,6 +33,7 @@ import javafx.stage.Stage; import javafx.util.Callback; import logger.Logger; import tools.ConvertTo; +import tools.Localization; public class CategoryController implements Refreshable { @@ -86,7 +88,7 @@ public class CategoryController implements Refreshable } }); - Label labelPlaceholder = new Label("Keine Kategorien verfügbar"); + Label labelPlaceholder = new Label(Localization.getString(Strings.CATEGORIES_PLACEHOLDER)); labelPlaceholder.setStyle("-fx-font-size: 16"); listView.setPlaceholder(labelPlaceholder); @@ -132,11 +134,11 @@ public class CategoryController implements Refreshable if(edit) { - newStage.setTitle("Kategorie bearbeiten"); + newStage.setTitle(Localization.getString(Strings.TITLE_CATEGORY_EDIT)); } else { - newStage.setTitle("Neue Kategorie"); + newStage.setTitle(Localization.getString(Strings.TITLE_CATEGORY_NEW)); } newStage.setScene(new Scene(root)); diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/ChartController.java b/src/de/deadlocker8/budgetmaster/ui/controller/ChartController.java index 98132a22382e76492b88aefc4b1f50ce8f957bd0..6a79ac25aa4fb01296ded4072754ca56fc9b3902 100644 --- a/src/de/deadlocker8/budgetmaster/ui/controller/ChartController.java +++ b/src/de/deadlocker8/budgetmaster/ui/controller/ChartController.java @@ -19,6 +19,7 @@ import de.deadlocker8.budgetmaster.logic.serverconnection.ExceptionHandler; import de.deadlocker8.budgetmaster.logic.serverconnection.ServerConnection; import de.deadlocker8.budgetmaster.logic.utils.Colors; import de.deadlocker8.budgetmaster.logic.utils.Helpers; +import de.deadlocker8.budgetmaster.logic.utils.Strings; import de.deadlocker8.budgetmaster.ui.Refreshable; import fontAwesome.FontIconType; import javafx.application.Platform; @@ -45,6 +46,7 @@ import javafx.util.Callback; import logger.Logger; import tools.AlertGenerator; import tools.ConvertTo; +import tools.Localization; import tools.Worker; public class ChartController implements Refreshable @@ -145,11 +147,11 @@ public class ChartController implements Refreshable Platform.runLater(()->{; vboxChartCategories.getChildren().clear(); - categoriesChart = new CategoriesChart("Einnahmen nach Kategorien", - "Ausgaben nach Kategorien", - sums, - controller.getSettings().getCurrency(), - legendType); + categoriesChart = new CategoriesChart(Localization.getString(Strings.CHART_CATEGORIES_TITLE_INCOMES), + Localization.getString(Strings.CHART_CATEGORIES_TITLE_PAYMENTS), + sums, + controller.getSettings().getCurrency(), + legendType); vboxChartCategories.getChildren().add(categoriesChart); VBox.setVgrow(categoriesChart, Priority.ALWAYS); }); @@ -200,7 +202,7 @@ public class ChartController implements Refreshable Stage newStage = new Stage(); newStage.initOwner(controller.getStage()); newStage.initModality(Modality.APPLICATION_MODAL); - newStage.setTitle("Diagramm exportieren"); + newStage.setTitle(Localization.getString(Strings.TITLE_CHART_EXPORT)); newStage.setScene(new Scene(root)); newStage.getIcons().add(controller.getIcon()); newStage.setResizable(false); @@ -236,7 +238,7 @@ public class ChartController implements Refreshable if(endDate.isBefore(startDate)) { Platform.runLater(() -> { - AlertGenerator.showAlert(AlertType.WARNING, "Warnung", "", "Das Enddatum darf nicht vor dem Startdatum liegen.", controller.getIcon(), controller.getStage(), null, false); + AlertGenerator.showAlert(AlertType.WARNING, Localization.getString(Strings.TITLE_WARNING), "", Localization.getString(Strings.WARNING_ENDDATE_BEFORE_STARTDATE), controller.getIcon(), controller.getStage(), null, false); }); return; } @@ -290,11 +292,11 @@ public class ChartController implements Refreshable @Override public void refresh() { - Stage modalStage = Helpers.showModal("Vorgang läuft", "Lade Diagramme...", controller.getStage(), controller.getIcon()); + Stage modalStage = Helpers.showModal(Localization.getString(Strings.TITLE_MODAL), Localization.getString(Strings.LOAD_CHARTS), controller.getStage(), controller.getIcon()); // prepare chart categories LocalDate startDate = LocalDate.parse(controller.getCurrentDate().withDayOfMonth(1).toString("yyyy-MM-dd")); - LocalDate endDate = LocalDate.parse(controller.getCurrentDate().dayOfMonth().withMaximumValue().toString("yyy-MM-dd")); + LocalDate endDate = LocalDate.parse(controller.getCurrentDate().dayOfMonth().withMaximumValue().toString("yyyy-MM-dd")); datePickerStart.setValue(startDate); datePickerEnd.setValue(endDate); diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/Controller.java b/src/de/deadlocker8/budgetmaster/ui/controller/Controller.java index 4dd5b17e70694d3368be8b844a6299380a0ea291..34c50c7e334855d38ea7f9364e45a72bfac2904e 100644 --- a/src/de/deadlocker8/budgetmaster/ui/controller/Controller.java +++ b/src/de/deadlocker8/budgetmaster/ui/controller/Controller.java @@ -138,7 +138,7 @@ public class Controller { Logger.error(e); Platform.runLater(() -> { - AlertGenerator.showAlert(AlertType.ERROR, "Fehler", "", "Beim Erstellen der Benutzeroberfläche ist ein Fehler aufgetreten", icon, stage, null, false); + AlertGenerator.showAlert(AlertType.ERROR, Localization.getString(Strings.TITLE_ERROR), "", Localization.getString(Strings.ERROR_CREATE_UI), icon, stage, null, false); }); } @@ -161,7 +161,7 @@ public class Controller Platform.runLater(() -> { toggleAllTabsExceptSettings(true); tabPane.getSelectionModel().select(tabSettings); - AlertGenerator.showAlert(AlertType.INFORMATION, "Hinweis", "", "Vor der ersten Benutzung musst du deine Serverdaten eingeben.", icon, stage, null, false); + AlertGenerator.showAlert(AlertType.INFORMATION, Localization.getString(Strings.TITLE_INFO), "", Localization.getString(Strings.INFO_FIRST_START), icon, stage, null, false); }); } else @@ -251,16 +251,15 @@ public class Controller alertIsShowing = true; Alert alert = new Alert(AlertType.ERROR); - alert.setTitle("Fehler"); + alert.setTitle(Localization.getString(Strings.TITLE_ERROR)); alert.setHeaderText(""); if(errorMessage == null) { - alert.setContentText("Beim Herstellen der Verbindung zum Server ist ein Fehler aufgetreten. Bitte überprüfe deine Einstellungen."); + alert.setContentText(Localization.getString(Strings.ERROR_SERVER_CONNECTION)); } else { - alert.setContentText("Beim Herstellen der Verbindung zum Server ist ein Fehler aufgetreten. Bitte überprüfe deine Einstellungen.\n\n" - + "Fehlerdetails:\n" + errorMessage); + alert.setContentText(Localization.getString(Strings.ERROR_SERVER_CONNECTION_WITH_DETAILS, errorMessage)); } Stage dialogStage = (Stage)alert.getDialogPane().getScene().getWindow(); @@ -333,7 +332,7 @@ public class Controller public void refresh(FilterSettings newFilterSettings) { - Stage modalStage = Helpers.showModal("Vorgang läuft", "Lade Daten...", stage, icon); + Stage modalStage = Helpers.showModal(Localization.getString(Strings.TITLE_MODAL), Localization.getString(Strings.LOAD_DATA), stage, icon); Worker.runLater(() -> { try @@ -348,7 +347,7 @@ public class Controller { int rest = connection.getRestForAllPreviousMonths(currentDate.getYear(), currentDate.getMonthOfYear()); //categoryID 2 = Rest - paymentHandler.getPayments().add(new NormalPayment(-1, rest, currentDate.withDayOfMonth(1).toString("yyyy-MM-dd"), 2, "Übertrag", "")); + paymentHandler.getPayments().add(new NormalPayment(-1, rest, currentDate.withDayOfMonth(1).toString("yyyy-MM-dd"), 2, Localization.getString(Strings.CATEGORY_REST), "")); } categoryHandler = new CategoryHandler(connection.getCategories()); diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/ExportChartController.java b/src/de/deadlocker8/budgetmaster/ui/controller/ExportChartController.java index eb8037e9212074d899647a5fb09b62e6fc4210a3..bae56d216d165f68fffd1c51d985cbb3c4d9b708 100644 --- a/src/de/deadlocker8/budgetmaster/ui/controller/ExportChartController.java +++ b/src/de/deadlocker8/budgetmaster/ui/controller/ExportChartController.java @@ -10,6 +10,7 @@ import javax.imageio.ImageIO; import de.deadlocker8.budgetmaster.logic.charts.ChartExportable; import de.deadlocker8.budgetmaster.logic.utils.Colors; import de.deadlocker8.budgetmaster.logic.utils.Helpers; +import de.deadlocker8.budgetmaster.logic.utils.Strings; import fontAwesome.FontIconType; import javafx.embed.swing.SwingFXUtils; import javafx.fxml.FXML; @@ -28,6 +29,7 @@ import javafx.stage.Stage; import logger.Logger; import tools.AlertGenerator; import tools.ConvertTo; +import tools.Localization; public class ExportChartController { @@ -106,7 +108,7 @@ public class ExportChartController public void chooseFile() { FileChooser fileChooser = new FileChooser(); - fileChooser.setTitle("Diagramm exportieren"); + fileChooser.setTitle(Localization.getString(Strings.TITLE_CHART_EXPORT)); FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("PNG (*.png)", "*.png"); if(savePath != null) { @@ -127,7 +129,7 @@ public class ExportChartController String widthText = textFieldWidth.getText(); if(widthText == null || widthText.equals("")) { - AlertGenerator.showAlert(AlertType.WARNING, "Warnung", "", "Bitte gib eine Breite in Pixeln an.", controller.getControlle().getIcon(), stage, null, false); + AlertGenerator.showAlert(AlertType.WARNING, Localization.getString(Strings.TITLE_WARNING), "", "Bitte gib eine Breite in Pixeln an.", controller.getControlle().getIcon(), stage, null, false); return; } @@ -138,14 +140,14 @@ public class ExportChartController } catch(Exception e) { - AlertGenerator.showAlert(AlertType.WARNING, "Warnung", "", "Nur ganzahlige Werte sind für das Feld Breite erlaubt.", controller.getControlle().getIcon(), stage, null, false); + AlertGenerator.showAlert(AlertType.WARNING, Localization.getString(Strings.TITLE_WARNING), "", "Nur ganzahlige Werte sind für das Feld Breite erlaubt.", controller.getControlle().getIcon(), stage, null, false); return; } String heightText = textFieldHeight.getText(); if(heightText == null || heightText.equals("")) { - AlertGenerator.showAlert(AlertType.WARNING, "Warnung", "", "Bitte gib eine Höhe in Pixeln an.", controller.getControlle().getIcon(), stage, null, false); + AlertGenerator.showAlert(AlertType.WARNING, Localization.getString(Strings.TITLE_WARNING), "", "Bitte gib eine Höhe in Pixeln an.", controller.getControlle().getIcon(), stage, null, false); return; } @@ -156,13 +158,13 @@ public class ExportChartController } catch(Exception e) { - AlertGenerator.showAlert(AlertType.WARNING, "Warnung", "", "Nur ganzahlige Werte sind für das Feld Höhe erlaubt.", controller.getControlle().getIcon(), stage, null, false); + AlertGenerator.showAlert(AlertType.WARNING, Localization.getString(Strings.TITLE_WARNING), "", "Nur ganzahlige Werte sind für das Feld Höhe erlaubt.", controller.getControlle().getIcon(), stage, null, false); return; } if(savePath == null) { - AlertGenerator.showAlert(AlertType.WARNING, "Warnung", "", "Wähle einen Speicherort für das Diagramm aus.", controller.getControlle().getIcon(), stage, null, false); + AlertGenerator.showAlert(AlertType.WARNING, Localization.getString(Strings.TITLE_WARNING), "", "Wähle einen Speicherort für das Diagramm aus.", controller.getControlle().getIcon(), stage, null, false); return; } @@ -197,7 +199,7 @@ public class ExportChartController catch(IOException e1) { Logger.error(e1); - AlertGenerator.showAlert(AlertType.ERROR, "Fehler", "", "Der Ordner konnte nicht geöffnet werden\n\n" + e1.getMessage(), controller.getControlle().getIcon(), stage, null, false); + AlertGenerator.showAlert(AlertType.ERROR, Localization.getString(Strings.TITLE_ERROR), "", "Der Ordner konnte nicht geöffnet werden\n\n" + e1.getMessage(), controller.getControlle().getIcon(), stage, null, false); } } else if (result.get() == buttonTypeTwo) @@ -209,7 +211,7 @@ public class ExportChartController catch(IOException e1) { Logger.error(e1); - AlertGenerator.showAlert(AlertType.ERROR, "Fehler", "", "Das Diagramm konnte nicht geöffnet werden\n\n" + e1.getMessage(), controller.getControlle().getIcon(), stage, null, false); + AlertGenerator.showAlert(AlertType.ERROR, Localization.getString(Strings.TITLE_ERROR), "", "Das Diagramm konnte nicht geöffnet werden\n\n" + e1.getMessage(), controller.getControlle().getIcon(), stage, null, false); } } else @@ -220,7 +222,7 @@ public class ExportChartController catch(IOException e) { Logger.error(e); - AlertGenerator.showAlert(AlertType.ERROR, "Fehler", "", "Beim Exportieren des Diagramms ist ein Fehler aufgetreten:\n\n" + e.getMessage(), controller.getControlle().getIcon(), stage, null, false); + AlertGenerator.showAlert(AlertType.ERROR, Localization.getString(Strings.TITLE_ERROR), "", "Beim Exportieren des Diagramms ist ein Fehler aufgetreten:\n\n" + e.getMessage(), controller.getControlle().getIcon(), stage, null, false); } stage.close();