Improved french mascot translation

This commit is contained in:
Arnaud Vergnet 2020-07-12 18:09:45 +02:00
parent 0d1fe124f4
commit 9064b8da77
9 changed files with 59 additions and 32 deletions

View file

@ -307,9 +307,12 @@
"message": "The QR code scanned could not be recognised, please make sure it is valid."
},
"help": {
"button": "What can I scan?",
"button": "What can I scan?"
},
"mascotDialog": {
"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": {

View file

@ -26,9 +26,9 @@
"equipment": "Réservez un BBQ ou d'autre matériel"
},
"mascotDialog": {
"title": "",
"message": "",
"button": ""
"title": "Un peu perdu ?",
"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": "Capish"
}
},
"proxiwash": {
@ -89,9 +89,9 @@
"machineRunningBody": "La machine n°{{number}} n'est pas encore terminée"
},
"mascotDialog": {
"title": "",
"message": "",
"ok": ""
"title": "Pour info",
"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": "Mercé"
}
},
"home": {
@ -108,8 +108,8 @@
"todayEventsSubtitlePlural": " événements aujourd'hui"
},
"mascotDialog": {
"title": "Welcome, you!",
"message": "Connectez-vous à votre compte Amicale pour profiter de plus de services !",
"title": "Coucou toi !",
"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",
"later": "Plus Tard"
}
@ -119,9 +119,9 @@
"eventDetails": "Détails",
"invalidEvent": "Impossible de trouver l'événement. Merci de vérifier que l'événement que vous voulez voir est valide.",
"mascotDialog": {
"title": "",
"message": "",
"button": ""
"title": "Yay des soirées !",
"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": "Zé parti !"
}
},
"planex": {
@ -129,10 +129,10 @@
"noGroupSelected": "Pas de groupe sélectionné. Merci de choisir un groupe avec le beau bouton rouge ci-dessous.",
"favorites": "Favoris",
"mascotDialog": {
"title": "",
"message": "",
"ok": "",
"cancel": ""
"title": "Sécher c'est mal",
"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": "Paramètres",
"cancel": "Plus tard"
}
},
@ -307,9 +307,12 @@
"message": "Le QR code scannée n'a pas été reconnu. Merci de vérifier sa validité."
},
"help": {
"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 !"
"button": "Quoi scanner ?"
},
"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": {

View file

@ -125,6 +125,7 @@ class MascotPopup extends React.Component<Props, State> {
left={this.props.icon != null ?
(props) => <Avatar.Icon
{...props}
size={48}
style={{backgroundColor: "transparent"}}
color={this.props.theme.colors.primary}
icon={this.props.icon}

View file

@ -604,7 +604,7 @@ class HomeScreen extends React.Component<Props, State> {
visible={this.state.mascotDialogVisible}
title={i18n.t("screens.home.mascotDialog.title")}
message={i18n.t("screens.home.mascotDialog.message")}
icon={"check"}
icon={"human-greeting"}
buttons={{
action: {
message: i18n.t("screens.home.mascotDialog.login"),

View file

@ -11,12 +11,15 @@ import i18n from 'i18n-js';
import CustomTabBar from "../../components/Tabbar/CustomTabBar";
import LoadingConfirmDialog from "../../components/Dialogs/LoadingConfirmDialog";
import {PERMISSIONS, request, RESULTS} from 'react-native-permissions';
import {MASCOT_STYLE} from "../../components/Mascot/Mascot";
import MascotPopup from "../../components/Mascot/MascotPopup";
type Props = {};
type State = {
hasPermission: boolean,
scanned: boolean,
dialogVisible: boolean,
mascotDialogVisible: boolean,
dialogTitle: string,
dialogMessage: string,
loading: boolean,
@ -27,6 +30,7 @@ class ScannerScreen extends React.Component<Props, State> {
state = {
hasPermission: false,
scanned: false,
mascotDialogVisible: false,
dialogVisible: false,
dialogTitle: "",
dialogMessage: "",
@ -101,10 +105,8 @@ class ScannerScreen extends React.Component<Props, State> {
*/
showHelpDialog = () => {
this.setState({
dialogVisible: true,
mascotDialogVisible: 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({
dialogVisible: 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,
});
onMascotDialogDismiss = () => this.setState({
mascotDialogVisible: false,
scanned: false,
});
/**
* 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.
@ -186,11 +191,26 @@ class ScannerScreen extends React.Component<Props, State> {
>
{i18n.t("screens.scanner.help.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
visible={this.state.dialogVisible}
onDismiss={this.onDialogDismiss}
title={this.state.dialogTitle}
message={this.state.dialogMessage}
title={i18n.t("screens.scanner.error.title")}
message={i18n.t("screens.scanner.error.message")}
/>
<LoadingConfirmDialog
visible={this.state.loading}

View file

@ -366,7 +366,7 @@ class PlanexScreen extends React.Component<Props, State> {
visible={this.state.mascotDialogVisible}
title={i18n.t("screens.planex.mascotDialog.title")}
message={i18n.t("screens.planex.mascotDialog.message")}
icon={"power"}
icon={"emoticon-kiss"}
buttons={{
action: {
message: i18n.t("screens.planex.mascotDialog.ok"),

View file

@ -256,7 +256,7 @@ class PlanningScreen extends React.Component<Props, State> {
visible={this.state.mascotDialogVisible}
title={i18n.t("screens.planning.mascotDialog.title")}
message={i18n.t("screens.planning.mascotDialog.message")}
icon={"calendar-range"}
icon={"glass-cocktail"}
buttons={{
action: null,
cancel: {

View file

@ -418,7 +418,7 @@ class ProxiwashScreen extends React.Component<Props, State> {
visible={this.state.mascotDialogVisible}
title={i18n.t("screens.proxiwash.mascotDialog.title")}
message={i18n.t("screens.proxiwash.mascotDialog.message")}
icon={"bell"}
icon={"information"}
buttons={{
action: null,
cancel: {

View file

@ -314,7 +314,7 @@ class ServicesScreen extends React.Component<Props, State> {
visible={this.state.mascotDialogVisible}
title={i18n.t("screens.services.mascotDialog.title")}
message={i18n.t("screens.services.mascotDialog.message")}
icon={"calendar-range"}
icon={"cloud-question"}
buttons={{
action: null,
cancel: {