aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLibravatar Dominik Guzei <dominik.guzei@gmail.com>2019-03-07 13:03:37 +0100
committerLibravatar Dominik Guzei <dominik.guzei@gmail.com>2019-03-07 13:03:55 +0100
commit4e559869defa23eef86e19aba639315ff0065d90 (patch)
treeb0c0ef34fac49d09e9a08656a6bacebf6e8a0a31 /src
parentsetup react-intl translations managing script (diff)
downloadferdium-app-4e559869defa23eef86e19aba639315ff0065d90.tar.gz
ferdium-app-4e559869defa23eef86e19aba639315ff0065d90.tar.zst
ferdium-app-4e559869defa23eef86e19aba639315ff0065d90.zip
move translation scripts into src/i18n folder
Diffstat (limited to 'src')
-rw-r--r--src/i18n/locales/defaultMessages.json3908
-rw-r--r--src/i18n/locales/en-US.json457
-rw-r--r--src/i18n/locales/whitelist_en-US.json2
-rw-r--r--src/i18n/manage-translations.js10
-rw-r--r--src/i18n/messages/src/components/auth/Import.json54
-rw-r--r--src/i18n/messages/src/components/auth/Invite.json93
-rw-r--r--src/i18n/messages/src/components/auth/Login.json119
-rw-r--r--src/i18n/messages/src/components/auth/Password.json93
-rw-r--r--src/i18n/messages/src/components/auth/Pricing.json54
-rw-r--r--src/i18n/messages/src/components/auth/Signup.json158
-rw-r--r--src/i18n/messages/src/components/auth/Welcome.json28
-rw-r--r--src/i18n/messages/src/components/layout/AppLayout.json80
-rw-r--r--src/i18n/messages/src/components/layout/Sidebar.json54
-rw-r--r--src/i18n/messages/src/components/services/content/ErrorHandlers/WebviewErrorHandler.json67
-rw-r--r--src/i18n/messages/src/components/services/content/ServiceDisabled.json28
-rw-r--r--src/i18n/messages/src/components/services/content/Services.json28
-rw-r--r--src/i18n/messages/src/components/services/content/WebviewCrashHandler.json54
-rw-r--r--src/i18n/messages/src/components/services/tabs/TabItem.json119
-rw-r--r--src/i18n/messages/src/components/settings/account/AccountDashboard.json210
-rw-r--r--src/i18n/messages/src/components/settings/navigation/SettingsNavigation.json80
-rw-r--r--src/i18n/messages/src/components/settings/recipes/RecipesDashboard.json106
-rw-r--r--src/i18n/messages/src/components/settings/services/EditServiceForm.json288
-rw-r--r--src/i18n/messages/src/components/settings/services/ServiceError.json54
-rw-r--r--src/i18n/messages/src/components/settings/services/ServiceItem.json41
-rw-r--r--src/i18n/messages/src/components/settings/services/ServicesDashboard.json119
-rw-r--r--src/i18n/messages/src/components/settings/settings/EditSettingsForm.json223
-rw-r--r--src/i18n/messages/src/components/settings/user/EditUserForm.json80
-rw-r--r--src/i18n/messages/src/components/subscription/SubscriptionForm.json171
-rw-r--r--src/i18n/messages/src/components/subscription/SubscriptionPopup.json28
-rw-r--r--src/i18n/messages/src/components/ui/PremiumFeatureContainer/index.json15
-rw-r--r--src/i18n/messages/src/components/util/ErrorBoundary/index.json28
-rw-r--r--src/i18n/messages/src/containers/settings/EditServiceScreen.json197
-rw-r--r--src/i18n/messages/src/containers/settings/EditSettingsScreen.json158
-rw-r--r--src/i18n/messages/src/containers/settings/EditUserScreen.json119
-rw-r--r--src/i18n/messages/src/features/delayApp/Component.json41
-rw-r--r--src/i18n/messages/src/features/shareFranz/Component.json93
-rw-r--r--src/i18n/messages/src/helpers/validation-helpers.json67
-rw-r--r--src/i18n/messages/src/i18n/globalMessages.json93
-rw-r--r--src/i18n/messages/src/lib/Menu.json561
39 files changed, 7948 insertions, 230 deletions
diff --git a/src/i18n/locales/defaultMessages.json b/src/i18n/locales/defaultMessages.json
new file mode 100644
index 000000000..11fd88f58
--- /dev/null
+++ b/src/i18n/locales/defaultMessages.json
@@ -0,0 +1,3908 @@
1[
2 {
3 "descriptors": [
4 {
5 "defaultMessage": "!!!Import your Franz 4 services",
6 "end": {
7 "column": 3,
8 "line": 16
9 },
10 "file": "src/components/auth/Import.js",
11 "id": "import.headline",
12 "start": {
13 "column": 12,
14 "line": 13
15 }
16 },
17 {
18 "defaultMessage": "!!!Services not yet supported in Franz 5",
19 "end": {
20 "column": 3,
21 "line": 20
22 },
23 "file": "src/components/auth/Import.js",
24 "id": "import.notSupportedHeadline",
25 "start": {
26 "column": 24,
27 "line": 17
28 }
29 },
30 {
31 "defaultMessage": "!!!Import {count} services",
32 "end": {
33 "column": 3,
34 "line": 24
35 },
36 "file": "src/components/auth/Import.js",
37 "id": "import.submit.label",
38 "start": {
39 "column": 21,
40 "line": 21
41 }
42 },
43 {
44 "defaultMessage": "!!!I want to add services manually",
45 "end": {
46 "column": 3,
47 "line": 28
48 },
49 "file": "src/components/auth/Import.js",
50 "id": "import.skip.label",
51 "start": {
52 "column": 19,
53 "line": 25
54 }
55 }
56 ],
57 "path": "src/components/auth/Import.json"
58 },
59 {
60 "descriptors": [
61 {
62 "defaultMessage": "!!!Invite Friends",
63 "end": {
64 "column": 3,
65 "line": 19
66 },
67 "file": "src/components/auth/Invite.js",
68 "id": "settings.invite.headline",
69 "start": {
70 "column": 20,
71 "line": 16
72 }
73 },
74 {
75 "defaultMessage": "!!!Invite 3 of your friends or colleagues",
76 "end": {
77 "column": 3,
78 "line": 23
79 },
80 "file": "src/components/auth/Invite.js",
81 "id": "invite.headline.friends",
82 "start": {
83 "column": 12,
84 "line": 20
85 }
86 },
87 {
88 "defaultMessage": "!!!Name",
89 "end": {
90 "column": 3,
91 "line": 27
92 },
93 "file": "src/components/auth/Invite.js",
94 "id": "invite.name.label",
95 "start": {
96 "column": 13,
97 "line": 24
98 }
99 },
100 {
101 "defaultMessage": "!!!Email address",
102 "end": {
103 "column": 3,
104 "line": 31
105 },
106 "file": "src/components/auth/Invite.js",
107 "id": "invite.email.label",
108 "start": {
109 "column": 14,
110 "line": 28
111 }
112 },
113 {
114 "defaultMessage": "!!!Send invites",
115 "end": {
116 "column": 3,
117 "line": 35
118 },
119 "file": "src/components/auth/Invite.js",
120 "id": "invite.submit.label",
121 "start": {
122 "column": 21,
123 "line": 32
124 }
125 },
126 {
127 "defaultMessage": "!!!I want to do this later",
128 "end": {
129 "column": 3,
130 "line": 39
131 },
132 "file": "src/components/auth/Invite.js",
133 "id": "invite.skip.label",
134 "start": {
135 "column": 19,
136 "line": 36
137 }
138 },
139 {
140 "defaultMessage": "!!!Invitations sent successfully",
141 "end": {
142 "column": 3,
143 "line": 43
144 },
145 "file": "src/components/auth/Invite.js",
146 "id": "invite.successInfo",
147 "start": {
148 "column": 21,
149 "line": 40
150 }
151 }
152 ],
153 "path": "src/components/auth/Invite.json"
154 },
155 {
156 "descriptors": [
157 {
158 "defaultMessage": "!!!Sign in",
159 "end": {
160 "column": 3,
161 "line": 20
162 },
163 "file": "src/components/auth/Login.js",
164 "id": "login.headline",
165 "start": {
166 "column": 12,
167 "line": 17
168 }
169 },
170 {
171 "defaultMessage": "!!!Email address",
172 "end": {
173 "column": 3,
174 "line": 24
175 },
176 "file": "src/components/auth/Login.js",
177 "id": "login.email.label",
178 "start": {
179 "column": 14,
180 "line": 21
181 }
182 },
183 {
184 "defaultMessage": "!!!Password",
185 "end": {
186 "column": 3,
187 "line": 28
188 },
189 "file": "src/components/auth/Login.js",
190 "id": "login.password.label",
191 "start": {
192 "column": 17,
193 "line": 25
194 }
195 },
196 {
197 "defaultMessage": "!!!Sign in",
198 "end": {
199 "column": 3,
200 "line": 32
201 },
202 "file": "src/components/auth/Login.js",
203 "id": "login.submit.label",
204 "start": {
205 "column": 21,
206 "line": 29
207 }
208 },
209 {
210 "defaultMessage": "!!!Email or password not valid",
211 "end": {
212 "column": 3,
213 "line": 36
214 },
215 "file": "src/components/auth/Login.js",
216 "id": "login.invalidCredentials",
217 "start": {
218 "column": 22,
219 "line": 33
220 }
221 },
222 {
223 "defaultMessage": "!!!Your session expired, please login again.",
224 "end": {
225 "column": 3,
226 "line": 40
227 },
228 "file": "src/components/auth/Login.js",
229 "id": "login.tokenExpired",
230 "start": {
231 "column": 16,
232 "line": 37
233 }
234 },
235 {
236 "defaultMessage": "!!!Your session expired, please login again.",
237 "end": {
238 "column": 3,
239 "line": 44
240 },
241 "file": "src/components/auth/Login.js",
242 "id": "login.serverLogout",
243 "start": {
244 "column": 16,
245 "line": 41
246 }
247 },
248 {
249 "defaultMessage": "!!!Create a free account",
250 "end": {
251 "column": 3,
252 "line": 48
253 },
254 "file": "src/components/auth/Login.js",
255 "id": "login.link.signup",
256 "start": {
257 "column": 14,
258 "line": 45
259 }
260 },
261 {
262 "defaultMessage": "!!!Forgot password",
263 "end": {
264 "column": 3,
265 "line": 52
266 },
267 "file": "src/components/auth/Login.js",
268 "id": "login.link.password",
269 "start": {
270 "column": 16,
271 "line": 49
272 }
273 }
274 ],
275 "path": "src/components/auth/Login.json"
276 },
277 {
278 "descriptors": [
279 {
280 "defaultMessage": "!!!Forgot password",
281 "end": {
282 "column": 3,
283 "line": 17
284 },
285 "file": "src/components/auth/Password.js",
286 "id": "password.headline",
287 "start": {
288 "column": 12,
289 "line": 14
290 }
291 },
292 {
293 "defaultMessage": "!!!Email address",
294 "end": {
295 "column": 3,
296 "line": 21
297 },
298 "file": "src/components/auth/Password.js",
299 "id": "password.email.label",
300 "start": {
301 "column": 14,
302 "line": 18
303 }
304 },
305 {
306 "defaultMessage": "!!!Submit",
307 "end": {
308 "column": 3,
309 "line": 25
310 },
311 "file": "src/components/auth/Password.js",
312 "id": "password.submit.label",
313 "start": {
314 "column": 21,
315 "line": 22
316 }
317 },
318 {
319 "defaultMessage": "!!!Your new password was sent to your email address",
320 "end": {
321 "column": 3,
322 "line": 29
323 },
324 "file": "src/components/auth/Password.js",
325 "id": "password.successInfo",
326 "start": {
327 "column": 15,
328 "line": 26
329 }
330 },
331 {
332 "defaultMessage": "!!!No user affiliated with that email address",
333 "end": {
334 "column": 3,
335 "line": 33
336 },
337 "file": "src/components/auth/Password.js",
338 "id": "password.noUser",
339 "start": {
340 "column": 10,
341 "line": 30
342 }
343 },
344 {
345 "defaultMessage": "!!!Create a free account",
346 "end": {
347 "column": 3,
348 "line": 37
349 },
350 "file": "src/components/auth/Password.js",
351 "id": "password.link.signup",
352 "start": {
353 "column": 14,
354 "line": 34
355 }
356 },
357 {
358 "defaultMessage": "!!!Sign in to your account",
359 "end": {
360 "column": 3,
361 "line": 41
362 },
363 "file": "src/components/auth/Password.js",
364 "id": "password.link.login",
365 "start": {
366 "column": 13,
367 "line": 38
368 }
369 }
370 ],
371 "path": "src/components/auth/Password.json"
372 },
373 {
374 "descriptors": [
375 {
376 "defaultMessage": "!!!Support Franz",
377 "end": {
378 "column": 3,
379 "line": 16
380 },
381 "file": "src/components/auth/Pricing.js",
382 "id": "pricing.headline",
383 "start": {
384 "column": 12,
385 "line": 13
386 }
387 },
388 {
389 "defaultMessage": "!!!Select your support plan",
390 "end": {
391 "column": 3,
392 "line": 20
393 },
394 "file": "src/components/auth/Pricing.js",
395 "id": "pricing.support.label",
396 "start": {
397 "column": 23,
398 "line": 17
399 }
400 },
401 {
402 "defaultMessage": "!!!Support the development of Franz",
403 "end": {
404 "column": 3,
405 "line": 24
406 },
407 "file": "src/components/auth/Pricing.js",
408 "id": "pricing.submit.label",
409 "start": {
410 "column": 21,
411 "line": 21
412 }
413 },
414 {
415 "defaultMessage": "!!!I don't want to support the development of Franz.",
416 "end": {
417 "column": 3,
418 "line": 28
419 },
420 "file": "src/components/auth/Pricing.js",
421 "id": "pricing.link.skipPayment",
422 "start": {
423 "column": 15,
424 "line": 25
425 }
426 }
427 ],
428 "path": "src/components/auth/Pricing.json"
429 },
430 {
431 "descriptors": [
432 {
433 "defaultMessage": "!!!Sign up",
434 "end": {
435 "column": 3,
436 "line": 21
437 },
438 "file": "src/components/auth/Signup.js",
439 "id": "signup.headline",
440 "start": {
441 "column": 12,
442 "line": 18
443 }
444 },
445 {
446 "defaultMessage": "!!!Firstname",
447 "end": {
448 "column": 3,
449 "line": 25
450 },
451 "file": "src/components/auth/Signup.js",
452 "id": "signup.firstname.label",
453 "start": {
454 "column": 18,
455 "line": 22
456 }
457 },
458 {
459 "defaultMessage": "!!!Lastname",
460 "end": {
461 "column": 3,
462 "line": 29
463 },
464 "file": "src/components/auth/Signup.js",
465 "id": "signup.lastname.label",
466 "start": {
467 "column": 17,
468 "line": 26
469 }
470 },
471 {
472 "defaultMessage": "!!!Email address",
473 "end": {
474 "column": 3,
475 "line": 33
476 },
477 "file": "src/components/auth/Signup.js",
478 "id": "signup.email.label",
479 "start": {
480 "column": 14,
481 "line": 30
482 }
483 },
484 {
485 "defaultMessage": "!!!Company",
486 "end": {
487 "column": 3,
488 "line": 37
489 },
490 "file": "src/components/auth/Signup.js",
491 "id": "signup.company.label",
492 "start": {
493 "column": 16,
494 "line": 34
495 }
496 },
497 {
498 "defaultMessage": "!!!Password",
499 "end": {
500 "column": 3,
501 "line": 41
502 },
503 "file": "src/components/auth/Signup.js",
504 "id": "signup.password.label",
505 "start": {
506 "column": 17,
507 "line": 38
508 }
509 },
510 {
511 "defaultMessage": "!!!By creating a Franz account you accept the",
512 "end": {
513 "column": 3,
514 "line": 45
515 },
516 "file": "src/components/auth/Signup.js",
517 "id": "signup.legal.info",
518 "start": {
519 "column": 13,
520 "line": 42
521 }
522 },
523 {
524 "defaultMessage": "!!!Terms of service",
525 "end": {
526 "column": 3,
527 "line": 49
528 },
529 "file": "src/components/auth/Signup.js",
530 "id": "signup.legal.terms",
531 "start": {
532 "column": 9,
533 "line": 46
534 }
535 },
536 {
537 "defaultMessage": "!!!Privacy Statement",
538 "end": {
539 "column": 3,
540 "line": 53
541 },
542 "file": "src/components/auth/Signup.js",
543 "id": "signup.legal.privacy",
544 "start": {
545 "column": 11,
546 "line": 50
547 }
548 },
549 {
550 "defaultMessage": "!!!Create account",
551 "end": {
552 "column": 3,
553 "line": 57
554 },
555 "file": "src/components/auth/Signup.js",
556 "id": "signup.submit.label",
557 "start": {
558 "column": 21,
559 "line": 54
560 }
561 },
562 {
563 "defaultMessage": "!!!Already have an account, sign in?",
564 "end": {
565 "column": 3,
566 "line": 61
567 },
568 "file": "src/components/auth/Signup.js",
569 "id": "signup.link.login",
570 "start": {
571 "column": 13,
572 "line": 58
573 }
574 },
575 {
576 "defaultMessage": "!!!A user with that email address already exists",
577 "end": {
578 "column": 3,
579 "line": 65
580 },
581 "file": "src/components/auth/Signup.js",
582 "id": "signup.emailDuplicate",
583 "start": {
584 "column": 18,
585 "line": 62
586 }
587 }
588 ],
589 "path": "src/components/auth/Signup.json"
590 },
591 {
592 "descriptors": [
593 {
594 "defaultMessage": "!!!Create a free account",
595 "end": {
596 "column": 3,
597 "line": 12
598 },
599 "file": "src/components/auth/Welcome.js",
600 "id": "welcome.signupButton",
601 "start": {
602 "column": 16,
603 "line": 9
604 }
605 },
606 {
607 "defaultMessage": "!!!Login to your account",
608 "end": {
609 "column": 3,
610 "line": 16
611 },
612 "file": "src/components/auth/Welcome.js",
613 "id": "welcome.loginButton",
614 "start": {
615 "column": 15,
616 "line": 13
617 }
618 }
619 ],
620 "path": "src/components/auth/Welcome.json"
621 },
622 {
623 "descriptors": [
624 {
625 "defaultMessage": "!!!Your services have been updated.",
626 "end": {
627 "column": 3,
628 "line": 25
629 },
630 "file": "src/components/layout/AppLayout.js",
631 "id": "infobar.servicesUpdated",
632 "start": {
633 "column": 19,
634 "line": 22
635 }
636 },
637 {
638 "defaultMessage": "!!!A new update for Franz is available.",
639 "end": {
640 "column": 3,
641 "line": 29
642 },
643 "file": "src/components/layout/AppLayout.js",
644 "id": "infobar.updateAvailable",
645 "start": {
646 "column": 19,
647 "line": 26
648 }
649 },
650 {
651 "defaultMessage": "!!!Reload services",
652 "end": {
653 "column": 3,
654 "line": 33
655 },
656 "file": "src/components/layout/AppLayout.js",
657 "id": "infobar.buttonReloadServices",
658 "start": {
659 "column": 24,
660 "line": 30
661 }
662 },
663 {
664 "defaultMessage": "!!!Changelog",
665 "end": {
666 "column": 3,
667 "line": 37
668 },
669 "file": "src/components/layout/AppLayout.js",
670 "id": "infobar.buttonChangelog",
671 "start": {
672 "column": 13,
673 "line": 34
674 }
675 },
676 {
677 "defaultMessage": "!!!Restart & install update",
678 "end": {
679 "column": 3,
680 "line": 41
681 },
682 "file": "src/components/layout/AppLayout.js",
683 "id": "infobar.buttonInstallUpdate",
684 "start": {
685 "column": 23,
686 "line": 38
687 }
688 },
689 {
690 "defaultMessage": "!!!Could not load services and user information",
691 "end": {
692 "column": 3,
693 "line": 45
694 },
695 "file": "src/components/layout/AppLayout.js",
696 "id": "infobar.requiredRequestsFailed",
697 "start": {
698 "column": 26,
699 "line": 42
700 }
701 }
702 ],
703 "path": "src/components/layout/AppLayout.json"
704 },
705 {
706 "descriptors": [
707 {
708 "defaultMessage": "!!!Settings",
709 "end": {
710 "column": 3,
711 "line": 14
712 },
713 "file": "src/components/layout/Sidebar.js",
714 "id": "sidebar.settings",
715 "start": {
716 "column": 12,
717 "line": 11
718 }
719 },
720 {
721 "defaultMessage": "!!!Add new service",
722 "end": {
723 "column": 3,
724 "line": 18
725 },
726 "file": "src/components/layout/Sidebar.js",
727 "id": "sidebar.addNewService",
728 "start": {
729 "column": 17,
730 "line": 15
731 }
732 },
733 {
734 "defaultMessage": "!!!Disable notifications & audio",
735 "end": {
736 "column": 3,
737 "line": 22
738 },
739 "file": "src/components/layout/Sidebar.js",
740 "id": "sidebar.muteApp",
741 "start": {
742 "column": 8,
743 "line": 19
744 }
745 },
746 {
747 "defaultMessage": "!!!Enable notifications & audio",
748 "end": {
749 "column": 3,
750 "line": 26
751 },
752 "file": "src/components/layout/Sidebar.js",
753 "id": "sidebar.unmuteApp",
754 "start": {
755 "column": 10,
756 "line": 23
757 }
758 }
759 ],
760 "path": "src/components/layout/Sidebar.json"
761 },
762 {
763 "descriptors": [
764 {
765 "defaultMessage": "!!!Oh no!",
766 "end": {
767 "column": 3,
768 "line": 15
769 },
770 "file": "src/components/services/content/ErrorHandlers/WebviewErrorHandler.js",
771 "id": "service.errorHandler.headline",
772 "start": {
773 "column": 12,
774 "line": 12
775 }
776 },
777 {
778 "defaultMessage": "!!!{name} has failed to load.",
779 "end": {
780 "column": 3,
781 "line": 19
782 },
783 "file": "src/components/services/content/ErrorHandlers/WebviewErrorHandler.js",
784 "id": "service.errorHandler.text",
785 "start": {
786 "column": 8,
787 "line": 16
788 }
789 },
790 {
791 "defaultMessage": "!!!Reload {name}",
792 "end": {
793 "column": 3,
794 "line": 23
795 },
796 "file": "src/components/services/content/ErrorHandlers/WebviewErrorHandler.js",
797 "id": "service.errorHandler.action",
798 "start": {
799 "column": 10,
800 "line": 20
801 }
802 },
803 {
804 "defaultMessage": "!!!Edit {name}",
805 "end": {
806 "column": 3,
807 "line": 27
808 },
809 "file": "src/components/services/content/ErrorHandlers/WebviewErrorHandler.js",
810 "id": "service.errorHandler.editAction",
811 "start": {
812 "column": 14,
813 "line": 24
814 }
815 },
816 {
817 "defaultMessage": "!!!Error:",
818 "end": {
819 "column": 3,
820 "line": 31
821 },
822 "file": "src/components/services/content/ErrorHandlers/WebviewErrorHandler.js",
823 "id": "service.errorHandler.message",
824 "start": {
825 "column": 16,
826 "line": 28
827 }
828 }
829 ],
830 "path": "src/components/services/content/ErrorHandlers/WebviewErrorHandler.json"
831 },
832 {
833 "descriptors": [
834 {
835 "defaultMessage": "!!!{name} is disabled",
836 "end": {
837 "column": 3,
838 "line": 12
839 },
840 "file": "src/components/services/content/ServiceDisabled.js",
841 "id": "service.disabledHandler.headline",
842 "start": {
843 "column": 12,
844 "line": 9
845 }
846 },
847 {
848 "defaultMessage": "!!!Enable {name}",
849 "end": {
850 "column": 3,
851 "line": 16
852 },
853 "file": "src/components/services/content/ServiceDisabled.js",
854 "id": "service.disabledHandler.action",
855 "start": {
856 "column": 10,
857 "line": 13
858 }
859 }
860 ],
861 "path": "src/components/services/content/ServiceDisabled.json"
862 },
863 {
864 "descriptors": [
865 {
866 "defaultMessage": "!!!Welcome to Franz",
867 "end": {
868 "column": 3,
869 "line": 14
870 },
871 "file": "src/components/services/content/Services.js",
872 "id": "services.welcome",
873 "start": {
874 "column": 11,
875 "line": 11
876 }
877 },
878 {
879 "defaultMessage": "!!!Get started",
880 "end": {
881 "column": 3,
882 "line": 18
883 },
884 "file": "src/components/services/content/Services.js",
885 "id": "services.getStarted",
886 "start": {
887 "column": 14,
888 "line": 15
889 }
890 }
891 ],
892 "path": "src/components/services/content/Services.json"
893 },
894 {
895 "descriptors": [
896 {
897 "defaultMessage": "!!!Oh no!",
898 "end": {
899 "column": 3,
900 "line": 13
901 },
902 "file": "src/components/services/content/WebviewCrashHandler.js",
903 "id": "service.crashHandler.headline",
904 "start": {
905 "column": 12,
906 "line": 10
907 }
908 },
909 {
910 "defaultMessage": "!!!{name} has caused an error.",
911 "end": {
912 "column": 3,
913 "line": 17
914 },
915 "file": "src/components/services/content/WebviewCrashHandler.js",
916 "id": "service.crashHandler.text",
917 "start": {
918 "column": 8,
919 "line": 14
920 }
921 },
922 {
923 "defaultMessage": "!!!Reload {name}",
924 "end": {
925 "column": 3,
926 "line": 21
927 },
928 "file": "src/components/services/content/WebviewCrashHandler.js",
929 "id": "service.crashHandler.action",
930 "start": {
931 "column": 10,
932 "line": 18
933 }
934 },
935 {
936 "defaultMessage": "!!!Trying to automatically restore {name} in {seconds} seconds",
937 "end": {
938 "column": 3,
939 "line": 25
940 },
941 "file": "src/components/services/content/WebviewCrashHandler.js",
942 "id": "service.crashHandler.autoReload",
943 "start": {
944 "column": 14,
945 "line": 22
946 }
947 }
948 ],
949 "path": "src/components/services/content/WebviewCrashHandler.json"
950 },
951 {
952 "descriptors": [
953 {
954 "defaultMessage": "!!!Reload",
955 "end": {
956 "column": 3,
957 "line": 18
958 },
959 "file": "src/components/services/tabs/TabItem.js",
960 "id": "tabs.item.reload",
961 "start": {
962 "column": 10,
963 "line": 15
964 }
965 },
966 {
967 "defaultMessage": "!!!Edit",
968 "end": {
969 "column": 3,
970 "line": 22
971 },
972 "file": "src/components/services/tabs/TabItem.js",
973 "id": "tabs.item.edit",
974 "start": {
975 "column": 8,
976 "line": 19
977 }
978 },
979 {
980 "defaultMessage": "!!!Disable notifications",
981 "end": {
982 "column": 3,
983 "line": 26
984 },
985 "file": "src/components/services/tabs/TabItem.js",
986 "id": "tabs.item.disableNotifications",
987 "start": {
988 "column": 24,
989 "line": 23
990 }
991 },
992 {
993 "defaultMessage": "!!!Enable notifications",
994 "end": {
995 "column": 3,
996 "line": 30
997 },
998 "file": "src/components/services/tabs/TabItem.js",
999 "id": "tabs.item.enableNotification",
1000 "start": {
1001 "column": 23,
1002 "line": 27
1003 }
1004 },
1005 {
1006 "defaultMessage": "!!!Disable audio",
1007 "end": {
1008 "column": 3,
1009 "line": 34
1010 },
1011 "file": "src/components/services/tabs/TabItem.js",
1012 "id": "tabs.item.disableAudio",
1013 "start": {
1014 "column": 16,
1015 "line": 31
1016 }
1017 },
1018 {
1019 "defaultMessage": "!!!Enable audio",
1020 "end": {
1021 "column": 3,
1022 "line": 38
1023 },
1024 "file": "src/components/services/tabs/TabItem.js",
1025 "id": "tabs.item.enableAudio",
1026 "start": {
1027 "column": 15,
1028 "line": 35
1029 }
1030 },
1031 {
1032 "defaultMessage": "!!!Disable Service",
1033 "end": {
1034 "column": 3,
1035 "line": 42
1036 },
1037 "file": "src/components/services/tabs/TabItem.js",
1038 "id": "tabs.item.disableService",
1039 "start": {
1040 "column": 18,
1041 "line": 39
1042 }
1043 },
1044 {
1045 "defaultMessage": "!!!Enable Service",
1046 "end": {
1047 "column": 3,
1048 "line": 46
1049 },
1050 "file": "src/components/services/tabs/TabItem.js",
1051 "id": "tabs.item.enableService",
1052 "start": {
1053 "column": 17,
1054 "line": 43
1055 }
1056 },
1057 {
1058 "defaultMessage": "!!!Delete Service",
1059 "end": {
1060 "column": 3,
1061 "line": 50
1062 },
1063 "file": "src/components/services/tabs/TabItem.js",
1064 "id": "tabs.item.deleteService",
1065 "start": {
1066 "column": 17,
1067 "line": 47
1068 }
1069 }
1070 ],
1071 "path": "src/components/services/tabs/TabItem.json"
1072 },
1073 {
1074 "descriptors": [
1075 {
1076 "defaultMessage": "!!!Account",
1077 "end": {
1078 "column": 3,
1079 "line": 18
1080 },
1081 "file": "src/components/settings/account/AccountDashboard.js",
1082 "id": "settings.account.headline",
1083 "start": {
1084 "column": 12,
1085 "line": 15
1086 }
1087 },
1088 {
1089 "defaultMessage": "!!!Your Subscription",
1090 "end": {
1091 "column": 3,
1092 "line": 22
1093 },
1094 "file": "src/components/settings/account/AccountDashboard.js",
1095 "id": "settings.account.headlineSubscription",
1096 "start": {
1097 "column": 24,
1098 "line": 19
1099 }
1100 },
1101 {
1102 "defaultMessage": "!!!Upgrade your Account",
1103 "end": {
1104 "column": 3,
1105 "line": 26
1106 },
1107 "file": "src/components/settings/account/AccountDashboard.js",
1108 "id": "settings.account.headlineUpgrade",
1109 "start": {
1110 "column": 19,
1111 "line": 23
1112 }
1113 },
1114 {
1115 "defaultMessage": "!!Invoices",
1116 "end": {
1117 "column": 3,
1118 "line": 30
1119 },
1120 "file": "src/components/settings/account/AccountDashboard.js",
1121 "id": "settings.account.headlineInvoices",
1122 "start": {
1123 "column": 20,
1124 "line": 27
1125 }
1126 },
1127 {
1128 "defaultMessage": "!!Danger Zone",
1129 "end": {
1130 "column": 3,
1131 "line": 34
1132 },
1133 "file": "src/components/settings/account/AccountDashboard.js",
1134 "id": "settings.account.headlineDangerZone",
1135 "start": {
1136 "column": 22,
1137 "line": 31
1138 }
1139 },
1140 {
1141 "defaultMessage": "!!!Manage your subscription",
1142 "end": {
1143 "column": 3,
1144 "line": 38
1145 },
1146 "file": "src/components/settings/account/AccountDashboard.js",
1147 "id": "settings.account.manageSubscription.label",
1148 "start": {
1149 "column": 33,
1150 "line": 35
1151 }
1152 },
1153 {
1154 "defaultMessage": "!!!Basic Account",
1155 "end": {
1156 "column": 3,
1157 "line": 42
1158 },
1159 "file": "src/components/settings/account/AccountDashboard.js",
1160 "id": "settings.account.accountType.basic",
1161 "start": {
1162 "column": 20,
1163 "line": 39
1164 }
1165 },
1166 {
1167 "defaultMessage": "!!!Premium Supporter Account",
1168 "end": {
1169 "column": 3,
1170 "line": 46
1171 },
1172 "file": "src/components/settings/account/AccountDashboard.js",
1173 "id": "settings.account.accountType.premium",
1174 "start": {
1175 "column": 22,
1176 "line": 43
1177 }
1178 },
1179 {
1180 "defaultMessage": "!!!Enterprise Account",
1181 "end": {
1182 "column": 3,
1183 "line": 50
1184 },
1185 "file": "src/components/settings/account/AccountDashboard.js",
1186 "id": "settings.account.accountType.enterprise",
1187 "start": {
1188 "column": 25,
1189 "line": 47
1190 }
1191 },
1192 {
1193 "defaultMessage": "!!!Edit Account",
1194 "end": {
1195 "column": 3,
1196 "line": 54
1197 },
1198 "file": "src/components/settings/account/AccountDashboard.js",
1199 "id": "settings.account.account.editButton",
1200 "start": {
1201 "column": 21,
1202 "line": 51
1203 }
1204 },
1205 {
1206 "defaultMessage": "!!!Download",
1207 "end": {
1208 "column": 3,
1209 "line": 58
1210 },
1211 "file": "src/components/settings/account/AccountDashboard.js",
1212 "id": "settings.account.invoiceDownload",
1213 "start": {
1214 "column": 19,
1215 "line": 55
1216 }
1217 },
1218 {
1219 "defaultMessage": "!!!Could not load user information",
1220 "end": {
1221 "column": 3,
1222 "line": 62
1223 },
1224 "file": "src/components/settings/account/AccountDashboard.js",
1225 "id": "settings.account.userInfoRequestFailed",
1226 "start": {
1227 "column": 25,
1228 "line": 59
1229 }
1230 },
1231 {
1232 "defaultMessage": "!!!Try again",
1233 "end": {
1234 "column": 3,
1235 "line": 66
1236 },
1237 "file": "src/components/settings/account/AccountDashboard.js",
1238 "id": "settings.account.tryReloadUserInfoRequest",
1239 "start": {
1240 "column": 28,
1241 "line": 63
1242 }
1243 },
1244 {
1245 "defaultMessage": "!!!Delete account",
1246 "end": {
1247 "column": 3,
1248 "line": 70
1249 },
1250 "file": "src/components/settings/account/AccountDashboard.js",
1251 "id": "settings.account.deleteAccount",
1252 "start": {
1253 "column": 17,
1254 "line": 67
1255 }
1256 },
1257 {
1258 "defaultMessage": "!!!If you don't need your Franz account any longer, you can delete your account and all related data here.",
1259 "end": {
1260 "column": 3,
1261 "line": 74
1262 },
1263 "file": "src/components/settings/account/AccountDashboard.js",
1264 "id": "settings.account.deleteInfo",
1265 "start": {
1266 "column": 14,
1267 "line": 71
1268 }
1269 },
1270 {
1271 "defaultMessage": "!!!You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!",
1272 "end": {
1273 "column": 3,
1274 "line": 78
1275 },
1276 "file": "src/components/settings/account/AccountDashboard.js",
1277 "id": "settings.account.deleteEmailSent",
1278 "start": {
1279 "column": 19,
1280 "line": 75
1281 }
1282 }
1283 ],
1284 "path": "src/components/settings/account/AccountDashboard.json"
1285 },
1286 {
1287 "descriptors": [
1288 {
1289 "defaultMessage": "!!!Available services",
1290 "end": {
1291 "column": 3,
1292 "line": 12
1293 },
1294 "file": "src/components/settings/navigation/SettingsNavigation.js",
1295 "id": "settings.navigation.availableServices",
1296 "start": {
1297 "column": 21,
1298 "line": 9
1299 }
1300 },
1301 {
1302 "defaultMessage": "!!!Your services",
1303 "end": {
1304 "column": 3,
1305 "line": 16
1306 },
1307 "file": "src/components/settings/navigation/SettingsNavigation.js",
1308 "id": "settings.navigation.yourServices",
1309 "start": {
1310 "column": 16,
1311 "line": 13
1312 }
1313 },
1314 {
1315 "defaultMessage": "!!!Account",
1316 "end": {
1317 "column": 3,
1318 "line": 20
1319 },
1320 "file": "src/components/settings/navigation/SettingsNavigation.js",
1321 "id": "settings.navigation.account",
1322 "start": {
1323 "column": 11,
1324 "line": 17
1325 }
1326 },
1327 {
1328 "defaultMessage": "!!!Settings",
1329 "end": {
1330 "column": 3,
1331 "line": 24
1332 },
1333 "file": "src/components/settings/navigation/SettingsNavigation.js",
1334 "id": "settings.navigation.settings",
1335 "start": {
1336 "column": 12,
1337 "line": 21
1338 }
1339 },
1340 {
1341 "defaultMessage": "!!!Invite Friends",
1342 "end": {
1343 "column": 3,
1344 "line": 28
1345 },
1346 "file": "src/components/settings/navigation/SettingsNavigation.js",
1347 "id": "settings.navigation.inviteFriends",
1348 "start": {
1349 "column": 17,
1350 "line": 25
1351 }
1352 },
1353 {
1354 "defaultMessage": "!!!Logout",
1355 "end": {
1356 "column": 3,
1357 "line": 32
1358 },
1359 "file": "src/components/settings/navigation/SettingsNavigation.js",
1360 "id": "settings.navigation.logout",
1361 "start": {
1362 "column": 10,
1363 "line": 29
1364 }
1365 }
1366 ],
1367 "path": "src/components/settings/navigation/SettingsNavigation.json"
1368 },
1369 {
1370 "descriptors": [
1371 {
1372 "defaultMessage": "!!!Available Services",
1373 "end": {
1374 "column": 3,
1375 "line": 18
1376 },
1377 "file": "src/components/settings/recipes/RecipesDashboard.js",
1378 "id": "settings.recipes.headline",
1379 "start": {
1380 "column": 12,
1381 "line": 15
1382 }
1383 },
1384 {
1385 "defaultMessage": "!!!Search service",
1386 "end": {
1387 "column": 3,
1388 "line": 22
1389 },
1390 "file": "src/components/settings/recipes/RecipesDashboard.js",
1391 "id": "settings.searchService",
1392 "start": {
1393 "column": 17,
1394 "line": 19
1395 }
1396 },
1397 {
1398 "defaultMessage": "!!!Most popular",
1399 "end": {
1400 "column": 3,
1401 "line": 26
1402 },
1403 "file": "src/components/settings/recipes/RecipesDashboard.js",
1404 "id": "settings.recipes.mostPopular",
1405 "start": {
1406 "column": 22,
1407 "line": 23
1408 }
1409 },
1410 {
1411 "defaultMessage": "!!!All services",
1412 "end": {
1413 "column": 3,
1414 "line": 30
1415 },
1416 "file": "src/components/settings/recipes/RecipesDashboard.js",
1417 "id": "settings.recipes.all",
1418 "start": {
1419 "column": 14,
1420 "line": 27
1421 }
1422 },
1423 {
1424 "defaultMessage": "!!!Development",
1425 "end": {
1426 "column": 3,
1427 "line": 34
1428 },
1429 "file": "src/components/settings/recipes/RecipesDashboard.js",
1430 "id": "settings.recipes.dev",
1431 "start": {
1432 "column": 14,
1433 "line": 31
1434 }
1435 },
1436 {
1437 "defaultMessage": "!!!Sorry, but no service matched your search term.",
1438 "end": {
1439 "column": 3,
1440 "line": 38
1441 },
1442 "file": "src/components/settings/recipes/RecipesDashboard.js",
1443 "id": "settings.recipes.nothingFound",
1444 "start": {
1445 "column": 16,
1446 "line": 35
1447 }
1448 },
1449 {
1450 "defaultMessage": "!!!Service successfully added",
1451 "end": {
1452 "column": 3,
1453 "line": 42
1454 },
1455 "file": "src/components/settings/recipes/RecipesDashboard.js",
1456 "id": "settings.recipes.servicesSuccessfulAddedInfo",
1457 "start": {
1458 "column": 31,
1459 "line": 39
1460 }
1461 },
1462 {
1463 "defaultMessage": "!!!Missing a service?",
1464 "end": {
1465 "column": 3,
1466 "line": 46
1467 },
1468 "file": "src/components/settings/recipes/RecipesDashboard.js",
1469 "id": "settings.recipes.missingService",
1470 "start": {
1471 "column": 18,
1472 "line": 43
1473 }
1474 }
1475 ],
1476 "path": "src/components/settings/recipes/RecipesDashboard.json"
1477 },
1478 {
1479 "descriptors": [
1480 {
1481 "defaultMessage": "!!!Save service",
1482 "end": {
1483 "column": 3,
1484 "line": 25
1485 },
1486 "file": "src/components/settings/services/EditServiceForm.js",
1487 "id": "settings.service.form.saveButton",
1488 "start": {
1489 "column": 15,
1490 "line": 22
1491 }
1492 },
1493 {
1494 "defaultMessage": "!!!Delete Service",
1495 "end": {
1496 "column": 3,
1497 "line": 29
1498 },
1499 "file": "src/components/settings/services/EditServiceForm.js",
1500 "id": "settings.service.form.deleteButton",
1501 "start": {
1502 "column": 17,
1503 "line": 26
1504 }
1505 },
1506 {
1507 "defaultMessage": "!!!Available services",
1508 "end": {
1509 "column": 3,
1510 "line": 33
1511 },
1512 "file": "src/components/settings/services/EditServiceForm.js",
1513 "id": "settings.service.form.availableServices",
1514 "start": {
1515 "column": 21,
1516 "line": 30
1517 }
1518 },
1519 {
1520 "defaultMessage": "!!!Your services",
1521 "end": {
1522 "column": 3,
1523 "line": 37
1524 },
1525 "file": "src/components/settings/services/EditServiceForm.js",
1526 "id": "settings.service.form.yourServices",
1527 "start": {
1528 "column": 16,
1529 "line": 34
1530 }
1531 },
1532 {
1533 "defaultMessage": "!!!Add {name}",
1534 "end": {
1535 "column": 3,
1536 "line": 41
1537 },
1538 "file": "src/components/settings/services/EditServiceForm.js",
1539 "id": "settings.service.form.addServiceHeadline",
1540 "start": {
1541 "column": 22,
1542 "line": 38
1543 }
1544 },
1545 {
1546 "defaultMessage": "!!!Edit {name}",
1547 "end": {
1548 "column": 3,
1549 "line": 45
1550 },
1551 "file": "src/components/settings/services/EditServiceForm.js",
1552 "id": "settings.service.form.editServiceHeadline",
1553 "start": {
1554 "column": 23,
1555 "line": 42
1556 }
1557 },
1558 {
1559 "defaultMessage": "!!!Hosted",
1560 "end": {
1561 "column": 3,
1562 "line": 49
1563 },
1564 "file": "src/components/settings/services/EditServiceForm.js",
1565 "id": "settings.service.form.tabHosted",
1566 "start": {
1567 "column": 13,
1568 "line": 46
1569 }
1570 },
1571 {
1572 "defaultMessage": "!!!Self hosted ⭐️",
1573 "end": {
1574 "column": 3,
1575 "line": 53
1576 },
1577 "file": "src/components/settings/services/EditServiceForm.js",
1578 "id": "settings.service.form.tabOnPremise",
1579 "start": {
1580 "column": 16,
1581 "line": 50
1582 }
1583 },
1584 {
1585 "defaultMessage": "!!!Use the hosted {name} service.",
1586 "end": {
1587 "column": 3,
1588 "line": 57
1589 },
1590 "file": "src/components/settings/services/EditServiceForm.js",
1591 "id": "settings.service.form.useHostedService",
1592 "start": {
1593 "column": 20,
1594 "line": 54
1595 }
1596 },
1597 {
1598 "defaultMessage": "!!!Could not validate custom {name} server.",
1599 "end": {
1600 "column": 3,
1601 "line": 61
1602 },
1603 "file": "src/components/settings/services/EditServiceForm.js",
1604 "id": "settings.service.form.customUrlValidationError",
1605 "start": {
1606 "column": 28,
1607 "line": 58
1608 }
1609 },
1610 {
1611 "defaultMessage": "!!!To add self hosted services, you need a Franz Premium Supporter Account.",
1612 "end": {
1613 "column": 3,
1614 "line": 65
1615 },
1616 "file": "src/components/settings/services/EditServiceForm.js",
1617 "id": "settings.service.form.customUrlPremiumInfo",
1618 "start": {
1619 "column": 24,
1620 "line": 62
1621 }
1622 },
1623 {
1624 "defaultMessage": "!!!Upgrade your account",
1625 "end": {
1626 "column": 3,
1627 "line": 69
1628 },
1629 "file": "src/components/settings/services/EditServiceForm.js",
1630 "id": "settings.service.form.customUrlUpgradeAccount",
1631 "start": {
1632 "column": 27,
1633 "line": 66
1634 }
1635 },
1636 {
1637 "defaultMessage": "!!!You will be notified about all new messages in a channel, not just @username, @channel, @here, ...",
1638 "end": {
1639 "column": 3,
1640 "line": 73
1641 },
1642 "file": "src/components/settings/services/EditServiceForm.js",
1643 "id": "settings.service.form.indirectMessageInfo",
1644 "start": {
1645 "column": 23,
1646 "line": 70
1647 }
1648 },
1649 {
1650 "defaultMessage": "!!!When disabled, all notification sounds and audio playback are muted",
1651 "end": {
1652 "column": 3,
1653 "line": 77
1654 },
1655 "file": "src/components/settings/services/EditServiceForm.js",
1656 "id": "settings.service.form.isMutedInfo",
1657 "start": {
1658 "column": 15,
1659 "line": 74
1660 }
1661 },
1662 {
1663 "defaultMessage": "!!!Notifications",
1664 "end": {
1665 "column": 3,
1666 "line": 81
1667 },
1668 "file": "src/components/settings/services/EditServiceForm.js",
1669 "id": "settings.service.form.headlineNotifications",
1670 "start": {
1671 "column": 25,
1672 "line": 78
1673 }
1674 },
1675 {
1676 "defaultMessage": "!!!Unread message badges",
1677 "end": {
1678 "column": 3,
1679 "line": 85
1680 },
1681 "file": "src/components/settings/services/EditServiceForm.js",
1682 "id": "settings.service.form.headlineBadges",
1683 "start": {
1684 "column": 18,
1685 "line": 82
1686 }
1687 },
1688 {
1689 "defaultMessage": "!!!General",
1690 "end": {
1691 "column": 3,
1692 "line": 89
1693 },
1694 "file": "src/components/settings/services/EditServiceForm.js",
1695 "id": "settings.service.form.headlineGeneral",
1696 "start": {
1697 "column": 19,
1698 "line": 86
1699 }
1700 },
1701 {
1702 "defaultMessage": "!!!Delete",
1703 "end": {
1704 "column": 3,
1705 "line": 93
1706 },
1707 "file": "src/components/settings/services/EditServiceForm.js",
1708 "id": "settings.service.form.iconDelete",
1709 "start": {
1710 "column": 14,
1711 "line": 90
1712 }
1713 },
1714 {
1715 "defaultMessage": "!!!Drop your image, or click here",
1716 "end": {
1717 "column": 3,
1718 "line": 97
1719 },
1720 "file": "src/components/settings/services/EditServiceForm.js",
1721 "id": "settings.service.form.iconUpload",
1722 "start": {
1723 "column": 14,
1724 "line": 94
1725 }
1726 },
1727 {
1728 "defaultMessage": "!!!HTTP/HTTPS Proxy Settings",
1729 "end": {
1730 "column": 3,
1731 "line": 101
1732 },
1733 "file": "src/components/settings/services/EditServiceForm.js",
1734 "id": "settings.service.form.proxy.headline",
1735 "start": {
1736 "column": 17,
1737 "line": 98
1738 }
1739 },
1740 {
1741 "defaultMessage": "!!!Please restart Franz after changing proxy Settings.",
1742 "end": {
1743 "column": 3,
1744 "line": 105
1745 },
1746 "file": "src/components/settings/services/EditServiceForm.js",
1747 "id": "settings.service.form.proxy.restartInfo",
1748 "start": {
1749 "column": 20,
1750 "line": 102
1751 }
1752 },
1753 {
1754 "defaultMessage": "!!!Proxy settings will not be synchronized with the Franz servers.",
1755 "end": {
1756 "column": 3,
1757 "line": 109
1758 },
1759 "file": "src/components/settings/services/EditServiceForm.js",
1760 "id": "settings.service.form.proxy.info",
1761 "start": {
1762 "column": 13,
1763 "line": 106
1764 }
1765 }
1766 ],
1767 "path": "src/components/settings/services/EditServiceForm.json"
1768 },
1769 {
1770 "descriptors": [
1771 {
1772 "defaultMessage": "!!!Error",
1773 "end": {
1774 "column": 3,
1775 "line": 13
1776 },
1777 "file": "src/components/settings/services/ServiceError.js",
1778 "id": "settings.service.error.headline",
1779 "start": {
1780 "column": 12,
1781 "line": 10
1782 }
1783 },
1784 {
1785 "defaultMessage": "!!!Back to services",
1786 "end": {
1787 "column": 3,
1788 "line": 17
1789 },
1790 "file": "src/components/settings/services/ServiceError.js",
1791 "id": "settings.service.error.goBack",
1792 "start": {
1793 "column": 10,
1794 "line": 14
1795 }
1796 },
1797 {
1798 "defaultMessage": "!!!Available services",
1799 "end": {
1800 "column": 3,
1801 "line": 21
1802 },
1803 "file": "src/components/settings/services/ServiceError.js",
1804 "id": "settings.service.form.availableServices",
1805 "start": {
1806 "column": 21,
1807 "line": 18
1808 }
1809 },
1810 {
1811 "defaultMessage": "!!!Could not load service recipe.",
1812 "end": {
1813 "column": 3,
1814 "line": 25
1815 },
1816 "file": "src/components/settings/services/ServiceError.js",
1817 "id": "settings.service.error.message",
1818 "start": {
1819 "column": 16,
1820 "line": 22
1821 }
1822 }
1823 ],
1824 "path": "src/components/settings/services/ServiceError.json"
1825 },
1826 {
1827 "descriptors": [
1828 {
1829 "defaultMessage": "!!!Service is disabled",
1830 "end": {
1831 "column": 3,
1832 "line": 14
1833 },
1834 "file": "src/components/settings/services/ServiceItem.js",
1835 "id": "settings.services.tooltip.isDisabled",
1836 "start": {
1837 "column": 21,
1838 "line": 11
1839 }
1840 },
1841 {
1842 "defaultMessage": "!!!Notifications are disabled",
1843 "end": {
1844 "column": 3,
1845 "line": 18
1846 },
1847 "file": "src/components/settings/services/ServiceItem.js",
1848 "id": "settings.services.tooltip.notificationsDisabled",
1849 "start": {
1850 "column": 32,
1851 "line": 15
1852 }
1853 },
1854 {
1855 "defaultMessage": "!!!All sounds are muted",
1856 "end": {
1857 "column": 3,
1858 "line": 22
1859 },
1860 "file": "src/components/settings/services/ServiceItem.js",
1861 "id": "settings.services.tooltip.isMuted",
1862 "start": {
1863 "column": 18,
1864 "line": 19
1865 }
1866 }
1867 ],
1868 "path": "src/components/settings/services/ServiceItem.json"
1869 },
1870 {
1871 "descriptors": [
1872 {
1873 "defaultMessage": "!!!Your services",
1874 "end": {
1875 "column": 3,
1876 "line": 17
1877 },
1878 "file": "src/components/settings/services/ServicesDashboard.js",
1879 "id": "settings.services.headline",
1880 "start": {
1881 "column": 12,
1882 "line": 14
1883 }
1884 },
1885 {
1886 "defaultMessage": "!!!Search service",
1887 "end": {
1888 "column": 3,
1889 "line": 21
1890 },
1891 "file": "src/components/settings/services/ServicesDashboard.js",
1892 "id": "settings.searchService",
1893 "start": {
1894 "column": 17,
1895 "line": 18
1896 }
1897 },
1898 {
1899 "defaultMessage": "!!!You haven't added any services yet.",
1900 "end": {
1901 "column": 3,
1902 "line": 25
1903 },
1904 "file": "src/components/settings/services/ServicesDashboard.js",
1905 "id": "settings.services.noServicesAdded",
1906 "start": {
1907 "column": 19,
1908 "line": 22
1909 }
1910 },
1911 {
1912 "defaultMessage": "!!!Sorry, but no service matched your search term.",
1913 "end": {
1914 "column": 3,
1915 "line": 29
1916 },
1917 "file": "src/components/settings/services/ServicesDashboard.js",
1918 "id": "settings.recipes.nothingFound",
1919 "start": {
1920 "column": 18,
1921 "line": 26
1922 }
1923 },
1924 {
1925 "defaultMessage": "!!!Discover services",
1926 "end": {
1927 "column": 3,
1928 "line": 33
1929 },
1930 "file": "src/components/settings/services/ServicesDashboard.js",
1931 "id": "settings.services.discoverServices",
1932 "start": {
1933 "column": 20,
1934 "line": 30
1935 }
1936 },
1937 {
1938 "defaultMessage": "!!!Could not load your services",
1939 "end": {
1940 "column": 3,
1941 "line": 37
1942 },
1943 "file": "src/components/settings/services/ServicesDashboard.js",
1944 "id": "settings.services.servicesRequestFailed",
1945 "start": {
1946 "column": 25,
1947 "line": 34
1948 }
1949 },
1950 {
1951 "defaultMessage": "!!!Try again",
1952 "end": {
1953 "column": 3,
1954 "line": 41
1955 },
1956 "file": "src/components/settings/services/ServicesDashboard.js",
1957 "id": "settings.account.tryReloadServices",
1958 "start": {
1959 "column": 21,
1960 "line": 38
1961 }
1962 },
1963 {
1964 "defaultMessage": "!!!Your changes have been saved",
1965 "end": {
1966 "column": 3,
1967 "line": 45
1968 },
1969 "file": "src/components/settings/services/ServicesDashboard.js",
1970 "id": "settings.services.updatedInfo",
1971 "start": {
1972 "column": 15,
1973 "line": 42
1974 }
1975 },
1976 {
1977 "defaultMessage": "!!!Service has been deleted",
1978 "end": {
1979 "column": 3,
1980 "line": 49
1981 },
1982 "file": "src/components/settings/services/ServicesDashboard.js",
1983 "id": "settings.services.deletedInfo",
1984 "start": {
1985 "column": 15,
1986 "line": 46
1987 }
1988 }
1989 ],
1990 "path": "src/components/settings/services/ServicesDashboard.json"
1991 },
1992 {
1993 "descriptors": [
1994 {
1995 "defaultMessage": "!!!Settings",
1996 "end": {
1997 "column": 3,
1998 "line": 19
1999 },
2000 "file": "src/components/settings/settings/EditSettingsForm.js",
2001 "id": "settings.app.headline",
2002 "start": {
2003 "column": 12,
2004 "line": 16
2005 }
2006 },
2007 {
2008 "defaultMessage": "!!!General",
2009 "end": {
2010 "column": 3,
2011 "line": 23
2012 },
2013 "file": "src/components/settings/settings/EditSettingsForm.js",
2014 "id": "settings.app.headlineGeneral",
2015 "start": {
2016 "column": 19,
2017 "line": 20
2018 }
2019 },
2020 {
2021 "defaultMessage": "!!!Language",
2022 "end": {
2023 "column": 3,
2024 "line": 27
2025 },
2026 "file": "src/components/settings/settings/EditSettingsForm.js",
2027 "id": "settings.app.headlineLanguage",
2028 "start": {
2029 "column": 20,
2030 "line": 24
2031 }
2032 },
2033 {
2034 "defaultMessage": "!!!Updates",
2035 "end": {
2036 "column": 3,
2037 "line": 31
2038 },
2039 "file": "src/components/settings/settings/EditSettingsForm.js",
2040 "id": "settings.app.headlineUpdates",
2041 "start": {
2042 "column": 19,
2043 "line": 28
2044 }
2045 },
2046 {
2047 "defaultMessage": "!!!Appearance",
2048 "end": {
2049 "column": 3,
2050 "line": 35
2051 },
2052 "file": "src/components/settings/settings/EditSettingsForm.js",
2053 "id": "settings.app.headlineAppearance",
2054 "start": {
2055 "column": 22,
2056 "line": 32
2057 }
2058 },
2059 {
2060 "defaultMessage": "!!!Advanced",
2061 "end": {
2062 "column": 3,
2063 "line": 39
2064 },
2065 "file": "src/components/settings/settings/EditSettingsForm.js",
2066 "id": "settings.app.headlineAdvanced",
2067 "start": {
2068 "column": 20,
2069 "line": 36
2070 }
2071 },
2072 {
2073 "defaultMessage": "!!!Help us to translate Franz into your language.",
2074 "end": {
2075 "column": 3,
2076 "line": 43
2077 },
2078 "file": "src/components/settings/settings/EditSettingsForm.js",
2079 "id": "settings.app.translationHelp",
2080 "start": {
2081 "column": 19,
2082 "line": 40
2083 }
2084 },
2085 {
2086 "defaultMessage": "!!!Cache",
2087 "end": {
2088 "column": 3,
2089 "line": 47
2090 },
2091 "file": "src/components/settings/settings/EditSettingsForm.js",
2092 "id": "settings.app.subheadlineCache",
2093 "start": {
2094 "column": 20,
2095 "line": 44
2096 }
2097 },
2098 {
2099 "defaultMessage": "!!!Franz cache is currently using {size} of disk space.",
2100 "end": {
2101 "column": 3,
2102 "line": 51
2103 },
2104 "file": "src/components/settings/settings/EditSettingsForm.js",
2105 "id": "settings.app.cacheInfo",
2106 "start": {
2107 "column": 13,
2108 "line": 48
2109 }
2110 },
2111 {
2112 "defaultMessage": "!!!Clear cache",
2113 "end": {
2114 "column": 3,
2115 "line": 55
2116 },
2117 "file": "src/components/settings/settings/EditSettingsForm.js",
2118 "id": "settings.app.buttonClearAllCache",
2119 "start": {
2120 "column": 23,
2121 "line": 52
2122 }
2123 },
2124 {
2125 "defaultMessage": "!!!Check for updates",
2126 "end": {
2127 "column": 3,
2128 "line": 59
2129 },
2130 "file": "src/components/settings/settings/EditSettingsForm.js",
2131 "id": "settings.app.buttonSearchForUpdate",
2132 "start": {
2133 "column": 25,
2134 "line": 56
2135 }
2136 },
2137 {
2138 "defaultMessage": "!!!Restart & install update",
2139 "end": {
2140 "column": 3,
2141 "line": 63
2142 },
2143 "file": "src/components/settings/settings/EditSettingsForm.js",
2144 "id": "settings.app.buttonInstallUpdate",
2145 "start": {
2146 "column": 23,
2147 "line": 60
2148 }
2149 },
2150 {
2151 "defaultMessage": "!!!Is searching for update",
2152 "end": {
2153 "column": 3,
2154 "line": 67
2155 },
2156 "file": "src/components/settings/settings/EditSettingsForm.js",
2157 "id": "settings.app.updateStatusSearching",
2158 "start": {
2159 "column": 25,
2160 "line": 64
2161 }
2162 },
2163 {
2164 "defaultMessage": "!!!Update available, downloading...",
2165 "end": {
2166 "column": 3,
2167 "line": 71
2168 },
2169 "file": "src/components/settings/settings/EditSettingsForm.js",
2170 "id": "settings.app.updateStatusAvailable",
2171 "start": {
2172 "column": 25,
2173 "line": 68
2174 }
2175 },
2176 {
2177 "defaultMessage": "!!!You are using the latest version of Franz",
2178 "end": {
2179 "column": 3,
2180 "line": 75
2181 },
2182 "file": "src/components/settings/settings/EditSettingsForm.js",
2183 "id": "settings.app.updateStatusUpToDate",
2184 "start": {
2185 "column": 24,
2186 "line": 72
2187 }
2188 },
2189 {
2190 "defaultMessage": "!!!Current version:",
2191 "end": {
2192 "column": 3,
2193 "line": 79
2194 },
2195 "file": "src/components/settings/settings/EditSettingsForm.js",
2196 "id": "settings.app.currentVersion",
2197 "start": {
2198 "column": 18,
2199 "line": 76
2200 }
2201 },
2202 {
2203 "defaultMessage": "!!!Changes require restart",
2204 "end": {
2205 "column": 3,
2206 "line": 83
2207 },
2208 "file": "src/components/settings/settings/EditSettingsForm.js",
2209 "id": "settings.app.restartRequired",
2210 "start": {
2211 "column": 29,
2212 "line": 80
2213 }
2214 }
2215 ],
2216 "path": "src/components/settings/settings/EditSettingsForm.json"
2217 },
2218 {
2219 "descriptors": [
2220 {
2221 "defaultMessage": "!!!Account",
2222 "end": {
2223 "column": 3,
2224 "line": 18
2225 },
2226 "file": "src/components/settings/user/EditUserForm.js",
2227 "id": "settings.account.headline",
2228 "start": {
2229 "column": 12,
2230 "line": 15
2231 }
2232 },
2233 {
2234 "defaultMessage": "!!!Update Profile",
2235 "end": {
2236 "column": 3,
2237 "line": 22
2238 },
2239 "file": "src/components/settings/user/EditUserForm.js",
2240 "id": "settings.account.headlineProfile",
2241 "start": {
2242 "column": 19,
2243 "line": 19
2244 }
2245 },
2246 {
2247 "defaultMessage": "!!!Account Information",
2248 "end": {
2249 "column": 3,
2250 "line": 26
2251 },
2252 "file": "src/components/settings/user/EditUserForm.js",
2253 "id": "settings.account.headlineAccount",
2254 "start": {
2255 "column": 19,
2256 "line": 23
2257 }
2258 },
2259 {
2260 "defaultMessage": "!!!Change Password",
2261 "end": {
2262 "column": 3,
2263 "line": 30
2264 },
2265 "file": "src/components/settings/user/EditUserForm.js",
2266 "id": "settings.account.headlinePassword",
2267 "start": {
2268 "column": 20,
2269 "line": 27
2270 }
2271 },
2272 {
2273 "defaultMessage": "!!!Your changes have been saved",
2274 "end": {
2275 "column": 3,
2276 "line": 34
2277 },
2278 "file": "src/components/settings/user/EditUserForm.js",
2279 "id": "settings.account.successInfo",
2280 "start": {
2281 "column": 15,
2282 "line": 31
2283 }
2284 },
2285 {
2286 "defaultMessage": "!!!Update profile",
2287 "end": {
2288 "column": 3,
2289 "line": 38
2290 },
2291 "file": "src/components/settings/user/EditUserForm.js",
2292 "id": "settings.account.buttonSave",
2293 "start": {
2294 "column": 14,
2295 "line": 35
2296 }
2297 }
2298 ],
2299 "path": "src/components/settings/user/EditUserForm.json"
2300 },
2301 {
2302 "descriptors": [
2303 {
2304 "defaultMessage": "!!!Support the development of Franz",
2305 "end": {
2306 "column": 3,
2307 "line": 17
2308 },
2309 "file": "src/components/subscription/SubscriptionForm.js",
2310 "id": "subscription.submit.label",
2311 "start": {
2312 "column": 21,
2313 "line": 14
2314 }
2315 },
2316 {
2317 "defaultMessage": "!!!Could not initialize payment form",
2318 "end": {
2319 "column": 3,
2320 "line": 21
2321 },
2322 "file": "src/components/subscription/SubscriptionForm.js",
2323 "id": "subscription.paymentSessionError",
2324 "start": {
2325 "column": 23,
2326 "line": 18
2327 }
2328 },
2329 {
2330 "defaultMessage": "!!!free",
2331 "end": {
2332 "column": 3,
2333 "line": 25
2334 },
2335 "file": "src/components/subscription/SubscriptionForm.js",
2336 "id": "subscription.type.free",
2337 "start": {
2338 "column": 12,
2339 "line": 22
2340 }
2341 },
2342 {
2343 "defaultMessage": "!!!month",
2344 "end": {
2345 "column": 3,
2346 "line": 29
2347 },
2348 "file": "src/components/subscription/SubscriptionForm.js",
2349 "id": "subscription.type.month",
2350 "start": {
2351 "column": 15,
2352 "line": 26
2353 }
2354 },
2355 {
2356 "defaultMessage": "!!!year",
2357 "end": {
2358 "column": 3,
2359 "line": 33
2360 },
2361 "file": "src/components/subscription/SubscriptionForm.js",
2362 "id": "subscription.type.year",
2363 "start": {
2364 "column": 14,
2365 "line": 30
2366 }
2367 },
2368 {
2369 "defaultMessage": "!!!The Franz Premium Supporter Account includes",
2370 "end": {
2371 "column": 3,
2372 "line": 37
2373 },
2374 "file": "src/components/subscription/SubscriptionForm.js",
2375 "id": "subscription.includedFeatures",
2376 "start": {
2377 "column": 20,
2378 "line": 34
2379 }
2380 },
2381 {
2382 "defaultMessage": "!!!Add on-premise/hosted services like Mattermost",
2383 "end": {
2384 "column": 3,
2385 "line": 41
2386 },
2387 "file": "src/components/subscription/SubscriptionForm.js",
2388 "id": "subscription.features.onpremise.mattermost",
2389 "start": {
2390 "column": 13,
2391 "line": 38
2392 }
2393 },
2394 {
2395 "defaultMessage": "!!!No app delays & nagging to upgrade license",
2396 "end": {
2397 "column": 3,
2398 "line": 45
2399 },
2400 "file": "src/components/subscription/SubscriptionForm.js",
2401 "id": "subscription.features.noInterruptions",
2402 "start": {
2403 "column": 19,
2404 "line": 42
2405 }
2406 },
2407 {
2408 "defaultMessage": "!!!Proxy support for services",
2409 "end": {
2410 "column": 3,
2411 "line": 49
2412 },
2413 "file": "src/components/subscription/SubscriptionForm.js",
2414 "id": "subscription.features.proxy",
2415 "start": {
2416 "column": 9,
2417 "line": 46
2418 }
2419 },
2420 {
2421 "defaultMessage": "!!!Support for Spellchecker",
2422 "end": {
2423 "column": 3,
2424 "line": 53
2425 },
2426 "file": "src/components/subscription/SubscriptionForm.js",
2427 "id": "subscription.features.spellchecker",
2428 "start": {
2429 "column": 16,
2430 "line": 50
2431 }
2432 },
2433 {
2434 "defaultMessage": "!!!No ads, ever!",
2435 "end": {
2436 "column": 3,
2437 "line": 57
2438 },
2439 "file": "src/components/subscription/SubscriptionForm.js",
2440 "id": "subscription.features.ads",
2441 "start": {
2442 "column": 7,
2443 "line": 54
2444 }
2445 },
2446 {
2447 "defaultMessage": "!!!coming soon",
2448 "end": {
2449 "column": 3,
2450 "line": 61
2451 },
2452 "file": "src/components/subscription/SubscriptionForm.js",
2453 "id": "subscription.features.comingSoon",
2454 "start": {
2455 "column": 14,
2456 "line": 58
2457 }
2458 },
2459 {
2460 "defaultMessage": "!!!EU residents: local sales tax may apply",
2461 "end": {
2462 "column": 3,
2463 "line": 65
2464 },
2465 "file": "src/components/subscription/SubscriptionForm.js",
2466 "id": "subscription.euTaxInfo",
2467 "start": {
2468 "column": 13,
2469 "line": 62
2470 }
2471 }
2472 ],
2473 "path": "src/components/subscription/SubscriptionForm.json"
2474 },
2475 {
2476 "descriptors": [
2477 {
2478 "defaultMessage": "!!!Cancel",
2479 "end": {
2480 "column": 3,
2481 "line": 14
2482 },
2483 "file": "src/components/subscription/SubscriptionPopup.js",
2484 "id": "subscriptionPopup.buttonCancel",
2485 "start": {
2486 "column": 16,
2487 "line": 11
2488 }
2489 },
2490 {
2491 "defaultMessage": "!!!Done",
2492 "end": {
2493 "column": 3,
2494 "line": 18
2495 },
2496 "file": "src/components/subscription/SubscriptionPopup.js",
2497 "id": "subscriptionPopup.buttonDone",
2498 "start": {
2499 "column": 14,
2500 "line": 15
2501 }
2502 }
2503 ],
2504 "path": "src/components/subscription/SubscriptionPopup.json"
2505 },
2506 {
2507 "descriptors": [
2508 {
2509 "defaultMessage": "!!!Upgrade account",
2510 "end": {
2511 "column": 3,
2512 "line": 17
2513 },
2514 "file": "src/components/ui/PremiumFeatureContainer/index.js",
2515 "id": "premiumFeature.button.upgradeAccount",
2516 "start": {
2517 "column": 10,
2518 "line": 14
2519 }
2520 }
2521 ],
2522 "path": "src/components/ui/PremiumFeatureContainer/index.json"
2523 },
2524 {
2525 "descriptors": [
2526 {
2527 "defaultMessage": "!!!Something went wrong.",
2528 "end": {
2529 "column": 3,
2530 "line": 14
2531 },
2532 "file": "src/components/util/ErrorBoundary/index.js",
2533 "id": "app.errorHandler.headline",
2534 "start": {
2535 "column": 12,
2536 "line": 11
2537 }
2538 },
2539 {
2540 "defaultMessage": "!!!Reload",
2541 "end": {
2542 "column": 3,
2543 "line": 18
2544 },
2545 "file": "src/components/util/ErrorBoundary/index.js",
2546 "id": "app.errorHandler.action",
2547 "start": {
2548 "column": 10,
2549 "line": 15
2550 }
2551 }
2552 ],
2553 "path": "src/components/util/ErrorBoundary/index.json"
2554 },
2555 {
2556 "descriptors": [
2557 {
2558 "defaultMessage": "!!!Name",
2559 "end": {
2560 "column": 3,
2561 "line": 31
2562 },
2563 "file": "src/containers/settings/EditServiceScreen.js",
2564 "id": "settings.service.form.name",
2565 "start": {
2566 "column": 8,
2567 "line": 28
2568 }
2569 },
2570 {
2571 "defaultMessage": "!!!Enable service",
2572 "end": {
2573 "column": 3,
2574 "line": 35
2575 },
2576 "file": "src/containers/settings/EditServiceScreen.js",
2577 "id": "settings.service.form.enableService",
2578 "start": {
2579 "column": 17,
2580 "line": 32
2581 }
2582 },
2583 {
2584 "defaultMessage": "!!!Enable Notifications",
2585 "end": {
2586 "column": 3,
2587 "line": 39
2588 },
2589 "file": "src/containers/settings/EditServiceScreen.js",
2590 "id": "settings.service.form.enableNotification",
2591 "start": {
2592 "column": 22,
2593 "line": 36
2594 }
2595 },
2596 {
2597 "defaultMessage": "!!!Show unread message badges",
2598 "end": {
2599 "column": 3,
2600 "line": 43
2601 },
2602 "file": "src/containers/settings/EditServiceScreen.js",
2603 "id": "settings.service.form.enableBadge",
2604 "start": {
2605 "column": 15,
2606 "line": 40
2607 }
2608 },
2609 {
2610 "defaultMessage": "!!!Enable audio",
2611 "end": {
2612 "column": 3,
2613 "line": 47
2614 },
2615 "file": "src/containers/settings/EditServiceScreen.js",
2616 "id": "settings.service.form.enableAudio",
2617 "start": {
2618 "column": 15,
2619 "line": 44
2620 }
2621 },
2622 {
2623 "defaultMessage": "!!!Team",
2624 "end": {
2625 "column": 3,
2626 "line": 51
2627 },
2628 "file": "src/containers/settings/EditServiceScreen.js",
2629 "id": "settings.service.form.team",
2630 "start": {
2631 "column": 8,
2632 "line": 48
2633 }
2634 },
2635 {
2636 "defaultMessage": "!!!Custom server",
2637 "end": {
2638 "column": 3,
2639 "line": 55
2640 },
2641 "file": "src/containers/settings/EditServiceScreen.js",
2642 "id": "settings.service.form.customUrl",
2643 "start": {
2644 "column": 13,
2645 "line": 52
2646 }
2647 },
2648 {
2649 "defaultMessage": "!!!Show message badge for all new messages",
2650 "end": {
2651 "column": 3,
2652 "line": 59
2653 },
2654 "file": "src/containers/settings/EditServiceScreen.js",
2655 "id": "settings.service.form.indirectMessages",
2656 "start": {
2657 "column": 20,
2658 "line": 56
2659 }
2660 },
2661 {
2662 "defaultMessage": "!!!Custom icon",
2663 "end": {
2664 "column": 3,
2665 "line": 63
2666 },
2667 "file": "src/containers/settings/EditServiceScreen.js",
2668 "id": "settings.service.form.icon",
2669 "start": {
2670 "column": 8,
2671 "line": 60
2672 }
2673 },
2674 {
2675 "defaultMessage": "!!!Enable Dark Mode",
2676 "end": {
2677 "column": 3,
2678 "line": 67
2679 },
2680 "file": "src/containers/settings/EditServiceScreen.js",
2681 "id": "settings.service.form.enableDarkMode",
2682 "start": {
2683 "column": 18,
2684 "line": 64
2685 }
2686 },
2687 {
2688 "defaultMessage": "!!!Use Proxy",
2689 "end": {
2690 "column": 3,
2691 "line": 71
2692 },
2693 "file": "src/containers/settings/EditServiceScreen.js",
2694 "id": "settings.service.form.proxy.isEnabled",
2695 "start": {
2696 "column": 15,
2697 "line": 68
2698 }
2699 },
2700 {
2701 "defaultMessage": "!!!Proxy Host/IP",
2702 "end": {
2703 "column": 3,
2704 "line": 75
2705 },
2706 "file": "src/containers/settings/EditServiceScreen.js",
2707 "id": "settings.service.form.proxy.host",
2708 "start": {
2709 "column": 13,
2710 "line": 72
2711 }
2712 },
2713 {
2714 "defaultMessage": "!!!Port",
2715 "end": {
2716 "column": 3,
2717 "line": 79
2718 },
2719 "file": "src/containers/settings/EditServiceScreen.js",
2720 "id": "settings.service.form.proxy.port",
2721 "start": {
2722 "column": 13,
2723 "line": 76
2724 }
2725 },
2726 {
2727 "defaultMessage": "!!!User",
2728 "end": {
2729 "column": 3,
2730 "line": 83
2731 },
2732 "file": "src/containers/settings/EditServiceScreen.js",
2733 "id": "settings.service.form.proxy.user",
2734 "start": {
2735 "column": 13,
2736 "line": 80
2737 }
2738 },
2739 {
2740 "defaultMessage": "!!!Password",
2741 "end": {
2742 "column": 3,
2743 "line": 87
2744 },
2745 "file": "src/containers/settings/EditServiceScreen.js",
2746 "id": "settings.service.form.proxy.password",
2747 "start": {
2748 "column": 17,
2749 "line": 84
2750 }
2751 }
2752 ],
2753 "path": "src/containers/settings/EditServiceScreen.json"
2754 },
2755 {
2756 "descriptors": [
2757 {
2758 "defaultMessage": "!!!Launch Franz on start",
2759 "end": {
2760 "column": 3,
2761 "line": 25
2762 },
2763 "file": "src/containers/settings/EditSettingsScreen.js",
2764 "id": "settings.app.form.autoLaunchOnStart",
2765 "start": {
2766 "column": 21,
2767 "line": 22
2768 }
2769 },
2770 {
2771 "defaultMessage": "!!!Open in background",
2772 "end": {
2773 "column": 3,
2774 "line": 29
2775 },
2776 "file": "src/containers/settings/EditSettingsScreen.js",
2777 "id": "settings.app.form.autoLaunchInBackground",
2778 "start": {
2779 "column": 26,
2780 "line": 26
2781 }
2782 },
2783 {
2784 "defaultMessage": "!!!Keep Franz in background when closing the window",
2785 "end": {
2786 "column": 3,
2787 "line": 33
2788 },
2789 "file": "src/containers/settings/EditSettingsScreen.js",
2790 "id": "settings.app.form.runInBackground",
2791 "start": {
2792 "column": 19,
2793 "line": 30
2794 }
2795 },
2796 {
2797 "defaultMessage": "!!!Show Franz in system tray",
2798 "end": {
2799 "column": 3,
2800 "line": 37
2801 },
2802 "file": "src/containers/settings/EditSettingsScreen.js",
2803 "id": "settings.app.form.enableSystemTray",
2804 "start": {
2805 "column": 20,
2806 "line": 34
2807 }
2808 },
2809 {
2810 "defaultMessage": "!!!Minimize Franz to system tray",
2811 "end": {
2812 "column": 3,
2813 "line": 41
2814 },
2815 "file": "src/containers/settings/EditSettingsScreen.js",
2816 "id": "settings.app.form.minimizeToSystemTray",
2817 "start": {
2818 "column": 24,
2819 "line": 38
2820 }
2821 },
2822 {
2823 "defaultMessage": "!!!Language",
2824 "end": {
2825 "column": 3,
2826 "line": 45
2827 },
2828 "file": "src/containers/settings/EditSettingsScreen.js",
2829 "id": "settings.app.form.language",
2830 "start": {
2831 "column": 12,
2832 "line": 42
2833 }
2834 },
2835 {
2836 "defaultMessage": "!!!Dark Mode",
2837 "end": {
2838 "column": 3,
2839 "line": 49
2840 },
2841 "file": "src/containers/settings/EditSettingsScreen.js",
2842 "id": "settings.app.form.darkMode",
2843 "start": {
2844 "column": 12,
2845 "line": 46
2846 }
2847 },
2848 {
2849 "defaultMessage": "!!!Display disabled services tabs",
2850 "end": {
2851 "column": 3,
2852 "line": 53
2853 },
2854 "file": "src/containers/settings/EditSettingsScreen.js",
2855 "id": "settings.app.form.showDisabledServices",
2856 "start": {
2857 "column": 24,
2858 "line": 50
2859 }
2860 },
2861 {
2862 "defaultMessage": "!!!Show unread message badge when notifications are disabled",
2863 "end": {
2864 "column": 3,
2865 "line": 57
2866 },
2867 "file": "src/containers/settings/EditSettingsScreen.js",
2868 "id": "settings.app.form.showMessagesBadgesWhenMuted",
2869 "start": {
2870 "column": 29,
2871 "line": 54
2872 }
2873 },
2874 {
2875 "defaultMessage": "!!!Enable spell checking",
2876 "end": {
2877 "column": 3,
2878 "line": 61
2879 },
2880 "file": "src/containers/settings/EditSettingsScreen.js",
2881 "id": "settings.app.form.enableSpellchecking",
2882 "start": {
2883 "column": 23,
2884 "line": 58
2885 }
2886 },
2887 {
2888 "defaultMessage": "!!!Enable GPU Acceleration",
2889 "end": {
2890 "column": 3,
2891 "line": 65
2892 },
2893 "file": "src/containers/settings/EditSettingsScreen.js",
2894 "id": "settings.app.form.enableGPUAcceleration",
2895 "start": {
2896 "column": 25,
2897 "line": 62
2898 }
2899 },
2900 {
2901 "defaultMessage": "!!!Include beta versions",
2902 "end": {
2903 "column": 3,
2904 "line": 69
2905 },
2906 "file": "src/containers/settings/EditSettingsScreen.js",
2907 "id": "settings.app.form.beta",
2908 "start": {
2909 "column": 8,
2910 "line": 66
2911 }
2912 }
2913 ],
2914 "path": "src/containers/settings/EditSettingsScreen.json"
2915 },
2916 {
2917 "descriptors": [
2918 {
2919 "defaultMessage": "!!!Firstname",
2920 "end": {
2921 "column": 3,
2922 "line": 17
2923 },
2924 "file": "src/containers/settings/EditUserScreen.js",
2925 "id": "settings.user.form.firstname",
2926 "start": {
2927 "column": 13,
2928 "line": 14
2929 }
2930 },
2931 {
2932 "defaultMessage": "!!!Lastname",
2933 "end": {
2934 "column": 3,
2935 "line": 21
2936 },
2937 "file": "src/containers/settings/EditUserScreen.js",
2938 "id": "settings.user.form.lastname",
2939 "start": {
2940 "column": 12,
2941 "line": 18
2942 }
2943 },
2944 {
2945 "defaultMessage": "!!!Email",
2946 "end": {
2947 "column": 3,
2948 "line": 25
2949 },
2950 "file": "src/containers/settings/EditUserScreen.js",
2951 "id": "settings.user.form.email",
2952 "start": {
2953 "column": 9,
2954 "line": 22
2955 }
2956 },
2957 {
2958 "defaultMessage": "!!!Account type",
2959 "end": {
2960 "column": 3,
2961 "line": 29
2962 },
2963 "file": "src/containers/settings/EditUserScreen.js",
2964 "id": "settings.user.form.accountType.label",
2965 "start": {
2966 "column": 20,
2967 "line": 26
2968 }
2969 },
2970 {
2971 "defaultMessage": "!!!Individual",
2972 "end": {
2973 "column": 3,
2974 "line": 33
2975 },
2976 "file": "src/containers/settings/EditUserScreen.js",
2977 "id": "settings.user.form.accountType.individual",
2978 "start": {
2979 "column": 25,
2980 "line": 30
2981 }
2982 },
2983 {
2984 "defaultMessage": "!!!Non-Profit",
2985 "end": {
2986 "column": 3,
2987 "line": 37
2988 },
2989 "file": "src/containers/settings/EditUserScreen.js",
2990 "id": "settings.user.form.accountType.non-profit",
2991 "start": {
2992 "column": 24,
2993 "line": 34
2994 }
2995 },
2996 {
2997 "defaultMessage": "!!!Company",
2998 "end": {
2999 "column": 3,
3000 "line": 41
3001 },
3002 "file": "src/containers/settings/EditUserScreen.js",
3003 "id": "settings.user.form.accountType.company",
3004 "start": {
3005 "column": 22,
3006 "line": 38
3007 }
3008 },
3009 {
3010 "defaultMessage": "!!!Current password",
3011 "end": {
3012 "column": 3,
3013 "line": 45
3014 },
3015 "file": "src/containers/settings/EditUserScreen.js",
3016 "id": "settings.user.form.currentPassword",
3017 "start": {
3018 "column": 19,
3019 "line": 42
3020 }
3021 },
3022 {
3023 "defaultMessage": "!!!New password",
3024 "end": {
3025 "column": 3,
3026 "line": 49
3027 },
3028 "file": "src/containers/settings/EditUserScreen.js",
3029 "id": "settings.user.form.newPassword",
3030 "start": {
3031 "column": 15,
3032 "line": 46
3033 }
3034 }
3035 ],
3036 "path": "src/containers/settings/EditUserScreen.json"
3037 },
3038 {
3039 "descriptors": [
3040 {
3041 "defaultMessage": "!!!Please purchase license to skip waiting",
3042 "end": {
3043 "column": 3,
3044 "line": 18
3045 },
3046 "file": "src/features/delayApp/Component.js",
3047 "id": "feature.delayApp.headline",
3048 "start": {
3049 "column": 12,
3050 "line": 15
3051 }
3052 },
3053 {
3054 "defaultMessage": "!!!Get a Franz Supporter License",
3055 "end": {
3056 "column": 3,
3057 "line": 22
3058 },
3059 "file": "src/features/delayApp/Component.js",
3060 "id": "feature.delayApp.action",
3061 "start": {
3062 "column": 10,
3063 "line": 19
3064 }
3065 },
3066 {
3067 "defaultMessage": "!!!Franz will continue in {seconds} seconds.",
3068 "end": {
3069 "column": 3,
3070 "line": 26
3071 },
3072 "file": "src/features/delayApp/Component.js",
3073 "id": "feature.delayApp.text",
3074 "start": {
3075 "column": 8,
3076 "line": 23
3077 }
3078 }
3079 ],
3080 "path": "src/features/delayApp/Component.json"
3081 },
3082 {
3083 "descriptors": [
3084 {
3085 "defaultMessage": "!!!Franz is better together!",
3086 "end": {
3087 "column": 3,
3088 "line": 18
3089 },
3090 "file": "src/features/shareFranz/Component.js",
3091 "id": "feature.shareFranz.headline",
3092 "start": {
3093 "column": 12,
3094 "line": 15
3095 }
3096 },
3097 {
3098 "defaultMessage": "!!!Tell your friends and colleagues how awesome Franz is and help us to spread the word.",
3099 "end": {
3100 "column": 3,
3101 "line": 22
3102 },
3103 "file": "src/features/shareFranz/Component.js",
3104 "id": "feature.shareFranz.text",
3105 "start": {
3106 "column": 8,
3107 "line": 19
3108 }
3109 },
3110 {
3111 "defaultMessage": "!!!Share as email",
3112 "end": {
3113 "column": 3,
3114 "line": 26
3115 },
3116 "file": "src/features/shareFranz/Component.js",
3117 "id": "feature.shareFranz.action.email",
3118 "start": {
3119 "column": 16,
3120 "line": 23
3121 }
3122 },
3123 {
3124 "defaultMessage": "!!!Share on Facebook",
3125 "end": {
3126 "column": 3,
3127 "line": 30
3128 },
3129 "file": "src/features/shareFranz/Component.js",
3130 "id": "feature.shareFranz.action.facebook",
3131 "start": {
3132 "column": 19,
3133 "line": 27
3134 }
3135 },
3136 {
3137 "defaultMessage": "!!!Share on Twitter",
3138 "end": {
3139 "column": 3,
3140 "line": 34
3141 },
3142 "file": "src/features/shareFranz/Component.js",
3143 "id": "feature.shareFranz.action.twitter",
3144 "start": {
3145 "column": 18,
3146 "line": 31
3147 }
3148 },
3149 {
3150 "defaultMessage": "!!! I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com",
3151 "end": {
3152 "column": 3,
3153 "line": 38
3154 },
3155 "file": "src/features/shareFranz/Component.js",
3156 "id": "feature.shareFranz.shareText.email",
3157 "start": {
3158 "column": 18,
3159 "line": 35
3160 }
3161 },
3162 {
3163 "defaultMessage": "!!! I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com /cc @MeetFranz",
3164 "end": {
3165 "column": 3,
3166 "line": 42
3167 },
3168 "file": "src/features/shareFranz/Component.js",
3169 "id": "feature.shareFranz.shareText.twitter",
3170 "start": {
3171 "column": 20,
3172 "line": 39
3173 }
3174 }
3175 ],
3176 "path": "src/features/shareFranz/Component.json"
3177 },
3178 {
3179 "descriptors": [
3180 {
3181 "defaultMessage": "!!!Field is required",
3182 "end": {
3183 "column": 3,
3184 "line": 7
3185 },
3186 "file": "src/helpers/validation-helpers.js",
3187 "id": "validation.required",
3188 "start": {
3189 "column": 12,
3190 "line": 4
3191 }
3192 },
3193 {
3194 "defaultMessage": "!!!Email not valid",
3195 "end": {
3196 "column": 3,
3197 "line": 11
3198 },
3199 "file": "src/helpers/validation-helpers.js",
3200 "id": "validation.email",
3201 "start": {
3202 "column": 9,
3203 "line": 8
3204 }
3205 },
3206 {
3207 "defaultMessage": "!!!Not a valid URL",
3208 "end": {
3209 "column": 3,
3210 "line": 15
3211 },
3212 "file": "src/helpers/validation-helpers.js",
3213 "id": "validation.url",
3214 "start": {
3215 "column": 7,
3216 "line": 12
3217 }
3218 },
3219 {
3220 "defaultMessage": "!!!Too few characters",
3221 "end": {
3222 "column": 3,
3223 "line": 19
3224 },
3225 "file": "src/helpers/validation-helpers.js",
3226 "id": "validation.minLength",
3227 "start": {
3228 "column": 13,
3229 "line": 16
3230 }
3231 },
3232 {
3233 "defaultMessage": "!!!At least one is required",
3234 "end": {
3235 "column": 3,
3236 "line": 23
3237 },
3238 "file": "src/helpers/validation-helpers.js",
3239 "id": "validation.oneRequired",
3240 "start": {
3241 "column": 15,
3242 "line": 20
3243 }
3244 }
3245 ],
3246 "path": "src/helpers/validation-helpers.json"
3247 },
3248 {
3249 "descriptors": [
3250 {
3251 "defaultMessage": "!!!Please upgrade your account to add a new service.",
3252 "end": {
3253 "column": 3,
3254 "line": 7
3255 },
3256 "file": "src/i18n/globalMessages.js",
3257 "id": "global.premium.upgradeAccount",
3258 "start": {
3259 "column": 18,
3260 "line": 4
3261 }
3262 },
3263 {
3264 "defaultMessage": "!!!Can't connect to Franz Online Services",
3265 "end": {
3266 "column": 3,
3267 "line": 11
3268 },
3269 "file": "src/i18n/globalMessages.js",
3270 "id": "global.api.unhealthy",
3271 "start": {
3272 "column": 16,
3273 "line": 8
3274 }
3275 },
3276 {
3277 "defaultMessage": "!!!You are not connected to the internet.",
3278 "end": {
3279 "column": 3,
3280 "line": 15
3281 },
3282 "file": "src/i18n/globalMessages.js",
3283 "id": "global.notConnectedToTheInternet",
3284 "start": {
3285 "column": 29,
3286 "line": 12
3287 }
3288 },
3289 {
3290 "defaultMessage": "!!!Spell checking language",
3291 "end": {
3292 "column": 3,
3293 "line": 19
3294 },
3295 "file": "src/i18n/globalMessages.js",
3296 "id": "global.spellchecking.language",
3297 "start": {
3298 "column": 24,
3299 "line": 16
3300 }
3301 },
3302 {
3303 "defaultMessage": "!!!Use System Default ({default})",
3304 "end": {
3305 "column": 3,
3306 "line": 23
3307 },
3308 "file": "src/i18n/globalMessages.js",
3309 "id": "global.spellchecker.useDefault",
3310 "start": {
3311 "column": 29,
3312 "line": 20
3313 }
3314 },
3315 {
3316 "defaultMessage": "!!!Detect language automatically",
3317 "end": {
3318 "column": 3,
3319 "line": 27
3320 },
3321 "file": "src/i18n/globalMessages.js",
3322 "id": "global.spellchecking.autodetect",
3323 "start": {
3324 "column": 34,
3325 "line": 24
3326 }
3327 },
3328 {
3329 "defaultMessage": "!!!Automatic",
3330 "end": {
3331 "column": 3,
3332 "line": 31
3333 },
3334 "file": "src/i18n/globalMessages.js",
3335 "id": "global.spellchecking.autodetect.short",
3336 "start": {
3337 "column": 39,
3338 "line": 28
3339 }
3340 }
3341 ],
3342 "path": "src/i18n/globalMessages.json"
3343 },
3344 {
3345 "descriptors": [
3346 {
3347 "defaultMessage": "!!!Edit",
3348 "end": {
3349 "column": 3,
3350 "line": 13
3351 },
3352 "file": "src/lib/Menu.js",
3353 "id": "menu.edit",
3354 "start": {
3355 "column": 8,
3356 "line": 10
3357 }
3358 },
3359 {
3360 "defaultMessage": "!!!Undo",
3361 "end": {
3362 "column": 3,
3363 "line": 17
3364 },
3365 "file": "src/lib/Menu.js",
3366 "id": "menu.edit.undo",
3367 "start": {
3368 "column": 8,
3369 "line": 14
3370 }
3371 },
3372 {
3373 "defaultMessage": "!!!Redo",
3374 "end": {
3375 "column": 3,
3376 "line": 21
3377 },
3378 "file": "src/lib/Menu.js",
3379 "id": "menu.edit.redo",
3380 "start": {
3381 "column": 8,
3382 "line": 18
3383 }
3384 },
3385 {
3386 "defaultMessage": "!!!Cut",
3387 "end": {
3388 "column": 3,
3389 "line": 25
3390 },
3391 "file": "src/lib/Menu.js",
3392 "id": "menu.edit.cut",
3393 "start": {
3394 "column": 7,
3395 "line": 22
3396 }
3397 },
3398 {
3399 "defaultMessage": "!!!Copy",
3400 "end": {
3401 "column": 3,
3402 "line": 29
3403 },
3404 "file": "src/lib/Menu.js",
3405 "id": "menu.edit.copy",
3406 "start": {
3407 "column": 8,
3408 "line": 26
3409 }
3410 },
3411 {
3412 "defaultMessage": "!!!Paste",
3413 "end": {
3414 "column": 3,
3415 "line": 33
3416 },
3417 "file": "src/lib/Menu.js",
3418 "id": "menu.edit.paste",
3419 "start": {
3420 "column": 9,
3421 "line": 30
3422 }
3423 },
3424 {
3425 "defaultMessage": "!!!Paste And Match Style",
3426 "end": {
3427 "column": 3,
3428 "line": 37
3429 },
3430 "file": "src/lib/Menu.js",
3431 "id": "menu.edit.pasteAndMatchStyle",
3432 "start": {
3433 "column": 22,
3434 "line": 34
3435 }
3436 },
3437 {
3438 "defaultMessage": "!!!Delete",
3439 "end": {
3440 "column": 3,
3441 "line": 41
3442 },
3443 "file": "src/lib/Menu.js",
3444 "id": "menu.edit.delete",
3445 "start": {
3446 "column": 10,
3447 "line": 38
3448 }
3449 },
3450 {
3451 "defaultMessage": "!!!Select All",
3452 "end": {
3453 "column": 3,
3454 "line": 45
3455 },
3456 "file": "src/lib/Menu.js",
3457 "id": "menu.edit.selectAll",
3458 "start": {
3459 "column": 13,
3460 "line": 42
3461 }
3462 },
3463 {
3464 "defaultMessage": "!!!Speech",
3465 "end": {
3466 "column": 3,
3467 "line": 49
3468 },
3469 "file": "src/lib/Menu.js",
3470 "id": "menu.edit.speech",
3471 "start": {
3472 "column": 10,
3473 "line": 46
3474 }
3475 },
3476 {
3477 "defaultMessage": "!!!Start Speaking",
3478 "end": {
3479 "column": 3,
3480 "line": 53
3481 },
3482 "file": "src/lib/Menu.js",
3483 "id": "menu.edit.startSpeaking",
3484 "start": {
3485 "column": 17,
3486 "line": 50
3487 }
3488 },
3489 {
3490 "defaultMessage": "!!!Stop Speaking",
3491 "end": {
3492 "column": 3,
3493 "line": 57
3494 },
3495 "file": "src/lib/Menu.js",
3496 "id": "menu.edit.stopSpeaking",
3497 "start": {
3498 "column": 16,
3499 "line": 54
3500 }
3501 },
3502 {
3503 "defaultMessage": "!!!Start Dictation",
3504 "end": {
3505 "column": 3,
3506 "line": 61
3507 },
3508 "file": "src/lib/Menu.js",
3509 "id": "menu.edit.startDictation",
3510 "start": {
3511 "column": 18,
3512 "line": 58
3513 }
3514 },
3515 {
3516 "defaultMessage": "!!!Emoji & Symbols",
3517 "end": {
3518 "column": 3,
3519 "line": 65
3520 },
3521 "file": "src/lib/Menu.js",
3522 "id": "menu.edit.emojiSymbols",
3523 "start": {
3524 "column": 16,
3525 "line": 62
3526 }
3527 },
3528 {
3529 "defaultMessage": "!!!Actual Size",
3530 "end": {
3531 "column": 3,
3532 "line": 69
3533 },
3534 "file": "src/lib/Menu.js",
3535 "id": "menu.view.resetZoom",
3536 "start": {
3537 "column": 13,
3538 "line": 66
3539 }
3540 },
3541 {
3542 "defaultMessage": "!!!Zoom In",
3543 "end": {
3544 "column": 3,
3545 "line": 73
3546 },
3547 "file": "src/lib/Menu.js",
3548 "id": "menu.view.zoomIn",
3549 "start": {
3550 "column": 10,
3551 "line": 70
3552 }
3553 },
3554 {
3555 "defaultMessage": "!!!Zoom Out",
3556 "end": {
3557 "column": 3,
3558 "line": 77
3559 },
3560 "file": "src/lib/Menu.js",
3561 "id": "menu.view.zoomOut",
3562 "start": {
3563 "column": 11,
3564 "line": 74
3565 }
3566 },
3567 {
3568 "defaultMessage": "!!!Enter Full Screen",
3569 "end": {
3570 "column": 3,
3571 "line": 81
3572 },
3573 "file": "src/lib/Menu.js",
3574 "id": "menu.view.enterFullScreen",
3575 "start": {
3576 "column": 19,
3577 "line": 78
3578 }
3579 },
3580 {
3581 "defaultMessage": "!!!Exit Full Screen",
3582 "end": {
3583 "column": 3,
3584 "line": 85
3585 },
3586 "file": "src/lib/Menu.js",
3587 "id": "menu.view.exitFullScreen",
3588 "start": {
3589 "column": 18,
3590 "line": 82
3591 }
3592 },
3593 {
3594 "defaultMessage": "!!!Toggle Full Screen",
3595 "end": {
3596 "column": 3,
3597 "line": 89
3598 },
3599 "file": "src/lib/Menu.js",
3600 "id": "menu.view.toggleFullScreen",
3601 "start": {
3602 "column": 20,
3603 "line": 86
3604 }
3605 },
3606 {
3607 "defaultMessage": "!!!Toggle Developer Tools",
3608 "end": {
3609 "column": 3,
3610 "line": 93
3611 },
3612 "file": "src/lib/Menu.js",
3613 "id": "menu.view.toggleDevTools",
3614 "start": {
3615 "column": 18,
3616 "line": 90
3617 }
3618 },
3619 {
3620 "defaultMessage": "!!!Toggle Service Developer Tools",
3621 "end": {
3622 "column": 3,
3623 "line": 97
3624 },
3625 "file": "src/lib/Menu.js",
3626 "id": "menu.view.toggleServiceDevTools",
3627 "start": {
3628 "column": 25,
3629 "line": 94
3630 }
3631 },
3632 {
3633 "defaultMessage": "!!!Reload Service",
3634 "end": {
3635 "column": 3,
3636 "line": 101
3637 },
3638 "file": "src/lib/Menu.js",
3639 "id": "menu.view.reloadService",
3640 "start": {
3641 "column": 17,
3642 "line": 98
3643 }
3644 },
3645 {
3646 "defaultMessage": "!!!Reload Franz",
3647 "end": {
3648 "column": 3,
3649 "line": 105
3650 },
3651 "file": "src/lib/Menu.js",
3652 "id": "menu.view.reloadFranz",
3653 "start": {
3654 "column": 15,
3655 "line": 102
3656 }
3657 },
3658 {
3659 "defaultMessage": "!!!Minimize",
3660 "end": {
3661 "column": 3,
3662 "line": 109
3663 },
3664 "file": "src/lib/Menu.js",
3665 "id": "menu.window.minimize",
3666 "start": {
3667 "column": 12,
3668 "line": 106
3669 }
3670 },
3671 {
3672 "defaultMessage": "!!!Close",
3673 "end": {
3674 "column": 3,
3675 "line": 113
3676 },
3677 "file": "src/lib/Menu.js",
3678 "id": "menu.window.close",
3679 "start": {
3680 "column": 9,
3681 "line": 110
3682 }
3683 },
3684 {
3685 "defaultMessage": "!!!Learn More",
3686 "end": {
3687 "column": 3,
3688 "line": 117
3689 },
3690 "file": "src/lib/Menu.js",
3691 "id": "menu.help.learnMore",
3692 "start": {
3693 "column": 13,
3694 "line": 114
3695 }
3696 },
3697 {
3698 "defaultMessage": "!!!Changelog",
3699 "end": {
3700 "column": 3,
3701 "line": 121
3702 },
3703 "file": "src/lib/Menu.js",
3704 "id": "menu.help.changelog",
3705 "start": {
3706 "column": 13,
3707 "line": 118
3708 }
3709 },
3710 {
3711 "defaultMessage": "!!!Support",
3712 "end": {
3713 "column": 3,
3714 "line": 125
3715 },
3716 "file": "src/lib/Menu.js",
3717 "id": "menu.help.support",
3718 "start": {
3719 "column": 11,
3720 "line": 122
3721 }
3722 },
3723 {
3724 "defaultMessage": "!!!Terms of Service",
3725 "end": {
3726 "column": 3,
3727 "line": 129
3728 },
3729 "file": "src/lib/Menu.js",
3730 "id": "menu.help.tos",
3731 "start": {
3732 "column": 7,
3733 "line": 126
3734 }
3735 },
3736 {
3737 "defaultMessage": "!!!Privacy Statement",
3738 "end": {
3739 "column": 3,
3740 "line": 133
3741 },
3742 "file": "src/lib/Menu.js",
3743 "id": "menu.help.privacy",
3744 "start": {
3745 "column": 11,
3746 "line": 130
3747 }
3748 },
3749 {
3750 "defaultMessage": "!!!File",
3751 "end": {
3752 "column": 3,
3753 "line": 137
3754 },
3755 "file": "src/lib/Menu.js",
3756 "id": "menu.file",
3757 "start": {
3758 "column": 8,
3759 "line": 134
3760 }
3761 },
3762 {
3763 "defaultMessage": "!!!View",
3764 "end": {
3765 "column": 3,
3766 "line": 141
3767 },
3768 "file": "src/lib/Menu.js",
3769 "id": "menu.view",
3770 "start": {
3771 "column": 8,
3772 "line": 138
3773 }
3774 },
3775 {
3776 "defaultMessage": "!!!Services",
3777 "end": {
3778 "column": 3,
3779 "line": 145
3780 },
3781 "file": "src/lib/Menu.js",
3782 "id": "menu.services",
3783 "start": {
3784 "column": 12,
3785 "line": 142
3786 }
3787 },
3788 {
3789 "defaultMessage": "!!!Window",
3790 "end": {
3791 "column": 3,
3792 "line": 149
3793 },
3794 "file": "src/lib/Menu.js",
3795 "id": "menu.window",
3796 "start": {
3797 "column": 10,
3798 "line": 146
3799 }
3800 },
3801 {
3802 "defaultMessage": "!!!Help",
3803 "end": {
3804 "column": 3,
3805 "line": 153
3806 },
3807 "file": "src/lib/Menu.js",
3808 "id": "menu.help",
3809 "start": {
3810 "column": 8,
3811 "line": 150
3812 }
3813 },
3814 {
3815 "defaultMessage": "!!!About Franz",
3816 "end": {
3817 "column": 3,
3818 "line": 157
3819 },
3820 "file": "src/lib/Menu.js",
3821 "id": "menu.app.about",
3822 "start": {
3823 "column": 9,
3824 "line": 154
3825 }
3826 },
3827 {
3828 "defaultMessage": "!!!Settings",
3829 "end": {
3830 "column": 3,
3831 "line": 161
3832 },
3833 "file": "src/lib/Menu.js",
3834 "id": "menu.app.settings",
3835 "start": {
3836 "column": 12,
3837 "line": 158
3838 }
3839 },
3840 {
3841 "defaultMessage": "!!!Hide",
3842 "end": {
3843 "column": 3,
3844 "line": 165
3845 },
3846 "file": "src/lib/Menu.js",
3847 "id": "menu.app.hide",
3848 "start": {
3849 "column": 8,
3850 "line": 162
3851 }
3852 },
3853 {
3854 "defaultMessage": "!!!Hide Others",
3855 "end": {
3856 "column": 3,
3857 "line": 169
3858 },
3859 "file": "src/lib/Menu.js",
3860 "id": "menu.app.hideOthers",
3861 "start": {
3862 "column": 14,
3863 "line": 166
3864 }
3865 },
3866 {
3867 "defaultMessage": "!!!Unhide",
3868 "end": {
3869 "column": 3,
3870 "line": 173
3871 },
3872 "file": "src/lib/Menu.js",
3873 "id": "menu.app.unhide",
3874 "start": {
3875 "column": 10,
3876 "line": 170
3877 }
3878 },
3879 {
3880 "defaultMessage": "!!!Quit",
3881 "end": {
3882 "column": 3,
3883 "line": 177
3884 },
3885 "file": "src/lib/Menu.js",
3886 "id": "menu.app.quit",
3887 "start": {
3888 "column": 8,
3889 "line": 174
3890 }
3891 },
3892 {
3893 "defaultMessage": "!!!Add New Service...",
3894 "end": {
3895 "column": 3,
3896 "line": 181
3897 },
3898 "file": "src/lib/Menu.js",
3899 "id": "menu.services.addNewService",
3900 "start": {
3901 "column": 17,
3902 "line": 178
3903 }
3904 }
3905 ],
3906 "path": "src/lib/Menu.json"
3907 }
3908] \ No newline at end of file
diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json
index 25ec027d8..bbf0997db 100644
--- a/src/i18n/locales/en-US.json
+++ b/src/i18n/locales/en-US.json
@@ -1,288 +1,285 @@
1{ 1{
2 "app.errorHandler.action": "Reload",
3 "app.errorHandler.headline": "Something went wrong",
4 "feature.delayApp.action": "Get a Franz Supporter License",
5 "feature.delayApp.headline": "Please purchase a Franz Supporter License to skip waiting",
6 "feature.delayApp.text": "Franz will continue in {seconds} seconds.",
7 "feature.shareFranz.action.email": "Send as email",
8 "feature.shareFranz.action.facebook": "Share on Facebook",
9 "feature.shareFranz.action.twitter": "Share on Twitter",
10 "feature.shareFranz.headline": "Franz is better together!",
11 "feature.shareFranz.shareText.email": "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com",
12 "feature.shareFranz.shareText.twitter": "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com /cc @MeetFranz",
13 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Franz is and help us to spread the word.",
2 "global.api.unhealthy": "Can't connect to Franz online services", 14 "global.api.unhealthy": "Can't connect to Franz online services",
3 "global.notConnectedToTheInternet": "You are not connected to the internet.", 15 "global.notConnectedToTheInternet": "You are not connected to the internet.",
4 "global.spellchecking.language": "Spell checking language", 16 "global.premium.upgradeAccount": "!!!Please upgrade your account to add a new service.",
5 "global.spellchecker.useDefault": "Use System Default ({default})", 17 "global.spellchecker.useDefault": "Use System Default ({default})",
6 "global.spellchecking.autodetect": "Detect language automatically", 18 "global.spellchecking.autodetect": "Detect language automatically",
7 "global.spellchecking.autodetect.short": "Automatic", 19 "global.spellchecking.autodetect.short": "Automatic",
8 "welcome.signupButton": "Create a free account", 20 "global.spellchecking.language": "Spell checking language",
9 "welcome.loginButton": "Login to your account", 21 "import.headline": "Import your Franz 4 services",
10 "welcome.slogan": "Messaging that works for you", 22 "import.notSupportedHeadline": "Services not yet supported in Franz 5",
11 "login.headline": "Sign in", 23 "import.skip.label": "I want to add services manually",
24 "import.submit.label": "Import services",
25 "infobar.buttonChangelog": "What is new?",
26 "infobar.buttonInstallUpdate": "Restart & install update",
27 "infobar.buttonReloadServices": "Reload services",
28 "infobar.requiredRequestsFailed": "Could not load services and user information",
29 "infobar.servicesUpdated": "Your services have been updated.",
30 "infobar.updateAvailable": "A new update for Franz is available.",
31 "invite.email.label": "Email address",
32 "invite.headline.friends": "Invite 3 of your friends or colleagues",
33 "invite.name.label": "Name",
34 "invite.skip.label": "I want to do this later",
35 "invite.submit.label": "Send invites",
36 "invite.successInfo": "Invitations sent successfully",
12 "login.email.label": "Email address", 37 "login.email.label": "Email address",
38 "login.headline": "Sign in",
39 "login.invalidCredentials": "Email or password not valid",
40 "login.link.password": "Reset password",
41 "login.link.signup": "Create a free account",
13 "login.password.label": "Password", 42 "login.password.label": "Password",
43 "login.serverLogout": "Your session expired, please login again.",
14 "login.submit.label": "Sign in", 44 "login.submit.label": "Sign in",
15 "login.invalidCredentials": "Email or password not valid",
16 "login.tokenExpired": "Your session expired, please login again.", 45 "login.tokenExpired": "Your session expired, please login again.",
17 "login.serverLogout": "Your session expired, please login again.", 46 "menu.app.about": "About Franz",
18 "login.link.signup": "Create a free account", 47 "menu.app.hide": "Hide",
19 "login.link.password": "Reset password", 48 "menu.app.hideOthers": "Hide Others",
20 "password.headline": "Reset password", 49 "menu.app.quit": "Quit",
50 "menu.app.settings": "Settings",
51 "menu.app.unhide": "Unhide",
52 "menu.edit": "Edit",
53 "menu.edit.copy": "Copy",
54 "menu.edit.cut": "Cut",
55 "menu.edit.delete": "Delete",
56 "menu.edit.emojiSymbols": "Emoji & Symbols",
57 "menu.edit.paste": "Paste",
58 "menu.edit.pasteAndMatchStyle": "Paste And Match Style",
59 "menu.edit.redo": "Redo",
60 "menu.edit.selectAll": "Select All",
61 "menu.edit.speech": "Speech",
62 "menu.edit.startDictation": "Start Dictation",
63 "menu.edit.startSpeaking": "Start Speaking",
64 "menu.edit.stopSpeaking": "Stop Speaking",
65 "menu.edit.undo": "Undo",
66 "menu.file": "File",
67 "menu.help": "Help",
68 "menu.help.changelog": "Changelog",
69 "menu.help.learnMore": "Learn More",
70 "menu.help.privacy": "Privacy Statement",
71 "menu.help.support": "Support",
72 "menu.help.tos": "Terms of Service",
73 "menu.services": "Services",
74 "menu.services.addNewService": "Add New Service...",
75 "menu.view": "View",
76 "menu.view.enterFullScreen": "Enter Full Screen",
77 "menu.view.exitFullScreen": "Exit Full Screen",
78 "menu.view.reloadFranz": "Reload Franz",
79 "menu.view.reloadService": "Reload Service",
80 "menu.view.resetZoom": "Actual Size",
81 "menu.view.toggleDevTools": "Toggle Developer Tools",
82 "menu.view.toggleFullScreen": "Toggle Full Screen",
83 "menu.view.toggleServiceDevTools": "Toggle Service Developer Tools",
84 "menu.view.zoomIn": "Zoom In",
85 "menu.view.zoomOut": "Zoom Out",
86 "menu.window": "Window",
87 "menu.window.close": "Close",
88 "menu.window.minimize": "Minimize",
21 "password.email.label": "Email address", 89 "password.email.label": "Email address",
22 "password.submit.label": "Submit", 90 "password.headline": "Reset password",
91 "password.link.login": "Sign in to your account",
92 "password.link.signup": "Create a free account",
23 "password.noUser": "No user with that email address was found", 93 "password.noUser": "No user with that email address was found",
94 "password.submit.label": "Submit",
24 "password.successInfo": "Please check your email", 95 "password.successInfo": "Please check your email",
25 "password.link.signup": "Create a free account", 96 "premiumFeature.button.upgradeAccount": "Upgrade account",
26 "password.link.login": "Sign in to your account",
27 "signup.headline": "Sign up",
28 "signup.firstname.label": "First Name",
29 "signup.lastname.label": "Last Name",
30 "signup.email.label": "Email address",
31 "signup.company.label": "Company",
32 "signup.password.label": "Password",
33 "signup.submit.label": "Create account",
34 "signup.link.login": "Already have an account, sign in?",
35 "signup.emailDuplicate": "A user with that email address already exists",
36 "signup.legal.info": "By creating a Franz account you accept the",
37 "signup.legal.terms": "Terms of service",
38 "signup.legal.privacy": "Privacy Statement",
39 "pricing.headline": "Support Franz", 97 "pricing.headline": "Support Franz",
40 "pricing.support.label": "Select your support plan",
41 "pricing.submit.label": "I want to support the development of Franz",
42 "pricing.link.skipPayment": "I don't want to support the development of Franz.", 98 "pricing.link.skipPayment": "I don't want to support the development of Franz.",
43 "import.headline": "Import your Franz 4 services", 99 "pricing.submit.label": "I want to support the development of Franz",
44 "import.notSupportedHeadline": "Services not yet supported in Franz 5", 100 "pricing.support.label": "Select your support plan",
45 "import.submit.label": "Import services", 101 "service.crashHandler.action": "Reload {name}",
46 "import.skip.label": "I want to add services manually", 102 "service.crashHandler.autoReload": "Trying to automatically restore {name} in {seconds} seconds",
47 "invite.submit.label": "Send invites", 103 "service.crashHandler.headline": "Oh no!",
48 "invite.headline.friends": "Invite 3 of your friends or colleagues", 104 "service.crashHandler.text": "{name} has caused an error.",
49 "invite.name.label": "Name", 105 "service.disabledHandler.action": "Enable {name}",
50 "invite.email.label": "Email address", 106 "service.disabledHandler.headline": "{name} is disabled",
51 "invite.skip.label": "I want to do this later", 107 "service.errorHandler.action": "Reload {name}",
52 "invite.successInfo": "Invitations sent successfully", 108 "service.errorHandler.editAction": "Edit {name}",
53 "subscription.submit.label": "I want to support the development of Franz", 109 "service.errorHandler.headline": "Oh no!",
54 "subscription.paymentSessionError": "Could not initialize payment form", 110 "service.errorHandler.message": "Error",
55 "subscription.includedFeatures": "Paid Franz Premium Supporter Account includes", 111 "service.errorHandler.text": "{name} has failed to load.",
56 "subscription.features.onpremise": "Add on-premise/hosted services like HipChat",
57 "subscription.features.onpremise.mattermost": "Add on-premise/hosted services like Mattermost",
58 "subscription.features.encryptedSync": "Encrypted session synchronization",
59 "subscription.features.proxy": "Proxy support for services",
60 "subscription.features.ads": "No ads, ever!",
61 "subscription.features.spellchecker": "Support for spellchecker",
62 "subscription.features.noInterruptions": "No app delays & nagging to upgrade license",
63 "subscription.features.comingSoon": "coming soon",
64 "infobar.servicesUpdated": "Your services have been updated.",
65 "infobar.updateAvailable": "A new update for Franz is available.",
66 "infobar.buttonReloadServices": "Reload services",
67 "infobar.buttonInstallUpdate": "Restart & install update",
68 "infobar.buttonChangelog": "What is new?",
69 "infobar.requiredRequestsFailed": "Could not load services and user information",
70 "sidebar.settings": "Settings",
71 "sidebar.addNewService": "Add new service",
72 "sidebar.muteApp": "Disable notifications & audio",
73 "sidebar.unmuteApp": "Enable notifications & audio",
74 "services.welcome": "Welcome to Franz",
75 "services.getStarted": "Get started", 112 "services.getStarted": "Get started",
76 "settings.searchService": "Search service", 113 "services.welcome": "Welcome to Franz",
77 "settings.account.headline": "Account", 114 "settings.account.account.editButton": "Edit account",
78 "settings.account.headlineSubscription": "Your subscription",
79 "settings.account.headlineUpgrade": "Upgrade your account & support Franz",
80 "settings.account.headlineInvoices": "Invoices",
81 "settings.account.headlineDangerZone": "Danger Zone",
82 "settings.account.manageSubscription.label": "Manage your subscription",
83 "settings.account.accountType.basic": "Basic Account", 115 "settings.account.accountType.basic": "Basic Account",
116 "settings.account.accountType.enterprise": "!!!Enterprise Account",
84 "settings.account.accountType.premium": "Premium Supporter Account", 117 "settings.account.accountType.premium": "Premium Supporter Account",
85 "settings.account.account.editButton": "Edit account",
86 "settings.account.invoiceDownload": "Download",
87 "settings.account.userInfoRequestFailed": "Could not load user information",
88 "settings.account.tryReloadUserInfoRequest": "Try again",
89 "settings.account.headlineProfile": "Update profile",
90 "settings.account.headlineAccount": "Account information",
91 "settings.account.headlinePassword": "Change password",
92 "settings.account.successInfo": "Your changes have been saved",
93 "settings.account.buttonSave": "Update profile", 118 "settings.account.buttonSave": "Update profile",
94 "settings.account.deleteAccount": "Delete account", 119 "settings.account.deleteAccount": "Delete account",
95 "settings.account.deleteInfo": "If you don't need your Franz account any longer, you can delete your account and all related data here.",
96 "settings.account.deleteEmailSent": "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!", 120 "settings.account.deleteEmailSent": "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!",
121 "settings.account.deleteInfo": "If you don't need your Franz account any longer, you can delete your account and all related data here.",
122 "settings.account.headline": "Account",
123 "settings.account.headlineAccount": "Account information",
124 "settings.account.headlineDangerZone": "Danger Zone",
125 "settings.account.headlineInvoices": "Invoices",
126 "settings.account.headlinePassword": "Change password",
127 "settings.account.headlineProfile": "Update profile",
128 "settings.account.headlineSubscription": "Your subscription",
129 "settings.account.headlineUpgrade": "Upgrade your account & support Franz",
130 "settings.account.invoiceDownload": "Download",
131 "settings.account.manageSubscription.label": "Manage your subscription",
132 "settings.account.successInfo": "Your changes have been saved",
133 "settings.account.tryReloadServices": "!!!Try again",
134 "settings.account.tryReloadUserInfoRequest": "Try again",
135 "settings.account.userInfoRequestFailed": "Could not load user information",
136 "settings.app.buttonClearAllCache": "Clear cache",
137 "settings.app.buttonInstallUpdate": "Restart & install update",
138 "settings.app.buttonSearchForUpdate": "Check for updates",
139 "settings.app.cacheInfo": "Franz cache is currently using {size} of disk space.",
140 "settings.app.currentVersion": "Current version:",
141 "settings.app.form.autoLaunchInBackground": "Open in background",
142 "settings.app.form.autoLaunchOnStart": "Launch Franz on start",
143 "settings.app.form.beta": "Include beta versions",
144 "settings.app.form.darkMode": "Join the Dark Side",
145 "settings.app.form.enableGPUAcceleration": "Enable GPU Acceleration",
146 "settings.app.form.enableSpellchecking": "Enable spell checking",
147 "settings.app.form.enableSystemTray": "Show Franz in system tray",
148 "settings.app.form.language": "Language",
149 "settings.app.form.minimizeToSystemTray": "Minimize Franz to system tray",
150 "settings.app.form.runInBackground": "Keep Franz in background when closing the window",
151 "settings.app.form.showDisabledServices": "Display disabled services tabs",
152 "settings.app.form.showMessagesBadgesWhenMuted": "Show unread message badge when notifications are disabled",
153 "settings.app.headline": "Settings",
154 "settings.app.headlineAdvanced": "Advanced",
155 "settings.app.headlineAppearance": "Appearance",
156 "settings.app.headlineGeneral": "General",
157 "settings.app.headlineLanguage": "Language",
158 "settings.app.headlineUpdates": "Updates",
159 "settings.app.restartRequired": "Changes require restart",
160 "settings.app.subheadlineCache": "Cache",
161 "settings.app.translationHelp": "Help us to translate Franz into your language.",
162 "settings.app.updateStatusAvailable": "Update available, downloading...",
163 "settings.app.updateStatusSearching": "Is searching for update",
164 "settings.app.updateStatusUpToDate": "You are using the latest version of Franz",
97 "settings.invite.headline": "Invite Friends", 165 "settings.invite.headline": "Invite Friends",
98 "settings.navigation.availableServices": "Available services",
99 "settings.navigation.yourServices": "Your services",
100 "settings.navigation.account": "Account", 166 "settings.navigation.account": "Account",
101 "settings.navigation.settings": "Settings", 167 "settings.navigation.availableServices": "Available services",
102 "settings.navigation.inviteFriends": "Invite Friends", 168 "settings.navigation.inviteFriends": "Invite Friends",
103 "settings.navigation.logout": "Logout", 169 "settings.navigation.logout": "Logout",
104 "settings.recipes.headline": "Available services", 170 "settings.navigation.settings": "Settings",
105 "settings.recipes.mostPopular": "Most popular", 171 "settings.navigation.yourServices": "Your services",
106 "settings.recipes.all": "All services", 172 "settings.recipes.all": "All services",
107 "settings.recipes.dev": "Development", 173 "settings.recipes.dev": "Development",
174 "settings.recipes.headline": "Available services",
175 "settings.recipes.missingService": "Missing a service?",
176 "settings.recipes.mostPopular": "Most popular",
108 "settings.recipes.nothingFound": "Sorry, but no service matched your search term.", 177 "settings.recipes.nothingFound": "Sorry, but no service matched your search term.",
109 "settings.recipes.servicesSuccessfulAddedInfo": "Service successfully added", 178 "settings.recipes.servicesSuccessfulAddedInfo": "Service successfully added",
110 "settings.recipes.missingService": "Missing a service?", 179 "settings.searchService": "Search service",
111 "settings.service.form.saveButton": "Save service", 180 "settings.service.error.goBack": "Back to services",
112 "settings.service.form.deleteButton": "Delete service", 181 "settings.service.error.headline": "Error",
113 "settings.service.form.availableServices": "Available services", 182 "settings.service.error.message": "Could not load service recipe.",
114 "settings.service.form.yourServices": "Your services",
115 "settings.service.form.addServiceHeadline": "Add {name}", 183 "settings.service.form.addServiceHeadline": "Add {name}",
116 "settings.service.form.editServiceHeadline": "Edit {name}", 184 "settings.service.form.availableServices": "Available services",
117 "settings.service.form.tabHosted": "Hosted", 185 "settings.service.form.customUrl": "Custom server",
118 "settings.service.form.tabOnPremise": "Self hosted ⭐️",
119 "settings.service.form.useHostedService": "Use the hosted {name} service.",
120 "settings.service.form.customUrlValidationError": "Could not validate custom {name} server.",
121 "settings.service.form.customUrlPremiumInfo": "To add self hosted services, you need a Franz Premium Supporter Account.", 186 "settings.service.form.customUrlPremiumInfo": "To add self hosted services, you need a Franz Premium Supporter Account.",
122 "settings.service.form.customUrlUpgradeAccount": "Upgrade your account", 187 "settings.service.form.customUrlUpgradeAccount": "Upgrade your account",
123 "settings.service.form.indirectMessageInfo": "You will be notified about all new messages in a channel, not just @username, @channel, @here, ...", 188 "settings.service.form.customUrlValidationError": "Could not validate custom {name} server.",
124 "settings.service.form.name": "Name", 189 "settings.service.form.deleteButton": "Delete service",
125 "settings.service.form.enableService": "Enable service", 190 "settings.service.form.editServiceHeadline": "Edit {name}",
126 "settings.service.form.enableNotification": "Enable notifications",
127 "settings.service.form.enableBadge": "Show unread message badges",
128 "settings.service.form.team": "Team",
129 "settings.service.form.customUrl": "Custom server",
130 "settings.service.form.indirectMessages": "Show message badge for all new messages",
131 "settings.service.form.enableAudio": "Enable audio", 191 "settings.service.form.enableAudio": "Enable audio",
132 "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted", 192 "settings.service.form.enableBadge": "Show unread message badges",
133 "settings.service.form.headlineNotifications": "Notifications", 193 "settings.service.form.enableDarkMode": "Enable Dark Mode",
194 "settings.service.form.enableNotification": "Enable notifications",
195 "settings.service.form.enableService": "Enable service",
134 "settings.service.form.headlineBadges": "Unread message badges", 196 "settings.service.form.headlineBadges": "Unread message badges",
135 "settings.service.form.headlineGeneral": "General", 197 "settings.service.form.headlineGeneral": "General",
198 "settings.service.form.headlineNotifications": "Notifications",
136 "settings.service.form.icon": "Custom icon", 199 "settings.service.form.icon": "Custom icon",
137 "settings.service.form.iconDelete": "Delete", 200 "settings.service.form.iconDelete": "Delete",
138 "settings.service.form.iconUpload": "Drop your image, or click here", 201 "settings.service.form.iconUpload": "Drop your image, or click here",
139 "settings.service.form.enableDarkMode": "Enable Dark Mode", 202 "settings.service.form.indirectMessageInfo": "You will be notified about all new messages in a channel, not just @username, @channel, @here, ...",
203 "settings.service.form.indirectMessages": "Show message badge for all new messages",
204 "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted",
205 "settings.service.form.name": "Name",
140 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings", 206 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings",
141 "settings.service.form.proxy.isEnabled": "Use Proxy",
142 "settings.service.form.proxy.host": "Proxy Host/IP", 207 "settings.service.form.proxy.host": "Proxy Host/IP",
143 "settings.service.form.proxy.port": "Port",
144 "settings.service.form.proxy.user": "User (optional)",
145 "settings.service.form.proxy.password": "Password (optional)",
146 "settings.service.form.proxy.info": "Proxy settings will not synced with the Franz servers.", 208 "settings.service.form.proxy.info": "Proxy settings will not synced with the Franz servers.",
209 "settings.service.form.proxy.isEnabled": "Use Proxy",
210 "settings.service.form.proxy.password": "Password (optional)",
211 "settings.service.form.proxy.port": "Port",
147 "settings.service.form.proxy.restartInfo": "Please restart Franz after changing proxy Settings.", 212 "settings.service.form.proxy.restartInfo": "Please restart Franz after changing proxy Settings.",
148 "settings.service.form.spellcheckerLanguage": "Spell checking Language", 213 "settings.service.form.proxy.user": "User (optional)",
149 "settings.service.form.spellcheckerLanguage.default": "Use System Default ({default})", 214 "settings.service.form.saveButton": "Save service",
150 "settings.service.error.headline": "Error", 215 "settings.service.form.tabHosted": "Hosted",
151 "settings.service.error.goBack": "Back to services", 216 "settings.service.form.tabOnPremise": "Self hosted ⭐️",
152 "settings.service.error.message": "Could not load service recipe.", 217 "settings.service.form.team": "Team",
153 "settings.services.tooltip.isDisabled": "Service is disabled", 218 "settings.service.form.useHostedService": "Use the hosted {name} service.",
154 "settings.services.tooltip.notificationsDisabled": "Notifications are disabled", 219 "settings.service.form.yourServices": "Your services",
155 "settings.services.tooltip.isMuted": "All sounds are muted", 220 "settings.services.deletedInfo": "Service has been deleted",
221 "settings.services.discoverServices": "Discover services",
156 "settings.services.headline": "Your services", 222 "settings.services.headline": "Your services",
157 "settings.services.noServicesAdded": "You haven't added any services yet.", 223 "settings.services.noServicesAdded": "You haven't added any services yet.",
158 "settings.services.discoverServices": "Discover services", 224 "settings.services.servicesRequestFailed": "!!!Could not load your services",
225 "settings.services.tooltip.isDisabled": "Service is disabled",
226 "settings.services.tooltip.isMuted": "All sounds are muted",
227 "settings.services.tooltip.notificationsDisabled": "Notifications are disabled",
159 "settings.services.updatedInfo": "Your changes have been saved", 228 "settings.services.updatedInfo": "Your changes have been saved",
160 "settings.services.deletedInfo": "Service has been deleted", 229 "settings.user.form.accountType.company": "Company",
161 "settings.app.headline": "Settings", 230 "settings.user.form.accountType.individual": "Individual",
162 "settings.app.headlineGeneral": "General", 231 "settings.user.form.accountType.label": "Account type",
163 "settings.app.headlineLanguage": "Language", 232 "settings.user.form.accountType.non-profit": "Non-Profit",
164 "settings.app.headlineUpdates": "Updates", 233 "settings.user.form.currentPassword": "Current password",
165 "settings.app.headlineAppearance": "Appearance", 234 "settings.user.form.email": "Email",
166 "settings.app.headlineAdvanced": "Advanced",
167 "settings.app.buttonSearchForUpdate": "Check for updates",
168 "settings.app.buttonInstallUpdate": "Restart & install update",
169 "settings.app.updateStatusSearching": "Is searching for update",
170 "settings.app.updateStatusAvailable": "Update available, downloading...",
171 "settings.app.updateStatusUpToDate": "You are using the latest version of Franz",
172 "settings.app.subheadlineCache": "Cache",
173 "settings.app.cacheInfo": "Franz cache is currently using {size} of disk space.",
174 "settings.app.buttonClearAllCache": "Clear cache",
175 "settings.app.form.autoLaunchOnStart": "Launch Franz on start",
176 "settings.app.form.autoLaunchInBackground": "Open in background",
177 "settings.app.form.enableSystemTray": "Show Franz in system tray",
178 "settings.app.form.darkMode": "Join the Dark Side",
179 "settings.app.form.minimizeToSystemTray": "Minimize Franz to system tray",
180 "settings.app.form.enableMenuBar": "Show Franz in Menu Bar",
181 "settings.app.form.hideDockIcon": "Hide Franz icon in Dock",
182 "settings.app.form.runInBackground": "Keep Franz in background when closing the window",
183 "settings.app.form.language": "Language",
184 "settings.app.form.enableSpellchecking": "Enable spell checking",
185 "settings.app.form.spellcheckerLanguage": "Spell checking language",
186 "settings.app.form.enableGPUAcceleration": "Enable GPU Acceleration",
187 "settings.app.form.showDisabledServices": "Display disabled services tabs",
188 "settings.app.form.showMessagesBadgesWhenMuted": "Show unread message badge when notifications are disabled",
189 "settings.app.form.beta": "Include beta versions",
190 "settings.app.translationHelp": "Help us to translate Franz into your language.",
191 "settings.app.currentVersion": "Current version:",
192 "settings.app.restartRequired": "Changes require restart",
193 "settings.user.form.firstname": "First Name", 235 "settings.user.form.firstname": "First Name",
194 "settings.user.form.lastname": "Last Name", 236 "settings.user.form.lastname": "Last Name",
195 "settings.user.form.email": "Email",
196 "settings.user.form.currentPassword": "Current password",
197 "settings.user.form.newPassword": "New password", 237 "settings.user.form.newPassword": "New password",
198 "settings.user.form.accountType.label": "Account type", 238 "sidebar.addNewService": "Add new service",
199 "settings.user.form.accountType.individual": "Individual", 239 "sidebar.muteApp": "Disable notifications & audio",
200 "settings.user.form.accountType.non-profit": "Non-Profit", 240 "sidebar.settings": "Settings",
201 "settings.user.form.accountType.company": "Company", 241 "sidebar.unmuteApp": "Enable notifications & audio",
242 "signup.company.label": "Company",
243 "signup.email.label": "Email address",
244 "signup.emailDuplicate": "A user with that email address already exists",
245 "signup.firstname.label": "First Name",
246 "signup.headline": "Sign up",
247 "signup.lastname.label": "Last Name",
248 "signup.legal.info": "By creating a Franz account you accept the",
249 "signup.legal.privacy": "Privacy Statement",
250 "signup.legal.terms": "Terms of service",
251 "signup.link.login": "Already have an account, sign in?",
252 "signup.password.label": "Password",
253 "signup.submit.label": "Create account",
254 "subscription.euTaxInfo": "EU residents: local sales tax may apply",
255 "subscription.features.ads": "No ads, ever!",
256 "subscription.features.comingSoon": "coming soon",
257 "subscription.features.noInterruptions": "No app delays & nagging to upgrade license",
258 "subscription.features.onpremise.mattermost": "Add on-premise/hosted services like Mattermost",
259 "subscription.features.proxy": "Proxy support for services",
260 "subscription.features.spellchecker": "Support for spellchecker",
261 "subscription.includedFeatures": "Paid Franz Premium Supporter Account includes",
262 "subscription.paymentSessionError": "Could not initialize payment form",
263 "subscription.submit.label": "I want to support the development of Franz",
202 "subscription.type.free": "free", 264 "subscription.type.free": "free",
203 "subscription.type.month": "month", 265 "subscription.type.month": "month",
204 "subscription.type.year": "year", 266 "subscription.type.year": "year",
205 "subscription.euTaxInfo": "EU residents: local sales tax may apply",
206 "subscriptionPopup.buttonCancel": "Cancel", 267 "subscriptionPopup.buttonCancel": "Cancel",
207 "subscriptionPopup.buttonDone": "Done", 268 "subscriptionPopup.buttonDone": "Done",
208 "tabs.item.reload": "Reload", 269 "tabs.item.deleteService": "Delete service",
209 "tabs.item.edit": "Edit",
210 "tabs.item.disableNotifications": "Disable notifications",
211 "tabs.item.enableNotification": "Enable notifications",
212 "tabs.item.disableAudio": "Disable audio", 270 "tabs.item.disableAudio": "Disable audio",
213 "tabs.item.enableAudio": "Enable audio", 271 "tabs.item.disableNotifications": "Disable notifications",
214 "tabs.item.disableService": "Disable service", 272 "tabs.item.disableService": "Disable service",
273 "tabs.item.edit": "Edit",
274 "tabs.item.enableAudio": "Enable audio",
275 "tabs.item.enableNotification": "Enable notifications",
215 "tabs.item.enableService": "Enable service", 276 "tabs.item.enableService": "Enable service",
216 "tabs.item.deleteService": "Delete service", 277 "tabs.item.reload": "Reload",
217 "service.crashHandler.headline": "Oh no!",
218 "service.crashHandler.text": "{name} has caused an error.",
219 "service.crashHandler.action": "Reload {name}",
220 "service.crashHandler.autoReload": "Trying to automatically restore {name} in {seconds} seconds",
221 "service.errorHandler.headline": "Oh no!",
222 "service.errorHandler.text": "{name} has failed to load.",
223 "service.errorHandler.message": "Error",
224 "service.errorHandler.action": "Reload {name}",
225 "service.errorHandler.editAction": "Edit {name}",
226 "service.disabledHandler.headline": "{name} is disabled",
227 "service.disabledHandler.action": "Enable {name}",
228 "menu.edit": "Edit",
229 "menu.edit.undo": "Undo",
230 "menu.edit.redo": "Redo",
231 "menu.edit.cut": "Cut",
232 "menu.edit.copy": "Copy",
233 "menu.edit.paste": "Paste",
234 "menu.edit.pasteAndMatchStyle": "Paste And Match Style",
235 "menu.edit.delete": "Delete",
236 "menu.edit.selectAll": "Select All",
237 "menu.edit.speech": "Speech",
238 "menu.edit.startSpeaking": "Start Speaking",
239 "menu.edit.stopSpeaking": "Stop Speaking",
240 "menu.edit.startDictation": "Start Dictation",
241 "menu.edit.emojiSymbols": "Emoji & Symbols",
242 "menu.view.resetZoom": "Actual Size",
243 "menu.view.zoomIn": "Zoom In",
244 "menu.view.zoomOut": "Zoom Out",
245 "menu.view.enterFullScreen": "Enter Full Screen",
246 "menu.view.exitFullScreen": "Exit Full Screen",
247 "menu.view.toggleFullScreen": "Toggle Full Screen",
248 "menu.view.toggleDevTools": "Toggle Developer Tools",
249 "menu.view.toggleServiceDevTools": "Toggle Service Developer Tools",
250 "menu.view.reloadService": "Reload Service",
251 "menu.view.reloadFranz": "Reload Franz",
252 "menu.window.minimize": "Minimize",
253 "menu.window.close": "Close",
254 "menu.help.learnMore": "Learn More",
255 "menu.help.changelog": "Changelog",
256 "menu.help.support": "Support",
257 "menu.help.tos": "Terms of Service",
258 "menu.help.privacy": "Privacy Statement",
259 "menu.file": "File",
260 "menu.view": "View",
261 "menu.services": "Services",
262 "menu.window": "Window",
263 "menu.help": "Help",
264 "menu.app.about": "About Franz",
265 "menu.app.settings": "Settings",
266 "menu.app.hide": "Hide",
267 "menu.app.hideOthers": "Hide Others",
268 "menu.app.unhide": "Unhide",
269 "menu.app.quit": "Quit",
270 "menu.services.addNewService": "Add New Service...",
271 "validation.required": "{field} is required",
272 "validation.email": "{field} is not valid", 278 "validation.email": "{field} is not valid",
273 "validation.url": "{field} is not a valid URL",
274 "validation.minLength": "{field} should be at least {length} characters long", 279 "validation.minLength": "{field} should be at least {length} characters long",
275 "feature.delayApp.headline": "Please purchase a Franz Supporter License to skip waiting", 280 "validation.oneRequired": "!!!At least one is required",
276 "feature.delayApp.action": "Get a Franz Supporter License", 281 "validation.required": "{field} is required",
277 "feature.delayApp.text": "Franz will continue in {seconds} seconds.", 282 "validation.url": "{field} is not a valid URL",
278 "premiumFeature.button.upgradeAccount": "Upgrade account", 283 "welcome.loginButton": "Login to your account",
279 "app.errorHandler.headline": "Something went wrong", 284 "welcome.signupButton": "Create a free account"
280 "app.errorHandler.action": "Reload", 285} \ No newline at end of file
281 "feature.shareFranz.headline": "Franz is better together!",
282 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Franz is and help us to spread the word.",
283 "feature.shareFranz.action.email": "Send as email",
284 "feature.shareFranz.action.facebook": "Share on Facebook",
285 "feature.shareFranz.action.twitter": "Share on Twitter",
286 "feature.shareFranz.shareText.email": "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com",
287 "feature.shareFranz.shareText.twitter": "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com /cc @MeetFranz"
288}
diff --git a/src/i18n/locales/whitelist_en-US.json b/src/i18n/locales/whitelist_en-US.json
new file mode 100644
index 000000000..32960f8ce
--- /dev/null
+++ b/src/i18n/locales/whitelist_en-US.json
@@ -0,0 +1,2 @@
1[
2] \ No newline at end of file
diff --git a/src/i18n/manage-translations.js b/src/i18n/manage-translations.js
new file mode 100644
index 000000000..74a29107d
--- /dev/null
+++ b/src/i18n/manage-translations.js
@@ -0,0 +1,10 @@
1require('@babel/register');
2const manageTranslations = require('react-intl-translations-manager').default;
3// const { APP_LOCALES } = require('../src/i18n/languages');
4
5manageTranslations({
6 messagesDirectory: 'src/i18n/messages',
7 translationsDirectory: 'src/i18n/locales',
8 singleMessagesFile: true,
9 languages: ['en-US'], // Object.keys(APP_LOCALES),
10});
diff --git a/src/i18n/messages/src/components/auth/Import.json b/src/i18n/messages/src/components/auth/Import.json
new file mode 100644
index 000000000..73684b6c0
--- /dev/null
+++ b/src/i18n/messages/src/components/auth/Import.json
@@ -0,0 +1,54 @@
1[
2 {
3 "id": "import.headline",
4 "defaultMessage": "!!!Import your Franz 4 services",
5 "file": "src/components/auth/Import.js",
6 "start": {
7 "line": 13,
8 "column": 12
9 },
10 "end": {
11 "line": 16,
12 "column": 3
13 }
14 },
15 {
16 "id": "import.notSupportedHeadline",
17 "defaultMessage": "!!!Services not yet supported in Franz 5",
18 "file": "src/components/auth/Import.js",
19 "start": {
20 "line": 17,
21 "column": 24
22 },
23 "end": {
24 "line": 20,
25 "column": 3
26 }
27 },
28 {
29 "id": "import.submit.label",
30 "defaultMessage": "!!!Import {count} services",
31 "file": "src/components/auth/Import.js",
32 "start": {
33 "line": 21,
34 "column": 21
35 },
36 "end": {
37 "line": 24,
38 "column": 3
39 }
40 },
41 {
42 "id": "import.skip.label",
43 "defaultMessage": "!!!I want to add services manually",
44 "file": "src/components/auth/Import.js",
45 "start": {
46 "line": 25,
47 "column": 19
48 },
49 "end": {
50 "line": 28,
51 "column": 3
52 }
53 }
54]
diff --git a/src/i18n/messages/src/components/auth/Invite.json b/src/i18n/messages/src/components/auth/Invite.json
new file mode 100644
index 000000000..12d2b6be0
--- /dev/null
+++ b/src/i18n/messages/src/components/auth/Invite.json
@@ -0,0 +1,93 @@
1[
2 {
3 "id": "settings.invite.headline",
4 "defaultMessage": "!!!Invite Friends",
5 "file": "src/components/auth/Invite.js",
6 "start": {
7 "line": 16,
8 "column": 20
9 },
10 "end": {
11 "line": 19,
12 "column": 3
13 }
14 },
15 {
16 "id": "invite.headline.friends",
17 "defaultMessage": "!!!Invite 3 of your friends or colleagues",
18 "file": "src/components/auth/Invite.js",
19 "start": {
20 "line": 20,
21 "column": 12
22 },
23 "end": {
24 "line": 23,
25 "column": 3
26 }
27 },
28 {
29 "id": "invite.name.label",
30 "defaultMessage": "!!!Name",
31 "file": "src/components/auth/Invite.js",
32 "start": {
33 "line": 24,
34 "column": 13
35 },
36 "end": {
37 "line": 27,
38 "column": 3
39 }
40 },
41 {
42 "id": "invite.email.label",
43 "defaultMessage": "!!!Email address",
44 "file": "src/components/auth/Invite.js",
45 "start": {
46 "line": 28,
47 "column": 14
48 },
49 "end": {
50 "line": 31,
51 "column": 3
52 }
53 },
54 {
55 "id": "invite.submit.label",
56 "defaultMessage": "!!!Send invites",
57 "file": "src/components/auth/Invite.js",
58 "start": {
59 "line": 32,
60 "column": 21
61 },
62 "end": {
63 "line": 35,
64 "column": 3
65 }
66 },
67 {
68 "id": "invite.skip.label",
69 "defaultMessage": "!!!I want to do this later",
70 "file": "src/components/auth/Invite.js",
71 "start": {
72 "line": 36,
73 "column": 19
74 },
75 "end": {
76 "line": 39,
77 "column": 3
78 }
79 },
80 {
81 "id": "invite.successInfo",
82 "defaultMessage": "!!!Invitations sent successfully",
83 "file": "src/components/auth/Invite.js",
84 "start": {
85 "line": 40,
86 "column": 21
87 },
88 "end": {
89 "line": 43,
90 "column": 3
91 }
92 }
93]
diff --git a/src/i18n/messages/src/components/auth/Login.json b/src/i18n/messages/src/components/auth/Login.json
new file mode 100644
index 000000000..1a86cb872
--- /dev/null
+++ b/src/i18n/messages/src/components/auth/Login.json
@@ -0,0 +1,119 @@
1[
2 {
3 "id": "login.headline",
4 "defaultMessage": "!!!Sign in",
5 "file": "src/components/auth/Login.js",
6 "start": {
7 "line": 17,
8 "column": 12
9 },
10 "end": {
11 "line": 20,
12 "column": 3
13 }
14 },
15 {
16 "id": "login.email.label",
17 "defaultMessage": "!!!Email address",
18 "file": "src/components/auth/Login.js",
19 "start": {
20 "line": 21,
21 "column": 14
22 },
23 "end": {
24 "line": 24,
25 "column": 3
26 }
27 },
28 {
29 "id": "login.password.label",
30 "defaultMessage": "!!!Password",
31 "file": "src/components/auth/Login.js",
32 "start": {
33 "line": 25,
34 "column": 17
35 },
36 "end": {
37 "line": 28,
38 "column": 3
39 }
40 },
41 {
42 "id": "login.submit.label",
43 "defaultMessage": "!!!Sign in",
44 "file": "src/components/auth/Login.js",
45 "start": {
46 "line": 29,
47 "column": 21
48 },
49 "end": {
50 "line": 32,
51 "column": 3
52 }
53 },
54 {
55 "id": "login.invalidCredentials",
56 "defaultMessage": "!!!Email or password not valid",
57 "file": "src/components/auth/Login.js",
58 "start": {
59 "line": 33,
60 "column": 22
61 },
62 "end": {
63 "line": 36,
64 "column": 3
65 }
66 },
67 {
68 "id": "login.tokenExpired",
69 "defaultMessage": "!!!Your session expired, please login again.",
70 "file": "src/components/auth/Login.js",
71 "start": {
72 "line": 37,
73 "column": 16
74 },
75 "end": {
76 "line": 40,
77 "column": 3
78 }
79 },
80 {
81 "id": "login.serverLogout",
82 "defaultMessage": "!!!Your session expired, please login again.",
83 "file": "src/components/auth/Login.js",
84 "start": {
85 "line": 41,
86 "column": 16
87 },
88 "end": {
89 "line": 44,
90 "column": 3
91 }
92 },
93 {
94 "id": "login.link.signup",
95 "defaultMessage": "!!!Create a free account",
96 "file": "src/components/auth/Login.js",
97 "start": {
98 "line": 45,
99 "column": 14
100 },
101 "end": {
102 "line": 48,
103 "column": 3
104 }
105 },
106 {
107 "id": "login.link.password",
108 "defaultMessage": "!!!Forgot password",
109 "file": "src/components/auth/Login.js",
110 "start": {
111 "line": 49,
112 "column": 16
113 },
114 "end": {
115 "line": 52,
116 "column": 3
117 }
118 }
119]
diff --git a/src/i18n/messages/src/components/auth/Password.json b/src/i18n/messages/src/components/auth/Password.json
new file mode 100644
index 000000000..40be13c15
--- /dev/null
+++ b/src/i18n/messages/src/components/auth/Password.json
@@ -0,0 +1,93 @@
1[
2 {
3 "id": "password.headline",
4 "defaultMessage": "!!!Forgot password",
5 "file": "src/components/auth/Password.js",
6 "start": {
7 "line": 14,
8 "column": 12
9 },
10 "end": {
11 "line": 17,
12 "column": 3
13 }
14 },
15 {
16 "id": "password.email.label",
17 "defaultMessage": "!!!Email address",
18 "file": "src/components/auth/Password.js",
19 "start": {
20 "line": 18,
21 "column": 14
22 },
23 "end": {
24 "line": 21,
25 "column": 3
26 }
27 },
28 {
29 "id": "password.submit.label",
30 "defaultMessage": "!!!Submit",
31 "file": "src/components/auth/Password.js",
32 "start": {
33 "line": 22,
34 "column": 21
35 },
36 "end": {
37 "line": 25,
38 "column": 3
39 }
40 },
41 {
42 "id": "password.successInfo",
43 "defaultMessage": "!!!Your new password was sent to your email address",
44 "file": "src/components/auth/Password.js",
45 "start": {
46 "line": 26,
47 "column": 15
48 },
49 "end": {
50 "line": 29,
51 "column": 3
52 }
53 },
54 {
55 "id": "password.noUser",
56 "defaultMessage": "!!!No user affiliated with that email address",
57 "file": "src/components/auth/Password.js",
58 "start": {
59 "line": 30,
60 "column": 10
61 },
62 "end": {
63 "line": 33,
64 "column": 3
65 }
66 },
67 {
68 "id": "password.link.signup",
69 "defaultMessage": "!!!Create a free account",
70 "file": "src/components/auth/Password.js",
71 "start": {
72 "line": 34,
73 "column": 14
74 },
75 "end": {
76 "line": 37,
77 "column": 3
78 }
79 },
80 {
81 "id": "password.link.login",
82 "defaultMessage": "!!!Sign in to your account",
83 "file": "src/components/auth/Password.js",
84 "start": {
85 "line": 38,
86 "column": 13
87 },
88 "end": {
89 "line": 41,
90 "column": 3
91 }
92 }
93]
diff --git a/src/i18n/messages/src/components/auth/Pricing.json b/src/i18n/messages/src/components/auth/Pricing.json
new file mode 100644
index 000000000..58c4a75b9
--- /dev/null
+++ b/src/i18n/messages/src/components/auth/Pricing.json
@@ -0,0 +1,54 @@
1[
2 {
3 "id": "pricing.headline",
4 "defaultMessage": "!!!Support Franz",
5 "file": "src/components/auth/Pricing.js",
6 "start": {
7 "line": 13,
8 "column": 12
9 },
10 "end": {
11 "line": 16,
12 "column": 3
13 }
14 },
15 {
16 "id": "pricing.support.label",
17 "defaultMessage": "!!!Select your support plan",
18 "file": "src/components/auth/Pricing.js",
19 "start": {
20 "line": 17,
21 "column": 23
22 },
23 "end": {
24 "line": 20,
25 "column": 3
26 }
27 },
28 {
29 "id": "pricing.submit.label",
30 "defaultMessage": "!!!Support the development of Franz",
31 "file": "src/components/auth/Pricing.js",
32 "start": {
33 "line": 21,
34 "column": 21
35 },
36 "end": {
37 "line": 24,
38 "column": 3
39 }
40 },
41 {
42 "id": "pricing.link.skipPayment",
43 "defaultMessage": "!!!I don't want to support the development of Franz.",
44 "file": "src/components/auth/Pricing.js",
45 "start": {
46 "line": 25,
47 "column": 15
48 },
49 "end": {
50 "line": 28,
51 "column": 3
52 }
53 }
54]
diff --git a/src/i18n/messages/src/components/auth/Signup.json b/src/i18n/messages/src/components/auth/Signup.json
new file mode 100644
index 000000000..8b877db98
--- /dev/null
+++ b/src/i18n/messages/src/components/auth/Signup.json
@@ -0,0 +1,158 @@
1[
2 {
3 "id": "signup.headline",
4 "defaultMessage": "!!!Sign up",
5 "file": "src/components/auth/Signup.js",
6 "start": {
7 "line": 18,
8 "column": 12
9 },
10 "end": {
11 "line": 21,
12 "column": 3
13 }
14 },
15 {
16 "id": "signup.firstname.label",
17 "defaultMessage": "!!!Firstname",
18 "file": "src/components/auth/Signup.js",
19 "start": {
20 "line": 22,
21 "column": 18
22 },
23 "end": {
24 "line": 25,
25 "column": 3
26 }
27 },
28 {
29 "id": "signup.lastname.label",
30 "defaultMessage": "!!!Lastname",
31 "file": "src/components/auth/Signup.js",
32 "start": {
33 "line": 26,
34 "column": 17
35 },
36 "end": {
37 "line": 29,
38 "column": 3
39 }
40 },
41 {
42 "id": "signup.email.label",
43 "defaultMessage": "!!!Email address",
44 "file": "src/components/auth/Signup.js",
45 "start": {
46 "line": 30,
47 "column": 14
48 },
49 "end": {
50 "line": 33,
51 "column": 3
52 }
53 },
54 {
55 "id": "signup.company.label",
56 "defaultMessage": "!!!Company",
57 "file": "src/components/auth/Signup.js",
58 "start": {
59 "line": 34,
60 "column": 16
61 },
62 "end": {
63 "line": 37,
64 "column": 3
65 }
66 },
67 {
68 "id": "signup.password.label",
69 "defaultMessage": "!!!Password",
70 "file": "src/components/auth/Signup.js",
71 "start": {
72 "line": 38,
73 "column": 17
74 },
75 "end": {
76 "line": 41,
77 "column": 3
78 }
79 },
80 {
81 "id": "signup.legal.info",
82 "defaultMessage": "!!!By creating a Franz account you accept the",
83 "file": "src/components/auth/Signup.js",
84 "start": {
85 "line": 42,
86 "column": 13
87 },
88 "end": {
89 "line": 45,
90 "column": 3
91 }
92 },
93 {
94 "id": "signup.legal.terms",
95 "defaultMessage": "!!!Terms of service",
96 "file": "src/components/auth/Signup.js",
97 "start": {
98 "line": 46,
99 "column": 9
100 },
101 "end": {
102 "line": 49,
103 "column": 3
104 }
105 },
106 {
107 "id": "signup.legal.privacy",
108 "defaultMessage": "!!!Privacy Statement",
109 "file": "src/components/auth/Signup.js",
110 "start": {
111 "line": 50,
112 "column": 11
113 },
114 "end": {
115 "line": 53,
116 "column": 3
117 }
118 },
119 {
120 "id": "signup.submit.label",
121 "defaultMessage": "!!!Create account",
122 "file": "src/components/auth/Signup.js",
123 "start": {
124 "line": 54,
125 "column": 21
126 },
127 "end": {
128 "line": 57,
129 "column": 3
130 }
131 },
132 {
133 "id": "signup.link.login",
134 "defaultMessage": "!!!Already have an account, sign in?",
135 "file": "src/components/auth/Signup.js",
136 "start": {
137 "line": 58,
138 "column": 13
139 },
140 "end": {
141 "line": 61,
142 "column": 3
143 }
144 },
145 {
146 "id": "signup.emailDuplicate",
147 "defaultMessage": "!!!A user with that email address already exists",
148 "file": "src/components/auth/Signup.js",
149 "start": {
150 "line": 62,
151 "column": 18
152 },
153 "end": {
154 "line": 65,
155 "column": 3
156 }
157 }
158]
diff --git a/src/i18n/messages/src/components/auth/Welcome.json b/src/i18n/messages/src/components/auth/Welcome.json
new file mode 100644
index 000000000..14d8ca939
--- /dev/null
+++ b/src/i18n/messages/src/components/auth/Welcome.json
@@ -0,0 +1,28 @@
1[
2 {
3 "id": "welcome.signupButton",
4 "defaultMessage": "!!!Create a free account",
5 "file": "src/components/auth/Welcome.js",
6 "start": {
7 "line": 9,
8 "column": 16
9 },
10 "end": {
11 "line": 12,
12 "column": 3
13 }
14 },
15 {
16 "id": "welcome.loginButton",
17 "defaultMessage": "!!!Login to your account",
18 "file": "src/components/auth/Welcome.js",
19 "start": {
20 "line": 13,
21 "column": 15
22 },
23 "end": {
24 "line": 16,
25 "column": 3
26 }
27 }
28]
diff --git a/src/i18n/messages/src/components/layout/AppLayout.json b/src/i18n/messages/src/components/layout/AppLayout.json
new file mode 100644
index 000000000..cec5eeaf1
--- /dev/null
+++ b/src/i18n/messages/src/components/layout/AppLayout.json
@@ -0,0 +1,80 @@
1[
2 {
3 "id": "infobar.servicesUpdated",
4 "defaultMessage": "!!!Your services have been updated.",
5 "file": "src/components/layout/AppLayout.js",
6 "start": {
7 "line": 22,
8 "column": 19
9 },
10 "end": {
11 "line": 25,
12 "column": 3
13 }
14 },
15 {
16 "id": "infobar.updateAvailable",
17 "defaultMessage": "!!!A new update for Franz is available.",
18 "file": "src/components/layout/AppLayout.js",
19 "start": {
20 "line": 26,
21 "column": 19
22 },
23 "end": {
24 "line": 29,
25 "column": 3
26 }
27 },
28 {
29 "id": "infobar.buttonReloadServices",
30 "defaultMessage": "!!!Reload services",
31 "file": "src/components/layout/AppLayout.js",
32 "start": {
33 "line": 30,
34 "column": 24
35 },
36 "end": {
37 "line": 33,
38 "column": 3
39 }
40 },
41 {
42 "id": "infobar.buttonChangelog",
43 "defaultMessage": "!!!Changelog",
44 "file": "src/components/layout/AppLayout.js",
45 "start": {
46 "line": 34,
47 "column": 13
48 },
49 "end": {
50 "line": 37,
51 "column": 3
52 }
53 },
54 {
55 "id": "infobar.buttonInstallUpdate",
56 "defaultMessage": "!!!Restart & install update",
57 "file": "src/components/layout/AppLayout.js",
58 "start": {
59 "line": 38,
60 "column": 23
61 },
62 "end": {
63 "line": 41,
64 "column": 3
65 }
66 },
67 {
68 "id": "infobar.requiredRequestsFailed",
69 "defaultMessage": "!!!Could not load services and user information",
70 "file": "src/components/layout/AppLayout.js",
71 "start": {
72 "line": 42,
73 "column": 26
74 },
75 "end": {
76 "line": 45,
77 "column": 3
78 }
79 }
80]
diff --git a/src/i18n/messages/src/components/layout/Sidebar.json b/src/i18n/messages/src/components/layout/Sidebar.json
new file mode 100644
index 000000000..d18d6ca21
--- /dev/null
+++ b/src/i18n/messages/src/components/layout/Sidebar.json
@@ -0,0 +1,54 @@
1[
2 {
3 "id": "sidebar.settings",
4 "defaultMessage": "!!!Settings",
5 "file": "src/components/layout/Sidebar.js",
6 "start": {
7 "line": 11,
8 "column": 12
9 },
10 "end": {
11 "line": 14,
12 "column": 3
13 }
14 },
15 {
16 "id": "sidebar.addNewService",
17 "defaultMessage": "!!!Add new service",
18 "file": "src/components/layout/Sidebar.js",
19 "start": {
20 "line": 15,
21 "column": 17
22 },
23 "end": {
24 "line": 18,
25 "column": 3
26 }
27 },
28 {
29 "id": "sidebar.muteApp",
30 "defaultMessage": "!!!Disable notifications & audio",
31 "file": "src/components/layout/Sidebar.js",
32 "start": {
33 "line": 19,
34 "column": 8
35 },
36 "end": {
37 "line": 22,
38 "column": 3
39 }
40 },
41 {
42 "id": "sidebar.unmuteApp",
43 "defaultMessage": "!!!Enable notifications & audio",
44 "file": "src/components/layout/Sidebar.js",
45 "start": {
46 "line": 23,
47 "column": 10
48 },
49 "end": {
50 "line": 26,
51 "column": 3
52 }
53 }
54]
diff --git a/src/i18n/messages/src/components/services/content/ErrorHandlers/WebviewErrorHandler.json b/src/i18n/messages/src/components/services/content/ErrorHandlers/WebviewErrorHandler.json
new file mode 100644
index 000000000..428d7f472
--- /dev/null
+++ b/src/i18n/messages/src/components/services/content/ErrorHandlers/WebviewErrorHandler.json
@@ -0,0 +1,67 @@
1[
2 {
3 "id": "service.errorHandler.headline",
4 "defaultMessage": "!!!Oh no!",
5 "file": "src/components/services/content/ErrorHandlers/WebviewErrorHandler.js",
6 "start": {
7 "line": 12,
8 "column": 12
9 },
10 "end": {
11 "line": 15,
12 "column": 3
13 }
14 },
15 {
16 "id": "service.errorHandler.text",
17 "defaultMessage": "!!!{name} has failed to load.",
18 "file": "src/components/services/content/ErrorHandlers/WebviewErrorHandler.js",
19 "start": {
20 "line": 16,
21 "column": 8
22 },
23 "end": {
24 "line": 19,
25 "column": 3
26 }
27 },
28 {
29 "id": "service.errorHandler.action",
30 "defaultMessage": "!!!Reload {name}",
31 "file": "src/components/services/content/ErrorHandlers/WebviewErrorHandler.js",
32 "start": {
33 "line": 20,
34 "column": 10
35 },
36 "end": {
37 "line": 23,
38 "column": 3
39 }
40 },
41 {
42 "id": "service.errorHandler.editAction",
43 "defaultMessage": "!!!Edit {name}",
44 "file": "src/components/services/content/ErrorHandlers/WebviewErrorHandler.js",
45 "start": {
46 "line": 24,
47 "column": 14
48 },
49 "end": {
50 "line": 27,
51 "column": 3
52 }
53 },
54 {
55 "id": "service.errorHandler.message",
56 "defaultMessage": "!!!Error:",
57 "file": "src/components/services/content/ErrorHandlers/WebviewErrorHandler.js",
58 "start": {
59 "line": 28,
60 "column": 16
61 },
62 "end": {
63 "line": 31,
64 "column": 3
65 }
66 }
67]
diff --git a/src/i18n/messages/src/components/services/content/ServiceDisabled.json b/src/i18n/messages/src/components/services/content/ServiceDisabled.json
new file mode 100644
index 000000000..9e3cf3df0
--- /dev/null
+++ b/src/i18n/messages/src/components/services/content/ServiceDisabled.json
@@ -0,0 +1,28 @@
1[
2 {
3 "id": "service.disabledHandler.headline",
4 "defaultMessage": "!!!{name} is disabled",
5 "file": "src/components/services/content/ServiceDisabled.js",
6 "start": {
7 "line": 9,
8 "column": 12
9 },
10 "end": {
11 "line": 12,
12 "column": 3
13 }
14 },
15 {
16 "id": "service.disabledHandler.action",
17 "defaultMessage": "!!!Enable {name}",
18 "file": "src/components/services/content/ServiceDisabled.js",
19 "start": {
20 "line": 13,
21 "column": 10
22 },
23 "end": {
24 "line": 16,
25 "column": 3
26 }
27 }
28]
diff --git a/src/i18n/messages/src/components/services/content/Services.json b/src/i18n/messages/src/components/services/content/Services.json
new file mode 100644
index 000000000..642a0949e
--- /dev/null
+++ b/src/i18n/messages/src/components/services/content/Services.json
@@ -0,0 +1,28 @@
1[
2 {
3 "id": "services.welcome",
4 "defaultMessage": "!!!Welcome to Franz",
5 "file": "src/components/services/content/Services.js",
6 "start": {
7 "line": 11,
8 "column": 11
9 },
10 "end": {
11 "line": 14,
12 "column": 3
13 }
14 },
15 {
16 "id": "services.getStarted",
17 "defaultMessage": "!!!Get started",
18 "file": "src/components/services/content/Services.js",
19 "start": {
20 "line": 15,
21 "column": 14
22 },
23 "end": {
24 "line": 18,
25 "column": 3
26 }
27 }
28]
diff --git a/src/i18n/messages/src/components/services/content/WebviewCrashHandler.json b/src/i18n/messages/src/components/services/content/WebviewCrashHandler.json
new file mode 100644
index 000000000..06307bb31
--- /dev/null
+++ b/src/i18n/messages/src/components/services/content/WebviewCrashHandler.json
@@ -0,0 +1,54 @@
1[
2 {
3 "id": "service.crashHandler.headline",
4 "defaultMessage": "!!!Oh no!",
5 "file": "src/components/services/content/WebviewCrashHandler.js",
6 "start": {
7 "line": 10,
8 "column": 12
9 },
10 "end": {
11 "line": 13,
12 "column": 3
13 }
14 },
15 {
16 "id": "service.crashHandler.text",
17 "defaultMessage": "!!!{name} has caused an error.",
18 "file": "src/components/services/content/WebviewCrashHandler.js",
19 "start": {
20 "line": 14,
21 "column": 8
22 },
23 "end": {
24 "line": 17,
25 "column": 3
26 }
27 },
28 {
29 "id": "service.crashHandler.action",
30 "defaultMessage": "!!!Reload {name}",
31 "file": "src/components/services/content/WebviewCrashHandler.js",
32 "start": {
33 "line": 18,
34 "column": 10
35 },
36 "end": {
37 "line": 21,
38 "column": 3
39 }
40 },
41 {
42 "id": "service.crashHandler.autoReload",
43 "defaultMessage": "!!!Trying to automatically restore {name} in {seconds} seconds",
44 "file": "src/components/services/content/WebviewCrashHandler.js",
45 "start": {
46 "line": 22,
47 "column": 14
48 },
49 "end": {
50 "line": 25,
51 "column": 3
52 }
53 }
54]
diff --git a/src/i18n/messages/src/components/services/tabs/TabItem.json b/src/i18n/messages/src/components/services/tabs/TabItem.json
new file mode 100644
index 000000000..7faf07843
--- /dev/null
+++ b/src/i18n/messages/src/components/services/tabs/TabItem.json
@@ -0,0 +1,119 @@
1[
2 {
3 "id": "tabs.item.reload",
4 "defaultMessage": "!!!Reload",
5 "file": "src/components/services/tabs/TabItem.js",
6 "start": {
7 "line": 15,
8 "column": 10
9 },
10 "end": {
11 "line": 18,
12 "column": 3
13 }
14 },
15 {
16 "id": "tabs.item.edit",
17 "defaultMessage": "!!!Edit",
18 "file": "src/components/services/tabs/TabItem.js",
19 "start": {
20 "line": 19,
21 "column": 8
22 },
23 "end": {
24 "line": 22,
25 "column": 3
26 }
27 },
28 {
29 "id": "tabs.item.disableNotifications",
30 "defaultMessage": "!!!Disable notifications",
31 "file": "src/components/services/tabs/TabItem.js",
32 "start": {
33 "line": 23,
34 "column": 24
35 },
36 "end": {
37 "line": 26,
38 "column": 3
39 }
40 },
41 {
42 "id": "tabs.item.enableNotification",
43 "defaultMessage": "!!!Enable notifications",
44 "file": "src/components/services/tabs/TabItem.js",
45 "start": {
46 "line": 27,
47 "column": 23
48 },
49 "end": {
50 "line": 30,
51 "column": 3
52 }
53 },
54 {
55 "id": "tabs.item.disableAudio",
56 "defaultMessage": "!!!Disable audio",
57 "file": "src/components/services/tabs/TabItem.js",
58 "start": {
59 "line": 31,
60 "column": 16
61 },
62 "end": {
63 "line": 34,
64 "column": 3
65 }
66 },
67 {
68 "id": "tabs.item.enableAudio",
69 "defaultMessage": "!!!Enable audio",
70 "file": "src/components/services/tabs/TabItem.js",
71 "start": {
72 "line": 35,
73 "column": 15
74 },
75 "end": {
76 "line": 38,
77 "column": 3
78 }
79 },
80 {
81 "id": "tabs.item.disableService",
82 "defaultMessage": "!!!Disable Service",
83 "file": "src/components/services/tabs/TabItem.js",
84 "start": {
85 "line": 39,
86 "column": 18
87 },
88 "end": {
89 "line": 42,
90 "column": 3
91 }
92 },
93 {
94 "id": "tabs.item.enableService",
95 "defaultMessage": "!!!Enable Service",
96 "file": "src/components/services/tabs/TabItem.js",
97 "start": {
98 "line": 43,
99 "column": 17
100 },
101 "end": {
102 "line": 46,
103 "column": 3
104 }
105 },
106 {
107 "id": "tabs.item.deleteService",
108 "defaultMessage": "!!!Delete Service",
109 "file": "src/components/services/tabs/TabItem.js",
110 "start": {
111 "line": 47,
112 "column": 17
113 },
114 "end": {
115 "line": 50,
116 "column": 3
117 }
118 }
119]
diff --git a/src/i18n/messages/src/components/settings/account/AccountDashboard.json b/src/i18n/messages/src/components/settings/account/AccountDashboard.json
new file mode 100644
index 000000000..fbb0e8de4
--- /dev/null
+++ b/src/i18n/messages/src/components/settings/account/AccountDashboard.json
@@ -0,0 +1,210 @@
1[
2 {
3 "id": "settings.account.headline",
4 "defaultMessage": "!!!Account",
5 "file": "src/components/settings/account/AccountDashboard.js",
6 "start": {
7 "line": 15,
8 "column": 12
9 },
10 "end": {
11 "line": 18,
12 "column": 3
13 }
14 },
15 {
16 "id": "settings.account.headlineSubscription",
17 "defaultMessage": "!!!Your Subscription",
18 "file": "src/components/settings/account/AccountDashboard.js",
19 "start": {
20 "line": 19,
21 "column": 24
22 },
23 "end": {
24 "line": 22,
25 "column": 3
26 }
27 },
28 {
29 "id": "settings.account.headlineUpgrade",
30 "defaultMessage": "!!!Upgrade your Account",
31 "file": "src/components/settings/account/AccountDashboard.js",
32 "start": {
33 "line": 23,
34 "column": 19
35 },
36 "end": {
37 "line": 26,
38 "column": 3
39 }
40 },
41 {
42 "id": "settings.account.headlineInvoices",
43 "defaultMessage": "!!Invoices",
44 "file": "src/components/settings/account/AccountDashboard.js",
45 "start": {
46 "line": 27,
47 "column": 20
48 },
49 "end": {
50 "line": 30,
51 "column": 3
52 }
53 },
54 {
55 "id": "settings.account.headlineDangerZone",
56 "defaultMessage": "!!Danger Zone",
57 "file": "src/components/settings/account/AccountDashboard.js",
58 "start": {
59 "line": 31,
60 "column": 22
61 },
62 "end": {
63 "line": 34,
64 "column": 3
65 }
66 },
67 {
68 "id": "settings.account.manageSubscription.label",
69 "defaultMessage": "!!!Manage your subscription",
70 "file": "src/components/settings/account/AccountDashboard.js",
71 "start": {
72 "line": 35,
73 "column": 33
74 },
75 "end": {
76 "line": 38,
77 "column": 3
78 }
79 },
80 {
81 "id": "settings.account.accountType.basic",
82 "defaultMessage": "!!!Basic Account",
83 "file": "src/components/settings/account/AccountDashboard.js",
84 "start": {
85 "line": 39,
86 "column": 20
87 },
88 "end": {
89 "line": 42,
90 "column": 3
91 }
92 },
93 {
94 "id": "settings.account.accountType.premium",
95 "defaultMessage": "!!!Premium Supporter Account",
96 "file": "src/components/settings/account/AccountDashboard.js",
97 "start": {
98 "line": 43,
99 "column": 22
100 },
101 "end": {
102 "line": 46,
103 "column": 3
104 }
105 },
106 {
107 "id": "settings.account.accountType.enterprise",
108 "defaultMessage": "!!!Enterprise Account",
109 "file": "src/components/settings/account/AccountDashboard.js",
110 "start": {
111 "line": 47,
112 "column": 25
113 },
114 "end": {
115 "line": 50,
116 "column": 3
117 }
118 },
119 {
120 "id": "settings.account.account.editButton",
121 "defaultMessage": "!!!Edit Account",
122 "file": "src/components/settings/account/AccountDashboard.js",
123 "start": {
124 "line": 51,
125 "column": 21
126 },
127 "end": {
128 "line": 54,
129 "column": 3
130 }
131 },
132 {
133 "id": "settings.account.invoiceDownload",
134 "defaultMessage": "!!!Download",
135 "file": "src/components/settings/account/AccountDashboard.js",
136 "start": {
137 "line": 55,
138 "column": 19
139 },
140 "end": {
141 "line": 58,
142 "column": 3
143 }
144 },
145 {
146 "id": "settings.account.userInfoRequestFailed",
147 "defaultMessage": "!!!Could not load user information",
148 "file": "src/components/settings/account/AccountDashboard.js",
149 "start": {
150 "line": 59,
151 "column": 25
152 },
153 "end": {
154 "line": 62,
155 "column": 3
156 }
157 },
158 {
159 "id": "settings.account.tryReloadUserInfoRequest",
160 "defaultMessage": "!!!Try again",
161 "file": "src/components/settings/account/AccountDashboard.js",
162 "start": {
163 "line": 63,
164 "column": 28
165 },
166 "end": {
167 "line": 66,
168 "column": 3
169 }
170 },
171 {
172 "id": "settings.account.deleteAccount",
173 "defaultMessage": "!!!Delete account",
174 "file": "src/components/settings/account/AccountDashboard.js",
175 "start": {
176 "line": 67,
177 "column": 17
178 },
179 "end": {
180 "line": 70,
181 "column": 3
182 }
183 },
184 {
185 "id": "settings.account.deleteInfo",
186 "defaultMessage": "!!!If you don't need your Franz account any longer, you can delete your account and all related data here.",
187 "file": "src/components/settings/account/AccountDashboard.js",
188 "start": {
189 "line": 71,
190 "column": 14
191 },
192 "end": {
193 "line": 74,
194 "column": 3
195 }
196 },
197 {
198 "id": "settings.account.deleteEmailSent",
199 "defaultMessage": "!!!You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!",
200 "file": "src/components/settings/account/AccountDashboard.js",
201 "start": {
202 "line": 75,
203 "column": 19
204 },
205 "end": {
206 "line": 78,
207 "column": 3
208 }
209 }
210]
diff --git a/src/i18n/messages/src/components/settings/navigation/SettingsNavigation.json b/src/i18n/messages/src/components/settings/navigation/SettingsNavigation.json
new file mode 100644
index 000000000..6cb6adc11
--- /dev/null
+++ b/src/i18n/messages/src/components/settings/navigation/SettingsNavigation.json
@@ -0,0 +1,80 @@
1[
2 {
3 "id": "settings.navigation.availableServices",
4 "defaultMessage": "!!!Available services",
5 "file": "src/components/settings/navigation/SettingsNavigation.js",
6 "start": {
7 "line": 9,
8 "column": 21
9 },
10 "end": {
11 "line": 12,
12 "column": 3
13 }
14 },
15 {
16 "id": "settings.navigation.yourServices",
17 "defaultMessage": "!!!Your services",
18 "file": "src/components/settings/navigation/SettingsNavigation.js",
19 "start": {
20 "line": 13,
21 "column": 16
22 },
23 "end": {
24 "line": 16,
25 "column": 3
26 }
27 },
28 {
29 "id": "settings.navigation.account",
30 "defaultMessage": "!!!Account",
31 "file": "src/components/settings/navigation/SettingsNavigation.js",
32 "start": {
33 "line": 17,
34 "column": 11
35 },
36 "end": {
37 "line": 20,
38 "column": 3
39 }
40 },
41 {
42 "id": "settings.navigation.settings",
43 "defaultMessage": "!!!Settings",
44 "file": "src/components/settings/navigation/SettingsNavigation.js",
45 "start": {
46 "line": 21,
47 "column": 12
48 },
49 "end": {
50 "line": 24,
51 "column": 3
52 }
53 },
54 {
55 "id": "settings.navigation.inviteFriends",
56 "defaultMessage": "!!!Invite Friends",
57 "file": "src/components/settings/navigation/SettingsNavigation.js",
58 "start": {
59 "line": 25,
60 "column": 17
61 },
62 "end": {
63 "line": 28,
64 "column": 3
65 }
66 },
67 {
68 "id": "settings.navigation.logout",
69 "defaultMessage": "!!!Logout",
70 "file": "src/components/settings/navigation/SettingsNavigation.js",
71 "start": {
72 "line": 29,
73 "column": 10
74 },
75 "end": {
76 "line": 32,
77 "column": 3
78 }
79 }
80]
diff --git a/src/i18n/messages/src/components/settings/recipes/RecipesDashboard.json b/src/i18n/messages/src/components/settings/recipes/RecipesDashboard.json
new file mode 100644
index 000000000..74d9032b3
--- /dev/null
+++ b/src/i18n/messages/src/components/settings/recipes/RecipesDashboard.json
@@ -0,0 +1,106 @@
1[
2 {
3 "id": "settings.recipes.headline",
4 "defaultMessage": "!!!Available Services",
5 "file": "src/components/settings/recipes/RecipesDashboard.js",
6 "start": {
7 "line": 15,
8 "column": 12
9 },
10 "end": {
11 "line": 18,
12 "column": 3
13 }
14 },
15 {
16 "id": "settings.searchService",
17 "defaultMessage": "!!!Search service",
18 "file": "src/components/settings/recipes/RecipesDashboard.js",
19 "start": {
20 "line": 19,
21 "column": 17
22 },
23 "end": {
24 "line": 22,
25 "column": 3
26 }
27 },
28 {
29 "id": "settings.recipes.mostPopular",
30 "defaultMessage": "!!!Most popular",
31 "file": "src/components/settings/recipes/RecipesDashboard.js",
32 "start": {
33 "line": 23,
34 "column": 22
35 },
36 "end": {
37 "line": 26,
38 "column": 3
39 }
40 },
41 {
42 "id": "settings.recipes.all",
43 "defaultMessage": "!!!All services",
44 "file": "src/components/settings/recipes/RecipesDashboard.js",
45 "start": {
46 "line": 27,
47 "column": 14
48 },
49 "end": {
50 "line": 30,
51 "column": 3
52 }
53 },
54 {
55 "id": "settings.recipes.dev",
56 "defaultMessage": "!!!Development",
57 "file": "src/components/settings/recipes/RecipesDashboard.js",
58 "start": {
59 "line": 31,
60 "column": 14
61 },
62 "end": {
63 "line": 34,
64 "column": 3
65 }
66 },
67 {
68 "id": "settings.recipes.nothingFound",
69 "defaultMessage": "!!!Sorry, but no service matched your search term.",
70 "file": "src/components/settings/recipes/RecipesDashboard.js",
71 "start": {
72 "line": 35,
73 "column": 16
74 },
75 "end": {
76 "line": 38,
77 "column": 3
78 }
79 },
80 {
81 "id": "settings.recipes.servicesSuccessfulAddedInfo",
82 "defaultMessage": "!!!Service successfully added",
83 "file": "src/components/settings/recipes/RecipesDashboard.js",
84 "start": {
85 "line": 39,
86 "column": 31
87 },
88 "end": {
89 "line": 42,
90 "column": 3
91 }
92 },
93 {
94 "id": "settings.recipes.missingService",
95 "defaultMessage": "!!!Missing a service?",
96 "file": "src/components/settings/recipes/RecipesDashboard.js",
97 "start": {
98 "line": 43,
99 "column": 18
100 },
101 "end": {
102 "line": 46,
103 "column": 3
104 }
105 }
106]
diff --git a/src/i18n/messages/src/components/settings/services/EditServiceForm.json b/src/i18n/messages/src/components/settings/services/EditServiceForm.json
new file mode 100644
index 000000000..02290594a
--- /dev/null
+++ b/src/i18n/messages/src/components/settings/services/EditServiceForm.json
@@ -0,0 +1,288 @@
1[
2 {
3 "id": "settings.service.form.saveButton",
4 "defaultMessage": "!!!Save service",
5 "file": "src/components/settings/services/EditServiceForm.js",
6 "start": {
7 "line": 22,
8 "column": 15
9 },
10 "end": {
11 "line": 25,
12 "column": 3
13 }
14 },
15 {
16 "id": "settings.service.form.deleteButton",
17 "defaultMessage": "!!!Delete Service",
18 "file": "src/components/settings/services/EditServiceForm.js",
19 "start": {
20 "line": 26,
21 "column": 17
22 },
23 "end": {
24 "line": 29,
25 "column": 3
26 }
27 },
28 {
29 "id": "settings.service.form.availableServices",
30 "defaultMessage": "!!!Available services",
31 "file": "src/components/settings/services/EditServiceForm.js",
32 "start": {
33 "line": 30,
34 "column": 21
35 },
36 "end": {
37 "line": 33,
38 "column": 3
39 }
40 },
41 {
42 "id": "settings.service.form.yourServices",
43 "defaultMessage": "!!!Your services",
44 "file": "src/components/settings/services/EditServiceForm.js",
45 "start": {
46 "line": 34,
47 "column": 16
48 },
49 "end": {
50 "line": 37,
51 "column": 3
52 }
53 },
54 {
55 "id": "settings.service.form.addServiceHeadline",
56 "defaultMessage": "!!!Add {name}",
57 "file": "src/components/settings/services/EditServiceForm.js",
58 "start": {
59 "line": 38,
60 "column": 22
61 },
62 "end": {
63 "line": 41,
64 "column": 3
65 }
66 },
67 {
68 "id": "settings.service.form.editServiceHeadline",
69 "defaultMessage": "!!!Edit {name}",
70 "file": "src/components/settings/services/EditServiceForm.js",
71 "start": {
72 "line": 42,
73 "column": 23
74 },
75 "end": {
76 "line": 45,
77 "column": 3
78 }
79 },
80 {
81 "id": "settings.service.form.tabHosted",
82 "defaultMessage": "!!!Hosted",
83 "file": "src/components/settings/services/EditServiceForm.js",
84 "start": {
85 "line": 46,
86 "column": 13
87 },
88 "end": {
89 "line": 49,
90 "column": 3
91 }
92 },
93 {
94 "id": "settings.service.form.tabOnPremise",
95 "defaultMessage": "!!!Self hosted ⭐️",
96 "file": "src/components/settings/services/EditServiceForm.js",
97 "start": {
98 "line": 50,
99 "column": 16
100 },
101 "end": {
102 "line": 53,
103 "column": 3
104 }
105 },
106 {
107 "id": "settings.service.form.useHostedService",
108 "defaultMessage": "!!!Use the hosted {name} service.",
109 "file": "src/components/settings/services/EditServiceForm.js",
110 "start": {
111 "line": 54,
112 "column": 20
113 },
114 "end": {
115 "line": 57,
116 "column": 3
117 }
118 },
119 {
120 "id": "settings.service.form.customUrlValidationError",
121 "defaultMessage": "!!!Could not validate custom {name} server.",
122 "file": "src/components/settings/services/EditServiceForm.js",
123 "start": {
124 "line": 58,
125 "column": 28
126 },
127 "end": {
128 "line": 61,
129 "column": 3
130 }
131 },
132 {
133 "id": "settings.service.form.customUrlPremiumInfo",
134 "defaultMessage": "!!!To add self hosted services, you need a Franz Premium Supporter Account.",
135 "file": "src/components/settings/services/EditServiceForm.js",
136 "start": {
137 "line": 62,
138 "column": 24
139 },
140 "end": {
141 "line": 65,
142 "column": 3
143 }
144 },
145 {
146 "id": "settings.service.form.customUrlUpgradeAccount",
147 "defaultMessage": "!!!Upgrade your account",
148 "file": "src/components/settings/services/EditServiceForm.js",
149 "start": {
150 "line": 66,
151 "column": 27
152 },
153 "end": {
154 "line": 69,
155 "column": 3
156 }
157 },
158 {
159 "id": "settings.service.form.indirectMessageInfo",
160 "defaultMessage": "!!!You will be notified about all new messages in a channel, not just @username, @channel, @here, ...",
161 "file": "src/components/settings/services/EditServiceForm.js",
162 "start": {
163 "line": 70,
164 "column": 23
165 },
166 "end": {
167 "line": 73,
168 "column": 3
169 }
170 },
171 {
172 "id": "settings.service.form.isMutedInfo",
173 "defaultMessage": "!!!When disabled, all notification sounds and audio playback are muted",
174 "file": "src/components/settings/services/EditServiceForm.js",
175 "start": {
176 "line": 74,
177 "column": 15
178 },
179 "end": {
180 "line": 77,
181 "column": 3
182 }
183 },
184 {
185 "id": "settings.service.form.headlineNotifications",
186 "defaultMessage": "!!!Notifications",
187 "file": "src/components/settings/services/EditServiceForm.js",
188 "start": {
189 "line": 78,
190 "column": 25
191 },
192 "end": {
193 "line": 81,
194 "column": 3
195 }
196 },
197 {
198 "id": "settings.service.form.headlineBadges",
199 "defaultMessage": "!!!Unread message badges",
200 "file": "src/components/settings/services/EditServiceForm.js",
201 "start": {
202 "line": 82,
203 "column": 18
204 },
205 "end": {
206 "line": 85,
207 "column": 3
208 }
209 },
210 {
211 "id": "settings.service.form.headlineGeneral",
212 "defaultMessage": "!!!General",
213 "file": "src/components/settings/services/EditServiceForm.js",
214 "start": {
215 "line": 86,
216 "column": 19
217 },
218 "end": {
219 "line": 89,
220 "column": 3
221 }
222 },
223 {
224 "id": "settings.service.form.iconDelete",
225 "defaultMessage": "!!!Delete",
226 "file": "src/components/settings/services/EditServiceForm.js",
227 "start": {
228 "line": 90,
229 "column": 14
230 },
231 "end": {
232 "line": 93,
233 "column": 3
234 }
235 },
236 {
237 "id": "settings.service.form.iconUpload",
238 "defaultMessage": "!!!Drop your image, or click here",
239 "file": "src/components/settings/services/EditServiceForm.js",
240 "start": {
241 "line": 94,
242 "column": 14
243 },
244 "end": {
245 "line": 97,
246 "column": 3
247 }
248 },
249 {
250 "id": "settings.service.form.proxy.headline",
251 "defaultMessage": "!!!HTTP/HTTPS Proxy Settings",
252 "file": "src/components/settings/services/EditServiceForm.js",
253 "start": {
254 "line": 98,
255 "column": 17
256 },
257 "end": {
258 "line": 101,
259 "column": 3
260 }
261 },
262 {
263 "id": "settings.service.form.proxy.restartInfo",
264 "defaultMessage": "!!!Please restart Franz after changing proxy Settings.",
265 "file": "src/components/settings/services/EditServiceForm.js",
266 "start": {
267 "line": 102,
268 "column": 20
269 },
270 "end": {
271 "line": 105,
272 "column": 3
273 }
274 },
275 {
276 "id": "settings.service.form.proxy.info",
277 "defaultMessage": "!!!Proxy settings will not be synchronized with the Franz servers.",
278 "file": "src/components/settings/services/EditServiceForm.js",
279 "start": {
280 "line": 106,
281 "column": 13
282 },
283 "end": {
284 "line": 109,
285 "column": 3
286 }
287 }
288]
diff --git a/src/i18n/messages/src/components/settings/services/ServiceError.json b/src/i18n/messages/src/components/settings/services/ServiceError.json
new file mode 100644
index 000000000..fa60ac931
--- /dev/null
+++ b/src/i18n/messages/src/components/settings/services/ServiceError.json
@@ -0,0 +1,54 @@
1[
2 {
3 "id": "settings.service.error.headline",
4 "defaultMessage": "!!!Error",
5 "file": "src/components/settings/services/ServiceError.js",
6 "start": {
7 "line": 10,
8 "column": 12
9 },
10 "end": {
11 "line": 13,
12 "column": 3
13 }
14 },
15 {
16 "id": "settings.service.error.goBack",
17 "defaultMessage": "!!!Back to services",
18 "file": "src/components/settings/services/ServiceError.js",
19 "start": {
20 "line": 14,
21 "column": 10
22 },
23 "end": {
24 "line": 17,
25 "column": 3
26 }
27 },
28 {
29 "id": "settings.service.form.availableServices",
30 "defaultMessage": "!!!Available services",
31 "file": "src/components/settings/services/ServiceError.js",
32 "start": {
33 "line": 18,
34 "column": 21
35 },
36 "end": {
37 "line": 21,
38 "column": 3
39 }
40 },
41 {
42 "id": "settings.service.error.message",
43 "defaultMessage": "!!!Could not load service recipe.",
44 "file": "src/components/settings/services/ServiceError.js",
45 "start": {
46 "line": 22,
47 "column": 16
48 },
49 "end": {
50 "line": 25,
51 "column": 3
52 }
53 }
54]
diff --git a/src/i18n/messages/src/components/settings/services/ServiceItem.json b/src/i18n/messages/src/components/settings/services/ServiceItem.json
new file mode 100644
index 000000000..70969641c
--- /dev/null
+++ b/src/i18n/messages/src/components/settings/services/ServiceItem.json
@@ -0,0 +1,41 @@
1[
2 {
3 "id": "settings.services.tooltip.isDisabled",
4 "defaultMessage": "!!!Service is disabled",
5 "file": "src/components/settings/services/ServiceItem.js",
6 "start": {
7 "line": 11,
8 "column": 21
9 },
10 "end": {
11 "line": 14,
12 "column": 3
13 }
14 },
15 {
16 "id": "settings.services.tooltip.notificationsDisabled",
17 "defaultMessage": "!!!Notifications are disabled",
18 "file": "src/components/settings/services/ServiceItem.js",
19 "start": {
20 "line": 15,
21 "column": 32
22 },
23 "end": {
24 "line": 18,
25 "column": 3
26 }
27 },
28 {
29 "id": "settings.services.tooltip.isMuted",
30 "defaultMessage": "!!!All sounds are muted",
31 "file": "src/components/settings/services/ServiceItem.js",
32 "start": {
33 "line": 19,
34 "column": 18
35 },
36 "end": {
37 "line": 22,
38 "column": 3
39 }
40 }
41]
diff --git a/src/i18n/messages/src/components/settings/services/ServicesDashboard.json b/src/i18n/messages/src/components/settings/services/ServicesDashboard.json
new file mode 100644
index 000000000..76fd714af
--- /dev/null
+++ b/src/i18n/messages/src/components/settings/services/ServicesDashboard.json
@@ -0,0 +1,119 @@
1[
2 {
3 "id": "settings.services.headline",
4 "defaultMessage": "!!!Your services",
5 "file": "src/components/settings/services/ServicesDashboard.js",
6 "start": {
7 "line": 14,
8 "column": 12
9 },
10 "end": {
11 "line": 17,
12 "column": 3
13 }
14 },
15 {
16 "id": "settings.searchService",
17 "defaultMessage": "!!!Search service",
18 "file": "src/components/settings/services/ServicesDashboard.js",
19 "start": {
20 "line": 18,
21 "column": 17
22 },
23 "end": {
24 "line": 21,
25 "column": 3
26 }
27 },
28 {
29 "id": "settings.services.noServicesAdded",
30 "defaultMessage": "!!!You haven't added any services yet.",
31 "file": "src/components/settings/services/ServicesDashboard.js",
32 "start": {
33 "line": 22,
34 "column": 19
35 },
36 "end": {
37 "line": 25,
38 "column": 3
39 }
40 },
41 {
42 "id": "settings.recipes.nothingFound",
43 "defaultMessage": "!!!Sorry, but no service matched your search term.",
44 "file": "src/components/settings/services/ServicesDashboard.js",
45 "start": {
46 "line": 26,
47 "column": 18
48 },
49 "end": {
50 "line": 29,
51 "column": 3
52 }
53 },
54 {
55 "id": "settings.services.discoverServices",
56 "defaultMessage": "!!!Discover services",
57 "file": "src/components/settings/services/ServicesDashboard.js",
58 "start": {
59 "line": 30,
60 "column": 20
61 },
62 "end": {
63 "line": 33,
64 "column": 3
65 }
66 },
67 {
68 "id": "settings.services.servicesRequestFailed",
69 "defaultMessage": "!!!Could not load your services",
70 "file": "src/components/settings/services/ServicesDashboard.js",
71 "start": {
72 "line": 34,
73 "column": 25
74 },
75 "end": {
76 "line": 37,
77 "column": 3
78 }
79 },
80 {
81 "id": "settings.account.tryReloadServices",
82 "defaultMessage": "!!!Try again",
83 "file": "src/components/settings/services/ServicesDashboard.js",
84 "start": {
85 "line": 38,
86 "column": 21
87 },
88 "end": {
89 "line": 41,
90 "column": 3
91 }
92 },
93 {
94 "id": "settings.services.updatedInfo",
95 "defaultMessage": "!!!Your changes have been saved",
96 "file": "src/components/settings/services/ServicesDashboard.js",
97 "start": {
98 "line": 42,
99 "column": 15
100 },
101 "end": {
102 "line": 45,
103 "column": 3
104 }
105 },
106 {
107 "id": "settings.services.deletedInfo",
108 "defaultMessage": "!!!Service has been deleted",
109 "file": "src/components/settings/services/ServicesDashboard.js",
110 "start": {
111 "line": 46,
112 "column": 15
113 },
114 "end": {
115 "line": 49,
116 "column": 3
117 }
118 }
119]
diff --git a/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json b/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json
new file mode 100644
index 000000000..15beba9ab
--- /dev/null
+++ b/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json
@@ -0,0 +1,223 @@
1[
2 {
3 "id": "settings.app.headline",
4 "defaultMessage": "!!!Settings",
5 "file": "src/components/settings/settings/EditSettingsForm.js",
6 "start": {
7 "line": 16,
8 "column": 12
9 },
10 "end": {
11 "line": 19,
12 "column": 3
13 }
14 },
15 {
16 "id": "settings.app.headlineGeneral",
17 "defaultMessage": "!!!General",
18 "file": "src/components/settings/settings/EditSettingsForm.js",
19 "start": {
20 "line": 20,
21 "column": 19
22 },
23 "end": {
24 "line": 23,
25 "column": 3
26 }
27 },
28 {
29 "id": "settings.app.headlineLanguage",
30 "defaultMessage": "!!!Language",
31 "file": "src/components/settings/settings/EditSettingsForm.js",
32 "start": {
33 "line": 24,
34 "column": 20
35 },
36 "end": {
37 "line": 27,
38 "column": 3
39 }
40 },
41 {
42 "id": "settings.app.headlineUpdates",
43 "defaultMessage": "!!!Updates",
44 "file": "src/components/settings/settings/EditSettingsForm.js",
45 "start": {
46 "line": 28,
47 "column": 19
48 },
49 "end": {
50 "line": 31,
51 "column": 3
52 }
53 },
54 {
55 "id": "settings.app.headlineAppearance",
56 "defaultMessage": "!!!Appearance",
57 "file": "src/components/settings/settings/EditSettingsForm.js",
58 "start": {
59 "line": 32,
60 "column": 22
61 },
62 "end": {
63 "line": 35,
64 "column": 3
65 }
66 },
67 {
68 "id": "settings.app.headlineAdvanced",
69 "defaultMessage": "!!!Advanced",
70 "file": "src/components/settings/settings/EditSettingsForm.js",
71 "start": {
72 "line": 36,
73 "column": 20
74 },
75 "end": {
76 "line": 39,
77 "column": 3
78 }
79 },
80 {
81 "id": "settings.app.translationHelp",
82 "defaultMessage": "!!!Help us to translate Franz into your language.",
83 "file": "src/components/settings/settings/EditSettingsForm.js",
84 "start": {
85 "line": 40,
86 "column": 19
87 },
88 "end": {
89 "line": 43,
90 "column": 3
91 }
92 },
93 {
94 "id": "settings.app.subheadlineCache",
95 "defaultMessage": "!!!Cache",
96 "file": "src/components/settings/settings/EditSettingsForm.js",
97 "start": {
98 "line": 44,
99 "column": 20
100 },
101 "end": {
102 "line": 47,
103 "column": 3
104 }
105 },
106 {
107 "id": "settings.app.cacheInfo",
108 "defaultMessage": "!!!Franz cache is currently using {size} of disk space.",
109 "file": "src/components/settings/settings/EditSettingsForm.js",
110 "start": {
111 "line": 48,
112 "column": 13
113 },
114 "end": {
115 "line": 51,
116 "column": 3
117 }
118 },
119 {
120 "id": "settings.app.buttonClearAllCache",
121 "defaultMessage": "!!!Clear cache",
122 "file": "src/components/settings/settings/EditSettingsForm.js",
123 "start": {
124 "line": 52,
125 "column": 23
126 },
127 "end": {
128 "line": 55,
129 "column": 3
130 }
131 },
132 {
133 "id": "settings.app.buttonSearchForUpdate",
134 "defaultMessage": "!!!Check for updates",
135 "file": "src/components/settings/settings/EditSettingsForm.js",
136 "start": {
137 "line": 56,
138 "column": 25
139 },
140 "end": {
141 "line": 59,
142 "column": 3
143 }
144 },
145 {
146 "id": "settings.app.buttonInstallUpdate",
147 "defaultMessage": "!!!Restart & install update",
148 "file": "src/components/settings/settings/EditSettingsForm.js",
149 "start": {
150 "line": 60,
151 "column": 23
152 },
153 "end": {
154 "line": 63,
155 "column": 3
156 }
157 },
158 {
159 "id": "settings.app.updateStatusSearching",
160 "defaultMessage": "!!!Is searching for update",
161 "file": "src/components/settings/settings/EditSettingsForm.js",
162 "start": {
163 "line": 64,
164 "column": 25
165 },
166 "end": {
167 "line": 67,
168 "column": 3
169 }
170 },
171 {
172 "id": "settings.app.updateStatusAvailable",
173 "defaultMessage": "!!!Update available, downloading...",
174 "file": "src/components/settings/settings/EditSettingsForm.js",
175 "start": {
176 "line": 68,
177 "column": 25
178 },
179 "end": {
180 "line": 71,
181 "column": 3
182 }
183 },
184 {
185 "id": "settings.app.updateStatusUpToDate",
186 "defaultMessage": "!!!You are using the latest version of Franz",
187 "file": "src/components/settings/settings/EditSettingsForm.js",
188 "start": {
189 "line": 72,
190 "column": 24
191 },
192 "end": {
193 "line": 75,
194 "column": 3
195 }
196 },
197 {
198 "id": "settings.app.currentVersion",
199 "defaultMessage": "!!!Current version:",
200 "file": "src/components/settings/settings/EditSettingsForm.js",
201 "start": {
202 "line": 76,
203 "column": 18
204 },
205 "end": {
206 "line": 79,
207 "column": 3
208 }
209 },
210 {
211 "id": "settings.app.restartRequired",
212 "defaultMessage": "!!!Changes require restart",
213 "file": "src/components/settings/settings/EditSettingsForm.js",
214 "start": {
215 "line": 80,
216 "column": 29
217 },
218 "end": {
219 "line": 83,
220 "column": 3
221 }
222 }
223]
diff --git a/src/i18n/messages/src/components/settings/user/EditUserForm.json b/src/i18n/messages/src/components/settings/user/EditUserForm.json
new file mode 100644
index 000000000..0524f0b2c
--- /dev/null
+++ b/src/i18n/messages/src/components/settings/user/EditUserForm.json
@@ -0,0 +1,80 @@
1[
2 {
3 "id": "settings.account.headline",
4 "defaultMessage": "!!!Account",
5 "file": "src/components/settings/user/EditUserForm.js",
6 "start": {
7 "line": 15,
8 "column": 12
9 },
10 "end": {
11 "line": 18,
12 "column": 3
13 }
14 },
15 {
16 "id": "settings.account.headlineProfile",
17 "defaultMessage": "!!!Update Profile",
18 "file": "src/components/settings/user/EditUserForm.js",
19 "start": {
20 "line": 19,
21 "column": 19
22 },
23 "end": {
24 "line": 22,
25 "column": 3
26 }
27 },
28 {
29 "id": "settings.account.headlineAccount",
30 "defaultMessage": "!!!Account Information",
31 "file": "src/components/settings/user/EditUserForm.js",
32 "start": {
33 "line": 23,
34 "column": 19
35 },
36 "end": {
37 "line": 26,
38 "column": 3
39 }
40 },
41 {
42 "id": "settings.account.headlinePassword",
43 "defaultMessage": "!!!Change Password",
44 "file": "src/components/settings/user/EditUserForm.js",
45 "start": {
46 "line": 27,
47 "column": 20
48 },
49 "end": {
50 "line": 30,
51 "column": 3
52 }
53 },
54 {
55 "id": "settings.account.successInfo",
56 "defaultMessage": "!!!Your changes have been saved",
57 "file": "src/components/settings/user/EditUserForm.js",
58 "start": {
59 "line": 31,
60 "column": 15
61 },
62 "end": {
63 "line": 34,
64 "column": 3
65 }
66 },
67 {
68 "id": "settings.account.buttonSave",
69 "defaultMessage": "!!!Update profile",
70 "file": "src/components/settings/user/EditUserForm.js",
71 "start": {
72 "line": 35,
73 "column": 14
74 },
75 "end": {
76 "line": 38,
77 "column": 3
78 }
79 }
80]
diff --git a/src/i18n/messages/src/components/subscription/SubscriptionForm.json b/src/i18n/messages/src/components/subscription/SubscriptionForm.json
new file mode 100644
index 000000000..38d4eb25e
--- /dev/null
+++ b/src/i18n/messages/src/components/subscription/SubscriptionForm.json
@@ -0,0 +1,171 @@
1[
2 {
3 "id": "subscription.submit.label",
4 "defaultMessage": "!!!Support the development of Franz",
5 "file": "src/components/subscription/SubscriptionForm.js",
6 "start": {
7 "line": 14,
8 "column": 21
9 },
10 "end": {
11 "line": 17,
12 "column": 3
13 }
14 },
15 {
16 "id": "subscription.paymentSessionError",
17 "defaultMessage": "!!!Could not initialize payment form",
18 "file": "src/components/subscription/SubscriptionForm.js",
19 "start": {
20 "line": 18,
21 "column": 23
22 },
23 "end": {
24 "line": 21,
25 "column": 3
26 }
27 },
28 {
29 "id": "subscription.type.free",
30 "defaultMessage": "!!!free",
31 "file": "src/components/subscription/SubscriptionForm.js",
32 "start": {
33 "line": 22,
34 "column": 12
35 },
36 "end": {
37 "line": 25,
38 "column": 3
39 }
40 },
41 {
42 "id": "subscription.type.month",
43 "defaultMessage": "!!!month",
44 "file": "src/components/subscription/SubscriptionForm.js",
45 "start": {
46 "line": 26,
47 "column": 15
48 },
49 "end": {
50 "line": 29,
51 "column": 3
52 }
53 },
54 {
55 "id": "subscription.type.year",
56 "defaultMessage": "!!!year",
57 "file": "src/components/subscription/SubscriptionForm.js",
58 "start": {
59 "line": 30,
60 "column": 14
61 },
62 "end": {
63 "line": 33,
64 "column": 3
65 }
66 },
67 {
68 "id": "subscription.includedFeatures",
69 "defaultMessage": "!!!The Franz Premium Supporter Account includes",
70 "file": "src/components/subscription/SubscriptionForm.js",
71 "start": {
72 "line": 34,
73 "column": 20
74 },
75 "end": {
76 "line": 37,
77 "column": 3
78 }
79 },
80 {
81 "id": "subscription.features.onpremise.mattermost",
82 "defaultMessage": "!!!Add on-premise/hosted services like Mattermost",
83 "file": "src/components/subscription/SubscriptionForm.js",
84 "start": {
85 "line": 38,
86 "column": 13
87 },
88 "end": {
89 "line": 41,
90 "column": 3
91 }
92 },
93 {
94 "id": "subscription.features.noInterruptions",
95 "defaultMessage": "!!!No app delays & nagging to upgrade license",
96 "file": "src/components/subscription/SubscriptionForm.js",
97 "start": {
98 "line": 42,
99 "column": 19
100 },
101 "end": {
102 "line": 45,
103 "column": 3
104 }
105 },
106 {
107 "id": "subscription.features.proxy",
108 "defaultMessage": "!!!Proxy support for services",
109 "file": "src/components/subscription/SubscriptionForm.js",
110 "start": {
111 "line": 46,
112 "column": 9
113 },
114 "end": {
115 "line": 49,
116 "column": 3
117 }
118 },
119 {
120 "id": "subscription.features.spellchecker",
121 "defaultMessage": "!!!Support for Spellchecker",
122 "file": "src/components/subscription/SubscriptionForm.js",
123 "start": {
124 "line": 50,
125 "column": 16
126 },
127 "end": {
128 "line": 53,
129 "column": 3
130 }
131 },
132 {
133 "id": "subscription.features.ads",
134 "defaultMessage": "!!!No ads, ever!",
135 "file": "src/components/subscription/SubscriptionForm.js",
136 "start": {
137 "line": 54,
138 "column": 7
139 },
140 "end": {
141 "line": 57,
142 "column": 3
143 }
144 },
145 {
146 "id": "subscription.features.comingSoon",
147 "defaultMessage": "!!!coming soon",
148 "file": "src/components/subscription/SubscriptionForm.js",
149 "start": {
150 "line": 58,
151 "column": 14
152 },
153 "end": {
154 "line": 61,
155 "column": 3
156 }
157 },
158 {
159 "id": "subscription.euTaxInfo",
160 "defaultMessage": "!!!EU residents: local sales tax may apply",
161 "file": "src/components/subscription/SubscriptionForm.js",
162 "start": {
163 "line": 62,
164 "column": 13
165 },
166 "end": {
167 "line": 65,
168 "column": 3
169 }
170 }
171]
diff --git a/src/i18n/messages/src/components/subscription/SubscriptionPopup.json b/src/i18n/messages/src/components/subscription/SubscriptionPopup.json
new file mode 100644
index 000000000..fc2e8f8cd
--- /dev/null
+++ b/src/i18n/messages/src/components/subscription/SubscriptionPopup.json
@@ -0,0 +1,28 @@
1[
2 {
3 "id": "subscriptionPopup.buttonCancel",
4 "defaultMessage": "!!!Cancel",
5 "file": "src/components/subscription/SubscriptionPopup.js",
6 "start": {
7 "line": 11,
8 "column": 16
9 },
10 "end": {
11 "line": 14,
12 "column": 3
13 }
14 },
15 {
16 "id": "subscriptionPopup.buttonDone",
17 "defaultMessage": "!!!Done",
18 "file": "src/components/subscription/SubscriptionPopup.js",
19 "start": {
20 "line": 15,
21 "column": 14
22 },
23 "end": {
24 "line": 18,
25 "column": 3
26 }
27 }
28]
diff --git a/src/i18n/messages/src/components/ui/PremiumFeatureContainer/index.json b/src/i18n/messages/src/components/ui/PremiumFeatureContainer/index.json
new file mode 100644
index 000000000..608cfc966
--- /dev/null
+++ b/src/i18n/messages/src/components/ui/PremiumFeatureContainer/index.json
@@ -0,0 +1,15 @@
1[
2 {
3 "id": "premiumFeature.button.upgradeAccount",
4 "defaultMessage": "!!!Upgrade account",
5 "file": "src/components/ui/PremiumFeatureContainer/index.js",
6 "start": {
7 "line": 14,
8 "column": 10
9 },
10 "end": {
11 "line": 17,
12 "column": 3
13 }
14 }
15]
diff --git a/src/i18n/messages/src/components/util/ErrorBoundary/index.json b/src/i18n/messages/src/components/util/ErrorBoundary/index.json
new file mode 100644
index 000000000..fd8a8443a
--- /dev/null
+++ b/src/i18n/messages/src/components/util/ErrorBoundary/index.json
@@ -0,0 +1,28 @@
1[
2 {
3 "id": "app.errorHandler.headline",
4 "defaultMessage": "!!!Something went wrong.",
5 "file": "src/components/util/ErrorBoundary/index.js",
6 "start": {
7 "line": 11,
8 "column": 12
9 },
10 "end": {
11 "line": 14,
12 "column": 3
13 }
14 },
15 {
16 "id": "app.errorHandler.action",
17 "defaultMessage": "!!!Reload",
18 "file": "src/components/util/ErrorBoundary/index.js",
19 "start": {
20 "line": 15,
21 "column": 10
22 },
23 "end": {
24 "line": 18,
25 "column": 3
26 }
27 }
28]
diff --git a/src/i18n/messages/src/containers/settings/EditServiceScreen.json b/src/i18n/messages/src/containers/settings/EditServiceScreen.json
new file mode 100644
index 000000000..e24b2484d
--- /dev/null
+++ b/src/i18n/messages/src/containers/settings/EditServiceScreen.json
@@ -0,0 +1,197 @@
1[
2 {
3 "id": "settings.service.form.name",
4 "defaultMessage": "!!!Name",
5 "file": "src/containers/settings/EditServiceScreen.js",
6 "start": {
7 "line": 28,
8 "column": 8
9 },
10 "end": {
11 "line": 31,
12 "column": 3
13 }
14 },
15 {
16 "id": "settings.service.form.enableService",
17 "defaultMessage": "!!!Enable service",
18 "file": "src/containers/settings/EditServiceScreen.js",
19 "start": {
20 "line": 32,
21 "column": 17
22 },
23 "end": {
24 "line": 35,
25 "column": 3
26 }
27 },
28 {
29 "id": "settings.service.form.enableNotification",
30 "defaultMessage": "!!!Enable Notifications",
31 "file": "src/containers/settings/EditServiceScreen.js",
32 "start": {
33 "line": 36,
34 "column": 22
35 },
36 "end": {
37 "line": 39,
38 "column": 3
39 }
40 },
41 {
42 "id": "settings.service.form.enableBadge",
43 "defaultMessage": "!!!Show unread message badges",
44 "file": "src/containers/settings/EditServiceScreen.js",
45 "start": {
46 "line": 40,
47 "column": 15
48 },
49 "end": {
50 "line": 43,
51 "column": 3
52 }
53 },
54 {
55 "id": "settings.service.form.enableAudio",
56 "defaultMessage": "!!!Enable audio",
57 "file": "src/containers/settings/EditServiceScreen.js",
58 "start": {
59 "line": 44,
60 "column": 15
61 },
62 "end": {
63 "line": 47,
64 "column": 3
65 }
66 },
67 {
68 "id": "settings.service.form.team",
69 "defaultMessage": "!!!Team",
70 "file": "src/containers/settings/EditServiceScreen.js",
71 "start": {
72 "line": 48,
73 "column": 8
74 },
75 "end": {
76 "line": 51,
77 "column": 3
78 }
79 },
80 {
81 "id": "settings.service.form.customUrl",
82 "defaultMessage": "!!!Custom server",
83 "file": "src/containers/settings/EditServiceScreen.js",
84 "start": {
85 "line": 52,
86 "column": 13
87 },
88 "end": {
89 "line": 55,
90 "column": 3
91 }
92 },
93 {
94 "id": "settings.service.form.indirectMessages",
95 "defaultMessage": "!!!Show message badge for all new messages",
96 "file": "src/containers/settings/EditServiceScreen.js",
97 "start": {
98 "line": 56,
99 "column": 20
100 },
101 "end": {
102 "line": 59,
103 "column": 3
104 }
105 },
106 {
107 "id": "settings.service.form.icon",
108 "defaultMessage": "!!!Custom icon",
109 "file": "src/containers/settings/EditServiceScreen.js",
110 "start": {
111 "line": 60,
112 "column": 8
113 },
114 "end": {
115 "line": 63,
116 "column": 3
117 }
118 },
119 {
120 "id": "settings.service.form.enableDarkMode",
121 "defaultMessage": "!!!Enable Dark Mode",
122 "file": "src/containers/settings/EditServiceScreen.js",
123 "start": {
124 "line": 64,
125 "column": 18
126 },
127 "end": {
128 "line": 67,
129 "column": 3
130 }
131 },
132 {
133 "id": "settings.service.form.proxy.isEnabled",
134 "defaultMessage": "!!!Use Proxy",
135 "file": "src/containers/settings/EditServiceScreen.js",
136 "start": {
137 "line": 68,
138 "column": 15
139 },
140 "end": {
141 "line": 71,
142 "column": 3
143 }
144 },
145 {
146 "id": "settings.service.form.proxy.host",
147 "defaultMessage": "!!!Proxy Host/IP",
148 "file": "src/containers/settings/EditServiceScreen.js",
149 "start": {
150 "line": 72,
151 "column": 13
152 },
153 "end": {
154 "line": 75,
155 "column": 3
156 }
157 },
158 {
159 "id": "settings.service.form.proxy.port",
160 "defaultMessage": "!!!Port",
161 "file": "src/containers/settings/EditServiceScreen.js",
162 "start": {
163 "line": 76,
164 "column": 13
165 },
166 "end": {
167 "line": 79,
168 "column": 3
169 }
170 },
171 {
172 "id": "settings.service.form.proxy.user",
173 "defaultMessage": "!!!User",
174 "file": "src/containers/settings/EditServiceScreen.js",
175 "start": {
176 "line": 80,
177 "column": 13
178 },
179 "end": {
180 "line": 83,
181 "column": 3
182 }
183 },
184 {
185 "id": "settings.service.form.proxy.password",
186 "defaultMessage": "!!!Password",
187 "file": "src/containers/settings/EditServiceScreen.js",
188 "start": {
189 "line": 84,
190 "column": 17
191 },
192 "end": {
193 "line": 87,
194 "column": 3
195 }
196 }
197]
diff --git a/src/i18n/messages/src/containers/settings/EditSettingsScreen.json b/src/i18n/messages/src/containers/settings/EditSettingsScreen.json
new file mode 100644
index 000000000..7f79c347e
--- /dev/null
+++ b/src/i18n/messages/src/containers/settings/EditSettingsScreen.json
@@ -0,0 +1,158 @@
1[
2 {
3 "id": "settings.app.form.autoLaunchOnStart",
4 "defaultMessage": "!!!Launch Franz on start",
5 "file": "src/containers/settings/EditSettingsScreen.js",
6 "start": {
7 "line": 22,
8 "column": 21
9 },
10 "end": {
11 "line": 25,
12 "column": 3
13 }
14 },
15 {
16 "id": "settings.app.form.autoLaunchInBackground",
17 "defaultMessage": "!!!Open in background",
18 "file": "src/containers/settings/EditSettingsScreen.js",
19 "start": {
20 "line": 26,
21 "column": 26
22 },
23 "end": {
24 "line": 29,
25 "column": 3
26 }
27 },
28 {
29 "id": "settings.app.form.runInBackground",
30 "defaultMessage": "!!!Keep Franz in background when closing the window",
31 "file": "src/containers/settings/EditSettingsScreen.js",
32 "start": {
33 "line": 30,
34 "column": 19
35 },
36 "end": {
37 "line": 33,
38 "column": 3
39 }
40 },
41 {
42 "id": "settings.app.form.enableSystemTray",
43 "defaultMessage": "!!!Show Franz in system tray",
44 "file": "src/containers/settings/EditSettingsScreen.js",
45 "start": {
46 "line": 34,
47 "column": 20
48 },
49 "end": {
50 "line": 37,
51 "column": 3
52 }
53 },
54 {
55 "id": "settings.app.form.minimizeToSystemTray",
56 "defaultMessage": "!!!Minimize Franz to system tray",
57 "file": "src/containers/settings/EditSettingsScreen.js",
58 "start": {
59 "line": 38,
60 "column": 24
61 },
62 "end": {
63 "line": 41,
64 "column": 3
65 }
66 },
67 {
68 "id": "settings.app.form.language",
69 "defaultMessage": "!!!Language",
70 "file": "src/containers/settings/EditSettingsScreen.js",
71 "start": {
72 "line": 42,
73 "column": 12
74 },
75 "end": {
76 "line": 45,
77 "column": 3
78 }
79 },
80 {
81 "id": "settings.app.form.darkMode",
82 "defaultMessage": "!!!Dark Mode",
83 "file": "src/containers/settings/EditSettingsScreen.js",
84 "start": {
85 "line": 46,
86 "column": 12
87 },
88 "end": {
89 "line": 49,
90 "column": 3
91 }
92 },
93 {
94 "id": "settings.app.form.showDisabledServices",
95 "defaultMessage": "!!!Display disabled services tabs",
96 "file": "src/containers/settings/EditSettingsScreen.js",
97 "start": {
98 "line": 50,
99 "column": 24
100 },
101 "end": {
102 "line": 53,
103 "column": 3
104 }
105 },
106 {
107 "id": "settings.app.form.showMessagesBadgesWhenMuted",
108 "defaultMessage": "!!!Show unread message badge when notifications are disabled",
109 "file": "src/containers/settings/EditSettingsScreen.js",
110 "start": {
111 "line": 54,
112 "column": 29
113 },
114 "end": {
115 "line": 57,
116 "column": 3
117 }
118 },
119 {
120 "id": "settings.app.form.enableSpellchecking",
121 "defaultMessage": "!!!Enable spell checking",
122 "file": "src/containers/settings/EditSettingsScreen.js",
123 "start": {
124 "line": 58,
125 "column": 23
126 },
127 "end": {
128 "line": 61,
129 "column": 3
130 }
131 },
132 {
133 "id": "settings.app.form.enableGPUAcceleration",
134 "defaultMessage": "!!!Enable GPU Acceleration",
135 "file": "src/containers/settings/EditSettingsScreen.js",
136 "start": {
137 "line": 62,
138 "column": 25
139 },
140 "end": {
141 "line": 65,
142 "column": 3
143 }
144 },
145 {
146 "id": "settings.app.form.beta",
147 "defaultMessage": "!!!Include beta versions",
148 "file": "src/containers/settings/EditSettingsScreen.js",
149 "start": {
150 "line": 66,
151 "column": 8
152 },
153 "end": {
154 "line": 69,
155 "column": 3
156 }
157 }
158]
diff --git a/src/i18n/messages/src/containers/settings/EditUserScreen.json b/src/i18n/messages/src/containers/settings/EditUserScreen.json
new file mode 100644
index 000000000..200dd5eab
--- /dev/null
+++ b/src/i18n/messages/src/containers/settings/EditUserScreen.json
@@ -0,0 +1,119 @@
1[
2 {
3 "id": "settings.user.form.firstname",
4 "defaultMessage": "!!!Firstname",
5 "file": "src/containers/settings/EditUserScreen.js",
6 "start": {
7 "line": 14,
8 "column": 13
9 },
10 "end": {
11 "line": 17,
12 "column": 3
13 }
14 },
15 {
16 "id": "settings.user.form.lastname",
17 "defaultMessage": "!!!Lastname",
18 "file": "src/containers/settings/EditUserScreen.js",
19 "start": {
20 "line": 18,
21 "column": 12
22 },
23 "end": {
24 "line": 21,
25 "column": 3
26 }
27 },
28 {
29 "id": "settings.user.form.email",
30 "defaultMessage": "!!!Email",
31 "file": "src/containers/settings/EditUserScreen.js",
32 "start": {
33 "line": 22,
34 "column": 9
35 },
36 "end": {
37 "line": 25,
38 "column": 3
39 }
40 },
41 {
42 "id": "settings.user.form.accountType.label",
43 "defaultMessage": "!!!Account type",
44 "file": "src/containers/settings/EditUserScreen.js",
45 "start": {
46 "line": 26,
47 "column": 20
48 },
49 "end": {
50 "line": 29,
51 "column": 3
52 }
53 },
54 {
55 "id": "settings.user.form.accountType.individual",
56 "defaultMessage": "!!!Individual",
57 "file": "src/containers/settings/EditUserScreen.js",
58 "start": {
59 "line": 30,
60 "column": 25
61 },
62 "end": {
63 "line": 33,
64 "column": 3
65 }
66 },
67 {
68 "id": "settings.user.form.accountType.non-profit",
69 "defaultMessage": "!!!Non-Profit",
70 "file": "src/containers/settings/EditUserScreen.js",
71 "start": {
72 "line": 34,
73 "column": 24
74 },
75 "end": {
76 "line": 37,
77 "column": 3
78 }
79 },
80 {
81 "id": "settings.user.form.accountType.company",
82 "defaultMessage": "!!!Company",
83 "file": "src/containers/settings/EditUserScreen.js",
84 "start": {
85 "line": 38,
86 "column": 22
87 },
88 "end": {
89 "line": 41,
90 "column": 3
91 }
92 },
93 {
94 "id": "settings.user.form.currentPassword",
95 "defaultMessage": "!!!Current password",
96 "file": "src/containers/settings/EditUserScreen.js",
97 "start": {
98 "line": 42,
99 "column": 19
100 },
101 "end": {
102 "line": 45,
103 "column": 3
104 }
105 },
106 {
107 "id": "settings.user.form.newPassword",
108 "defaultMessage": "!!!New password",
109 "file": "src/containers/settings/EditUserScreen.js",
110 "start": {
111 "line": 46,
112 "column": 15
113 },
114 "end": {
115 "line": 49,
116 "column": 3
117 }
118 }
119]
diff --git a/src/i18n/messages/src/features/delayApp/Component.json b/src/i18n/messages/src/features/delayApp/Component.json
new file mode 100644
index 000000000..aa82b040e
--- /dev/null
+++ b/src/i18n/messages/src/features/delayApp/Component.json
@@ -0,0 +1,41 @@
1[
2 {
3 "id": "feature.delayApp.headline",
4 "defaultMessage": "!!!Please purchase license to skip waiting",
5 "file": "src/features/delayApp/Component.js",
6 "start": {
7 "line": 15,
8 "column": 12
9 },
10 "end": {
11 "line": 18,
12 "column": 3
13 }
14 },
15 {
16 "id": "feature.delayApp.action",
17 "defaultMessage": "!!!Get a Franz Supporter License",
18 "file": "src/features/delayApp/Component.js",
19 "start": {
20 "line": 19,
21 "column": 10
22 },
23 "end": {
24 "line": 22,
25 "column": 3
26 }
27 },
28 {
29 "id": "feature.delayApp.text",
30 "defaultMessage": "!!!Franz will continue in {seconds} seconds.",
31 "file": "src/features/delayApp/Component.js",
32 "start": {
33 "line": 23,
34 "column": 8
35 },
36 "end": {
37 "line": 26,
38 "column": 3
39 }
40 }
41]
diff --git a/src/i18n/messages/src/features/shareFranz/Component.json b/src/i18n/messages/src/features/shareFranz/Component.json
new file mode 100644
index 000000000..8b672ee54
--- /dev/null
+++ b/src/i18n/messages/src/features/shareFranz/Component.json
@@ -0,0 +1,93 @@
1[
2 {
3 "id": "feature.shareFranz.headline",
4 "defaultMessage": "!!!Franz is better together!",
5 "file": "src/features/shareFranz/Component.js",
6 "start": {
7 "line": 15,
8 "column": 12
9 },
10 "end": {
11 "line": 18,
12 "column": 3
13 }
14 },
15 {
16 "id": "feature.shareFranz.text",
17 "defaultMessage": "!!!Tell your friends and colleagues how awesome Franz is and help us to spread the word.",
18 "file": "src/features/shareFranz/Component.js",
19 "start": {
20 "line": 19,
21 "column": 8
22 },
23 "end": {
24 "line": 22,
25 "column": 3
26 }
27 },
28 {
29 "id": "feature.shareFranz.action.email",
30 "defaultMessage": "!!!Share as email",
31 "file": "src/features/shareFranz/Component.js",
32 "start": {
33 "line": 23,
34 "column": 16
35 },
36 "end": {
37 "line": 26,
38 "column": 3
39 }
40 },
41 {
42 "id": "feature.shareFranz.action.facebook",
43 "defaultMessage": "!!!Share on Facebook",
44 "file": "src/features/shareFranz/Component.js",
45 "start": {
46 "line": 27,
47 "column": 19
48 },
49 "end": {
50 "line": 30,
51 "column": 3
52 }
53 },
54 {
55 "id": "feature.shareFranz.action.twitter",
56 "defaultMessage": "!!!Share on Twitter",
57 "file": "src/features/shareFranz/Component.js",
58 "start": {
59 "line": 31,
60 "column": 18
61 },
62 "end": {
63 "line": 34,
64 "column": 3
65 }
66 },
67 {
68 "id": "feature.shareFranz.shareText.email",
69 "defaultMessage": "!!! I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com",
70 "file": "src/features/shareFranz/Component.js",
71 "start": {
72 "line": 35,
73 "column": 18
74 },
75 "end": {
76 "line": 38,
77 "column": 3
78 }
79 },
80 {
81 "id": "feature.shareFranz.shareText.twitter",
82 "defaultMessage": "!!! I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com /cc @MeetFranz",
83 "file": "src/features/shareFranz/Component.js",
84 "start": {
85 "line": 39,
86 "column": 20
87 },
88 "end": {
89 "line": 42,
90 "column": 3
91 }
92 }
93]
diff --git a/src/i18n/messages/src/helpers/validation-helpers.json b/src/i18n/messages/src/helpers/validation-helpers.json
new file mode 100644
index 000000000..cec9acca3
--- /dev/null
+++ b/src/i18n/messages/src/helpers/validation-helpers.json
@@ -0,0 +1,67 @@
1[
2 {
3 "id": "validation.required",
4 "defaultMessage": "!!!Field is required",
5 "file": "src/helpers/validation-helpers.js",
6 "start": {
7 "line": 4,
8 "column": 12
9 },
10 "end": {
11 "line": 7,
12 "column": 3
13 }
14 },
15 {
16 "id": "validation.email",
17 "defaultMessage": "!!!Email not valid",
18 "file": "src/helpers/validation-helpers.js",
19 "start": {
20 "line": 8,
21 "column": 9
22 },
23 "end": {
24 "line": 11,
25 "column": 3
26 }
27 },
28 {
29 "id": "validation.url",
30 "defaultMessage": "!!!Not a valid URL",
31 "file": "src/helpers/validation-helpers.js",
32 "start": {
33 "line": 12,
34 "column": 7
35 },
36 "end": {
37 "line": 15,
38 "column": 3
39 }
40 },
41 {
42 "id": "validation.minLength",
43 "defaultMessage": "!!!Too few characters",
44 "file": "src/helpers/validation-helpers.js",
45 "start": {
46 "line": 16,
47 "column": 13
48 },
49 "end": {
50 "line": 19,
51 "column": 3
52 }
53 },
54 {
55 "id": "validation.oneRequired",
56 "defaultMessage": "!!!At least one is required",
57 "file": "src/helpers/validation-helpers.js",
58 "start": {
59 "line": 20,
60 "column": 15
61 },
62 "end": {
63 "line": 23,
64 "column": 3
65 }
66 }
67]
diff --git a/src/i18n/messages/src/i18n/globalMessages.json b/src/i18n/messages/src/i18n/globalMessages.json
new file mode 100644
index 000000000..3cb4675dc
--- /dev/null
+++ b/src/i18n/messages/src/i18n/globalMessages.json
@@ -0,0 +1,93 @@
1[
2 {
3 "id": "global.premium.upgradeAccount",
4 "defaultMessage": "!!!Please upgrade your account to add a new service.",
5 "file": "src/i18n/globalMessages.js",
6 "start": {
7 "line": 4,
8 "column": 18
9 },
10 "end": {
11 "line": 7,
12 "column": 3
13 }
14 },
15 {
16 "id": "global.api.unhealthy",
17 "defaultMessage": "!!!Can't connect to Franz Online Services",
18 "file": "src/i18n/globalMessages.js",
19 "start": {
20 "line": 8,
21 "column": 16
22 },
23 "end": {
24 "line": 11,
25 "column": 3
26 }
27 },
28 {
29 "id": "global.notConnectedToTheInternet",
30 "defaultMessage": "!!!You are not connected to the internet.",
31 "file": "src/i18n/globalMessages.js",
32 "start": {
33 "line": 12,
34 "column": 29
35 },
36 "end": {
37 "line": 15,
38 "column": 3
39 }
40 },
41 {
42 "id": "global.spellchecking.language",
43 "defaultMessage": "!!!Spell checking language",
44 "file": "src/i18n/globalMessages.js",
45 "start": {
46 "line": 16,
47 "column": 24
48 },
49 "end": {
50 "line": 19,
51 "column": 3
52 }
53 },
54 {
55 "id": "global.spellchecker.useDefault",
56 "defaultMessage": "!!!Use System Default ({default})",
57 "file": "src/i18n/globalMessages.js",
58 "start": {
59 "line": 20,
60 "column": 29
61 },
62 "end": {
63 "line": 23,
64 "column": 3
65 }
66 },
67 {
68 "id": "global.spellchecking.autodetect",
69 "defaultMessage": "!!!Detect language automatically",
70 "file": "src/i18n/globalMessages.js",
71 "start": {
72 "line": 24,
73 "column": 34
74 },
75 "end": {
76 "line": 27,
77 "column": 3
78 }
79 },
80 {
81 "id": "global.spellchecking.autodetect.short",
82 "defaultMessage": "!!!Automatic",
83 "file": "src/i18n/globalMessages.js",
84 "start": {
85 "line": 28,
86 "column": 39
87 },
88 "end": {
89 "line": 31,
90 "column": 3
91 }
92 }
93]
diff --git a/src/i18n/messages/src/lib/Menu.json b/src/i18n/messages/src/lib/Menu.json
new file mode 100644
index 000000000..34b7bdcb8
--- /dev/null
+++ b/src/i18n/messages/src/lib/Menu.json
@@ -0,0 +1,561 @@
1[
2 {
3 "id": "menu.edit",
4 "defaultMessage": "!!!Edit",
5 "file": "src/lib/Menu.js",
6 "start": {
7 "line": 10,
8 "column": 8
9 },
10 "end": {
11 "line": 13,
12 "column": 3
13 }
14 },
15 {
16 "id": "menu.edit.undo",
17 "defaultMessage": "!!!Undo",
18 "file": "src/lib/Menu.js",
19 "start": {
20 "line": 14,
21 "column": 8
22 },
23 "end": {
24 "line": 17,
25 "column": 3
26 }
27 },
28 {
29 "id": "menu.edit.redo",
30 "defaultMessage": "!!!Redo",
31 "file": "src/lib/Menu.js",
32 "start": {
33 "line": 18,
34 "column": 8
35 },
36 "end": {
37 "line": 21,
38 "column": 3
39 }
40 },
41 {
42 "id": "menu.edit.cut",
43 "defaultMessage": "!!!Cut",
44 "file": "src/lib/Menu.js",
45 "start": {
46 "line": 22,
47 "column": 7
48 },
49 "end": {
50 "line": 25,
51 "column": 3
52 }
53 },
54 {
55 "id": "menu.edit.copy",
56 "defaultMessage": "!!!Copy",
57 "file": "src/lib/Menu.js",
58 "start": {
59 "line": 26,
60 "column": 8
61 },
62 "end": {
63 "line": 29,
64 "column": 3
65 }
66 },
67 {
68 "id": "menu.edit.paste",
69 "defaultMessage": "!!!Paste",
70 "file": "src/lib/Menu.js",
71 "start": {
72 "line": 30,
73 "column": 9
74 },
75 "end": {
76 "line": 33,
77 "column": 3
78 }
79 },
80 {
81 "id": "menu.edit.pasteAndMatchStyle",
82 "defaultMessage": "!!!Paste And Match Style",
83 "file": "src/lib/Menu.js",
84 "start": {
85 "line": 34,
86 "column": 22
87 },
88 "end": {
89 "line": 37,
90 "column": 3
91 }
92 },
93 {
94 "id": "menu.edit.delete",
95 "defaultMessage": "!!!Delete",
96 "file": "src/lib/Menu.js",
97 "start": {
98 "line": 38,
99 "column": 10
100 },
101 "end": {
102 "line": 41,
103 "column": 3
104 }
105 },
106 {
107 "id": "menu.edit.selectAll",
108 "defaultMessage": "!!!Select All",
109 "file": "src/lib/Menu.js",
110 "start": {
111 "line": 42,
112 "column": 13
113 },
114 "end": {
115 "line": 45,
116 "column": 3
117 }
118 },
119 {
120 "id": "menu.edit.speech",
121 "defaultMessage": "!!!Speech",
122 "file": "src/lib/Menu.js",
123 "start": {
124 "line": 46,
125 "column": 10
126 },
127 "end": {
128 "line": 49,
129 "column": 3
130 }
131 },
132 {
133 "id": "menu.edit.startSpeaking",
134 "defaultMessage": "!!!Start Speaking",
135 "file": "src/lib/Menu.js",
136 "start": {
137 "line": 50,
138 "column": 17
139 },
140 "end": {
141 "line": 53,
142 "column": 3
143 }
144 },
145 {
146 "id": "menu.edit.stopSpeaking",
147 "defaultMessage": "!!!Stop Speaking",
148 "file": "src/lib/Menu.js",
149 "start": {
150 "line": 54,
151 "column": 16
152 },
153 "end": {
154 "line": 57,
155 "column": 3
156 }
157 },
158 {
159 "id": "menu.edit.startDictation",
160 "defaultMessage": "!!!Start Dictation",
161 "file": "src/lib/Menu.js",
162 "start": {
163 "line": 58,
164 "column": 18
165 },
166 "end": {
167 "line": 61,
168 "column": 3
169 }
170 },
171 {
172 "id": "menu.edit.emojiSymbols",
173 "defaultMessage": "!!!Emoji & Symbols",
174 "file": "src/lib/Menu.js",
175 "start": {
176 "line": 62,
177 "column": 16
178 },
179 "end": {
180 "line": 65,
181 "column": 3
182 }
183 },
184 {
185 "id": "menu.view.resetZoom",
186 "defaultMessage": "!!!Actual Size",
187 "file": "src/lib/Menu.js",
188 "start": {
189 "line": 66,
190 "column": 13
191 },
192 "end": {
193 "line": 69,
194 "column": 3
195 }
196 },
197 {
198 "id": "menu.view.zoomIn",
199 "defaultMessage": "!!!Zoom In",
200 "file": "src/lib/Menu.js",
201 "start": {
202 "line": 70,
203 "column": 10
204 },
205 "end": {
206 "line": 73,
207 "column": 3
208 }
209 },
210 {
211 "id": "menu.view.zoomOut",
212 "defaultMessage": "!!!Zoom Out",
213 "file": "src/lib/Menu.js",
214 "start": {
215 "line": 74,
216 "column": 11
217 },
218 "end": {
219 "line": 77,
220 "column": 3
221 }
222 },
223 {
224 "id": "menu.view.enterFullScreen",
225 "defaultMessage": "!!!Enter Full Screen",
226 "file": "src/lib/Menu.js",
227 "start": {
228 "line": 78,
229 "column": 19
230 },
231 "end": {
232 "line": 81,
233 "column": 3
234 }
235 },
236 {
237 "id": "menu.view.exitFullScreen",
238 "defaultMessage": "!!!Exit Full Screen",
239 "file": "src/lib/Menu.js",
240 "start": {
241 "line": 82,
242 "column": 18
243 },
244 "end": {
245 "line": 85,
246 "column": 3
247 }
248 },
249 {
250 "id": "menu.view.toggleFullScreen",
251 "defaultMessage": "!!!Toggle Full Screen",
252 "file": "src/lib/Menu.js",
253 "start": {
254 "line": 86,
255 "column": 20
256 },
257 "end": {
258 "line": 89,
259 "column": 3
260 }
261 },
262 {
263 "id": "menu.view.toggleDevTools",
264 "defaultMessage": "!!!Toggle Developer Tools",
265 "file": "src/lib/Menu.js",
266 "start": {
267 "line": 90,
268 "column": 18
269 },
270 "end": {
271 "line": 93,
272 "column": 3
273 }
274 },
275 {
276 "id": "menu.view.toggleServiceDevTools",
277 "defaultMessage": "!!!Toggle Service Developer Tools",
278 "file": "src/lib/Menu.js",
279 "start": {
280 "line": 94,
281 "column": 25
282 },
283 "end": {
284 "line": 97,
285 "column": 3
286 }
287 },
288 {
289 "id": "menu.view.reloadService",
290 "defaultMessage": "!!!Reload Service",
291 "file": "src/lib/Menu.js",
292 "start": {
293 "line": 98,
294 "column": 17
295 },
296 "end": {
297 "line": 101,
298 "column": 3
299 }
300 },
301 {
302 "id": "menu.view.reloadFranz",
303 "defaultMessage": "!!!Reload Franz",
304 "file": "src/lib/Menu.js",
305 "start": {
306 "line": 102,
307 "column": 15
308 },
309 "end": {
310 "line": 105,
311 "column": 3
312 }
313 },
314 {
315 "id": "menu.window.minimize",
316 "defaultMessage": "!!!Minimize",
317 "file": "src/lib/Menu.js",
318 "start": {
319 "line": 106,
320 "column": 12
321 },
322 "end": {
323 "line": 109,
324 "column": 3
325 }
326 },
327 {
328 "id": "menu.window.close",
329 "defaultMessage": "!!!Close",
330 "file": "src/lib/Menu.js",
331 "start": {
332 "line": 110,
333 "column": 9
334 },
335 "end": {
336 "line": 113,
337 "column": 3
338 }
339 },
340 {
341 "id": "menu.help.learnMore",
342 "defaultMessage": "!!!Learn More",
343 "file": "src/lib/Menu.js",
344 "start": {
345 "line": 114,
346 "column": 13
347 },
348 "end": {
349 "line": 117,
350 "column": 3
351 }
352 },
353 {
354 "id": "menu.help.changelog",
355 "defaultMessage": "!!!Changelog",
356 "file": "src/lib/Menu.js",
357 "start": {
358 "line": 118,
359 "column": 13
360 },
361 "end": {
362 "line": 121,
363 "column": 3
364 }
365 },
366 {
367 "id": "menu.help.support",
368 "defaultMessage": "!!!Support",
369 "file": "src/lib/Menu.js",
370 "start": {
371 "line": 122,
372 "column": 11
373 },
374 "end": {
375 "line": 125,
376 "column": 3
377 }
378 },
379 {
380 "id": "menu.help.tos",
381 "defaultMessage": "!!!Terms of Service",
382 "file": "src/lib/Menu.js",
383 "start": {
384 "line": 126,
385 "column": 7
386 },
387 "end": {
388 "line": 129,
389 "column": 3
390 }
391 },
392 {
393 "id": "menu.help.privacy",
394 "defaultMessage": "!!!Privacy Statement",
395 "file": "src/lib/Menu.js",
396 "start": {
397 "line": 130,
398 "column": 11
399 },
400 "end": {
401 "line": 133,
402 "column": 3
403 }
404 },
405 {
406 "id": "menu.file",
407 "defaultMessage": "!!!File",
408 "file": "src/lib/Menu.js",
409 "start": {
410 "line": 134,
411 "column": 8
412 },
413 "end": {
414 "line": 137,
415 "column": 3
416 }
417 },
418 {
419 "id": "menu.view",
420 "defaultMessage": "!!!View",
421 "file": "src/lib/Menu.js",
422 "start": {
423 "line": 138,
424 "column": 8
425 },
426 "end": {
427 "line": 141,
428 "column": 3
429 }
430 },
431 {
432 "id": "menu.services",
433 "defaultMessage": "!!!Services",
434 "file": "src/lib/Menu.js",
435 "start": {
436 "line": 142,
437 "column": 12
438 },
439 "end": {
440 "line": 145,
441 "column": 3
442 }
443 },
444 {
445 "id": "menu.window",
446 "defaultMessage": "!!!Window",
447 "file": "src/lib/Menu.js",
448 "start": {
449 "line": 146,
450 "column": 10
451 },
452 "end": {
453 "line": 149,
454 "column": 3
455 }
456 },
457 {
458 "id": "menu.help",
459 "defaultMessage": "!!!Help",
460 "file": "src/lib/Menu.js",
461 "start": {
462 "line": 150,
463 "column": 8
464 },
465 "end": {
466 "line": 153,
467 "column": 3
468 }
469 },
470 {
471 "id": "menu.app.about",
472 "defaultMessage": "!!!About Franz",
473 "file": "src/lib/Menu.js",
474 "start": {
475 "line": 154,
476 "column": 9
477 },
478 "end": {
479 "line": 157,
480 "column": 3
481 }
482 },
483 {
484 "id": "menu.app.settings",
485 "defaultMessage": "!!!Settings",
486 "file": "src/lib/Menu.js",
487 "start": {
488 "line": 158,
489 "column": 12
490 },
491 "end": {
492 "line": 161,
493 "column": 3
494 }
495 },
496 {
497 "id": "menu.app.hide",
498 "defaultMessage": "!!!Hide",
499 "file": "src/lib/Menu.js",
500 "start": {
501 "line": 162,
502 "column": 8
503 },
504 "end": {
505 "line": 165,
506 "column": 3
507 }
508 },
509 {
510 "id": "menu.app.hideOthers",
511 "defaultMessage": "!!!Hide Others",
512 "file": "src/lib/Menu.js",
513 "start": {
514 "line": 166,
515 "column": 14
516 },
517 "end": {
518 "line": 169,
519 "column": 3
520 }
521 },
522 {
523 "id": "menu.app.unhide",
524 "defaultMessage": "!!!Unhide",
525 "file": "src/lib/Menu.js",
526 "start": {
527 "line": 170,
528 "column": 10
529 },
530 "end": {
531 "line": 173,
532 "column": 3
533 }
534 },
535 {
536 "id": "menu.app.quit",
537 "defaultMessage": "!!!Quit",
538 "file": "src/lib/Menu.js",
539 "start": {
540 "line": 174,
541 "column": 8
542 },
543 "end": {
544 "line": 177,
545 "column": 3
546 }
547 },
548 {
549 "id": "menu.services.addNewService",
550 "defaultMessage": "!!!Add New Service...",
551 "file": "src/lib/Menu.js",
552 "start": {
553 "line": 178,
554 "column": 17
555 },
556 "end": {
557 "line": 181,
558 "column": 3
559 }
560 }
561]