From a44833baf40f5e906216c8d3943ea62aa04e7e29 Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Sat, 20 Jul 2019 16:11:45 +0200
Subject: [PATCH] #462 - added localization

---
 .../de/deadlocker8/budgetmaster/charts/DefaultCharts.java  | 2 +-
 src/main/resources/charts/AccountSumPerDay.js              | 5 +++--
 src/main/resources/languages/_de.properties                | 3 ++-
 src/main/resources/languages/_en.properties                | 7 ++++---
 src/main/resources/templates/charts/charts.ftl             | 6 ++++++
 5 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/src/main/java/de/deadlocker8/budgetmaster/charts/DefaultCharts.java b/src/main/java/de/deadlocker8/budgetmaster/charts/DefaultCharts.java
index d024e2002..d9e88460d 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/charts/DefaultCharts.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/charts/DefaultCharts.java
@@ -10,7 +10,7 @@ import java.util.List;
 
 public class DefaultCharts
 {
-	private static final Chart CHART_TEST = new Chart("charts.default.test", getChartFromFile("charts/AccountSumPerDay.js"), ChartType.DEFAULT);
+	private static final Chart CHART_TEST = new Chart("charts.default.accountsum", getChartFromFile("charts/AccountSumPerDay.js"), ChartType.DEFAULT);
 
 	public static List<Chart> getDefaultCharts()
 	{
diff --git a/src/main/resources/charts/AccountSumPerDay.js b/src/main/resources/charts/AccountSumPerDay.js
index 8bf57a7fd..13359ee9a 100644
--- a/src/main/resources/charts/AccountSumPerDay.js
+++ b/src/main/resources/charts/AccountSumPerDay.js
@@ -52,12 +52,13 @@ var plotlyData = [
 ];
 
 // Add your Plotly layout settings here (optional)
+// Note: All variables starting with "localized" are only available inside default charts.
 var plotlyLayout = {
     title: {
-        text: 'Account sum per day',
+        text: localizedTitle,
     },
     yaxis: {
-        title: 'Sum in €',
+        title: localizedAxisY + localizedCurrency,
         rangemode: 'tozero',
         tickformat: '.2f',
         showline: true
diff --git a/src/main/resources/languages/_de.properties b/src/main/resources/languages/_de.properties
index 1944d5252..284d54110 100644
--- a/src/main/resources/languages/_de.properties
+++ b/src/main/resources/languages/_de.properties
@@ -325,7 +325,8 @@ hotkeys.search=Suchen
 hotkeys.search.key=s
 
 # charts
-charts.default.test=Test
+charts.default.accountsum=Kontostand pro Tag
+charts.default.accountsum.axis.x=Summe in 
 charts.default.categories=Eingaben/Ausgaben nach Kategorien
 charts.default.month=Eingaben/Ausgaben pro Monat
 charts.default.categoryBudget=Verbrauch nach Kategorien
diff --git a/src/main/resources/languages/_en.properties b/src/main/resources/languages/_en.properties
index acaddf9ad..6f0345a62 100644
--- a/src/main/resources/languages/_en.properties
+++ b/src/main/resources/languages/_en.properties
@@ -325,9 +325,10 @@ hotkeys.search=Search
 hotkeys.search.key=s
 
 # charts
-charts.default.test=Test
-charts.default.categories=Income/Payments per Category
-charts.default.month=Income/Payments per Month
+charts.default.accountsum=Account sum per day
+charts.default.accountsum.axis.x=Sum in 
+charts.default.categories=Incomes/Expenditures per category
+charts.default.month=Income/Expenditures per month
 charts.default.categoryBudget=Consumption by categories
 
 chart.new.label.name=Name
diff --git a/src/main/resources/templates/charts/charts.ftl b/src/main/resources/templates/charts/charts.ftl
index 0d84d9695..4ed5e9e03 100644
--- a/src/main/resources/templates/charts/charts.ftl
+++ b/src/main/resources/templates/charts/charts.ftl
@@ -163,6 +163,12 @@
 
         <#if chart??>
             <script>
+                <#if chart.getType().name() == "DEFAULT">
+                    localizedTitle = "${locale.getString(chart.getName())}";
+                    localizedAxisY = "${locale.getString(chart.getName() + ".axis.x")}";
+                    localizedCurrency = "${settings.getCurrency()}";
+                </#if>
+
                 ${chart.getScript()?replace("var transactionData = []", "var transactionData = ${transactionData};")}
             </script>
         </#if>
-- 
GitLab