aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLibravatar vantezzen <hello@vantezzen.io>2019-10-24 15:19:10 +0200
committerLibravatar vantezzen <hello@vantezzen.io>2019-10-24 15:19:10 +0200
commit102dc65cfec21d79542ff6b01a3ead121505251f (patch)
tree4afdb65b3f6c2741154798276c92057caf30dcf0 /src
parentRemove Analytics (diff)
downloadferdium-app-102dc65cfec21d79542ff6b01a3ead121505251f.tar.gz
ferdium-app-102dc65cfec21d79542ff6b01a3ead121505251f.tar.zst
ferdium-app-102dc65cfec21d79542ff6b01a3ead121505251f.zip
Fix lint
Diffstat (limited to 'src')
-rw-r--r--src/components/ui/PremiumFeatureContainer/index.js2
-rw-r--r--src/features/planSelection/containers/PlanSelectionScreen.js2
-rw-r--r--src/features/planSelection/index.js2
-rw-r--r--src/i18n/locales/defaultMessages.json649
-rw-r--r--src/i18n/locales/en-US.json41
-rw-r--r--src/i18n/messages/src/components/layout/AppLayout.json4
-rw-r--r--src/i18n/messages/src/features/planSelection/components/PlanSelection.json48
-rw-r--r--src/i18n/messages/src/features/planSelection/containers/PlanSelectionScreen.json16
-rw-r--r--src/stores/AppStore.js6
9 files changed, 656 insertions, 114 deletions
diff --git a/src/components/ui/PremiumFeatureContainer/index.js b/src/components/ui/PremiumFeatureContainer/index.js
index 611c50468..36bf38c98 100644
--- a/src/components/ui/PremiumFeatureContainer/index.js
+++ b/src/components/ui/PremiumFeatureContainer/index.js
@@ -9,7 +9,7 @@ import { oneOrManyChildElements } from '../../../prop-types';
9import UserStore from '../../../stores/UserStore'; 9import UserStore from '../../../stores/UserStore';
10 10
11import styles from './styles'; 11import styles from './styles';
12import FeatureStore from '../../../stores/FeaturesStore'; 12import FeaturesStore from '../../../stores/FeaturesStore';
13 13
14const messages = defineMessages({ 14const messages = defineMessages({
15 action: { 15 action: {
diff --git a/src/features/planSelection/containers/PlanSelectionScreen.js b/src/features/planSelection/containers/PlanSelectionScreen.js
index d04668279..d202c924e 100644
--- a/src/features/planSelection/containers/PlanSelectionScreen.js
+++ b/src/features/planSelection/containers/PlanSelectionScreen.js
@@ -8,7 +8,7 @@ import FeaturesStore from '../../../stores/FeaturesStore';
8import UserStore from '../../../stores/UserStore'; 8import UserStore from '../../../stores/UserStore';
9import PlanSelection from '../components/PlanSelection'; 9import PlanSelection from '../components/PlanSelection';
10import ErrorBoundary from '../../../components/util/ErrorBoundary'; 10import ErrorBoundary from '../../../components/util/ErrorBoundary';
11import { planSelectionStore, GA_CATEGORY_PLAN_SELECTION } from '..'; 11import { planSelectionStore } from '..';
12 12
13const { dialog, app } = remote; 13const { dialog, app } = remote;
14 14
diff --git a/src/features/planSelection/index.js b/src/features/planSelection/index.js
index 81189207a..890be8871 100644
--- a/src/features/planSelection/index.js
+++ b/src/features/planSelection/index.js
@@ -3,8 +3,6 @@ import PlanSelectionStore from './store';
3 3
4const debug = require('debug')('Franz:feature:planSelection'); 4const debug = require('debug')('Franz:feature:planSelection');
5 5
6export const GA_CATEGORY_PLAN_SELECTION = 'planSelection';
7
8export const planSelectionStore = new PlanSelectionStore(); 6export const planSelectionStore = new PlanSelectionStore();
9 7
10export default function initPlanSelection(stores, actions) { 8export default function initPlanSelection(stores, actions) {
diff --git a/src/i18n/locales/defaultMessages.json b/src/i18n/locales/defaultMessages.json
index b056f0d1b..bb65ccdf2 100644
--- a/src/i18n/locales/defaultMessages.json
+++ b/src/i18n/locales/defaultMessages.json
@@ -539,120 +539,172 @@
539 { 539 {
540 "descriptors": [ 540 "descriptors": [
541 { 541 {
542 "defaultMessage": "!!!Franz Professional", 542 "defaultMessage": "!!!Hi {name}, welcome to Franz",
543 "end": { 543 "end": {
544 "column": 3, 544 "column": 3,
545 "line": 18 545 "line": 18
546 }, 546 },
547 "file": "src/components/auth/Pricing.js", 547 "file": "src/components/auth/Pricing.js",
548 "id": "pricing.trial.headline", 548 "id": "pricing.trial.headline.pro",
549 "start": { 549 "start": {
550 "column": 12, 550 "column": 12,
551 "line": 15 551 "line": 15
552 } 552 }
553 }, 553 },
554 { 554 {
555 "defaultMessage": "!!!Your personal welcome offer:", 555 "defaultMessage": "!!!We have a special treat for you.",
556 "end": { 556 "end": {
557 "column": 3, 557 "column": 3,
558 "line": 22 558 "line": 22
559 }, 559 },
560 "file": "src/components/auth/Pricing.js", 560 "file": "src/components/auth/Pricing.js",
561 "id": "pricing.trial.subheadline", 561 "id": "pricing.trial.intro.specialTreat",
562 "start": { 562 "start": {
563 "column": 17, 563 "column": 16,
564 "line": 19 564 "line": 19
565 } 565 }
566 }, 566 },
567 { 567 {
568 "defaultMessage": "!!!No strings attached", 568 "defaultMessage": "!!!Enjoy the full Franz Professional experience completely free for 14 days.",
569 "end": { 569 "end": {
570 "column": 3, 570 "column": 3,
571 "line": 26 571 "line": 26
572 }, 572 },
573 "file": "src/components/auth/Pricing.js", 573 "file": "src/components/auth/Pricing.js",
574 "id": "pricing.trial.intro.tryPro",
575 "start": {
576 "column": 10,
577 "line": 23
578 }
579 },
580 {
581 "defaultMessage": "!!!Happy messaging,",
582 "end": {
583 "column": 3,
584 "line": 30
585 },
586 "file": "src/components/auth/Pricing.js",
587 "id": "pricing.trial.intro.happyMessaging",
588 "start": {
589 "column": 18,
590 "line": 27
591 }
592 },
593 {
594 "defaultMessage": "!!!No strings attached",
595 "end": {
596 "column": 3,
597 "line": 34
598 },
599 "file": "src/components/auth/Pricing.js",
574 "id": "pricing.trial.terms.headline", 600 "id": "pricing.trial.terms.headline",
575 "start": { 601 "start": {
576 "column": 29, 602 "column": 29,
577 "line": 23 603 "line": 31
578 } 604 }
579 }, 605 },
580 { 606 {
581 "defaultMessage": "!!!No credit card required", 607 "defaultMessage": "!!!No credit card required",
582 "end": { 608 "end": {
583 "column": 3, 609 "column": 3,
584 "line": 30 610 "line": 38
585 }, 611 },
586 "file": "src/components/auth/Pricing.js", 612 "file": "src/components/auth/Pricing.js",
587 "id": "pricing.trial.terms.noCreditCard", 613 "id": "pricing.trial.terms.noCreditCard",
588 "start": { 614 "start": {
589 "column": 16, 615 "column": 16,
590 "line": 27 616 "line": 35
591 } 617 }
592 }, 618 },
593 { 619 {
594 "defaultMessage": "!!!Your free trial ends automatically after 14 days", 620 "defaultMessage": "!!!Your free trial ends automatically after 14 days",
595 "end": { 621 "end": {
596 "column": 3, 622 "column": 3,
597 "line": 34 623 "line": 42
598 }, 624 },
599 "file": "src/components/auth/Pricing.js", 625 "file": "src/components/auth/Pricing.js",
600 "id": "pricing.trial.terms.automaticTrialEnd", 626 "id": "pricing.trial.terms.automaticTrialEnd",
601 "start": { 627 "start": {
602 "column": 21, 628 "column": 21,
603 "line": 31 629 "line": 39
630 }
631 },
632 {
633 "defaultMessage": "!!!Free trial (normally {currency}{price} per month)",
634 "end": {
635 "column": 3,
636 "line": 46
637 },
638 "file": "src/components/auth/Pricing.js",
639 "id": "pricing.trial.terms.trialWorth",
640 "start": {
641 "column": 14,
642 "line": 43
604 } 643 }
605 }, 644 },
606 { 645 {
607 "defaultMessage": "!!!Sorry, we could not activate your trial!", 646 "defaultMessage": "!!!Sorry, we could not activate your trial!",
608 "end": { 647 "end": {
609 "column": 3, 648 "column": 3,
610 "line": 38 649 "line": 50
611 }, 650 },
612 "file": "src/components/auth/Pricing.js", 651 "file": "src/components/auth/Pricing.js",
613 "id": "pricing.trial.error", 652 "id": "pricing.trial.error",
614 "start": { 653 "start": {
615 "column": 19, 654 "column": 19,
616 "line": 35 655 "line": 47
617 } 656 }
618 }, 657 },
619 { 658 {
620 "defaultMessage": "!!!Yes, upgrade my account to Franz Professional", 659 "defaultMessage": "!!!Start my 14-day Franz Professional Trial",
621 "end": { 660 "end": {
622 "column": 3, 661 "column": 3,
623 "line": 42 662 "line": 54
624 }, 663 },
625 "file": "src/components/auth/Pricing.js", 664 "file": "src/components/auth/Pricing.js",
626 "id": "pricing.trial.cta.accept", 665 "id": "pricing.trial.cta.accept",
627 "start": { 666 "start": {
628 "column": 13, 667 "column": 13,
629 "line": 39 668 "line": 51
669 }
670 },
671 {
672 "defaultMessage": "!!!Start using Franz",
673 "end": {
674 "column": 3,
675 "line": 58
676 },
677 "file": "src/components/auth/Pricing.js",
678 "id": "pricing.trial.cta.start",
679 "start": {
680 "column": 12,
681 "line": 55
630 } 682 }
631 }, 683 },
632 { 684 {
633 "defaultMessage": "!!!Continue to Ferdi", 685 "defaultMessage": "!!!Continue to Ferdi",
634 "end": { 686 "end": {
635 "column": 3, 687 "column": 3,
636 "line": 46 688 "line": 62
637 }, 689 },
638 "file": "src/components/auth/Pricing.js", 690 "file": "src/components/auth/Pricing.js",
639 "id": "pricing.trial.cta.skip", 691 "id": "pricing.trial.cta.skip",
640 "start": { 692 "start": {
641 "column": 11, 693 "column": 11,
642 "line": 43 694 "line": 59
643 } 695 }
644 }, 696 },
645 { 697 {
646 "defaultMessage": "!!!Franz Professional includes:", 698 "defaultMessage": "!!!Franz Professional includes:",
647 "end": { 699 "end": {
648 "column": 3, 700 "column": 3,
649 "line": 50 701 "line": 66
650 }, 702 },
651 "file": "src/components/auth/Pricing.js", 703 "file": "src/components/auth/Pricing.js",
652 "id": "pricing.trial.features.headline", 704 "id": "pricing.trial.features.headline",
653 "start": { 705 "start": {
654 "column": 20, 706 "column": 20,
655 "line": 47 707 "line": 63
656 } 708 }
657 } 709 }
658 ], 710 ],
@@ -882,52 +934,52 @@
882 "defaultMessage": "!!!Your services have been updated.", 934 "defaultMessage": "!!!Your services have been updated.",
883 "end": { 935 "end": {
884 "column": 3, 936 "column": 3,
885 "line": 31 937 "line": 33
886 }, 938 },
887 "file": "src/components/layout/AppLayout.js", 939 "file": "src/components/layout/AppLayout.js",
888 "id": "infobar.servicesUpdated", 940 "id": "infobar.servicesUpdated",
889 "start": { 941 "start": {
890 "column": 19, 942 "column": 19,
891 "line": 28 943 "line": 30
892 } 944 }
893 }, 945 },
894 { 946 {
895 "defaultMessage": "!!!Reload services", 947 "defaultMessage": "!!!Reload services",
896 "end": { 948 "end": {
897 "column": 3, 949 "column": 3,
898 "line": 35 950 "line": 37
899 }, 951 },
900 "file": "src/components/layout/AppLayout.js", 952 "file": "src/components/layout/AppLayout.js",
901 "id": "infobar.buttonReloadServices", 953 "id": "infobar.buttonReloadServices",
902 "start": { 954 "start": {
903 "column": 24, 955 "column": 24,
904 "line": 32 956 "line": 34
905 } 957 }
906 }, 958 },
907 { 959 {
908 "defaultMessage": "!!!Could not load services and user information", 960 "defaultMessage": "!!!Could not load services and user information",
909 "end": { 961 "end": {
910 "column": 3, 962 "column": 3,
911 "line": 39 963 "line": 41
912 }, 964 },
913 "file": "src/components/layout/AppLayout.js", 965 "file": "src/components/layout/AppLayout.js",
914 "id": "infobar.requiredRequestsFailed", 966 "id": "infobar.requiredRequestsFailed",
915 "start": { 967 "start": {
916 "column": 26, 968 "column": 26,
917 "line": 36 969 "line": 38
918 } 970 }
919 }, 971 },
920 { 972 {
921 "defaultMessage": "!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.", 973 "defaultMessage": "!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
922 "end": { 974 "end": {
923 "column": 3, 975 "column": 3,
924 "line": 43 976 "line": 45
925 }, 977 },
926 "file": "src/components/layout/AppLayout.js", 978 "file": "src/components/layout/AppLayout.js",
927 "id": "infobar.authRequestFailed", 979 "id": "infobar.authRequestFailed",
928 "start": { 980 "start": {
929 "column": 21, 981 "column": 21,
930 "line": 40 982 "line": 42
931 } 983 }
932 } 984 }
933 ], 985 ],
@@ -3495,133 +3547,198 @@
3495 { 3547 {
3496 "descriptors": [ 3548 "descriptors": [
3497 { 3549 {
3550 "defaultMessage": "!!!Choose from more than 70 Services",
3551 "end": {
3552 "column": 3,
3553 "line": 12
3554 },
3555 "file": "src/components/ui/FeatureList.js",
3556 "id": "pricing.features.recipes",
3557 "start": {
3558 "column": 20,
3559 "line": 9
3560 }
3561 },
3562 {
3563 "defaultMessage": "!!!Account Synchronisation",
3564 "end": {
3565 "column": 3,
3566 "line": 16
3567 },
3568 "file": "src/components/ui/FeatureList.js",
3569 "id": "pricing.features.accountSync",
3570 "start": {
3571 "column": 15,
3572 "line": 13
3573 }
3574 },
3575 {
3576 "defaultMessage": "!!!Desktop Notifications",
3577 "end": {
3578 "column": 3,
3579 "line": 20
3580 },
3581 "file": "src/components/ui/FeatureList.js",
3582 "id": "pricing.features.desktopNotifications",
3583 "start": {
3584 "column": 24,
3585 "line": 17
3586 }
3587 },
3588 {
3498 "defaultMessage": "!!!Add unlimited services", 3589 "defaultMessage": "!!!Add unlimited services",
3499 "end": { 3590 "end": {
3500 "column": 3, 3591 "column": 3,
3501 "line": 11 3592 "line": 24
3502 }, 3593 },
3503 "file": "src/components/ui/FeatureList.js", 3594 "file": "src/components/ui/FeatureList.js",
3504 "id": "pricing.features.unlimitedServices", 3595 "id": "pricing.features.unlimitedServices",
3505 "start": { 3596 "start": {
3506 "column": 21, 3597 "column": 21,
3507 "line": 8 3598 "line": 21
3599 }
3600 },
3601 {
3602 "defaultMessage": "!!!Add up to 3 services",
3603 "end": {
3604 "column": 3,
3605 "line": 28
3606 },
3607 "file": "src/components/ui/FeatureList.js",
3608 "id": "pricing.features.upToThreeServices",
3609 "start": {
3610 "column": 21,
3611 "line": 25
3612 }
3613 },
3614 {
3615 "defaultMessage": "!!!Add up to 6 services",
3616 "end": {
3617 "column": 3,
3618 "line": 32
3619 },
3620 "file": "src/components/ui/FeatureList.js",
3621 "id": "pricing.features.upToSixServices",
3622 "start": {
3623 "column": 19,
3624 "line": 29
3508 } 3625 }
3509 }, 3626 },
3510 { 3627 {
3511 "defaultMessage": "!!!Spellchecker support", 3628 "defaultMessage": "!!!Spellchecker support",
3512 "end": { 3629 "end": {
3513 "column": 3, 3630 "column": 3,
3514 "line": 15 3631 "line": 36
3515 }, 3632 },
3516 "file": "src/components/ui/FeatureList.js", 3633 "file": "src/components/ui/FeatureList.js",
3517 "id": "pricing.features.spellchecker", 3634 "id": "pricing.features.spellchecker",
3518 "start": { 3635 "start": {
3519 "column": 16, 3636 "column": 16,
3520 "line": 12 3637 "line": 33
3521 } 3638 }
3522 }, 3639 },
3523 { 3640 {
3524 "defaultMessage": "!!!Workspaces", 3641 "defaultMessage": "!!!Workspaces",
3525 "end": { 3642 "end": {
3526 "column": 3, 3643 "column": 3,
3527 "line": 19 3644 "line": 40
3528 }, 3645 },
3529 "file": "src/components/ui/FeatureList.js", 3646 "file": "src/components/ui/FeatureList.js",
3530 "id": "pricing.features.workspaces", 3647 "id": "pricing.features.workspaces",
3531 "start": { 3648 "start": {
3532 "column": 14, 3649 "column": 14,
3533 "line": 16 3650 "line": 37
3534 } 3651 }
3535 }, 3652 },
3536 { 3653 {
3537 "defaultMessage": "!!!Add Custom Websites", 3654 "defaultMessage": "!!!Add Custom Websites",
3538 "end": { 3655 "end": {
3539 "column": 3, 3656 "column": 3,
3540 "line": 23 3657 "line": 44
3541 }, 3658 },
3542 "file": "src/components/ui/FeatureList.js", 3659 "file": "src/components/ui/FeatureList.js",
3543 "id": "pricing.features.customWebsites", 3660 "id": "pricing.features.customWebsites",
3544 "start": { 3661 "start": {
3545 "column": 18, 3662 "column": 18,
3546 "line": 20 3663 "line": 41
3547 } 3664 }
3548 }, 3665 },
3549 { 3666 {
3550 "defaultMessage": "!!!On-premise & other Hosted Services", 3667 "defaultMessage": "!!!On-premise & other Hosted Services",
3551 "end": { 3668 "end": {
3552 "column": 3, 3669 "column": 3,
3553 "line": 27 3670 "line": 48
3554 }, 3671 },
3555 "file": "src/components/ui/FeatureList.js", 3672 "file": "src/components/ui/FeatureList.js",
3556 "id": "pricing.features.onPremise", 3673 "id": "pricing.features.onPremise",
3557 "start": { 3674 "start": {
3558 "column": 13, 3675 "column": 13,
3559 "line": 24 3676 "line": 45
3560 } 3677 }
3561 }, 3678 },
3562 { 3679 {
3563 "defaultMessage": "!!!Install 3rd party services", 3680 "defaultMessage": "!!!Install 3rd party services",
3564 "end": { 3681 "end": {
3565 "column": 3, 3682 "column": 3,
3566 "line": 31 3683 "line": 52
3567 }, 3684 },
3568 "file": "src/components/ui/FeatureList.js", 3685 "file": "src/components/ui/FeatureList.js",
3569 "id": "pricing.features.thirdPartyServices", 3686 "id": "pricing.features.thirdPartyServices",
3570 "start": { 3687 "start": {
3571 "column": 22, 3688 "column": 22,
3572 "line": 28 3689 "line": 49
3573 } 3690 }
3574 }, 3691 },
3575 { 3692 {
3576 "defaultMessage": "!!!Service Proxies", 3693 "defaultMessage": "!!!Service Proxies",
3577 "end": { 3694 "end": {
3578 "column": 3, 3695 "column": 3,
3579 "line": 35 3696 "line": 56
3580 }, 3697 },
3581 "file": "src/components/ui/FeatureList.js", 3698 "file": "src/components/ui/FeatureList.js",
3582 "id": "pricing.features.serviceProxies", 3699 "id": "pricing.features.serviceProxies",
3583 "start": { 3700 "start": {
3584 "column": 18, 3701 "column": 18,
3585 "line": 32 3702 "line": 53
3586 } 3703 }
3587 }, 3704 },
3588 { 3705 {
3589 "defaultMessage": "!!!Team Management", 3706 "defaultMessage": "!!!Team Management",
3590 "end": { 3707 "end": {
3591 "column": 3, 3708 "column": 3,
3592 "line": 39 3709 "line": 60
3593 }, 3710 },
3594 "file": "src/components/ui/FeatureList.js", 3711 "file": "src/components/ui/FeatureList.js",
3595 "id": "pricing.features.teamManagement", 3712 "id": "pricing.features.teamManagement",
3596 "start": { 3713 "start": {
3597 "column": 18, 3714 "column": 18,
3598 "line": 36 3715 "line": 57
3599 } 3716 }
3600 }, 3717 },
3601 { 3718 {
3602 "defaultMessage": "!!!No Waiting Screens", 3719 "defaultMessage": "!!!No Waiting Screens",
3603 "end": { 3720 "end": {
3604 "column": 3, 3721 "column": 3,
3605 "line": 43 3722 "line": 64
3606 }, 3723 },
3607 "file": "src/components/ui/FeatureList.js", 3724 "file": "src/components/ui/FeatureList.js",
3608 "id": "pricing.features.appDelays", 3725 "id": "pricing.features.appDelays",
3609 "start": { 3726 "start": {
3610 "column": 13, 3727 "column": 13,
3611 "line": 40 3728 "line": 61
3612 } 3729 }
3613 }, 3730 },
3614 { 3731 {
3615 "defaultMessage": "!!!Forever ad-free", 3732 "defaultMessage": "!!!Forever ad-free",
3616 "end": { 3733 "end": {
3617 "column": 3, 3734 "column": 3,
3618 "line": 47 3735 "line": 68
3619 }, 3736 },
3620 "file": "src/components/ui/FeatureList.js", 3737 "file": "src/components/ui/FeatureList.js",
3621 "id": "pricing.features.adFree", 3738 "id": "pricing.features.adFree",
3622 "start": { 3739 "start": {
3623 "column": 10, 3740 "column": 10,
3624 "line": 44 3741 "line": 65
3625 } 3742 }
3626 } 3743 }
3627 ], 3744 ],
@@ -4450,7 +4567,7 @@
4450 } 4567 }
4451 }, 4568 },
4452 { 4569 {
4453 "defaultMessage": "!!!Get a Franz Supporter License", 4570 "defaultMessage": "!!!Upgrade Franz",
4454 "end": { 4571 "end": {
4455 "column": 3, 4572 "column": 3,
4456 "line": 25 4573 "line": 25
@@ -4494,6 +4611,299 @@
4494 { 4611 {
4495 "descriptors": [ 4612 "descriptors": [
4496 { 4613 {
4614 "defaultMessage": "!!!per month",
4615 "end": {
4616 "column": 3,
4617 "line": 18
4618 },
4619 "file": "src/features/planSelection/components/PlanItem.js",
4620 "id": "subscription.interval.perMonth",
4621 "start": {
4622 "column": 12,
4623 "line": 15
4624 }
4625 },
4626 {
4627 "defaultMessage": "!!!per month & user",
4628 "end": {
4629 "column": 3,
4630 "line": 22
4631 },
4632 "file": "src/features/planSelection/components/PlanItem.js",
4633 "id": "subscription.interval.perMonthPerUser",
4634 "start": {
4635 "column": 19,
4636 "line": 19
4637 }
4638 },
4639 {
4640 "defaultMessage": "!!!Best value",
4641 "end": {
4642 "column": 3,
4643 "line": 26
4644 },
4645 "file": "src/features/planSelection/components/PlanItem.js",
4646 "id": "subscription.bestValue",
4647 "start": {
4648 "column": 13,
4649 "line": 23
4650 }
4651 }
4652 ],
4653 "path": "src/features/planSelection/components/PlanItem.json"
4654 },
4655 {
4656 "descriptors": [
4657 {
4658 "defaultMessage": "!!!Are you ready to choose, {name}",
4659 "end": {
4660 "column": 3,
4661 "line": 20
4662 },
4663 "file": "src/features/planSelection/components/PlanSelection.js",
4664 "id": "feature.planSelection.fullscreen.welcome",
4665 "start": {
4666 "column": 11,
4667 "line": 17
4668 }
4669 },
4670 {
4671 "defaultMessage": "!!!It's time to make a choice. Franz works best on our Personal and Professional plans. Please have a look and choose the best one for you.",
4672 "end": {
4673 "column": 3,
4674 "line": 24
4675 },
4676 "file": "src/features/planSelection/components/PlanSelection.js",
4677 "id": "feature.planSelection.fullscreen.subheadline",
4678 "start": {
4679 "column": 15,
4680 "line": 21
4681 }
4682 },
4683 {
4684 "defaultMessage": "!!!Basic functionality",
4685 "end": {
4686 "column": 3,
4687 "line": 28
4688 },
4689 "file": "src/features/planSelection/components/PlanSelection.js",
4690 "id": "feature.planSelection.free.text",
4691 "start": {
4692 "column": 12,
4693 "line": 25
4694 }
4695 },
4696 {
4697 "defaultMessage": "!!!More services, no waiting - ideal for personal use.",
4698 "end": {
4699 "column": 3,
4700 "line": 32
4701 },
4702 "file": "src/features/planSelection/components/PlanSelection.js",
4703 "id": "feature.planSelection.personal.text",
4704 "start": {
4705 "column": 16,
4706 "line": 29
4707 }
4708 },
4709 {
4710 "defaultMessage": "!!!Unlimited services and professional features for you - and your team.",
4711 "end": {
4712 "column": 3,
4713 "line": 36
4714 },
4715 "file": "src/features/planSelection/components/PlanSelection.js",
4716 "id": "feature.planSelection.pro.text",
4717 "start": {
4718 "column": 20,
4719 "line": 33
4720 }
4721 },
4722 {
4723 "defaultMessage": "!!!Stay on Free",
4724 "end": {
4725 "column": 3,
4726 "line": 40
4727 },
4728 "file": "src/features/planSelection/components/PlanSelection.js",
4729 "id": "feature.planSelection.cta.stayOnFree",
4730 "start": {
4731 "column": 17,
4732 "line": 37
4733 }
4734 },
4735 {
4736 "defaultMessage": "!!!Downgrade to Free",
4737 "end": {
4738 "column": 3,
4739 "line": 44
4740 },
4741 "file": "src/features/planSelection/components/PlanSelection.js",
4742 "id": "feature.planSelection.cta.ctaDowngradeFree",
4743 "start": {
4744 "column": 20,
4745 "line": 41
4746 }
4747 },
4748 {
4749 "defaultMessage": "!!!Start my free 14-days Trial",
4750 "end": {
4751 "column": 3,
4752 "line": 48
4753 },
4754 "file": "src/features/planSelection/components/PlanSelection.js",
4755 "id": "feature.planSelection.cta.trial",
4756 "start": {
4757 "column": 15,
4758 "line": 45
4759 }
4760 },
4761 {
4762 "defaultMessage": "!!!Choose Personal",
4763 "end": {
4764 "column": 3,
4765 "line": 52
4766 },
4767 "file": "src/features/planSelection/components/PlanSelection.js",
4768 "id": "feature.planSelection.cta.upgradePersonal",
4769 "start": {
4770 "column": 23,
4771 "line": 49
4772 }
4773 },
4774 {
4775 "defaultMessage": "!!!Choose Professional",
4776 "end": {
4777 "column": 3,
4778 "line": 56
4779 },
4780 "file": "src/features/planSelection/components/PlanSelection.js",
4781 "id": "feature.planSelection.cta.upgradePro",
4782 "start": {
4783 "column": 18,
4784 "line": 53
4785 }
4786 },
4787 {
4788 "defaultMessage": "!!!Complete comparison of all plans",
4789 "end": {
4790 "column": 3,
4791 "line": 60
4792 },
4793 "file": "src/features/planSelection/components/PlanSelection.js",
4794 "id": "feature.planSelection.fullFeatureList",
4795 "start": {
4796 "column": 19,
4797 "line": 57
4798 }
4799 },
4800 {
4801 "defaultMessage": "!!!All prices based on yearly payment",
4802 "end": {
4803 "column": 3,
4804 "line": 64
4805 },
4806 "file": "src/features/planSelection/components/PlanSelection.js",
4807 "id": "feature.planSelection.pricesBasedOnAnnualPayment",
4808 "start": {
4809 "column": 30,
4810 "line": 61
4811 }
4812 }
4813 ],
4814 "path": "src/features/planSelection/components/PlanSelection.json"
4815 },
4816 {
4817 "descriptors": [
4818 {
4819 "defaultMessage": "!!!per {interval}",
4820 "end": {
4821 "column": 3,
4822 "line": 19
4823 },
4824 "file": "src/features/planSelection/components/PlanTeaser.js",
4825 "id": "subscription.interval.per",
4826 "start": {
4827 "column": 7,
4828 "line": 16
4829 }
4830 },
4831 {
4832 "defaultMessage": "!!!Upgrade Account",
4833 "end": {
4834 "column": 3,
4835 "line": 23
4836 },
4837 "file": "src/features/planSelection/components/PlanTeaser.js",
4838 "id": "subscription.planItem.upgradeAccount",
4839 "start": {
4840 "column": 7,
4841 "line": 20
4842 }
4843 }
4844 ],
4845 "path": "src/features/planSelection/components/PlanTeaser.json"
4846 },
4847 {
4848 "descriptors": [
4849 {
4850 "defaultMessage": "!!!Downgrade your Franz Plan",
4851 "end": {
4852 "column": 3,
4853 "line": 19
4854 },
4855 "file": "src/features/planSelection/containers/PlanSelectionScreen.js",
4856 "id": "feature.planSelection.fullscreen.dialog.title",
4857 "start": {
4858 "column": 15,
4859 "line": 16
4860 }
4861 },
4862 {
4863 "defaultMessage": "!!!You're about to downgrade to our Free account. Are you sure? Click here instead to get more services and functionality for just {currency}{price} a month.",
4864 "end": {
4865 "column": 3,
4866 "line": 23
4867 },
4868 "file": "src/features/planSelection/containers/PlanSelectionScreen.js",
4869 "id": "feature.planSelection.fullscreen.dialog.message",
4870 "start": {
4871 "column": 17,
4872 "line": 20
4873 }
4874 },
4875 {
4876 "defaultMessage": "!!!Downgrade to Free",
4877 "end": {
4878 "column": 3,
4879 "line": 27
4880 },
4881 "file": "src/features/planSelection/containers/PlanSelectionScreen.js",
4882 "id": "feature.planSelection.fullscreen.dialog.cta.downgrade",
4883 "start": {
4884 "column": 22,
4885 "line": 24
4886 }
4887 },
4888 {
4889 "defaultMessage": "!!!Choose Personal",
4890 "end": {
4891 "column": 3,
4892 "line": 31
4893 },
4894 "file": "src/features/planSelection/containers/PlanSelectionScreen.js",
4895 "id": "feature.planSelection.fullscreen.dialog.cta.upgrade",
4896 "start": {
4897 "column": 20,
4898 "line": 28
4899 }
4900 }
4901 ],
4902 "path": "src/features/planSelection/containers/PlanSelectionScreen.json"
4903 },
4904 {
4905 "descriptors": [
4906 {
4497 "defaultMessage": "!!!QuickSwitch", 4907 "defaultMessage": "!!!QuickSwitch",
4498 "end": { 4908 "end": {
4499 "column": 3, 4909 "column": 3,
@@ -4727,6 +5137,107 @@
4727 { 5137 {
4728 "descriptors": [ 5138 "descriptors": [
4729 { 5139 {
5140 "defaultMessage": "!!!Your Free Franz {plan} Trial ends in {time}.",
5141 "end": {
5142 "column": 3,
5143 "line": 16
5144 },
5145 "file": "src/features/trialStatusBar/components/TrialStatusBar.js",
5146 "id": "feature.trialStatusBar.restTime",
5147 "start": {
5148 "column": 12,
5149 "line": 13
5150 }
5151 },
5152 {
5153 "defaultMessage": "!!!Your free Franz {plan} Trial has expired, please upgrade your account.",
5154 "end": {
5155 "column": 3,
5156 "line": 20
5157 },
5158 "file": "src/features/trialStatusBar/components/TrialStatusBar.js",
5159 "id": "feature.trialStatusBar.expired",
5160 "start": {
5161 "column": 11,
5162 "line": 17
5163 }
5164 },
5165 {
5166 "defaultMessage": "!!!Upgrade now",
5167 "end": {
5168 "column": 3,
5169 "line": 24
5170 },
5171 "file": "src/features/trialStatusBar/components/TrialStatusBar.js",
5172 "id": "feature.trialStatusBar.cta",
5173 "start": {
5174 "column": 7,
5175 "line": 21
5176 }
5177 }
5178 ],
5179 "path": "src/features/trialStatusBar/components/TrialStatusBar.json"
5180 },
5181 {
5182 "descriptors": [
5183 {
5184 "defaultMessage": "!!!Downgrade your Franz Plan",
5185 "end": {
5186 "column": 3,
5187 "line": 19
5188 },
5189 "file": "src/features/trialStatusBar/containers/TrialStatusBarScreen.js",
5190 "id": "feature.trialStatusBar.fullscreen.dialog.title",
5191 "start": {
5192 "column": 15,
5193 "line": 16
5194 }
5195 },
5196 {
5197 "defaultMessage": "!!!You're about to downgrade to our Free account. Are you sure? Click here instead to get more services and functionality for just {currency}{price} a month.",
5198 "end": {
5199 "column": 3,
5200 "line": 23
5201 },
5202 "file": "src/features/trialStatusBar/containers/TrialStatusBarScreen.js",
5203 "id": "feature.trialStatusBar.fullscreen.dialog.message",
5204 "start": {
5205 "column": 17,
5206 "line": 20
5207 }
5208 },
5209 {
5210 "defaultMessage": "!!!Downgrade to Free",
5211 "end": {
5212 "column": 3,
5213 "line": 27
5214 },
5215 "file": "src/features/trialStatusBar/containers/TrialStatusBarScreen.js",
5216 "id": "feature.trialStatusBar.fullscreen.dialog.cta.downgrade",
5217 "start": {
5218 "column": 22,
5219 "line": 24
5220 }
5221 },
5222 {
5223 "defaultMessage": "!!!Choose Personal",
5224 "end": {
5225 "column": 3,
5226 "line": 31
5227 },
5228 "file": "src/features/trialStatusBar/containers/TrialStatusBarScreen.js",
5229 "id": "feature.trialStatusBar.fullscreen.dialog.cta.upgrade",
5230 "start": {
5231 "column": 20,
5232 "line": 28
5233 }
5234 }
5235 ],
5236 "path": "src/features/trialStatusBar/containers/TrialStatusBarScreen.json"
5237 },
5238 {
5239 "descriptors": [
5240 {
4730 "defaultMessage": "!!!Home", 5241 "defaultMessage": "!!!Home",
4731 "end": { 5242 "end": {
4732 "column": 3, 5243 "column": 3,
@@ -5093,104 +5604,104 @@
5093 "defaultMessage": "!!!Your workspaces", 5604 "defaultMessage": "!!!Your workspaces",
5094 "end": { 5605 "end": {
5095 "column": 3, 5606 "column": 3,
5096 "line": 22 5607 "line": 23
5097 }, 5608 },
5098 "file": "src/features/workspaces/components/WorkspacesDashboard.js", 5609 "file": "src/features/workspaces/components/WorkspacesDashboard.js",
5099 "id": "settings.workspaces.headline", 5610 "id": "settings.workspaces.headline",
5100 "start": { 5611 "start": {
5101 "column": 12, 5612 "column": 12,
5102 "line": 19 5613 "line": 20
5103 } 5614 }
5104 }, 5615 },
5105 { 5616 {
5106 "defaultMessage": "!!!You haven't added any workspaces yet.", 5617 "defaultMessage": "!!!You haven't added any workspaces yet.",
5107 "end": { 5618 "end": {
5108 "column": 3, 5619 "column": 3,
5109 "line": 26 5620 "line": 27
5110 }, 5621 },
5111 "file": "src/features/workspaces/components/WorkspacesDashboard.js", 5622 "file": "src/features/workspaces/components/WorkspacesDashboard.js",
5112 "id": "settings.workspaces.noWorkspacesAdded", 5623 "id": "settings.workspaces.noWorkspacesAdded",
5113 "start": { 5624 "start": {
5114 "column": 19, 5625 "column": 19,
5115 "line": 23 5626 "line": 24
5116 } 5627 }
5117 }, 5628 },
5118 { 5629 {
5119 "defaultMessage": "!!!Could not load your workspaces", 5630 "defaultMessage": "!!!Could not load your workspaces",
5120 "end": { 5631 "end": {
5121 "column": 3, 5632 "column": 3,
5122 "line": 30 5633 "line": 31
5123 }, 5634 },
5124 "file": "src/features/workspaces/components/WorkspacesDashboard.js", 5635 "file": "src/features/workspaces/components/WorkspacesDashboard.js",
5125 "id": "settings.workspaces.workspacesRequestFailed", 5636 "id": "settings.workspaces.workspacesRequestFailed",
5126 "start": { 5637 "start": {
5127 "column": 27, 5638 "column": 27,
5128 "line": 27 5639 "line": 28
5129 } 5640 }
5130 }, 5641 },
5131 { 5642 {
5132 "defaultMessage": "!!!Try again", 5643 "defaultMessage": "!!!Try again",
5133 "end": { 5644 "end": {
5134 "column": 3, 5645 "column": 3,
5135 "line": 34 5646 "line": 35
5136 }, 5647 },
5137 "file": "src/features/workspaces/components/WorkspacesDashboard.js", 5648 "file": "src/features/workspaces/components/WorkspacesDashboard.js",
5138 "id": "settings.workspaces.tryReloadWorkspaces", 5649 "id": "settings.workspaces.tryReloadWorkspaces",
5139 "start": { 5650 "start": {
5140 "column": 23, 5651 "column": 23,
5141 "line": 31 5652 "line": 32
5142 } 5653 }
5143 }, 5654 },
5144 { 5655 {
5145 "defaultMessage": "!!!Your changes have been saved", 5656 "defaultMessage": "!!!Your changes have been saved",
5146 "end": { 5657 "end": {
5147 "column": 3, 5658 "column": 3,
5148 "line": 38 5659 "line": 39
5149 }, 5660 },
5150 "file": "src/features/workspaces/components/WorkspacesDashboard.js", 5661 "file": "src/features/workspaces/components/WorkspacesDashboard.js",
5151 "id": "settings.workspaces.updatedInfo", 5662 "id": "settings.workspaces.updatedInfo",
5152 "start": { 5663 "start": {
5153 "column": 15, 5664 "column": 15,
5154 "line": 35 5665 "line": 36
5155 } 5666 }
5156 }, 5667 },
5157 { 5668 {
5158 "defaultMessage": "!!!Workspace has been deleted", 5669 "defaultMessage": "!!!Workspace has been deleted",
5159 "end": { 5670 "end": {
5160 "column": 3, 5671 "column": 3,
5161 "line": 42 5672 "line": 43
5162 }, 5673 },
5163 "file": "src/features/workspaces/components/WorkspacesDashboard.js", 5674 "file": "src/features/workspaces/components/WorkspacesDashboard.js",
5164 "id": "settings.workspaces.deletedInfo", 5675 "id": "settings.workspaces.deletedInfo",
5165 "start": { 5676 "start": {
5166 "column": 15, 5677 "column": 15,
5167 "line": 39 5678 "line": 40
5168 } 5679 }
5169 }, 5680 },
5170 { 5681 {
5171 "defaultMessage": "!!!Info about workspace feature", 5682 "defaultMessage": "!!!Info about workspace feature",
5172 "end": { 5683 "end": {
5173 "column": 3, 5684 "column": 3,
5174 "line": 46 5685 "line": 47
5175 }, 5686 },
5176 "file": "src/features/workspaces/components/WorkspacesDashboard.js", 5687 "file": "src/features/workspaces/components/WorkspacesDashboard.js",
5177 "id": "settings.workspaces.workspaceFeatureInfo", 5688 "id": "settings.workspaces.workspaceFeatureInfo",
5178 "start": { 5689 "start": {
5179 "column": 24, 5690 "column": 24,
5180 "line": 43 5691 "line": 44
5181 } 5692 }
5182 }, 5693 },
5183 { 5694 {
5184 "defaultMessage": "!!!Less is More: Introducing Ferdi Workspaces", 5695 "defaultMessage": "!!!Less is More: Introducing Ferdi Workspaces",
5185 "end": { 5696 "end": {
5186 "column": 3, 5697 "column": 3,
5187 "line": 50 5698 "line": 51
5188 }, 5699 },
5189 "file": "src/features/workspaces/components/WorkspacesDashboard.js", 5700 "file": "src/features/workspaces/components/WorkspacesDashboard.js",
5190 "id": "settings.workspaces.workspaceFeatureHeadline", 5701 "id": "settings.workspaces.workspaceFeatureHeadline",
5191 "start": { 5702 "start": {
5192 "column": 28, 5703 "column": 28,
5193 "line": 47 5704 "line": 48
5194 } 5705 }
5195 } 5706 }
5196 ], 5707 ],
@@ -5217,7 +5728,7 @@
5217 { 5728 {
5218 "descriptors": [ 5729 "descriptors": [
5219 { 5730 {
5220 "defaultMessage": "!!!Franz Professional", 5731 "defaultMessage": "!!!Professional",
5221 "end": { 5732 "end": {
5222 "column": 3, 5733 "column": 3,
5223 "line": 8 5734 "line": 8
@@ -5230,7 +5741,7 @@
5230 } 5741 }
5231 }, 5742 },
5232 { 5743 {
5233 "defaultMessage": "!!!Franz Personal", 5744 "defaultMessage": "!!!Personal",
5234 "end": { 5745 "end": {
5235 "column": 3, 5746 "column": 3,
5236 "line": 12 5747 "line": 12
@@ -5243,7 +5754,7 @@
5243 } 5754 }
5244 }, 5755 },
5245 { 5756 {
5246 "defaultMessage": "!!!Franz Free", 5757 "defaultMessage": "!!!Free",
5247 "end": { 5758 "end": {
5248 "column": 3, 5759 "column": 3,
5249 "line": 16 5760 "line": 16
@@ -5256,7 +5767,7 @@
5256 } 5767 }
5257 }, 5768 },
5258 { 5769 {
5259 "defaultMessage": "!!!Franz Premium", 5770 "defaultMessage": "!!!Premium",
5260 "end": { 5771 "end": {
5261 "column": 3, 5772 "column": 3,
5262 "line": 20 5773 "line": 20
diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json
index 477bdf43c..a34da1848 100644
--- a/src/i18n/locales/en-US.json
+++ b/src/i18n/locales/en-US.json
@@ -9,6 +9,22 @@
9 "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line", 9 "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line",
10 "feature.delayApp.upgrade.action": "Get a Ferdi Supporter License", 10 "feature.delayApp.upgrade.action": "Get a Ferdi Supporter License",
11 "feature.delayApp.upgrade.actionShort": "Upgrade account", 11 "feature.delayApp.upgrade.actionShort": "Upgrade account",
12 "feature.planSelection.cta.ctaDowngradeFree": "Downgrade to Free",
13 "feature.planSelection.cta.stayOnFree": "Stay on Free",
14 "feature.planSelection.cta.trial": "Start my free 14-days Trial",
15 "feature.planSelection.cta.upgradePersonal": "Choose Personal",
16 "feature.planSelection.cta.upgradePro": "Choose Professional",
17 "feature.planSelection.free.text": "Basic functionality",
18 "feature.planSelection.fullFeatureList": "Complete comparison of all plans",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade": "Downgrade to Free",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade": "Choose Personal",
21 "feature.planSelection.fullscreen.dialog.message": "You're about to downgrade to our Free account. Are you sure? Click here instead to get more services and functionality for just {currency}{price} a month.",
22 "feature.planSelection.fullscreen.dialog.title": "Downgrade your Ferdi Plan",
23 "feature.planSelection.fullscreen.subheadline": "It's time to make a choice. Ferdi works best on our Personal and Professional plans. Please have a look and choose the best one for you.",
24 "feature.planSelection.fullscreen.welcome": "Are you ready to choose, {name}",
25 "feature.planSelection.personal.text": "More services, no waiting - ideal for personal use.",
26 "feature.planSelection.pricesBasedOnAnnualPayment": "All prices based on yearly payment",
27 "feature.planSelection.pro.text": "Unlimited services and professional features for you - and your team.",
12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", 28 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.quickSwitch.search": "Search...", 29 "feature.quickSwitch.search": "Search...",
14 "feature.quickSwitch.title": "QuickSwitch", 30 "feature.quickSwitch.title": "QuickSwitch",
@@ -23,6 +39,13 @@
23 "feature.todos.premium.info": "Ferdi Todos are available to premium users now!", 39 "feature.todos.premium.info": "Ferdi Todos are available to premium users now!",
24 "feature.todos.premium.rollout": "Everyone else will have to wait a little longer.", 40 "feature.todos.premium.rollout": "Everyone else will have to wait a little longer.",
25 "feature.todos.premium.upgrade": "Upgrade Account", 41 "feature.todos.premium.upgrade": "Upgrade Account",
42 "feature.trialStatusBar.cta": "Upgrade now",
43 "feature.trialStatusBar.expired": "Your free Ferdi {plan} Trial has expired, please upgrade your account.",
44 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade": "Downgrade to Free",
45 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade": "Choose Personal",
46 "feature.trialStatusBar.fullscreen.dialog.message": "You're about to downgrade to our Free account. Are you sure? Click here instead to get more services and functionality for just {currency}{price} a month.",
47 "feature.trialStatusBar.fullscreen.dialog.title": "Downgrade your Ferdi Plan",
48 "feature.trialStatusBar.restTime": "Your Free Ferdi {plan} Trial ends in {time}.",
26 "global.api.unhealthy": "Can't connect to Ferdi online services", 49 "global.api.unhealthy": "Can't connect to Ferdi online services",
27 "global.franzProRequired": "Ferdi Professional Required", 50 "global.franzProRequired": "Ferdi Professional Required",
28 "global.notConnectedToTheInternet": "You are not connected to the internet.", 51 "global.notConnectedToTheInternet": "You are not connected to the internet.",
@@ -140,15 +163,20 @@
140 "password.submit.label": "Submit", 163 "password.submit.label": "Submit",
141 "password.successInfo": "Please check your email", 164 "password.successInfo": "Please check your email",
142 "premiumFeature.button.upgradeAccount": "Upgrade account", 165 "premiumFeature.button.upgradeAccount": "Upgrade account",
166 "pricing.features.accountSync": "Account Synchronisation",
143 "pricing.features.adFree": "Forever ad-free", 167 "pricing.features.adFree": "Forever ad-free",
144 "pricing.features.appDelays": "No Waiting Screens", 168 "pricing.features.appDelays": "No Waiting Screens",
145 "pricing.features.customWebsites": "Add Custom Websites", 169 "pricing.features.customWebsites": "Add Custom Websites",
170 "pricing.features.desktopNotifications": "Desktop Notifications",
146 "pricing.features.onPremise": "On-premise & other Hosted Services", 171 "pricing.features.onPremise": "On-premise & other Hosted Services",
172 "pricing.features.recipes": "Choose from more than 70 Services",
147 "pricing.features.serviceProxies": "Service Proxies", 173 "pricing.features.serviceProxies": "Service Proxies",
148 "pricing.features.spellchecker": "Spellchecker support", 174 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.teamManagement": "Team Management", 175 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.thirdPartyServices": "Install 3rd party services", 176 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.unlimitedServices": "Add unlimited services", 177 "pricing.features.unlimitedServices": "Add unlimited services",
178 "pricing.features.upToSixServices": "Add up to 6 services",
179 "pricing.features.upToThreeServices": "Add up to 3 services",
152 "pricing.features.workspaces": "Workspaces", 180 "pricing.features.workspaces": "Workspaces",
153 "pricing.plan.free": "Ferdi Free", 181 "pricing.plan.free": "Ferdi Free",
154 "pricing.plan.legacy": "Ferdi Premium", 182 "pricing.plan.legacy": "Ferdi Premium",
@@ -160,13 +188,17 @@
160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly", 188 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional", 189 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.trial.cta.skip": "Continue to Ferdi", 190 "pricing.trial.cta.skip": "Continue to Ferdi",
191 "pricing.trial.cta.start": "Start using Ferdi",
163 "pricing.trial.error": "Sorry, we could not activate your trial!", 192 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.trial.features.headline": "Ferdi Professional includes:", 193 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.trial.headline": "Ferdi Professional", 194 "pricing.trial.headline.pro": "Hi {name}, welcome to Ferdi",
166 "pricing.trial.subheadline": "Your personal welcome offer:", 195 "pricing.trial.intro.happyMessaging": "Happy messaging,",
196 "pricing.trial.intro.specialTreat": "We have a special treat for you.",
197 "pricing.trial.intro.tryPro": "Enjoy the full Ferdi Professional experience completely free for 14 days.",
167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days", 198 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.trial.terms.headline": "No strings attached", 199 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.trial.terms.noCreditCard": "No credit card required", 200 "pricing.trial.terms.noCreditCard": "No credit card required",
201 "pricing.trial.terms.trialWorth": "Free trial (normally {currency}{price} per month)",
170 "service.crashHandler.action": "Reload {name}", 202 "service.crashHandler.action": "Reload {name}",
171 "service.crashHandler.autoReload": "Trying to automatically restore {name} in {seconds} seconds", 203 "service.crashHandler.autoReload": "Trying to automatically restore {name} in {seconds} seconds",
172 "service.crashHandler.headline": "Oh no!", 204 "service.crashHandler.headline": "Oh no!",
@@ -405,10 +437,15 @@
405 "signup.link.login": "Already have an account, sign in?", 437 "signup.link.login": "Already have an account, sign in?",
406 "signup.password.label": "Password", 438 "signup.password.label": "Password",
407 "signup.submit.label": "Create account", 439 "signup.submit.label": "Create account",
440 "subscription.bestValue": "Best value",
408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial", 441 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "subscription.cta.allOptions": "See all options", 442 "subscription.cta.allOptions": "See all options",
410 "subscription.cta.choosePlan": "Choose your plan", 443 "subscription.cta.choosePlan": "Choose your plan",
411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:", 444 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
445 "subscription.interval.per": "per {interval}",
446 "subscription.interval.perMonth": "per month",
447 "subscription.interval.perMonthPerUser": "per month & user",
448 "subscription.planItem.upgradeAccount": "Upgrade Account",
412 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:", 449 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:",
413 "subscription.teaser.intro": "Ferdi 5 comes with a wide range of new features to boost up your everyday communication - batteries included. Check out our new plans and find out which one suits you most!", 450 "subscription.teaser.intro": "Ferdi 5 comes with a wide range of new features to boost up your everyday communication - batteries included. Check out our new plans and find out which one suits you most!",
414 "subscriptionPopup.buttonCancel": "Cancel", 451 "subscriptionPopup.buttonCancel": "Cancel",
diff --git a/src/i18n/messages/src/components/layout/AppLayout.json b/src/i18n/messages/src/components/layout/AppLayout.json
index 8b7fcf1b2..bca181d0f 100644
--- a/src/i18n/messages/src/components/layout/AppLayout.json
+++ b/src/i18n/messages/src/components/layout/AppLayout.json
@@ -43,11 +43,11 @@
43 "defaultMessage": "!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.", 43 "defaultMessage": "!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
44 "file": "src/components/layout/AppLayout.js", 44 "file": "src/components/layout/AppLayout.js",
45 "start": { 45 "start": {
46 "line": 40, 46 "line": 42,
47 "column": 21 47 "column": 21
48 }, 48 },
49 "end": { 49 "end": {
50 "line": 43, 50 "line": 45,
51 "column": 3 51 "column": 3
52 } 52 }
53 } 53 }
diff --git a/src/i18n/messages/src/features/planSelection/components/PlanSelection.json b/src/i18n/messages/src/features/planSelection/components/PlanSelection.json
index 7f1de6cfd..ed354146e 100644
--- a/src/i18n/messages/src/features/planSelection/components/PlanSelection.json
+++ b/src/i18n/messages/src/features/planSelection/components/PlanSelection.json
@@ -4,11 +4,11 @@
4 "defaultMessage": "!!!Are you ready to choose, {name}", 4 "defaultMessage": "!!!Are you ready to choose, {name}",
5 "file": "src/features/planSelection/components/PlanSelection.js", 5 "file": "src/features/planSelection/components/PlanSelection.js",
6 "start": { 6 "start": {
7 "line": 18, 7 "line": 17,
8 "column": 11 8 "column": 11
9 }, 9 },
10 "end": { 10 "end": {
11 "line": 21, 11 "line": 20,
12 "column": 3 12 "column": 3
13 } 13 }
14 }, 14 },
@@ -17,11 +17,11 @@
17 "defaultMessage": "!!!It's time to make a choice. Franz works best on our Personal and Professional plans. Please have a look and choose the best one for you.", 17 "defaultMessage": "!!!It's time to make a choice. Franz works best on our Personal and Professional plans. Please have a look and choose the best one for you.",
18 "file": "src/features/planSelection/components/PlanSelection.js", 18 "file": "src/features/planSelection/components/PlanSelection.js",
19 "start": { 19 "start": {
20 "line": 22, 20 "line": 21,
21 "column": 15 21 "column": 15
22 }, 22 },
23 "end": { 23 "end": {
24 "line": 25, 24 "line": 24,
25 "column": 3 25 "column": 3
26 } 26 }
27 }, 27 },
@@ -30,11 +30,11 @@
30 "defaultMessage": "!!!Basic functionality", 30 "defaultMessage": "!!!Basic functionality",
31 "file": "src/features/planSelection/components/PlanSelection.js", 31 "file": "src/features/planSelection/components/PlanSelection.js",
32 "start": { 32 "start": {
33 "line": 26, 33 "line": 25,
34 "column": 12 34 "column": 12
35 }, 35 },
36 "end": { 36 "end": {
37 "line": 29, 37 "line": 28,
38 "column": 3 38 "column": 3
39 } 39 }
40 }, 40 },
@@ -43,11 +43,11 @@
43 "defaultMessage": "!!!More services, no waiting - ideal for personal use.", 43 "defaultMessage": "!!!More services, no waiting - ideal for personal use.",
44 "file": "src/features/planSelection/components/PlanSelection.js", 44 "file": "src/features/planSelection/components/PlanSelection.js",
45 "start": { 45 "start": {
46 "line": 30, 46 "line": 29,
47 "column": 16 47 "column": 16
48 }, 48 },
49 "end": { 49 "end": {
50 "line": 33, 50 "line": 32,
51 "column": 3 51 "column": 3
52 } 52 }
53 }, 53 },
@@ -56,11 +56,11 @@
56 "defaultMessage": "!!!Unlimited services and professional features for you - and your team.", 56 "defaultMessage": "!!!Unlimited services and professional features for you - and your team.",
57 "file": "src/features/planSelection/components/PlanSelection.js", 57 "file": "src/features/planSelection/components/PlanSelection.js",
58 "start": { 58 "start": {
59 "line": 34, 59 "line": 33,
60 "column": 20 60 "column": 20
61 }, 61 },
62 "end": { 62 "end": {
63 "line": 37, 63 "line": 36,
64 "column": 3 64 "column": 3
65 } 65 }
66 }, 66 },
@@ -69,11 +69,11 @@
69 "defaultMessage": "!!!Stay on Free", 69 "defaultMessage": "!!!Stay on Free",
70 "file": "src/features/planSelection/components/PlanSelection.js", 70 "file": "src/features/planSelection/components/PlanSelection.js",
71 "start": { 71 "start": {
72 "line": 38, 72 "line": 37,
73 "column": 17 73 "column": 17
74 }, 74 },
75 "end": { 75 "end": {
76 "line": 41, 76 "line": 40,
77 "column": 3 77 "column": 3
78 } 78 }
79 }, 79 },
@@ -82,11 +82,11 @@
82 "defaultMessage": "!!!Downgrade to Free", 82 "defaultMessage": "!!!Downgrade to Free",
83 "file": "src/features/planSelection/components/PlanSelection.js", 83 "file": "src/features/planSelection/components/PlanSelection.js",
84 "start": { 84 "start": {
85 "line": 42, 85 "line": 41,
86 "column": 20 86 "column": 20
87 }, 87 },
88 "end": { 88 "end": {
89 "line": 45, 89 "line": 44,
90 "column": 3 90 "column": 3
91 } 91 }
92 }, 92 },
@@ -95,11 +95,11 @@
95 "defaultMessage": "!!!Start my free 14-days Trial", 95 "defaultMessage": "!!!Start my free 14-days Trial",
96 "file": "src/features/planSelection/components/PlanSelection.js", 96 "file": "src/features/planSelection/components/PlanSelection.js",
97 "start": { 97 "start": {
98 "line": 46, 98 "line": 45,
99 "column": 15 99 "column": 15
100 }, 100 },
101 "end": { 101 "end": {
102 "line": 49, 102 "line": 48,
103 "column": 3 103 "column": 3
104 } 104 }
105 }, 105 },
@@ -108,11 +108,11 @@
108 "defaultMessage": "!!!Choose Personal", 108 "defaultMessage": "!!!Choose Personal",
109 "file": "src/features/planSelection/components/PlanSelection.js", 109 "file": "src/features/planSelection/components/PlanSelection.js",
110 "start": { 110 "start": {
111 "line": 50, 111 "line": 49,
112 "column": 23 112 "column": 23
113 }, 113 },
114 "end": { 114 "end": {
115 "line": 53, 115 "line": 52,
116 "column": 3 116 "column": 3
117 } 117 }
118 }, 118 },
@@ -121,11 +121,11 @@
121 "defaultMessage": "!!!Choose Professional", 121 "defaultMessage": "!!!Choose Professional",
122 "file": "src/features/planSelection/components/PlanSelection.js", 122 "file": "src/features/planSelection/components/PlanSelection.js",
123 "start": { 123 "start": {
124 "line": 54, 124 "line": 53,
125 "column": 18 125 "column": 18
126 }, 126 },
127 "end": { 127 "end": {
128 "line": 57, 128 "line": 56,
129 "column": 3 129 "column": 3
130 } 130 }
131 }, 131 },
@@ -134,11 +134,11 @@
134 "defaultMessage": "!!!Complete comparison of all plans", 134 "defaultMessage": "!!!Complete comparison of all plans",
135 "file": "src/features/planSelection/components/PlanSelection.js", 135 "file": "src/features/planSelection/components/PlanSelection.js",
136 "start": { 136 "start": {
137 "line": 58, 137 "line": 57,
138 "column": 19 138 "column": 19
139 }, 139 },
140 "end": { 140 "end": {
141 "line": 61, 141 "line": 60,
142 "column": 3 142 "column": 3
143 } 143 }
144 }, 144 },
@@ -147,11 +147,11 @@
147 "defaultMessage": "!!!All prices based on yearly payment", 147 "defaultMessage": "!!!All prices based on yearly payment",
148 "file": "src/features/planSelection/components/PlanSelection.js", 148 "file": "src/features/planSelection/components/PlanSelection.js",
149 "start": { 149 "start": {
150 "line": 62, 150 "line": 61,
151 "column": 30 151 "column": 30
152 }, 152 },
153 "end": { 153 "end": {
154 "line": 65, 154 "line": 64,
155 "column": 3 155 "column": 3
156 } 156 }
157 } 157 }
diff --git a/src/i18n/messages/src/features/planSelection/containers/PlanSelectionScreen.json b/src/i18n/messages/src/features/planSelection/containers/PlanSelectionScreen.json
index 905c6e09a..04b2144b4 100644
--- a/src/i18n/messages/src/features/planSelection/containers/PlanSelectionScreen.json
+++ b/src/i18n/messages/src/features/planSelection/containers/PlanSelectionScreen.json
@@ -4,11 +4,11 @@
4 "defaultMessage": "!!!Downgrade your Franz Plan", 4 "defaultMessage": "!!!Downgrade your Franz Plan",
5 "file": "src/features/planSelection/containers/PlanSelectionScreen.js", 5 "file": "src/features/planSelection/containers/PlanSelectionScreen.js",
6 "start": { 6 "start": {
7 "line": 17, 7 "line": 16,
8 "column": 15 8 "column": 15
9 }, 9 },
10 "end": { 10 "end": {
11 "line": 20, 11 "line": 19,
12 "column": 3 12 "column": 3
13 } 13 }
14 }, 14 },
@@ -17,11 +17,11 @@
17 "defaultMessage": "!!!You're about to downgrade to our Free account. Are you sure? Click here instead to get more services and functionality for just {currency}{price} a month.", 17 "defaultMessage": "!!!You're about to downgrade to our Free account. Are you sure? Click here instead to get more services and functionality for just {currency}{price} a month.",
18 "file": "src/features/planSelection/containers/PlanSelectionScreen.js", 18 "file": "src/features/planSelection/containers/PlanSelectionScreen.js",
19 "start": { 19 "start": {
20 "line": 21, 20 "line": 20,
21 "column": 17 21 "column": 17
22 }, 22 },
23 "end": { 23 "end": {
24 "line": 24, 24 "line": 23,
25 "column": 3 25 "column": 3
26 } 26 }
27 }, 27 },
@@ -30,11 +30,11 @@
30 "defaultMessage": "!!!Downgrade to Free", 30 "defaultMessage": "!!!Downgrade to Free",
31 "file": "src/features/planSelection/containers/PlanSelectionScreen.js", 31 "file": "src/features/planSelection/containers/PlanSelectionScreen.js",
32 "start": { 32 "start": {
33 "line": 25, 33 "line": 24,
34 "column": 22 34 "column": 22
35 }, 35 },
36 "end": { 36 "end": {
37 "line": 28, 37 "line": 27,
38 "column": 3 38 "column": 3
39 } 39 }
40 }, 40 },
@@ -43,11 +43,11 @@
43 "defaultMessage": "!!!Choose Personal", 43 "defaultMessage": "!!!Choose Personal",
44 "file": "src/features/planSelection/containers/PlanSelectionScreen.js", 44 "file": "src/features/planSelection/containers/PlanSelectionScreen.js",
45 "start": { 45 "start": {
46 "line": 29, 46 "line": 28,
47 "column": 20 47 "column": 20
48 }, 48 },
49 "end": { 49 "end": {
50 "line": 32, 50 "line": 31,
51 "column": 3 51 "column": 3
52 } 52 }
53 } 53 }
diff --git a/src/stores/AppStore.js b/src/stores/AppStore.js
index 6ce79f2e2..c6724c20f 100644
--- a/src/stores/AppStore.js
+++ b/src/stores/AppStore.js
@@ -59,7 +59,7 @@ export default class AppStore extends Store {
59 @observable isOnline = navigator.onLine; 59 @observable isOnline = navigator.onLine;
60 60
61 @observable authRequestFailed = false; 61 @observable authRequestFailed = false;
62 62
63 @observable timeSuspensionStart; 63 @observable timeSuspensionStart;
64 64
65 @observable timeOfflineStart; 65 @observable timeOfflineStart;
@@ -206,8 +206,6 @@ export default class AppStore extends Store {
206 setTimeout(() => { 206 setTimeout(() => {
207 window.location.reload(); 207 window.location.reload();
208 }, ms('2s')); 208 }, ms('2s'));
209
210 statsEvent('resumed-app');
211 } 209 }
212 }); 210 });
213 211
@@ -222,8 +220,6 @@ export default class AppStore extends Store {
222 220
223 localStorage.setItem(CATALINA_NOTIFICATION_HACK_KEY, true); 221 localStorage.setItem(CATALINA_NOTIFICATION_HACK_KEY, true);
224 } 222 }
225
226 statsEvent('app-start');
227 } 223 }
228 224
229 @computed get cacheSize() { 225 @computed get cacheSize() {