- Le vote se déroulera du{' '}
+ {t("The election will take place from")}{' '}
- {this.state.start.toLocaleDateString()}, à{' '}
+ {this.state.start.toLocaleDateString()}, {t("at")}{' '}
{this.state.start.toLocaleTimeString()}
- {' '}
- au{' '}
+ {' '}{t("to")}{' '}
- {this.state.finish.toLocaleDateString()}, à{' '}
+ {this.state.finish.toLocaleDateString()}, {t("at")}{' '}
{this.state.finish.toLocaleTimeString()}
-
{grades.map((mention, i) => {
return i < this.state.numGrades ? (
@@ -600,7 +601,7 @@ class CreateElection extends Component {
})}
- Liste des électeurs
+ {t("Voters' list")}
{electorEmails.length > 0 ? (
diff --git a/src/components/views/CreateSuccess.jsx b/src/components/views/CreateSuccess.jsx
index acff11b..d48d458 100644
--- a/src/components/views/CreateSuccess.jsx
+++ b/src/components/views/CreateSuccess.jsx
@@ -110,7 +110,7 @@ class CreateSuccess extends Component {
{t('Keep these links carefully')}
-
+
Warning: you will have no other choices to recover the
links, and we will not be able to share them with you. For
example, you can bookmark them in your browser.
diff --git a/src/components/views/Result.jsx b/src/components/views/Result.jsx
index 464682f..187202c 100644
--- a/src/components/views/Result.jsx
+++ b/src/components/views/Result.jsx
@@ -1,5 +1,6 @@
import React, { Component } from "react";
import { Redirect } from "react-router-dom";
+import { withTranslation } from "react-i18next";
import { resolve } from "url";
import {
Container,
@@ -11,7 +12,7 @@ import {
CardBody,
Table
} from "reactstrap";
-import { grades } from "../../Util";
+import { i18nGrades } from "../../Util";
import { AppContext } from "../../AppContext";
class Result extends Component {
@@ -32,7 +33,7 @@ class Result extends Component {
collapseGraphics: false,
collapseProfiles: false,
redirectLost: false,
- electionGrades: grades
+ electionGrades: i18nGrades()
};
}
@@ -89,7 +90,7 @@ class Result extends Component {
12 - colSizeGradeXs * numGrades > 0
? 12 - colSizeGradeXs * numGrades
: 12,
- electionGrades: grades.slice(0, numGrades)
+ electionGrades: i18nGrades().slice(0, numGrades)
}));
return response;
};
@@ -167,6 +168,7 @@ class Result extends Component {
render() {
const { redirectLost, candidates, electionGrades } = this.state;
+ const { t } = this.props;
if (redirectLost) {
return ;
@@ -191,7 +193,7 @@ class Result extends Component {
- Résultat du vote :
+ {t("Results of the election:")}
{candidates.map((candidate, i) => {
return (
@@ -207,7 +209,7 @@ class Result extends Component {
color: "#fff"
}}
>
- {grades[candidate.grade].label}
+ {i18nGrades()[candidate.grade].label}
);
@@ -226,7 +228,7 @@ class Result extends Component {
(this.state.collapseGraphics ? "collapsed" : "")
}
>
- Graphique
+ {t("Graph")}
@@ -327,7 +329,7 @@ class Result extends Component {
(this.state.collapseProfiles ? "collapsed" : "")
}
>
- Profils de mérites
+ {t("Preference profile")}
@@ -393,4 +395,4 @@ class Result extends Component {
}
}
-export default Result;
+export default withTranslation()(Result);
diff --git a/src/components/views/Vote.jsx b/src/components/views/Vote.jsx
index 7a771de..ad5bb3e 100644
--- a/src/components/views/Vote.jsx
+++ b/src/components/views/Vote.jsx
@@ -6,7 +6,7 @@ import { toast, ToastContainer } from "react-toastify";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faCheck } from "@fortawesome/free-solid-svg-icons";
import { resolve } from "url";
-import { grades } from "../../Util";
+import { i18nGrades } from "../../Util";
import { AppContext } from "../../AppContext";
class Vote extends Component {
@@ -25,7 +25,7 @@ class Vote extends Component {
colSizeGradeMd: 1,
colSizeGradeXs: 1,
redirectTo: null,
- electionGrades: grades
+ electionGrades: i18nGrades()
};
}
@@ -85,7 +85,7 @@ class Vote extends Component {
12 - colSizeGradeXs * numGrades > 0
? 12 - colSizeGradeXs * numGrades
: 12,
- electionGrades: grades.slice(0, numGrades)
+ electionGrades: i18nGrades().slice(0, numGrades)
}));
return response;
};