forked from vergnet/application-amicale
Improved french mascot translation
This commit is contained in:
parent
0d1fe124f4
commit
9064b8da77
9 changed files with 59 additions and 32 deletions
|
@ -307,9 +307,12 @@
|
||||||
"message": "The QR code scanned could not be recognised, please make sure it is valid."
|
"message": "The QR code scanned could not be recognised, please make sure it is valid."
|
||||||
},
|
},
|
||||||
"help": {
|
"help": {
|
||||||
"button": "What can I scan?",
|
"button": "What can I scan?"
|
||||||
|
},
|
||||||
|
"mascotDialog": {
|
||||||
"title": "How to use Scanotron 3000",
|
"title": "How to use Scanotron 3000",
|
||||||
"message": "Find Campus QR codes posted by clubs and events, scan them and get instant access to detailed information!"
|
"message": "Find Campus QR codes posted by clubs and events, scan them and get instant access to detailed information!",
|
||||||
|
"button": "ok"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
|
|
|
@ -26,9 +26,9 @@
|
||||||
"equipment": "Réservez un BBQ ou d'autre matériel"
|
"equipment": "Réservez un BBQ ou d'autre matériel"
|
||||||
},
|
},
|
||||||
"mascotDialog": {
|
"mascotDialog": {
|
||||||
"title": "",
|
"title": "Un peu perdu ?",
|
||||||
"message": "",
|
"message": "Ici c'est le méli-mélo de services trop utiles ! Entre les services des étudiants, et ceux de l'INSA, tu trouveras forcément quelque chose pour toi.\n\nSi en plus tu as un compte Amicale, tu auras encore plus de choix !",
|
||||||
"button": ""
|
"button": "Capish"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"proxiwash": {
|
"proxiwash": {
|
||||||
|
@ -89,9 +89,9 @@
|
||||||
"machineRunningBody": "La machine n°{{number}} n'est pas encore terminée"
|
"machineRunningBody": "La machine n°{{number}} n'est pas encore terminée"
|
||||||
},
|
},
|
||||||
"mascotDialog": {
|
"mascotDialog": {
|
||||||
"title": "",
|
"title": "Pour info",
|
||||||
"message": "",
|
"message": "Plus besoin de faire la queue, tu seras informé des machines disponibles !\n\nSi tu es tête en l'air, tu peux activer les notifications pour ta machine en cliquant dessus.",
|
||||||
"ok": ""
|
"ok": "Mercé"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"home": {
|
"home": {
|
||||||
|
@ -108,8 +108,8 @@
|
||||||
"todayEventsSubtitlePlural": " événements aujourd'hui"
|
"todayEventsSubtitlePlural": " événements aujourd'hui"
|
||||||
},
|
},
|
||||||
"mascotDialog": {
|
"mascotDialog": {
|
||||||
"title": "Welcome, you!",
|
"title": "Coucou toi !",
|
||||||
"message": "Connectez-vous à votre compte Amicale pour profiter de plus de services !",
|
"message": "Connecte toi à ton compte Amicale pour profiter de plus de services !\n\nSi tu n'as pas le temps, tu pourras toujours t'y connecter plus tard.",
|
||||||
"login": "Se Connecter",
|
"login": "Se Connecter",
|
||||||
"later": "Plus Tard"
|
"later": "Plus Tard"
|
||||||
}
|
}
|
||||||
|
@ -119,9 +119,9 @@
|
||||||
"eventDetails": "Détails",
|
"eventDetails": "Détails",
|
||||||
"invalidEvent": "Impossible de trouver l'événement. Merci de vérifier que l'événement que vous voulez voir est valide.",
|
"invalidEvent": "Impossible de trouver l'événement. Merci de vérifier que l'événement que vous voulez voir est valide.",
|
||||||
"mascotDialog": {
|
"mascotDialog": {
|
||||||
"title": "",
|
"title": "Yay des soirées !",
|
||||||
"message": "",
|
"message": "Et pas que ! Ici tu pourras voir tous les évents du campus.\n\nDe la vente de crêpes à la soirée du Gala, tu ne manqueras rien !",
|
||||||
"button": ""
|
"button": "Zé parti !"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"planex": {
|
"planex": {
|
||||||
|
@ -129,10 +129,10 @@
|
||||||
"noGroupSelected": "Pas de groupe sélectionné. Merci de choisir un groupe avec le beau bouton rouge ci-dessous.",
|
"noGroupSelected": "Pas de groupe sélectionné. Merci de choisir un groupe avec le beau bouton rouge ci-dessous.",
|
||||||
"favorites": "Favoris",
|
"favorites": "Favoris",
|
||||||
"mascotDialog": {
|
"mascotDialog": {
|
||||||
"title": "",
|
"title": "Sécher c'est mal",
|
||||||
"message": "",
|
"message": "Ici c'est Planex ! Tu peux mettre en favoris ta classe et celle de ton crush pour l'espio... les retrouver facilement !\n\nSi tu utilises Campus surtout pour Planex, vas dans les paramètres pour faire démarrer l'appli direct dessus !",
|
||||||
"ok": "",
|
"ok": "Paramètres",
|
||||||
"cancel": ""
|
"cancel": "Plus tard"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -307,9 +307,12 @@
|
||||||
"message": "Le QR code scannée n'a pas été reconnu. Merci de vérifier sa validité."
|
"message": "Le QR code scannée n'a pas été reconnu. Merci de vérifier sa validité."
|
||||||
},
|
},
|
||||||
"help": {
|
"help": {
|
||||||
"button": "Quoi scanner ?",
|
"button": "Quoi scanner ?"
|
||||||
"title": "Comment utiliser Scanotron 3000",
|
},
|
||||||
"message": "Trouvez des QR codes Campus affichés par des clubs ou des respo d'évenements, scannez les et accédez à des informations détaillées !"
|
"mascotDialog": {
|
||||||
|
"title": "Scano...quoi ?",
|
||||||
|
"message": "Scanotron 3000 te permettra de scanner des QR codes Campus affichés par des clubs ou des respo d'évenements pour avoir plus d'infos !\n\nL'appareil photo ne sera jamais utilisé pour d'autres raisons.",
|
||||||
|
"button": "Oké"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
|
|
|
@ -125,6 +125,7 @@ class MascotPopup extends React.Component<Props, State> {
|
||||||
left={this.props.icon != null ?
|
left={this.props.icon != null ?
|
||||||
(props) => <Avatar.Icon
|
(props) => <Avatar.Icon
|
||||||
{...props}
|
{...props}
|
||||||
|
size={48}
|
||||||
style={{backgroundColor: "transparent"}}
|
style={{backgroundColor: "transparent"}}
|
||||||
color={this.props.theme.colors.primary}
|
color={this.props.theme.colors.primary}
|
||||||
icon={this.props.icon}
|
icon={this.props.icon}
|
||||||
|
|
|
@ -604,7 +604,7 @@ class HomeScreen extends React.Component<Props, State> {
|
||||||
visible={this.state.mascotDialogVisible}
|
visible={this.state.mascotDialogVisible}
|
||||||
title={i18n.t("screens.home.mascotDialog.title")}
|
title={i18n.t("screens.home.mascotDialog.title")}
|
||||||
message={i18n.t("screens.home.mascotDialog.message")}
|
message={i18n.t("screens.home.mascotDialog.message")}
|
||||||
icon={"check"}
|
icon={"human-greeting"}
|
||||||
buttons={{
|
buttons={{
|
||||||
action: {
|
action: {
|
||||||
message: i18n.t("screens.home.mascotDialog.login"),
|
message: i18n.t("screens.home.mascotDialog.login"),
|
||||||
|
|
|
@ -11,12 +11,15 @@ import i18n from 'i18n-js';
|
||||||
import CustomTabBar from "../../components/Tabbar/CustomTabBar";
|
import CustomTabBar from "../../components/Tabbar/CustomTabBar";
|
||||||
import LoadingConfirmDialog from "../../components/Dialogs/LoadingConfirmDialog";
|
import LoadingConfirmDialog from "../../components/Dialogs/LoadingConfirmDialog";
|
||||||
import {PERMISSIONS, request, RESULTS} from 'react-native-permissions';
|
import {PERMISSIONS, request, RESULTS} from 'react-native-permissions';
|
||||||
|
import {MASCOT_STYLE} from "../../components/Mascot/Mascot";
|
||||||
|
import MascotPopup from "../../components/Mascot/MascotPopup";
|
||||||
|
|
||||||
type Props = {};
|
type Props = {};
|
||||||
type State = {
|
type State = {
|
||||||
hasPermission: boolean,
|
hasPermission: boolean,
|
||||||
scanned: boolean,
|
scanned: boolean,
|
||||||
dialogVisible: boolean,
|
dialogVisible: boolean,
|
||||||
|
mascotDialogVisible: boolean,
|
||||||
dialogTitle: string,
|
dialogTitle: string,
|
||||||
dialogMessage: string,
|
dialogMessage: string,
|
||||||
loading: boolean,
|
loading: boolean,
|
||||||
|
@ -27,6 +30,7 @@ class ScannerScreen extends React.Component<Props, State> {
|
||||||
state = {
|
state = {
|
||||||
hasPermission: false,
|
hasPermission: false,
|
||||||
scanned: false,
|
scanned: false,
|
||||||
|
mascotDialogVisible: false,
|
||||||
dialogVisible: false,
|
dialogVisible: false,
|
||||||
dialogTitle: "",
|
dialogTitle: "",
|
||||||
dialogMessage: "",
|
dialogMessage: "",
|
||||||
|
@ -101,10 +105,8 @@ class ScannerScreen extends React.Component<Props, State> {
|
||||||
*/
|
*/
|
||||||
showHelpDialog = () => {
|
showHelpDialog = () => {
|
||||||
this.setState({
|
this.setState({
|
||||||
dialogVisible: true,
|
mascotDialogVisible: true,
|
||||||
scanned: true,
|
scanned: true,
|
||||||
dialogTitle: i18n.t("screens.scanner.help.title"),
|
|
||||||
dialogMessage: i18n.t("screens.scanner.help.message"),
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -125,8 +127,6 @@ class ScannerScreen extends React.Component<Props, State> {
|
||||||
this.setState({
|
this.setState({
|
||||||
dialogVisible: true,
|
dialogVisible: true,
|
||||||
scanned: true,
|
scanned: true,
|
||||||
dialogTitle: i18n.t("screens.scanner.error.title"),
|
|
||||||
dialogMessage: i18n.t("screens.scanner.error.message"),
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -138,6 +138,11 @@ class ScannerScreen extends React.Component<Props, State> {
|
||||||
scanned: false,
|
scanned: false,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
onMascotDialogDismiss = () => this.setState({
|
||||||
|
mascotDialogVisible: false,
|
||||||
|
scanned: false,
|
||||||
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets a view with the scanner.
|
* Gets a view with the scanner.
|
||||||
* This scanner uses the back camera, can only scan qr codes and has a square mask on the center.
|
* This scanner uses the back camera, can only scan qr codes and has a square mask on the center.
|
||||||
|
@ -186,11 +191,26 @@ class ScannerScreen extends React.Component<Props, State> {
|
||||||
>
|
>
|
||||||
{i18n.t("screens.scanner.help.button")}
|
{i18n.t("screens.scanner.help.button")}
|
||||||
</Button>
|
</Button>
|
||||||
|
<MascotPopup
|
||||||
|
visible={this.state.mascotDialogVisible}
|
||||||
|
title={i18n.t("screens.scanner.mascotDialog.title")}
|
||||||
|
message={i18n.t("screens.scanner.mascotDialog.message")}
|
||||||
|
icon={"camera-iris"}
|
||||||
|
buttons={{
|
||||||
|
action: null,
|
||||||
|
cancel: {
|
||||||
|
message: i18n.t("screens.scanner.mascotDialog.button"),
|
||||||
|
icon: "check",
|
||||||
|
onPress: this.onMascotDialogDismiss,
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
emotion={MASCOT_STYLE.NORMAL}
|
||||||
|
/>
|
||||||
<AlertDialog
|
<AlertDialog
|
||||||
visible={this.state.dialogVisible}
|
visible={this.state.dialogVisible}
|
||||||
onDismiss={this.onDialogDismiss}
|
onDismiss={this.onDialogDismiss}
|
||||||
title={this.state.dialogTitle}
|
title={i18n.t("screens.scanner.error.title")}
|
||||||
message={this.state.dialogMessage}
|
message={i18n.t("screens.scanner.error.message")}
|
||||||
/>
|
/>
|
||||||
<LoadingConfirmDialog
|
<LoadingConfirmDialog
|
||||||
visible={this.state.loading}
|
visible={this.state.loading}
|
||||||
|
|
|
@ -366,7 +366,7 @@ class PlanexScreen extends React.Component<Props, State> {
|
||||||
visible={this.state.mascotDialogVisible}
|
visible={this.state.mascotDialogVisible}
|
||||||
title={i18n.t("screens.planex.mascotDialog.title")}
|
title={i18n.t("screens.planex.mascotDialog.title")}
|
||||||
message={i18n.t("screens.planex.mascotDialog.message")}
|
message={i18n.t("screens.planex.mascotDialog.message")}
|
||||||
icon={"power"}
|
icon={"emoticon-kiss"}
|
||||||
buttons={{
|
buttons={{
|
||||||
action: {
|
action: {
|
||||||
message: i18n.t("screens.planex.mascotDialog.ok"),
|
message: i18n.t("screens.planex.mascotDialog.ok"),
|
||||||
|
|
|
@ -256,7 +256,7 @@ class PlanningScreen extends React.Component<Props, State> {
|
||||||
visible={this.state.mascotDialogVisible}
|
visible={this.state.mascotDialogVisible}
|
||||||
title={i18n.t("screens.planning.mascotDialog.title")}
|
title={i18n.t("screens.planning.mascotDialog.title")}
|
||||||
message={i18n.t("screens.planning.mascotDialog.message")}
|
message={i18n.t("screens.planning.mascotDialog.message")}
|
||||||
icon={"calendar-range"}
|
icon={"glass-cocktail"}
|
||||||
buttons={{
|
buttons={{
|
||||||
action: null,
|
action: null,
|
||||||
cancel: {
|
cancel: {
|
||||||
|
|
|
@ -418,7 +418,7 @@ class ProxiwashScreen extends React.Component<Props, State> {
|
||||||
visible={this.state.mascotDialogVisible}
|
visible={this.state.mascotDialogVisible}
|
||||||
title={i18n.t("screens.proxiwash.mascotDialog.title")}
|
title={i18n.t("screens.proxiwash.mascotDialog.title")}
|
||||||
message={i18n.t("screens.proxiwash.mascotDialog.message")}
|
message={i18n.t("screens.proxiwash.mascotDialog.message")}
|
||||||
icon={"bell"}
|
icon={"information"}
|
||||||
buttons={{
|
buttons={{
|
||||||
action: null,
|
action: null,
|
||||||
cancel: {
|
cancel: {
|
||||||
|
|
|
@ -314,7 +314,7 @@ class ServicesScreen extends React.Component<Props, State> {
|
||||||
visible={this.state.mascotDialogVisible}
|
visible={this.state.mascotDialogVisible}
|
||||||
title={i18n.t("screens.services.mascotDialog.title")}
|
title={i18n.t("screens.services.mascotDialog.title")}
|
||||||
message={i18n.t("screens.services.mascotDialog.message")}
|
message={i18n.t("screens.services.mascotDialog.message")}
|
||||||
icon={"calendar-range"}
|
icon={"cloud-question"}
|
||||||
buttons={{
|
buttons={{
|
||||||
action: null,
|
action: null,
|
||||||
cancel: {
|
cancel: {
|
||||||
|
|
Loading…
Reference in a new issue