Browse Source

Improved french mascot translation

Arnaud Vergnet 1 year ago
parent
commit
9064b8da77

+ 5
- 2
locales/en.json View File

@@ -307,9 +307,12 @@
307 307
         "message": "The QR code scanned could not be recognised, please make sure it is valid."
308 308
       },
309 309
       "help": {
310
-        "button": "What can I scan?",
310
+        "button": "What can I scan?"
311
+      },
312
+      "mascotDialog": {
311 313
         "title": "How to use Scanotron 3000",
312
-        "message": "Find Campus QR codes posted by clubs and events, scan them and get instant access to detailed information!"
314
+        "message": "Find Campus QR codes posted by clubs and events, scan them and get instant access to detailed information!",
315
+        "button": "ok"
313 316
       }
314 317
     },
315 318
     "settings": {

+ 21
- 18
locales/fr.json View File

@@ -26,9 +26,9 @@
26 26
         "equipment": "Réservez un BBQ ou d'autre matériel"
27 27
       },
28 28
       "mascotDialog": {
29
-        "title": "",
30
-        "message": "",
31
-        "button": ""
29
+        "title": "Un peu perdu ?",
30
+        "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 !",
31
+        "button": "Capish"
32 32
       }
33 33
     },
34 34
     "proxiwash": {
@@ -89,9 +89,9 @@
89 89
         "machineRunningBody": "La machine n°{{number}} n'est pas encore terminée"
90 90
       },
91 91
       "mascotDialog": {
92
-        "title": "",
93
-        "message": "",
94
-        "ok": ""
92
+        "title": "Pour info",
93
+        "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.",
94
+        "ok": "Mercé"
95 95
       }
96 96
     },
97 97
     "home": {
@@ -108,8 +108,8 @@
108 108
         "todayEventsSubtitlePlural": " événements aujourd'hui"
109 109
       },
110 110
       "mascotDialog": {
111
-        "title": "Welcome, you!",
112
-        "message": "Connectez-vous à votre compte Amicale pour profiter de plus de services !",
111
+        "title": "Coucou toi !",
112
+        "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.",
113 113
         "login": "Se Connecter",
114 114
         "later": "Plus Tard"
115 115
       }
@@ -119,9 +119,9 @@
119 119
       "eventDetails": "Détails",
120 120
       "invalidEvent": "Impossible de trouver l'événement. Merci de vérifier que l'événement que vous voulez voir est valide.",
121 121
       "mascotDialog": {
122
-        "title": "",
123
-        "message": "",
124
-        "button": ""
122
+        "title": "Yay des soirées !",
123
+        "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 !",
124
+        "button": "Zé parti !"
125 125
       }
126 126
     },
127 127
     "planex": {
@@ -129,10 +129,10 @@
129 129
       "noGroupSelected": "Pas de groupe sélectionné. Merci de choisir un groupe avec le beau bouton rouge ci-dessous.",
130 130
       "favorites": "Favoris",
131 131
       "mascotDialog": {
132
-        "title": "",
133
-        "message": "",
134
-        "ok": "",
135
-        "cancel": ""
132
+        "title": "Sécher c'est mal",
133
+        "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 !",
134
+        "ok": "Paramètres",
135
+        "cancel": "Plus tard"
136 136
       }
137 137
     },
138 138
 
@@ -307,9 +307,12 @@
307 307
         "message": "Le QR code scannée n'a pas été reconnu. Merci de vérifier sa validité."
308 308
       },
309 309
       "help": {
310
-        "button": "Quoi scanner ?",
311
-        "title": "Comment utiliser Scanotron 3000",
312
-        "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 !"
310
+        "button": "Quoi scanner ?"
311
+      },
312
+      "mascotDialog": {
313
+        "title": "Scano...quoi ?",
314
+        "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.",
315
+        "button": "Oké"
313 316
       }
314 317
     },
