Improved french mascot translation

這個提交存在於:
Arnaud Vergnet 2020-07-12 18:09:45 +02:00
父節點 0d1fe124f4
當前提交 9064b8da77
共有 9 個檔案被更改,包括 59 行新增32 行删除

查看文件

@ -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": {

查看文件

@ -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": {

查看文件

@ -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}

查看文件

@ -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"),

查看文件

@ -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}

查看文件

@ -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"),

查看文件

@ -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: {

查看文件

@ -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: {

查看文件

@ -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: {