315 318
     "settings": {

+ 1
- 0
src/components/Mascot/MascotPopup.js View File

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

+ 1
- 1
src/screens/Home/HomeScreen.js View File

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

+ 27
- 7
src/screens/Home/ScannerScreen.js View File

@@ -11,12 +11,15 @@ import i18n from 'i18n-js';
11 11
 import CustomTabBar from "../../components/Tabbar/CustomTabBar";
12 12
 import LoadingConfirmDialog from "../../components/Dialogs/LoadingConfirmDialog";
13 13
 import {PERMISSIONS, request, RESULTS} from 'react-native-permissions';
14
+import {MASCOT_STYLE} from "../../components/Mascot/Mascot";
15
+import MascotPopup from "../../components/Mascot/MascotPopup";
14 16
 
15 17
 type Props = {};
16 18
 type State = {
17 19
     hasPermission: boolean,
18 20
     scanned: boolean,
19 21
     dialogVisible: boolean,
22
+    mascotDialogVisible: boolean,
20 23
     dialogTitle: string,
21 24
     dialogMessage: string,
22 25
     loading: boolean,
@@ -27,6 +30,7 @@ class ScannerScreen extends React.Component<Props, State> {
27 30
     state = {
28 31
         hasPermission: false,
29 32
         scanned: false,
33
+        mascotDialogVisible: false,
30 34
         dialogVisible: false,
31 35
         dialogTitle: "",
32 36
         dialogMessage: "",
@@ -101,10 +105,8 @@ class ScannerScreen extends React.Component<Props, State> {
101 105
      */
102 106
     showHelpDialog = () => {
103 107
         this.setState({
104
-            dialogVisible: true,
108
+            mascotDialogVisible: true,
105 109
             scanned: true,
106
-            dialogTitle: i18n.t("screens.scanner.help.title"),
107
-            dialogMessage: i18n.t("screens.scanner.help.message"),
108 110
         });
109 111
     };
110 112
 
@@ -125,8 +127,6 @@ class ScannerScreen extends React.Component<Props, State> {
125 127
         this.setState({
126 128
             dialogVisible: true,
127 129
             scanned: true,
128
-            dialogTitle: i18n.t("screens.scanner.error.title"),
129
-            dialogMessage: i18n.t("screens.scanner.error.message"),
130 130
         });
131 131
     }
132 132
 
@@ -138,6 +138,11 @@ class ScannerScreen extends React.Component<Props, State> {
138 138
         scanned: false,
139 139
     });
140 140
 
141
+    onMascotDialogDismiss = () => this.setState({
142
+        mascotDialogVisible: false,
143
+        scanned: false,
144
+    });
145
+
141 146
     /**
142 147
      * Gets a view with the scanner.
143 148
      * 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> {
186 191
                 >
187 192
                     {i18n.t("screens.scanner.help.button")}
188 193
                 </Button>
194
+                <MascotPopup
195
+                    visible={this.state.mascotDialogVisible}
196
+                    title={i18n.t("screens.scanner.mascotDialog.title")}
197
+                    message={i18n.t("screens.scanner.mascotDialog.message")}
198
+                    icon={"camera-iris"}
199
+                    buttons={{
200
+                        action: null,
201
+                        cancel: {
202
+                            message: i18n.t("screens.scanner.mascotDialog.button"),
203
+                            icon: "check",
204
+                            onPress: this.onMascotDialogDismiss,
205
+                        }
206
+                    }}
207
+                    emotion={MASCOT_STYLE.NORMAL}
208
+                />
189 209
                 <AlertDialog
190 210
                     visible={this.state.dialogVisible}
191 211
                     onDismiss={this.onDialogDismiss}
192
-                    title={this.state.dialogTitle}
193
-                    message={this.state.dialogMessage}
212
+                    title={i18n.t("screens.scanner.error.title")}
213
+                    message={i18n.t("screens.scanner.error.message")}
194 214
                 />
195 215
                 <LoadingConfirmDialog
196 216
                     visible={this.state.loading}

+ 1
- 1
src/screens/Planex/PlanexScreen.js View File

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

+ 1
- 1
src/screens/Planning/PlanningScreen.js View File

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

+ 1
- 1
src/screens/Proxiwash/ProxiwashScreen.js View File

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

+ 1
- 1
src/screens/Services/ServicesScreen.js View File

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

Loading…
Cancel
Save