aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.all-contributorsrc178
-rw-r--r--.eslintignore2
-rw-r--r--.eslintrc3
-rw-r--r--.github/FEATURE_PROPOSAL_TEMPLATE.md2
-rw-r--r--.github/FUNDING.yml1
-rw-r--r--.github/ISSUE_TEMPLATE.md4
-rw-r--r--.github/ISSUE_TEMPLATE/bug_report.md21
-rw-r--r--.github/ISSUE_TEMPLATE/feature_request.md4
-rw-r--r--.github/workflow/repo-sync.yml25
-rw-r--r--.gitmodules8
-rw-r--r--.travis.yml43
-rw-r--r--.vscode/launch.json12
-rw-r--r--CHANGELOG.md181
-rw-r--r--CODE_OF_CONDUCT.md4
-rw-r--r--CONTRIBUTING.md8
-rw-r--r--README.md179
-rw-r--r--appveyor.yml30
-rw-r--r--branding/README.md13
-rw-r--r--branding/beard.pngbin0 -> 19806 bytes
-rw-r--r--branding/gradient.pngbin0 -> 582221 bytes
-rw-r--r--branding/logo.pngbin0 -> 122554 bytes
-rw-r--r--branding/logo.psdbin0 -> 806654 bytes
-rw-r--r--branding/screenshots/application.pngbin0 -> 882882 bytes
-rw-r--r--branding/screenshots/hero.pngbin0 -> 352745 bytes
-rw-r--r--branding/screenshots/service-store.pngbin0 -> 248319 bytes
-rw-r--r--branding/screenshots/todos.pngbin0 -> 319543 bytes
-rw-r--r--branding/screenshots/workspaces.pngbin0 -> 581939 bytes
-rw-r--r--branding/social-preview.psdbin0 -> 2619596 bytes
-rw-r--r--build-helpers/default.entitlements.mas.inherit.plist10
-rw-r--r--build-helpers/default.entitlements.mas.plist8
-rw-r--r--build-helpers/images/dmgInstaller.tiffbin34272 -> 111748 bytes
-rw-r--r--build-helpers/images/icon.icnsbin1057357 -> 214073 bytes
-rw-r--r--build-helpers/images/icon.icobin325490 -> 20327 bytes
-rw-r--r--build-helpers/images/icon.pngbin126364 -> 110275 bytes
-rw-r--r--build-helpers/images/icons/1024x1024.pngbin126364 -> 126795 bytes
-rw-r--r--build-helpers/images/icons/128x128.pngbin5538 -> 10996 bytes
-rw-r--r--build-helpers/images/icons/16x16.pngbin682 -> 2268 bytes
-rw-r--r--build-helpers/images/icons/24x24.pngbin1143 -> 2781 bytes
-rw-r--r--build-helpers/images/icons/256x256.pngbin13267 -> 22431 bytes
-rw-r--r--build-helpers/images/icons/32x32.pngbin1526 -> 3348 bytes
-rw-r--r--build-helpers/images/icons/48x48.pngbin2262 -> 4542 bytes
-rw-r--r--build-helpers/images/icons/512x512.pngbin38356 -> 50954 bytes
-rw-r--r--build-helpers/images/icons/64x64.pngbin2885 -> 5654 bytes
-rw-r--r--build-helpers/images/icons/96x96.pngbin4422 -> 8276 bytes
-rw-r--r--build-helpers/images/win-app-ico.icobin32038 -> 4286 bytes
-rw-r--r--build-helpers/images/win-installer-loading-splash.gifbin36630 -> 221086 bytes
-rw-r--r--build-helpers/notarize.js18
-rw-r--r--crowdin.yml3
-rw-r--r--docs/example-feature/api.js2
-rw-r--r--docs/example-feature/index.js2
-rw-r--r--docs/example-feature/store.js2
-rw-r--r--docs/linux.md11
-rw-r--r--electron-builder.yml30
-rw-r--r--gulpfile.babel.js181
-rw-r--r--package-lock.json13006
-rw-r--r--package.json72
-rw-r--r--packages/forms/package.json4
-rw-r--r--packages/forms/src/button/index.tsx4
-rw-r--r--packages/theme/package.json2
-rw-r--r--packages/theme/src/themes/default/index.ts2
-rw-r--r--packages/theme/src/themes/legacy/index.ts2
-rw-r--r--packages/ui/package.json2
m---------recipes0
-rw-r--r--src/I18n.js4
-rw-r--r--src/actions/service.js7
-rw-r--r--src/api/apiBase.js38
-rw-r--r--src/api/server/LocalApi.js2
-rw-r--r--src/api/server/ServerApi.js83
-rw-r--r--src/app.js15
-rw-r--r--src/assets/images/adlk.svg68
-rw-r--r--src/assets/images/logo.svg39
-rw-r--r--src/assets/images/sm.pngbin751417 -> 1575061 bytes
-rw-r--r--src/assets/images/tray/darwin-dark/tray-active.pngbin396 -> 1836 bytes
-rw-r--r--src/assets/images/tray/darwin-dark/tray-active@2x.pngbin1291 -> 2528 bytes
-rw-r--r--src/assets/images/tray/darwin-dark/tray-unread-active.pngbin424 -> 1879 bytes
-rw-r--r--src/assets/images/tray/darwin-dark/tray-unread-active@2x.pngbin1359 -> 2634 bytes
-rw-r--r--src/assets/images/tray/darwin-dark/tray-unread.pngbin424 -> 1879 bytes
-rw-r--r--src/assets/images/tray/darwin-dark/tray-unread@2x.pngbin1359 -> 2634 bytes
-rw-r--r--src/assets/images/tray/darwin-dark/tray.pngbin396 -> 1836 bytes
-rw-r--r--src/assets/images/tray/darwin-dark/tray@2x.pngbin1291 -> 2528 bytes
-rw-r--r--src/assets/images/tray/darwin/tray-active.pngbin396 -> 1836 bytes
-rw-r--r--src/assets/images/tray/darwin/tray-active@2x.pngbin1291 -> 2528 bytes
-rw-r--r--src/assets/images/tray/darwin/tray-unread-active.pngbin424 -> 1879 bytes
-rw-r--r--src/assets/images/tray/darwin/tray-unread-active@2x.pngbin1359 -> 2634 bytes
-rw-r--r--src/assets/images/tray/darwin/tray-unread.pngbin1264 -> 1817 bytes
-rw-r--r--src/assets/images/tray/darwin/tray-unread@2x.pngbin2026 -> 2457 bytes
-rw-r--r--src/assets/images/tray/darwin/tray.pngbin1230 -> 1781 bytes
-rw-r--r--src/assets/images/tray/darwin/tray@2x.pngbin1545 -> 2375 bytes
-rw-r--r--src/assets/images/tray/linux/tray-unread.pngbin2786 -> 3839 bytes
-rw-r--r--src/assets/images/tray/linux/tray-unread@2x.pngbin6062 -> 6295 bytes
-rw-r--r--src/assets/images/tray/linux/tray.pngbin2847 -> 3753 bytes
-rw-r--r--src/assets/images/tray/linux/tray@2x.pngbin6318 -> 6143 bytes
-rw-r--r--src/assets/images/tray/win32/tray-unread.icobin39006 -> 7387 bytes
-rw-r--r--src/assets/images/tray/win32/tray.icobin33292 -> 4694 bytes
-rw-r--r--src/assets/themeInfo.json1
-rw-r--r--src/components/AppUpdateInfoBar.js2
-rw-r--r--src/components/auth/AuthLayout.js4
-rw-r--r--src/components/auth/Import.js4
-rw-r--r--src/components/auth/Locked.js115
-rw-r--r--src/components/auth/Login.js46
-rw-r--r--src/components/auth/Pricing.js4
-rw-r--r--src/components/auth/Signup.js29
-rw-r--r--src/components/auth/Welcome.js36
-rw-r--r--src/components/layout/AppLayout.js26
-rw-r--r--src/components/layout/Sidebar.js151
-rw-r--r--src/components/services/content/ServiceView.js104
-rw-r--r--src/components/services/content/ServiceWebview.js20
-rw-r--r--src/components/services/content/Services.js55
-rw-r--r--src/components/services/tabs/TabItem.js5
-rw-r--r--src/components/settings/account/AccountDashboard.js2
-rw-r--r--src/components/settings/navigation/SettingsNavigation.js63
-rw-r--r--src/components/settings/services/EditServiceForm.js57
-rw-r--r--src/components/settings/settings/EditSettingsForm.js260
-rw-r--r--src/components/settings/supportFerdi/SupportFerdiDashboard.js73
-rw-r--r--src/components/settings/team/TeamDashboard.js153
-rw-r--r--src/components/subscription/SubscriptionForm.js2
-rw-r--r--src/components/subscription/TrialForm.js2
-rw-r--r--src/components/ui/ActivateTrialButton/index.js19
-rw-r--r--src/components/ui/AppLoader/index.js26
-rw-r--r--src/components/ui/Button.js15
-rw-r--r--src/components/ui/FullscreenLoader/index.js19
-rw-r--r--src/components/ui/Input.js2
-rw-r--r--src/components/ui/Link.js4
-rw-r--r--src/components/ui/Loader.js15
-rw-r--r--src/components/ui/Modal/index.js3
-rw-r--r--src/components/ui/PremiumFeatureContainer/index.js8
-rw-r--r--src/components/ui/UpgradeButton/index.js7
-rw-r--r--src/components/ui/WebviewLoader/index.js2
-rw-r--r--src/config.js46
-rw-r--r--src/containers/auth/AuthLayoutContainer.js13
-rw-r--r--src/containers/auth/LockedScreen.js72
-rw-r--r--src/containers/layout/AppLayoutContainer.js1
-rw-r--r--src/containers/settings/AccountScreen.js9
-rw-r--r--src/containers/settings/EditServiceScreen.js29
-rw-r--r--src/containers/settings/EditSettingsScreen.js174
-rw-r--r--src/containers/settings/RecipesScreen.js51
-rw-r--r--src/containers/settings/SupportScreen.js36
-rw-r--r--src/containers/settings/TeamScreen.js6
-rw-r--r--src/dev-app-update.yml4
-rw-r--r--src/electron/Settings.js2
-rw-r--r--src/electron/deepLinking.js2
-rw-r--r--src/electron/ipc-api/autoUpdate.js55
-rw-r--r--src/electron/ipc-api/download.js2
-rw-r--r--src/electron/ipc-api/index.js4
-rw-r--r--src/electron/ipc-api/localServer.js51
-rw-r--r--src/electron/ipc-api/processManager.js8
-rw-r--r--src/environment.js3
-rw-r--r--src/features/accentColor/index.js55
-rw-r--r--src/features/announcements/api.js7
-rw-r--r--src/features/announcements/components/AnnouncementScreen.js7
-rw-r--r--src/features/announcements/index.js9
-rw-r--r--src/features/announcements/store.js6
-rw-r--r--src/features/basicAuth/index.js4
-rw-r--r--src/features/basicAuth/mainIpcHandler.js2
-rw-r--r--src/features/communityRecipes/index.js4
-rw-r--r--src/features/communityRecipes/store.js4
-rw-r--r--src/features/delayApp/Component.js9
-rw-r--r--src/features/delayApp/index.js7
-rw-r--r--src/features/quickSwitch/Component.js337
-rw-r--r--src/features/quickSwitch/index.js24
-rw-r--r--src/features/serviceLimit/components/LimitReachedInfobox.js3
-rw-r--r--src/features/serviceLimit/index.js2
-rw-r--r--src/features/serviceLimit/store.js9
-rw-r--r--src/features/serviceProxy/index.js14
-rwxr-xr-xsrc/features/settingsWS/index.js2
-rwxr-xr-xsrc/features/settingsWS/store.js2
-rw-r--r--src/features/shareFranz/Component.js14
-rw-r--r--src/features/shareFranz/index.js14
-rw-r--r--src/features/spellchecker/index.js20
-rw-r--r--src/features/todos/components/TodosWebview.js12
-rw-r--r--src/features/todos/containers/TodosScreen.js2
-rw-r--r--src/features/todos/index.js2
-rw-r--r--src/features/todos/preload.js4
-rw-r--r--src/features/todos/store.js2
-rw-r--r--src/features/webControls/containers/WebControlsScreen.js1
-rw-r--r--src/features/workspaces/api.js12
-rw-r--r--src/features/workspaces/components/CreateWorkspaceForm.js4
-rw-r--r--src/features/workspaces/components/EditWorkspaceForm.js28
-rw-r--r--src/features/workspaces/components/WorkspaceDrawer.js9
-rw-r--r--src/features/workspaces/components/WorkspacesDashboard.js2
-rw-r--r--src/features/workspaces/containers/EditWorkspaceScreen.js4
-rw-r--r--src/features/workspaces/index.js2
-rw-r--r--src/features/workspaces/models/Workspace.js14
-rw-r--r--src/features/workspaces/store.js23
-rw-r--r--src/helpers/i18n-helpers.js10
-rw-r--r--src/helpers/recipe-helpers.js2
-rw-r--r--src/helpers/schedule-helpers.js70
-rw-r--r--src/helpers/serverless-helpers.js18
-rw-r--r--src/helpers/service-helpers.js2
-rw-r--r--src/helpers/url-helpers.js2
-rw-r--r--src/helpers/validation-helpers.js10
-rw-r--r--src/i18n/apply-branding.js67
-rw-r--r--src/i18n/globalMessages.js2
-rw-r--r--src/i18n/locales/af.json448
-rw-r--r--src/i18n/locales/ar.json448
-rw-r--r--src/i18n/locales/bs.json448
-rw-r--r--src/i18n/locales/ca.json875
-rw-r--r--src/i18n/locales/cs.json875
-rw-r--r--src/i18n/locales/da.json448
-rw-r--r--src/i18n/locales/de.json875
-rw-r--r--src/i18n/locales/defaultMessages.json2208
-rw-r--r--src/i18n/locales/el.json875
-rw-r--r--src/i18n/locales/en-US.json231
-rw-r--r--src/i18n/locales/en.json428
-rw-r--r--src/i18n/locales/es.json875
-rw-r--r--src/i18n/locales/fi.json448
-rw-r--r--src/i18n/locales/fr.json875
-rw-r--r--src/i18n/locales/ga.json875
-rw-r--r--src/i18n/locales/he.json448
-rw-r--r--src/i18n/locales/hr.json875
-rw-r--r--src/i18n/locales/hu.json875
-rw-r--r--src/i18n/locales/id.json875
-rw-r--r--src/i18n/locales/it.json875
-rw-r--r--src/i18n/locales/ja.json875
-rw-r--r--src/i18n/locales/ka.json875
-rw-r--r--src/i18n/locales/ko.json448
-rw-r--r--src/i18n/locales/nb-NO.json46
-rw-r--r--src/i18n/locales/nl-BE.json875
-rw-r--r--src/i18n/locales/nl.json875
-rw-r--r--src/i18n/locales/no.json448
-rw-r--r--src/i18n/locales/pl.json875
-rw-r--r--src/i18n/locales/pt-BR.json875
-rw-r--r--src/i18n/locales/pt.json875
-rw-r--r--src/i18n/locales/ro.json448
-rw-r--r--src/i18n/locales/ru.json875
-rw-r--r--src/i18n/locales/sk.json875
-rw-r--r--src/i18n/locales/sl.json448
-rw-r--r--src/i18n/locales/sr.json875
-rw-r--r--src/i18n/locales/sv.json448
-rw-r--r--src/i18n/locales/tr.json875
-rw-r--r--src/i18n/locales/ua.json44
-rw-r--r--src/i18n/locales/uk.json875
-rw-r--r--src/i18n/locales/vi.json448
-rw-r--r--src/i18n/locales/whitelist_en-US.json3
-rw-r--r--src/i18n/locales/zh-HANT.json448
-rw-r--r--src/i18n/locales/zh-Hant.json168
-rw-r--r--src/i18n/locales/zh-TW.json813
-rw-r--r--src/i18n/locales/zh.json448
-rw-r--r--src/i18n/messages/src/components/AppUpdateInfoBar.json2
-rw-r--r--src/i18n/messages/src/components/auth/Import.json4
-rw-r--r--src/i18n/messages/src/components/auth/Locked.json67
-rw-r--r--src/i18n/messages/src/components/auth/Login.json88
-rw-r--r--src/i18n/messages/src/components/auth/Pricing.json2
-rw-r--r--src/i18n/messages/src/components/auth/Signup.json72
-rw-r--r--src/i18n/messages/src/components/auth/Welcome.json21
-rw-r--r--src/i18n/messages/src/components/layout/AppLayout.json13
-rw-r--r--src/i18n/messages/src/components/layout/Sidebar.json13
-rw-r--r--src/i18n/messages/src/components/services/content/Services.json49
-rw-r--r--src/i18n/messages/src/components/settings/account/AccountDashboard.json2
-rw-r--r--src/i18n/messages/src/components/settings/navigation/SettingsNavigation.json38
-rw-r--r--src/i18n/messages/src/components/settings/services/EditServiceForm.json99
-rw-r--r--src/i18n/messages/src/components/settings/settings/EditSettingsForm.json221
-rw-r--r--src/i18n/messages/src/components/settings/supportFerdi/SupportFerdiDashboard.json67
-rw-r--r--src/i18n/messages/src/components/settings/team/TeamDashboard.json30
-rw-r--r--src/i18n/messages/src/components/ui/ActivateTrialButton/index.json28
-rw-r--r--src/i18n/messages/src/components/ui/PremiumFeatureContainer/index.json4
-rw-r--r--src/i18n/messages/src/components/ui/UpgradeButton/index.json4
-rw-r--r--src/i18n/messages/src/containers/settings/EditSettingsScreen.json246
-rw-r--r--src/i18n/messages/src/features/announcements/components/AnnouncementScreen.json6
-rw-r--r--src/i18n/messages/src/features/delayApp/Component.json22
-rw-r--r--src/i18n/messages/src/features/quickSwitch/Component.json41
-rw-r--r--src/i18n/messages/src/features/serviceLimit/components/LimitReachedInfobox.json8
-rw-r--r--src/i18n/messages/src/features/shareFranz/Component.json32
-rw-r--r--src/i18n/messages/src/features/todos/components/TodosWebview.json12
-rw-r--r--src/i18n/messages/src/features/workspaces/components/CreateWorkspaceForm.json8
-rw-r--r--src/i18n/messages/src/features/workspaces/components/EditWorkspaceForm.json54
-rw-r--r--src/i18n/messages/src/features/workspaces/components/WorkspaceDrawer.json32
-rw-r--r--src/i18n/messages/src/features/workspaces/components/WorkspacesDashboard.json2
-rw-r--r--src/i18n/messages/src/i18n/globalMessages.json2
-rw-r--r--src/i18n/messages/src/lib/Menu.json321
-rw-r--r--src/index.html2
-rw-r--r--src/index.js35
-rw-r--r--src/lib/Menu.js191
-rw-r--r--src/lib/Tray.js6
-rw-r--r--src/lib/analytics.js55
-rw-r--r--src/models/Recipe.js2
-rw-r--r--src/models/Service.js10
-rw-r--r--src/models/User.js6
-rw-r--r--src/scripts/build-theme-info.js95
m---------src/server0
-rw-r--r--src/stores/AppStore.js20
-rw-r--r--src/stores/FeaturesStore.js4
-rw-r--r--src/stores/GlobalErrorStore.js5
-rw-r--r--src/stores/PaymentStore.js3
-rw-r--r--src/stores/RecipePreviewsStore.js10
-rw-r--r--src/stores/RecipesStore.js4
-rw-r--r--src/stores/RequestStore.js11
-rw-r--r--src/stores/ServicesStore.js133
-rw-r--r--src/stores/SettingsStore.js66
-rw-r--r--src/stores/UserStore.js41
-rw-r--r--src/styles/auth.scss2
-rw-r--r--src/styles/button.scss5
-rw-r--r--src/styles/colors.scss1
-rw-r--r--src/styles/layout.scss33
-rw-r--r--src/styles/main.scss1
-rw-r--r--src/styles/quick-switch.scss13
-rw-r--r--src/styles/radio.scss4
-rw-r--r--src/styles/services.scss2
-rw-r--r--src/styles/settings.scss13
-rw-r--r--src/styles/tabs.scss11
-rw-r--r--src/styles/type.scss7
-rw-r--r--src/styles/welcome.scss1
-rw-r--r--src/theme/default/legacy.js2
-rw-r--r--src/webview/contextMenu.js2
-rw-r--r--src/webview/darkmode.js2
-rw-r--r--src/webview/darkmode/custom.js22
-rw-r--r--src/webview/darkmode/ignore.js3
-rw-r--r--src/webview/lib/RecipeWebview.js10
-rw-r--r--src/webview/notifications.js2
-rw-r--r--src/webview/recipe.js43
-rw-r--r--src/webview/spellchecker.js77
-rw-r--r--uidev/src/stories/infobox.stories.tsx2
312 files changed, 32489 insertions, 17512 deletions
diff --git a/.all-contributorsrc b/.all-contributorsrc
new file mode 100644
index 000000000..cd9704edf
--- /dev/null
+++ b/.all-contributorsrc
@@ -0,0 +1,178 @@
1{
2 "projectName": "ferdi",
3 "projectOwner": "kytwb",
4 "repoType": "github",
5 "repoHost": "https://github.com",
6 "files": [
7 "README.md"
8 ],
9 "imageSize": 40,
10 "commit": true,
11 "commitConvention": "none",
12 "contributors": [
13 {
14 "login": "vantezzen",
15 "name": "Bennett",
16 "avatar_url": "https://avatars2.githubusercontent.com/u/10333196?v=4",
17 "profile": "https://vantezzen.io",
18 "contributions": [
19 "code",
20 "design",
21 "doc",
22 "ideas",
23 "translation",
24 "example",
25 "bug",
26 "content",
27 "infra",
28 "userTesting",
29 "question",
30 "projectManagement",
31 "review"
32 ]
33 },
34 {
35 "login": "adlk",
36 "name": "Stefan Malzner",
37 "avatar_url": "https://avatars1.githubusercontent.com/u/3265004?v=4",
38 "profile": "http://www.adlk.io",
39 "contributions": [
40 "code",
41 "content",
42 "design",
43 "doc",
44 "ideas",
45 "infra",
46 "projectManagement",
47 "test",
48 "translation"
49 ]
50 },
51 {
52 "login": "kytwb",
53 "name": "Amine Mouafik",
54 "avatar_url": "https://avatars0.githubusercontent.com/u/412895?v=4",
55 "profile": "https://twitter.com/kytwb",
56 "contributions": [
57 "question",
58 "code",
59 "doc",
60 "ideas",
61 "maintenance",
62 "platform",
63 "projectManagement",
64 "review",
65 "infra",
66 "fundingFinding"
67 ]
68 },
69 {
70 "login": "ZeroCool940711",
71 "name": "ZeroCool",
72 "avatar_url": "https://avatars3.githubusercontent.com/u/5977640?v=4",
73 "profile": "http://seriesgt.com",
74 "contributions": [
75 "code",
76 "ideas"
77 ]
78 },
79 {
80 "login": "rseitbekov",
81 "name": "rseitbekov",
82 "avatar_url": "https://avatars2.githubusercontent.com/u/35684439?v=4",
83 "profile": "https://github.com/rseitbekov",
84 "contributions": [
85 "code"
86 ]
87 },
88 {
89 "login": "bittner",
90 "name": "Peter Bittner",
91 "avatar_url": "https://avatars2.githubusercontent.com/u/665072?v=4",
92 "profile": "https://djangogigs.com/developers/peter-bittner/",
93 "contributions": [
94 "ideas",
95 "bug"
96 ]
97 },
98 {
99 "login": "justus-saul",
100 "name": "Justus Saul",
101 "avatar_url": "https://avatars1.githubusercontent.com/u/5861826?v=4",
102 "profile": "https://github.com/justus-saul",
103 "contributions": [
104 "bug",
105 "ideas"
106 ]
107 },
108 {
109 "login": "igreil",
110 "name": "igreil",
111 "avatar_url": "https://avatars0.githubusercontent.com/u/17239151?v=4",
112 "profile": "https://github.com/igreil",
113 "contributions": [
114 "ideas"
115 ]
116 },
117 {
118 "login": "marcolopes",
119 "name": "Marco Lopes",
120 "avatar_url": "https://avatars1.githubusercontent.com/u/431889?v=4",
121 "profile": "http://marcolopes.eu",
122 "contributions": [
123 "ideas"
124 ]
125 },
126 {
127 "login": "dayzlun",
128 "name": "dayzlun",
129 "avatar_url": "https://avatars3.githubusercontent.com/u/17259690?v=4",
130 "profile": "https://github.com/dayzlun",
131 "contributions": [
132 "bug"
133 ]
134 },
135 {
136 "login": "tobigue",
137 "name": "Tobias Günther",
138 "avatar_url": "https://avatars2.githubusercontent.com/u/1560152?v=4",
139 "profile": "https://twitter.com/tobigue_",
140 "contributions": [
141 "ideas"
142 ]
143 },
144 {
145 "login": "AGCaesar",
146 "name": "AGCaesar",
147 "avatar_url": "https://avatars3.githubusercontent.com/u/7844066?v=4",
148 "profile": "https://github.com/AGCaesar",
149 "contributions": [
150 "platform"
151 ]
152 },
153 {
154 "login": "Makazzz",
155 "name": "Makazzz",
156 "avatar_url": "https://avatars2.githubusercontent.com/u/49844464?v=4",
157 "profile": "https://github.com/Makazzz",
158 "contributions": [
159 "bug",
160 "code",
161 "translation"
162 ]
163 },
164 {
165 "login": "xthursdayx",
166 "name": "xthursdayx",
167 "avatar_url": "https://avatars0.githubusercontent.com/u/18044308?v=4",
168 "profile": "https://github.com/xthursdayx",
169 "contributions": [
170 "code",
171 "doc",
172 "infra",
173 "platform"
174 ]
175 }
176 ],
177 "contributorsPerLine": 6
178}
diff --git a/.eslintignore b/.eslintignore
index f01f6d6e6..00ae892aa 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -1,3 +1,5 @@
1build/ 1build/
2out/ 2out/
3packages/*/lib 3packages/*/lib
4src/server
5recipes/ \ No newline at end of file
diff --git a/.eslintrc b/.eslintrc
index 6253c0837..c2d1b557c 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -56,7 +56,8 @@
56 "btoa": true, 56 "btoa": true,
57 "ga": true, 57 "ga": true,
58 "mocha": true, 58 "mocha": true,
59 "Element": true 59 "Element": true,
60 "electron": true
60 }, 61 },
61 "env": { 62 "env": {
62 "jest/globals": true 63 "jest/globals": true
diff --git a/.github/FEATURE_PROPOSAL_TEMPLATE.md b/.github/FEATURE_PROPOSAL_TEMPLATE.md
index 164844c54..e8cdd41ed 100644
--- a/.github/FEATURE_PROPOSAL_TEMPLATE.md
+++ b/.github/FEATURE_PROPOSAL_TEMPLATE.md
@@ -6,7 +6,7 @@
6### Motivation and Context 6### Motivation and Context
7<!--- 7<!---
8* Why is this change required? 8* Why is this change required?
9* How is this improving the Franz experience? 9* How is this improving the Ferdi experience?
10* What problem does it solve? 10* What problem does it solve?
11--> 11-->
12 12
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 000000000..5200e7101
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1 @@
open_collective: getferdi
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
index 9cb983771..c0ce853ae 100644
--- a/.github/ISSUE_TEMPLATE.md
+++ b/.github/ISSUE_TEMPLATE.md
@@ -1,6 +1,6 @@
1<!--- Provide a general summary of the issue in the Title above --> 1<!--- Provide a general summary of the issue in the Title above -->
2 2
3<!-- This repository is only for the Franz client. Please use this form ( https://bitly.com/franz-service-request ) for service requests or check out the guide ( https://github.com/meetfranz/plugins ) to create your own service integration. --> 3<!-- This repository is only for the Ferdi client. Please use this form ( https://bitly.com/franz-service-request ) for service requests or check out the guide ( https://github.com/meetfranz/plugins ) to create your own service integration. -->
4 4
5<!--- If you want to propose a feature, use this template: https://raw.githubusercontent.com/meetfranz/franz/master/.github/FEATURE_PROPOSAL_TEMPLATE.md --> 5<!--- If you want to propose a feature, use this template: https://raw.githubusercontent.com/meetfranz/franz/master/.github/FEATURE_PROPOSAL_TEMPLATE.md -->
6 6
@@ -32,5 +32,5 @@
32 32
33### Your Environment 33### Your Environment
34<!--- Include as many relevant details about the environment you experienced the bug in --> 34<!--- Include as many relevant details about the environment you experienced the bug in -->
35* Franz Version used: 35* Ferdi Version used:
36* Operating System and version: 36* Operating System and version:
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index b73537336..9792c40be 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -1,7 +1,6 @@
1--- 1---
2name: Bug report 2name: Bug report
3about: Create a report to help us improve 3about: Create a report to help us improve
4
5--- 4---
6 5
7**Describe the bug** 6**Describe the bug**
@@ -9,6 +8,7 @@ A clear and concise description of what the bug is.
9 8
10**To Reproduce** 9**To Reproduce**
11Steps to reproduce the behavior: 10Steps to reproduce the behavior:
11
121. Go to '...' 121. Go to '...'
132. Click on '....' 132. Click on '....'
143. Scroll down to '....' 143. Scroll down to '....'
@@ -21,15 +21,20 @@ A clear and concise description of what you expected to happen.
21If applicable, add screenshots to help explain your problem. 21If applicable, add screenshots to help explain your problem.
22 22
23**Desktop (please complete the following information):** 23**Desktop (please complete the following information):**
24 - OS: [e.g. iOS] 24
25 - Browser [e.g. chrome, safari] 25- OS: [e.g. iOS]
26 - Version [e.g. 22] 26- Browser [e.g. chrome, safari]
27- Version [e.g. 22]
27 28
28**Smartphone (please complete the following information):** 29**Smartphone (please complete the following information):**
29 - Device: [e.g. iPhone6] 30
30 - OS: [e.g. iOS8.1] 31- Device: [e.g. iPhone6]
31 - Browser [e.g. stock browser, safari] 32- OS: [e.g. iOS8.1]
32 - Version [e.g. 22] 33- Browser [e.g. stock browser, safari]
34- Version [e.g. 22]
33 35
34**Additional context** 36**Additional context**
35Add any other context about the problem here. 37Add any other context about the problem here.
38
39<!-- Love Ferdi? Please consider supporting our collective:
40👉 https://opencollective.com/getferdi/donate -->
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
index 066b2d920..5535496d2 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -1,7 +1,6 @@
1--- 1---
2name: Feature request 2name: Feature request
3about: Suggest an idea for this project 3about: Suggest an idea for this project
4
5--- 4---
6 5
7**Is your feature request related to a problem? Please describe.** 6**Is your feature request related to a problem? Please describe.**
@@ -15,3 +14,6 @@ A clear and concise description of any alternative solutions or features you've
15 14
16**Additional context** 15**Additional context**
17Add any other context or screenshots about the feature request here. 16Add any other context or screenshots about the feature request here.
17
18<!-- Love Ferdi? Please consider supporting our collective:
19👉 https://opencollective.com/getferdi/donate -->
diff --git a/.github/workflow/repo-sync.yml b/.github/workflow/repo-sync.yml
new file mode 100644
index 000000000..fce0721c7
--- /dev/null
+++ b/.github/workflow/repo-sync.yml
@@ -0,0 +1,25 @@
1name: Repo Sync
2
3on:
4 schedule:
5 - cron: "*/15 * * * *"
6
7jobs:
8 repo-sync:
9 name: Repo Sync
10 runs-on: ubuntu-latest
11 steps:
12 - uses: actions/checkout@v1
13 - uses: repo-sync/github-sync@v2
14 name: Sync repository to branch
15 with:
16 source_repo: ${{ secrets.SOURCE_REPO }}
17 source_branch: "master"
18 destination_branch: ${{ secrets.INTERMEDIATE_BRANCH }}
19 github_token: ${{ secrets.GITHUB_TOKEN }}
20 - uses: repo-sync/pull-request@v2
21 name: Create pull request
22 with:
23 source_branch: ${{ secrets.INTERMEDIATE_BRANCH }}
24 destination_branch: "master"
25 github_token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 000000000..00bc1d26d
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,8 @@
1[submodule "recipes"]
2 path = recipes
3 url = https://github.com/getferdi/recipes.git
4 ignore = all
5[submodule "src/server"]
6 path = src/server
7 url = https://github.com/getferdi/internal-server.git
8 ignore = all
diff --git a/.travis.yml b/.travis.yml
index 6c8228f57..ff015b92c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -13,45 +13,18 @@ matrix:
13 osx_image: xcode11 13 osx_image: xcode11
14 14
15language: node_js 15language: node_js
16
17install: 16install:
18- echo do nothing 17 - echo do nothing
19
20before_script: 18before_script:
21- npx lerna bootstrap 19 - npx lerna bootstrap
22- npm install node-sass -g 20 - npm install node-sass -g
23
24script: 21script:
25- npm run test 22 - npm run test
26- travis_wait 30 npm run build 23 - travis_wait 30 npm run build
27
28cache: npm 24cache: npm
29 25
30notifications:
31 email: false
32 slack:
33 secure: GMiD9uhGUNkJbasOMvfUmQx/SKG8wd/MC4IPtiZZnlLkiN6eJQnV3p9OeMaiSCcq19gQ65z898h55PXwFX5pFqmGMQF0zdA3VXlVh7wrUU/Z8cYxCBaZTIOgNwtrteT9V9easV/5BuUGLHVgAFYEhS5tJDu2GU4UKdm6mko4YyxKHdsCsvkRpv+zpFF1a+G2ZUwWHDhTZsBJbx7SW7xzPKYI+vq+bNnbyC6p0kpeTehf29A8CoIgQlDctzk4aOHkj35WHIiKS5yzr/nb8oY/B6vCdfFHCrCkZxQrxPEagyYTfEusWwQRJ4rvwt8dgBO1A3ckO+AC1MEAYRYHgQMI5K86tcQ7/su5iOhu9NDbZ/BfriaTDlrurKMWPhZ/RVnFUT4tn7XVVcMxz6/FYFDYIDSHEn5E20a7qV1ixF7XKoJU6eOfo3qZ7euxiZIbDbHBH+Y2ZmzUGfrQ7DFlefMEM/6Laa0jNGOSvfc6mvk1x63bVTT5KfYEX4ztXnBY77haG4/h5bIHyNDzLsZ5vxXbvmHZb6ToMVn9UT6HS0sZQ/B4bghJbdZuOrPFlz8UNRpwoBS4HpLUndhYCo0ppxd3yCd5gqEhIJzEiJNoMq+LA9/iheLbWlJVdjP2WRQ2/m9VCSxnivTdNhnp6lSATiXAgq2WN2LGhTSGtXgqtcYGXhk=
34
35deploy:
36 provider: s3
37 access_key_id: AKIAIVRBS4YFL4ZBLCLA
38 secret_access_key:
39 secure: LZ38b5DmVisSBfpuPN8IVNCe3C+hJYX88jV+/ifzlB6/h1VUU/w5B3xHNBoOC2P53D2htMtL7K1/JLxzKGmUsnOJe5boF0QmBPTXUVosurxwMPEuLotQucgqcOoFnJkq+BUziBy+uWsZnk6ECbI5hFHQJAM9iNjOcgrfK08NLYvtdwYKYXwhwSrN4dxBKkfRINgAqHCp6bMuH2Imgy9iM+Iy5ydMPUsKDRHj1ByJrhcb1nJTjWImH08IU970fEl0P2+bCV6nUTzc9x9mwaJAF6uaH9L44lLptHIhGgqAZGzwQ7z6ANJj3CJRWFbqW2/9/0+4YKhyBbE9TPIvWIXmVeoPm0nWLDfVDN2RwTGtv+oSgPS+UhcFTVanekKfrzMTVdi1jQ8LIL7Ur3DcXNhwTPuc7PjLPPuwTS2AQRkPMyyWLRAz40/YUepASRdqoVMYI+CZiwu2AZIoUr1HO1eXj/0rqC8t/mhUSOXTxNGRCP9SQTJ/FSaI5dZh3oY7bkz7uxDNbPvChcs7hPFqqhPUFIkX36DaDqjze6IqtZ6pDz7XTqzUET/Jgny9vGBypvGj5fJpYZJytqEs0SsPGQGaxSmAWjcPWQX56Tr98iwVvzAJ0hl7lJHVaEzuxoYmD0ijg2zysoZ7GPBXJg2n9W+QaS0KVuda1r+sQ6C2wY8yvi8=
40 bucket: franz-travis
41 region: eu-central-1
42 local_dir: out
43 upload-dir: "$TRAVIS_BUILD_NUMBER"
44 skip_cleanup: true
45 acl: public_read
46 on:
47 all_branches: true
48
49env:
50 global:
51 - secure: fddJzSmNYVX024jnhnFXEuAK1spEYi3y3RZdWaBtjQnzoObAxkcRW263JNpXQy+b7egnp2hSy8FvlQU+L967911F5Y70Pe3An4oI72hnS3DL4Njp2Dw5PwviwMA+X2ddWhzK4+k/JU6r8jBv1FGQ6ZjwSeaO/t8UKOsE8wDBFLRhnHqoR7QbM7zmKjzh/1oofunGbHsPOHmN4f7jBwSuSFTZltEENcQg3ZP++0NHU8UJdlpfqZOkro8v4AJMngAHeHlNtjwaAHdVv+6+kkwc4E/0Cy6YNyyBkbzipyngNY3GwnwzmNzvsfICD1TGklksjBlMQq7ld7eCiaYRNvyHVEmXJ17qlq7HhxkYgNy32hPRwb5Cv6o4M4tv8qS8UUk4W1RvBJ5fcmfZGQwGXPyQ/m85RJtrNfbYtr84jYcprTnSeji/9PuZv0f87dxELYm3DYmNUa1cgJqEdLUsEd0bMwUYNLnCSfu4ea2zxwir6LSBtJJCbGKxX87s5IOTrHkrWDe+PWd52v+UjQks7MBRlJnntTWo69Yy+ayXV1TnGVOHA5znHvPOvFlAF+y8tLGd4AGvehK1SAkf0+idmc9Q9xKk0QypT3ibjJui4D50p7sSajkzz3P2pUqOS/9HmjMfPMPN+Nl+48GU0CvB2aBGhdmp9vu54VaFzUaAGNGj4WI=
52 - secure: AjJvKhQ1jIloxogMdtOzJqovPQUBSA0lfHcRsmGdP8HIRKSRi9tKxCCgicTMpMWfvY7qtdexXBbl2/zl6cOhjfTYeAhNwwCg+dw7OVcE8LUn4E+gYZCYIKbNmmkVKsSckQd4h2IcyvqdqLwzjrEzdF95MoUI8WqdLwvQJLkoIaXju6ZT76FslGSUVXk58ZN7p2nr3kW8V7KclIzn/yyyYXE4bjBmS4djuvCReeSfSViCuX5CGT8avBb/IF/M5S7hcQVybmmalysOrranzSx0o9PPUIT9hHqqRpXW6iss2qVj+kCaFiC3ftlApVgizBoGcNAMA8N7hX8kkEjJSpiy7Vswuev9mVN9X94VwVZGyNvdYD8cKKxqTsfFDZDgefnuSYUhymKSBgM4yScYF6IPNJWFWJTugtVeMJ8ivqZhwJuD20nt6x7gGB1FS6m7axxRWeyp7h0FqWU9l6ZfmwHcRziVKNTk9BB4XIqco9M2wjV/YH321IGVwtVR5y6zty10+xk38TthCOidgBurFlMKbFKH5g9K5+84dhsCW0avMlJ0+QkgId0uAVyho+09Wx4cKqXLfobpznkUX+S0Um6G/NbAaUAU+SqBsm+X9CKFsPd/YJoxLdF7eBCG/3Fy4roKg3J4mBYeXe3wVnGft8Eeg0aNpOArMSStMY337UpdV80=
53 - secure: WNQBUyNvjTwMFm6pPzNXZYRvgLCTgEm93vLX/0amtr6gT6N8ZsTLL5+Ht3+v51MUOsjEe6tCM4cLSh4wSuwWcSEsUjK0jiqknlpgKKl6xLeo+1t8u6BKSgTpipWqrSD24TbvMrFUyeQrqCGRdZc3Ax/F1ERD81SXcsrg2evCL8g8zsYjxSMXc44drKrvYi68s/5ALrI+oH3t2PYsGuuP1ipj5CbaizUHEa5d8TukHRl96lxoEKCQ4Sa8UXRPNQsdb3TdkVmIEPIoioWU6AMPweBWR6Ky994aKwp0wWn1adWP49v8skMYWbirENniSxShtztF/NYqPQFyoyh0WD/C/ZJPh04HlMxnmQPUROq+LxBFz8WBY1eHDmz6GxH1lDYzneTtlRa5K8izvs2+ROhpVmmKeOgWHaL1ZRMy8Cn3V88kadF7i1K9NnqB6ZPyynJJctj7o0af6Os9/ZPqWfqIOWWeXgfXVzj17xJADfh6Z9epW95hdKZjnIf9IqGAI8aYTqhVL8DKTJ+PSGhJIOEX+ERm+0U9gMlwllwjHCDhBe42zCGuLaWZ239yD1eacM0Ko7yUM+xobiiF0FlB8VI/nBOpGdeUKNLeUfikLHILWd04AVRCNaQU67GMOHekfWdGR8tEh9I/5Y6GJR0IQL5eGmDUjSN0u/Ovss4jSEBOaXo=
54
55branches: 26branches:
56 except: 27 except:
57 - i18n 28 - i18n
29 - l10n_master
30 - l10n_develop
diff --git a/.vscode/launch.json b/.vscode/launch.json
index 17d506895..f6c7458bf 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -4,7 +4,7 @@
4 { 4 {
5 "type": "node", 5 "type": "node",
6 "request": "launch", 6 "request": "launch",
7 "name": "Franz - Test API", 7 "name": "Ferdi - Test API",
8 "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron", 8 "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron",
9 "program": "${workspaceFolder}/build/index.js", 9 "program": "${workspaceFolder}/build/index.js",
10 "protocol": "inspector", 10 "protocol": "inspector",
@@ -16,7 +16,7 @@
16 { 16 {
17 "type": "node", 17 "type": "node",
18 "request": "launch", 18 "request": "launch",
19 "name": "Franz – Live API", 19 "name": "Ferdi – Live API",
20 "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron", 20 "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron",
21 "program": "${workspaceFolder}/build/index.js", 21 "program": "${workspaceFolder}/build/index.js",
22 "protocol": "inspector", 22 "protocol": "inspector",
@@ -28,7 +28,7 @@
28 { 28 {
29 "type": "node", 29 "type": "node",
30 "request": "launch", 30 "request": "launch",
31 "name": "Franz – Local API", 31 "name": "Ferdi – Local API",
32 "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron", 32 "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron",
33 "program": "${workspaceFolder}/build/index.js", 33 "program": "${workspaceFolder}/build/index.js",
34 "protocol": "inspector", 34 "protocol": "inspector",
@@ -40,7 +40,7 @@
40 { 40 {
41 "type": "node", 41 "type": "node",
42 "request": "launch", 42 "request": "launch",
43 "name": "(Win Sim) Franz - Test API", 43 "name": "(Win Sim) Ferdi - Test API",
44 "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron", 44 "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron",
45 "program": "${workspaceFolder}/build/index.js", 45 "program": "${workspaceFolder}/build/index.js",
46 "protocol": "inspector", 46 "protocol": "inspector",
@@ -53,7 +53,7 @@
53 { 53 {
54 "type": "node", 54 "type": "node",
55 "request": "launch", 55 "request": "launch",
56 "name": "(Win Sim) Franz – Live API", 56 "name": "(Win Sim) Ferdi – Live API",
57 "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron", 57 "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron",
58 "program": "${workspaceFolder}/build/index.js", 58 "program": "${workspaceFolder}/build/index.js",
59 "protocol": "inspector", 59 "protocol": "inspector",
@@ -66,7 +66,7 @@
66 { 66 {
67 "type": "node", 67 "type": "node",
68 "request": "launch", 68 "request": "launch",
69 "name": "(Win Sim) Franz – Local API", 69 "name": "(Win Sim) Ferdi – Local API",
70 "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron", 70 "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron",
71 "program": "${workspaceFolder}/build/index.js", 71 "program": "${workspaceFolder}/build/index.js",
72 "protocol": "inspector", 72 "protocol": "inspector",
diff --git a/CHANGELOG.md b/CHANGELOG.md
index eabc36013..5df55fbe0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,129 +1,58 @@
1# [5.4.0](https://github.com/meetfranz/franz/compare/v5.4.0-beta.3...v5.4.0) (2019-10-23) 1# [5.4.0](https://github.com/getferdi/ferdi/compare/v5.3.4...v5.4.0)
2 2- Merge Franz v5.4.0
3### Features 3- Add option to always show service navigation bar
4 4- Minifying build files to improve app size
5* **Custom Websites:** Added navigation bar for "Custom Website" service ([f8fbaad](https://github.com/meetfranz/franz/commit/f8fbaad)) 5- Sorting applications in QuickSwitch by last used
6* **Mac:** Open Franz window with `Cmd+1` ([71831ec](https://github.com/meetfranz/franz/commit/71831ec)) 6- Add service hibernation
7* **Todos:** Allow Franz Todos to open links in browser ([5ba6723](https://github.com/meetfranz/franz/commit/5ba6723)) 7- Fix universal darkmode for WhatsApp and Threema
8* **Service API:** Share `team`, `url` and `hasCustomIcon` with service ([9f4f3e7](https://github.com/meetfranz/franz/commit/9f4f3e7)) 8- Add button to open darkmode.css for a service
9* **App Start:** Only load workspace related services ([ad7fb84](https://github.com/meetfranz/franz/commit/ad7fb84)) 9- Add option to change accent color
10 10
11 11# [5.3.4](https://github.com/getferdi/ferdi/compare/v5.3.3...v5.3.4) (2019-09-25)
12### Bug Fixes 12- Fix continuous releases/assets delivery on tags builds #53
13 13- Attempt at making menubar hiding feature cross-platform #7 (comment)
14* **Services:** Restore services after 10 minutes system suspension ([7f11dff](https://github.com/meetfranz/franz/commit/7f11dff)) 14- Attempt at making "About Ferdi" consistent across platforms #47 (comment)
15* **Workspaces:** Allow scrolling in Workspaces drawer ([5c1c0db](https://github.com/meetfranz/franz/commit/5c1c0db)) 15- Attempt at fixing "Launch on start" feature on Linux #63
16* **Spell check:** fix(Spell checker): Fix disable spell checker ([@vantezzen](https://github.com/vantezzen)) 16- Add "Quick Switch" feature
17 ([691e0cf](https://github.com/meetfranz/franz/commit/691e0cf)) 17- Add universal Dark-Mode via the [DarkReader extension](https://github.com/darkreader/darkreader)
18* **App:** Fix "Paste And Match Style" ([490a988](https://github.com/meetfranz/franz/commit/490a988)) 18- Add "Scheduled Do-not-Disturb" feature
19* **macOS:** Only show services in Touch Bar that should be visible ([077ad22](https://github.com/meetfranz/franz/commit/077ad22)) 19
20* **Service Proxies:** Fix proxy setting rehydration ([e2126a6](https://github.com/meetfranz/franz/commit/e2126a6)) 20# [5.3.3](https://github.com/getferdi/ferdi/compare/v5.3.2...v5.3.3) (2019-09-18)
21* **Settings:** Fix cache size calculation after clearing cache ([a31566d](https://github.com/meetfranz/franz/commit/a31566d)) 21- Merged Franz v5.3.3 into Ferdi
22* **Spell check:** Fix spell checker to initialize without loaded dictionary ([734732f](https://github.com/meetfranz/franz/commit/734732f)) 22- Allow hiding menubar (#7)
23* **Spell check:** Fix "undefined" language in context menu ([cc03883](https://github.com/meetfranz/franz/commit/cc03883)) 23- Add "back" and "forward" options for browsing history inside services (#39)
24* **App:** Fix Basic Auth overlay background in Dark Mode ([027e50d](https://github.com/meetfranz/franz/commit/027e50d)) 24- Add password protection feature (#41)
25 25- Add keep workspace loaded option per workspace (#37)
26 26
27### General 27# [5.3.2](https://github.com/getferdi/ferdi/compare/v5.3.1...v5.3.2) (2019-09-13)
28 28Merged Franz v5.3.2 into Ferdi
29* **App:** Updated electron to 6.0.11 ([34aab68](https://github.com/meetfranz/franz/commit/34aab68)) 29
30* **Translations:** Improved translations. **[A million thanks to the amazing community. 🎉](http://i18n.meetfranz.com/)** 30## [5.3.1](https://github.com/getferdi/ferdi/compare/v5.3.0...v5.3.1) (2019-09-09)
31 31Merge Franz v5.3.1 into Ferdi.
32 32
33# [5.4.0-beta.3](https://github.com/meetfranz/franz/compare/v5.4.0-beta.2...v5.4.0-beta.3) (2019-10-22) 33- Enable todos for all users
34 34- Fix WhatsApp recipe not working (#19 and #21)
35### Features
36
37* **App Start:** Only load workspace related services ([ad7fb84](https://github.com/meetfranz/franz/commit/ad7fb84))
38
39
40### Bug Fixes
41
42* **Services:** Restore services after 10 minutes system suspension ([7f11dff](https://github.com/meetfranz/franz/commit/7f11dff))
43* **Workspaces:** Allow scrolling in Workspaces drawer ([5c1c0db](https://github.com/meetfranz/franz/commit/5c1c0db))
44* **Spell check:** fix(Spell checker): Fix disable spell checker ([@vantezzen](https://github.com/vantezzen))
45 ([691e0cf](https://github.com/meetfranz/franz/commit/691e0cf))
46
47### General
48
49* **Translations:** Improved translations. **[A million thanks to the amazing community. 🎉](http://i18n.meetfranz.com/)**
50
51
52
53# [5.4.0-beta.2](https://github.com/meetfranz/franz/compare/v5.4.0-beta.1...v5.4.0-beta.2) (2019-10-04)
54
55
56### Bug Fixes
57
58* **App:** Fix service issue that crashes the app
59
60
61# [5.4.0-beta.1](https://github.com/meetfranz/franz/compare/v5.3.3...v5.4.0-beta.1) (2019-10-04)
62
63### Features
64
65* **Custom Websites:** Added navigation bar for "Custom Website" service ([f8fbaad](https://github.com/meetfranz/franz/commit/f8fbaad))
66* **Mac:** Open Franz window with `Cmd+1` ([71831ec](https://github.com/meetfranz/franz/commit/71831ec))
67* **Todos:** Allow Franz Todos to open links in browser ([5ba6723](https://github.com/meetfranz/franz/commit/5ba6723))
68* **Service API:** Share `team`, `url` and `hasCustomIcon` with service ([9f4f3e7](https://github.com/meetfranz/franz/commit/9f4f3e7))
69
70
71
72### Bug Fixes
73
74* **App:** Fix "Paste And Match Style" ([490a988](https://github.com/meetfranz/franz/commit/490a988))
75* **macOS:** Only show services in Touch Bar that should be visible ([077ad22](https://github.com/meetfranz/franz/commit/077ad22))
76* **Service Proxies:** Fix proxy setting rehydration ([e2126a6](https://github.com/meetfranz/franz/commit/e2126a6))
77* **Settings:** Fix cache size calculation after clearing cache ([a31566d](https://github.com/meetfranz/franz/commit/a31566d))
78* **Spell check:** Fix spell checker to initialize without loaded dictionary ([734732f](https://github.com/meetfranz/franz/commit/734732f))
79* **Spell check:** Fix "undefined" language in context menu ([cc03883](https://github.com/meetfranz/franz/commit/cc03883))
80* **App:** Fix Basic Auth overlay background in Dark Mode ([027e50d](https://github.com/meetfranz/franz/commit/027e50d))
81
82### General
83
84* **App:** Updated electron to 6.0.11 ([34aab68](https://github.com/meetfranz/franz/commit/34aab68))
85* **Translations:** Improved translations. **[A million thanks to the amazing community. 🎉](http://i18n.meetfranz.com/)**
86
87
88
89# [5.3.3](https://github.com/meetfranz/franz/compare/v5.3.1...v5.3.3) (2019-09-17)
90
91### Features
92* **Todos:** Highlight Franz Todos icon in sidebar when the Franz Todos panel is opened ([7431ba3](https://github.com/meetfranz/franz/commit/7431ba3))
93
94 35
95### Bug Fixes 36### Bug Fixes
96 37
97* **Spellchecker:** Fix disabling spellchecker after app start ([4035043](https://github.com/meetfranz/franz/commit/4035043)) 38* **Windows:** Fix app size in fullscreen ([e210701](https://github.com/getferdi/ferdi/commit/e210701))
98* **Windows:** Fix window menu to get overwritten by Todos menu ([aa33ac7](https://github.com/meetfranz/franz/commit/aa33ac7)) 39* **Windows:** Fix app to be cropped at the bottom on Windows ([42f97b4](https://github.com/getferdi/ferdi/commit/42f97b4))
99
100
101### General
102
103* **Translations:** Improved translations. **[A million thanks to the amazing community. 🎉](http://i18n.meetfranz.com/)**
104
105
106# [5.3.2](https://github.com/meetfranz/franz/compare/v5.3.1...v5.3.2) (2019-09-12)
107 40
108 41
109### Features 42### Features
110 43
111* **Todos:** Move Franz Todos to sidebar ([7ffcf8c](https://github.com/meetfranz/franz/commit/7ffcf8c)) 44* **Todos:** Add option to disable todos ([5d03b91](https://github.com/getferdi/ferdi/commit/5d03b91))
112* **Workspaces:** Add setting to keep all services in workspaces in background (avoid reload) ([@Wouter0100](https://github.com/Wouter0100)) ([ddab3a8](https://github.com/meetfranz/franz/commit/ddab3a8))
113
114
115### Bug Fixes
116
117* **Settings:** Don't toggle Franz Todos on general settings changes ([@vantezzen](https://github.com/vantezzen)) ([a99371b](https://github.com/meetfranz/franz/commit/a99371b))
118
119
120### General
121
122* **Translations:** Improved translations. **[A million thanks to the amazing community. 🎉](http://i18n.meetfranz.com/)**
123 45
124 46
47## [5.3.0](https://github.com/getferdi/ferdi/compare/v5.2.1-beta.1...v5.3.0) (2019-09-06)
48- Removes pages begging you to donate after registration
49- Makes all users Premium by default
50- [Add option to change server to a custom](https://github.com/getferdi/ferdi#servers) [ferdi-server](https://github.com/getferdi/server)
51- Remove "Franz is better together" popup
52- Makes RocketChat self-hosted generally available
53- Comes with a custom branding proper to Ferdi
125 54
126# [5.3.1](https://github.com/meetfranz/franz/compare/v5.3.0...v5.3.1) (2019-09-06) 55## [5.2.1-beta.1](https://github.com/meetfranz/franz/compare/v5.2.0...v5.2.1-beta.1) (2019-07-30)
127 56
128### Features 57### Features
129 58
@@ -252,7 +181,7 @@
252* **App:** Add security checks for external URLs ([6e5531a](https://github.com/meetfranz/franz/commit/6e5531a)) 181* **App:** Add security checks for external URLs ([6e5531a](https://github.com/meetfranz/franz/commit/6e5531a))
253* **Linux:** Add auto updater for Linux AppImage builds ([d641b4e](https://github.com/meetfranz/franz/commit/d641b4e)) 182* **Linux:** Add auto updater for Linux AppImage builds ([d641b4e](https://github.com/meetfranz/franz/commit/d641b4e))
254* **Spell check:** Add British English as spell check language ([#1306](https://github.com/meetfranz/franz/issues/1306)) ([67fa325](https://github.com/meetfranz/franz/commit/67fa325)) 183* **Spell check:** Add British English as spell check language ([#1306](https://github.com/meetfranz/franz/issues/1306)) ([67fa325](https://github.com/meetfranz/franz/commit/67fa325))
255* **Windows:** Add option to quit Franz from Taskbar icon ([952fc8b](https://github.com/meetfranz/franz/commit/952fc8b)) 184* **Windows:** Add option to quit Ferdi from Taskbar icon ([952fc8b](https://github.com/meetfranz/franz/commit/952fc8b))
256 185
257### Bug Fixes 186### Bug Fixes
258 187
@@ -261,7 +190,7 @@
261* **Service:** Fix service zoom (cmd/ctrl+ & cmd/ctrl-) ([91a0f59](https://github.com/meetfranz/franz/commit/91a0f59)) 190* **Service:** Fix service zoom (cmd/ctrl+ & cmd/ctrl-) ([91a0f59](https://github.com/meetfranz/franz/commit/91a0f59))
262* **Service:** Fix shortcut for (un)muting notifications & audio ([1df3342](https://github.com/meetfranz/franz/commit/1df3342)) 191* **Service:** Fix shortcut for (un)muting notifications & audio ([1df3342](https://github.com/meetfranz/franz/commit/1df3342))
263* **Windows:** Fix copy & paste in service context menus ([e66fcaa](https://github.com/meetfranz/franz/commit/e66fcaa)), closes [#1316](https://github.com/meetfranz/franz/issues/1316) 192* **Windows:** Fix copy & paste in service context menus ([e66fcaa](https://github.com/meetfranz/franz/commit/e66fcaa)), closes [#1316](https://github.com/meetfranz/franz/issues/1316)
264* **Windows:** Fix losing window when "Keep Franz in background" is enabled ([78a3722](https://github.com/meetfranz/franz/commit/78a3722)) 193* **Windows:** Fix losing window when "Keep Ferdi in background" is enabled ([78a3722](https://github.com/meetfranz/franz/commit/78a3722))
265 194
266### General 195### General
267 196
@@ -278,7 +207,7 @@
278### Features 207### Features
279 208
280* **Spellchecker:** Add automatic spellcheck language detection ([a5e7171](https://github.com/meetfranz/franz/commit/a5e7171)) 209* **Spellchecker:** Add automatic spellcheck language detection ([a5e7171](https://github.com/meetfranz/franz/commit/a5e7171))
281* **Windows:** Add option to quit Franz from Taskbar ([8808601](https://github.com/meetfranz/franz/commit/8808601)) 210* **Windows:** Add option to quit Ferdi from Taskbar ([8808601](https://github.com/meetfranz/franz/commit/8808601))
282 211
283### Bug Fixes 212### Bug Fixes
284 213
@@ -360,7 +289,7 @@
360 289
361### Features 290### Features
362 291
363* **Windows:** Add taskbar action to reset Franz window ([08fa75a](https://github.com/meetfranz/franz/commit/08fa75a)) 292* **Windows:** Add taskbar action to reset Ferdi window ([08fa75a](https://github.com/meetfranz/franz/commit/08fa75a))
364* **Context Menu:** Add "Go Back" and "Go Forward" ([5c18595](https://github.com/meetfranz/franz/commit/5c18595)) 293* **Context Menu:** Add "Go Back" and "Go Forward" ([5c18595](https://github.com/meetfranz/franz/commit/5c18595))
365* **Context Menu:** Add Lookup, Search Google for ([5d5aa0c](https://github.com/meetfranz/franz/commit/5d5aa0c)) 294* **Context Menu:** Add Lookup, Search Google for ([5d5aa0c](https://github.com/meetfranz/franz/commit/5d5aa0c))
366* **App:** Add `--devtools` command line arg to automatically open Dev Tools ([84fc3a0](https://github.com/meetfranz/franz/commit/84fc3a0)) 295* **App:** Add `--devtools` command line arg to automatically open Dev Tools ([84fc3a0](https://github.com/meetfranz/franz/commit/84fc3a0))
@@ -455,7 +384,7 @@
455 384
456* **App:** Fix memory leak in recipe polling loop ([c99848f](https://github.com/meetfranz/franz/commit/c99848f)) 385* **App:** Fix memory leak in recipe polling loop ([c99848f](https://github.com/meetfranz/franz/commit/c99848f))
457* **App:** Fix validation for side-by-side teamId & customURL ([bd51150](https://github.com/meetfranz/franz/commit/bd51150)) 386* **App:** Fix validation for side-by-side teamId & customURL ([bd51150](https://github.com/meetfranz/franz/commit/bd51150))
458* **App:** Reload Franz instead of all services one by one on sleep resume ([4e5f7af](https://github.com/meetfranz/franz/commit/4e5f7af)) 387* **App:** Reload Ferdi instead of all services one by one on sleep resume ([4e5f7af](https://github.com/meetfranz/franz/commit/4e5f7af))
459* **App:** Fix toggle buttons shown during import ([1220e2c](https://github.com/meetfranz/franz/commit/1220e2c)) 388* **App:** Fix toggle buttons shown during import ([1220e2c](https://github.com/meetfranz/franz/commit/1220e2c))
460fix(App): Bugfix Fix memory leak in recipe polling loop 389fix(App): Bugfix Fix memory leak in recipe polling loop
461* **App:** Fix invite screen [object Object] values ([81c4e99](https://github.com/meetfranz/franz/commit/81c4e99)) 390* **App:** Fix invite screen [object Object] values ([81c4e99](https://github.com/meetfranz/franz/commit/81c4e99))
@@ -546,7 +475,7 @@ fix(App): Bugfix Fix memory leak in recipe polling loop
546 475
547### Features 476### Features
548 477
549* **Menu:** Add "About Franz" Menu item to Windows/Linux ([a21b770](https://github.com/meetfranz/franz/commit/a21b770)) 478* **Menu:** Add "About Ferdi" Menu item to Windows/Linux ([a21b770](https://github.com/meetfranz/franz/commit/a21b770))
550* **Menu:** Add menu item to toggle (service) dev tools ([e8da383](https://github.com/meetfranz/franz/commit/e8da383)) 479* **Menu:** Add menu item to toggle (service) dev tools ([e8da383](https://github.com/meetfranz/franz/commit/e8da383))
551* **Translation:** Add italian translation ([ab348cc](https://github.com/meetfranz/franz/commit/ab348cc)) ([dnlup](https://github.com/dnlup)) 480* **Translation:** Add italian translation ([ab348cc](https://github.com/meetfranz/franz/commit/ab348cc)) ([dnlup](https://github.com/dnlup))
552 481
@@ -554,8 +483,8 @@ fix(App): Bugfix Fix memory leak in recipe polling loop
554### Bug Fixes 483### Bug Fixes
555 484
556* **App:** Add checks to service url validation to prevent app freeze ([db8515f](https://github.com/meetfranz/franz/commit/db8515f)) 485* **App:** Add checks to service url validation to prevent app freeze ([db8515f](https://github.com/meetfranz/franz/commit/db8515f))
557* **macOS:** Fix disable launch Franz on start ([34bba09](https://github.com/meetfranz/franz/commit/34bba09)) 486* **macOS:** Fix disable launch Ferdi on start ([34bba09](https://github.com/meetfranz/franz/commit/34bba09))
558* **Windows:** Launch Franz on start when selected ([34bba09](https://github.com/meetfranz/franz/commit/34bba09)) 487* **Windows:** Launch Ferdi on start when selected ([34bba09](https://github.com/meetfranz/franz/commit/34bba09))
559* **Onboarding:** Fix issue with import of on-premise services ([7c7d27d](https://github.com/meetfranz/franz/commit/7c7d27d)) 488* **Onboarding:** Fix issue with import of on-premise services ([7c7d27d](https://github.com/meetfranz/franz/commit/7c7d27d))
560* **Shortcuts:** Flip shortcut to navigate to next/previous service ([37d5923](https://github.com/meetfranz/franz/commit/37d5923)) 489* **Shortcuts:** Flip shortcut to navigate to next/previous service ([37d5923](https://github.com/meetfranz/franz/commit/37d5923))
561* **Windows:** Open Window when app is pinned to taskbar and minimized to system tray ([777814a](https://github.com/meetfranz/franz/commit/777814a)) 490* **Windows:** Open Window when app is pinned to taskbar and minimized to system tray ([777814a](https://github.com/meetfranz/franz/commit/777814a))
@@ -585,10 +514,10 @@ e58f558)) ([GustavoKatel](https://github.com/GustavoKatel))
585 514
586### Bug Fixes 515### Bug Fixes
587 516
588* **App:** Force Franz to use single window ([2ae409e](https://github.com/meetfranz/franz/commit/2ae409e)) 517* **App:** Force Ferdi to use single window ([2ae409e](https://github.com/meetfranz/franz/commit/2ae409e))
589* **Onboarding:** Fix enable/disable service import toggle ([23174f9](https://github.com/meetfranz/franz/commit/23174f9)) 518* **Onboarding:** Fix enable/disable service import toggle ([23174f9](https://github.com/meetfranz/franz/commit/23174f9))
590* **Onboarding:** Fix service import ([99d1c01](https://github.com/meetfranz/franz/commit/99d1c01)) 519* **Onboarding:** Fix service import ([99d1c01](https://github.com/meetfranz/franz/commit/99d1c01))
591* **Payment:** Fix payment window when name contains special character ([a854614](https://github.com/meetfranz/franz/commit/a854614)) 520* **Payment:** Fix payment window when name contains special character ([a854614](https://github.com/meetfranz/franz/commit/a854614))
592* **macOS:** Add macOS dark theme system tray icon ([55805f1](https://github.com/meetfranz/franz/commit/55805f1)) 521* **macOS:** Add macOS dark theme system tray icon ([55805f1](https://github.com/meetfranz/franz/commit/55805f1))
593* **Windows:** Fix enable/disable autostart on login ([eca7f3b](https://github.com/meetfranz/franz/commit/eca7f3b)) 522* **Windows:** Fix enable/disable autostart on login ([eca7f3b](https://github.com/meetfranz/franz/commit/eca7f3b))
594* **Windows:** Fix multiple system tray icons when opening/closing Franz ([5b9b0c7](https://github.com/meetfranz/franz/commit/5b9b0c7)) 523* **Windows:** Fix multiple system tray icons when opening/closing Ferdi ([5b9b0c7](https://github.com/meetfranz/franz/commit/5b9b0c7))
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index e457e187e..0b41fc123 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -1,11 +1,11 @@
1# Contributor Code of Conduct 1# Contributor Code of Conduct
2 2
3As contributors and maintainers of the Franz project, we pledge to respect everyone who contributes by posting issues, updating documentation, submitting pull requests, providing feedback in comments, and any other activities. 3As contributors and maintainers of the Ferdi project, we pledge to respect everyone who contributes by posting issues, updating documentation, submitting pull requests, providing feedback in comments, and any other activities.
4 4
5Communication through GitHub, Slack, email or any other channel must be constructive and never resort to personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct. 5Communication through GitHub, Slack, email or any other channel must be constructive and never resort to personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
6 6
7We promise to extend courtesy and respect to everyone involved in this project regardless of gender, gender identity, sexual orientation, disability, age, race, ethnicity, religion, or level of experience. We expect anyone contributing to the project to do the same. 7We promise to extend courtesy and respect to everyone involved in this project regardless of gender, gender identity, sexual orientation, disability, age, race, ethnicity, religion, or level of experience. We expect anyone contributing to the project to do the same.
8 8
9If any member of the community violates this code of conduct, the maintainers of the Franz project may take action, removing issues, comments, and PRs or blocking accounts as deemed appropriate. 9If any member of the community violates this code of conduct, the maintainers of the Ferdi project may take action, removing issues, comments, and PRs or blocking accounts as deemed appropriate.
10 10
11If you are subject to or witness unacceptable behavior, or have any other concerns, please open an issue or send an email to [Stefan](stefan@adlk.io). 11If you are subject to or witness unacceptable behavior, or have any other concerns, please open an issue or send an email to [Stefan](stefan@adlk.io).
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 57146bd43..010777a05 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,6 +1,6 @@
1# Contributing to Franz 5 1# Contributing to Ferdi 5
2 2
3:tada: First off, thanks for taking the time and your effort to make Franz better! :tada: 3:tada: First off, thanks for taking the time and your effort to make Ferdi better! :tada:
4 4
5#### Table of contents 5#### Table of contents
6<!-- TOC depthFrom:2 depthTo:2 withLinks:1 updateOnSave:1 orderedList:0 --> 6<!-- TOC depthFrom:2 depthTo:2 withLinks:1 updateOnSave:1 orderedList:0 -->
@@ -14,10 +14,10 @@
14 14
15## Code of Conduct 15## Code of Conduct
16 16
17This project and everyone participating in it is governed by the [Franz Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to [stefan@adlk.io](mailto:stefan@adlk.io). 17This project and everyone participating in it is governed by the [Ferdi Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to [stefan@adlk.io](mailto:stefan@adlk.io).
18 18
19## What should I know before I get started? 19## What should I know before I get started?
20With Franz 5, we have completely separated the client and the services. If you have any issues with a service recipe, please do not open an issue at this repository. Instead head over to the [Franz Recipe Repository](https://github.com/meetfranz/plugins) and open a new issue there. 20With Ferdi 5, we have completely separated the client and the services. If you have any issues with a service recipe, please do not open an issue at this repository. Instead head over to the [Ferdi Recipe Repository](https://github.com/meetfranz/plugins) and open a new issue there.
21 21
22If you need help with development, want to discuss a new feature or improvement please talk to us either on [Slack](http://slack.franz.im) or open a new issue with the [feature proposal template](.github/FEATURE_PROPOSAL_TEMPLATE.md). 22If you need help with development, want to discuss a new feature or improvement please talk to us either on [Slack](http://slack.franz.im) or open a new issue with the [feature proposal template](.github/FEATURE_PROPOSAL_TEMPLATE.md).
23 23
diff --git a/README.md b/README.md
index 5397189c6..285c80bb0 100644
--- a/README.md
+++ b/README.md
@@ -1,63 +1,190 @@
1<img src="./build-helpers/images/icon.png" alt="" width="150"/> 1<p align="center">
2 <img src="./build-helpers/images/icon.png" alt="" width="200"/>
3</p>
2 4
3# Franz 5 5# Ferdi
4[![Build status Windows](https://ci.appveyor.com/api/projects/status/9yman4ye19x4274o/branch/master?svg=true)](https://ci.appveyor.com/project/adlk/franz/branch/master)
5 [![Build Status Mac & Linux](https://travis-ci.com/meetfranz/franz.svg?branch=master)](https://travis-ci.com/meetfranz/franz) [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://meetfranz.com/payment.html)
6 6
7Messaging app for WhatsApp, Slack, Telegram, HipChat, Hangouts and many many more. 7[![Backers on Open Collective](https://opencollective.com/getferdi/backers/badge.svg)](#backers) [![Sponsors on Open Collective](https://opencollective.com/getferdi/sponsors/badge.svg)](#sponsors) [![Build Status Windows](https://ci.appveyor.com/api/projects/status/2ckfbmoxp36fye5b?svg=true)](https://ci.appveyor.com/project/kytwb/ferdi)
8[![Build Status Mac & Linux](https://travis-ci.org/getferdi/ferdi.svg?branch=master)](https://travis-ci.org/getferdi/ferdi)
8 9
9## [Download Franz](https://www.meetfranz.com) 10🤴🏽 Hard-fork of [Franz](https://github.com/meetfranz/franz), adding awesome features and removing unwanted ones.
10👉 www.meetfranz.com 11
12## Download Ferdi
13
14You can find the installers in the [latest release](https://github.com/getferdi/ferdi/releases) assets.
11 15
12### Or use homebrew (macOS only) 16### Or use homebrew (macOS only)
13 17
14`$ brew cask install franz` 18`$ brew cask install ferdi`
15 19
16(Don't know homebrew? [brew.sh](https://brew.sh/)) 20(Don't know homebrew? [brew.sh](https://brew.sh/))
17 21
22## Ferdi-specific Features
23
24- [x] Removes the counter-productive fullscreen app delay inviting users to upgrade
25- [x] Removes pages begging you to donate after registration
26- [x] Remove "Franz is better together" popup
27- [x] Remove bug that would incorrectly display unread messages count on some services (more info in [7566ccd](https://github.com/getferdi/ferdi/commit/7566ccd))
28- [x] Makes all users Premium by default ([#15](https://github.com/getferdi/ferdi/issues/15))
29- [x] Using the Ferdi API instead of Franz's servers
30- [x] [Add option to change server to a custom](https://github.com/getferdi/ferdi/wiki/Custom-Server) [ferdi-server](https://github.com/getferdi/server)
31- [x] Add option to use Ferdi without an account ([#5](https://github.com/getferdi/ferdi/issues/5))
32- [x] Add "Private Notification"-Mode, that hides message content from notifications ([franz#879](https://github.com/meetfranz/franz/issues/879))
33- [x] Add Password Lock feature to keep your messages protected ([#41](https://github.com/getferdi/ferdi/issues/41), [franz#810](https://github.com/meetfranz/franz/issues/810), [franz#950](https://github.com/meetfranz/franz/issues/950), [franz#1430](https://github.com/meetfranz/franz/issues/1430))
34- [x] Add an option to keep individual workspaces always loaded ([#37](https://github.com/getferdi/ferdi/issues/37))
35- [x] Add universal Dark-Mode via the [DarkReader extension](https://github.com/darkreader/darkreader) ([#71](https://github.com/getferdi/ferdi/issues/71))
36- [x] Add an option to auto-hide the menubar ([#7](https://github.com/getferdi/ferdi/issues/7), [franz#833](https://github.com/meetfranz/franz/issues/833))
37- [x] Add "Quick Switch" feature to help you navigate a long list of services (similar to Rambox's [Quick Switcher](https://rambox.pro/#feature-details/quick_switcher))
38- [x] Add "Service Hibernation" that will automatically unload services when they are unused
39- [x] Add "Scheduled Do-not-Disturb" feature in which you won't get notifications (similar to Rambox's [Work Hours](https://rambox.pro/#feature-details/work_hours))
40- [x] Add CTRL+← and CTRL+→ shortcuts and menu options to go back and forward in the service browsing history([#39](https://github.com/getferdi/ferdi/issues/39))
41- [x] Add option to show a browser-like navigation bar on all services
42- [x] Add option to change accent color
43- [x] Add portable version for Windows
44- [x] Add Process Manager to find services using a lot of resources
45- [x] Add "npm run prepare-code" command for development to lint and beautify code
46- [x] Add button to open darkmode.css for a service
47- [x] Switch to [`electron-spellchecker`](https://github.com/electron-userland/electron-spellchecker) ti improve application size
48- [x] Improve "About Ferdi" screen to better display versions
49- [x] Minifying build files to improve app size
50- [x] [Makes it possible to edit the "Franz Todo" server](https://github.com/getferdi/ferdi/wiki/Custom-Todo)
51- [x] Makes RocketChat self-hosted generally available ([#6](https://github.com/getferdi/ferdi/issues/6))
52- [x] Comes with a custom branding proper to Ferdi
53
18## Development 54## Development
19 55
20### Preparations 56### Preparations
21 57
22#### Install Linux OS dependencies 58#### Install OS dependencies
23[Guide: Linux distribution specific dependencies](docs/linux.md) 59
60##### Node.js
61
62Please make sure you are running NodeJS v10 ([v10.16.3](https://nodejs.org/dist/v10.16.3/) suggested). Versions above will throw an errow when trying to install due to an [old fsevent dependency](https://github.com/fsevents/fsevents/issues/278).
63
64##### Git
65
66The version [2.23.0](https://github.com/git-for-windows/git/releases/tag/v2.23.0.windows.1) for Git is working fine for development. You can then use the console from Git to do the development procedure.
67
68##### Debian/Ubuntu
24 69
25#### Fix native modules to match current electron node version
26```bash 70```bash
27$ npm run rebuild 71$ apt install libx11-dev libxext-dev libxss-dev libxkbfile-dev
72```
73
74##### Fedora
75
76```bash
77$ dnf install libX11-devel libXext-devel libXScrnSaver-devel libxkbfile-devel
78```
79
80##### Windows
81
82```bash
83$ npm install --global windows-build-tools // Windows 10
84$ npm install --global windows-build-tools --vs2015 // Windows 7
28``` 85```
29 86
87#### Clone repository with submodule
88
89```bash
90$ git clone https://github.com/getferdi/ferdi.git
91$ cd ferdi
92$ git submodule update --init --recursive
93```
94
95It is important you execute the last command to get the required submodules (recipes, server).
96
30### Install dependencies 97### Install dependencies
31Run the following command to install all dependencies, and link sibling modules with Franz. 98
99Run the following command to install all dependencies, and link sibling modules with Ferdi.
100
32```bash 101```bash
33$ npx lerna bootstrap 102$ npx lerna bootstrap
34``` 103```
35 104
36If you previously ran `npm install` it sometimes is necessary to delete your `node_modules` folder before running `npx lerna bootstrap`. 105If you previously ran `npm install` it sometimes is necessary to delete your `node_modules` folder before running `npx lerna bootstrap`.
37 106
38### Run Franz Development App 107### Fix native modules to match current electron node version
39Run these two commands __simultaneously__ in different console tabs. 108
109```bash
110$ npm run rebuild
111```
112
113### Start development app
114
115Run these two commands **simultaneously** in different console tabs:
40 116
41```bash 117```bash
42$ npm run dev 118$ npm run dev
43$ npm run start 119$ npm run start
44``` 120```
121
45Be aware that the development database will be reset regularly. 122Be aware that the development database will be reset regularly.
46 123
47## Packaging 124### Packaging
125
48```bash 126```bash
49$ npm run build 127$ npm run build
50``` 128```
51 129
52## How can I support the project? 130Deliverables will be available in the `out` folder.
53If you have found a bug that hasn't been reported yet or want to request a new feature, please open a new issue.
54 131
55## I need help? 132### Release
56Join the Franz community on [Slack](http://slack.franz.im) and get in touch with us.
57 133
58## Create your own plugins/recipes 134```bash
59You can find all the Information at the [Plugins repository](https://github.com/meetfranz/plugins). 135$ git checkout develop && git pull && git checkout master
60For questions feel free to ask in the [community Slack](http://slack.franz.im) 136$ git merge --no-ff develop
137$ git tag v5.3.4-beta.4
138$ git push --tags
139```
61 140
62## License 141When pushing a new tag, the CI builds will create a draft GitHub release and upload the deliverables in the draft release assets. Wait for all the assets to be uploaded before publishing the draft release.
63Franz 5 is open-source licensed under the Apache-2.0 License. 142
143## Contributors ✨
144
145Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
146
147<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
148<!-- prettier-ignore-start -->
149<!-- markdownlint-disable -->
150<table>
151 <tr>
152 <td align="center"><a href="https://vantezzen.io"><img src="https://avatars2.githubusercontent.com/u/10333196?v=4" width="40px;" alt="Bennett"/><br /><sub><b>Bennett</b></sub></a><br /><a href="https://github.com/kytwb/ferdi/commits?author=vantezzen" title="Code">💻</a> <a href="#design-vantezzen" title="Design">🎨</a> <a href="https://github.com/kytwb/ferdi/commits?author=vantezzen" title="Documentation">📖</a> <a href="#ideas-vantezzen" title="Ideas, Planning, & Feedback">🤔</a> <a href="#translation-vantezzen" title="Translation">🌍</a> <a href="#example-vantezzen" title="Examples">💡</a> <a href="https://github.com/kytwb/ferdi/issues?q=author%3Avantezzen" title="Bug reports">🐛</a> <a href="#content-vantezzen" title="Content">🖋</a> <a href="#infra-vantezzen" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#userTesting-vantezzen" title="User Testing">📓</a> <a href="#question-vantezzen" title="Answering Questions">💬</a> <a href="#projectManagement-vantezzen" title="Project Management">📆</a> <a href="#review-vantezzen" title="Reviewed Pull Requests">👀</a></td>
153 <td align="center"><a href="http://www.adlk.io"><img src="https://avatars1.githubusercontent.com/u/3265004?v=4" width="40px;" alt="Stefan Malzner"/><br /><sub><b>Stefan Malzner</b></sub></a><br /><a href="https://github.com/kytwb/ferdi/commits?author=adlk" title="Code">💻</a> <a href="#content-adlk" title="Content">🖋</a> <a href="#design-adlk" title="Design">🎨</a> <a href="https://github.com/kytwb/ferdi/commits?author=adlk" title="Documentation">📖</a> <a href="#ideas-adlk" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-adlk" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#projectManagement-adlk" title="Project Management">📆</a> <a href="https://github.com/kytwb/ferdi/commits?author=adlk" title="Tests">⚠️</a> <a href="#translation-adlk" title="Translation">🌍</a></td>
154 <td align="center"><a href="https://twitter.com/kytwb"><img src="https://avatars0.githubusercontent.com/u/412895?v=4" width="40px;" alt="Amine Mouafik"/><br /><sub><b>Amine Mouafik</b></sub></a><br /><a href="#question-kytwb" title="Answering Questions">💬</a> <a href="https://github.com/kytwb/ferdi/commits?author=kytwb" title="Code">💻</a> <a href="https://github.com/kytwb/ferdi/commits?author=kytwb" title="Documentation">📖</a> <a href="#ideas-kytwb" title="Ideas, Planning, & Feedback">🤔</a> <a href="#maintenance-kytwb" title="Maintenance">🚧</a> <a href="#platform-kytwb" title="Packaging/porting to new platform">📦</a> <a href="#projectManagement-kytwb" title="Project Management">📆</a> <a href="#review-kytwb" title="Reviewed Pull Requests">👀</a> <a href="#infra-kytwb" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#fundingFinding-kytwb" title="Funding Finding">🔍</a></td>
155 <td align="center"><a href="http://seriesgt.com"><img src="https://avatars3.githubusercontent.com/u/5977640?v=4" width="40px;" alt="ZeroCool"/><br /><sub><b>ZeroCool</b></sub></a><br /><a href="https://github.com/kytwb/ferdi/commits?author=ZeroCool940711" title="Code">💻</a> <a href="#ideas-ZeroCool940711" title="Ideas, Planning, & Feedback">🤔</a></td>
156 <td align="center"><a href="https://github.com/rseitbekov"><img src="https://avatars2.githubusercontent.com/u/35684439?v=4" width="40px;" alt="rseitbekov"/><br /><sub><b>rseitbekov</b></sub></a><br /><a href="https://github.com/kytwb/ferdi/commits?author=rseitbekov" title="Code">💻</a></td>
157 <td align="center"><a href="https://djangogigs.com/developers/peter-bittner/"><img src="https://avatars2.githubusercontent.com/u/665072?v=4" width="40px;" alt="Peter Bittner"/><br /><sub><b>Peter Bittner</b></sub></a><br /><a href="#ideas-bittner" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/kytwb/ferdi/issues?q=author%3Abittner" title="Bug reports">🐛</a></td>
158 </tr>
159 <tr>
160 <td align="center"><a href="https://github.com/justus-saul"><img src="https://avatars1.githubusercontent.com/u/5861826?v=4" width="40px;" alt="Justus Saul"/><br /><sub><b>Justus Saul</b></sub></a><br /><a href="https://github.com/kytwb/ferdi/issues?q=author%3Ajustus-saul" title="Bug reports">🐛</a> <a href="#ideas-justus-saul" title="Ideas, Planning, & Feedback">🤔</a></td>
161 <td align="center"><a href="https://github.com/igreil"><img src="https://avatars0.githubusercontent.com/u/17239151?v=4" width="40px;" alt="igreil"/><br /><sub><b>igreil</b></sub></a><br /><a href="#ideas-igreil" title="Ideas, Planning, & Feedback">🤔</a></td>
162 <td align="center"><a href="http://marcolopes.eu"><img src="https://avatars1.githubusercontent.com/u/431889?v=4" width="40px;" alt="Marco Lopes"/><br /><sub><b>Marco Lopes</b></sub></a><br /><a href="#ideas-marcolopes" title="Ideas, Planning, & Feedback">🤔</a></td>
163 <td align="center"><a href="https://github.com/dayzlun"><img src="https://avatars3.githubusercontent.com/u/17259690?v=4" width="40px;" alt="dayzlun"/><br /><sub><b>dayzlun</b></sub></a><br /><a href="https://github.com/kytwb/ferdi/issues?q=author%3Adayzlun" title="Bug reports">🐛</a></td>
164 <td align="center"><a href="https://twitter.com/tobigue_"><img src="https://avatars2.githubusercontent.com/u/1560152?v=4" width="40px;" alt="Tobias Günther"/><br /><sub><b>Tobias Günther</b></sub></a><br /><a href="#ideas-tobigue" title="Ideas, Planning, & Feedback">🤔</a></td>
165 <td align="center"><a href="https://github.com/AGCaesar"><img src="https://avatars3.githubusercontent.com/u/7844066?v=4" width="40px;" alt="AGCaesar"/><br /><sub><b>AGCaesar</b></sub></a><br /><a href="#platform-AGCaesar" title="Packaging/porting to new platform">📦</a></td>
166 </tr>
167 <tr>
168 <td align="center"><a href="https://github.com/Makazzz"><img src="https://avatars2.githubusercontent.com/u/49844464?v=4" width="40px;" alt="Makazzz"/><br /><sub><b>Makazzz</b></sub></a><br /><a href="https://github.com/kytwb/ferdi/issues?q=author%3AMakazzz" title="Bug reports">🐛</a> <a href="https://github.com/kytwb/ferdi/commits?author=Makazzz" title="Code">💻</a> <a href="#translation-Makazzz" title="Translation">🌍</a></td>
169 <td align="center"><a href="https://github.com/xthursdayx"><img src="https://avatars0.githubusercontent.com/u/18044308?v=4" width="40px;" alt="xthursdayx"/><br /><sub><b>xthursdayx</b></sub></a><br /><a href="https://github.com/kytwb/ferdi/commits?author=xthursdayx" title="Code">💻</a> <a href="https://github.com/kytwb/ferdi/commits?author=xthursdayx" title="Documentation">📖</a> <a href="#infra-xthursdayx" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#platform-xthursdayx" title="Packaging/porting to new platform">📦</a></td>
170 </tr>
171</table>
172
173<!-- markdownlint-enable -->
174<!-- prettier-ignore-end -->
175
176<!-- ALL-CONTRIBUTORS-LIST:END -->
177
178<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
179<!-- prettier-ignore-start -->
180<!-- markdownlint-disable -->
181<!-- markdownlint-enable -->
182<!-- prettier-ignore-end -->
183
184<!-- ALL-CONTRIBUTORS-LIST:END -->
185
186This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
187
188## Backers via OpenCollective
189
190<a href="https://opencollective.com/getferdi#backers" target="_blank"><img src="https://opencollective.com/getferdi/backers.svg?width=890"></a>
diff --git a/appveyor.yml b/appveyor.yml
index 8e2a8a6f6..1034565ed 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,20 +1,15 @@
1environment: 1environment:
2 GH_TOKEN:
3 secure: LiO1Z/i16UV5YyElROSUykQqpJowSMK86I7Nw4G/NMa0q5yNA7EsUqEiJUL+OG01
4 CSC_LINK:
5 secure: NEYFWgUIAB//y2GR4AJOaegwuNjkxyNsdDf5A40dYovebTUsnIB5k4GCbU3I6JKW9iwH2ldU7Z+QawfyFerNgw==
6 CSC_KEY_PASSWORD:
7 secure: t8ypNTPKTmvRfd3hHA4aMOtC5KOFqOw3AsKhpU7140Q=
8 APPVEYOR_CACHE_SKIP_RESTORE: true 2 APPVEYOR_CACHE_SKIP_RESTORE: true
9 3
10version: 5.0.1.{build} 4version: 5.0.1.{build}
11 5
12install: 6install:
7 - git submodule update --init --recursive
13 - ps: Install-Product node 10 8 - ps: Install-Product node 10
14 - npx lerna bootstrap 9 - npx lerna bootstrap
15 10
16cache: 11cache:
17 - '%APPDATA%\npm-cache' 12 - '%APPDATA%\npm-cache'
18 13
19before_build: 14before_build:
20 - npm run lint 15 - npm run lint
@@ -23,15 +18,18 @@ before_build:
23build_script: 18build_script:
24 - npm run build 19 - npm run build
25 20
26notifications:
27 - provider: Slack
28 incoming_webhook:
29 secure: 2NnhP/L7Jk9PDE0JvdNnYVBnmDHFRWHmTQBQ1492ZQ7TpD2xQ/cXi3+G1Spr8zN5O8H+MQi4oMn3Ih2w0e8ZkHgQw138jvK/OfZO+FlF/mI=
30
31artifacts:
32 - path: out\*.exe
33 - path: out\*.yml
34
35branches: 21branches:
36 except: 22 except:
37 - i18n 23 - i18n
24 - l10n_master
25 - l10n_develop
26
27for:
28 - branches:
29 only:
30 - master
31 - /v\d*\.\d*\.\d*/
32 - /v\d*\.\d*\.\d*-beta\.\d*/
33 artifacts:
34 - path: out\*.exe
35 - path: out\*.yml
diff --git a/branding/README.md b/branding/README.md
new file mode 100644
index 000000000..0abb2b016
--- /dev/null
+++ b/branding/README.md
@@ -0,0 +1,13 @@
1# Ferdi branding
2Ferdi uses a custom branding, inspired by Franz's.
3
4## Logo
5<img src="logo.png" alt="Logo" width="200"/>
6
7## Beard
8<img src="beard.png" alt="Ferdi's Beard" width="200"/>
9
10## Gradient
11<img src="gradient.png" alt="Gradient" width="200"/>
12
13Ferdi's Gradient is rotated by 45°. It goes from `#CE9FFC` in the top left to `#7367F0` in the bottom right. \ No newline at end of file
diff --git a/branding/beard.png b/branding/beard.png
new file mode 100644
index 000000000..3c1f92842
--- /dev/null
+++ b/branding/beard.png
Binary files differ
diff --git a/branding/gradient.png b/branding/gradient.png
new file mode 100644
index 000000000..06d117541
--- /dev/null
+++ b/branding/gradient.png
Binary files differ
diff --git a/branding/logo.png b/branding/logo.png
new file mode 100644
index 000000000..3f0643121
--- /dev/null
+++ b/branding/logo.png
Binary files differ
diff --git a/branding/logo.psd b/branding/logo.psd
new file mode 100644
index 000000000..baec1c0aa
--- /dev/null
+++ b/branding/logo.psd
Binary files differ
diff --git a/branding/screenshots/application.png b/branding/screenshots/application.png
new file mode 100644
index 000000000..06d9341e5
--- /dev/null
+++ b/branding/screenshots/application.png
Binary files differ
diff --git a/branding/screenshots/hero.png b/branding/screenshots/hero.png
new file mode 100644
index 000000000..f21e2abb6
--- /dev/null
+++ b/branding/screenshots/hero.png
Binary files differ
diff --git a/branding/screenshots/service-store.png b/branding/screenshots/service-store.png
new file mode 100644
index 000000000..a21bb4b3e
--- /dev/null
+++ b/branding/screenshots/service-store.png
Binary files differ
diff --git a/branding/screenshots/todos.png b/branding/screenshots/todos.png
new file mode 100644
index 000000000..5bbacdfa0
--- /dev/null
+++ b/branding/screenshots/todos.png
Binary files differ
diff --git a/branding/screenshots/workspaces.png b/branding/screenshots/workspaces.png
new file mode 100644
index 000000000..b1dd12e3e
--- /dev/null
+++ b/branding/screenshots/workspaces.png
Binary files differ
diff --git a/branding/social-preview.psd b/branding/social-preview.psd
new file mode 100644
index 000000000..5a01e7d68
--- /dev/null
+++ b/branding/social-preview.psd
Binary files differ
diff --git a/build-helpers/default.entitlements.mas.inherit.plist b/build-helpers/default.entitlements.mas.inherit.plist
deleted file mode 100644
index d8dc69e80..000000000
--- a/build-helpers/default.entitlements.mas.inherit.plist
+++ /dev/null
@@ -1,10 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3<plist version="1.0">
4 <dict>
5 <key>com.apple.security.app-sandbox</key>
6 <true/>
7 <key>com.apple.security.inherit</key>
8 <true/>
9 </dict>
10</plist>
diff --git a/build-helpers/default.entitlements.mas.plist b/build-helpers/default.entitlements.mas.plist
deleted file mode 100644
index 8e31f755a..000000000
--- a/build-helpers/default.entitlements.mas.plist
+++ /dev/null
@@ -1,8 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3<plist version="1.0">
4 <dict>
5 <key>com.apple.security.app-sandbox</key>
6 <true/>
7 </dict>
8</plist>
diff --git a/build-helpers/images/dmgInstaller.tiff b/build-helpers/images/dmgInstaller.tiff
index faff9f245..f09096221 100644
--- a/build-helpers/images/dmgInstaller.tiff
+++ b/build-helpers/images/dmgInstaller.tiff
Binary files differ
diff --git a/build-helpers/images/icon.icns b/build-helpers/images/icon.icns
index 15120c210..e3a0b93e2 100644
--- a/build-helpers/images/icon.icns
+++ b/build-helpers/images/icon.icns
Binary files differ
diff --git a/build-helpers/images/icon.ico b/build-helpers/images/icon.ico
index db626c20b..b7667d97f 100644
--- a/build-helpers/images/icon.ico
+++ b/build-helpers/images/icon.ico
Binary files differ
diff --git a/build-helpers/images/icon.png b/build-helpers/images/icon.png
index 9c39f06e0..2b8d83b56 100644
--- a/build-helpers/images/icon.png
+++ b/build-helpers/images/icon.png
Binary files differ
diff --git a/build-helpers/images/icons/1024x1024.png b/build-helpers/images/icons/1024x1024.png
index 9c39f06e0..a89df7d40 100644
--- a/build-helpers/images/icons/1024x1024.png
+++ b/build-helpers/images/icons/1024x1024.png
Binary files differ
diff --git a/build-helpers/images/icons/128x128.png b/build-helpers/images/icons/128x128.png
index 8eb811283..248905851 100644
--- a/build-helpers/images/icons/128x128.png
+++ b/build-helpers/images/icons/128x128.png
Binary files differ
diff --git a/build-helpers/images/icons/16x16.png b/build-helpers/images/icons/16x16.png
index 2523dd8a7..353dc1590 100644
--- a/build-helpers/images/icons/16x16.png
+++ b/build-helpers/images/icons/16x16.png
Binary files differ
diff --git a/build-helpers/images/icons/24x24.png b/build-helpers/images/icons/24x24.png
index 9cb17a0b1..135dd0988 100644
--- a/build-helpers/images/icons/24x24.png
+++ b/build-helpers/images/icons/24x24.png
Binary files differ
diff --git a/build-helpers/images/icons/256x256.png b/build-helpers/images/icons/256x256.png
index 5742147b8..a2f83bf63 100644
--- a/build-helpers/images/icons/256x256.png
+++ b/build-helpers/images/icons/256x256.png
Binary files differ
diff --git a/build-helpers/images/icons/32x32.png b/build-helpers/images/icons/32x32.png
index 09b88a805..f6f5cf406 100644
--- a/build-helpers/images/icons/32x32.png
+++ b/build-helpers/images/icons/32x32.png
Binary files differ
diff --git a/build-helpers/images/icons/48x48.png b/build-helpers/images/icons/48x48.png
index c9d2f331c..7999ef39f 100644
--- a/build-helpers/images/icons/48x48.png
+++ b/build-helpers/images/icons/48x48.png
Binary files differ
diff --git a/build-helpers/images/icons/512x512.png b/build-helpers/images/icons/512x512.png
index 9d5f1c658..d219c64ae 100644
--- a/build-helpers/images/icons/512x512.png
+++ b/build-helpers/images/icons/512x512.png
Binary files differ
diff --git a/build-helpers/images/icons/64x64.png b/build-helpers/images/icons/64x64.png
index 7842217ed..94960c0e2 100644
--- a/build-helpers/images/icons/64x64.png
+++ b/build-helpers/images/icons/64x64.png
Binary files differ
diff --git a/build-helpers/images/icons/96x96.png b/build-helpers/images/icons/96x96.png
index bbae07f45..4dee83800 100644
--- a/build-helpers/images/icons/96x96.png
+++ b/build-helpers/images/icons/96x96.png
Binary files differ
diff --git a/build-helpers/images/win-app-ico.ico b/build-helpers/images/win-app-ico.ico
index 339ba79ca..658826324 100644
--- a/build-helpers/images/win-app-ico.ico
+++ b/build-helpers/images/win-app-ico.ico
Binary files differ
diff --git a/build-helpers/images/win-installer-loading-splash.gif b/build-helpers/images/win-installer-loading-splash.gif
index 02598281f..2f1c9d827 100644
--- a/build-helpers/images/win-installer-loading-splash.gif
+++ b/build-helpers/images/win-installer-loading-splash.gif
Binary files differ
diff --git a/build-helpers/notarize.js b/build-helpers/notarize.js
new file mode 100644
index 000000000..d799a5624
--- /dev/null
+++ b/build-helpers/notarize.js
@@ -0,0 +1,18 @@
1const { notarize } = require('electron-notarize');
2
3exports.default = async function notarizing(context) {
4 const { electronPlatformName, appOutDir } = context;
5 const isTagBuild = process.env.TRAVIS_TAG;
6 if (electronPlatformName !== 'darwin' || !isTagBuild) {
7 return;
8 }
9
10 const appName = context.packager.appInfo.productFilename;
11
12 return await notarize({
13 appBundleId: 'com.kytwb.ferdi',
14 appPath: `${appOutDir}/${appName}.app`,
15 appleId: process.env.APPLEID,
16 appleIdPassword: process.env.APPLEID_PASSWORD,
17 });
18};
diff --git a/crowdin.yml b/crowdin.yml
new file mode 100644
index 000000000..1748800bb
--- /dev/null
+++ b/crowdin.yml
@@ -0,0 +1,3 @@
1files:
2 - source: /src/i18n/locales/en-US.json
3 translation: /src/i18n/locales/%two_letters_code%.json
diff --git a/docs/example-feature/api.js b/docs/example-feature/api.js
index 65207e877..d9c769c91 100644
--- a/docs/example-feature/api.js
+++ b/docs/example-feature/api.js
@@ -1,5 +1,5 @@
1export default { 1export default {
2 async getName() { 2 async getName() {
3 return Promise.resolve('Franz'); 3 return Promise.resolve('Ferdi');
4 }, 4 },
5}; 5};
diff --git a/docs/example-feature/index.js b/docs/example-feature/index.js
index af859af26..84ee84b5e 100644
--- a/docs/example-feature/index.js
+++ b/docs/example-feature/index.js
@@ -3,7 +3,7 @@ import { ExampleFeatureStore } from './store';
3import state, { resetState } from './state'; 3import state, { resetState } from './state';
4import api from './api'; 4import api from './api';
5 5
6const debug = require('debug')('Franz:feature:EXAMPLE_FEATURE'); 6const debug = require('debug')('Ferdi:feature:EXAMPLE_FEATURE');
7 7
8let store = null; 8let store = null;
9 9
diff --git a/docs/example-feature/store.js b/docs/example-feature/store.js
index d8acfdca3..de27eae86 100644
--- a/docs/example-feature/store.js
+++ b/docs/example-feature/store.js
@@ -2,7 +2,7 @@ import { action, observable, reaction } from 'mobx';
2import Store from '../../src/stores/lib/Store'; 2import Store from '../../src/stores/lib/Store';
3import Request from '../../src/stores/lib/Request'; 3import Request from '../../src/stores/lib/Request';
4 4
5const debug = require('debug')('Franz:feature:EXAMPLE_FEATURE:store'); 5const debug = require('debug')('Ferdi:feature:EXAMPLE_FEATURE:store');
6 6
7export class ExampleFeatureStore extends Store { 7export class ExampleFeatureStore extends Store {
8 @observable getNameRequest = new Request(this.api, 'getName'); 8 @observable getNameRequest = new Request(this.api, 'getName');
diff --git a/docs/linux.md b/docs/linux.md
deleted file mode 100644
index 43ffa313b..000000000
--- a/docs/linux.md
+++ /dev/null
@@ -1,11 +0,0 @@
1# Linux distribution specific dependencies
2
3## Debian/Ubuntu
4```bash
5$ apt install libx11-dev libxext-dev libxss-dev libxkbfile-dev
6```
7
8## Fedora
9```bash
10$ dnf install libX11-devel libXext-devel libXScrnSaver-devel libxkbfile-devel
11```
diff --git a/electron-builder.yml b/electron-builder.yml
index 081149531..f6dceabce 100644
--- a/electron-builder.yml
+++ b/electron-builder.yml
@@ -2,35 +2,43 @@ directories:
2 app: ./build 2 app: ./build
3 output: ./out 3 output: ./out
4 4
5appId: "com.meetfranz.franz" 5appId: "com.kytwb.ferdi"
6 6
7compression: maximum 7compression: maximum
8 8
9mac: 9mac:
10 hardenedRuntime: true
11 gatekeeperAssess: false
10 category: public.app-category.productivity 12 category: public.app-category.productivity
11 icon: ./build-helpers/images/icon.icns 13 icon: ./build-helpers/images/icon.icns
12 darkModeSupport: true 14 darkModeSupport: true
13 15
16afterSign: ./build-helpers/notarize.js
17
14dmg: 18dmg:
15 background: ./build-helpers/images/dmgInstaller.tiff 19 background: ./build-helpers/images/dmgInstaller.tiff
16 icon: ./build-helpers/images/icon.icns 20 icon: ./build-helpers/images/icon.icns
17 iconSize: 128 21 iconSize: 128
18 contents: [{x: 380, y: 240, type: link, path: /Applications}, {x: 122, y: 240, type: file}] 22 contents:
23 [
24 { x: 380, y: 240, type: link, path: /Applications },
25 { x: 122, y: 240, type: file },
26 ]
19 27
20win: 28win:
21 icon: ./build-helpers/images/icon.ico 29 icon: ./build-helpers/images/icon.ico
22 target: 30 target:
23 target: nsis 31 - target: nsis
24 arch: 32 arch: [x64, ia32]
25 - x64 33 - target: portable
26 - ia32 34 arch: [x64, ia32]
27 35
28linux: 36linux:
29 icon: ./build-helpers/images/icons 37 icon: ./build-helpers/images/icons
30 category: Network;InstantMessaging; 38 category: Network;InstantMessaging;
31 executableName: franz 39 executableName: ferdi
32 synopsis: "Messaging app for WhatsApp, Slack, Telegram, HipChat, Hangouts and many many more." 40 synopsis: "Messaging app for WhatsApp, Slack, Telegram, HipChat, Hangouts and many many more."
33 description: "Franz is your messaging app / former Emperor of Austria and combines chat & messaging services into one application. Franz currently supports Slack, WhatsApp, WeChat, HipChat, Facebook Messenger, Telegram, Google Hangouts, GroupMe, Skype and many more. You can download Franz for free for Mac & Windows." 41 description: "Ferdi is your messaging app / former Emperor of Austria and combines chat & messaging services into one application. Ferdi currently supports Slack, WhatsApp, WeChat, HipChat, Facebook Messenger, Telegram, Google Hangouts, GroupMe, Skype and many more. You can download Ferdi for free for Mac & Windows."
34 target: 42 target:
35 - target: AppImage 43 - target: AppImage
36 - target: deb 44 - target: deb
@@ -41,9 +49,9 @@ nsis:
41 oneClick: true 49 oneClick: true
42 50
43protocols: 51protocols:
44 name: Franz 52 name: Ferdi
45 schemes: [franz] 53 schemes: [ferdi]
46 54
47asarUnpack: 55asarUnpack:
48 - ./dictionaries 56 - ./recipes
49 - ./assets/images/taskbar 57 - ./assets/images/taskbar
diff --git a/gulpfile.babel.js b/gulpfile.babel.js
index 06e995d07..dda198c18 100644
--- a/gulpfile.babel.js
+++ b/gulpfile.babel.js
@@ -1,7 +1,12 @@
1/* eslint max-len: 0 */ 1/* eslint max-len: 0 */
2import gulp from 'gulp'; 2import gulp from 'gulp';
3import gulpIf from 'gulp-if';
3import babel from 'gulp-babel'; 4import babel from 'gulp-babel';
4import sass from 'gulp-sass'; 5import sass from 'gulp-sass';
6import csso from 'gulp-csso';
7import terser from 'terser';
8import composer from 'gulp-uglify/composer';
9import htmlMin from 'gulp-htmlmin';
5import server from 'gulp-server-livereload'; 10import server from 'gulp-server-livereload';
6import { exec } from 'child_process'; 11import { exec } from 'child_process';
7import dotenv from 'dotenv'; 12import dotenv from 'dotenv';
@@ -17,17 +22,32 @@ import * as rawStyleConfig from './src/theme/default/legacy.js';
17 22
18dotenv.config(); 23dotenv.config();
19 24
25const uglify = composer(terser, console);
26
20const styleConfig = Object.keys(rawStyleConfig).map((key) => { 27const styleConfig = Object.keys(rawStyleConfig).map((key) => {
21 const isHex = /^#[0-9A-F]{6}$/i.test(rawStyleConfig[key]); 28 const isHex = /^#[0-9A-F]{6}$/i.test(rawStyleConfig[key]);
22 return ({ [`$raw_${kebabCase(key)}`]: isHex ? hexRgb(rawStyleConfig[key], { format: 'array' }).splice(0, 3).join(',') : rawStyleConfig[key] }); 29 return {
30 [`$raw_${kebabCase(key)}`]: isHex
31 ? hexRgb(rawStyleConfig[key], { format: 'array' })
32 .splice(0, 3)
33 .join(',')
34 : rawStyleConfig[key],
35 };
23}); 36});
24 37
25const paths = { 38const paths = {
26 src: 'src', 39 src: 'src',
27 dest: 'build', 40 dest: 'build',
28 tmp: '.tmp', 41 tmp: '.tmp',
29 dictionaries: 'dictionaries',
30 package: `out/${config.version}`, 42 package: `out/${config.version}`,
43 recipes: {
44 src: 'recipes/*.tar.gz',
45 dest: 'build/recipes/',
46 },
47 recipeInfo: {
48 src: 'recipes/*.json',
49 dest: 'build/recipes/',
50 },
31 html: { 51 html: {
32 src: 'src/**/*.html', 52 src: 'src/**/*.html',
33 dest: 'build/', 53 dest: 'build/',
@@ -58,18 +78,22 @@ const paths = {
58 78
59function _shell(cmd, cb) { 79function _shell(cmd, cb) {
60 console.log('executing', cmd); 80 console.log('executing', cmd);
61 exec(cmd, { 81 exec(
62 cwd: paths.dest, 82 cmd,
63 }, (error, stdout, stderr) => { 83 {
64 if (error) { 84 cwd: paths.dest,
65 console.error(`exec error: ${error}`); 85 },
66 return; 86 (error, stdout, stderr) => {
67 } 87 if (error) {
68 console.log(`stdout: ${stdout}`); 88 console.error(`exec error: ${error}`);
69 console.log(`stderr: ${stderr}`); 89 return;
70 90 }
71 cb(); 91 console.log(`stdout: ${stdout}`);
72 }); 92 console.log(`stderr: ${stderr}`);
93
94 cb();
95 },
96 );
73} 97}
74 98
75const clean = (done) => { 99const clean = (done) => {
@@ -81,60 +105,74 @@ const clean = (done) => {
81export { clean }; 105export { clean };
82 106
83export function mvSrc() { 107export function mvSrc() {
84 return gulp.src( 108 return gulp
85 [ 109 .src(
86 `${paths.src}/*`, 110 [
87 `${paths.src}/*/**`, 111 `${paths.src}/*`,
88 `!${paths.scripts.watch[1]}`, 112 `${paths.src}/*/**`,
89 `!${paths.src}/styles/**`, 113 `!${paths.scripts.watch[1]}`,
90 `!${paths.src}/**/*.js`, 114 `!${paths.src}/styles/**`,
91 ], { since: gulp.lastRun(mvSrc) }, 115 `!${paths.src}/**/*.js`,
92 ) 116 ],
117 { since: gulp.lastRun(mvSrc) },
118 )
93 .pipe(gulp.dest(paths.dest)); 119 .pipe(gulp.dest(paths.dest));
94} 120}
95 121
96export function mvPackageJson() { 122export function mvPackageJson() {
97 return gulp.src( 123 return gulp.src(['./package.json']).pipe(gulp.dest(paths.dest));
98 [
99 './package.json',
100 ],
101 )
102 .pipe(gulp.dest(paths.dest));
103} 124}
104 125
105export function mvLernaPackages() { 126export function mvLernaPackages() {
106 return gulp.src( 127 return gulp.src(['packages/**']).pipe(gulp.dest(`${paths.dest}/packages`));
107 [
108 'packages/**',
109 ],
110 )
111 .pipe(gulp.dest(`${paths.dest}/packages`));
112} 128}
113 129
114export function html() { 130export function html() {
115 return gulp.src(paths.html.src, { since: gulp.lastRun(html) }) 131 return gulp
132 .src(paths.html.src, { since: gulp.lastRun(html) })
133 .pipe(gulpIf(process.env.NODE_ENV !== 'development', htmlMin({ // Only minify in production to speed up dev builds
134 collapseWhitespace: true,
135 removeComments: true
136 })))
116 .pipe(gulp.dest(paths.html.dest)); 137 .pipe(gulp.dest(paths.html.dest));
117} 138}
118 139
119export function styles() { 140export function styles() {
120 return gulp.src(paths.styles.src) 141 return gulp
121 .pipe(sassVariables(Object.assign({ 142 .src(paths.styles.src)
122 $env: process.env.NODE_ENV === 'development' ? 'development' : 'production', 143 .pipe(
123 }, ...styleConfig))) 144 sassVariables(
124 .pipe(sass({ 145 Object.assign(
125 includePaths: [ 146 {
126 './node_modules', 147 $env:
127 '../node_modules', 148 process.env.NODE_ENV === 'development'
128 ], 149 ? 'development'
129 }).on('error', sass.logError)) 150 : 'production',
151 },
152 ...styleConfig,
153 ),
154 ),
155 )
156 .pipe(
157 sass({
158 includePaths: ['./node_modules', '../node_modules'],
159 }).on('error', sass.logError),
160 )
161 .pipe((gulpIf(process.env.NODE_ENV !== 'development', csso({ // Only minify in production to speed up dev builds
162 restructure: false, // Don't restructure CSS, otherwise it will break the styles
163 }))))
130 .pipe(gulp.dest(paths.styles.dest)); 164 .pipe(gulp.dest(paths.styles.dest));
131} 165}
132 166
133export function scripts() { 167export function scripts() {
134 return gulp.src(paths.scripts.src, { since: gulp.lastRun(scripts) }) 168 return gulp
135 .pipe(babel({ 169 .src(paths.scripts.src, { since: gulp.lastRun(scripts) })
136 comments: false, 170 .pipe(
137 })) 171 babel({
172 comments: false,
173 }),
174 )
175 .pipe(gulpIf(process.env.NODE_ENV !== 'development', uglify())) // Only uglify in production to speed up dev builds
138 .pipe(gulp.dest(paths.scripts.dest)); 176 .pipe(gulp.dest(paths.scripts.dest));
139} 177}
140 178
@@ -142,51 +180,32 @@ export function watch() {
142 gulp.watch(paths.packages.watch, mvLernaPackages); 180 gulp.watch(paths.packages.watch, mvLernaPackages);
143 gulp.watch(paths.styles.watch, styles); 181 gulp.watch(paths.styles.watch, styles);
144 182
145 gulp.watch([ 183 gulp.watch([paths.src, `${paths.scripts.src}`, `${paths.styles.src}`], mvSrc);
146 paths.src,
147 `${paths.scripts.src}`,
148 `${paths.styles.src}`,
149 ], mvSrc);
150 184
151 gulp.watch(paths.scripts.watch, scripts); 185 gulp.watch(paths.scripts.watch, scripts);
152} 186}
153 187
154export function webserver() { 188export function webserver() {
155 gulp.src([ 189 gulp.src([paths.dest]).pipe(
156 paths.dest, 190 server({
157 ])
158 .pipe(server({
159 livereload: true, 191 livereload: true,
160 })); 192 }),
193 );
161} 194}
162 195
163export function dictionaries(done) { 196export function recipes() {
164 const { SPELLCHECKER_LOCALES } = require('./build/i18n/languages'); 197 return gulp.src(paths.recipes.src, { since: gulp.lastRun(recipes) })
165 198 .pipe(gulp.dest(paths.recipes.dest));
166 let packages = '';
167 Object.keys(SPELLCHECKER_LOCALES).forEach((key) => { packages = `${packages} hunspell-dict-${key}`; });
168
169 _shell(`npm install --prefix ${path.join(__dirname, 'temp')} ${packages}`, () => {
170 moveSync(
171 path.join(__dirname, 'temp', 'node_modules'),
172 path.join(__dirname, 'build', paths.dictionaries),
173 );
174
175 removeSync(path.join(__dirname, 'temp'));
176
177 done();
178 });
179} 199}
180 200export function recipeInfo() {
181export function sign(done) { 201 return gulp.src(paths.recipeInfo.src, { since: gulp.lastRun(recipeInfo) })
182 _shell(`codesign --verbose=4 --deep --strict --force --sign "${process.env.SIGNING_IDENTITY}" "${__dirname}/node_modules/electron/dist/Electron.app"`, done); 202 .pipe(gulp.dest(paths.recipeInfo.dest));
183} 203}
184 204
185const build = gulp.series( 205const build = gulp.series(
186 clean, 206 clean,
187 gulp.parallel(mvSrc, mvPackageJson, mvLernaPackages), 207 gulp.parallel(mvSrc, mvPackageJson, mvLernaPackages),
188 gulp.parallel(html, scripts, styles), 208 gulp.parallel(html, scripts, styles, recipes, recipeInfo),
189 dictionaries,
190); 209);
191export { build }; 210export { build };
192 211
diff --git a/package-lock.json b/package-lock.json
index b0cc72ec7..2cbbe8939 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
1{ 1{
2 "name": "franz", 2 "name": "ferdi",
3 "version": "5.3.3", 3 "version": "5.4.0-beta.2",
4 "lockfileVersion": 1, 4 "lockfileVersion": 1,
5 "requires": true, 5 "requires": true,
6 "dependencies": { 6 "dependencies": {
@@ -10,6 +10,52 @@
10 "integrity": "sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA==", 10 "integrity": "sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA==",
11 "dev": true 11 "dev": true
12 }, 12 },
13 "@aabuhijleh/electron-remote": {
14 "version": "1.4.0",
15 "resolved": "https://registry.npmjs.org/@aabuhijleh/electron-remote/-/electron-remote-1.4.0.tgz",
16 "integrity": "sha512-EG4ZXxqbFY4lpX55vctwz14mFrEOcOHFCMLH5z5lOl6fiviTqscy86tSlKwEE3/o3ExtdPr2tECgCogYYL7d+g==",
17 "requires": {
18 "debug": "^2.5.1",
19 "hashids": "^1.1.1",
20 "lodash.get": "^4.4.2",
21 "pify": "^2.3.0",
22 "rxjs": "^5.0.0-beta.12",
23 "xmlhttprequest": "^1.8.0"
24 },
25 "dependencies": {
26 "debug": {
27 "version": "2.6.9",
28 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
29 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
30 "requires": {
31 "ms": "2.0.0"
32 }
33 },
34 "ms": {
35 "version": "2.0.0",
36 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
37 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
38 },
39 "pify": {
40 "version": "2.3.0",
41 "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
42 "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
43 },
44 "rxjs": {
45 "version": "5.5.12",
46 "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz",
47 "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==",
48 "requires": {
49 "symbol-observable": "1.0.1"
50 }
51 },
52 "symbol-observable": {
53 "version": "1.0.1",
54 "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz",
55 "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ="
56 }
57 }
58 },
13 "@adlk/misty": { 59 "@adlk/misty": {
14 "version": "0.1.1", 60 "version": "0.1.1",
15 "resolved": "https://registry.npmjs.org/@adlk/misty/-/misty-0.1.1.tgz", 61 "resolved": "https://registry.npmjs.org/@adlk/misty/-/misty-0.1.1.tgz",
@@ -23,6 +69,347 @@
23 "lodash": "^4.17.10", 69 "lodash": "^4.17.10",
24 "minimist": "^1.2.0", 70 "minimist": "^1.2.0",
25 "wait-on": "^3.0.1" 71 "wait-on": "^3.0.1"
72 },
73 "dependencies": {
74 "minimist": {
75 "version": "1.2.0",
76 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
77 "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
78 "dev": true
79 }
80 }
81 },
82 "@adonisjs/ace": {
83 "version": "5.0.8",
84 "resolved": "https://registry.npmjs.org/@adonisjs/ace/-/ace-5.0.8.tgz",
85 "integrity": "sha512-M4MGrzWzuE++jlPrbDPgo1tdv5j7uH4FsaoGddH+qJ+iXErVZuV6z2gYdmlorDDbvotFpxA+TTtDEXrTLCE08w==",
86 "requires": {
87 "cli-table": "^0.3.1",
88 "commander": "^2.18.0",
89 "debug": "^4.0.1",
90 "enquirer": "^1.0.3",
91 "fast-levenshtein": "^2.0.6",
92 "fs-extra": "^7.0.0",
93 "is-arrow-function": "^2.0.3",
94 "kleur": "^2.0.2",
95 "lodash": "^4.17.11",
96 "mustache": "^3.0.0",
97 "prompt-checkbox": "^2.2.0",
98 "prompt-confirm": "^2.0.4",
99 "prompt-expand": "^1.0.1",
100 "prompt-list": "^3.2.0",
101 "prompt-password": "^1.2.0"
102 },
103 "dependencies": {
104 "kleur": {
105 "version": "2.0.2",
106 "resolved": "https://registry.npmjs.org/kleur/-/kleur-2.0.2.tgz",
107 "integrity": "sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ=="
108 }
109 }
110 },
111 "@adonisjs/auth": {
112 "version": "3.0.7",
113 "resolved": "https://registry.npmjs.org/@adonisjs/auth/-/auth-3.0.7.tgz",
114 "integrity": "sha512-ui7cSTNmxO+8r3iaA9ZQOtgzXwHshg/XFHH1OR7tUELHUUyInoPaRqLofb+5KpjYZ1U9RrZC6eT+sTUQzzxk+Q==",
115 "requires": {
116 "@adonisjs/generic-exceptions": "^2.0.1",
117 "basic-auth": "^2.0.1",
118 "debug": "^4.0.1",
119 "jsonwebtoken": "^8.3.0",
120 "lodash": "^4.17.11",
121 "ms": "^2.1.1",
122 "resetable": "^1.0.3",
123 "uuid": "^3.3.2"
124 }
125 },
126 "@adonisjs/bodyparser": {
127 "version": "2.0.9",
128 "resolved": "https://registry.npmjs.org/@adonisjs/bodyparser/-/bodyparser-2.0.9.tgz",
129 "integrity": "sha512-1wE53LBPflolar9Jq+VF22I4tIJZklsXAE9pDxr9t1DuqpvB8TA4uSvLM2UjQFtX7iTQ85iWZqZCRt05jbsziQ==",
130 "requires": {
131 "@adonisjs/generic-exceptions": "^2.0.1",
132 "bytes": "^3.0.0",
133 "co-body": "^6.0.0",
134 "debug": "^4.1.0",
135 "end-of-stream": "^1.4.1",
136 "fs-extra": "^7.0.0",
137 "get-stream": "^4.1.0",
138 "lodash": "^4.17.11",
139 "media-typer": "^0.3.0",
140 "multiparty": "^4.2.1"
141 }
142 },
143 "@adonisjs/cors": {
144 "version": "1.0.7",
145 "resolved": "https://registry.npmjs.org/@adonisjs/cors/-/cors-1.0.7.tgz",
146 "integrity": "sha512-jBO+bI/zdydAXURL02gQxXB57L5+eV2MUYp7zmDrVa12M6mQPMRz5TC2F7a0Kknx9JUr5dsl4+eN0XNfe/8sWQ=="
147 },
148 "@adonisjs/drive": {
149 "version": "1.0.4",
150 "resolved": "https://registry.npmjs.org/@adonisjs/drive/-/drive-1.0.4.tgz",
151 "integrity": "sha512-p2Ot+ylOwtGV6gHIKIMJG0M+AxBatjnqv+UOrUW3Y8xsyN9bKg9khZTEqn7WrHUAlmeS4WUR5T68KIaxuXgRDw==",
152 "requires": {
153 "@slynova/flydrive": "^0.3.1"
154 }
155 },
156 "@adonisjs/fold": {
157 "version": "4.0.9",
158 "resolved": "https://registry.npmjs.org/@adonisjs/fold/-/fold-4.0.9.tgz",
159 "integrity": "sha512-eH6048Ug32BvYvvvfRThy+IDE8lcRtqExca2TfE/Gw5ZP51rVEYqPd1yy3ioB4R5XI8VUS0hjOt5l7tKUh4Sww==",
160 "requires": {
161 "@adonisjs/generic-exceptions": "^2.0.1",
162 "caller": "^1.0.1",
163 "debug": "^3.1.0",
164 "lodash": "^4.17.10",
165 "require-stack": "^1.0.2"
166 },
167 "dependencies": {
168 "debug": {
169 "version": "3.2.6",
170 "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
171 "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
172 "requires": {
173 "ms": "^2.1.1"
174 }
175 }
176 }
177 },
178 "@adonisjs/framework": {
179 "version": "5.0.13",
180 "resolved": "https://registry.npmjs.org/@adonisjs/framework/-/framework-5.0.13.tgz",
181 "integrity": "sha512-qZx+9WF1bnK3sM4UJnKw6Zu52WIPCB1R4LjBBwSFrnG5TYbIAQATyB08YXc7ETMkQ4dIQmPH+tpq4J7+k2Joog==",
182 "requires": {
183 "@adonisjs/generic-exceptions": "^2.0.1",
184 "@adonisjs/middleware-base": "^1.0.0",
185 "bcryptjs": "^2.4.3",
186 "co-compose": "^4.0.0",
187 "debug": "^4.1.1",
188 "dotenv": "^6.2.0",
189 "edge.js": "^1.1.4",
190 "eventemitter2": "^5.0.1",
191 "haye": "^2.0.2",
192 "lodash": "^4.17.11",
193 "macroable": "^1.0.0",
194 "node-cookie": "^2.1.1",
195 "node-exceptions": "^3.0.0",
196 "node-req": "^2.1.1",
197 "node-res": "4.1.4",
198 "parseurl": "^1.3.2",
199 "path-to-regexp": "^2.4.0",
200 "require-all": "^3.0.0",
201 "resetable": "^1.0.3",
202 "serve-static": "^1.13.2",
203 "simple-encryptor": "^2.0.0",
204 "useragent": "^2.3.0",
205 "winston": "^3.2.1",
206 "youch": "^2.0.10"
207 },
208 "dependencies": {
209 "depd": {
210 "version": "1.1.2",
211 "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
212 "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
213 },
214 "destroy": {
215 "version": "1.0.4",
216 "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
217 "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
218 },
219 "dotenv": {
220 "version": "6.2.0",
221 "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz",
222 "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w=="
223 },
224 "ee-first": {
225 "version": "1.1.1",
226 "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
227 "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
228 },
229 "escape-html": {
230 "version": "1.0.3",
231 "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
232 "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
233 },
234 "fresh": {
235 "version": "0.5.2",
236 "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
237 "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
238 },
239 "mime": {
240 "version": "1.6.0",
241 "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
242 "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
243 },
244 "on-finished": {
245 "version": "2.3.0",
246 "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
247 "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
248 "requires": {
249 "ee-first": "1.1.1"
250 }
251 },
252 "path-to-regexp": {
253 "version": "2.4.0",
254 "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.4.0.tgz",
255 "integrity": "sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w=="
256 },
257 "range-parser": {
258 "version": "1.2.1",
259 "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
260 "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
261 },
262 "send": {
263 "version": "0.17.1",
264 "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
265 "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
266 "requires": {
267 "debug": "2.6.9",
268 "depd": "~1.1.2",
269 "destroy": "~1.0.4",
270 "encodeurl": "~1.0.2",
271 "escape-html": "~1.0.3",
272 "etag": "~1.8.1",
273 "fresh": "0.5.2",
274 "http-errors": "~1.7.2",
275 "mime": "1.6.0",
276 "ms": "2.1.1",
277 "on-finished": "~2.3.0",
278 "range-parser": "~1.2.1",
279 "statuses": "~1.5.0"
280 },
281 "dependencies": {
282 "debug": {
283 "version": "2.6.9",
284 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
285 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
286 "requires": {
287 "ms": "2.0.0"
288 },
289 "dependencies": {
290 "ms": {
291 "version": "2.0.0",
292 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
293 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
294 }
295 }
296 }
297 }
298 },
299 "serve-static": {
300 "version": "1.14.1",
301 "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
302 "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
303 "requires": {
304 "encodeurl": "~1.0.2",
305 "escape-html": "~1.0.3",
306 "parseurl": "~1.3.3",
307 "send": "0.17.1"
308 }
309 }
310 }
311 },
312 "@adonisjs/generic-exceptions": {
313 "version": "2.0.1",
314 "resolved": "https://registry.npmjs.org/@adonisjs/generic-exceptions/-/generic-exceptions-2.0.1.tgz",
315 "integrity": "sha512-ZIPnj7vlRZKaAyZ4c2SUFCpJ6Yk+xzR+STjsze9unmZQncpQmVq1K8r20pXX3Z9rnxKVlfwO58HTxMMWaX9t9A==",
316 "requires": {
317 "node-exceptions": "^3.0.0",
318 "upcast": "^2.1.1"
319 }
320 },
321 "@adonisjs/ignitor": {
322 "version": "2.0.8",
323 "resolved": "https://registry.npmjs.org/@adonisjs/ignitor/-/ignitor-2.0.8.tgz",
324 "integrity": "sha512-drpuwxIjvBpBBn4Ndt2Sghf0aN3ml1zz3Bxu3g42k29ZEMDKgw9KkmabsEd+MVUqPLzch4cJRFKIReh9TWnY+Q==",
325 "requires": {
326 "debug": "^4.0.1",
327 "pify": "^4.0.0",
328 "youch": "^2.0.10",
329 "youch-terminal": "^1.0.0"
330 },
331 "dependencies": {
332 "pify": {
333 "version": "4.0.1",
334 "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
335 "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
336 }
337 }
338 },
339 "@adonisjs/lucid": {
340 "version": "6.1.3",
341 "resolved": "https://registry.npmjs.org/@adonisjs/lucid/-/lucid-6.1.3.tgz",
342 "integrity": "sha512-x/Ke8WkkgRmseRPETBOObptnElXMclQXtjJftfDMiVlz9VhJuIaFCLJwcGZ8g6UNRohMUkcfDrElaXOPc6W1fA==",
343 "requires": {
344 "@adonisjs/generic-exceptions": "^2.0.1",
345 "chance": "^1.0.16",
346 "debug": "^4.0.1",
347 "knex": "^0.15.2",
348 "lodash": "^4.17.11",
349 "moment": "^2.22.2",
350 "pluralize": "^7.0.0",
351 "pretty-hrtime": "^1.0.3",
352 "require-all": "^3.0.0"
353 }
354 },
355 "@adonisjs/middleware-base": {
356 "version": "1.0.0",
357 "resolved": "https://registry.npmjs.org/@adonisjs/middleware-base/-/middleware-base-1.0.0.tgz",
358 "integrity": "sha512-Jw8teZCdR7DTRX72V4mJ45knlZRK0emoaBuAI7vMB5ucyeagLQE6Gl0vKxpRk3STrc2K56mKn23B5h8lQWyhcQ==",
359 "requires": {
360 "@adonisjs/generic-exceptions": "^2.0.0",
361 "co-compose": "^4.0.0",
362 "debug": "^3.1.0",
363 "haye": "^2.0.1",
364 "lodash": "^4.17.5"
365 },
366 "dependencies": {
367 "debug": {
368 "version": "3.2.6",
369 "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
370 "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
371 "requires": {
372 "ms": "^2.1.1"
373 }
374 }
375 }
376 },
377 "@adonisjs/session": {
378 "version": "1.0.29",
379 "resolved": "https://registry.npmjs.org/@adonisjs/session/-/session-1.0.29.tgz",
380 "integrity": "sha512-dr8P/WUrt50uLZt5SZ8C1uhp4FXzGPh1dNUeS0Lur95ftzHri6S+suBXQ4DM+sNiZQn7iaVylYwsFqUlOkp8gQ==",
381 "requires": {
382 "@adonisjs/generic-exceptions": "^2.0.1",
383 "bson": "^1.1.0",
384 "debug": "^4.1.0",
385 "fs-extra": "^7.0.0",
386 "lodash": "^4.17.11",
387 "ms": "^2.1.1",
388 "type-of-is": "^3.5.1",
389 "uuid": "^3.3.2"
390 }
391 },
392 "@adonisjs/shield": {
393 "version": "1.0.8",
394 "resolved": "https://registry.npmjs.org/@adonisjs/shield/-/shield-1.0.8.tgz",
395 "integrity": "sha512-bFPuDIlChrp7ihbwjl8OVCw/b57pG0yn/1rrzFXP2XBpIUTbOFdQxzDlvydHxsyg90/pAup/4qtmdulywczg2g==",
396 "requires": {
397 "@adonisjs/generic-exceptions": "^2.0.1",
398 "csrf": "^3.0.6",
399 "node-cookie": "^2.1.1",
400 "node-csp": "^1.0.1",
401 "node-guard": "^1.0.0",
402 "uuid": "^3.3.2"
403 }
404 },
405 "@adonisjs/validator": {
406 "version": "5.0.6",
407 "resolved": "https://registry.npmjs.org/@adonisjs/validator/-/validator-5.0.6.tgz",
408 "integrity": "sha512-Koql5nOSfRFhNwkvk38tAHLfpxwuOinZIuLhPP0zAfHCltrXCh02MfydfgA13vDc5LITJgWycXFv+FNb7ljCqg==",
409 "requires": {
410 "@adonisjs/generic-exceptions": "^2.0.1",
411 "indicative": "^5.0.8",
412 "lodash": "^4.17.11"
26 } 413 }
27 }, 414 },
28 "@babel/cli": { 415 "@babel/cli": {
@@ -52,51 +439,36 @@
52 } 439 }
53 }, 440 },
54 "@babel/code-frame": { 441 "@babel/code-frame": {
55 "version": "7.0.0", 442 "version": "7.5.5",
56 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", 443 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
57 "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", 444 "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
58 "dev": true, 445 "dev": true,
59 "requires": { 446 "requires": {
60 "@babel/highlight": "^7.0.0" 447 "@babel/highlight": "^7.0.0"
61 } 448 }
62 }, 449 },
63 "@babel/core": { 450 "@babel/core": {
64 "version": "7.2.2", 451 "version": "7.6.0",
65 "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", 452 "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.6.0.tgz",
66 "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", 453 "integrity": "sha512-FuRhDRtsd6IptKpHXAa+4WPZYY2ZzgowkbLBecEDDSje1X/apG7jQM33or3NdOmjXBKWGOg4JmSiRfUfuTtHXw==",
67 "dev": true, 454 "dev": true,
68 "requires": { 455 "requires": {
69 "@babel/code-frame": "^7.0.0", 456 "@babel/code-frame": "^7.5.5",
70 "@babel/generator": "^7.2.2", 457 "@babel/generator": "^7.6.0",
71 "@babel/helpers": "^7.2.0", 458 "@babel/helpers": "^7.6.0",
72 "@babel/parser": "^7.2.2", 459 "@babel/parser": "^7.6.0",
73 "@babel/template": "^7.2.2", 460 "@babel/template": "^7.6.0",
74 "@babel/traverse": "^7.2.2", 461 "@babel/traverse": "^7.6.0",
75 "@babel/types": "^7.2.2", 462 "@babel/types": "^7.6.0",
76 "convert-source-map": "^1.1.0", 463 "convert-source-map": "^1.1.0",
77 "debug": "^4.1.0", 464 "debug": "^4.1.0",
78 "json5": "^2.1.0", 465 "json5": "^2.1.0",
79 "lodash": "^4.17.10", 466 "lodash": "^4.17.13",
80 "resolve": "^1.3.2", 467 "resolve": "^1.3.2",
81 "semver": "^5.4.1", 468 "semver": "^5.4.1",
82 "source-map": "^0.5.0" 469 "source-map": "^0.5.0"
83 }, 470 },
84 "dependencies": { 471 "dependencies": {
85 "debug": {
86 "version": "4.1.1",
87 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
88 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
89 "dev": true,
90 "requires": {
91 "ms": "^2.1.1"
92 }
93 },
94 "ms": {
95 "version": "2.1.1",
96 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
97 "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
98 "dev": true
99 },
100 "source-map": { 472 "source-map": {
101 "version": "0.5.7", 473 "version": "0.5.7",
102 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 474 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
@@ -106,14 +478,14 @@
106 } 478 }
107 }, 479 },
108 "@babel/generator": { 480 "@babel/generator": {
109 "version": "7.3.2", 481 "version": "7.6.0",
110 "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.3.2.tgz", 482 "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.0.tgz",
111 "integrity": "sha512-f3QCuPppXxtZOEm5GWPra/uYUjmNQlu9pbAD8D/9jze4pTY83rTtB1igTBSwvkeNlC5gR24zFFkz+2WHLFQhqQ==", 483 "integrity": "sha512-Ms8Mo7YBdMMn1BYuNtKuP/z0TgEIhbcyB8HVR6PPNYp4P61lMsABiS4A3VG1qznjXVCf3r+fVHhm4efTYVsySA==",
112 "dev": true, 484 "dev": true,
113 "requires": { 485 "requires": {
114 "@babel/types": "^7.3.2", 486 "@babel/types": "^7.6.0",
115 "jsesc": "^2.5.1", 487 "jsesc": "^2.5.1",
116 "lodash": "^4.17.10", 488 "lodash": "^4.17.13",
117 "source-map": "^0.5.0", 489 "source-map": "^0.5.0",
118 "trim-right": "^1.0.1" 490 "trim-right": "^1.0.1"
119 }, 491 },
@@ -156,38 +528,39 @@
156 } 528 }
157 }, 529 },
158 "@babel/helper-call-delegate": { 530 "@babel/helper-call-delegate": {
159 "version": "7.1.0", 531 "version": "7.4.4",
160 "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz", 532 "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz",
161 "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==", 533 "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==",
162 "dev": true, 534 "dev": true,
163 "requires": { 535 "requires": {
164 "@babel/helper-hoist-variables": "^7.0.0", 536 "@babel/helper-hoist-variables": "^7.4.4",
165 "@babel/traverse": "^7.1.0", 537 "@babel/traverse": "^7.4.4",
166 "@babel/types": "^7.0.0" 538 "@babel/types": "^7.4.4"
167 } 539 }
168 }, 540 },
169 "@babel/helper-create-class-features-plugin": { 541 "@babel/helper-create-class-features-plugin": {
170 "version": "7.3.2", 542 "version": "7.6.0",
171 "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.3.2.tgz", 543 "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz",
172 "integrity": "sha512-tdW8+V8ceh2US4GsYdNVNoohq5uVwOf9k6krjwW4E1lINcHgttnWcNqgdoessn12dAy8QkbezlbQh2nXISNY+A==", 544 "integrity": "sha512-O1QWBko4fzGju6VoVvrZg0RROCVifcLxiApnGP3OWfWzvxRZFCoBD81K5ur5e3bVY2Vf/5rIJm8cqPKn8HUJng==",
173 "dev": true, 545 "dev": true,
174 "requires": { 546 "requires": {
175 "@babel/helper-function-name": "^7.1.0", 547 "@babel/helper-function-name": "^7.1.0",
176 "@babel/helper-member-expression-to-functions": "^7.0.0", 548 "@babel/helper-member-expression-to-functions": "^7.5.5",
177 "@babel/helper-optimise-call-expression": "^7.0.0", 549 "@babel/helper-optimise-call-expression": "^7.0.0",
178 "@babel/helper-plugin-utils": "^7.0.0", 550 "@babel/helper-plugin-utils": "^7.0.0",
179 "@babel/helper-replace-supers": "^7.2.3" 551 "@babel/helper-replace-supers": "^7.5.5",
552 "@babel/helper-split-export-declaration": "^7.4.4"
180 } 553 }
181 }, 554 },
182 "@babel/helper-define-map": { 555 "@babel/helper-define-map": {
183 "version": "7.1.0", 556 "version": "7.5.5",
184 "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", 557 "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz",
185 "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", 558 "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==",
186 "dev": true, 559 "dev": true,
187 "requires": { 560 "requires": {
188 "@babel/helper-function-name": "^7.1.0", 561 "@babel/helper-function-name": "^7.1.0",
189 "@babel/types": "^7.0.0", 562 "@babel/types": "^7.5.5",
190 "lodash": "^4.17.10" 563 "lodash": "^4.17.13"
191 } 564 }
192 }, 565 },
193 "@babel/helper-explode-assignable-expression": { 566 "@babel/helper-explode-assignable-expression": {
@@ -221,21 +594,21 @@
221 } 594 }
222 }, 595 },
223 "@babel/helper-hoist-variables": { 596 "@babel/helper-hoist-variables": {
224 "version": "7.0.0", 597 "version": "7.4.4",
225 "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz", 598 "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz",
226 "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==", 599 "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==",
227 "dev": true, 600 "dev": true,
228 "requires": { 601 "requires": {
229 "@babel/types": "^7.0.0" 602 "@babel/types": "^7.4.4"
230 } 603 }
231 }, 604 },
232 "@babel/helper-member-expression-to-functions": { 605 "@babel/helper-member-expression-to-functions": {
233 "version": "7.0.0", 606 "version": "7.5.5",
234 "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", 607 "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz",
235 "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", 608 "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==",
236 "dev": true, 609 "dev": true,
237 "requires": { 610 "requires": {
238 "@babel/types": "^7.0.0" 611 "@babel/types": "^7.5.5"
239 } 612 }
240 }, 613 },
241 "@babel/helper-module-imports": { 614 "@babel/helper-module-imports": {
@@ -248,17 +621,17 @@
248 } 621 }
249 }, 622 },
250 "@babel/helper-module-transforms": { 623 "@babel/helper-module-transforms": {
251 "version": "7.2.2", 624 "version": "7.5.5",
252 "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz", 625 "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz",
253 "integrity": "sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA==", 626 "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==",
254 "dev": true, 627 "dev": true,
255 "requires": { 628 "requires": {
256 "@babel/helper-module-imports": "^7.0.0", 629 "@babel/helper-module-imports": "^7.0.0",
257 "@babel/helper-simple-access": "^7.1.0", 630 "@babel/helper-simple-access": "^7.1.0",
258 "@babel/helper-split-export-declaration": "^7.0.0", 631 "@babel/helper-split-export-declaration": "^7.4.4",
259 "@babel/template": "^7.2.2", 632 "@babel/template": "^7.4.4",
260 "@babel/types": "^7.2.2", 633 "@babel/types": "^7.5.5",
261 "lodash": "^4.17.10" 634 "lodash": "^4.17.13"
262 } 635 }
263 }, 636 },
264 "@babel/helper-optimise-call-expression": { 637 "@babel/helper-optimise-call-expression": {
@@ -277,12 +650,12 @@
277 "dev": true 650 "dev": true
278 }, 651 },
279 "@babel/helper-regex": { 652 "@babel/helper-regex": {
280 "version": "7.0.0", 653 "version": "7.5.5",
281 "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz", 654 "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz",
282 "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==", 655 "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==",
283 "dev": true, 656 "dev": true,
284 "requires": { 657 "requires": {
285 "lodash": "^4.17.10" 658 "lodash": "^4.17.13"
286 } 659 }
287 }, 660 },
288 "@babel/helper-remap-async-to-generator": { 661 "@babel/helper-remap-async-to-generator": {
@@ -299,15 +672,15 @@
299 } 672 }
300 }, 673 },
301 "@babel/helper-replace-supers": { 674 "@babel/helper-replace-supers": {
302 "version": "7.2.3", 675 "version": "7.5.5",
303 "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", 676 "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz",
304 "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", 677 "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==",
305 "dev": true, 678 "dev": true,
306 "requires": { 679 "requires": {
307 "@babel/helper-member-expression-to-functions": "^7.0.0", 680 "@babel/helper-member-expression-to-functions": "^7.5.5",
308 "@babel/helper-optimise-call-expression": "^7.0.0", 681 "@babel/helper-optimise-call-expression": "^7.0.0",
309 "@babel/traverse": "^7.2.3", 682 "@babel/traverse": "^7.5.5",
310 "@babel/types": "^7.0.0" 683 "@babel/types": "^7.5.5"
311 } 684 }
312 }, 685 },
313 "@babel/helper-simple-access": { 686 "@babel/helper-simple-access": {
@@ -321,12 +694,12 @@
321 } 694 }
322 }, 695 },
323 "@babel/helper-split-export-declaration": { 696 "@babel/helper-split-export-declaration": {
324 "version": "7.0.0", 697 "version": "7.4.4",
325 "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", 698 "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
326 "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", 699 "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
327 "dev": true, 700 "dev": true,
328 "requires": { 701 "requires": {
329 "@babel/types": "^7.0.0" 702 "@babel/types": "^7.4.4"
330 } 703 }
331 }, 704 },
332 "@babel/helper-wrap-function": { 705 "@babel/helper-wrap-function": {
@@ -342,90 +715,20 @@
342 } 715 }
343 }, 716 },
344 "@babel/helpers": { 717 "@babel/helpers": {
345 "version": "7.3.1", 718 "version": "7.6.0",
346 "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.3.1.tgz", 719 "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.0.tgz",
347 "integrity": "sha512-Q82R3jKsVpUV99mgX50gOPCWwco9Ec5Iln/8Vyu4osNIOQgSrd9RFrQeUvmvddFNoLwMyOUWU+5ckioEKpDoGA==", 720 "integrity": "sha512-W9kao7OBleOjfXtFGgArGRX6eCP0UEcA2ZWEWNkJdRZnHhW4eEbeswbG3EwaRsnQUAEGWYgMq1HsIXuNNNy2eQ==",
348 "dev": true, 721 "dev": true,
349 "requires": { 722 "requires": {
350 "@babel/template": "^7.1.2", 723 "@babel/template": "^7.6.0",
351 "@babel/traverse": "^7.1.5", 724 "@babel/traverse": "^7.6.0",
352 "@babel/types": "^7.3.0" 725 "@babel/types": "^7.6.0"
353 },
354 "dependencies": {
355 "@babel/generator": {
356 "version": "7.3.2",
357 "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.3.2.tgz",
358 "integrity": "sha512-f3QCuPppXxtZOEm5GWPra/uYUjmNQlu9pbAD8D/9jze4pTY83rTtB1igTBSwvkeNlC5gR24zFFkz+2WHLFQhqQ==",
359 "dev": true,
360 "requires": {
361 "@babel/types": "^7.3.2",
362 "jsesc": "^2.5.1",
363 "lodash": "^4.17.10",
364 "source-map": "^0.5.0",
365 "trim-right": "^1.0.1"
366 }
367 },
368 "@babel/parser": {
369 "version": "7.3.2",
370 "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.3.2.tgz",
371 "integrity": "sha512-QzNUC2RO1gadg+fs21fi0Uu0OuGNzRKEmgCxoLNzbCdoprLwjfmZwzUrpUNfJPaVRwBpDY47A17yYEGWyRelnQ==",
372 "dev": true
373 },
374 "@babel/traverse": {
375 "version": "7.2.3",
376 "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz",
377 "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==",
378 "dev": true,
379 "requires": {
380 "@babel/code-frame": "^7.0.0",
381 "@babel/generator": "^7.2.2",
382 "@babel/helper-function-name": "^7.1.0",
383 "@babel/helper-split-export-declaration": "^7.0.0",
384 "@babel/parser": "^7.2.3",
385 "@babel/types": "^7.2.2",
386 "debug": "^4.1.0",
387 "globals": "^11.1.0",
388 "lodash": "^4.17.10"
389 }
390 },
391 "@babel/types": {
392 "version": "7.3.2",
393 "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.2.tgz",
394 "integrity": "sha512-3Y6H8xlUlpbGR+XvawiH0UXehqydTmNmEpozWcXymqwcrwYAl5KMvKtQ+TF6f6E08V6Jur7v/ykdDSF+WDEIXQ==",
395 "dev": true,
396 "requires": {
397 "esutils": "^2.0.2",
398 "lodash": "^4.17.10",
399 "to-fast-properties": "^2.0.0"
400 }
401 },
402 "debug": {
403 "version": "4.1.1",
404 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
405 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
406 "dev": true,
407 "requires": {
408 "ms": "^2.1.1"
409 }
410 },
411 "ms": {
412 "version": "2.1.1",
413 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
414 "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
415 "dev": true
416 },
417 "source-map": {
418 "version": "0.5.7",
419 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
420 "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
421 "dev": true
422 }
423 } 726 }
424 }, 727 },
425 "@babel/highlight": { 728 "@babel/highlight": {
426 "version": "7.0.0", 729 "version": "7.5.0",
427 "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", 730 "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
428 "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", 731 "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
429 "dev": true, 732 "dev": true,
430 "requires": { 733 "requires": {
431 "chalk": "^2.0.0", 734 "chalk": "^2.0.0",
@@ -434,9 +737,9 @@
434 } 737 }
435 }, 738 },
436 "@babel/parser": { 739 "@babel/parser": {
437 "version": "7.3.2", 740 "version": "7.6.0",
438 "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.3.2.tgz", 741 "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.0.tgz",
439 "integrity": "sha512-QzNUC2RO1gadg+fs21fi0Uu0OuGNzRKEmgCxoLNzbCdoprLwjfmZwzUrpUNfJPaVRwBpDY47A17yYEGWyRelnQ==", 742 "integrity": "sha512-+o2q111WEx4srBs7L9eJmcwi655eD8sXniLqMB93TBK9GrNzGrxDWSjiqz2hLU0Ha8MTXFIP0yd9fNdP+m43ZQ==",
440 "dev": true 743 "dev": true
441 }, 744 },
442 "@babel/plugin-proposal-async-generator-functions": { 745 "@babel/plugin-proposal-async-generator-functions": {
@@ -451,30 +754,40 @@
451 } 754 }
452 }, 755 },
453 "@babel/plugin-proposal-class-properties": { 756 "@babel/plugin-proposal-class-properties": {
454 "version": "7.3.0", 757 "version": "7.5.5",
455 "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.3.0.tgz", 758 "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz",
456 "integrity": "sha512-wNHxLkEKTQ2ay0tnsam2z7fGZUi+05ziDJflEt3AZTP3oXLKHJp9HqhfroB/vdMvt3sda9fAbq7FsG8QPDrZBg==", 759 "integrity": "sha512-AF79FsnWFxjlaosgdi421vmYG6/jg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1/A==",
457 "dev": true, 760 "dev": true,
458 "requires": { 761 "requires": {
459 "@babel/helper-create-class-features-plugin": "^7.3.0", 762 "@babel/helper-create-class-features-plugin": "^7.5.5",
460 "@babel/helper-plugin-utils": "^7.0.0" 763 "@babel/helper-plugin-utils": "^7.0.0"
461 } 764 }
462 }, 765 },
463 "@babel/plugin-proposal-decorators": { 766 "@babel/plugin-proposal-decorators": {
464 "version": "7.3.0", 767 "version": "7.6.0",
465 "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.3.0.tgz", 768 "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.6.0.tgz",
466 "integrity": "sha512-3W/oCUmsO43FmZIqermmq6TKaRSYhmh/vybPfVFwQWdSb8xwki38uAIvknCRzuyHRuYfCYmJzL9or1v0AffPjg==", 769 "integrity": "sha512-ZSyYw9trQI50sES6YxREXKu+4b7MAg6Qx2cvyDDYjP2Hpzd3FleOUwC9cqn1+za8d0A2ZU8SHujxFao956efUg==",
467 "dev": true, 770 "dev": true,
468 "requires": { 771 "requires": {
469 "@babel/helper-create-class-features-plugin": "^7.3.0", 772 "@babel/helper-create-class-features-plugin": "^7.6.0",
470 "@babel/helper-plugin-utils": "^7.0.0", 773 "@babel/helper-plugin-utils": "^7.0.0",
471 "@babel/plugin-syntax-decorators": "^7.2.0" 774 "@babel/plugin-syntax-decorators": "^7.2.0"
472 } 775 }
473 }, 776 },
777 "@babel/plugin-proposal-dynamic-import": {
778 "version": "7.5.0",
779 "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz",
780 "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==",
781 "dev": true,
782 "requires": {
783 "@babel/helper-plugin-utils": "^7.0.0",
784 "@babel/plugin-syntax-dynamic-import": "^7.2.0"
785 }
786 },
474 "@babel/plugin-proposal-export-default-from": { 787 "@babel/plugin-proposal-export-default-from": {
475 "version": "7.2.0", 788 "version": "7.5.2",
476 "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.2.0.tgz", 789 "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.5.2.tgz",
477 "integrity": "sha512-NVfNe7F6nsasG1FnvcFxh2FN0l04ZNe75qTOAVOILWPam0tw9a63RtT/Dab8dPjedZa4fTQaQ83yMMywF9OSug==", 790 "integrity": "sha512-wr9Itk05L1/wyyZKVEmXWCdcsp/e185WUNl6AfYZeEKYaUPPvHXRDqO5K1VH7/UamYqGJowFRuCv30aDYZawsg==",
478 "dev": true, 791 "dev": true,
479 "requires": { 792 "requires": {
480 "@babel/helper-plugin-utils": "^7.0.0", 793 "@babel/helper-plugin-utils": "^7.0.0",
@@ -492,9 +805,9 @@
492 } 805 }
493 }, 806 },
494 "@babel/plugin-proposal-object-rest-spread": { 807 "@babel/plugin-proposal-object-rest-spread": {
495 "version": "7.3.2", 808 "version": "7.5.5",
496 "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.3.2.tgz", 809 "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz",
497 "integrity": "sha512-DjeMS+J2+lpANkYLLO+m6GjoTMygYglKmRe6cDTbFv3L9i6mmiE8fe6B8MtCSLZpVXscD5kn7s6SgtHrDoBWoA==", 810 "integrity": "sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw==",
498 "dev": true, 811 "dev": true,
499 "requires": { 812 "requires": {
500 "@babel/helper-plugin-utils": "^7.0.0", 813 "@babel/helper-plugin-utils": "^7.0.0",
@@ -522,14 +835,14 @@
522 } 835 }
523 }, 836 },
524 "@babel/plugin-proposal-unicode-property-regex": { 837 "@babel/plugin-proposal-unicode-property-regex": {
525 "version": "7.2.0", 838 "version": "7.4.4",
526 "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.2.0.tgz", 839 "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz",
527 "integrity": "sha512-LvRVYb7kikuOtIoUeWTkOxQEV1kYvL5B6U3iWEGCzPNRus1MzJweFqORTj+0jkxozkTSYNJozPOddxmqdqsRpw==", 840 "integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==",
528 "dev": true, 841 "dev": true,
529 "requires": { 842 "requires": {
530 "@babel/helper-plugin-utils": "^7.0.0", 843 "@babel/helper-plugin-utils": "^7.0.0",
531 "@babel/helper-regex": "^7.0.0", 844 "@babel/helper-regex": "^7.4.4",
532 "regexpu-core": "^4.2.0" 845 "regexpu-core": "^4.5.4"
533 } 846 }
534 }, 847 },
535 "@babel/plugin-syntax-async-generators": { 848 "@babel/plugin-syntax-async-generators": {
@@ -623,9 +936,9 @@
623 } 936 }
624 }, 937 },
625 "@babel/plugin-transform-async-to-generator": { 938 "@babel/plugin-transform-async-to-generator": {
626 "version": "7.2.0", 939 "version": "7.5.0",
627 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz", 940 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz",
628 "integrity": "sha512-CEHzg4g5UraReozI9D4fblBYABs7IM6UerAVG7EJVrTLC5keh00aEuLUT+O40+mJCEzaXkYfTCUKIyeDfMOFFQ==", 941 "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==",
629 "dev": true, 942 "dev": true,
630 "requires": { 943 "requires": {
631 "@babel/helper-module-imports": "^7.0.0", 944 "@babel/helper-module-imports": "^7.0.0",
@@ -643,28 +956,28 @@
643 } 956 }
644 }, 957 },
645 "@babel/plugin-transform-block-scoping": { 958 "@babel/plugin-transform-block-scoping": {
646 "version": "7.2.0", 959 "version": "7.6.0",
647 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", 960 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.0.tgz",
648 "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", 961 "integrity": "sha512-tIt4E23+kw6TgL/edACZwP1OUKrjOTyMrFMLoT5IOFrfMRabCgekjqFd5o6PaAMildBu46oFkekIdMuGkkPEpA==",
649 "dev": true, 962 "dev": true,
650 "requires": { 963 "requires": {
651 "@babel/helper-plugin-utils": "^7.0.0", 964 "@babel/helper-plugin-utils": "^7.0.0",
652 "lodash": "^4.17.10" 965 "lodash": "^4.17.13"
653 } 966 }
654 }, 967 },
655 "@babel/plugin-transform-classes": { 968 "@babel/plugin-transform-classes": {
656 "version": "7.2.2", 969 "version": "7.5.5",
657 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", 970 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz",
658 "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", 971 "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==",
659 "dev": true, 972 "dev": true,
660 "requires": { 973 "requires": {
661 "@babel/helper-annotate-as-pure": "^7.0.0", 974 "@babel/helper-annotate-as-pure": "^7.0.0",
662 "@babel/helper-define-map": "^7.1.0", 975 "@babel/helper-define-map": "^7.5.5",
663 "@babel/helper-function-name": "^7.1.0", 976 "@babel/helper-function-name": "^7.1.0",
664 "@babel/helper-optimise-call-expression": "^7.0.0", 977 "@babel/helper-optimise-call-expression": "^7.0.0",
665 "@babel/helper-plugin-utils": "^7.0.0", 978 "@babel/helper-plugin-utils": "^7.0.0",
666 "@babel/helper-replace-supers": "^7.1.0", 979 "@babel/helper-replace-supers": "^7.5.5",
667 "@babel/helper-split-export-declaration": "^7.0.0", 980 "@babel/helper-split-export-declaration": "^7.4.4",
668 "globals": "^11.1.0" 981 "globals": "^11.1.0"
669 } 982 }
670 }, 983 },
@@ -678,29 +991,29 @@
678 } 991 }
679 }, 992 },
680 "@babel/plugin-transform-destructuring": { 993 "@babel/plugin-transform-destructuring": {
681 "version": "7.3.2", 994 "version": "7.6.0",
682 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.3.2.tgz", 995 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz",
683 "integrity": "sha512-Lrj/u53Ufqxl/sGxyjsJ2XNtNuEjDyjpqdhMNh5aZ+XFOdThL46KBj27Uem4ggoezSYBxKWAil6Hu8HtwqesYw==", 996 "integrity": "sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==",
684 "dev": true, 997 "dev": true,
685 "requires": { 998 "requires": {
686 "@babel/helper-plugin-utils": "^7.0.0" 999 "@babel/helper-plugin-utils": "^7.0.0"
687 } 1000 }
688 }, 1001 },
689 "@babel/plugin-transform-dotall-regex": { 1002 "@babel/plugin-transform-dotall-regex": {
690 "version": "7.2.0", 1003 "version": "7.4.4",
691 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz", 1004 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz",
692 "integrity": "sha512-sKxnyHfizweTgKZf7XsXu/CNupKhzijptfTM+bozonIuyVrLWVUvYjE2bhuSBML8VQeMxq4Mm63Q9qvcvUcciQ==", 1005 "integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==",
693 "dev": true, 1006 "dev": true,
694 "requires": { 1007 "requires": {
695 "@babel/helper-plugin-utils": "^7.0.0", 1008 "@babel/helper-plugin-utils": "^7.0.0",
696 "@babel/helper-regex": "^7.0.0", 1009 "@babel/helper-regex": "^7.4.4",
697 "regexpu-core": "^4.1.3" 1010 "regexpu-core": "^4.5.4"
698 } 1011 }
699 }, 1012 },
700 "@babel/plugin-transform-duplicate-keys": { 1013 "@babel/plugin-transform-duplicate-keys": {
701 "version": "7.2.0", 1014 "version": "7.5.0",
702 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz", 1015 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz",
703 "integrity": "sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw==", 1016 "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==",
704 "dev": true, 1017 "dev": true,
705 "requires": { 1018 "requires": {
706 "@babel/helper-plugin-utils": "^7.0.0" 1019 "@babel/helper-plugin-utils": "^7.0.0"
@@ -717,18 +1030,18 @@
717 } 1030 }
718 }, 1031 },
719 "@babel/plugin-transform-for-of": { 1032 "@babel/plugin-transform-for-of": {
720 "version": "7.2.0", 1033 "version": "7.4.4",
721 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", 1034 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz",
722 "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", 1035 "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==",
723 "dev": true, 1036 "dev": true,
724 "requires": { 1037 "requires": {
725 "@babel/helper-plugin-utils": "^7.0.0" 1038 "@babel/helper-plugin-utils": "^7.0.0"
726 } 1039 }
727 }, 1040 },
728 "@babel/plugin-transform-function-name": { 1041 "@babel/plugin-transform-function-name": {
729 "version": "7.2.0", 1042 "version": "7.4.4",
730 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz", 1043 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz",
731 "integrity": "sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ==", 1044 "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==",
732 "dev": true, 1045 "dev": true,
733 "requires": { 1046 "requires": {
734 "@babel/helper-function-name": "^7.1.0", 1047 "@babel/helper-function-name": "^7.1.0",
@@ -744,35 +1057,47 @@
744 "@babel/helper-plugin-utils": "^7.0.0" 1057 "@babel/helper-plugin-utils": "^7.0.0"
745 } 1058 }
746 }, 1059 },
747 "@babel/plugin-transform-modules-amd": { 1060 "@babel/plugin-transform-member-expression-literals": {
748 "version": "7.2.0", 1061 "version": "7.2.0",
749 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz", 1062 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz",
750 "integrity": "sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw==", 1063 "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==",
751 "dev": true, 1064 "dev": true,
752 "requires": { 1065 "requires": {
753 "@babel/helper-module-transforms": "^7.1.0",
754 "@babel/helper-plugin-utils": "^7.0.0" 1066 "@babel/helper-plugin-utils": "^7.0.0"
755 } 1067 }
756 }, 1068 },
757 "@babel/plugin-transform-modules-commonjs": { 1069 "@babel/plugin-transform-modules-amd": {
758 "version": "7.2.0", 1070 "version": "7.5.0",
759 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz", 1071 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz",
760 "integrity": "sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ==", 1072 "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==",
761 "dev": true, 1073 "dev": true,
762 "requires": { 1074 "requires": {
763 "@babel/helper-module-transforms": "^7.1.0", 1075 "@babel/helper-module-transforms": "^7.1.0",
764 "@babel/helper-plugin-utils": "^7.0.0", 1076 "@babel/helper-plugin-utils": "^7.0.0",
765 "@babel/helper-simple-access": "^7.1.0" 1077 "babel-plugin-dynamic-import-node": "^2.3.0"
1078 }
1079 },
1080 "@babel/plugin-transform-modules-commonjs": {
1081 "version": "7.6.0",
1082 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz",
1083 "integrity": "sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g==",
1084 "dev": true,
1085 "requires": {
1086 "@babel/helper-module-transforms": "^7.4.4",
1087 "@babel/helper-plugin-utils": "^7.0.0",
1088 "@babel/helper-simple-access": "^7.1.0",
1089 "babel-plugin-dynamic-import-node": "^2.3.0"
766 } 1090 }
767 }, 1091 },
768 "@babel/plugin-transform-modules-systemjs": { 1092 "@babel/plugin-transform-modules-systemjs": {
769 "version": "7.2.0", 1093 "version": "7.5.0",
770 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.2.0.tgz", 1094 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz",
771 "integrity": "sha512-aYJwpAhoK9a+1+O625WIjvMY11wkB/ok0WClVwmeo3mCjcNRjt+/8gHWrB5i+00mUju0gWsBkQnPpdvQ7PImmQ==", 1095 "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==",
772 "dev": true, 1096 "dev": true,
773 "requires": { 1097 "requires": {
774 "@babel/helper-hoist-variables": "^7.0.0", 1098 "@babel/helper-hoist-variables": "^7.4.4",
775 "@babel/helper-plugin-utils": "^7.0.0" 1099 "@babel/helper-plugin-utils": "^7.0.0",
1100 "babel-plugin-dynamic-import-node": "^2.3.0"
776 } 1101 }
777 }, 1102 },
778 "@babel/plugin-transform-modules-umd": { 1103 "@babel/plugin-transform-modules-umd": {
@@ -786,44 +1111,53 @@
786 } 1111 }
787 }, 1112 },
788 "@babel/plugin-transform-named-capturing-groups-regex": { 1113 "@babel/plugin-transform-named-capturing-groups-regex": {
789 "version": "7.3.0", 1114 "version": "7.6.0",
790 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.3.0.tgz", 1115 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.0.tgz",
791 "integrity": "sha512-NxIoNVhk9ZxS+9lSoAQ/LM0V2UEvARLttEHUrRDGKFaAxOYQcrkN/nLRE+BbbicCAvZPl7wMP0X60HsHE5DtQw==", 1116 "integrity": "sha512-jem7uytlmrRl3iCAuQyw8BpB4c4LWvSpvIeXKpMb+7j84lkx4m4mYr5ErAcmN5KM7B6BqrAvRGjBIbbzqCczew==",
792 "dev": true, 1117 "dev": true,
793 "requires": { 1118 "requires": {
794 "regexp-tree": "^0.1.0" 1119 "regexp-tree": "^0.1.13"
795 } 1120 }
796 }, 1121 },
797 "@babel/plugin-transform-new-target": { 1122 "@babel/plugin-transform-new-target": {
798 "version": "7.0.0", 1123 "version": "7.4.4",
799 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz", 1124 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz",
800 "integrity": "sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw==", 1125 "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==",
801 "dev": true, 1126 "dev": true,
802 "requires": { 1127 "requires": {
803 "@babel/helper-plugin-utils": "^7.0.0" 1128 "@babel/helper-plugin-utils": "^7.0.0"
804 } 1129 }
805 }, 1130 },
806 "@babel/plugin-transform-object-super": { 1131 "@babel/plugin-transform-object-super": {
807 "version": "7.2.0", 1132 "version": "7.5.5",
808 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz", 1133 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz",
809 "integrity": "sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==", 1134 "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==",
810 "dev": true, 1135 "dev": true,
811 "requires": { 1136 "requires": {
812 "@babel/helper-plugin-utils": "^7.0.0", 1137 "@babel/helper-plugin-utils": "^7.0.0",
813 "@babel/helper-replace-supers": "^7.1.0" 1138 "@babel/helper-replace-supers": "^7.5.5"
814 } 1139 }
815 }, 1140 },
816 "@babel/plugin-transform-parameters": { 1141 "@babel/plugin-transform-parameters": {
817 "version": "7.2.0", 1142 "version": "7.4.4",
818 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz", 1143 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz",
819 "integrity": "sha512-kB9+hhUidIgUoBQ0MsxMewhzr8i60nMa2KgeJKQWYrqQpqcBYtnpR+JgkadZVZoaEZ/eKu9mclFaVwhRpLNSzA==", 1144 "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==",
820 "dev": true, 1145 "dev": true,
821 "requires": { 1146 "requires": {
822 "@babel/helper-call-delegate": "^7.1.0", 1147 "@babel/helper-call-delegate": "^7.4.4",
823 "@babel/helper-get-function-arity": "^7.0.0", 1148 "@babel/helper-get-function-arity": "^7.0.0",
824 "@babel/helper-plugin-utils": "^7.0.0" 1149 "@babel/helper-plugin-utils": "^7.0.0"
825 } 1150 }
826 }, 1151 },
1152 "@babel/plugin-transform-property-literals": {
1153 "version": "7.2.0",
1154 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz",
1155 "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==",
1156 "dev": true,
1157 "requires": {
1158 "@babel/helper-plugin-utils": "^7.0.0"
1159 }
1160 },
827 "@babel/plugin-transform-react-display-name": { 1161 "@babel/plugin-transform-react-display-name": {
828 "version": "7.2.0", 1162 "version": "7.2.0",
829 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz", 1163 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz",
@@ -855,9 +1189,9 @@
855 } 1189 }
856 }, 1190 },
857 "@babel/plugin-transform-react-jsx-source": { 1191 "@babel/plugin-transform-react-jsx-source": {
858 "version": "7.2.0", 1192 "version": "7.5.0",
859 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz", 1193 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz",
860 "integrity": "sha512-A32OkKTp4i5U6aE88GwwcuV4HAprUgHcTq0sSafLxjr6AW0QahrCRCjxogkbbcdtpbXkuTOlgpjophCxb6sh5g==", 1194 "integrity": "sha512-58Q+Jsy4IDCZx7kqEZuSDdam/1oW8OdDX8f+Loo6xyxdfg1yF0GE2XNJQSTZCaMol93+FBzpWiPEwtbMloAcPg==",
861 "dev": true, 1195 "dev": true,
862 "requires": { 1196 "requires": {
863 "@babel/helper-plugin-utils": "^7.0.0", 1197 "@babel/helper-plugin-utils": "^7.0.0",
@@ -865,12 +1199,21 @@
865 } 1199 }
866 }, 1200 },
867 "@babel/plugin-transform-regenerator": { 1201 "@babel/plugin-transform-regenerator": {
868 "version": "7.0.0", 1202 "version": "7.4.5",
869 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz", 1203 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz",
870 "integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==", 1204 "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==",
871 "dev": true, 1205 "dev": true,
872 "requires": { 1206 "requires": {
873 "regenerator-transform": "^0.13.3" 1207 "regenerator-transform": "^0.14.0"
1208 }
1209 },
1210 "@babel/plugin-transform-reserved-words": {
1211 "version": "7.2.0",
1212 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz",
1213 "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==",
1214 "dev": true,
1215 "requires": {
1216 "@babel/helper-plugin-utils": "^7.0.0"
874 } 1217 }
875 }, 1218 },
876 "@babel/plugin-transform-shorthand-properties": { 1219 "@babel/plugin-transform-shorthand-properties": {
@@ -902,9 +1245,9 @@
902 } 1245 }
903 }, 1246 },
904 "@babel/plugin-transform-template-literals": { 1247 "@babel/plugin-transform-template-literals": {
905 "version": "7.2.0", 1248 "version": "7.4.4",
906 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz", 1249 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz",
907 "integrity": "sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg==", 1250 "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==",
908 "dev": true, 1251 "dev": true,
909 "requires": { 1252 "requires": {
910 "@babel/helper-annotate-as-pure": "^7.0.0", 1253 "@babel/helper-annotate-as-pure": "^7.0.0",
@@ -921,14 +1264,14 @@
921 } 1264 }
922 }, 1265 },
923 "@babel/plugin-transform-unicode-regex": { 1266 "@babel/plugin-transform-unicode-regex": {
924 "version": "7.2.0", 1267 "version": "7.4.4",
925 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz", 1268 "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz",
926 "integrity": "sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA==", 1269 "integrity": "sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==",
927 "dev": true, 1270 "dev": true,
928 "requires": { 1271 "requires": {
929 "@babel/helper-plugin-utils": "^7.0.0", 1272 "@babel/helper-plugin-utils": "^7.0.0",
930 "@babel/helper-regex": "^7.0.0", 1273 "@babel/helper-regex": "^7.4.4",
931 "regexpu-core": "^4.1.3" 1274 "regexpu-core": "^4.5.4"
932 } 1275 }
933 }, 1276 },
934 "@babel/polyfill": { 1277 "@babel/polyfill": {
@@ -938,64 +1281,64 @@
938 "requires": { 1281 "requires": {
939 "core-js": "^2.6.5", 1282 "core-js": "^2.6.5",
940 "regenerator-runtime": "^0.13.2" 1283 "regenerator-runtime": "^0.13.2"
941 },
942 "dependencies": {
943 "core-js": {
944 "version": "2.6.9",
945 "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz",
946 "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A=="
947 }
948 } 1284 }
949 }, 1285 },
950 "@babel/preset-env": { 1286 "@babel/preset-env": {
951 "version": "7.3.1", 1287 "version": "7.6.0",
952 "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.3.1.tgz", 1288 "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.6.0.tgz",
953 "integrity": "sha512-FHKrD6Dxf30e8xgHQO0zJZpUPfVZg+Xwgz5/RdSWCbza9QLNk4Qbp40ctRoqDxml3O8RMzB1DU55SXeDG6PqHQ==", 1289 "integrity": "sha512-1efzxFv/TcPsNXlRhMzRnkBFMeIqBBgzwmZwlFDw5Ubj0AGLeufxugirwZmkkX/ayi3owsSqoQ4fw8LkfK9SYg==",
954 "dev": true, 1290 "dev": true,
955 "requires": { 1291 "requires": {
956 "@babel/helper-module-imports": "^7.0.0", 1292 "@babel/helper-module-imports": "^7.0.0",
957 "@babel/helper-plugin-utils": "^7.0.0", 1293 "@babel/helper-plugin-utils": "^7.0.0",
958 "@babel/plugin-proposal-async-generator-functions": "^7.2.0", 1294 "@babel/plugin-proposal-async-generator-functions": "^7.2.0",
1295 "@babel/plugin-proposal-dynamic-import": "^7.5.0",
959 "@babel/plugin-proposal-json-strings": "^7.2.0", 1296 "@babel/plugin-proposal-json-strings": "^7.2.0",
960 "@babel/plugin-proposal-object-rest-spread": "^7.3.1", 1297 "@babel/plugin-proposal-object-rest-spread": "^7.5.5",
961 "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", 1298 "@babel/plugin-proposal-optional-catch-binding": "^7.2.0",
962 "@babel/plugin-proposal-unicode-property-regex": "^7.2.0", 1299 "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
963 "@babel/plugin-syntax-async-generators": "^7.2.0", 1300 "@babel/plugin-syntax-async-generators": "^7.2.0",
1301 "@babel/plugin-syntax-dynamic-import": "^7.2.0",
964 "@babel/plugin-syntax-json-strings": "^7.2.0", 1302 "@babel/plugin-syntax-json-strings": "^7.2.0",
965 "@babel/plugin-syntax-object-rest-spread": "^7.2.0", 1303 "@babel/plugin-syntax-object-rest-spread": "^7.2.0",
966 "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", 1304 "@babel/plugin-syntax-optional-catch-binding": "^7.2.0",
967 "@babel/plugin-transform-arrow-functions": "^7.2.0", 1305 "@babel/plugin-transform-arrow-functions": "^7.2.0",
968 "@babel/plugin-transform-async-to-generator": "^7.2.0", 1306 "@babel/plugin-transform-async-to-generator": "^7.5.0",
969 "@babel/plugin-transform-block-scoped-functions": "^7.2.0", 1307 "@babel/plugin-transform-block-scoped-functions": "^7.2.0",
970 "@babel/plugin-transform-block-scoping": "^7.2.0", 1308 "@babel/plugin-transform-block-scoping": "^7.6.0",
971 "@babel/plugin-transform-classes": "^7.2.0", 1309 "@babel/plugin-transform-classes": "^7.5.5",
972 "@babel/plugin-transform-computed-properties": "^7.2.0", 1310 "@babel/plugin-transform-computed-properties": "^7.2.0",
973 "@babel/plugin-transform-destructuring": "^7.2.0", 1311 "@babel/plugin-transform-destructuring": "^7.6.0",
974 "@babel/plugin-transform-dotall-regex": "^7.2.0", 1312 "@babel/plugin-transform-dotall-regex": "^7.4.4",
975 "@babel/plugin-transform-duplicate-keys": "^7.2.0", 1313 "@babel/plugin-transform-duplicate-keys": "^7.5.0",
976 "@babel/plugin-transform-exponentiation-operator": "^7.2.0", 1314 "@babel/plugin-transform-exponentiation-operator": "^7.2.0",
977 "@babel/plugin-transform-for-of": "^7.2.0", 1315 "@babel/plugin-transform-for-of": "^7.4.4",
978 "@babel/plugin-transform-function-name": "^7.2.0", 1316 "@babel/plugin-transform-function-name": "^7.4.4",
979 "@babel/plugin-transform-literals": "^7.2.0", 1317 "@babel/plugin-transform-literals": "^7.2.0",
980 "@babel/plugin-transform-modules-amd": "^7.2.0", 1318 "@babel/plugin-transform-member-expression-literals": "^7.2.0",
981 "@babel/plugin-transform-modules-commonjs": "^7.2.0", 1319 "@babel/plugin-transform-modules-amd": "^7.5.0",
982 "@babel/plugin-transform-modules-systemjs": "^7.2.0", 1320 "@babel/plugin-transform-modules-commonjs": "^7.6.0",
1321 "@babel/plugin-transform-modules-systemjs": "^7.5.0",
983 "@babel/plugin-transform-modules-umd": "^7.2.0", 1322 "@babel/plugin-transform-modules-umd": "^7.2.0",
984 "@babel/plugin-transform-named-capturing-groups-regex": "^7.3.0", 1323 "@babel/plugin-transform-named-capturing-groups-regex": "^7.6.0",
985 "@babel/plugin-transform-new-target": "^7.0.0", 1324 "@babel/plugin-transform-new-target": "^7.4.4",
986 "@babel/plugin-transform-object-super": "^7.2.0", 1325 "@babel/plugin-transform-object-super": "^7.5.5",
987 "@babel/plugin-transform-parameters": "^7.2.0", 1326 "@babel/plugin-transform-parameters": "^7.4.4",
988 "@babel/plugin-transform-regenerator": "^7.0.0", 1327 "@babel/plugin-transform-property-literals": "^7.2.0",
1328 "@babel/plugin-transform-regenerator": "^7.4.5",
1329 "@babel/plugin-transform-reserved-words": "^7.2.0",
989 "@babel/plugin-transform-shorthand-properties": "^7.2.0", 1330 "@babel/plugin-transform-shorthand-properties": "^7.2.0",
990 "@babel/plugin-transform-spread": "^7.2.0", 1331 "@babel/plugin-transform-spread": "^7.2.0",
991 "@babel/plugin-transform-sticky-regex": "^7.2.0", 1332 "@babel/plugin-transform-sticky-regex": "^7.2.0",
992 "@babel/plugin-transform-template-literals": "^7.2.0", 1333 "@babel/plugin-transform-template-literals": "^7.4.4",
993 "@babel/plugin-transform-typeof-symbol": "^7.2.0", 1334 "@babel/plugin-transform-typeof-symbol": "^7.2.0",
994 "@babel/plugin-transform-unicode-regex": "^7.2.0", 1335 "@babel/plugin-transform-unicode-regex": "^7.4.4",
995 "browserslist": "^4.3.4", 1336 "@babel/types": "^7.6.0",
1337 "browserslist": "^4.6.0",
1338 "core-js-compat": "^3.1.1",
996 "invariant": "^2.2.2", 1339 "invariant": "^2.2.2",
997 "js-levenshtein": "^1.1.3", 1340 "js-levenshtein": "^1.1.3",
998 "semver": "^5.3.0" 1341 "semver": "^5.5.0"
999 } 1342 }
1000 }, 1343 },
1001 "@babel/preset-react": { 1344 "@babel/preset-react": {
@@ -1035,58 +1378,41 @@
1035 } 1378 }
1036 }, 1379 },
1037 "@babel/template": { 1380 "@babel/template": {
1038 "version": "7.2.2", 1381 "version": "7.6.0",
1039 "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", 1382 "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
1040 "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", 1383 "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==",
1041 "dev": true, 1384 "dev": true,
1042 "requires": { 1385 "requires": {
1043 "@babel/code-frame": "^7.0.0", 1386 "@babel/code-frame": "^7.0.0",
1044 "@babel/parser": "^7.2.2", 1387 "@babel/parser": "^7.6.0",
1045 "@babel/types": "^7.2.2" 1388 "@babel/types": "^7.6.0"
1046 } 1389 }
1047 }, 1390 },
1048 "@babel/traverse": { 1391 "@babel/traverse": {
1049 "version": "7.2.3", 1392 "version": "7.6.0",
1050 "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", 1393 "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.0.tgz",
1051 "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", 1394 "integrity": "sha512-93t52SaOBgml/xY74lsmt7xOR4ufYvhb5c5qiM6lu4J/dWGMAfAh6eKw4PjLes6DI6nQgearoxnFJk60YchpvQ==",
1052 "dev": true, 1395 "dev": true,
1053 "requires": { 1396 "requires": {
1054 "@babel/code-frame": "^7.0.0", 1397 "@babel/code-frame": "^7.5.5",
1055 "@babel/generator": "^7.2.2", 1398 "@babel/generator": "^7.6.0",
1056 "@babel/helper-function-name": "^7.1.0", 1399 "@babel/helper-function-name": "^7.1.0",
1057 "@babel/helper-split-export-declaration": "^7.0.0", 1400 "@babel/helper-split-export-declaration": "^7.4.4",
1058 "@babel/parser": "^7.2.3", 1401 "@babel/parser": "^7.6.0",
1059 "@babel/types": "^7.2.2", 1402 "@babel/types": "^7.6.0",
1060 "debug": "^4.1.0", 1403 "debug": "^4.1.0",
1061 "globals": "^11.1.0", 1404 "globals": "^11.1.0",
1062 "lodash": "^4.17.10" 1405 "lodash": "^4.17.13"
1063 },
1064 "dependencies": {
1065 "debug": {
1066 "version": "4.1.1",
1067 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
1068 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
1069 "dev": true,
1070 "requires": {
1071 "ms": "^2.1.1"
1072 }
1073 },
1074 "ms": {
1075 "version": "2.1.1",
1076 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
1077 "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
1078 "dev": true
1079 }
1080 } 1406 }
1081 }, 1407 },
1082 "@babel/types": { 1408 "@babel/types": {
1083 "version": "7.3.2", 1409 "version": "7.6.1",
1084 "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.2.tgz", 1410 "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz",
1085 "integrity": "sha512-3Y6H8xlUlpbGR+XvawiH0UXehqydTmNmEpozWcXymqwcrwYAl5KMvKtQ+TF6f6E08V6Jur7v/ykdDSF+WDEIXQ==", 1411 "integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==",
1086 "dev": true, 1412 "dev": true,
1087 "requires": { 1413 "requires": {
1088 "esutils": "^2.0.2", 1414 "esutils": "^2.0.2",
1089 "lodash": "^4.17.10", 1415 "lodash": "^4.17.13",
1090 "to-fast-properties": "^2.0.0" 1416 "to-fast-properties": "^2.0.0"
1091 } 1417 }
1092 }, 1418 },
@@ -1098,6 +1424,14 @@
1098 "requires": { 1424 "requires": {
1099 "exec-sh": "^0.3.2", 1425 "exec-sh": "^0.3.2",
1100 "minimist": "^1.2.0" 1426 "minimist": "^1.2.0"
1427 },
1428 "dependencies": {
1429 "minimist": {
1430 "version": "1.2.0",
1431 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
1432 "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
1433 "dev": true
1434 }
1101 } 1435 }
1102 }, 1436 },
1103 "@develar/schema-utils": { 1437 "@develar/schema-utils": {
@@ -1110,6 +1444,134 @@
1110 "ajv-keywords": "^3.1.0" 1444 "ajv-keywords": "^3.1.0"
1111 } 1445 }
1112 }, 1446 },
1447 "@evocateur/libnpmaccess": {
1448 "version": "3.1.2",
1449 "resolved": "https://registry.npmjs.org/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz",
1450 "integrity": "sha512-KSCAHwNWro0CF2ukxufCitT9K5LjL/KuMmNzSu8wuwN2rjyKHD8+cmOsiybK+W5hdnwc5M1SmRlVCaMHQo+3rg==",
1451 "dev": true,
1452 "requires": {
1453 "@evocateur/npm-registry-fetch": "^4.0.0",
1454 "aproba": "^2.0.0",
1455 "figgy-pudding": "^3.5.1",
1456 "get-stream": "^4.0.0",
1457 "npm-package-arg": "^6.1.0"
1458 },
1459 "dependencies": {
1460 "aproba": {
1461 "version": "2.0.0",
1462 "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
1463 "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
1464 "dev": true
1465 }
1466 }
1467 },
1468 "@evocateur/libnpmpublish": {
1469 "version": "1.2.2",
1470 "resolved": "https://registry.npmjs.org/@evocateur/libnpmpublish/-/libnpmpublish-1.2.2.tgz",
1471 "integrity": "sha512-MJrrk9ct1FeY9zRlyeoyMieBjGDG9ihyyD9/Ft6MMrTxql9NyoEx2hw9casTIP4CdqEVu+3nQ2nXxoJ8RCXyFg==",
1472 "dev": true,
1473 "requires": {
1474 "@evocateur/npm-registry-fetch": "^4.0.0",
1475 "aproba": "^2.0.0",
1476 "figgy-pudding": "^3.5.1",
1477 "get-stream": "^4.0.0",
1478 "lodash.clonedeep": "^4.5.0",
1479 "normalize-package-data": "^2.4.0",
1480 "npm-package-arg": "^6.1.0",
1481 "semver": "^5.5.1",
1482 "ssri": "^6.0.1"
1483 },
1484 "dependencies": {
1485 "aproba": {
1486 "version": "2.0.0",
1487 "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
1488 "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
1489 "dev": true
1490 }
1491 }
1492 },
1493 "@evocateur/npm-registry-fetch": {
1494 "version": "4.0.0",
1495 "resolved": "https://registry.npmjs.org/@evocateur/npm-registry-fetch/-/npm-registry-fetch-4.0.0.tgz",
1496 "integrity": "sha512-k1WGfKRQyhJpIr+P17O5vLIo2ko1PFLKwoetatdduUSt/aQ4J2sJrJwwatdI5Z3SiYk/mRH9S3JpdmMFd/IK4g==",
1497 "dev": true,
1498 "requires": {
1499 "JSONStream": "^1.3.4",
1500 "bluebird": "^3.5.1",
1501 "figgy-pudding": "^3.4.1",
1502 "lru-cache": "^5.1.1",
1503 "make-fetch-happen": "^5.0.0",
1504 "npm-package-arg": "^6.1.0",
1505 "safe-buffer": "^5.1.2"
1506 },
1507 "dependencies": {
1508 "lru-cache": {
1509 "version": "5.1.1",
1510 "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
1511 "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
1512 "dev": true,
1513 "requires": {
1514 "yallist": "^3.0.2"
1515 }
1516 }
1517 }
1518 },
1519 "@evocateur/pacote": {
1520 "version": "9.6.5",
1521 "resolved": "https://registry.npmjs.org/@evocateur/pacote/-/pacote-9.6.5.tgz",
1522 "integrity": "sha512-EI552lf0aG2nOV8NnZpTxNo2PcXKPmDbF9K8eCBFQdIZwHNGN/mi815fxtmUMa2wTa1yndotICIDt/V0vpEx2w==",
1523 "dev": true,
1524 "requires": {
1525 "@evocateur/npm-registry-fetch": "^4.0.0",
1526 "bluebird": "^3.5.3",
1527 "cacache": "^12.0.3",
1528 "chownr": "^1.1.2",
1529 "figgy-pudding": "^3.5.1",
1530 "get-stream": "^4.1.0",
1531 "glob": "^7.1.4",
1532 "infer-owner": "^1.0.4",
1533 "lru-cache": "^5.1.1",
1534 "make-fetch-happen": "^5.0.0",
1535 "minimatch": "^3.0.4",
1536 "minipass": "^2.3.5",
1537 "mississippi": "^3.0.0",
1538 "mkdirp": "^0.5.1",
1539 "normalize-package-data": "^2.5.0",
1540 "npm-package-arg": "^6.1.0",
1541 "npm-packlist": "^1.4.4",
1542 "npm-pick-manifest": "^3.0.0",
1543 "osenv": "^0.1.5",
1544 "promise-inflight": "^1.0.1",
1545 "promise-retry": "^1.1.1",
1546 "protoduck": "^5.0.1",
1547 "rimraf": "^2.6.3",
1548 "safe-buffer": "^5.2.0",
1549 "semver": "^5.7.0",
1550 "ssri": "^6.0.1",
1551 "tar": "^4.4.10",
1552 "unique-filename": "^1.1.1",
1553 "which": "^1.3.1"
1554 },
1555 "dependencies": {
1556 "lru-cache": {
1557 "version": "5.1.1",
1558 "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
1559 "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
1560 "dev": true,
1561 "requires": {
1562 "yallist": "^3.0.2"
1563 }
1564 }
1565 }
1566 },
1567 "@felixrieseberg/spellchecker": {
1568 "version": "4.0.10",
1569 "resolved": "https://registry.npmjs.org/@felixrieseberg/spellchecker/-/spellchecker-4.0.10.tgz",
1570 "integrity": "sha512-b+BlHcBXjx+W7yGNAtoVpAv8dvmAQ8Tp2YhNjqxIgocb6Wq1nKLl4jfu9DG60UWC0hTNvvQ74ny9ojiUFNqGSA==",
1571 "requires": {
1572 "nan": "^2.13.2"
1573 }
1574 },
1113 "@fimbul/bifrost": { 1575 "@fimbul/bifrost": {
1114 "version": "0.17.0", 1576 "version": "0.17.0",
1115 "resolved": "https://registry.npmjs.org/@fimbul/bifrost/-/bifrost-0.17.0.tgz", 1577 "resolved": "https://registry.npmjs.org/@fimbul/bifrost/-/bifrost-0.17.0.tgz",
@@ -1123,15 +1585,15 @@
1123 }, 1585 },
1124 "dependencies": { 1586 "dependencies": {
1125 "get-caller-file": { 1587 "get-caller-file": {
1126 "version": "2.0.1", 1588 "version": "2.0.5",
1127 "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.1.tgz", 1589 "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
1128 "integrity": "sha512-SpOZHfz845AH0wJYVuZk2jWDqFmu7Xubsx+ldIpwzy5pDUpu7OJHK7QYNSA2NPlDSKQwM1GFaAkciOWjjW92Sg==", 1590 "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
1129 "dev": true 1591 "dev": true
1130 }, 1592 },
1131 "tsutils": { 1593 "tsutils": {
1132 "version": "3.8.0", 1594 "version": "3.17.1",
1133 "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.8.0.tgz", 1595 "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz",
1134 "integrity": "sha512-XQdPhgcoTbCD8baXC38PQ0vpTZ8T3YrE+vR66YIj/xvDt1//8iAhafpIT/4DmvzzC1QFapEImERu48Pa01dIUA==", 1596 "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==",
1135 "dev": true, 1597 "dev": true,
1136 "requires": { 1598 "requires": {
1137 "tslib": "^1.8.1" 1599 "tslib": "^1.8.1"
@@ -1150,49 +1612,89 @@
1150 "tslib": "^1.8.1" 1612 "tslib": "^1.8.1"
1151 } 1613 }
1152 }, 1614 },
1615 "@hapi/address": {
1616 "version": "2.1.1",
1617 "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.1.tgz",
1618 "integrity": "sha512-DYuHzu978pP1XW1GD3HGvLnAFjbQTIgc2+V153FGkbS2pgo9haigCdwBnUDrbhaOkgiJlbZvoEqDrcxSLHpiWA==",
1619 "dev": true
1620 },
1621 "@hapi/bourne": {
1622 "version": "1.3.2",
1623 "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz",
1624 "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==",
1625 "dev": true
1626 },
1627 "@hapi/hoek": {
1628 "version": "8.2.4",
1629 "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.2.4.tgz",
1630 "integrity": "sha512-Ze5SDNt325yZvNO7s5C4fXDscjJ6dcqLFXJQ/M7dZRQCewuDj2iDUuBi6jLQt+APbW9RjjVEvLr35FXuOEqjow==",
1631 "dev": true
1632 },
1633 "@hapi/joi": {
1634 "version": "15.1.1",
1635 "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz",
1636 "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==",
1637 "dev": true,
1638 "requires": {
1639 "@hapi/address": "2.x.x",
1640 "@hapi/bourne": "1.x.x",
1641 "@hapi/hoek": "8.x.x",
1642 "@hapi/topo": "3.x.x"
1643 }
1644 },
1645 "@hapi/topo": {
1646 "version": "3.1.3",
1647 "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.3.tgz",
1648 "integrity": "sha512-JmS9/vQK6dcUYn7wc2YZTqzIKubAQcJKu2KCKAru6es482U5RT5fP1EXCPtlXpiK7PR0On/kpQKI4fRKkzpZBQ==",
1649 "dev": true,
1650 "requires": {
1651 "@hapi/hoek": "8.x.x"
1652 }
1653 },
1153 "@jest/console": { 1654 "@jest/console": {
1154 "version": "24.7.1", 1655 "version": "24.9.0",
1155 "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.7.1.tgz", 1656 "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz",
1156 "integrity": "sha512-iNhtIy2M8bXlAOULWVTUxmnelTLFneTNEkHCgPmgd+zNwy9zVddJ6oS5rZ9iwoscNdT5mMwUd0C51v/fSlzItg==", 1657 "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==",
1157 "dev": true, 1658 "dev": true,
1158 "requires": { 1659 "requires": {
1159 "@jest/source-map": "^24.3.0", 1660 "@jest/source-map": "^24.9.0",
1160 "chalk": "^2.0.1", 1661 "chalk": "^2.0.1",
1161 "slash": "^2.0.0" 1662 "slash": "^2.0.0"
1162 } 1663 }
1163 }, 1664 },
1164 "@jest/core": { 1665 "@jest/core": {
1165 "version": "24.7.1", 1666 "version": "24.9.0",
1166 "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.7.1.tgz", 1667 "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz",
1167 "integrity": "sha512-ivlZ8HX/FOASfHcb5DJpSPFps8ydfUYzLZfgFFqjkLijYysnIEOieg72YRhO4ZUB32xu40hsSMmaw+IGYeKONA==", 1668 "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==",
1168 "dev": true, 1669 "dev": true,
1169 "requires": { 1670 "requires": {
1170 "@jest/console": "^24.7.1", 1671 "@jest/console": "^24.7.1",
1171 "@jest/reporters": "^24.7.1", 1672 "@jest/reporters": "^24.9.0",
1172 "@jest/test-result": "^24.7.1", 1673 "@jest/test-result": "^24.9.0",
1173 "@jest/transform": "^24.7.1", 1674 "@jest/transform": "^24.9.0",
1174 "@jest/types": "^24.7.0", 1675 "@jest/types": "^24.9.0",
1175 "ansi-escapes": "^3.0.0", 1676 "ansi-escapes": "^3.0.0",
1176 "chalk": "^2.0.1", 1677 "chalk": "^2.0.1",
1177 "exit": "^0.1.2", 1678 "exit": "^0.1.2",
1178 "graceful-fs": "^4.1.15", 1679 "graceful-fs": "^4.1.15",
1179 "jest-changed-files": "^24.7.0", 1680 "jest-changed-files": "^24.9.0",
1180 "jest-config": "^24.7.1", 1681 "jest-config": "^24.9.0",
1181 "jest-haste-map": "^24.7.1", 1682 "jest-haste-map": "^24.9.0",
1182 "jest-message-util": "^24.7.1", 1683 "jest-message-util": "^24.9.0",
1183 "jest-regex-util": "^24.3.0", 1684 "jest-regex-util": "^24.3.0",
1184 "jest-resolve-dependencies": "^24.7.1", 1685 "jest-resolve": "^24.9.0",
1185 "jest-runner": "^24.7.1", 1686 "jest-resolve-dependencies": "^24.9.0",
1186 "jest-runtime": "^24.7.1", 1687 "jest-runner": "^24.9.0",
1187 "jest-snapshot": "^24.7.1", 1688 "jest-runtime": "^24.9.0",
1188 "jest-util": "^24.7.1", 1689 "jest-snapshot": "^24.9.0",
1189 "jest-validate": "^24.7.0", 1690 "jest-util": "^24.9.0",
1190 "jest-watcher": "^24.7.1", 1691 "jest-validate": "^24.9.0",
1692 "jest-watcher": "^24.9.0",
1191 "micromatch": "^3.1.10", 1693 "micromatch": "^3.1.10",
1192 "p-each-series": "^1.0.0", 1694 "p-each-series": "^1.0.0",
1193 "pirates": "^4.0.1",
1194 "realpath-native": "^1.1.0", 1695 "realpath-native": "^1.1.0",
1195 "rimraf": "^2.5.4", 1696 "rimraf": "^2.5.4",
1697 "slash": "^2.0.0",
1196 "strip-ansi": "^5.0.0" 1698 "strip-ansi": "^5.0.0"
1197 }, 1699 },
1198 "dependencies": { 1700 "dependencies": {
@@ -1202,15 +1704,6 @@
1202 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", 1704 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
1203 "dev": true 1705 "dev": true
1204 }, 1706 },
1205 "pirates": {
1206 "version": "4.0.1",
1207 "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
1208 "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
1209 "dev": true,
1210 "requires": {
1211 "node-modules-regexp": "^1.0.0"
1212 }
1213 },
1214 "strip-ansi": { 1707 "strip-ansi": {
1215 "version": "5.2.0", 1708 "version": "5.2.0",
1216 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 1709 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
@@ -1223,60 +1716,61 @@
1223 } 1716 }
1224 }, 1717 },
1225 "@jest/environment": { 1718 "@jest/environment": {
1226 "version": "24.7.1", 1719 "version": "24.9.0",
1227 "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.7.1.tgz", 1720 "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz",
1228 "integrity": "sha512-wmcTTYc4/KqA+U5h1zQd5FXXynfa7VGP2NfF+c6QeGJ7c+2nStgh65RQWNX62SC716dTtqheTRrZl0j+54oGHw==", 1721 "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==",
1229 "dev": true, 1722 "dev": true,
1230 "requires": { 1723 "requires": {
1231 "@jest/fake-timers": "^24.7.1", 1724 "@jest/fake-timers": "^24.9.0",
1232 "@jest/transform": "^24.7.1", 1725 "@jest/transform": "^24.9.0",
1233 "@jest/types": "^24.7.0", 1726 "@jest/types": "^24.9.0",
1234 "jest-mock": "^24.7.0" 1727 "jest-mock": "^24.9.0"
1235 } 1728 }
1236 }, 1729 },
1237 "@jest/fake-timers": { 1730 "@jest/fake-timers": {
1238 "version": "24.7.1", 1731 "version": "24.9.0",
1239 "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.7.1.tgz", 1732 "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz",
1240 "integrity": "sha512-4vSQJDKfR2jScOe12L9282uiwuwQv9Lk7mgrCSZHA9evB9efB/qx8i0KJxsAKtp8fgJYBJdYY7ZU6u3F4/pyjA==", 1733 "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==",
1241 "dev": true, 1734 "dev": true,
1242 "requires": { 1735 "requires": {
1243 "@jest/types": "^24.7.0", 1736 "@jest/types": "^24.9.0",
1244 "jest-message-util": "^24.7.1", 1737 "jest-message-util": "^24.9.0",
1245 "jest-mock": "^24.7.0" 1738 "jest-mock": "^24.9.0"
1246 } 1739 }
1247 }, 1740 },
1248 "@jest/reporters": { 1741 "@jest/reporters": {
1249 "version": "24.7.1", 1742 "version": "24.9.0",
1250 "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.7.1.tgz", 1743 "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz",
1251 "integrity": "sha512-bO+WYNwHLNhrjB9EbPL4kX/mCCG4ZhhfWmO3m4FSpbgr7N83MFejayz30kKjgqr7smLyeaRFCBQMbXpUgnhAJw==", 1744 "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==",
1252 "dev": true, 1745 "dev": true,
1253 "requires": { 1746 "requires": {
1254 "@jest/environment": "^24.7.1", 1747 "@jest/environment": "^24.9.0",
1255 "@jest/test-result": "^24.7.1", 1748 "@jest/test-result": "^24.9.0",
1256 "@jest/transform": "^24.7.1", 1749 "@jest/transform": "^24.9.0",
1257 "@jest/types": "^24.7.0", 1750 "@jest/types": "^24.9.0",
1258 "chalk": "^2.0.1", 1751 "chalk": "^2.0.1",
1259 "exit": "^0.1.2", 1752 "exit": "^0.1.2",
1260 "glob": "^7.1.2", 1753 "glob": "^7.1.2",
1261 "istanbul-api": "^2.1.1",
1262 "istanbul-lib-coverage": "^2.0.2", 1754 "istanbul-lib-coverage": "^2.0.2",
1263 "istanbul-lib-instrument": "^3.0.1", 1755 "istanbul-lib-instrument": "^3.0.1",
1756 "istanbul-lib-report": "^2.0.4",
1264 "istanbul-lib-source-maps": "^3.0.1", 1757 "istanbul-lib-source-maps": "^3.0.1",
1265 "jest-haste-map": "^24.7.1", 1758 "istanbul-reports": "^2.2.6",
1266 "jest-resolve": "^24.7.1", 1759 "jest-haste-map": "^24.9.0",
1267 "jest-runtime": "^24.7.1", 1760 "jest-resolve": "^24.9.0",
1268 "jest-util": "^24.7.1", 1761 "jest-runtime": "^24.9.0",
1762 "jest-util": "^24.9.0",
1269 "jest-worker": "^24.6.0", 1763 "jest-worker": "^24.6.0",
1270 "node-notifier": "^5.2.1", 1764 "node-notifier": "^5.4.2",
1271 "slash": "^2.0.0", 1765 "slash": "^2.0.0",
1272 "source-map": "^0.6.0", 1766 "source-map": "^0.6.0",
1273 "string-length": "^2.0.0" 1767 "string-length": "^2.0.0"
1274 } 1768 }
1275 }, 1769 },
1276 "@jest/source-map": { 1770 "@jest/source-map": {
1277 "version": "24.3.0", 1771 "version": "24.9.0",
1278 "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.3.0.tgz", 1772 "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz",
1279 "integrity": "sha512-zALZt1t2ou8le/crCeeiRYzvdnTzaIlpOWaet45lNSqNJUnXbppUUFR4ZUAlzgDmKee4Q5P/tKXypI1RiHwgag==", 1773 "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==",
1280 "dev": true, 1774 "dev": true,
1281 "requires": { 1775 "requires": {
1282 "callsites": "^3.0.0", 1776 "callsites": "^3.0.0",
@@ -1293,45 +1787,46 @@
1293 } 1787 }
1294 }, 1788 },
1295 "@jest/test-result": { 1789 "@jest/test-result": {
1296 "version": "24.7.1", 1790 "version": "24.9.0",
1297 "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.7.1.tgz", 1791 "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz",
1298 "integrity": "sha512-3U7wITxstdEc2HMfBX7Yx3JZgiNBubwDqQMh+BXmZXHa3G13YWF3p6cK+5g0hGkN3iufg/vGPl3hLxQXD74Npg==", 1792 "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==",
1299 "dev": true, 1793 "dev": true,
1300 "requires": { 1794 "requires": {
1301 "@jest/console": "^24.7.1", 1795 "@jest/console": "^24.9.0",
1302 "@jest/types": "^24.7.0", 1796 "@jest/types": "^24.9.0",
1303 "@types/istanbul-lib-coverage": "^2.0.0" 1797 "@types/istanbul-lib-coverage": "^2.0.0"
1304 } 1798 }
1305 }, 1799 },
1306 "@jest/test-sequencer": { 1800 "@jest/test-sequencer": {
1307 "version": "24.7.1", 1801 "version": "24.9.0",
1308 "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.7.1.tgz", 1802 "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz",
1309 "integrity": "sha512-84HQkCpVZI/G1zq53gHJvSmhUer4aMYp9tTaffW28Ih5OxfCg8hGr3nTSbL1OhVDRrFZwvF+/R9gY6JRkDUpUA==", 1803 "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==",
1310 "dev": true, 1804 "dev": true,
1311 "requires": { 1805 "requires": {
1312 "@jest/test-result": "^24.7.1", 1806 "@jest/test-result": "^24.9.0",
1313 "jest-haste-map": "^24.7.1", 1807 "jest-haste-map": "^24.9.0",
1314 "jest-runner": "^24.7.1", 1808 "jest-runner": "^24.9.0",
1315 "jest-runtime": "^24.7.1" 1809 "jest-runtime": "^24.9.0"
1316 } 1810 }
1317 }, 1811 },
1318 "@jest/transform": { 1812 "@jest/transform": {
1319 "version": "24.7.1", 1813 "version": "24.9.0",
1320 "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.7.1.tgz", 1814 "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz",
1321 "integrity": "sha512-EsOUqP9ULuJ66IkZQhI5LufCHlTbi7hrcllRMUEV/tOgqBVQi93+9qEvkX0n8mYpVXQ8VjwmICeRgg58mrtIEw==", 1815 "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==",
1322 "dev": true, 1816 "dev": true,
1323 "requires": { 1817 "requires": {
1324 "@babel/core": "^7.1.0", 1818 "@babel/core": "^7.1.0",
1325 "@jest/types": "^24.7.0", 1819 "@jest/types": "^24.9.0",
1326 "babel-plugin-istanbul": "^5.1.0", 1820 "babel-plugin-istanbul": "^5.1.0",
1327 "chalk": "^2.0.1", 1821 "chalk": "^2.0.1",
1328 "convert-source-map": "^1.4.0", 1822 "convert-source-map": "^1.4.0",
1329 "fast-json-stable-stringify": "^2.0.0", 1823 "fast-json-stable-stringify": "^2.0.0",
1330 "graceful-fs": "^4.1.15", 1824 "graceful-fs": "^4.1.15",
1331 "jest-haste-map": "^24.7.1", 1825 "jest-haste-map": "^24.9.0",
1332 "jest-regex-util": "^24.3.0", 1826 "jest-regex-util": "^24.9.0",
1333 "jest-util": "^24.7.1", 1827 "jest-util": "^24.9.0",
1334 "micromatch": "^3.1.10", 1828 "micromatch": "^3.1.10",
1829 "pirates": "^4.0.1",
1335 "realpath-native": "^1.1.0", 1830 "realpath-native": "^1.1.0",
1336 "slash": "^2.0.0", 1831 "slash": "^2.0.0",
1337 "source-map": "^0.6.1", 1832 "source-map": "^0.6.1",
@@ -1352,110 +1847,120 @@
1352 } 1847 }
1353 }, 1848 },
1354 "@jest/types": { 1849 "@jest/types": {
1355 "version": "24.7.0", 1850 "version": "24.9.0",
1356 "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.7.0.tgz", 1851 "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz",
1357 "integrity": "sha512-ipJUa2rFWiKoBqMKP63Myb6h9+iT3FHRTF2M8OR6irxWzItisa8i4dcSg14IbvmXUnBlHBlUQPYUHWyX3UPpYA==", 1852 "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==",
1358 "dev": true, 1853 "dev": true,
1359 "requires": { 1854 "requires": {
1360 "@types/istanbul-lib-coverage": "^2.0.0", 1855 "@types/istanbul-lib-coverage": "^2.0.0",
1361 "@types/yargs": "^12.0.9" 1856 "@types/istanbul-reports": "^1.1.1",
1857 "@types/yargs": "^13.0.0"
1362 } 1858 }
1363 }, 1859 },
1364 "@lerna/add": { 1860 "@lerna/add": {
1365 "version": "3.11.0", 1861 "version": "3.16.2",
1366 "resolved": "https://registry.npmjs.org/@lerna/add/-/add-3.11.0.tgz", 1862 "resolved": "https://registry.npmjs.org/@lerna/add/-/add-3.16.2.tgz",
1367 "integrity": "sha512-A2u889e+GeZzL28jCpcN53iHq2cPWVnuy5tv5nvG/MIg0PxoAQOUvphexKsIbqzVd9Damdmv5W0u9kS8y8TTow==", 1863 "integrity": "sha512-RAAaF8aODPogj2Ge9Wj3uxPFIBGpog9M+HwSuq03ZnkkO831AmasCTJDqV+GEpl1U2DvnhZQEwHpWmTT0uUeEw==",
1368 "dev": true, 1864 "dev": true,
1369 "requires": { 1865 "requires": {
1370 "@lerna/bootstrap": "3.11.0", 1866 "@evocateur/pacote": "^9.6.3",
1371 "@lerna/command": "3.11.0", 1867 "@lerna/bootstrap": "3.16.2",
1372 "@lerna/filter-options": "3.11.0", 1868 "@lerna/command": "3.16.0",
1373 "@lerna/npm-conf": "3.7.0", 1869 "@lerna/filter-options": "3.16.0",
1374 "@lerna/validation-error": "3.11.0", 1870 "@lerna/npm-conf": "3.16.0",
1871 "@lerna/validation-error": "3.13.0",
1375 "dedent": "^0.7.0", 1872 "dedent": "^0.7.0",
1376 "npm-package-arg": "^6.1.0", 1873 "npm-package-arg": "^6.1.0",
1377 "p-map": "^1.2.0", 1874 "p-map": "^2.1.0",
1378 "pacote": "^9.4.1", 1875 "semver": "^6.2.0"
1379 "semver": "^5.5.0" 1876 },
1877 "dependencies": {
1878 "semver": {
1879 "version": "6.3.0",
1880 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
1881 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
1882 "dev": true
1883 }
1380 } 1884 }
1381 }, 1885 },
1382 "@lerna/batch-packages": { 1886 "@lerna/batch-packages": {
1383 "version": "3.11.0", 1887 "version": "3.16.0",
1384 "resolved": "https://registry.npmjs.org/@lerna/batch-packages/-/batch-packages-3.11.0.tgz", 1888 "resolved": "https://registry.npmjs.org/@lerna/batch-packages/-/batch-packages-3.16.0.tgz",
1385 "integrity": "sha512-ETO3prVqDZs/cpZo00ij61JEZ8/ADJx1OG/d/KtTdHlyRfQsb09Xzf0w+boimqa8fIqhpM3o5FV9GKd6GQ3iFQ==", 1889 "integrity": "sha512-7AdMkANpubY/FKFI01im01tlx6ygOBJ/0JcixMUWoWP/7Ds3SWQF22ID6fbBr38jUWptYLDs2fagtTDL7YUPuA==",
1386 "dev": true, 1890 "dev": true,
1387 "requires": { 1891 "requires": {
1388 "@lerna/package-graph": "3.11.0", 1892 "@lerna/package-graph": "3.16.0",
1389 "@lerna/validation-error": "3.11.0",
1390 "npmlog": "^4.1.2" 1893 "npmlog": "^4.1.2"
1391 } 1894 }
1392 }, 1895 },
1393 "@lerna/bootstrap": { 1896 "@lerna/bootstrap": {
1394 "version": "3.11.0", 1897 "version": "3.16.2",
1395 "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-3.11.0.tgz", 1898 "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-3.16.2.tgz",
1396 "integrity": "sha512-MqwviGJTy86joqSX2A3fmu2wXLBXc23tHJp5Xu4bVhynPegDnRrA3d9UI80UM3JcuYIQsxT4t2q2LNsZ4VdZKQ==", 1899 "integrity": "sha512-I+gs7eh6rv9Vyd+CwqL7sftRfOOsSzCle8cv/CGlMN7/p7EAVhxEdAw8SYoHIKHzipXszuqqy1Y3opyleD0qdA==",
1397 "dev": true, 1900 "dev": true,
1398 "requires": { 1901 "requires": {
1399 "@lerna/batch-packages": "3.11.0", 1902 "@lerna/batch-packages": "3.16.0",
1400 "@lerna/command": "3.11.0", 1903 "@lerna/command": "3.16.0",
1401 "@lerna/filter-options": "3.11.0", 1904 "@lerna/filter-options": "3.16.0",
1402 "@lerna/has-npm-version": "3.10.0", 1905 "@lerna/has-npm-version": "3.16.0",
1403 "@lerna/npm-install": "3.11.0", 1906 "@lerna/npm-install": "3.16.0",
1404 "@lerna/package-graph": "3.11.0", 1907 "@lerna/package-graph": "3.16.0",
1405 "@lerna/pulse-till-done": "3.11.0", 1908 "@lerna/pulse-till-done": "3.13.0",
1406 "@lerna/rimraf-dir": "3.11.0", 1909 "@lerna/rimraf-dir": "3.14.2",
1407 "@lerna/run-lifecycle": "3.11.0", 1910 "@lerna/run-lifecycle": "3.16.2",
1408 "@lerna/run-parallel-batches": "3.0.0", 1911 "@lerna/run-parallel-batches": "3.16.0",
1409 "@lerna/symlink-binary": "3.11.0", 1912 "@lerna/symlink-binary": "3.16.2",
1410 "@lerna/symlink-dependencies": "3.11.0", 1913 "@lerna/symlink-dependencies": "3.16.2",
1411 "@lerna/validation-error": "3.11.0", 1914 "@lerna/validation-error": "3.13.0",
1412 "dedent": "^0.7.0", 1915 "dedent": "^0.7.0",
1413 "get-port": "^3.2.0", 1916 "get-port": "^4.2.0",
1414 "multimatch": "^2.1.0", 1917 "multimatch": "^3.0.0",
1415 "npm-package-arg": "^6.1.0", 1918 "npm-package-arg": "^6.1.0",
1416 "npmlog": "^4.1.2", 1919 "npmlog": "^4.1.2",
1417 "p-finally": "^1.0.0", 1920 "p-finally": "^1.0.0",
1418 "p-map": "^1.2.0", 1921 "p-map": "^2.1.0",
1419 "p-map-series": "^1.0.0", 1922 "p-map-series": "^1.0.0",
1420 "p-waterfall": "^1.0.0", 1923 "p-waterfall": "^1.0.0",
1421 "read-package-tree": "^5.1.6", 1924 "read-package-tree": "^5.1.6",
1422 "semver": "^5.5.0" 1925 "semver": "^6.2.0"
1423 }, 1926 },
1424 "dependencies": { 1927 "dependencies": {
1425 "mime-types": { 1928 "semver": {
1426 "version": "1.0.2", 1929 "version": "6.3.0",
1427 "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz", 1930 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
1428 "integrity": "sha1-mVrhOSq4r/y/yyZB3QVOlDwNXc4=" 1931 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
1932 "dev": true
1429 } 1933 }
1430 } 1934 }
1431 }, 1935 },
1432 "@lerna/changed": { 1936 "@lerna/changed": {
1433 "version": "3.11.1", 1937 "version": "3.16.4",
1434 "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-3.11.1.tgz", 1938 "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-3.16.4.tgz",
1435 "integrity": "sha512-A21h3DvMjDwhksmCmTQ1+3KPHg7gHVHFs3zC5lR9W+whYlm0JI2Yp70vYnqMv2hPAcJx+2tlCrqJkzCFkNQdqg==", 1939 "integrity": "sha512-NCD7XkK744T23iW0wqKEgF4R9MYmReUbyHCZKopFnsNpQdqumc3SOIvQUAkKCP6hQJmYvxvOieoVgy/CVDpZ5g==",
1436 "dev": true, 1940 "dev": true,
1437 "requires": { 1941 "requires": {
1438 "@lerna/collect-updates": "3.11.0", 1942 "@lerna/collect-updates": "3.16.0",
1439 "@lerna/command": "3.11.0", 1943 "@lerna/command": "3.16.0",
1440 "@lerna/listable": "3.11.0", 1944 "@lerna/listable": "3.16.0",
1441 "@lerna/output": "3.11.0", 1945 "@lerna/output": "3.13.0",
1442 "@lerna/version": "3.11.1" 1946 "@lerna/version": "3.16.4"
1443 } 1947 }
1444 }, 1948 },
1445 "@lerna/check-working-tree": { 1949 "@lerna/check-working-tree": {
1446 "version": "3.11.0", 1950 "version": "3.14.2",
1447 "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-3.11.0.tgz", 1951 "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-3.14.2.tgz",
1448 "integrity": "sha512-uWKKmX4BKdK57MyX3rGNHNz4JmFP3tHnaIDDVeuSlgK5KwncPFyRXi3E9H0eiq6DUvDDLtztNOfWeGP2IY656Q==", 1952 "integrity": "sha512-7safqxM/MYoAoxZxulUDtIJIbnBIgo0PB/FHytueG+9VaX7GMnDte2Bt1EKa0dz2sAyQdmQ3Q8ZXpf/6JDjaeg==",
1449 "dev": true, 1953 "dev": true,
1450 "requires": { 1954 "requires": {
1451 "@lerna/describe-ref": "3.11.0", 1955 "@lerna/collect-uncommitted": "3.14.2",
1452 "@lerna/validation-error": "3.11.0" 1956 "@lerna/describe-ref": "3.14.2",
1957 "@lerna/validation-error": "3.13.0"
1453 } 1958 }
1454 }, 1959 },
1455 "@lerna/child-process": { 1960 "@lerna/child-process": {
1456 "version": "3.3.0", 1961 "version": "3.14.2",
1457 "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-3.3.0.tgz", 1962 "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-3.14.2.tgz",
1458 "integrity": "sha512-q2d/OPlNX/cBXB6Iz1932RFzOmOHq6ZzPjqebkINNaTojHWuuRpvJJY4Uz3NGpJ3kEtPDvBemkZqUBTSO5wb1g==", 1963 "integrity": "sha512-xnq+W5yQb6RkwI0p16ZQnrn6HkloH/MWTw4lGE1nKsBLAUbmSU5oTE93W1nrG0X3IMF/xWc9UYvNdUGMWvZZ4w==",
1459 "dev": true, 1964 "dev": true,
1460 "requires": { 1965 "requires": {
1461 "chalk": "^2.3.1", 1966 "chalk": "^2.3.1",
@@ -1464,472 +1969,738 @@
1464 } 1969 }
1465 }, 1970 },
1466 "@lerna/clean": { 1971 "@lerna/clean": {
1467 "version": "3.11.0", 1972 "version": "3.16.0",
1468 "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-3.11.0.tgz", 1973 "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-3.16.0.tgz",
1469 "integrity": "sha512-sHyMYv56MIVMH79+5vcxHVdgmd8BcsihI+RL2byW+PeoNlyDeGMjTRmnzLmbSD7dkinHGoa5cghlXy9GGIqpRw==", 1974 "integrity": "sha512-5P9U5Y19WmYZr7UAMGXBpY7xCRdlR7zhHy8MAPDKVx70rFIBS6nWXn5n7Kntv74g7Lm1gJ2rsiH5tj1OPcRJgg==",
1470 "dev": true, 1975 "dev": true,
1471 "requires": { 1976 "requires": {
1472 "@lerna/command": "3.11.0", 1977 "@lerna/command": "3.16.0",
1473 "@lerna/filter-options": "3.11.0", 1978 "@lerna/filter-options": "3.16.0",
1474 "@lerna/prompt": "3.11.0", 1979 "@lerna/prompt": "3.13.0",
1475 "@lerna/pulse-till-done": "3.11.0", 1980 "@lerna/pulse-till-done": "3.13.0",
1476 "@lerna/rimraf-dir": "3.11.0", 1981 "@lerna/rimraf-dir": "3.14.2",
1477 "p-map": "^1.2.0", 1982 "p-map": "^2.1.0",
1478 "p-map-series": "^1.0.0", 1983 "p-map-series": "^1.0.0",
1479 "p-waterfall": "^1.0.0" 1984 "p-waterfall": "^1.0.0"
1480 } 1985 }
1481 }, 1986 },
1482 "@lerna/cli": { 1987 "@lerna/cli": {
1483 "version": "3.11.0", 1988 "version": "3.13.0",
1484 "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-3.11.0.tgz", 1989 "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-3.13.0.tgz",
1485 "integrity": "sha512-dn2m2PgUxcb2NyTvwfYOFZf8yN5CMf1uKxht3ajQYdDjRgFi5pUQt/DmdguOZ3CMJkENa0i3yPOmrxGPXLD2aw==", 1990 "integrity": "sha512-HgFGlyCZbYaYrjOr3w/EsY18PdvtsTmDfpUQe8HwDjXlPeCCUgliZjXLOVBxSjiOvPeOSwvopwIHKWQmYbwywg==",
1486 "dev": true, 1991 "dev": true,
1487 "requires": { 1992 "requires": {
1488 "@lerna/global-options": "3.10.6", 1993 "@lerna/global-options": "3.13.0",
1489 "dedent": "^0.7.0", 1994 "dedent": "^0.7.0",
1490 "npmlog": "^4.1.2", 1995 "npmlog": "^4.1.2",
1491 "yargs": "^12.0.1" 1996 "yargs": "^12.0.1"
1492 } 1997 }
1493 }, 1998 },
1999 "@lerna/collect-uncommitted": {
2000 "version": "3.14.2",
2001 "resolved": "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-3.14.2.tgz",
2002 "integrity": "sha512-4EkQu4jIOdNL2BMzy/N0ydHB8+Z6syu6xiiKXOoFl0WoWU9H1jEJCX4TH7CmVxXL1+jcs8FIS2pfQz4oew99Eg==",
2003 "dev": true,
2004 "requires": {
2005 "@lerna/child-process": "3.14.2",
2006 "chalk": "^2.3.1",
2007 "figgy-pudding": "^3.5.1",
2008 "npmlog": "^4.1.2"
2009 }
2010 },
1494 "@lerna/collect-updates": { 2011 "@lerna/collect-updates": {
1495 "version": "3.11.0", 2012 "version": "3.16.0",
1496 "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-3.11.0.tgz", 2013 "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-3.16.0.tgz",
1497 "integrity": "sha512-O0Y18OC2P6j9/RFq+u5Kdq7YxsDd+up3ZRoW6+i0XHWktqxXA9P4JBQppkpYtJVK2yH8QyOzuVLQgtL0xtHdYA==", 2014 "integrity": "sha512-HwAIl815X2TNlmcp28zCrSdXfoZWNP7GJPEqNWYk7xDJTYLqQ+SrmKUePjb3AMGBwYAraZSEJLbHdBpJ5+cHmQ==",
1498 "dev": true, 2015 "dev": true,
1499 "requires": { 2016 "requires": {
1500 "@lerna/child-process": "3.3.0", 2017 "@lerna/child-process": "3.14.2",
1501 "@lerna/describe-ref": "3.11.0", 2018 "@lerna/describe-ref": "3.14.2",
1502 "minimatch": "^3.0.4", 2019 "minimatch": "^3.0.4",
1503 "npmlog": "^4.1.2", 2020 "npmlog": "^4.1.2",
1504 "slash": "^1.0.0" 2021 "slash": "^2.0.0"
1505 },
1506 "dependencies": {
1507 "slash": {
1508 "version": "1.0.0",
1509 "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
1510 "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
1511 "dev": true
1512 }
1513 } 2022 }
1514 }, 2023 },
1515 "@lerna/command": { 2024 "@lerna/command": {
1516 "version": "3.11.0", 2025 "version": "3.16.0",
1517 "resolved": "https://registry.npmjs.org/@lerna/command/-/command-3.11.0.tgz", 2026 "resolved": "https://registry.npmjs.org/@lerna/command/-/command-3.16.0.tgz",
1518 "integrity": "sha512-N+Z5kauVHSb2VhSIfQexG2VlCAAQ9xYKwVTxYh0JFOFUnZ/QPcoqx4VjynDXASFXXDgcXs4FLaGsJxq83Mf5Zg==", 2027 "integrity": "sha512-u7tE4GC4/gfbPA9eQg+0ulnoJ+PMoMqomx033r/IxqZrHtmJR9+pF/37S0fsxJ2hX/RMFPC7c9Q/i8NEufSpdQ==",
1519 "dev": true, 2028 "dev": true,
1520 "requires": { 2029 "requires": {
1521 "@lerna/child-process": "3.3.0", 2030 "@lerna/child-process": "3.14.2",
1522 "@lerna/package-graph": "3.11.0", 2031 "@lerna/package-graph": "3.16.0",
1523 "@lerna/project": "3.11.0", 2032 "@lerna/project": "3.16.0",
1524 "@lerna/validation-error": "3.11.0", 2033 "@lerna/validation-error": "3.13.0",
1525 "@lerna/write-log-file": "3.11.0", 2034 "@lerna/write-log-file": "3.13.0",
1526 "dedent": "^0.7.0", 2035 "dedent": "^0.7.0",
1527 "execa": "^1.0.0", 2036 "execa": "^1.0.0",
1528 "is-ci": "^1.0.10", 2037 "is-ci": "^2.0.0",
1529 "lodash": "^4.17.5", 2038 "lodash": "^4.17.14",
1530 "npmlog": "^4.1.2" 2039 "npmlog": "^4.1.2"
1531 },
1532 "dependencies": {
1533 "ci-info": {
1534 "version": "1.6.0",
1535 "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz",
1536 "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==",
1537 "dev": true
1538 },
1539 "is-ci": {
1540 "version": "1.2.1",
1541 "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz",
1542 "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==",
1543 "dev": true,
1544 "requires": {
1545 "ci-info": "^1.5.0"
1546 }
1547 }
1548 } 2040 }
1549 }, 2041 },
1550 "@lerna/conventional-commits": { 2042 "@lerna/conventional-commits": {
1551 "version": "3.11.0", 2043 "version": "3.16.4",
1552 "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-3.11.0.tgz", 2044 "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-3.16.4.tgz",
1553 "integrity": "sha512-ix1Ki5NiZdk2eMlCWNgLchWPKQTgkJdLeNjneep6OCF3ydSINizReGbFvCftRivun641cOHWswgWMsIxbqhMQw==", 2045 "integrity": "sha512-QSZJ0bC9n6FVaf+7KDIq5zMv8WnHXnwhyL5jG1Nyh3SgOg9q2uflqh7YsYB+G6FwaRfnPaKosh6obijpYg0llA==",
1554 "dev": true, 2046 "dev": true,
1555 "requires": { 2047 "requires": {
1556 "@lerna/validation-error": "3.11.0", 2048 "@lerna/validation-error": "3.13.0",
1557 "conventional-changelog-angular": "^5.0.2", 2049 "conventional-changelog-angular": "^5.0.3",
1558 "conventional-changelog-core": "^3.1.5", 2050 "conventional-changelog-core": "^3.1.6",
1559 "conventional-recommended-bump": "^4.0.4", 2051 "conventional-recommended-bump": "^5.0.0",
1560 "fs-extra": "^7.0.0", 2052 "fs-extra": "^8.1.0",
1561 "get-stream": "^4.0.0", 2053 "get-stream": "^4.0.0",
2054 "lodash.template": "^4.5.0",
1562 "npm-package-arg": "^6.1.0", 2055 "npm-package-arg": "^6.1.0",
1563 "npmlog": "^4.1.2", 2056 "npmlog": "^4.1.2",
1564 "pify": "^3.0.0", 2057 "pify": "^4.0.1",
1565 "semver": "^5.5.0" 2058 "semver": "^6.2.0"
2059 },
2060 "dependencies": {
2061 "conventional-changelog-core": {
2062 "version": "3.2.3",
2063 "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-3.2.3.tgz",
2064 "integrity": "sha512-LMMX1JlxPIq/Ez5aYAYS5CpuwbOk6QFp8O4HLAcZxe3vxoCtABkhfjetk8IYdRB9CDQGwJFLR3Dr55Za6XKgUQ==",
2065 "dev": true,
2066 "requires": {
2067 "conventional-changelog-writer": "^4.0.6",
2068 "conventional-commits-parser": "^3.0.3",
2069 "dateformat": "^3.0.0",
2070 "get-pkg-repo": "^1.0.0",
2071 "git-raw-commits": "2.0.0",
2072 "git-remote-origin-url": "^2.0.0",
2073 "git-semver-tags": "^2.0.3",
2074 "lodash": "^4.2.1",
2075 "normalize-package-data": "^2.3.5",
2076 "q": "^1.5.1",
2077 "read-pkg": "^3.0.0",
2078 "read-pkg-up": "^3.0.0",
2079 "through2": "^3.0.0"
2080 }
2081 },
2082 "fs-extra": {
2083 "version": "8.1.0",
2084 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
2085 "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
2086 "dev": true,
2087 "requires": {
2088 "graceful-fs": "^4.2.0",
2089 "jsonfile": "^4.0.0",
2090 "universalify": "^0.1.0"
2091 }
2092 },
2093 "git-semver-tags": {
2094 "version": "2.0.3",
2095 "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.3.tgz",
2096 "integrity": "sha512-tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA==",
2097 "dev": true,
2098 "requires": {
2099 "meow": "^4.0.0",
2100 "semver": "^6.0.0"
2101 }
2102 },
2103 "pify": {
2104 "version": "4.0.1",
2105 "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
2106 "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
2107 "dev": true
2108 },
2109 "read-pkg": {
2110 "version": "3.0.0",
2111 "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
2112 "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
2113 "dev": true,
2114 "requires": {
2115 "load-json-file": "^4.0.0",
2116 "normalize-package-data": "^2.3.2",
2117 "path-type": "^3.0.0"
2118 }
2119 },
2120 "semver": {
2121 "version": "6.3.0",
2122 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
2123 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
2124 "dev": true
2125 }
1566 } 2126 }
1567 }, 2127 },
1568 "@lerna/create": { 2128 "@lerna/create": {
1569 "version": "3.11.0", 2129 "version": "3.16.0",
1570 "resolved": "https://registry.npmjs.org/@lerna/create/-/create-3.11.0.tgz", 2130 "resolved": "https://registry.npmjs.org/@lerna/create/-/create-3.16.0.tgz",
1571 "integrity": "sha512-1izS82QML+H/itwEu1GPrcoXyugFaP9z9r6KuIQRQq8RtmNCGEmK85aiOw6mukyRcRziq2akALgFDyrundznPQ==", 2131 "integrity": "sha512-OZApR1Iz7awutbmj4sAArwhqCyKgcrnw9rH0aWAUrkYWrD1w4TwkvAcYAsfx5GpQGbLQwoXhoyyPwPfZRRWz3Q==",
1572 "dev": true, 2132 "dev": true,
1573 "requires": { 2133 "requires": {
1574 "@lerna/child-process": "3.3.0", 2134 "@evocateur/pacote": "^9.6.3",
1575 "@lerna/command": "3.11.0", 2135 "@lerna/child-process": "3.14.2",
1576 "@lerna/npm-conf": "3.7.0", 2136 "@lerna/command": "3.16.0",
1577 "@lerna/validation-error": "3.11.0", 2137 "@lerna/npm-conf": "3.16.0",
2138 "@lerna/validation-error": "3.13.0",
1578 "camelcase": "^5.0.0", 2139 "camelcase": "^5.0.0",
1579 "dedent": "^0.7.0", 2140 "dedent": "^0.7.0",
1580 "fs-extra": "^7.0.0", 2141 "fs-extra": "^8.1.0",
1581 "globby": "^8.0.1", 2142 "globby": "^9.2.0",
1582 "init-package-json": "^1.10.3", 2143 "init-package-json": "^1.10.3",
1583 "npm-package-arg": "^6.1.0", 2144 "npm-package-arg": "^6.1.0",
1584 "p-reduce": "^1.0.0", 2145 "p-reduce": "^1.0.0",
1585 "pacote": "^9.4.1", 2146 "pify": "^4.0.1",
1586 "pify": "^3.0.0", 2147 "semver": "^6.2.0",
1587 "semver": "^5.5.0", 2148 "slash": "^2.0.0",
1588 "slash": "^1.0.0",
1589 "validate-npm-package-license": "^3.0.3", 2149 "validate-npm-package-license": "^3.0.3",
1590 "validate-npm-package-name": "^3.0.0", 2150 "validate-npm-package-name": "^3.0.0",
1591 "whatwg-url": "^7.0.0" 2151 "whatwg-url": "^7.0.0"
1592 }, 2152 },
1593 "dependencies": { 2153 "dependencies": {
1594 "slash": { 2154 "fs-extra": {
1595 "version": "1.0.0", 2155 "version": "8.1.0",
1596 "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", 2156 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
1597 "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", 2157 "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
2158 "dev": true,
2159 "requires": {
2160 "graceful-fs": "^4.2.0",
2161 "jsonfile": "^4.0.0",
2162 "universalify": "^0.1.0"
2163 }
2164 },
2165 "pify": {
2166 "version": "4.0.1",
2167 "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
2168 "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
2169 "dev": true
2170 },
2171 "semver": {
2172 "version": "6.3.0",
2173 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
2174 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
1598 "dev": true 2175 "dev": true
2176 },
2177 "whatwg-url": {
2178 "version": "7.0.0",
2179 "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz",
2180 "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==",
2181 "dev": true,
2182 "requires": {
2183 "lodash.sortby": "^4.7.0",
2184 "tr46": "^1.0.1",
2185 "webidl-conversions": "^4.0.2"
2186 }
1599 } 2187 }
1600 } 2188 }
1601 }, 2189 },
1602 "@lerna/create-symlink": { 2190 "@lerna/create-symlink": {
1603 "version": "3.11.0", 2191 "version": "3.16.2",
1604 "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-3.11.0.tgz", 2192 "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-3.16.2.tgz",
1605 "integrity": "sha512-UDR32uos8FIEc1keMKxXj5goZAHpCbpUd4u/btHXymUL9WqIym3cgz2iMr3ZNdZtjdMyUoHup5Dp0zjSgKCaEA==", 2193 "integrity": "sha512-pzXIJp6av15P325sgiIRpsPXLFmkisLhMBCy4764d+7yjf2bzrJ4gkWVMhsv4AdF0NN3OyZ5jjzzTtLNqfR+Jw==",
1606 "dev": true, 2194 "dev": true,
1607 "requires": { 2195 "requires": {
1608 "cmd-shim": "^2.0.2", 2196 "@zkochan/cmd-shim": "^3.1.0",
1609 "fs-extra": "^7.0.0", 2197 "fs-extra": "^8.1.0",
1610 "npmlog": "^4.1.2" 2198 "npmlog": "^4.1.2"
2199 },
2200 "dependencies": {
2201 "fs-extra": {
2202 "version": "8.1.0",
2203 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
2204 "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
2205 "dev": true,
2206 "requires": {
2207 "graceful-fs": "^4.2.0",
2208 "jsonfile": "^4.0.0",
2209 "universalify": "^0.1.0"
2210 }
2211 }
1611 } 2212 }
1612 }, 2213 },
1613 "@lerna/describe-ref": { 2214 "@lerna/describe-ref": {
1614 "version": "3.11.0", 2215 "version": "3.14.2",
1615 "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-3.11.0.tgz", 2216 "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-3.14.2.tgz",
1616 "integrity": "sha512-lX/NVMqeODg4q/igN06L/KjtVUpW1oawh6IgOINy2oqm4RUR+1yDpsdVu3JyZZ4nHB572mJfbW56dl8qoxEVvQ==", 2217 "integrity": "sha512-qa5pzDRK2oBQXNjyRmRnN7E8a78NMYfQjjlRFB0KNHMsT6mCiL9+8kIS39sSE2NqT8p7xVNo2r2KAS8R/m3CoQ==",
1617 "dev": true, 2218 "dev": true,
1618 "requires": { 2219 "requires": {
1619 "@lerna/child-process": "3.3.0", 2220 "@lerna/child-process": "3.14.2",
1620 "npmlog": "^4.1.2" 2221 "npmlog": "^4.1.2"
1621 } 2222 }
1622 }, 2223 },
1623 "@lerna/diff": { 2224 "@lerna/diff": {
1624 "version": "3.11.0", 2225 "version": "3.16.0",
1625 "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-3.11.0.tgz", 2226 "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-3.16.0.tgz",
1626 "integrity": "sha512-r3WASQix31ApA0tlkZejXhS8Z3SEg6Jw9YnKDt9V6wLjEUXGLauUDMrgx1YWu3cs9KB8/hqheRyRI7XAXGJS1w==", 2227 "integrity": "sha512-QUpVs5TPl8vBIne10/vyjUxanQBQQp7Lk3iaB8MnCysKr0O+oy7trWeFVDPEkBTCD177By7yPGyW5Yey1nCBbA==",
1627 "dev": true, 2228 "dev": true,
1628 "requires": { 2229 "requires": {
1629 "@lerna/child-process": "3.3.0", 2230 "@lerna/child-process": "3.14.2",
1630 "@lerna/command": "3.11.0", 2231 "@lerna/command": "3.16.0",
1631 "@lerna/validation-error": "3.11.0", 2232 "@lerna/validation-error": "3.13.0",
1632 "npmlog": "^4.1.2" 2233 "npmlog": "^4.1.2"
1633 } 2234 }
1634 }, 2235 },
1635 "@lerna/exec": { 2236 "@lerna/exec": {
1636 "version": "3.11.0", 2237 "version": "3.16.0",
1637 "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-3.11.0.tgz", 2238 "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-3.16.0.tgz",
1638 "integrity": "sha512-oIkI+Hj74kpsnHhw0qJj12H4XMPSlDbBsshLWY+f3BiwKhn6wkXoQZ1FC8/OVNHM67GtSRv4bkcOaM4ucHm9Hw==", 2239 "integrity": "sha512-mH3O5NXf/O88jBaBBTUf+d56CUkxpg782s3Jxy7HWbVuSUULt3iMRPTh+zEXO5/555etsIVVDDyUR76meklrJA==",
1639 "dev": true, 2240 "dev": true,
1640 "requires": { 2241 "requires": {
1641 "@lerna/batch-packages": "3.11.0", 2242 "@lerna/child-process": "3.14.2",
1642 "@lerna/child-process": "3.3.0", 2243 "@lerna/command": "3.16.0",
1643 "@lerna/command": "3.11.0", 2244 "@lerna/filter-options": "3.16.0",
1644 "@lerna/filter-options": "3.11.0", 2245 "@lerna/run-topologically": "3.16.0",
1645 "@lerna/run-parallel-batches": "3.0.0", 2246 "@lerna/validation-error": "3.13.0",
1646 "@lerna/validation-error": "3.11.0" 2247 "p-map": "^2.1.0"
1647 } 2248 }
1648 }, 2249 },
1649 "@lerna/filter-options": { 2250 "@lerna/filter-options": {
1650 "version": "3.11.0", 2251 "version": "3.16.0",
1651 "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-3.11.0.tgz", 2252 "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-3.16.0.tgz",
1652 "integrity": "sha512-z0krgC/YBqz7i6MGHBsPLvsQ++XEpPdGnIkSpcN0Cjp5J67K9vb5gJ2hWp1c1bitNh3xiwZ69voGqN+DYk1mUg==", 2253 "integrity": "sha512-InIi1fF8+PxpCwir9bIy+pGxrdE6hvN0enIs1eNGCVS1TTE8osNgiZXa838bMQ1yaEccdcnVX6Z03BNKd56kNg==",
1653 "dev": true, 2254 "dev": true,
1654 "requires": { 2255 "requires": {
1655 "@lerna/collect-updates": "3.11.0", 2256 "@lerna/collect-updates": "3.16.0",
1656 "@lerna/filter-packages": "3.11.0", 2257 "@lerna/filter-packages": "3.16.0",
1657 "dedent": "^0.7.0" 2258 "dedent": "^0.7.0"
1658 } 2259 }
1659 }, 2260 },
1660 "@lerna/filter-packages": { 2261 "@lerna/filter-packages": {
1661 "version": "3.11.0", 2262 "version": "3.16.0",
1662 "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-3.11.0.tgz", 2263 "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-3.16.0.tgz",
1663 "integrity": "sha512-bnukkW1M0uMKWqM/m/IHou2PKRyk4fDAksAj3diHc1UVQkH2j8hXOfLl9+CgHA/cnTrf6/LARg8hKujqduqHyA==", 2264 "integrity": "sha512-eGFzQTx0ogkGDCnbTuXqssryR6ilp8+dcXt6B+aq1MaqL/vOJRZyqMm4TY3CUOUnzZCi9S2WWyMw3PnAJOF+kg==",
1664 "dev": true, 2265 "dev": true,
1665 "requires": { 2266 "requires": {
1666 "@lerna/validation-error": "3.11.0", 2267 "@lerna/validation-error": "3.13.0",
1667 "multimatch": "^2.1.0", 2268 "multimatch": "^3.0.0",
1668 "npmlog": "^4.1.2" 2269 "npmlog": "^4.1.2"
1669 } 2270 }
1670 }, 2271 },
1671 "@lerna/get-npm-exec-opts": { 2272 "@lerna/get-npm-exec-opts": {
1672 "version": "3.11.0", 2273 "version": "3.13.0",
1673 "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-3.11.0.tgz", 2274 "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-3.13.0.tgz",
1674 "integrity": "sha512-EDxsbuq2AbB3LWwH/4SOcn4gWOnoIYrSHfITWo7xz/SbEKeHtiva99l424ZRWUJqLPGIpQiMTlmOET2ZEI8WZg==", 2275 "integrity": "sha512-Y0xWL0rg3boVyJk6An/vurKzubyJKtrxYv2sj4bB8Mc5zZ3tqtv0ccbOkmkXKqbzvNNF7VeUt1OJ3DRgtC/QZw==",
1675 "dev": true, 2276 "dev": true,
1676 "requires": { 2277 "requires": {
1677 "npmlog": "^4.1.2" 2278 "npmlog": "^4.1.2"
1678 } 2279 }
1679 }, 2280 },
1680 "@lerna/get-packed": { 2281 "@lerna/get-packed": {
1681 "version": "3.7.0", 2282 "version": "3.16.0",
1682 "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-3.7.0.tgz", 2283 "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-3.16.0.tgz",
1683 "integrity": "sha512-yuFtjsUZIHjeIvIYQ/QuytC+FQcHwo3peB+yGBST2uWCLUCR5rx6knoQcPzbxdFDCuUb5IFccFGd3B1fHFg3RQ==", 2284 "integrity": "sha512-AjsFiaJzo1GCPnJUJZiTW6J1EihrPkc2y3nMu6m3uWFxoleklsSCyImumzVZJssxMi3CPpztj8LmADLedl9kXw==",
1684 "dev": true, 2285 "dev": true,
1685 "requires": { 2286 "requires": {
1686 "fs-extra": "^7.0.0", 2287 "fs-extra": "^8.1.0",
1687 "ssri": "^6.0.1", 2288 "ssri": "^6.0.1",
1688 "tar": "^4.4.8" 2289 "tar": "^4.4.8"
2290 },
2291 "dependencies": {
2292 "fs-extra": {
2293 "version": "8.1.0",
2294 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
2295 "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
2296 "dev": true,
2297 "requires": {
2298 "graceful-fs": "^4.2.0",
2299 "jsonfile": "^4.0.0",
2300 "universalify": "^0.1.0"
2301 }
2302 }
1689 } 2303 }
1690 }, 2304 },
1691 "@lerna/github-client": { 2305 "@lerna/github-client": {
1692 "version": "3.11.0", 2306 "version": "3.16.0",
1693 "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-3.11.0.tgz", 2307 "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-3.16.0.tgz",
1694 "integrity": "sha512-yPMBhzShuth3uJo0kKu84RvgjSZgOYNT8fKfhZmzTeVGuPbYBKlK+UQ6jjpb6E9WW2BVdiUCrFhqIsbK5Lqe7A==", 2308 "integrity": "sha512-IVJjcKjkYaUEPJsDyAblHGEFFNKCRyMagbIDm14L7Ab94ccN6i4TKOqAFEJn2SJHYvKKBdp3Zj2zNlASOMe3DA==",
1695 "dev": true, 2309 "dev": true,
1696 "requires": { 2310 "requires": {
1697 "@lerna/child-process": "3.3.0", 2311 "@lerna/child-process": "3.14.2",
1698 "@octokit/plugin-enterprise-rest": "^2.1.0", 2312 "@octokit/plugin-enterprise-rest": "^3.6.1",
1699 "@octokit/rest": "^16.15.0", 2313 "@octokit/rest": "^16.28.4",
1700 "git-url-parse": "^11.1.2", 2314 "git-url-parse": "^11.1.2",
1701 "npmlog": "^4.1.2" 2315 "npmlog": "^4.1.2"
1702 } 2316 }
1703 }, 2317 },
2318 "@lerna/gitlab-client": {
2319 "version": "3.15.0",
2320 "resolved": "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-3.15.0.tgz",
2321 "integrity": "sha512-OsBvRSejHXUBMgwWQqNoioB8sgzL/Pf1pOUhHKtkiMl6aAWjklaaq5HPMvTIsZPfS6DJ9L5OK2GGZuooP/5c8Q==",
2322 "dev": true,
2323 "requires": {
2324 "node-fetch": "^2.5.0",
2325 "npmlog": "^4.1.2",
2326 "whatwg-url": "^7.0.0"
2327 },
2328 "dependencies": {
2329 "node-fetch": {
2330 "version": "2.6.0",
2331 "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
2332 "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==",
2333 "dev": true
2334 },
2335 "whatwg-url": {
2336 "version": "7.0.0",
2337 "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz",
2338 "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==",
2339 "dev": true,
2340 "requires": {
2341 "lodash.sortby": "^4.7.0",
2342 "tr46": "^1.0.1",
2343 "webidl-conversions": "^4.0.2"
2344 }
2345 }
2346 }
2347 },
1704 "@lerna/global-options": { 2348 "@lerna/global-options": {
1705 "version": "3.10.6", 2349 "version": "3.13.0",
1706 "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-3.10.6.tgz", 2350 "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-3.13.0.tgz",
1707 "integrity": "sha512-k5Xkq1M/uREFC2R9uwN5gcvIgjj4iOXo0YyeEXCMWBiW3j2GL9xN4d1MmAIcrYlAzVYh6kLlWaFWl/rNIneHIw==", 2351 "integrity": "sha512-SlZvh1gVRRzYLVluz9fryY1nJpZ0FHDGB66U9tFfvnnxmueckRQxLopn3tXj3NU1kc3QANT2I5BsQkOqZ4TEFQ==",
1708 "dev": true 2352 "dev": true
1709 }, 2353 },
1710 "@lerna/has-npm-version": { 2354 "@lerna/has-npm-version": {
1711 "version": "3.10.0", 2355 "version": "3.16.0",
1712 "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-3.10.0.tgz", 2356 "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-3.16.0.tgz",
1713 "integrity": "sha512-N4RRYxGeivuaKgPDzrhkQOQs1Sg4tOnxnEe3akfqu1wDA4Ng5V6Y2uW3DbkAjFL3aNJhWF5Vbf7sBsGtfgDQ8w==", 2357 "integrity": "sha512-TIY036dA9J8OyTrZq9J+it2DVKifL65k7hK8HhkUPpitJkw6jwbMObA/8D40LOGgWNPweJWqmlrTbRSwsR7DrQ==",
1714 "dev": true, 2358 "dev": true,
1715 "requires": { 2359 "requires": {
1716 "@lerna/child-process": "3.3.0", 2360 "@lerna/child-process": "3.14.2",
1717 "semver": "^5.5.0" 2361 "semver": "^6.2.0"
2362 },
2363 "dependencies": {
2364 "semver": {
2365 "version": "6.3.0",
2366 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
2367 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
2368 "dev": true
2369 }
1718 } 2370 }
1719 }, 2371 },
1720 "@lerna/import": { 2372 "@lerna/import": {
1721 "version": "3.11.0", 2373 "version": "3.16.0",
1722 "resolved": "https://registry.npmjs.org/@lerna/import/-/import-3.11.0.tgz", 2374 "resolved": "https://registry.npmjs.org/@lerna/import/-/import-3.16.0.tgz",
1723 "integrity": "sha512-WgF0We+4k/MrC1vetT8pt3/SSJPMvXhyPYmL2W9rcvch3zV0IgLyso4tEs8gNbwZorDVEG1KcM+x8TG4v1nV5Q==", 2375 "integrity": "sha512-trsOmGHzw0rL/f8BLNvd+9PjoTkXq2Dt4/V2UCha254hMQaYutbxcYu8iKPxz9x86jSPlH7FpbTkkHXDsoY7Yg==",
1724 "dev": true, 2376 "dev": true,
1725 "requires": { 2377 "requires": {
1726 "@lerna/child-process": "3.3.0", 2378 "@lerna/child-process": "3.14.2",
1727 "@lerna/command": "3.11.0", 2379 "@lerna/command": "3.16.0",
1728 "@lerna/prompt": "3.11.0", 2380 "@lerna/prompt": "3.13.0",
1729 "@lerna/pulse-till-done": "3.11.0", 2381 "@lerna/pulse-till-done": "3.13.0",
1730 "@lerna/validation-error": "3.11.0", 2382 "@lerna/validation-error": "3.13.0",
1731 "dedent": "^0.7.0", 2383 "dedent": "^0.7.0",
1732 "fs-extra": "^7.0.0", 2384 "fs-extra": "^8.1.0",
1733 "p-map-series": "^1.0.0" 2385 "p-map-series": "^1.0.0"
2386 },
2387 "dependencies": {
2388 "fs-extra": {
2389 "version": "8.1.0",
2390 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
2391 "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
2392 "dev": true,
2393 "requires": {
2394 "graceful-fs": "^4.2.0",
2395 "jsonfile": "^4.0.0",
2396 "universalify": "^0.1.0"
2397 }
2398 }
1734 } 2399 }
1735 }, 2400 },
1736 "@lerna/init": { 2401 "@lerna/init": {
1737 "version": "3.11.0", 2402 "version": "3.16.0",
1738 "resolved": "https://registry.npmjs.org/@lerna/init/-/init-3.11.0.tgz", 2403 "resolved": "https://registry.npmjs.org/@lerna/init/-/init-3.16.0.tgz",
1739 "integrity": "sha512-JZC5jpCVJgK34grye52kGWjrYCyh4LB8c0WBLaS8MOUt6rxTtPqubwvCDKPOF2H0Se6awsgEfX4wWNuqiQVpRQ==", 2404 "integrity": "sha512-Ybol/x5xMtBgokx4j7/Y3u0ZmNh0NiSWzBFVaOs2NOJKvuqrWimF67DKVz7yYtTYEjtaMdug64ohFF4jcT/iag==",
1740 "dev": true, 2405 "dev": true,
1741 "requires": { 2406 "requires": {
1742 "@lerna/child-process": "3.3.0", 2407 "@lerna/child-process": "3.14.2",
1743 "@lerna/command": "3.11.0", 2408 "@lerna/command": "3.16.0",
1744 "fs-extra": "^7.0.0", 2409 "fs-extra": "^8.1.0",
1745 "p-map": "^1.2.0", 2410 "p-map": "^2.1.0",
1746 "write-json-file": "^2.3.0" 2411 "write-json-file": "^3.2.0"
2412 },
2413 "dependencies": {
2414 "fs-extra": {
2415 "version": "8.1.0",
2416 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
2417 "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
2418 "dev": true,
2419 "requires": {
2420 "graceful-fs": "^4.2.0",
2421 "jsonfile": "^4.0.0",
2422 "universalify": "^0.1.0"
2423 }
2424 }
1747 } 2425 }
1748 }, 2426 },
1749 "@lerna/link": { 2427 "@lerna/link": {
1750 "version": "3.11.0", 2428 "version": "3.16.2",
1751 "resolved": "https://registry.npmjs.org/@lerna/link/-/link-3.11.0.tgz", 2429 "resolved": "https://registry.npmjs.org/@lerna/link/-/link-3.16.2.tgz",
1752 "integrity": "sha512-QN+kxRWb6P9jrKpE2t6K9sGnFpqy1KOEjf68NpGhmp+J9Yt6Kvz9kG43CWoqg4Zyqqgqgn3NVV2Z7zSDNhdH0g==", 2430 "integrity": "sha512-eCPg5Lo8HT525fIivNoYF3vWghO3UgEVFdbsiPmhzwI7IQyZro5HWYzLtywSAdEog5XZpd2Bbn0CsoHWBB3gww==",
1753 "dev": true, 2431 "dev": true,
1754 "requires": { 2432 "requires": {
1755 "@lerna/command": "3.11.0", 2433 "@lerna/command": "3.16.0",
1756 "@lerna/package-graph": "3.11.0", 2434 "@lerna/package-graph": "3.16.0",
1757 "@lerna/symlink-dependencies": "3.11.0", 2435 "@lerna/symlink-dependencies": "3.16.2",
1758 "p-map": "^1.2.0", 2436 "p-map": "^2.1.0",
1759 "slash": "^1.0.0" 2437 "slash": "^2.0.0"
1760 },
1761 "dependencies": {
1762 "slash": {
1763 "version": "1.0.0",
1764 "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
1765 "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
1766 "dev": true
1767 }
1768 } 2438 }
1769 }, 2439 },
1770 "@lerna/list": { 2440 "@lerna/list": {
1771 "version": "3.11.0", 2441 "version": "3.16.0",
1772 "resolved": "https://registry.npmjs.org/@lerna/list/-/list-3.11.0.tgz", 2442 "resolved": "https://registry.npmjs.org/@lerna/list/-/list-3.16.0.tgz",
1773 "integrity": "sha512-hBAwZzEzF1LQOOB2/5vQkal/nSriuJbLY39BitIGkUxifsmu7JK0k3LYrwe1sxXv5SMf2HDaTLr+Z23mUslhaQ==", 2443 "integrity": "sha512-TkvstoPsgKqqQ0KfRumpsdMXfRSEhdXqOLq519XyI5IRWYxhoqXqfi8gG37UoBPhBNoe64japn5OjphF3rOmQA==",
1774 "dev": true, 2444 "dev": true,
1775 "requires": { 2445 "requires": {
1776 "@lerna/command": "3.11.0", 2446 "@lerna/command": "3.16.0",
1777 "@lerna/filter-options": "3.11.0", 2447 "@lerna/filter-options": "3.16.0",
1778 "@lerna/listable": "3.11.0", 2448 "@lerna/listable": "3.16.0",
1779 "@lerna/output": "3.11.0" 2449 "@lerna/output": "3.13.0"
1780 } 2450 }
1781 }, 2451 },
1782 "@lerna/listable": { 2452 "@lerna/listable": {
1783 "version": "3.11.0", 2453 "version": "3.16.0",
1784 "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-3.11.0.tgz", 2454 "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-3.16.0.tgz",
1785 "integrity": "sha512-nCrtGSS3YiAlh5dU5mmTAU9aLRlmIUn2FnahqsksN2uQ5O4o+614tneDuO298/eWLZo00eGw69EFngaQEl8quw==", 2455 "integrity": "sha512-mtdAT2EEECqrJSDm/aXlOUFr1MRE4p6hppzY//Klp05CogQy6uGaKk+iKG5yyCLaOXFFZvG4HfO11CmoGSDWzw==",
1786 "dev": true, 2456 "dev": true,
1787 "requires": { 2457 "requires": {
1788 "@lerna/batch-packages": "3.11.0", 2458 "@lerna/query-graph": "3.16.0",
1789 "chalk": "^2.3.1", 2459 "chalk": "^2.3.1",
1790 "columnify": "^1.5.4" 2460 "columnify": "^1.5.4"
1791 } 2461 }
1792 }, 2462 },
1793 "@lerna/log-packed": { 2463 "@lerna/log-packed": {
1794 "version": "3.11.0", 2464 "version": "3.16.0",
1795 "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-3.11.0.tgz", 2465 "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-3.16.0.tgz",
1796 "integrity": "sha512-TH//81TzSTMuNzJIQE7zqu+ymI5rH25jdEdmbYEWmaJ+T42GMQXKxP8cj2m+fWRaDML8ta0uzBOm5PKHdgoFYQ==", 2466 "integrity": "sha512-Fp+McSNBV/P2mnLUYTaSlG8GSmpXM7krKWcllqElGxvAqv6chk2K3c2k80MeVB4WvJ9tRjUUf+i7HUTiQ9/ckQ==",
1797 "dev": true, 2467 "dev": true,
1798 "requires": { 2468 "requires": {
1799 "byte-size": "^4.0.3", 2469 "byte-size": "^5.0.1",
1800 "columnify": "^1.5.4", 2470 "columnify": "^1.5.4",
1801 "has-unicode": "^2.0.1", 2471 "has-unicode": "^2.0.1",
1802 "npmlog": "^4.1.2" 2472 "npmlog": "^4.1.2"
1803 } 2473 }
1804 }, 2474 },
1805 "@lerna/npm-conf": { 2475 "@lerna/npm-conf": {
1806 "version": "3.7.0", 2476 "version": "3.16.0",
1807 "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-3.7.0.tgz", 2477 "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-3.16.0.tgz",
1808 "integrity": "sha512-+WSMDfPKcKzMfqq283ydz9RRpOU6p9wfx0wy4hVSUY/6YUpsyuk8SShjcRtY8zTM5AOrxvFBuuV90H4YpZ5+Ng==", 2478 "integrity": "sha512-HbO3DUrTkCAn2iQ9+FF/eisDpWY5POQAOF1m7q//CZjdC2HSW3UYbKEGsSisFxSfaF9Z4jtrV+F/wX6qWs3CuA==",
1809 "dev": true, 2479 "dev": true,
1810 "requires": { 2480 "requires": {
1811 "config-chain": "^1.1.11", 2481 "config-chain": "^1.1.11",
1812 "pify": "^3.0.0" 2482 "pify": "^4.0.1"
2483 },
2484 "dependencies": {
2485 "pify": {
2486 "version": "4.0.1",
2487 "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
2488 "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
2489 "dev": true
2490 }
1813 } 2491 }
1814 }, 2492 },
1815 "@lerna/npm-dist-tag": { 2493 "@lerna/npm-dist-tag": {
1816 "version": "3.11.0", 2494 "version": "3.16.0",
1817 "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-3.11.0.tgz", 2495 "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-3.16.0.tgz",
1818 "integrity": "sha512-WqZcyDb+wiqAKRFcYEK6R8AQfspyro85zGGHyjYw6ZPNgJX3qhwtQ+MidDmOesi2p5/0GfeVSWega+W7fPzVpg==", 2496 "integrity": "sha512-MQrBkqJJB9+eNphuj9w90QPMOs4NQXMuSRk9NqzeFunOmdDopPCV0Q7IThSxEuWnhJ2n3B7G0vWUP7tNMPdqIQ==",
1819 "dev": true, 2497 "dev": true,
1820 "requires": { 2498 "requires": {
2499 "@evocateur/npm-registry-fetch": "^4.0.0",
2500 "@lerna/otplease": "3.16.0",
1821 "figgy-pudding": "^3.5.1", 2501 "figgy-pudding": "^3.5.1",
1822 "npm-package-arg": "^6.1.0", 2502 "npm-package-arg": "^6.1.0",
1823 "npm-registry-fetch": "^3.9.0",
1824 "npmlog": "^4.1.2" 2503 "npmlog": "^4.1.2"
1825 } 2504 }
1826 }, 2505 },
1827 "@lerna/npm-install": { 2506 "@lerna/npm-install": {
1828 "version": "3.11.0", 2507 "version": "3.16.0",
1829 "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-3.11.0.tgz", 2508 "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-3.16.0.tgz",
1830 "integrity": "sha512-iNKEgFvFHMmBqn9AnFye2rv7CdUBlYciwWSTNtpfVqtOnoL/lg+4A774oL4PDoxTCGmougztyxMkqLVSBYXTpw==", 2509 "integrity": "sha512-APUOIilZCzDzce92uLEwzt1r7AEMKT/hWA1ThGJL+PO9Rn8A95Km3o2XZAYG4W0hR+P4O2nSVuKbsjQtz8CjFQ==",
1831 "dev": true, 2510 "dev": true,
1832 "requires": { 2511 "requires": {
1833 "@lerna/child-process": "3.3.0", 2512 "@lerna/child-process": "3.14.2",
1834 "@lerna/get-npm-exec-opts": "3.11.0", 2513 "@lerna/get-npm-exec-opts": "3.13.0",
1835 "fs-extra": "^7.0.0", 2514 "fs-extra": "^8.1.0",
1836 "npm-package-arg": "^6.1.0", 2515 "npm-package-arg": "^6.1.0",
1837 "npmlog": "^4.1.2", 2516 "npmlog": "^4.1.2",
1838 "signal-exit": "^3.0.2", 2517 "signal-exit": "^3.0.2",
1839 "write-pkg": "^3.1.0" 2518 "write-pkg": "^3.1.0"
2519 },
2520 "dependencies": {
2521 "fs-extra": {
2522 "version": "8.1.0",
2523 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
2524 "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
2525 "dev": true,
2526 "requires": {
2527 "graceful-fs": "^4.2.0",
2528 "jsonfile": "^4.0.0",
2529 "universalify": "^0.1.0"
2530 }
2531 }
1840 } 2532 }
1841 }, 2533 },
1842 "@lerna/npm-publish": { 2534 "@lerna/npm-publish": {
1843 "version": "3.11.0", 2535 "version": "3.16.2",
1844 "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-3.11.0.tgz", 2536 "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-3.16.2.tgz",
1845 "integrity": "sha512-wgbb55gUXRlP8uTe60oW6c06ZhquaJu9xbi2vWNpb5Fmjh/KbZ2iNm9Kj2ciZlvb8D+k4Oc3qV7slBGxyMm8wg==", 2537 "integrity": "sha512-tGMb9vfTxP57vUV5svkBQxd5Tzc+imZbu9ZYf8Mtwe0+HYfDjNiiHLIQw7G95w4YRdc5KsCE8sQ0uSj+f2soIg==",
1846 "dev": true, 2538 "dev": true,
1847 "requires": { 2539 "requires": {
1848 "@lerna/run-lifecycle": "3.11.0", 2540 "@evocateur/libnpmpublish": "^1.2.2",
2541 "@lerna/otplease": "3.16.0",
2542 "@lerna/run-lifecycle": "3.16.2",
1849 "figgy-pudding": "^3.5.1", 2543 "figgy-pudding": "^3.5.1",
1850 "fs-extra": "^7.0.0", 2544 "fs-extra": "^8.1.0",
1851 "libnpmpublish": "^1.1.1", 2545 "npm-package-arg": "^6.1.0",
1852 "npmlog": "^4.1.2", 2546 "npmlog": "^4.1.2",
1853 "pify": "^3.0.0", 2547 "pify": "^4.0.1",
1854 "read-package-json": "^2.0.13" 2548 "read-package-json": "^2.0.13"
2549 },
2550 "dependencies": {
2551 "fs-extra": {
2552 "version": "8.1.0",
2553 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
2554 "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
2555 "dev": true,
2556 "requires": {
2557 "graceful-fs": "^4.2.0",
2558 "jsonfile": "^4.0.0",
2559 "universalify": "^0.1.0"
2560 }
2561 },
2562 "pify": {
2563 "version": "4.0.1",
2564 "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
2565 "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
2566 "dev": true
2567 }
1855 } 2568 }
1856 }, 2569 },
1857 "@lerna/npm-run-script": { 2570 "@lerna/npm-run-script": {
1858 "version": "3.11.0", 2571 "version": "3.14.2",
1859 "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-3.11.0.tgz", 2572 "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-3.14.2.tgz",
1860 "integrity": "sha512-cLnTMrRQlK/N5bCr6joOFMBfRyW2EbMdk3imtjHk0LwZxsvQx3naAPUB/2RgNfC8fGf/yHF/0bmBrpb5sa2IlA==", 2573 "integrity": "sha512-LbVFv+nvAoRTYLMrJlJ8RiakHXrLslL7Jp/m1R18vYrB8LYWA3ey+nz5Tel2OELzmjUiemAKZsD9h6i+Re5egg==",
1861 "dev": true, 2574 "dev": true,
1862 "requires": { 2575 "requires": {
1863 "@lerna/child-process": "3.3.0", 2576 "@lerna/child-process": "3.14.2",
1864 "@lerna/get-npm-exec-opts": "3.11.0", 2577 "@lerna/get-npm-exec-opts": "3.13.0",
1865 "npmlog": "^4.1.2" 2578 "npmlog": "^4.1.2"
1866 } 2579 }
1867 }, 2580 },
2581 "@lerna/otplease": {
2582 "version": "3.16.0",
2583 "resolved": "https://registry.npmjs.org/@lerna/otplease/-/otplease-3.16.0.tgz",
2584 "integrity": "sha512-uqZ15wYOHC+/V0WnD2iTLXARjvx3vNrpiIeyIvVlDB7rWse9mL4egex/QSgZ+lDx1OID7l2kgvcUD9cFpbqB7Q==",
2585 "dev": true,
2586 "requires": {
2587 "@lerna/prompt": "3.13.0",
2588 "figgy-pudding": "^3.5.1"
2589 }
2590 },
1868 "@lerna/output": { 2591 "@lerna/output": {
1869 "version": "3.11.0", 2592 "version": "3.13.0",
1870 "resolved": "https://registry.npmjs.org/@lerna/output/-/output-3.11.0.tgz", 2593 "resolved": "https://registry.npmjs.org/@lerna/output/-/output-3.13.0.tgz",
1871 "integrity": "sha512-xHYGcEaZZ4cR0Jw368QgUgFvV27a6ZO5360BMNGNsjCjuY0aOPQC5+lBhgfydJtJteKjDna853PSjBK3uMhEjw==", 2594 "integrity": "sha512-7ZnQ9nvUDu/WD+bNsypmPG5MwZBwu86iRoiW6C1WBuXXDxM5cnIAC1m2WxHeFnjyMrYlRXM9PzOQ9VDD+C15Rg==",
1872 "dev": true, 2595 "dev": true,
1873 "requires": { 2596 "requires": {
1874 "npmlog": "^4.1.2" 2597 "npmlog": "^4.1.2"
1875 } 2598 }
1876 }, 2599 },
1877 "@lerna/pack-directory": { 2600 "@lerna/pack-directory": {
1878 "version": "3.11.0", 2601 "version": "3.16.4",
1879 "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-3.11.0.tgz", 2602 "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-3.16.4.tgz",
1880 "integrity": "sha512-bgA3TxZx5AyZeqUadSPspktdecW7nIpg/ODq0o0gKFr7j+DC9Fqu8vQa2xmFSKsXDtOYkCV0jox6Ox9XSFSM3A==", 2603 "integrity": "sha512-uxSF0HZeGyKaaVHz5FroDY9A5NDDiCibrbYR6+khmrhZtY0Bgn6hWq8Gswl9iIlymA+VzCbshWIMX4o2O8C8ng==",
1881 "dev": true, 2604 "dev": true,
1882 "requires": { 2605 "requires": {
1883 "@lerna/get-packed": "3.7.0", 2606 "@lerna/get-packed": "3.16.0",
1884 "@lerna/package": "3.11.0", 2607 "@lerna/package": "3.16.0",
1885 "@lerna/run-lifecycle": "3.11.0", 2608 "@lerna/run-lifecycle": "3.16.2",
1886 "figgy-pudding": "^3.5.1", 2609 "figgy-pudding": "^3.5.1",
1887 "npm-packlist": "^1.1.12", 2610 "npm-packlist": "^1.4.4",
1888 "npmlog": "^4.1.2", 2611 "npmlog": "^4.1.2",
1889 "tar": "^4.4.8", 2612 "tar": "^4.4.10",
1890 "temp-write": "^3.4.0" 2613 "temp-write": "^3.4.0"
1891 } 2614 }
1892 }, 2615 },
1893 "@lerna/package": { 2616 "@lerna/package": {
1894 "version": "3.11.0", 2617 "version": "3.16.0",
1895 "resolved": "https://registry.npmjs.org/@lerna/package/-/package-3.11.0.tgz", 2618 "resolved": "https://registry.npmjs.org/@lerna/package/-/package-3.16.0.tgz",
1896 "integrity": "sha512-hMzBhFEubhg+Tis5C8skwIfgOk+GTl0qudvzfPU9gQqLV8u4/Hs6mka6N0rKgbUb4VFVc5MJVe1eZ6Rv+kJAWw==", 2619 "integrity": "sha512-2lHBWpaxcBoiNVbtyLtPUuTYEaB/Z+eEqRS9duxpZs6D+mTTZMNy6/5vpEVSCBmzvdYpyqhqaYjjSLvjjr5Riw==",
1897 "dev": true, 2620 "dev": true,
1898 "requires": { 2621 "requires": {
1899 "load-json-file": "^4.0.0", 2622 "load-json-file": "^5.3.0",
1900 "npm-package-arg": "^6.1.0", 2623 "npm-package-arg": "^6.1.0",
1901 "write-pkg": "^3.1.0" 2624 "write-pkg": "^3.1.0"
2625 },
2626 "dependencies": {
2627 "load-json-file": {
2628 "version": "5.3.0",
2629 "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz",
2630 "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==",
2631 "dev": true,
2632 "requires": {
2633 "graceful-fs": "^4.1.15",
2634 "parse-json": "^4.0.0",
2635 "pify": "^4.0.1",
2636 "strip-bom": "^3.0.0",
2637 "type-fest": "^0.3.0"
2638 }
2639 },
2640 "pify": {
2641 "version": "4.0.1",
2642 "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
2643 "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
2644 "dev": true
2645 }
1902 } 2646 }
1903 }, 2647 },
1904 "@lerna/package-graph": { 2648 "@lerna/package-graph": {
1905 "version": "3.11.0", 2649 "version": "3.16.0",
1906 "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-3.11.0.tgz", 2650 "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-3.16.0.tgz",
1907 "integrity": "sha512-ICYiOZvCfcmeH1qfzOkFYh0t0QA56OddQfI3ydxCiWi5G+UupJXnCIWSTh3edTAtw/kyxhCOWny/PJsG4CQfjA==", 2651 "integrity": "sha512-A2mum/gNbv7zCtAwJqoxzqv89As73OQNK2MgSX1SHWya46qoxO9a9Z2c5lOFQ8UFN5ZxqWMfFYXRCz7qzwmFXw==",
1908 "dev": true, 2652 "dev": true,
1909 "requires": { 2653 "requires": {
1910 "@lerna/validation-error": "3.11.0", 2654 "@lerna/prerelease-id-from-version": "3.16.0",
2655 "@lerna/validation-error": "3.13.0",
1911 "npm-package-arg": "^6.1.0", 2656 "npm-package-arg": "^6.1.0",
1912 "semver": "^5.5.0" 2657 "npmlog": "^4.1.2",
2658 "semver": "^6.2.0"
2659 },
2660 "dependencies": {
2661 "semver": {
2662 "version": "6.3.0",
2663 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
2664 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
2665 "dev": true
2666 }
2667 }
2668 },
2669 "@lerna/prerelease-id-from-version": {
2670 "version": "3.16.0",
2671 "resolved": "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-3.16.0.tgz",
2672 "integrity": "sha512-qZyeUyrE59uOK8rKdGn7jQz+9uOpAaF/3hbslJVFL1NqF9ELDTqjCPXivuejMX/lN4OgD6BugTO4cR7UTq/sZA==",
2673 "dev": true,
2674 "requires": {
2675 "semver": "^6.2.0"
2676 },
2677 "dependencies": {
2678 "semver": {
2679 "version": "6.3.0",
2680 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
2681 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
2682 "dev": true
2683 }
1913 } 2684 }
1914 }, 2685 },
1915 "@lerna/project": { 2686 "@lerna/project": {
1916 "version": "3.11.0", 2687 "version": "3.16.0",
1917 "resolved": "https://registry.npmjs.org/@lerna/project/-/project-3.11.0.tgz", 2688 "resolved": "https://registry.npmjs.org/@lerna/project/-/project-3.16.0.tgz",
1918 "integrity": "sha512-j3DGds+q/q2YNpoBImaEsMpkWgu5gP0IGKz1o1Ju39NZKrTPza+ARIzEByL4Jqu87tcoOj7RbZzhhrBP8JBbTg==", 2689 "integrity": "sha512-NrKcKK1EqXqhrGvslz6Q36+ZHuK3zlDhGdghRqnxDcHxMPT01NgLcmsnymmQ+gjMljuLRmvKYYCuHrknzX8VrA==",
1919 "dev": true, 2690 "dev": true,
1920 "requires": { 2691 "requires": {
1921 "@lerna/package": "3.11.0", 2692 "@lerna/package": "3.16.0",
1922 "@lerna/validation-error": "3.11.0", 2693 "@lerna/validation-error": "3.13.0",
1923 "cosmiconfig": "^5.0.2", 2694 "cosmiconfig": "^5.1.0",
1924 "dedent": "^0.7.0", 2695 "dedent": "^0.7.0",
1925 "dot-prop": "^4.2.0", 2696 "dot-prop": "^4.2.0",
1926 "glob-parent": "^3.1.0", 2697 "glob-parent": "^5.0.0",
1927 "globby": "^8.0.1", 2698 "globby": "^9.2.0",
1928 "load-json-file": "^4.0.0", 2699 "load-json-file": "^5.3.0",
1929 "npmlog": "^4.1.2", 2700 "npmlog": "^4.1.2",
1930 "p-map": "^1.2.0", 2701 "p-map": "^2.1.0",
1931 "resolve-from": "^4.0.0", 2702 "resolve-from": "^4.0.0",
1932 "write-json-file": "^2.3.0" 2703 "write-json-file": "^3.2.0"
1933 }, 2704 },
1934 "dependencies": { 2705 "dependencies": {
1935 "dot-prop": { 2706 "dot-prop": {
@@ -1941,6 +2712,34 @@
1941 "is-obj": "^1.0.0" 2712 "is-obj": "^1.0.0"
1942 } 2713 }
1943 }, 2714 },
2715 "glob-parent": {
2716 "version": "5.0.0",
2717 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz",
2718 "integrity": "sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==",
2719 "dev": true,
2720 "requires": {
2721 "is-glob": "^4.0.1"
2722 }
2723 },
2724 "load-json-file": {
2725 "version": "5.3.0",
2726 "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz",
2727 "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==",
2728 "dev": true,
2729 "requires": {
2730 "graceful-fs": "^4.1.15",
2731 "parse-json": "^4.0.0",
2732 "pify": "^4.0.1",
2733 "strip-bom": "^3.0.0",
2734 "type-fest": "^0.3.0"
2735 }
2736 },
2737 "pify": {
2738 "version": "4.0.1",
2739 "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
2740 "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
2741 "dev": true
2742 },
1944 "resolve-from": { 2743 "resolve-from": {
1945 "version": "4.0.0", 2744 "version": "4.0.0",
1946 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 2745 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -1950,9 +2749,9 @@
1950 } 2749 }
1951 }, 2750 },
1952 "@lerna/prompt": { 2751 "@lerna/prompt": {
1953 "version": "3.11.0", 2752 "version": "3.13.0",
1954 "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-3.11.0.tgz", 2753 "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-3.13.0.tgz",
1955 "integrity": "sha512-SB/wvyDPQASze9txd+8/t24p6GiJuhhL30zxuRwvVwER5lIJR7kaXy1KhQ7kUAKPlNTVfCBm3GXReIMl4jhGhw==", 2754 "integrity": "sha512-P+lWSFokdyvYpkwC3it9cE0IF2U5yy2mOUbGvvE4iDb9K7TyXGE+7lwtx2thtPvBAfIb7O13POMkv7df03HJeA==",
1956 "dev": true, 2755 "dev": true,
1957 "requires": { 2756 "requires": {
1958 "inquirer": "^6.2.0", 2757 "inquirer": "^6.2.0",
@@ -1960,198 +2759,278 @@
1960 } 2759 }
1961 }, 2760 },
1962 "@lerna/publish": { 2761 "@lerna/publish": {
1963 "version": "3.11.1", 2762 "version": "3.16.4",
1964 "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-3.11.1.tgz", 2763 "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-3.16.4.tgz",
1965 "integrity": "sha512-UOvmSivuqzWoiTqoYWk+liPDZvC6O7NrT8DwoG2peRvjIPs5RKYMubwXPOrBBVVE+yX/vR6V1Y3o6vf3av52dg==", 2764 "integrity": "sha512-XZY+gRuF7/v6PDQwl7lvZaGWs8CnX6WIPIu+OCcyFPSL/rdWegdN7HieKBHskgX798qRQc2GrveaY7bNoTKXAw==",
1966 "dev": true, 2765 "dev": true,
1967 "requires": { 2766 "requires": {
1968 "@lerna/batch-packages": "3.11.0", 2767 "@evocateur/libnpmaccess": "^3.1.2",
1969 "@lerna/check-working-tree": "3.11.0", 2768 "@evocateur/npm-registry-fetch": "^4.0.0",
1970 "@lerna/child-process": "3.3.0", 2769 "@evocateur/pacote": "^9.6.3",
1971 "@lerna/collect-updates": "3.11.0", 2770 "@lerna/check-working-tree": "3.14.2",
1972 "@lerna/command": "3.11.0", 2771 "@lerna/child-process": "3.14.2",
1973 "@lerna/describe-ref": "3.11.0", 2772 "@lerna/collect-updates": "3.16.0",
1974 "@lerna/log-packed": "3.11.0", 2773 "@lerna/command": "3.16.0",
1975 "@lerna/npm-conf": "3.7.0", 2774 "@lerna/describe-ref": "3.14.2",
1976 "@lerna/npm-dist-tag": "3.11.0", 2775 "@lerna/log-packed": "3.16.0",
1977 "@lerna/npm-publish": "3.11.0", 2776 "@lerna/npm-conf": "3.16.0",
1978 "@lerna/output": "3.11.0", 2777 "@lerna/npm-dist-tag": "3.16.0",
1979 "@lerna/pack-directory": "3.11.0", 2778 "@lerna/npm-publish": "3.16.2",
1980 "@lerna/prompt": "3.11.0", 2779 "@lerna/otplease": "3.16.0",
1981 "@lerna/pulse-till-done": "3.11.0", 2780 "@lerna/output": "3.13.0",
1982 "@lerna/run-lifecycle": "3.11.0", 2781 "@lerna/pack-directory": "3.16.4",
1983 "@lerna/run-parallel-batches": "3.0.0", 2782 "@lerna/prerelease-id-from-version": "3.16.0",
1984 "@lerna/validation-error": "3.11.0", 2783 "@lerna/prompt": "3.13.0",
1985 "@lerna/version": "3.11.1", 2784 "@lerna/pulse-till-done": "3.13.0",
2785 "@lerna/run-lifecycle": "3.16.2",
2786 "@lerna/run-topologically": "3.16.0",
2787 "@lerna/validation-error": "3.13.0",
2788 "@lerna/version": "3.16.4",
1986 "figgy-pudding": "^3.5.1", 2789 "figgy-pudding": "^3.5.1",
1987 "fs-extra": "^7.0.0", 2790 "fs-extra": "^8.1.0",
1988 "libnpmaccess": "^3.0.1",
1989 "npm-package-arg": "^6.1.0", 2791 "npm-package-arg": "^6.1.0",
1990 "npm-registry-fetch": "^3.9.0",
1991 "npmlog": "^4.1.2", 2792 "npmlog": "^4.1.2",
1992 "p-finally": "^1.0.0", 2793 "p-finally": "^1.0.0",
1993 "p-map": "^1.2.0", 2794 "p-map": "^2.1.0",
1994 "p-pipe": "^1.2.0", 2795 "p-pipe": "^1.2.0",
1995 "p-reduce": "^1.0.0", 2796 "semver": "^6.2.0"
1996 "pacote": "^9.4.1", 2797 },
1997 "semver": "^5.5.0" 2798 "dependencies": {
2799 "fs-extra": {
2800 "version": "8.1.0",
2801 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
2802 "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
2803 "dev": true,
2804 "requires": {
2805 "graceful-fs": "^4.2.0",
2806 "jsonfile": "^4.0.0",
2807 "universalify": "^0.1.0"
2808 }
2809 },
2810 "semver": {
2811 "version": "6.3.0",
2812 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
2813 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
2814 "dev": true
2815 }
1998 } 2816 }
1999 }, 2817 },
2000 "@lerna/pulse-till-done": { 2818 "@lerna/pulse-till-done": {
2001 "version": "3.11.0", 2819 "version": "3.13.0",
2002 "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-3.11.0.tgz", 2820 "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-3.13.0.tgz",
2003 "integrity": "sha512-nMwBa6S4+VI/ketN92oj1xr8y74Fz4ul2R5jdbrRqLLEU/IMBWIqn6NRM2P+OQBoLpPZ2MdWENLJVFNN8X1Q+A==", 2821 "integrity": "sha512-1SOHpy7ZNTPulzIbargrgaJX387csN7cF1cLOGZiJQA6VqnS5eWs2CIrG8i8wmaUavj2QlQ5oEbRMVVXSsGrzA==",
2004 "dev": true, 2822 "dev": true,
2005 "requires": { 2823 "requires": {
2006 "npmlog": "^4.1.2" 2824 "npmlog": "^4.1.2"
2007 } 2825 }
2008 }, 2826 },
2827 "@lerna/query-graph": {
2828 "version": "3.16.0",
2829 "resolved": "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-3.16.0.tgz",
2830 "integrity": "sha512-p0RO+xmHDO95ChJdWkcy9TNLysLkoDARXeRHzY5U54VCwl3Ot/2q8fMCVlA5UeGXDutEyyByl3URqEpcQCWI7Q==",
2831 "dev": true,
2832 "requires": {
2833 "@lerna/package-graph": "3.16.0",
2834 "figgy-pudding": "^3.5.1"
2835 }
2836 },
2009 "@lerna/resolve-symlink": { 2837 "@lerna/resolve-symlink": {
2010 "version": "3.11.0", 2838 "version": "3.16.0",
2011 "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-3.11.0.tgz", 2839 "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-3.16.0.tgz",
2012 "integrity": "sha512-lDer8zPXS36iL4vJdZwOk6AnuUjDXswoTWdYkl+HdAKXp7cBlS+VeGmcFIJS4R3mSSZE20h1oEDuH8h8GGORIQ==", 2840 "integrity": "sha512-Ibj5e7njVHNJ/NOqT4HlEgPFPtPLWsO7iu59AM5bJDcAJcR96mLZ7KGVIsS2tvaO7akMEJvt2P+ErwCdloG3jQ==",
2013 "dev": true, 2841 "dev": true,
2014 "requires": { 2842 "requires": {
2015 "fs-extra": "^7.0.0", 2843 "fs-extra": "^8.1.0",
2016 "npmlog": "^4.1.2", 2844 "npmlog": "^4.1.2",
2017 "read-cmd-shim": "^1.0.1" 2845 "read-cmd-shim": "^1.0.1"
2846 },
2847 "dependencies": {
2848 "fs-extra": {
2849 "version": "8.1.0",
2850 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
2851 "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
2852 "dev": true,
2853 "requires": {
2854 "graceful-fs": "^4.2.0",
2855 "jsonfile": "^4.0.0",
2856 "universalify": "^0.1.0"
2857 }
2858 }
2018 } 2859 }
2019 }, 2860 },
2020 "@lerna/rimraf-dir": { 2861 "@lerna/rimraf-dir": {
2021 "version": "3.11.0", 2862 "version": "3.14.2",
2022 "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-3.11.0.tgz", 2863 "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-3.14.2.tgz",
2023 "integrity": "sha512-roy4lKel7BMNLfFvyzK0HI251mgI9EwbpOccR2Waz0V22d0gaqLKzfVrzovat9dVHXrKNxAhJ5iKkKeT93IunQ==", 2864 "integrity": "sha512-eFNkZsy44Bu9v1Hrj5Zk6omzg8O9h/7W6QYK1TTUHeyrjTEwytaNQlqF0lrTLmEvq55sviV42NC/8P3M2cvq8Q==",
2024 "dev": true, 2865 "dev": true,
2025 "requires": { 2866 "requires": {
2026 "@lerna/child-process": "3.3.0", 2867 "@lerna/child-process": "3.14.2",
2027 "npmlog": "^4.1.2", 2868 "npmlog": "^4.1.2",
2028 "path-exists": "^3.0.0", 2869 "path-exists": "^3.0.0",
2029 "rimraf": "^2.6.2" 2870 "rimraf": "^2.6.2"
2030 } 2871 }
2031 }, 2872 },
2032 "@lerna/run": { 2873 "@lerna/run": {
2033 "version": "3.11.0", 2874 "version": "3.16.0",
2034 "resolved": "https://registry.npmjs.org/@lerna/run/-/run-3.11.0.tgz", 2875 "resolved": "https://registry.npmjs.org/@lerna/run/-/run-3.16.0.tgz",
2035 "integrity": "sha512-8c2yzbKJFzgO6VTOftWmB0fOLTL7G1GFAG5UTVDSk95Z2Gnjof3I/Xkvtbzq8L+DIOLpr+Tpj3fRBjZd8rONlA==", 2876 "integrity": "sha512-woTeLlB1OAAz4zzjdI6RyIxSGuxiUPHJZm89E1pDEPoWwtQV6HMdMgrsQd9ATsJ5Ez280HH4bF/LStAlqW8Ufg==",
2036 "dev": true, 2877 "dev": true,
2037 "requires": { 2878 "requires": {
2038 "@lerna/batch-packages": "3.11.0", 2879 "@lerna/command": "3.16.0",
2039 "@lerna/command": "3.11.0", 2880 "@lerna/filter-options": "3.16.0",
2040 "@lerna/filter-options": "3.11.0", 2881 "@lerna/npm-run-script": "3.14.2",
2041 "@lerna/npm-run-script": "3.11.0", 2882 "@lerna/output": "3.13.0",
2042 "@lerna/output": "3.11.0", 2883 "@lerna/run-topologically": "3.16.0",
2043 "@lerna/run-parallel-batches": "3.0.0", 2884 "@lerna/timer": "3.13.0",
2044 "@lerna/timer": "3.5.0", 2885 "@lerna/validation-error": "3.13.0",
2045 "@lerna/validation-error": "3.11.0", 2886 "p-map": "^2.1.0"
2046 "p-map": "^1.2.0"
2047 } 2887 }
2048 }, 2888 },
2049 "@lerna/run-lifecycle": { 2889 "@lerna/run-lifecycle": {
2050 "version": "3.11.0", 2890 "version": "3.16.2",
2051 "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-3.11.0.tgz", 2891 "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-3.16.2.tgz",
2052 "integrity": "sha512-3xeeVz9s3Dh2ljKqJI/Fl+gkZD9Y8JblAN62f4WNM76d/zFlgpCXDs62OpxNjEuXujA7YFix0sJ+oPKMm8mDrw==", 2892 "integrity": "sha512-RqFoznE8rDpyyF0rOJy3+KjZCeTkO8y/OB9orPauR7G2xQ7PTdCpgo7EO6ZNdz3Al+k1BydClZz/j78gNCmL2A==",
2053 "dev": true, 2893 "dev": true,
2054 "requires": { 2894 "requires": {
2055 "@lerna/npm-conf": "3.7.0", 2895 "@lerna/npm-conf": "3.16.0",
2056 "figgy-pudding": "^3.5.1", 2896 "figgy-pudding": "^3.5.1",
2057 "npm-lifecycle": "^2.1.0", 2897 "npm-lifecycle": "^3.1.2",
2058 "npmlog": "^4.1.2" 2898 "npmlog": "^4.1.2"
2059 } 2899 }
2060 }, 2900 },
2061 "@lerna/run-parallel-batches": { 2901 "@lerna/run-parallel-batches": {
2062 "version": "3.0.0", 2902 "version": "3.16.0",
2063 "resolved": "https://registry.npmjs.org/@lerna/run-parallel-batches/-/run-parallel-batches-3.0.0.tgz", 2903 "resolved": "https://registry.npmjs.org/@lerna/run-parallel-batches/-/run-parallel-batches-3.16.0.tgz",
2064 "integrity": "sha512-Mj1ravlXF7AkkewKd9YFq9BtVrsStNrvVLedD/b2wIVbNqcxp8lS68vehXVOzoL/VWNEDotvqCQtyDBilCodGw==", 2904 "integrity": "sha512-2J/Nyv+MvogmQEfC7VcS21ifk7w0HVvzo2yOZRPvkCzGRu/rducxtB4RTcr58XCZ8h/Bt1aqQYKExu3c/3GXwg==",
2065 "dev": true, 2905 "dev": true,
2066 "requires": { 2906 "requires": {
2067 "p-map": "^1.2.0", 2907 "p-map": "^2.1.0",
2068 "p-map-series": "^1.0.0" 2908 "p-map-series": "^1.0.0"
2069 } 2909 }
2070 }, 2910 },
2911 "@lerna/run-topologically": {
2912 "version": "3.16.0",
2913 "resolved": "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-3.16.0.tgz",
2914 "integrity": "sha512-4Hlpv4zDtKWa5Z0tPkeu0sK+bxZEKgkNESMGmWrUCNfj7xwvAJurcraK8+a2Y0TFYwf0qjSLY/MzX+ZbJA3Cgw==",
2915 "dev": true,
2916 "requires": {
2917 "@lerna/query-graph": "3.16.0",
2918 "figgy-pudding": "^3.5.1",
2919 "p-queue": "^4.0.0"
2920 }
2921 },
2071 "@lerna/symlink-binary": { 2922 "@lerna/symlink-binary": {
2072 "version": "3.11.0", 2923 "version": "3.16.2",
2073 "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-3.11.0.tgz", 2924 "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-3.16.2.tgz",
2074 "integrity": "sha512-5sOED+1O8jI+ckDS6DRUKtAtbKo7lbxFIJs6sWWEu5qKzM5e21O6E2wTWimJkad8nJ1SJAuyc8DC8M8ki4kT4w==", 2925 "integrity": "sha512-kz9XVoFOGSF83gg4gBqH+mG6uxfJfTp8Uy+Cam40CvMiuzfODrGkjuBEFoM/uO2QOAwZvbQDYOBpKUa9ZxHS1Q==",
2075 "dev": true, 2926 "dev": true,
2076 "requires": { 2927 "requires": {
2077 "@lerna/create-symlink": "3.11.0", 2928 "@lerna/create-symlink": "3.16.2",
2078 "@lerna/package": "3.11.0", 2929 "@lerna/package": "3.16.0",
2079 "fs-extra": "^7.0.0", 2930 "fs-extra": "^8.1.0",
2080 "p-map": "^1.2.0" 2931 "p-map": "^2.1.0"
2932 },
2933 "dependencies": {
2934 "fs-extra": {
2935 "version": "8.1.0",
2936 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
2937 "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
2938 "dev": true,
2939 "requires": {
2940 "graceful-fs": "^4.2.0",
2941 "jsonfile": "^4.0.0",
2942 "universalify": "^0.1.0"
2943 }
2944 }
2081 } 2945 }
2082 }, 2946 },
2083 "@lerna/symlink-dependencies": { 2947 "@lerna/symlink-dependencies": {
2084 "version": "3.11.0", 2948 "version": "3.16.2",
2085 "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-3.11.0.tgz", 2949 "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-3.16.2.tgz",
2086 "integrity": "sha512-XKNX8oOgcOmiKHUn7qT5GvvmKP3w5otZPOjRixUDUILWTc3P8nO5I1VNILNF6IE5ajNw6yiXOWikSxc6KuFqBQ==", 2950 "integrity": "sha512-wnZqGJQ+Jvr1I3inxrkffrFZfmQI7Ta8gySw/UWCy95QtZWF/f5yk8zVIocCAsjzD0wgb3jJE3CFJ9W5iwWk1A==",
2087 "dev": true, 2951 "dev": true,
2088 "requires": { 2952 "requires": {
2089 "@lerna/create-symlink": "3.11.0", 2953 "@lerna/create-symlink": "3.16.2",
2090 "@lerna/resolve-symlink": "3.11.0", 2954 "@lerna/resolve-symlink": "3.16.0",
2091 "@lerna/symlink-binary": "3.11.0", 2955 "@lerna/symlink-binary": "3.16.2",
2092 "fs-extra": "^7.0.0", 2956 "fs-extra": "^8.1.0",
2093 "p-finally": "^1.0.0", 2957 "p-finally": "^1.0.0",
2094 "p-map": "^1.2.0", 2958 "p-map": "^2.1.0",
2095 "p-map-series": "^1.0.0" 2959 "p-map-series": "^1.0.0"
2960 },
2961 "dependencies": {
2962 "fs-extra": {
2963 "version": "8.1.0",
2964 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
2965 "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
2966 "dev": true,
2967 "requires": {
2968 "graceful-fs": "^4.2.0",
2969 "jsonfile": "^4.0.0",
2970 "universalify": "^0.1.0"
2971 }
2972 }
2096 } 2973 }
2097 }, 2974 },
2098 "@lerna/timer": { 2975 "@lerna/timer": {
2099 "version": "3.5.0", 2976 "version": "3.13.0",
2100 "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-3.5.0.tgz", 2977 "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-3.13.0.tgz",
2101 "integrity": "sha512-TAb99hqQN6E3JBGtG9iyZNPq1/DbmqgBOeNrKtdJsGvIeX/NGLgUDWMrj2h04V4O+jpBFmSf6HIld6triKmxCA==", 2978 "integrity": "sha512-RHWrDl8U4XNPqY5MQHkToWS9jHPnkLZEt5VD+uunCKTfzlxGnRCr3/zVr8VGy/uENMYpVP3wJa4RKGY6M0vkRw==",
2102 "dev": true 2979 "dev": true
2103 }, 2980 },
2104 "@lerna/validation-error": { 2981 "@lerna/validation-error": {
2105 "version": "3.11.0", 2982 "version": "3.13.0",
2106 "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-3.11.0.tgz", 2983 "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-3.13.0.tgz",
2107 "integrity": "sha512-/mS4o6QYm4OXUqfPJnW1mKudGhvhLe9uiQ9eK2cgSxkCAVq9G2Sl/KVohpnqAgeRI3nXordGxHS745CdAhg7pA==", 2984 "integrity": "sha512-SiJP75nwB8GhgwLKQfdkSnDufAaCbkZWJqEDlKOUPUvVOplRGnfL+BPQZH5nvq2BYSRXsksXWZ4UHVnQZI/HYA==",
2108 "dev": true, 2985 "dev": true,
2109 "requires": { 2986 "requires": {
2110 "npmlog": "^4.1.2" 2987 "npmlog": "^4.1.2"
2111 } 2988 }
2112 }, 2989 },
2113 "@lerna/version": { 2990 "@lerna/version": {
2114 "version": "3.11.1", 2991 "version": "3.16.4",
2115 "resolved": "https://registry.npmjs.org/@lerna/version/-/version-3.11.1.tgz", 2992 "resolved": "https://registry.npmjs.org/@lerna/version/-/version-3.16.4.tgz",
2116 "integrity": "sha512-+lFq4D8BpchIslIz6jyUY6TZO1kuAgQ+G1LjaYwUBiP2SzXVWgPoPoq/9dnaSq38Hhhvlf7FF6i15d+q8gk1xQ==", 2993 "integrity": "sha512-ikhbMeIn5ljCtWTlHDzO4YvTmpGTX1lWFFIZ79Vd1TNyOr+OUuKLo/+p06mCl2WEdZu0W2s5E9oxfAAQbyDxEg==",
2117 "dev": true, 2994 "dev": true,
2118 "requires": { 2995 "requires": {
2119 "@lerna/batch-packages": "3.11.0", 2996 "@lerna/check-working-tree": "3.14.2",
2120 "@lerna/check-working-tree": "3.11.0", 2997 "@lerna/child-process": "3.14.2",
2121 "@lerna/child-process": "3.3.0", 2998 "@lerna/collect-updates": "3.16.0",
2122 "@lerna/collect-updates": "3.11.0", 2999 "@lerna/command": "3.16.0",
2123 "@lerna/command": "3.11.0", 3000 "@lerna/conventional-commits": "3.16.4",
2124 "@lerna/conventional-commits": "3.11.0", 3001 "@lerna/github-client": "3.16.0",
2125 "@lerna/github-client": "3.11.0", 3002 "@lerna/gitlab-client": "3.15.0",
2126 "@lerna/output": "3.11.0", 3003 "@lerna/output": "3.13.0",
2127 "@lerna/prompt": "3.11.0", 3004 "@lerna/prerelease-id-from-version": "3.16.0",
2128 "@lerna/run-lifecycle": "3.11.0", 3005 "@lerna/prompt": "3.13.0",
2129 "@lerna/validation-error": "3.11.0", 3006 "@lerna/run-lifecycle": "3.16.2",
3007 "@lerna/run-topologically": "3.16.0",
3008 "@lerna/validation-error": "3.13.0",
2130 "chalk": "^2.3.1", 3009 "chalk": "^2.3.1",
2131 "dedent": "^0.7.0", 3010 "dedent": "^0.7.0",
2132 "minimatch": "^3.0.4", 3011 "minimatch": "^3.0.4",
2133 "npmlog": "^4.1.2", 3012 "npmlog": "^4.1.2",
2134 "p-map": "^1.2.0", 3013 "p-map": "^2.1.0",
2135 "p-pipe": "^1.2.0", 3014 "p-pipe": "^1.2.0",
2136 "p-reduce": "^1.0.0", 3015 "p-reduce": "^1.0.0",
2137 "p-waterfall": "^1.0.0", 3016 "p-waterfall": "^1.0.0",
2138 "semver": "^5.5.0", 3017 "semver": "^6.2.0",
2139 "slash": "^1.0.0", 3018 "slash": "^2.0.0",
2140 "temp-write": "^3.4.0" 3019 "temp-write": "^3.4.0"
2141 }, 3020 },
2142 "dependencies": { 3021 "dependencies": {
2143 "slash": { 3022 "semver": {
2144 "version": "1.0.0", 3023 "version": "6.3.0",
2145 "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", 3024 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
2146 "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", 3025 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
2147 "dev": true 3026 "dev": true
2148 } 3027 }
2149 } 3028 }
2150 }, 3029 },
2151 "@lerna/write-log-file": { 3030 "@lerna/write-log-file": {
2152 "version": "3.11.0", 3031 "version": "3.13.0",
2153 "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-3.11.0.tgz", 3032 "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-3.13.0.tgz",
2154 "integrity": "sha512-skpTDMDOkQAN4lCeAoI6/rPhbNE431eD0i6Ts3kExUOrYTr0m5CIwVtMZ31Flpky0Jfh4ET6rOl5SDNMLbf4VA==", 3033 "integrity": "sha512-RibeMnDPvlL8bFYW5C8cs4mbI3AHfQef73tnJCQ/SgrXZHehmHnsyWUiE7qDQCAo+B1RfTapvSyFF69iPj326A==",
2155 "dev": true, 3034 "dev": true,
2156 "requires": { 3035 "requires": {
2157 "npmlog": "^4.1.2", 3036 "npmlog": "^4.1.2",
@@ -2164,9 +3043,9 @@
2164 "integrity": "sha512-3qqOZx2HkrQEUc9fr5MiQWlokwmO8TK5bQZ2EP1Rg0q2Q507jy+fUeL8lb9ko2ossYqoPnugIr7jI0/O7uhlrA==" 3043 "integrity": "sha512-3qqOZx2HkrQEUc9fr5MiQWlokwmO8TK5bQZ2EP1Rg0q2Q507jy+fUeL8lb9ko2ossYqoPnugIr7jI0/O7uhlrA=="
2165 }, 3044 },
2166 "@mdi/react": { 3045 "@mdi/react": {
2167 "version": "1.1.0", 3046 "version": "1.2.1",
2168 "resolved": "https://registry.npmjs.org/@mdi/react/-/react-1.1.0.tgz", 3047 "resolved": "https://registry.npmjs.org/@mdi/react/-/react-1.2.1.tgz",
2169 "integrity": "sha512-c0+avMYEZ6i7Pg1ULLFs+p7k8bDPiie9rrgGYs8VWQhw2tUUYz7r0lIPVzD3bzMghWfyhfkArj88K5Of0WTMNw==" 3048 "integrity": "sha512-1IRIVCT07vlLmaZjVtGfyfwCMivg/tCtPj0+r1BKrkoh9z4xLf+M1TD0LhjJPO+4+O0ibW+xrNRvf+boRRtX9A=="
2170 }, 3049 },
2171 "@meetfranz/electron-notification-state": { 3050 "@meetfranz/electron-notification-state": {
2172 "version": "1.0.0", 3051 "version": "1.0.0",
@@ -2190,11 +3069,13 @@
2190 "dependencies": { 3069 "dependencies": {
2191 "@mdi/js": { 3070 "@mdi/js": {
2192 "version": "3.9.97", 3071 "version": "3.9.97",
2193 "bundled": true 3072 "resolved": "https://registry.npmjs.org/@mdi/js/-/js-3.9.97.tgz",
3073 "integrity": "sha512-JzX6rDlUcNZHaoUg9sAzdg5Js287tvgRbNmMIyKoJK2ZCP9JupeWTYlpbX4oNJ9Zg9v8YH76WuWLALKOospQgw=="
2194 }, 3074 },
2195 "@meetfranz/theme": { 3075 "@meetfranz/theme": {
2196 "version": "1.0.14", 3076 "version": "1.0.14",
2197 "bundled": true, 3077 "resolved": "https://registry.npmjs.org/@meetfranz/theme/-/theme-1.0.14.tgz",
3078 "integrity": "sha512-iWP+3ifiNum98sHKiNdUJK+R0p4Z7TT8OenA1N2BnSC6CFob+dLhzAK+o5lxcyEcKZKYDwd7JKRZj93wqpBPpg==",
2198 "requires": { 3079 "requires": {
2199 "color": "^3.1.0" 3080 "color": "^3.1.0"
2200 } 3081 }
@@ -2218,11 +3099,13 @@
2218 "dependencies": { 3099 "dependencies": {
2219 "@mdi/js": { 3100 "@mdi/js": {
2220 "version": "3.9.97", 3101 "version": "3.9.97",
2221 "bundled": true 3102 "resolved": "https://registry.npmjs.org/@mdi/js/-/js-3.9.97.tgz",
3103 "integrity": "sha512-JzX6rDlUcNZHaoUg9sAzdg5Js287tvgRbNmMIyKoJK2ZCP9JupeWTYlpbX4oNJ9Zg9v8YH76WuWLALKOospQgw=="
2222 }, 3104 },
2223 "@meetfranz/theme": { 3105 "@meetfranz/theme": {
2224 "version": "1.0.14", 3106 "version": "1.0.14",
2225 "bundled": true, 3107 "resolved": "https://registry.npmjs.org/@meetfranz/theme/-/theme-1.0.14.tgz",
3108 "integrity": "sha512-iWP+3ifiNum98sHKiNdUJK+R0p4Z7TT8OenA1N2BnSC6CFob+dLhzAK+o5lxcyEcKZKYDwd7JKRZj93wqpBPpg==",
2226 "requires": { 3109 "requires": {
2227 "color": "^3.1.0" 3110 "color": "^3.1.0"
2228 } 3111 }
@@ -2246,58 +3129,104 @@
2246 "dev": true 3129 "dev": true
2247 }, 3130 },
2248 "@octokit/endpoint": { 3131 "@octokit/endpoint": {
2249 "version": "3.1.2", 3132 "version": "5.3.5",
2250 "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-3.1.2.tgz", 3133 "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.3.5.tgz",
2251 "integrity": "sha512-iRx4kDYybAv9tOrHDBE6HwlgiFi8qmbZl8SHliZWtxbUFuXLZXh2yv8DxGIK9wzD9J0wLDMZneO8vNYJNUSJ9Q==", 3134 "integrity": "sha512-f8KqzIrnzPLiezDsZZPB+K8v8YSv6aKFl7eOu59O46lmlW4HagWl1U6NWl6LmT8d1w7NsKBI3paVtzcnRGO1gw==",
2252 "dev": true, 3135 "dev": true,
2253 "requires": { 3136 "requires": {
2254 "deepmerge": "3.1.0", 3137 "is-plain-object": "^3.0.0",
2255 "is-plain-object": "^2.0.4", 3138 "universal-user-agent": "^4.0.0"
2256 "universal-user-agent": "^2.0.1", 3139 },
2257 "url-template": "^2.0.8" 3140 "dependencies": {
3141 "is-plain-object": {
3142 "version": "3.0.0",
3143 "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz",
3144 "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==",
3145 "dev": true,
3146 "requires": {
3147 "isobject": "^4.0.0"
3148 }
3149 },
3150 "isobject": {
3151 "version": "4.0.0",
3152 "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz",
3153 "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==",
3154 "dev": true
3155 }
2258 } 3156 }
2259 }, 3157 },
2260 "@octokit/plugin-enterprise-rest": { 3158 "@octokit/plugin-enterprise-rest": {
2261 "version": "2.1.1", 3159 "version": "3.6.2",
2262 "resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-2.1.1.tgz", 3160 "resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-3.6.2.tgz",
2263 "integrity": "sha512-DJNXHH0LptKCLpJ8y3vCA/O+s+3/sDU4JNN2V0M04tsMN0hVGLPzoGgejPJgaxGP8Il5aw+jA5Nl5mTfdt9NrQ==", 3161 "integrity": "sha512-3wF5eueS5OHQYuAEudkpN+xVeUsg8vYEMMenEzLphUZ7PRZ8OJtDcsreL3ad9zxXmBbaFWzLmFcdob5CLyZftA==",
2264 "dev": true 3162 "dev": true
2265 }, 3163 },
2266 "@octokit/request": { 3164 "@octokit/request": {
2267 "version": "2.3.0", 3165 "version": "5.1.0",
2268 "resolved": "https://registry.npmjs.org/@octokit/request/-/request-2.3.0.tgz", 3166 "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.1.0.tgz",
2269 "integrity": "sha512-5YRqYNZOAaL7+nt7w3Scp6Sz4P2g7wKFP9npx1xdExMomk8/M/ICXVLYVam2wzxeY0cIc6wcKpjC5KI4jiNbGw==", 3167 "integrity": "sha512-I15T9PwjFs4tbWyhtFU2Kq7WDPidYMvRB7spmxoQRZfxSmiqullG+Nz+KbSmpkfnlvHwTr1e31R5WReFRKMXjg==",
2270 "dev": true, 3168 "dev": true,
2271 "requires": { 3169 "requires": {
2272 "@octokit/endpoint": "^3.1.1", 3170 "@octokit/endpoint": "^5.1.0",
2273 "is-plain-object": "^2.0.4", 3171 "@octokit/request-error": "^1.0.1",
3172 "deprecation": "^2.0.0",
3173 "is-plain-object": "^3.0.0",
2274 "node-fetch": "^2.3.0", 3174 "node-fetch": "^2.3.0",
2275 "universal-user-agent": "^2.0.1" 3175 "once": "^1.4.0",
3176 "universal-user-agent": "^4.0.0"
2276 }, 3177 },
2277 "dependencies": { 3178 "dependencies": {
3179 "is-plain-object": {
3180 "version": "3.0.0",
3181 "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz",
3182 "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==",
3183 "dev": true,
3184 "requires": {
3185 "isobject": "^4.0.0"
3186 }
3187 },
3188 "isobject": {
3189 "version": "4.0.0",
3190 "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz",
3191 "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==",
3192 "dev": true
3193 },
2278 "node-fetch": { 3194 "node-fetch": {
2279 "version": "2.3.0", 3195 "version": "2.6.0",
2280 "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz", 3196 "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
2281 "integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA==", 3197 "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==",
2282 "dev": true 3198 "dev": true
2283 } 3199 }
2284 } 3200 }
2285 }, 3201 },
3202 "@octokit/request-error": {
3203 "version": "1.0.4",
3204 "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.0.4.tgz",
3205 "integrity": "sha512-L4JaJDXn8SGT+5G0uX79rZLv0MNJmfGa4vb4vy1NnpjSnWDLJRy6m90udGwvMmavwsStgbv2QNkPzzTCMmL+ig==",
3206 "dev": true,
3207 "requires": {
3208 "deprecation": "^2.0.0",
3209 "once": "^1.4.0"
3210 }
3211 },
2286 "@octokit/rest": { 3212 "@octokit/rest": {
2287 "version": "16.15.0", 3213 "version": "16.28.9",
2288 "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.15.0.tgz", 3214 "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.28.9.tgz",
2289 "integrity": "sha512-Un+e7rgh38RtPOTe453pT/KPM/p2KZICimBmuZCd2wEo8PacDa4h6RqTPZs+f2DPazTTqdM7QU4LKlUjgiBwWw==", 3215 "integrity": "sha512-IKGnX+Tvzt7XHhs8f4ajqxyJvYAMNX5nWfoJm4CQj8LZToMiaJgutf5KxxpxoC3y5w7JTJpW5rnWnF4TsIvCLA==",
2290 "dev": true, 3216 "dev": true,
2291 "requires": { 3217 "requires": {
2292 "@octokit/request": "2.3.0", 3218 "@octokit/request": "^5.0.0",
2293 "before-after-hook": "^1.2.0", 3219 "@octokit/request-error": "^1.0.2",
3220 "atob-lite": "^2.0.0",
3221 "before-after-hook": "^2.0.0",
2294 "btoa-lite": "^1.0.0", 3222 "btoa-lite": "^1.0.0",
3223 "deprecation": "^2.0.0",
2295 "lodash.get": "^4.4.2", 3224 "lodash.get": "^4.4.2",
2296 "lodash.set": "^4.3.2", 3225 "lodash.set": "^4.3.2",
2297 "lodash.uniq": "^4.5.0", 3226 "lodash.uniq": "^4.5.0",
2298 "octokit-pagination-methods": "^1.1.0", 3227 "octokit-pagination-methods": "^1.1.0",
2299 "universal-user-agent": "^2.0.0", 3228 "once": "^1.4.0",
2300 "url-template": "^2.0.8" 3229 "universal-user-agent": "^4.0.0"
2301 } 3230 }
2302 }, 3231 },
2303 "@sindresorhus/is": { 3232 "@sindresorhus/is": {
@@ -2306,6 +3235,29 @@
2306 "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", 3235 "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
2307 "dev": true 3236 "dev": true
2308 }, 3237 },
3238 "@slynova/flydrive": {
3239 "version": "0.3.1",
3240 "resolved": "https://registry.npmjs.org/@slynova/flydrive/-/flydrive-0.3.1.tgz",
3241 "integrity": "sha512-/C3chxZRqonxjQwj70WOyqtw0JGjBr6rjvkcrGlDedUXi5YoiJiTVHwD4ry6tHJKwOi3PtxpWO9RZwSKElVWzw==",
3242 "requires": {
3243 "create-output-stream": "0.0.1",
3244 "fs-extra": "^6.0.0",
3245 "node-exceptions": "^3.0.0",
3246 "resetable": "^1.0.2"
3247 },
3248 "dependencies": {
3249 "fs-extra": {
3250 "version": "6.0.1",
3251 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz",
3252 "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==",
3253 "requires": {
3254 "graceful-fs": "^4.1.2",
3255 "jsonfile": "^4.0.0",
3256 "universalify": "^0.1.0"
3257 }
3258 }
3259 }
3260 },
2309 "@szmarczak/http-timer": { 3261 "@szmarczak/http-timer": {
2310 "version": "1.1.2", 3262 "version": "1.1.2",
2311 "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", 3263 "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
@@ -2316,9 +3268,9 @@
2316 } 3268 }
2317 }, 3269 },
2318 "@types/babel__core": { 3270 "@types/babel__core": {
2319 "version": "7.1.1", 3271 "version": "7.1.3",
2320 "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.1.tgz", 3272 "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.3.tgz",
2321 "integrity": "sha512-+hjBtgcFPYyCTo0A15+nxrCVJL7aC6Acg87TXd5OW3QhHswdrOLoles+ldL2Uk8q++7yIfl4tURtztccdeeyOw==", 3273 "integrity": "sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA==",
2322 "dev": true, 3274 "dev": true,
2323 "requires": { 3275 "requires": {
2324 "@babel/parser": "^7.1.0", 3276 "@babel/parser": "^7.1.0",
@@ -2348,18 +3300,18 @@
2348 } 3300 }
2349 }, 3301 },
2350 "@types/babel__traverse": { 3302 "@types/babel__traverse": {
2351 "version": "7.0.6", 3303 "version": "7.0.7",
2352 "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.6.tgz", 3304 "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.7.tgz",
2353 "integrity": "sha512-XYVgHF2sQ0YblLRMLNPB3CkFMewzFmlDsH/TneZFHUXDlABQgh88uOxuez7ZcXxayLFrqLwtDH1t+FmlFwNZxw==", 3305 "integrity": "sha512-CeBpmX1J8kWLcDEnI3Cl2Eo6RfbGvzUctA+CjZUhOKDFbLfcr7fc4usEqLNWetrlJd7RhAkyYe2czXop4fICpw==",
2354 "dev": true, 3306 "dev": true,
2355 "requires": { 3307 "requires": {
2356 "@babel/types": "^7.3.0" 3308 "@babel/types": "^7.3.0"
2357 } 3309 }
2358 }, 3310 },
2359 "@types/classnames": { 3311 "@types/classnames": {
2360 "version": "2.2.7", 3312 "version": "2.2.9",
2361 "resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.2.7.tgz", 3313 "resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.2.9.tgz",
2362 "integrity": "sha512-rzOhiQ55WzAiFgXRtitP/ZUT8iVNyllEpylJ5zHzR4vArUvMB39GTk+Zon/uAM0JxEFAWnwsxC2gH8s+tZ3Myg==", 3314 "integrity": "sha512-MNl+rT5UmZeilaPxAVs6YaPC2m6aA8rofviZbhbxpPpl61uKodfdQVsBtgJGTqGizEf02oW3tsVe7FYB8kK14A==",
2363 "dev": true 3315 "dev": true
2364 }, 3316 },
2365 "@types/color": { 3317 "@types/color": {
@@ -2381,9 +3333,9 @@
2381 } 3333 }
2382 }, 3334 },
2383 "@types/color-name": { 3335 "@types/color-name": {
2384 "version": "1.1.0", 3336 "version": "1.1.1",
2385 "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.0.tgz", 3337 "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
2386 "integrity": "sha512-gZ/Rb+MFXF0pXSEQxdRoPMm5jeO3TycjOdvbpbcpHX/B+n9AqaHFe5q6Ga9CsZ7ir/UgIWPfrBzUzn3F19VH/w==", 3338 "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
2387 "dev": true 3339 "dev": true
2388 }, 3340 },
2389 "@types/debug": { 3341 "@types/debug": {
@@ -2392,16 +3344,52 @@
2392 "integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==", 3344 "integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==",
2393 "dev": true 3345 "dev": true
2394 }, 3346 },
3347 "@types/events": {
3348 "version": "3.0.0",
3349 "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
3350 "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==",
3351 "dev": true
3352 },
3353 "@types/glob": {
3354 "version": "7.1.1",
3355 "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz",
3356 "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==",
3357 "dev": true,
3358 "requires": {
3359 "@types/events": "*",
3360 "@types/minimatch": "*",
3361 "@types/node": "*"
3362 }
3363 },
2395 "@types/istanbul-lib-coverage": { 3364 "@types/istanbul-lib-coverage": {
2396 "version": "2.0.0", 3365 "version": "2.0.1",
2397 "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.0.tgz", 3366 "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz",
2398 "integrity": "sha512-eAtOAFZefEnfJiRFQBGw1eYqa5GTLCZ1y86N0XSI/D6EB+E8z6VPV/UL7Gi5UEclFqoQk+6NRqEDsfmDLXn8sg==", 3367 "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==",
2399 "dev": true 3368 "dev": true
2400 }, 3369 },
3370 "@types/istanbul-lib-report": {
3371 "version": "1.1.1",
3372 "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz",
3373 "integrity": "sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg==",
3374 "dev": true,
3375 "requires": {
3376 "@types/istanbul-lib-coverage": "*"
3377 }
3378 },
3379 "@types/istanbul-reports": {
3380 "version": "1.1.1",
3381 "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz",
3382 "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==",
3383 "dev": true,
3384 "requires": {
3385 "@types/istanbul-lib-coverage": "*",
3386 "@types/istanbul-lib-report": "*"
3387 }
3388 },
2401 "@types/jss": { 3389 "@types/jss": {
2402 "version": "9.5.7", 3390 "version": "9.5.8",
2403 "resolved": "https://registry.npmjs.org/@types/jss/-/jss-9.5.7.tgz", 3391 "resolved": "https://registry.npmjs.org/@types/jss/-/jss-9.5.8.tgz",
2404 "integrity": "sha512-OZimStu2QdDMtZ0h72JXqvLVbWUjXd5ZLk8vxLmfuC/nM1AabRyyGoxSufnzixrbpEcVcyy/JV5qeQu2JnjVZw==", 3392 "integrity": "sha512-bBbHvjhm42UKki+wZpR89j73ykSXg99/bhuKuYYePtpma3ZAnmeGnl0WxXiZhPGsIfzKwCUkpPC0jlrVMBfRxA==",
2405 "dev": true, 3393 "dev": true,
2406 "requires": { 3394 "requires": {
2407 "csstype": "^2.0.0", 3395 "csstype": "^2.0.0",
@@ -2409,27 +3397,33 @@
2409 } 3397 }
2410 }, 3398 },
2411 "@types/lodash": { 3399 "@types/lodash": {
2412 "version": "4.14.120", 3400 "version": "4.14.138",
2413 "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.120.tgz", 3401 "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.138.tgz",
2414 "integrity": "sha512-jQ21kQ120mo+IrDs1nFNVm/AsdFxIx2+vZ347DbogHJPd/JzKNMOqU6HCYin1W6v8l5R9XSO2/e9cxmn7HAnVw==", 3402 "integrity": "sha512-A4uJgHz4hakwNBdHNPdxOTkYmXNgmUAKLbXZ7PKGslgeV0Mb8P3BlbYfPovExek1qnod4pDfRbxuzcVs3dlFLg==",
3403 "dev": true
3404 },
3405 "@types/minimatch": {
3406 "version": "3.0.3",
3407 "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
3408 "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
2415 "dev": true 3409 "dev": true
2416 }, 3410 },
2417 "@types/node": { 3411 "@types/node": {
2418 "version": "11.9.0", 3412 "version": "12.7.5",
2419 "resolved": "https://registry.npmjs.org/@types/node/-/node-11.9.0.tgz", 3413 "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.5.tgz",
2420 "integrity": "sha512-ry4DOrC+xenhQbzk1iIPzCZGhhPGEFv7ia7Iu6XXSLVluiJIe9FfG7Iu3mObH9mpxEXCWLCMU4JWbCCR9Oy1Zg==", 3414 "integrity": "sha512-9fq4jZVhPNW8r+UYKnxF1e2HkDWOWKM5bC2/7c9wPV835I0aOrVbS/Hw/pWPk2uKrNXQqg9Z959Kz+IYDd5p3w==",
2421 "dev": true 3415 "dev": true
2422 }, 3416 },
2423 "@types/prop-types": { 3417 "@types/prop-types": {
2424 "version": "15.5.8", 3418 "version": "15.7.2",
2425 "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.5.8.tgz", 3419 "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.2.tgz",
2426 "integrity": "sha512-3AQoUxQcQtLHsK25wtTWIoIpgYjH3vSDroZOUr7PpCHw/jLY1RB9z9E8dBT/OSmwStVgkRNvdh+ZHNiomRieaw==", 3420 "integrity": "sha512-f8JzJNWVhKtc9dg/dyDNfliTKNOJSLa7Oht/ElZdF/UbMUmAH3rLmAk3ODNjw0mZajDEgatA03tRjB4+Dp/tzA==",
2427 "dev": true 3421 "dev": true
2428 }, 3422 },
2429 "@types/react": { 3423 "@types/react": {
2430 "version": "16.8.2", 3424 "version": "16.9.2",
2431 "resolved": "https://registry.npmjs.org/@types/react/-/react-16.8.2.tgz", 3425 "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.2.tgz",
2432 "integrity": "sha512-6mcKsqlqkN9xADrwiUz2gm9Wg4iGnlVGciwBRYFQSMWG6MQjhOZ/AVnxn+6v8nslFgfYTV8fNdE6XwKu6va5PA==", 3426 "integrity": "sha512-jYP2LWwlh+FTqGd9v7ynUKZzjj98T8x7Yclz479QdRhHfuW9yQ+0jjnD31eXSXutmBpppj5PYNLYLRfnZJvcfg==",
2433 "dev": true, 3427 "dev": true,
2434 "requires": { 3428 "requires": {
2435 "@types/prop-types": "*", 3429 "@types/prop-types": "*",
@@ -2446,9 +3440,9 @@
2446 } 3440 }
2447 }, 3441 },
2448 "@types/react-jss": { 3442 "@types/react-jss": {
2449 "version": "8.6.1", 3443 "version": "8.6.4",
2450 "resolved": "https://registry.npmjs.org/@types/react-jss/-/react-jss-8.6.1.tgz", 3444 "resolved": "https://registry.npmjs.org/@types/react-jss/-/react-jss-8.6.4.tgz",
2451 "integrity": "sha512-F/6V+yOuUA/4sTKwa9Lc2QsafKhAal3d9XxvtaMS1HUdNx9xspPpnHMEIJ27qiAPuyNMF5naJxdxwnEE0fWoSg==", 3445 "integrity": "sha512-LK55kG7YnEt0xmBZeZqCEHEkSx7Xm1WD0GxaOUxIeTQyrSE6h0K70cyrXCloivrZwDzXqcA78zBBB64gapASPQ==",
2452 "dev": true, 3446 "dev": true,
2453 "requires": { 3447 "requires": {
2454 "@types/jss": "*", 3448 "@types/jss": "*",
@@ -2457,6 +3451,11 @@
2457 "csstype": "^2.0.0" 3451 "csstype": "^2.0.0"
2458 } 3452 }
2459 }, 3453 },
3454 "@types/semver": {
3455 "version": "6.0.2",
3456 "resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.0.2.tgz",
3457 "integrity": "sha512-G1Ggy7/9Nsa1Jt2yiBR2riEuyK2DFNnqow6R7cromXPMNynackRY1vqFTLz/gwnef1LHokbXThcPhqMRjUbkpQ=="
3458 },
2460 "@types/stack-utils": { 3459 "@types/stack-utils": {
2461 "version": "1.0.1", 3460 "version": "1.0.1",
2462 "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", 3461 "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz",
@@ -2464,9 +3463,9 @@
2464 "dev": true 3463 "dev": true
2465 }, 3464 },
2466 "@types/theming": { 3465 "@types/theming": {
2467 "version": "1.3.2", 3466 "version": "1.3.3",
2468 "resolved": "https://registry.npmjs.org/@types/theming/-/theming-1.3.2.tgz", 3467 "resolved": "https://registry.npmjs.org/@types/theming/-/theming-1.3.3.tgz",
2469 "integrity": "sha512-hglGgki3jUbSjl1UB6vc8rsOyELRfH+VVIMyymoHRlUizdgWmWiwteH2jdltsHCVlAtSCmAh0nB71t9G41vhxQ==", 3468 "integrity": "sha512-xcCIvBHFFxNDxDUn0Po6FXQPpGA6Y5dzt6/fbzVhBba7Qx4cxkxStmLVEkFqEF4jy01SH9DjbRUqdj7RziC/XA==",
2470 "dev": true, 3469 "dev": true,
2471 "requires": { 3470 "requires": {
2472 "@types/react": "*" 3471 "@types/react": "*"
@@ -2482,9 +3481,18 @@
2482 } 3481 }
2483 }, 3482 },
2484 "@types/yargs": { 3483 "@types/yargs": {
2485 "version": "12.0.12", 3484 "version": "13.0.2",
2486 "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-12.0.12.tgz", 3485 "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.2.tgz",
2487 "integrity": "sha512-SOhuU4wNBxhhTHxYaiG5NY4HBhDIDnJF60GU+2LqHAdKKer86//e4yg69aENCtQ04n0ovz+tq2YPME5t5yp4pw==", 3486 "integrity": "sha512-lwwgizwk/bIIU+3ELORkyuOgDjCh7zuWDFqRtPPhhVgq9N1F7CvLNKg1TX4f2duwtKQ0p044Au9r1PLIXHrIzQ==",
3487 "dev": true,
3488 "requires": {
3489 "@types/yargs-parser": "*"
3490 }
3491 },
3492 "@types/yargs-parser": {
3493 "version": "13.1.0",
3494 "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-13.1.0.tgz",
3495 "integrity": "sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg==",
2488 "dev": true 3496 "dev": true
2489 }, 3497 },
2490 "@webassemblyjs/ast": { 3498 "@webassemblyjs/ast": {
@@ -2671,6 +3679,17 @@
2671 "integrity": "sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==", 3679 "integrity": "sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==",
2672 "dev": true 3680 "dev": true
2673 }, 3681 },
3682 "@zkochan/cmd-shim": {
3683 "version": "3.1.0",
3684 "resolved": "https://registry.npmjs.org/@zkochan/cmd-shim/-/cmd-shim-3.1.0.tgz",
3685 "integrity": "sha512-o8l0+x7C7sMZU3v9GuJIAU10qQLtwR1dtRQIOmlNMtyaqhmpXOzx1HWiYoWfmmf9HHZoAkXpc9TM9PQYF9d4Jg==",
3686 "dev": true,
3687 "requires": {
3688 "is-windows": "^1.0.0",
3689 "mkdirp-promise": "^5.0.1",
3690 "mz": "^2.5.0"
3691 }
3692 },
2674 "JSONStream": { 3693 "JSONStream": {
2675 "version": "1.3.5", 3694 "version": "1.3.5",
2676 "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", 3695 "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
@@ -2682,16 +3701,15 @@
2682 } 3701 }
2683 }, 3702 },
2684 "abab": { 3703 "abab": {
2685 "version": "2.0.0", 3704 "version": "2.0.1",
2686 "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", 3705 "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.1.tgz",
2687 "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==", 3706 "integrity": "sha512-1zSbbCuoIjafKZ3mblY5ikvAb0ODUbqBnFuUb7f6uLeQhhGJ0vEV4ntmtxKLT2WgXCO94E07BjunsIw1jOMPZw==",
2688 "dev": true 3707 "dev": true
2689 }, 3708 },
2690 "abbrev": { 3709 "abbrev": {
2691 "version": "1.1.1", 3710 "version": "1.1.1",
2692 "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", 3711 "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
2693 "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", 3712 "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
2694 "dev": true
2695 }, 3713 },
2696 "accepts": { 3714 "accepts": {
2697 "version": "1.0.7", 3715 "version": "1.0.7",
@@ -2712,9 +3730,9 @@
2712 } 3730 }
2713 }, 3731 },
2714 "acorn": { 3732 "acorn": {
2715 "version": "6.1.0", 3733 "version": "6.3.0",
2716 "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.0.tgz", 3734 "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz",
2717 "integrity": "sha512-MW/FjM+IvU9CgBzjO3UIPCE2pyEwUsoFl+VGdczOPEdxfGFjuKny/gN54mOuX7Qxmb9Rg9MCn2oKiSUeW+pjrw==", 3735 "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==",
2718 "dev": true 3736 "dev": true
2719 }, 3737 },
2720 "acorn-dynamic-import": { 3738 "acorn-dynamic-import": {
@@ -2735,9 +3753,9 @@
2735 } 3753 }
2736 }, 3754 },
2737 "acorn-globals": { 3755 "acorn-globals": {
2738 "version": "4.3.1", 3756 "version": "4.3.4",
2739 "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.1.tgz", 3757 "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz",
2740 "integrity": "sha512-gJSiKY8dBIjV/0jagZIFBdVMtfQyA5QHCvAT48H2q8REQoW8Fs5AOjqBql1LgSXgrMWdevcE+8cdZ33NtVbIBA==", 3758 "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==",
2741 "dev": true, 3759 "dev": true,
2742 "requires": { 3760 "requires": {
2743 "acorn": "^6.0.1", 3761 "acorn": "^6.0.1",
@@ -2745,15 +3763,37 @@
2745 } 3763 }
2746 }, 3764 },
2747 "acorn-jsx": { 3765 "acorn-jsx": {
2748 "version": "5.0.1", 3766 "version": "5.0.2",
2749 "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz", 3767 "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz",
2750 "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==", 3768 "integrity": "sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==",
2751 "dev": true 3769 "dev": true
2752 }, 3770 },
3771 "acorn-node": {
3772 "version": "1.8.2",
3773 "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
3774 "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
3775 "requires": {
3776 "acorn": "^7.0.0",
3777 "acorn-walk": "^7.0.0",
3778 "xtend": "^4.0.2"
3779 },
3780 "dependencies": {
3781 "acorn": {
3782 "version": "7.1.0",
3783 "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz",
3784 "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ=="
3785 },
3786 "acorn-walk": {
3787 "version": "7.0.0",
3788 "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.0.0.tgz",
3789 "integrity": "sha512-7Bv1We7ZGuU79zZbb6rRqcpxo3OY+zrdtloZWoyD8fmGX+FeXRjE+iuGkZjSXLVovLzrsvMGMy0EkwA0E0umxg=="
3790 }
3791 }
3792 },
2753 "acorn-walk": { 3793 "acorn-walk": {
2754 "version": "6.1.1", 3794 "version": "6.2.0",
2755 "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz", 3795 "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz",
2756 "integrity": "sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==", 3796 "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==",
2757 "dev": true 3797 "dev": true
2758 }, 3798 },
2759 "add-stream": { 3799 "add-stream": {
@@ -2777,9 +3817,9 @@
2777 "dev": true 3817 "dev": true
2778 }, 3818 },
2779 "agent-base": { 3819 "agent-base": {
2780 "version": "4.2.1", 3820 "version": "4.3.0",
2781 "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", 3821 "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
2782 "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", 3822 "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
2783 "dev": true, 3823 "dev": true,
2784 "requires": { 3824 "requires": {
2785 "es6-promisify": "^5.0.0" 3825 "es6-promisify": "^5.0.0"
@@ -2795,10 +3835,9 @@
2795 } 3835 }
2796 }, 3836 },
2797 "ajv": { 3837 "ajv": {
2798 "version": "6.9.1", 3838 "version": "6.10.2",
2799 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.9.1.tgz", 3839 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
2800 "integrity": "sha512-XDN92U311aINL77ieWHmqCcNlwjoP5cHXDxIxbf2MaPYuCXOHS7gHH8jktxeK5omgd52XbSTX6a4Piwd1pQmzA==", 3840 "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
2801 "dev": true,
2802 "requires": { 3841 "requires": {
2803 "fast-deep-equal": "^2.0.1", 3842 "fast-deep-equal": "^2.0.1",
2804 "fast-json-stable-stringify": "^2.0.0", 3843 "fast-json-stable-stringify": "^2.0.0",
@@ -2813,11 +3852,132 @@
2813 "dev": true 3852 "dev": true
2814 }, 3853 },
2815 "ajv-keywords": { 3854 "ajv-keywords": {
2816 "version": "3.4.0", 3855 "version": "3.4.1",
2817 "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz", 3856 "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz",
2818 "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==", 3857 "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==",
2819 "dev": true 3858 "dev": true
2820 }, 3859 },
3860 "all-contributors-cli": {
3861 "version": "6.9.0",
3862 "resolved": "https://registry.npmjs.org/all-contributors-cli/-/all-contributors-cli-6.9.0.tgz",
3863 "integrity": "sha512-zIzES49OCnhaf7Q7KxyVhe6wYDvrvMKbWZh+hHJigN1VYEW8EQjbpXYf3IEaqB4gC/TDs/CYcINzstgnwlN/Lg==",
3864 "dev": true,
3865 "requires": {
3866 "@babel/runtime": "^7.2.0",
3867 "async": "^3.0.1",
3868 "chalk": "^2.3.0",
3869 "didyoumean": "^1.2.1",
3870 "inquirer": "^6.2.1",
3871 "json-fixer": "^1.3.1-0",
3872 "lodash": "^4.11.2",
3873 "pify": "^4.0.1",
3874 "request": "^2.72.0",
3875 "yargs": "^14.0.0"
3876 },
3877 "dependencies": {
3878 "ansi-regex": {
3879 "version": "4.1.0",
3880 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
3881 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
3882 "dev": true
3883 },
3884 "async": {
3885 "version": "3.1.0",
3886 "resolved": "https://registry.npmjs.org/async/-/async-3.1.0.tgz",
3887 "integrity": "sha512-4vx/aaY6j/j3Lw3fbCHNWP0pPaTCew3F6F3hYyl/tHs/ndmV1q7NW9T5yuJ2XAGwdQrP+6Wu20x06U4APo/iQQ==",
3888 "dev": true
3889 },
3890 "cliui": {
3891 "version": "5.0.0",
3892 "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
3893 "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
3894 "dev": true,
3895 "requires": {
3896 "string-width": "^3.1.0",
3897 "strip-ansi": "^5.2.0",
3898 "wrap-ansi": "^5.1.0"
3899 }
3900 },
3901 "get-caller-file": {
3902 "version": "2.0.5",
3903 "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
3904 "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
3905 "dev": true
3906 },
3907 "pify": {
3908 "version": "4.0.1",
3909 "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
3910 "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
3911 "dev": true
3912 },
3913 "require-main-filename": {
3914 "version": "2.0.0",
3915 "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
3916 "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
3917 "dev": true
3918 },
3919 "string-width": {
3920 "version": "3.1.0",
3921 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
3922 "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
3923 "dev": true,
3924 "requires": {
3925 "emoji-regex": "^7.0.1",
3926 "is-fullwidth-code-point": "^2.0.0",
3927 "strip-ansi": "^5.1.0"
3928 }
3929 },
3930 "strip-ansi": {
3931 "version": "5.2.0",
3932 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
3933 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
3934 "dev": true,
3935 "requires": {
3936 "ansi-regex": "^4.1.0"
3937 }
3938 },
3939 "wrap-ansi": {
3940 "version": "5.1.0",
3941 "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
3942 "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
3943 "dev": true,
3944 "requires": {
3945 "ansi-styles": "^3.2.0",
3946 "string-width": "^3.0.0",
3947 "strip-ansi": "^5.0.0"
3948 }
3949 },
3950 "yargs": {
3951 "version": "14.0.0",
3952 "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.0.0.tgz",
3953 "integrity": "sha512-ssa5JuRjMeZEUjg7bEL99AwpitxU/zWGAGpdj0di41pOEmJti8NR6kyUIJBkR78DTYNPZOU08luUo0GTHuB+ow==",
3954 "dev": true,
3955 "requires": {
3956 "cliui": "^5.0.0",
3957 "decamelize": "^1.2.0",
3958 "find-up": "^3.0.0",
3959 "get-caller-file": "^2.0.1",
3960 "require-directory": "^2.1.1",
3961 "require-main-filename": "^2.0.0",
3962 "set-blocking": "^2.0.0",
3963 "string-width": "^3.0.0",
3964 "which-module": "^2.0.0",
3965 "y18n": "^4.0.0",
3966 "yargs-parser": "^13.1.1"
3967 }
3968 },
3969 "yargs-parser": {
3970 "version": "13.1.1",
3971 "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz",
3972 "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==",
3973 "dev": true,
3974 "requires": {
3975 "camelcase": "^5.0.0",
3976 "decamelize": "^1.2.0"
3977 }
3978 }
3979 }
3980 },
2821 "amdefine": { 3981 "amdefine": {
2822 "version": "1.0.1", 3982 "version": "1.0.1",
2823 "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", 3983 "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
@@ -2861,15 +4021,118 @@
2861 } 4021 }
2862 } 4022 }
2863 }, 4023 },
4024 "ansi-bgblack": {
4025 "version": "0.1.1",
4026 "resolved": "https://registry.npmjs.org/ansi-bgblack/-/ansi-bgblack-0.1.1.tgz",
4027 "integrity": "sha1-poulAHiHcBtqr74/oNrf36juPKI=",
4028 "requires": {
4029 "ansi-wrap": "0.1.0"
4030 }
4031 },
4032 "ansi-bgblue": {
4033 "version": "0.1.1",
4034 "resolved": "https://registry.npmjs.org/ansi-bgblue/-/ansi-bgblue-0.1.1.tgz",
4035 "integrity": "sha1-Z73ATtybm1J4lp2hlt6j11yMNhM=",
4036 "requires": {
4037 "ansi-wrap": "0.1.0"
4038 }
4039 },
4040 "ansi-bgcyan": {
4041 "version": "0.1.1",
4042 "resolved": "https://registry.npmjs.org/ansi-bgcyan/-/ansi-bgcyan-0.1.1.tgz",
4043 "integrity": "sha1-WEiUJWAL3p9VBwaN2Wnr/bUP52g=",
4044 "requires": {
4045 "ansi-wrap": "0.1.0"
4046 }
4047 },
4048 "ansi-bggreen": {
4049 "version": "0.1.1",
4050 "resolved": "https://registry.npmjs.org/ansi-bggreen/-/ansi-bggreen-0.1.1.tgz",
4051 "integrity": "sha1-TjGRJIUplD9DIelr8THRwTgWr0k=",
4052 "requires": {
4053 "ansi-wrap": "0.1.0"
4054 }
4055 },
4056 "ansi-bgmagenta": {
4057 "version": "0.1.1",
4058 "resolved": "https://registry.npmjs.org/ansi-bgmagenta/-/ansi-bgmagenta-0.1.1.tgz",
4059 "integrity": "sha1-myhDLAduqpmUGGcqPvvhk5HCx6E=",
4060 "requires": {
4061 "ansi-wrap": "0.1.0"
4062 }
4063 },
4064 "ansi-bgred": {
4065 "version": "0.1.1",
4066 "resolved": "https://registry.npmjs.org/ansi-bgred/-/ansi-bgred-0.1.1.tgz",
4067 "integrity": "sha1-p2+Sg4OCukMpCmwXeEJPmE1vEEE=",
4068 "requires": {
4069 "ansi-wrap": "0.1.0"
4070 }
4071 },
4072 "ansi-bgwhite": {
4073 "version": "0.1.1",
4074 "resolved": "https://registry.npmjs.org/ansi-bgwhite/-/ansi-bgwhite-0.1.1.tgz",
4075 "integrity": "sha1-ZQRlE3elim7OzQMxmU5IAljhG6g=",
4076 "requires": {
4077 "ansi-wrap": "0.1.0"
4078 }
4079 },
4080 "ansi-bgyellow": {
4081 "version": "0.1.1",
4082 "resolved": "https://registry.npmjs.org/ansi-bgyellow/-/ansi-bgyellow-0.1.1.tgz",
4083 "integrity": "sha1-w/4usIzUdmSAKeaHTRWgs49h1E8=",
4084 "requires": {
4085 "ansi-wrap": "0.1.0"
4086 }
4087 },
4088 "ansi-black": {
4089 "version": "0.1.1",
4090 "resolved": "https://registry.npmjs.org/ansi-black/-/ansi-black-0.1.1.tgz",
4091 "integrity": "sha1-9hheiJNgslRaHsUMC/Bj/EMDJFM=",
4092 "requires": {
4093 "ansi-wrap": "0.1.0"
4094 }
4095 },
4096 "ansi-blue": {
4097 "version": "0.1.1",
4098 "resolved": "https://registry.npmjs.org/ansi-blue/-/ansi-blue-0.1.1.tgz",
4099 "integrity": "sha1-FbgEmQ6S/JyoxUds6PaZd3wh7b8=",
4100 "requires": {
4101 "ansi-wrap": "0.1.0"
4102 }
4103 },
4104 "ansi-bold": {
4105 "version": "0.1.1",
4106 "resolved": "https://registry.npmjs.org/ansi-bold/-/ansi-bold-0.1.1.tgz",
4107 "integrity": "sha1-PmOVCvWswq4uZw5vZ96xFdGl9QU=",
4108 "requires": {
4109 "ansi-wrap": "0.1.0"
4110 }
4111 },
2864 "ansi-colors": { 4112 "ansi-colors": {
2865 "version": "1.1.0", 4113 "version": "1.1.0",
2866 "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", 4114 "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
2867 "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", 4115 "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
2868 "dev": true,
2869 "requires": { 4116 "requires": {
2870 "ansi-wrap": "^0.1.0" 4117 "ansi-wrap": "^0.1.0"
2871 } 4118 }
2872 }, 4119 },
4120 "ansi-cyan": {
4121 "version": "0.1.1",
4122 "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz",
4123 "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=",
4124 "requires": {
4125 "ansi-wrap": "0.1.0"
4126 }
4127 },
4128 "ansi-dim": {
4129 "version": "0.1.1",
4130 "resolved": "https://registry.npmjs.org/ansi-dim/-/ansi-dim-0.1.1.tgz",
4131 "integrity": "sha1-QN5MYDqoCG2Oeoa4/5mNXDbu/Ww=",
4132 "requires": {
4133 "ansi-wrap": "0.1.0"
4134 }
4135 },
2873 "ansi-escapes": { 4136 "ansi-escapes": {
2874 "version": "3.2.0", 4137 "version": "3.2.0",
2875 "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", 4138 "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
@@ -2880,7 +4143,30 @@
2880 "version": "0.1.1", 4143 "version": "0.1.1",
2881 "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", 4144 "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
2882 "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", 4145 "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=",
2883 "dev": true, 4146 "requires": {
4147 "ansi-wrap": "0.1.0"
4148 }
4149 },
4150 "ansi-green": {
4151 "version": "0.1.1",
4152 "resolved": "https://registry.npmjs.org/ansi-green/-/ansi-green-0.1.1.tgz",
4153 "integrity": "sha1-il2al55FjVfEDjNYCzc5C44Q0Pc=",
4154 "requires": {
4155 "ansi-wrap": "0.1.0"
4156 }
4157 },
4158 "ansi-grey": {
4159 "version": "0.1.1",
4160 "resolved": "https://registry.npmjs.org/ansi-grey/-/ansi-grey-0.1.1.tgz",
4161 "integrity": "sha1-WdmLasK6GfilF5jphT+6eDOaM8E=",
4162 "requires": {
4163 "ansi-wrap": "0.1.0"
4164 }
4165 },
4166 "ansi-hidden": {
4167 "version": "0.1.1",
4168 "resolved": "https://registry.npmjs.org/ansi-hidden/-/ansi-hidden-0.1.1.tgz",
4169 "integrity": "sha1-7WpMSY0rt8uyidvyqNHcyFZ/rg8=",
2884 "requires": { 4170 "requires": {
2885 "ansi-wrap": "0.1.0" 4171 "ansi-wrap": "0.1.0"
2886 } 4172 }
@@ -2891,24 +4177,100 @@
2891 "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", 4177 "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
2892 "dev": true 4178 "dev": true
2893 }, 4179 },
4180 "ansi-inverse": {
4181 "version": "0.1.1",
4182 "resolved": "https://registry.npmjs.org/ansi-inverse/-/ansi-inverse-0.1.1.tgz",
4183 "integrity": "sha1-tq9Fgm/oJr+1KKbHmIV5Q1XM0mk=",
4184 "requires": {
4185 "ansi-wrap": "0.1.0"
4186 }
4187 },
4188 "ansi-italic": {
4189 "version": "0.1.1",
4190 "resolved": "https://registry.npmjs.org/ansi-italic/-/ansi-italic-0.1.1.tgz",
4191 "integrity": "sha1-EEdDRj9iXBQqA2c5z4XtpoiYbyM=",
4192 "requires": {
4193 "ansi-wrap": "0.1.0"
4194 }
4195 },
4196 "ansi-magenta": {
4197 "version": "0.1.1",
4198 "resolved": "https://registry.npmjs.org/ansi-magenta/-/ansi-magenta-0.1.1.tgz",
4199 "integrity": "sha1-BjtboW+z8j4c/aKwfAqJ3hHkMK4=",
4200 "requires": {
4201 "ansi-wrap": "0.1.0"
4202 }
4203 },
4204 "ansi-red": {
4205 "version": "0.1.1",
4206 "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz",
4207 "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=",
4208 "requires": {
4209 "ansi-wrap": "0.1.0"
4210 }
4211 },
2894 "ansi-regex": { 4212 "ansi-regex": {
2895 "version": "3.0.0", 4213 "version": "3.0.0",
2896 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 4214 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
2897 "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" 4215 "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
2898 }, 4216 },
4217 "ansi-reset": {
4218 "version": "0.1.1",
4219 "resolved": "https://registry.npmjs.org/ansi-reset/-/ansi-reset-0.1.1.tgz",
4220 "integrity": "sha1-5+cSksPH3c1NYu9KbHwFmAkRw7c=",
4221 "requires": {
4222 "ansi-wrap": "0.1.0"
4223 }
4224 },
4225 "ansi-strikethrough": {
4226 "version": "0.1.1",
4227 "resolved": "https://registry.npmjs.org/ansi-strikethrough/-/ansi-strikethrough-0.1.1.tgz",
4228 "integrity": "sha1-2Eh3FAss/wfRyT685pkE9oiF5Wg=",
4229 "requires": {
4230 "ansi-wrap": "0.1.0"
4231 }
4232 },
2899 "ansi-styles": { 4233 "ansi-styles": {
2900 "version": "3.2.1", 4234 "version": "3.2.1",
2901 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 4235 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
2902 "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 4236 "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
2903 "dev": true,
2904 "requires": { 4237 "requires": {
2905 "color-convert": "^1.9.0" 4238 "color-convert": "^1.9.0"
2906 } 4239 }
2907 }, 4240 },
4241 "ansi-underline": {
4242 "version": "0.1.1",
4243 "resolved": "https://registry.npmjs.org/ansi-underline/-/ansi-underline-0.1.1.tgz",
4244 "integrity": "sha1-38kg9Ml7WXfqFi34/7mIMIqqcaQ=",
4245 "requires": {
4246 "ansi-wrap": "0.1.0"
4247 }
4248 },
4249 "ansi-white": {
4250 "version": "0.1.1",
4251 "resolved": "https://registry.npmjs.org/ansi-white/-/ansi-white-0.1.1.tgz",
4252 "integrity": "sha1-nHe3wZPF7pkuYBHTbsTJIbRXiUQ=",
4253 "requires": {
4254 "ansi-wrap": "0.1.0"
4255 }
4256 },
2908 "ansi-wrap": { 4257 "ansi-wrap": {
2909 "version": "0.1.0", 4258 "version": "0.1.0",
2910 "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", 4259 "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
2911 "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", 4260 "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768="
4261 },
4262 "ansi-yellow": {
4263 "version": "0.1.1",
4264 "resolved": "https://registry.npmjs.org/ansi-yellow/-/ansi-yellow-0.1.1.tgz",
4265 "integrity": "sha1-y5NW8vRscy8OMZnmEClVp32oPB0=",
4266 "requires": {
4267 "ansi-wrap": "0.1.0"
4268 }
4269 },
4270 "any-promise": {
4271 "version": "1.3.0",
4272 "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
4273 "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=",
2912 "dev": true 4274 "dev": true
2913 }, 4275 },
2914 "anymatch": { 4276 "anymatch": {
@@ -2957,40 +4319,6 @@
2957 "temp-file": "^3.3.4" 4319 "temp-file": "^3.3.4"
2958 }, 4320 },
2959 "dependencies": { 4321 "dependencies": {
2960 "bluebird": {
2961 "version": "3.5.5",
2962 "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz",
2963 "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==",
2964 "dev": true
2965 },
2966 "bluebird-lst": {
2967 "version": "1.0.9",
2968 "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz",
2969 "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==",
2970 "dev": true,
2971 "requires": {
2972 "bluebird": "^3.5.5"
2973 }
2974 },
2975 "builder-util-runtime": {
2976 "version": "8.3.0",
2977 "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.3.0.tgz",
2978 "integrity": "sha512-CSOdsYqf4RXIHh1HANPbrZHlZ9JQJXSuDDloblZPcWQVN62inyYoTQuSmY3KrgefME2Sv3Kn2MxHvbGQHRf8Iw==",
2979 "dev": true,
2980 "requires": {
2981 "debug": "^4.1.1",
2982 "sax": "^1.2.4"
2983 }
2984 },
2985 "debug": {
2986 "version": "4.1.1",
2987 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
2988 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
2989 "dev": true,
2990 "requires": {
2991 "ms": "^2.1.1"
2992 }
2993 },
2994 "fs-extra": { 4322 "fs-extra": {
2995 "version": "8.1.0", 4323 "version": "8.1.0",
2996 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", 4324 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
@@ -3002,28 +4330,6 @@
3002 "universalify": "^0.1.0" 4330 "universalify": "^0.1.0"
3003 } 4331 }
3004 }, 4332 },
3005 "graceful-fs": {
3006 "version": "4.2.2",
3007 "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
3008 "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==",
3009 "dev": true
3010 },
3011 "js-yaml": {
3012 "version": "3.13.1",
3013 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
3014 "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
3015 "dev": true,
3016 "requires": {
3017 "argparse": "^1.0.7",
3018 "esprima": "^4.0.0"
3019 }
3020 },
3021 "lazy-val": {
3022 "version": "1.0.4",
3023 "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.4.tgz",
3024 "integrity": "sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q==",
3025 "dev": true
3026 },
3027 "semver": { 4333 "semver": {
3028 "version": "6.3.0", 4334 "version": "6.3.0",
3029 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 4335 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
@@ -3041,15 +4347,6 @@
3041 "buffer-equal": "^1.0.0" 4347 "buffer-equal": "^1.0.0"
3042 } 4348 }
3043 }, 4349 },
3044 "append-transform": {
3045 "version": "1.0.0",
3046 "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz",
3047 "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==",
3048 "dev": true,
3049 "requires": {
3050 "default-require-extensions": "^2.0.0"
3051 }
3052 },
3053 "applescript": { 4350 "applescript": {
3054 "version": "1.0.0", 4351 "version": "1.0.0",
3055 "resolved": "https://registry.npmjs.org/applescript/-/applescript-1.0.0.tgz", 4352 "resolved": "https://registry.npmjs.org/applescript/-/applescript-1.0.0.tgz",
@@ -3058,8 +4355,7 @@
3058 "aproba": { 4355 "aproba": {
3059 "version": "1.2.0", 4356 "version": "1.2.0",
3060 "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", 4357 "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
3061 "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", 4358 "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
3062 "dev": true
3063 }, 4359 },
3064 "archy": { 4360 "archy": {
3065 "version": "1.0.0", 4361 "version": "1.0.0",
@@ -3071,7 +4367,6 @@
3071 "version": "1.1.5", 4367 "version": "1.1.5",
3072 "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", 4368 "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
3073 "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", 4369 "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
3074 "dev": true,
3075 "requires": { 4370 "requires": {
3076 "delegates": "^1.0.0", 4371 "delegates": "^1.0.0",
3077 "readable-stream": "^2.0.6" 4372 "readable-stream": "^2.0.6"
@@ -3081,7 +4376,6 @@
3081 "version": "2.3.6", 4376 "version": "2.3.6",
3082 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", 4377 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
3083 "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", 4378 "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
3084 "dev": true,
3085 "requires": { 4379 "requires": {
3086 "core-util-is": "~1.0.0", 4380 "core-util-is": "~1.0.0",
3087 "inherits": "~2.0.3", 4381 "inherits": "~2.0.3",
@@ -3092,11 +4386,15 @@
3092 "util-deprecate": "~1.0.1" 4386 "util-deprecate": "~1.0.1"
3093 } 4387 }
3094 }, 4388 },
4389 "safe-buffer": {
4390 "version": "5.1.2",
4391 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
4392 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
4393 },
3095 "string_decoder": { 4394 "string_decoder": {
3096 "version": "1.1.1", 4395 "version": "1.1.1",
3097 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 4396 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
3098 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 4397 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
3099 "dev": true,
3100 "requires": { 4398 "requires": {
3101 "safe-buffer": "~5.1.0" 4399 "safe-buffer": "~5.1.0"
3102 } 4400 }
@@ -3119,28 +4417,12 @@
3119 "requires": { 4417 "requires": {
3120 "ast-types-flow": "0.0.7", 4418 "ast-types-flow": "0.0.7",
3121 "commander": "^2.11.0" 4419 "commander": "^2.11.0"
3122 },
3123 "dependencies": {
3124 "debug": {
3125 "version": "1.0.4",
3126 "resolved": "https://registry.npmjs.org/debug/-/debug-1.0.4.tgz",
3127 "integrity": "sha1-W5wla9VLbsAigxdvqKDt5tFUy/g=",
3128 "requires": {
3129 "ms": "0.6.2"
3130 }
3131 },
3132 "ms": {
3133 "version": "0.6.2",
3134 "resolved": "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz",
3135 "integrity": "sha1-2JwhJMb9wTU9Zai3e/GqxLGTcIw="
3136 }
3137 } 4420 }
3138 }, 4421 },
3139 "arr-diff": { 4422 "arr-diff": {
3140 "version": "4.0.0", 4423 "version": "4.0.0",
3141 "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", 4424 "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
3142 "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", 4425 "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
3143 "dev": true
3144 }, 4426 },
3145 "arr-filter": { 4427 "arr-filter": {
3146 "version": "1.1.2", 4428 "version": "1.1.2",
@@ -3154,8 +4436,7 @@
3154 "arr-flatten": { 4436 "arr-flatten": {
3155 "version": "1.1.0", 4437 "version": "1.1.0",
3156 "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", 4438 "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
3157 "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", 4439 "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
3158 "dev": true
3159 }, 4440 },
3160 "arr-map": { 4441 "arr-map": {
3161 "version": "2.0.2", 4442 "version": "2.0.2",
@@ -3166,11 +4447,18 @@
3166 "make-iterator": "^1.0.0" 4447 "make-iterator": "^1.0.0"
3167 } 4448 }
3168 }, 4449 },
4450 "arr-swap": {
4451 "version": "1.0.1",
4452 "resolved": "https://registry.npmjs.org/arr-swap/-/arr-swap-1.0.1.tgz",
4453 "integrity": "sha1-FHWQ7WX8gVvAf+8Jl8Llgj1kNTQ=",
4454 "requires": {
4455 "is-number": "^3.0.0"
4456 }
4457 },
3169 "arr-union": { 4458 "arr-union": {
3170 "version": "3.1.0", 4459 "version": "3.1.0",
3171 "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", 4460 "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
3172 "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", 4461 "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
3173 "dev": true
3174 }, 4462 },
3175 "array-differ": { 4463 "array-differ": {
3176 "version": "1.0.0", 4464 "version": "1.0.0",
@@ -3181,8 +4469,7 @@
3181 "array-each": { 4469 "array-each": {
3182 "version": "1.0.1", 4470 "version": "1.0.1",
3183 "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", 4471 "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
3184 "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", 4472 "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8="
3185 "dev": true
3186 }, 4473 },
3187 "array-equal": { 4474 "array-equal": {
3188 "version": "1.0.0", 4475 "version": "1.0.0",
@@ -3256,8 +4543,7 @@
3256 "array-slice": { 4543 "array-slice": {
3257 "version": "1.1.0", 4544 "version": "1.1.0",
3258 "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", 4545 "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
3259 "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", 4546 "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w=="
3260 "dev": true
3261 }, 4547 },
3262 "array-sort": { 4548 "array-sort": {
3263 "version": "1.0.0", 4549 "version": "1.0.0",
@@ -3296,8 +4582,7 @@
3296 "array-unique": { 4582 "array-unique": {
3297 "version": "0.3.2", 4583 "version": "0.3.2",
3298 "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", 4584 "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
3299 "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", 4585 "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
3300 "dev": true
3301 }, 4586 },
3302 "arraybuffer.slice": { 4587 "arraybuffer.slice": {
3303 "version": "0.0.6", 4588 "version": "0.0.6",
@@ -3320,7 +4605,6 @@
3320 "version": "0.2.4", 4605 "version": "0.2.4",
3321 "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", 4606 "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
3322 "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", 4607 "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
3323 "dev": true,
3324 "requires": { 4608 "requires": {
3325 "safer-buffer": "~2.1.0" 4609 "safer-buffer": "~2.1.0"
3326 } 4610 }
@@ -3337,11 +4621,12 @@
3337 } 4621 }
3338 }, 4622 },
3339 "assert": { 4623 "assert": {
3340 "version": "1.4.1", 4624 "version": "1.5.0",
3341 "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", 4625 "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
3342 "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", 4626 "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
3343 "dev": true, 4627 "dev": true,
3344 "requires": { 4628 "requires": {
4629 "object-assign": "^4.1.1",
3345 "util": "0.10.3" 4630 "util": "0.10.3"
3346 }, 4631 },
3347 "dependencies": { 4632 "dependencies": {
@@ -3365,14 +4650,12 @@
3365 "assert-plus": { 4650 "assert-plus": {
3366 "version": "1.0.0", 4651 "version": "1.0.0",
3367 "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 4652 "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
3368 "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 4653 "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
3369 "dev": true
3370 }, 4654 },
3371 "assign-symbols": { 4655 "assign-symbols": {
3372 "version": "1.0.0", 4656 "version": "1.0.0",
3373 "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", 4657 "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
3374 "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", 4658 "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
3375 "dev": true
3376 }, 4659 },
3377 "ast-types-flow": { 4660 "ast-types-flow": {
3378 "version": "0.0.7", 4661 "version": "0.0.7",
@@ -3392,29 +4675,21 @@
3392 "integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE=" 4675 "integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE="
3393 }, 4676 },
3394 "async-done": { 4677 "async-done": {
3395 "version": "1.3.1", 4678 "version": "1.3.2",
3396 "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.1.tgz", 4679 "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz",
3397 "integrity": "sha512-R1BaUeJ4PMoLNJuk+0tLJgjmEqVsdN118+Z8O+alhnQDQgy0kmD5Mqi0DNEmMx2LM0Ed5yekKu+ZXYvIHceicg==", 4680 "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==",
3398 "dev": true, 4681 "dev": true,
3399 "requires": { 4682 "requires": {
3400 "end-of-stream": "^1.1.0", 4683 "end-of-stream": "^1.1.0",
3401 "once": "^1.3.2", 4684 "once": "^1.3.2",
3402 "process-nextick-args": "^1.0.7", 4685 "process-nextick-args": "^2.0.0",
3403 "stream-exhaust": "^1.0.1" 4686 "stream-exhaust": "^1.0.1"
3404 },
3405 "dependencies": {
3406 "process-nextick-args": {
3407 "version": "1.0.7",
3408 "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
3409 "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
3410 "dev": true
3411 }
3412 } 4687 }
3413 }, 4688 },
3414 "async-each": { 4689 "async-each": {
3415 "version": "1.0.1", 4690 "version": "1.0.3",
3416 "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", 4691 "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
3417 "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", 4692 "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
3418 "dev": true 4693 "dev": true
3419 }, 4694 },
3420 "async-exit-hook": { 4695 "async-exit-hook": {
@@ -3430,9 +4705,9 @@
3430 "dev": true 4705 "dev": true
3431 }, 4706 },
3432 "async-limiter": { 4707 "async-limiter": {
3433 "version": "1.0.0", 4708 "version": "1.0.1",
3434 "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", 4709 "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
3435 "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" 4710 "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ=="
3436 }, 4711 },
3437 "async-settle": { 4712 "async-settle": {
3438 "version": "1.0.0", 4713 "version": "1.0.0",
@@ -3446,13 +4721,17 @@
3446 "asynckit": { 4721 "asynckit": {
3447 "version": "0.4.0", 4722 "version": "0.4.0",
3448 "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 4723 "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
3449 "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", 4724 "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
3450 "dev": true
3451 }, 4725 },
3452 "atob": { 4726 "atob": {
3453 "version": "2.1.2", 4727 "version": "2.1.2",
3454 "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", 4728 "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
3455 "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", 4729 "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
4730 },
4731 "atob-lite": {
4732 "version": "2.0.0",
4733 "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz",
4734 "integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY=",
3456 "dev": true 4735 "dev": true
3457 }, 4736 },
3458 "attr-accept": { 4737 "attr-accept": {
@@ -3464,27 +4743,26 @@
3464 } 4743 }
3465 }, 4744 },
3466 "auto-launch": { 4745 "auto-launch": {
3467 "version": "git+https://github.com/meetfranz/node-auto-launch.git#b90a0470467eb84435e6554ae9db1e2c6db79e61", 4746 "version": "5.0.5",
3468 "from": "git+https://github.com/meetfranz/node-auto-launch.git", 4747 "resolved": "https://registry.npmjs.org/auto-launch/-/auto-launch-5.0.5.tgz",
4748 "integrity": "sha512-ppdF4mihhYzMYLuCcx9H/c5TUOCev8uM7en53zWVQhyYAJrurd2bFZx3qQVeJKF2jrc7rsPRNN5cD+i23l6PdA==",
3469 "requires": { 4749 "requires": {
3470 "applescript": "^1.0.0", 4750 "applescript": "^1.0.0",
3471 "mkdirp": "^0.5.1", 4751 "mkdirp": "^0.5.1",
3472 "path-is-absolute": "^1.0.0", 4752 "path-is-absolute": "^1.0.0",
3473 "untildify": "^3.0.2", 4753 "untildify": "^3.0.2",
3474 "winreg": "1.2.2" 4754 "winreg": "1.2.4"
3475 } 4755 }
3476 }, 4756 },
3477 "aws-sign2": { 4757 "aws-sign2": {
3478 "version": "0.7.0", 4758 "version": "0.7.0",
3479 "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", 4759 "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
3480 "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", 4760 "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
3481 "dev": true
3482 }, 4761 },
3483 "aws4": { 4762 "aws4": {
3484 "version": "1.8.0", 4763 "version": "1.8.0",
3485 "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", 4764 "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
3486 "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", 4765 "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
3487 "dev": true
3488 }, 4766 },
3489 "axobject-query": { 4767 "axobject-query": {
3490 "version": "2.0.2", 4768 "version": "2.0.2",
@@ -3569,43 +4847,59 @@
3569 } 4847 }
3570 }, 4848 },
3571 "babel-jest": { 4849 "babel-jest": {
3572 "version": "24.7.1", 4850 "version": "24.9.0",
3573 "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.7.1.tgz", 4851 "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz",
3574 "integrity": "sha512-GPnLqfk8Mtt0i4OemjWkChi73A3ALs4w2/QbG64uAj8b5mmwzxc7jbJVRZt8NJkxi6FopVHog9S3xX6UJKb2qg==", 4852 "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==",
3575 "dev": true, 4853 "dev": true,
3576 "requires": { 4854 "requires": {
3577 "@jest/transform": "^24.7.1", 4855 "@jest/transform": "^24.9.0",
3578 "@jest/types": "^24.7.0", 4856 "@jest/types": "^24.9.0",
3579 "@types/babel__core": "^7.1.0", 4857 "@types/babel__core": "^7.1.0",
3580 "babel-plugin-istanbul": "^5.1.0", 4858 "babel-plugin-istanbul": "^5.1.0",
3581 "babel-preset-jest": "^24.6.0", 4859 "babel-preset-jest": "^24.9.0",
3582 "chalk": "^2.4.2", 4860 "chalk": "^2.4.2",
3583 "slash": "^2.0.0" 4861 "slash": "^2.0.0"
3584 } 4862 }
3585 }, 4863 },
3586 "babel-loader": { 4864 "babel-loader": {
3587 "version": "8.0.5", 4865 "version": "8.0.6",
3588 "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.5.tgz", 4866 "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz",
3589 "integrity": "sha512-NTnHnVRd2JnRqPC0vW+iOQWU5pchDbYXsG2E6DMXEpMfUcQKclF9gmf3G3ZMhzG7IG9ji4coL0cm+FxeWxDpnw==", 4867 "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==",
3590 "dev": true, 4868 "dev": true,
3591 "requires": { 4869 "requires": {
3592 "find-cache-dir": "^2.0.0", 4870 "find-cache-dir": "^2.0.0",
3593 "loader-utils": "^1.0.2", 4871 "loader-utils": "^1.0.2",
3594 "mkdirp": "^0.5.1", 4872 "mkdirp": "^0.5.1",
3595 "util.promisify": "^1.0.0" 4873 "pify": "^4.0.1"
3596 }, 4874 },
3597 "dependencies": { 4875 "dependencies": {
3598 "find-cache-dir": { 4876 "find-cache-dir": {
3599 "version": "2.0.0", 4877 "version": "2.1.0",
3600 "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.0.0.tgz", 4878 "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
3601 "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==", 4879 "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
3602 "dev": true, 4880 "dev": true,
3603 "requires": { 4881 "requires": {
3604 "commondir": "^1.0.1", 4882 "commondir": "^1.0.1",
3605 "make-dir": "^1.0.0", 4883 "make-dir": "^2.0.0",
3606 "pkg-dir": "^3.0.0" 4884 "pkg-dir": "^3.0.0"
3607 } 4885 }
3608 }, 4886 },
4887 "make-dir": {
4888 "version": "2.1.0",
4889 "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
4890 "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
4891 "dev": true,
4892 "requires": {
4893 "pify": "^4.0.1",
4894 "semver": "^5.6.0"
4895 }
4896 },
4897 "pify": {
4898 "version": "4.0.1",
4899 "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
4900 "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
4901 "dev": true
4902 },
3609 "pkg-dir": { 4903 "pkg-dir": {
3610 "version": "3.0.0", 4904 "version": "3.0.0",
3611 "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", 4905 "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
@@ -3617,21 +4911,31 @@
3617 } 4911 }
3618 } 4912 }
3619 }, 4913 },
4914 "babel-plugin-dynamic-import-node": {
4915 "version": "2.3.0",
4916 "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz",
4917 "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==",
4918 "dev": true,
4919 "requires": {
4920 "object.assign": "^4.1.0"
4921 }
4922 },
3620 "babel-plugin-istanbul": { 4923 "babel-plugin-istanbul": {
3621 "version": "5.1.2", 4924 "version": "5.2.0",
3622 "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.2.tgz", 4925 "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz",
3623 "integrity": "sha512-U3ZVajC+Z69Gim7ZzmD4Wcsq76i/1hqDamBfowc1tWzWjybRy70iWfngP2ME+1CrgcgZ/+muIbPY/Yi0dxdIkQ==", 4926 "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==",
3624 "dev": true, 4927 "dev": true,
3625 "requires": { 4928 "requires": {
4929 "@babel/helper-plugin-utils": "^7.0.0",
3626 "find-up": "^3.0.0", 4930 "find-up": "^3.0.0",
3627 "istanbul-lib-instrument": "^3.2.0", 4931 "istanbul-lib-instrument": "^3.3.0",
3628 "test-exclude": "^5.2.2" 4932 "test-exclude": "^5.2.3"
3629 } 4933 }
3630 }, 4934 },
3631 "babel-plugin-jest-hoist": { 4935 "babel-plugin-jest-hoist": {
3632 "version": "24.6.0", 4936 "version": "24.9.0",
3633 "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.6.0.tgz", 4937 "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz",
3634 "integrity": "sha512-3pKNH6hMt9SbOv0F3WVmy5CWQ4uogS3k0GY5XLyQHJ9EGpAT9XWkFd2ZiXXtkwFHdAHa5j7w7kfxSP5lAIwu7w==", 4938 "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==",
3635 "dev": true, 4939 "dev": true,
3636 "requires": { 4940 "requires": {
3637 "@types/babel__traverse": "^7.0.6" 4941 "@types/babel__traverse": "^7.0.6"
@@ -3649,13 +4953,13 @@
3649 } 4953 }
3650 }, 4954 },
3651 "babel-preset-jest": { 4955 "babel-preset-jest": {
3652 "version": "24.6.0", 4956 "version": "24.9.0",
3653 "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.6.0.tgz", 4957 "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz",
3654 "integrity": "sha512-pdZqLEdmy1ZK5kyRUfvBb2IfTPb2BUvIJczlPspS8fWmBQslNNDBqVfh7BW5leOVJMDZKzjD8XEyABTk6gQ5yw==", 4958 "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==",
3655 "dev": true, 4959 "dev": true,
3656 "requires": { 4960 "requires": {
3657 "@babel/plugin-syntax-object-rest-spread": "^7.0.0", 4961 "@babel/plugin-syntax-object-rest-spread": "^7.0.0",
3658 "babel-plugin-jest-hoist": "^24.6.0" 4962 "babel-plugin-jest-hoist": "^24.9.0"
3659 } 4963 }
3660 }, 4964 },
3661 "babel-runtime": { 4965 "babel-runtime": {
@@ -3706,7 +5010,6 @@
3706 "version": "0.11.2", 5010 "version": "0.11.2",
3707 "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", 5011 "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
3708 "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", 5012 "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
3709 "dev": true,
3710 "requires": { 5013 "requires": {
3711 "cache-base": "^1.0.1", 5014 "cache-base": "^1.0.1",
3712 "class-utils": "^0.3.5", 5015 "class-utils": "^0.3.5",
@@ -3721,7 +5024,6 @@
3721 "version": "1.0.0", 5024 "version": "1.0.0",
3722 "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 5025 "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
3723 "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 5026 "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
3724 "dev": true,
3725 "requires": { 5027 "requires": {
3726 "is-descriptor": "^1.0.0" 5028 "is-descriptor": "^1.0.0"
3727 } 5029 }
@@ -3730,7 +5032,6 @@
3730 "version": "1.0.0", 5032 "version": "1.0.0",
3731 "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 5033 "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
3732 "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 5034 "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
3733 "dev": true,
3734 "requires": { 5035 "requires": {
3735 "kind-of": "^6.0.0" 5036 "kind-of": "^6.0.0"
3736 } 5037 }
@@ -3739,7 +5040,6 @@
3739 "version": "1.0.0", 5040 "version": "1.0.0",
3740 "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 5041 "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
3741 "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 5042 "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
3742 "dev": true,
3743 "requires": { 5043 "requires": {
3744 "kind-of": "^6.0.0" 5044 "kind-of": "^6.0.0"
3745 } 5045 }
@@ -3748,7 +5048,6 @@
3748 "version": "1.0.2", 5048 "version": "1.0.2",
3749 "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 5049 "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
3750 "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 5050 "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
3751 "dev": true,
3752 "requires": { 5051 "requires": {
3753 "is-accessor-descriptor": "^1.0.0", 5052 "is-accessor-descriptor": "^1.0.0",
3754 "is-data-descriptor": "^1.0.0", 5053 "is-data-descriptor": "^1.0.0",
@@ -3764,9 +5063,9 @@
3764 "dev": true 5063 "dev": true
3765 }, 5064 },
3766 "base64-js": { 5065 "base64-js": {
3767 "version": "1.3.0", 5066 "version": "1.3.1",
3768 "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", 5067 "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
3769 "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", 5068 "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==",
3770 "dev": true 5069 "dev": true
3771 }, 5070 },
3772 "base64id": { 5071 "base64id": {
@@ -3775,21 +5074,45 @@
3775 "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", 5074 "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=",
3776 "dev": true 5075 "dev": true
3777 }, 5076 },
5077 "basic-auth": {
5078 "version": "2.0.1",
5079 "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz",
5080 "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==",
5081 "requires": {
5082 "safe-buffer": "5.1.2"
5083 },
5084 "dependencies": {
5085 "safe-buffer": {
5086 "version": "5.1.2",
5087 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
5088 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
5089 }
5090 }
5091 },
3778 "batch": { 5092 "batch": {
3779 "version": "0.5.1", 5093 "version": "0.5.1",
3780 "resolved": "https://registry.npmjs.org/batch/-/batch-0.5.1.tgz", 5094 "resolved": "https://registry.npmjs.org/batch/-/batch-0.5.1.tgz",
3781 "integrity": "sha1-NqS6tZTAUP17UHvKDbMMLZKvT/I=", 5095 "integrity": "sha1-NqS6tZTAUP17UHvKDbMMLZKvT/I=",
3782 "dev": true 5096 "dev": true
3783 }, 5097 },
5098 "bcp47": {
5099 "version": "1.1.2",
5100 "resolved": "https://registry.npmjs.org/bcp47/-/bcp47-1.1.2.tgz",
5101 "integrity": "sha1-NUvjMH/9CEM6ePXh4glYRfifx/4="
5102 },
3784 "bcrypt-pbkdf": { 5103 "bcrypt-pbkdf": {
3785 "version": "1.0.2", 5104 "version": "1.0.2",
3786 "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", 5105 "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
3787 "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", 5106 "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
3788 "dev": true,
3789 "requires": { 5107 "requires": {
3790 "tweetnacl": "^0.14.3" 5108 "tweetnacl": "^0.14.3"
3791 } 5109 }
3792 }, 5110 },
5111 "bcryptjs": {
5112 "version": "2.4.3",
5113 "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz",
5114 "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms="
5115 },
3793 "beeper": { 5116 "beeper": {
3794 "version": "1.1.1", 5117 "version": "1.1.1",
3795 "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", 5118 "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
@@ -3797,9 +5120,9 @@
3797 "dev": true 5120 "dev": true
3798 }, 5121 },
3799 "before-after-hook": { 5122 "before-after-hook": {
3800 "version": "1.3.2", 5123 "version": "2.1.0",
3801 "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-1.3.2.tgz", 5124 "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz",
3802 "integrity": "sha512-zyPgY5dgbf99c0uGUjhY4w+mxqEGxPKg9RQDl34VvrVh2bM31lFN+mwR1ZHepq/KA3VCPk1gwJZL6IIJqjLy2w==", 5125 "integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==",
3803 "dev": true 5126 "dev": true
3804 }, 5127 },
3805 "better-assert": { 5128 "better-assert": {
@@ -3818,9 +5141,9 @@
3818 "dev": true 5141 "dev": true
3819 }, 5142 },
3820 "binary-extensions": { 5143 "binary-extensions": {
3821 "version": "1.13.0", 5144 "version": "1.13.1",
3822 "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz", 5145 "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
3823 "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==", 5146 "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
3824 "dev": true 5147 "dev": true
3825 }, 5148 },
3826 "bindings": { 5149 "bindings": {
@@ -3831,6 +5154,53 @@
3831 "file-uri-to-path": "1.0.0" 5154 "file-uri-to-path": "1.0.0"
3832 } 5155 }
3833 }, 5156 },
5157 "bl": {
5158 "version": "1.2.2",
5159 "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
5160 "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==",
5161 "requires": {
5162 "readable-stream": "^2.3.5",
5163 "safe-buffer": "^5.1.1"
5164 },
5165 "dependencies": {
5166 "readable-stream": {
5167 "version": "2.3.6",
5168 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
5169 "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
5170 "requires": {
5171 "core-util-is": "~1.0.0",
5172 "inherits": "~2.0.3",
5173 "isarray": "~1.0.0",
5174 "process-nextick-args": "~2.0.0",
5175 "safe-buffer": "~5.1.1",
5176 "string_decoder": "~1.1.1",
5177 "util-deprecate": "~1.0.1"
5178 },
5179 "dependencies": {
5180 "safe-buffer": {
5181 "version": "5.1.2",
5182 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
5183 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
5184 }
5185 }
5186 },
5187 "string_decoder": {
5188 "version": "1.1.1",
5189 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
5190 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
5191 "requires": {
5192 "safe-buffer": "~5.1.0"
5193 },
5194 "dependencies": {
5195 "safe-buffer": {
5196 "version": "5.1.2",
5197 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
5198 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
5199 }
5200 }
5201 }
5202 }
5203 },
3834 "blob": { 5204 "blob": {
3835 "version": "0.0.4", 5205 "version": "0.0.4",
3836 "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", 5206 "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
@@ -3847,16 +5217,17 @@
3847 } 5217 }
3848 }, 5218 },
3849 "bluebird": { 5219 "bluebird": {
3850 "version": "3.5.3", 5220 "version": "3.5.5",
3851 "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", 5221 "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz",
3852 "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==" 5222 "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w=="
3853 }, 5223 },
3854 "bluebird-lst": { 5224 "bluebird-lst": {
3855 "version": "1.0.6", 5225 "version": "1.0.9",
3856 "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.6.tgz", 5226 "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz",
3857 "integrity": "sha512-CBWFoPuUPpcvMUxfyr8DKdI5d4kjxFl1h39+VbKxP3KJWJHEsLtuT4pPLkjpxCGU6Ask21tvbnftWXdqIxYldQ==", 5227 "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==",
5228 "dev": true,
3858 "requires": { 5229 "requires": {
3859 "bluebird": "^3.5.2" 5230 "bluebird": "^3.5.5"
3860 } 5231 }
3861 }, 5232 },
3862 "bn.js": { 5233 "bn.js": {
@@ -3866,23 +5237,38 @@
3866 "dev": true 5237 "dev": true
3867 }, 5238 },
3868 "body-parser": { 5239 "body-parser": {
3869 "version": "1.18.3", 5240 "version": "1.19.0",
3870 "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", 5241 "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
3871 "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", 5242 "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
3872 "dev": true, 5243 "dev": true,
3873 "requires": { 5244 "requires": {
3874 "bytes": "3.0.0", 5245 "bytes": "3.1.0",
3875 "content-type": "~1.0.4", 5246 "content-type": "~1.0.4",
3876 "debug": "2.6.9", 5247 "debug": "2.6.9",
3877 "depd": "~1.1.2", 5248 "depd": "~1.1.2",
3878 "http-errors": "~1.6.3", 5249 "http-errors": "1.7.2",
3879 "iconv-lite": "0.4.23", 5250 "iconv-lite": "0.4.24",
3880 "on-finished": "~2.3.0", 5251 "on-finished": "~2.3.0",
3881 "qs": "6.5.2", 5252 "qs": "6.7.0",
3882 "raw-body": "2.3.3", 5253 "raw-body": "2.4.0",
3883 "type-is": "~1.6.16" 5254 "type-is": "~1.6.17"
3884 }, 5255 },
3885 "dependencies": { 5256 "dependencies": {
5257 "bytes": {
5258 "version": "3.1.0",
5259 "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
5260 "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
5261 "dev": true
5262 },
5263 "debug": {
5264 "version": "2.6.9",
5265 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
5266 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
5267 "dev": true,
5268 "requires": {
5269 "ms": "2.0.0"
5270 }
5271 },
3886 "depd": { 5272 "depd": {
3887 "version": "1.1.2", 5273 "version": "1.1.2",
3888 "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", 5274 "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
@@ -3895,14 +5281,11 @@
3895 "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", 5281 "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
3896 "dev": true 5282 "dev": true
3897 }, 5283 },
3898 "iconv-lite": { 5284 "ms": {
3899 "version": "0.4.23", 5285 "version": "2.0.0",
3900 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", 5286 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
3901 "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", 5287 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
3902 "dev": true, 5288 "dev": true
3903 "requires": {
3904 "safer-buffer": ">= 2.1.2 < 3"
3905 }
3906 }, 5289 },
3907 "on-finished": { 5290 "on-finished": {
3908 "version": "2.3.0", 5291 "version": "2.3.0",
@@ -3912,6 +5295,12 @@
3912 "requires": { 5295 "requires": {
3913 "ee-first": "1.1.1" 5296 "ee-first": "1.1.1"
3914 } 5297 }
5298 },
5299 "qs": {
5300 "version": "6.7.0",
5301 "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
5302 "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
5303 "dev": true
3915 } 5304 }
3916 } 5305 }
3917 }, 5306 },
@@ -3966,12 +5355,6 @@
3966 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", 5355 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
3967 "dev": true 5356 "dev": true
3968 }, 5357 },
3969 "camelcase": {
3970 "version": "5.3.1",
3971 "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
3972 "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
3973 "dev": true
3974 },
3975 "string-width": { 5358 "string-width": {
3976 "version": "3.1.0", 5359 "version": "3.1.0",
3977 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 5360 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
@@ -4007,7 +5390,6 @@
4007 "version": "2.3.2", 5390 "version": "2.3.2",
4008 "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", 5391 "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
4009 "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", 5392 "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
4010 "dev": true,
4011 "requires": { 5393 "requires": {
4012 "arr-flatten": "^1.1.0", 5394 "arr-flatten": "^1.1.0",
4013 "array-unique": "^0.3.2", 5395 "array-unique": "^0.3.2",
@@ -4025,7 +5407,6 @@
4025 "version": "2.0.1", 5407 "version": "2.0.1",
4026 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 5408 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
4027 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 5409 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
4028 "dev": true,
4029 "requires": { 5410 "requires": {
4030 "is-extendable": "^0.1.0" 5411 "is-extendable": "^0.1.0"
4031 } 5412 }
@@ -4144,25 +5525,35 @@
4144 } 5525 }
4145 }, 5526 },
4146 "browserslist": { 5527 "browserslist": {
4147 "version": "4.4.1", 5528 "version": "4.7.0",
4148 "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.1.tgz", 5529 "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.0.tgz",
4149 "integrity": "sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A==", 5530 "integrity": "sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==",
4150 "dev": true, 5531 "dev": true,
4151 "requires": { 5532 "requires": {
4152 "caniuse-lite": "^1.0.30000929", 5533 "caniuse-lite": "^1.0.30000989",
4153 "electron-to-chromium": "^1.3.103", 5534 "electron-to-chromium": "^1.3.247",
4154 "node-releases": "^1.1.3" 5535 "node-releases": "^1.1.29"
4155 } 5536 }
4156 }, 5537 },
4157 "bser": { 5538 "bser": {
4158 "version": "2.0.0", 5539 "version": "2.1.0",
4159 "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", 5540 "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.0.tgz",
4160 "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", 5541 "integrity": "sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg==",
4161 "dev": true, 5542 "dev": true,
4162 "requires": { 5543 "requires": {
4163 "node-int64": "^0.4.0" 5544 "node-int64": "^0.4.0"
4164 } 5545 }
4165 }, 5546 },
5547 "bson": {
5548 "version": "1.1.1",
5549 "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.1.tgz",
5550 "integrity": "sha512-jCGVYLoYMHDkOsbwJZBCqwMHyH4c+wzgI9hG7Z6SZJRXWr+x58pdIbm2i9a/jFGCkRJqRUr8eoI7lDWa0hTkxg=="
5551 },
5552 "btoa": {
5553 "version": "1.2.1",
5554 "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz",
5555 "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g=="
5556 },
4166 "btoa-lite": { 5557 "btoa-lite": {
4167 "version": "1.0.0", 5558 "version": "1.0.0",
4168 "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", 5559 "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz",
@@ -4180,6 +5571,20 @@
4180 "isarray": "^1.0.0" 5571 "isarray": "^1.0.0"
4181 } 5572 }
4182 }, 5573 },
5574 "buffer-alloc": {
5575 "version": "1.2.0",
5576 "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
5577 "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
5578 "requires": {
5579 "buffer-alloc-unsafe": "^1.1.0",
5580 "buffer-fill": "^1.0.0"
5581 }
5582 },
5583 "buffer-alloc-unsafe": {
5584 "version": "1.1.0",
5585 "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
5586 "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg=="
5587 },
4183 "buffer-equal": { 5588 "buffer-equal": {
4184 "version": "1.0.0", 5589 "version": "1.0.0",
4185 "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", 5590 "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz",
@@ -4191,6 +5596,11 @@
4191 "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", 5596 "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
4192 "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" 5597 "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk="
4193 }, 5598 },
5599 "buffer-fill": {
5600 "version": "1.0.0",
5601 "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
5602 "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw="
5603 },
4194 "buffer-from": { 5604 "buffer-from": {
4195 "version": "1.1.1", 5605 "version": "1.1.1",
4196 "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", 5606 "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
@@ -4229,40 +5639,6 @@
4229 "temp-file": "^3.3.4" 5639 "temp-file": "^3.3.4"
4230 }, 5640 },
4231 "dependencies": { 5641 "dependencies": {
4232 "bluebird": {
4233 "version": "3.5.5",
4234 "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz",
4235 "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==",
4236 "dev": true
4237 },
4238 "bluebird-lst": {
4239 "version": "1.0.9",
4240 "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz",
4241 "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==",
4242 "dev": true,
4243 "requires": {
4244 "bluebird": "^3.5.5"
4245 }
4246 },
4247 "builder-util-runtime": {
4248 "version": "8.3.0",
4249 "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.3.0.tgz",
4250 "integrity": "sha512-CSOdsYqf4RXIHh1HANPbrZHlZ9JQJXSuDDloblZPcWQVN62inyYoTQuSmY3KrgefME2Sv3Kn2MxHvbGQHRf8Iw==",
4251 "dev": true,
4252 "requires": {
4253 "debug": "^4.1.1",
4254 "sax": "^1.2.4"
4255 }
4256 },
4257 "debug": {
4258 "version": "4.1.1",
4259 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
4260 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
4261 "dev": true,
4262 "requires": {
4263 "ms": "^2.1.1"
4264 }
4265 },
4266 "fs-extra": { 5642 "fs-extra": {
4267 "version": "8.1.0", 5643 "version": "8.1.0",
4268 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", 5644 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
@@ -4273,59 +5649,16 @@
4273 "jsonfile": "^4.0.0", 5649 "jsonfile": "^4.0.0",
4274 "universalify": "^0.1.0" 5650 "universalify": "^0.1.0"
4275 } 5651 }
4276 },
4277 "graceful-fs": {
4278 "version": "4.2.2",
4279 "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
4280 "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==",
4281 "dev": true
4282 },
4283 "js-yaml": {
4284 "version": "3.13.1",
4285 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
4286 "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
4287 "dev": true,
4288 "requires": {
4289 "argparse": "^1.0.7",
4290 "esprima": "^4.0.0"
4291 }
4292 },
4293 "source-map-support": {
4294 "version": "0.5.13",
4295 "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
4296 "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
4297 "dev": true,
4298 "requires": {
4299 "buffer-from": "^1.0.0",
4300 "source-map": "^0.6.0"
4301 }
4302 } 5652 }
4303 } 5653 }
4304 }, 5654 },
4305 "builder-util-runtime": { 5655 "builder-util-runtime": {
4306 "version": "8.1.1", 5656 "version": "8.3.0",
4307 "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.1.1.tgz", 5657 "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.3.0.tgz",
4308 "integrity": "sha512-+ieS4PMB33vVE2S3ZNWBEQJ1zKmAs/agrBdh7XadE1lKLjrH4aXYuOh9OOGdxqIRldhlhNBaF+yKMMEFOdNVig==", 5658 "integrity": "sha512-CSOdsYqf4RXIHh1HANPbrZHlZ9JQJXSuDDloblZPcWQVN62inyYoTQuSmY3KrgefME2Sv3Kn2MxHvbGQHRf8Iw==",
4309 "requires": { 5659 "requires": {
4310 "bluebird-lst": "^1.0.6",
4311 "debug": "^4.1.1", 5660 "debug": "^4.1.1",
4312 "fs-extra-p": "^7.0.0",
4313 "sax": "^1.2.4" 5661 "sax": "^1.2.4"
4314 },
4315 "dependencies": {
4316 "debug": {
4317 "version": "4.1.1",
4318 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
4319 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
4320 "requires": {
4321 "ms": "^2.1.1"
4322 }
4323 },
4324 "ms": {
4325 "version": "2.1.1",
4326 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
4327 "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
4328 }
4329 } 5662 }
4330 }, 5663 },
4331 "builtin-modules": { 5664 "builtin-modules": {
@@ -4353,34 +5686,34 @@
4353 "dev": true 5686 "dev": true
4354 }, 5687 },
4355 "byte-size": { 5688 "byte-size": {
4356 "version": "4.0.4", 5689 "version": "5.0.1",
4357 "resolved": "https://registry.npmjs.org/byte-size/-/byte-size-4.0.4.tgz", 5690 "resolved": "https://registry.npmjs.org/byte-size/-/byte-size-5.0.1.tgz",
4358 "integrity": "sha512-82RPeneC6nqCdSwCX2hZUz3JPOvN5at/nTEw/CMf05Smu3Hrpo9Psb7LjN+k+XndNArG1EY8L4+BM3aTM4BCvw==", 5691 "integrity": "sha512-/XuKeqWocKsYa/cBY1YbSJSWWqTi4cFgr9S6OyM7PBaPbr9zvNGwWP33vt0uqGhwDdN+y3yhbXVILEUpnwEWGw==",
4359 "dev": true 5692 "dev": true
4360 }, 5693 },
4361 "bytes": { 5694 "bytes": {
4362 "version": "3.0.0", 5695 "version": "3.0.0",
4363 "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", 5696 "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
4364 "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", 5697 "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
4365 "dev": true
4366 }, 5698 },
4367 "cacache": { 5699 "cacache": {
4368 "version": "11.3.2", 5700 "version": "12.0.3",
4369 "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.2.tgz", 5701 "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz",
4370 "integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==", 5702 "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==",
4371 "dev": true, 5703 "dev": true,
4372 "requires": { 5704 "requires": {
4373 "bluebird": "^3.5.3", 5705 "bluebird": "^3.5.5",
4374 "chownr": "^1.1.1", 5706 "chownr": "^1.1.1",
4375 "figgy-pudding": "^3.5.1", 5707 "figgy-pudding": "^3.5.1",
4376 "glob": "^7.1.3", 5708 "glob": "^7.1.4",
4377 "graceful-fs": "^4.1.15", 5709 "graceful-fs": "^4.1.15",
5710 "infer-owner": "^1.0.3",
4378 "lru-cache": "^5.1.1", 5711 "lru-cache": "^5.1.1",
4379 "mississippi": "^3.0.0", 5712 "mississippi": "^3.0.0",
4380 "mkdirp": "^0.5.1", 5713 "mkdirp": "^0.5.1",
4381 "move-concurrently": "^1.0.1", 5714 "move-concurrently": "^1.0.1",
4382 "promise-inflight": "^1.0.1", 5715 "promise-inflight": "^1.0.1",
4383 "rimraf": "^2.6.2", 5716 "rimraf": "^2.6.3",
4384 "ssri": "^6.0.1", 5717 "ssri": "^6.0.1",
4385 "unique-filename": "^1.1.1", 5718 "unique-filename": "^1.1.1",
4386 "y18n": "^4.0.0" 5719 "y18n": "^4.0.0"
@@ -4401,7 +5734,6 @@
4401 "version": "1.0.1", 5734 "version": "1.0.1",
4402 "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", 5735 "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
4403 "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", 5736 "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
4404 "dev": true,
4405 "requires": { 5737 "requires": {
4406 "collection-visit": "^1.0.0", 5738 "collection-visit": "^1.0.0",
4407 "component-emitter": "^1.2.1", 5739 "component-emitter": "^1.2.1",
@@ -4438,12 +5770,6 @@
4438 "pump": "^3.0.0" 5770 "pump": "^3.0.0"
4439 } 5771 }
4440 }, 5772 },
4441 "http-cache-semantics": {
4442 "version": "4.0.3",
4443 "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz",
4444 "integrity": "sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==",
4445 "dev": true
4446 },
4447 "lowercase-keys": { 5773 "lowercase-keys": {
4448 "version": "2.0.0", 5774 "version": "2.0.0",
4449 "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", 5775 "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
@@ -4464,6 +5790,11 @@
4464 "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", 5790 "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
4465 "dev": true 5791 "dev": true
4466 }, 5792 },
5793 "caller": {
5794 "version": "1.0.1",
5795 "resolved": "https://registry.npmjs.org/caller/-/caller-1.0.1.tgz",
5796 "integrity": "sha1-uFGGD3Dhlds9J3OVqhp+I+ow7PU="
5797 },
4467 "caller-callsite": { 5798 "caller-callsite": {
4468 "version": "2.0.0", 5799 "version": "2.0.0",
4469 "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", 5800 "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
@@ -4478,11 +5809,6 @@
4478 "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", 5809 "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
4479 "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", 5810 "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
4480 "dev": true 5811 "dev": true
4481 },
4482 "domelementtype": {
4483 "version": "1.1.3",
4484 "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
4485 "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs="
4486 } 5812 }
4487 } 5813 }
4488 }, 5814 },
@@ -4490,7 +5816,6 @@
4490 "version": "0.1.0", 5816 "version": "0.1.0",
4491 "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", 5817 "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
4492 "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", 5818 "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=",
4493 "dev": true,
4494 "requires": { 5819 "requires": {
4495 "callsites": "^0.2.0" 5820 "callsites": "^0.2.0"
4496 } 5821 }
@@ -4504,23 +5829,21 @@
4504 "callsites": { 5829 "callsites": {
4505 "version": "0.2.0", 5830 "version": "0.2.0",
4506 "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", 5831 "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz",
4507 "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", 5832 "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo="
4508 "dev": true
4509 }, 5833 },
4510 "camel-case": { 5834 "camel-case": {
4511 "version": "3.0.0", 5835 "version": "3.0.0",
4512 "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", 5836 "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
4513 "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", 5837 "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
4514 "dev": true,
4515 "requires": { 5838 "requires": {
4516 "no-case": "^2.2.0", 5839 "no-case": "^2.2.0",
4517 "upper-case": "^1.1.1" 5840 "upper-case": "^1.1.1"
4518 } 5841 }
4519 }, 5842 },
4520 "camelcase": { 5843 "camelcase": {
4521 "version": "5.0.0", 5844 "version": "5.3.1",
4522 "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", 5845 "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
4523 "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", 5846 "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
4524 "dev": true 5847 "dev": true
4525 }, 5848 },
4526 "camelcase-keys": { 5849 "camelcase-keys": {
@@ -4543,9 +5866,9 @@
4543 } 5866 }
4544 }, 5867 },
4545 "caniuse-lite": { 5868 "caniuse-lite": {
4546 "version": "1.0.30000938", 5869 "version": "1.0.30000989",
4547 "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000938.tgz", 5870 "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz",
4548 "integrity": "sha512-ekW8NQ3/FvokviDxhdKLZZAx7PptXNwxKgXtnR5y+PR3hckwuP3yJ1Ir+4/c97dsHNqtAyfKUGdw8P4EYzBNgw==", 5871 "integrity": "sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw==",
4549 "dev": true 5872 "dev": true
4550 }, 5873 },
4551 "capture-exit": { 5874 "capture-exit": {
@@ -4560,8 +5883,7 @@
4560 "caseless": { 5883 "caseless": {
4561 "version": "0.12.0", 5884 "version": "0.12.0",
4562 "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", 5885 "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
4563 "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", 5886 "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
4564 "dev": true
4565 }, 5887 },
4566 "chain-function": { 5888 "chain-function": {
4567 "version": "1.0.1", 5889 "version": "1.0.1",
@@ -4572,23 +5894,52 @@
4572 "version": "2.4.2", 5894 "version": "2.4.2",
4573 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 5895 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
4574 "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 5896 "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
4575 "dev": true,
4576 "requires": { 5897 "requires": {
4577 "ansi-styles": "^3.2.1", 5898 "ansi-styles": "^3.2.1",
4578 "escape-string-regexp": "^1.0.5", 5899 "escape-string-regexp": "^1.0.5",
4579 "supports-color": "^5.3.0" 5900 "supports-color": "^5.3.0"
4580 } 5901 }
4581 }, 5902 },
5903 "chance": {
5904 "version": "1.1.3",
5905 "resolved": "https://registry.npmjs.org/chance/-/chance-1.1.3.tgz",
5906 "integrity": "sha512-XeJsdoVAzDb1WRPRuMBesRSiWpW1uNTo5Fd7mYxPJsAfgX71+jfuCOHOdbyBz2uAUZ8TwKcXgWk3DMedFfJkbg=="
5907 },
4582 "chardet": { 5908 "chardet": {
4583 "version": "0.7.0", 5909 "version": "0.7.0",
4584 "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", 5910 "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
4585 "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", 5911 "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
4586 "dev": true 5912 "dev": true
4587 }, 5913 },
5914 "choices-separator": {
5915 "version": "2.0.0",
5916 "resolved": "https://registry.npmjs.org/choices-separator/-/choices-separator-2.0.0.tgz",
5917 "integrity": "sha1-kv0XYxgteQM/XFxR0Lo1LlVnxpY=",
5918 "requires": {
5919 "ansi-dim": "^0.1.1",
5920 "debug": "^2.6.6",
5921 "strip-color": "^0.1.0"
5922 },
5923 "dependencies": {
5924 "debug": {
5925 "version": "2.6.9",
5926 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
5927 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
5928 "requires": {
5929 "ms": "2.0.0"
5930 }
5931 },
5932 "ms": {
5933 "version": "2.0.0",
5934 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
5935 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
5936 }
5937 }
5938 },
4588 "chokidar": { 5939 "chokidar": {
4589 "version": "2.1.1", 5940 "version": "2.1.8",
4590 "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.1.tgz", 5941 "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
4591 "integrity": "sha512-gfw3p2oQV2wEt+8VuMlNsPjCxDxvvgnm/kz+uATu805mWVF8IJN7uz9DN7iBz+RMJISmiVbCOBFs9qBGMjtPfQ==", 5942 "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
4592 "dev": true, 5943 "dev": true,
4593 "requires": { 5944 "requires": {
4594 "anymatch": "^2.0.0", 5945 "anymatch": "^2.0.0",
@@ -4602,47 +5953,26 @@
4602 "normalize-path": "^3.0.0", 5953 "normalize-path": "^3.0.0",
4603 "path-is-absolute": "^1.0.0", 5954 "path-is-absolute": "^1.0.0",
4604 "readdirp": "^2.2.1", 5955 "readdirp": "^2.2.1",
4605 "upath": "^1.1.0" 5956 "upath": "^1.1.1"
4606 }, 5957 },
4607 "dependencies": { 5958 "dependencies": {
4608 "isarray": {
4609 "version": "0.0.1",
4610 "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
4611 "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
4612 },
4613 "normalize-path": { 5959 "normalize-path": {
4614 "version": "3.0.0", 5960 "version": "3.0.0",
4615 "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 5961 "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
4616 "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 5962 "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
4617 "dev": true 5963 "dev": true
4618 },
4619 "readable-stream": {
4620 "version": "1.1.14",
4621 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
4622 "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
4623 "requires": {
4624 "core-util-is": "~1.0.0",
4625 "inherits": "~2.0.1",
4626 "isarray": "0.0.1",
4627 "string_decoder": "~0.10.x"
4628 }
4629 },
4630 "string_decoder": {
4631 "version": "0.10.31",
4632 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
4633 "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
4634 } 5964 }
4635 } 5965 }
4636 }, 5966 },
4637 "chownr": { 5967 "chownr": {
4638 "version": "1.1.1", 5968 "version": "1.1.2",
4639 "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", 5969 "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz",
4640 "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==" 5970 "integrity": "sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A=="
4641 }, 5971 },
4642 "chrome-trace-event": { 5972 "chrome-trace-event": {
4643 "version": "1.0.0", 5973 "version": "1.0.2",
4644 "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", 5974 "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz",
4645 "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", 5975 "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==",
4646 "dev": true, 5976 "dev": true,
4647 "requires": { 5977 "requires": {
4648 "tslib": "^1.9.0" 5978 "tslib": "^1.9.0"
@@ -4680,7 +6010,6 @@
4680 "version": "0.3.6", 6010 "version": "0.3.6",
4681 "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", 6011 "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
4682 "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", 6012 "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
4683 "dev": true,
4684 "requires": { 6013 "requires": {
4685 "arr-union": "^3.1.0", 6014 "arr-union": "^3.1.0",
4686 "define-property": "^0.2.5", 6015 "define-property": "^0.2.5",
@@ -4692,7 +6021,6 @@
4692 "version": "0.2.5", 6021 "version": "0.2.5",
4693 "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 6022 "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
4694 "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 6023 "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
4695 "dev": true,
4696 "requires": { 6024 "requires": {
4697 "is-descriptor": "^0.1.0" 6025 "is-descriptor": "^0.1.0"
4698 } 6026 }
@@ -4704,6 +6032,31 @@
4704 "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", 6032 "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz",
4705 "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" 6033 "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q=="
4706 }, 6034 },
6035 "cld": {
6036 "version": "2.5.1",
6037 "resolved": "https://registry.npmjs.org/cld/-/cld-2.5.1.tgz",
6038 "integrity": "sha512-DwdvvcFVizwDdPCocoPPReFk3BwLEaTZ3RzFgJ4jLzsBzJKUC3cTna0ZmAZG4tFtMmQdl0ciso3+ijkH3OPZPA==",
6039 "requires": {
6040 "glob": "^5.0.10",
6041 "nan": "^2.9.2",
6042 "rimraf": "^2.4.0",
6043 "underscore": "^1.6.0"
6044 },
6045 "dependencies": {
6046 "glob": {
6047 "version": "5.0.15",
6048 "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
6049 "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
6050 "requires": {
6051 "inflight": "^1.0.4",
6052 "inherits": "2",
6053 "minimatch": "2 || 3",
6054 "once": "^1.3.0",
6055 "path-is-absolute": "^1.0.0"
6056 }
6057 }
6058 }
6059 },
4707 "cld3-asm": { 6060 "cld3-asm": {
4708 "version": "1.0.1", 6061 "version": "1.0.1",
4709 "resolved": "https://registry.npmjs.org/cld3-asm/-/cld3-asm-1.0.1.tgz", 6062 "resolved": "https://registry.npmjs.org/cld3-asm/-/cld3-asm-1.0.1.tgz",
@@ -4718,7 +6071,6 @@
4718 "version": "4.2.1", 6071 "version": "4.2.1",
4719 "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", 6072 "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz",
4720 "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", 6073 "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==",
4721 "dev": true,
4722 "requires": { 6074 "requires": {
4723 "source-map": "~0.6.0" 6075 "source-map": "~0.6.0"
4724 } 6076 }
@@ -4739,20 +6091,24 @@
4739 } 6091 }
4740 }, 6092 },
4741 "cli-spinners": { 6093 "cli-spinners": {
4742 "version": "2.1.0", 6094 "version": "2.2.0",
4743 "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.1.0.tgz", 6095 "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz",
4744 "integrity": "sha512-8B00fJOEh1HPrx4fo5eW16XmE1PcL1tGpGrxy63CXGP9nHdPBN63X75hA1zhvQuhVztJWLqV58Roj2qlNM7cAA==", 6096 "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==",
4745 "dev": true 6097 "dev": true
4746 }, 6098 },
4747 "cli-table3": { 6099 "cli-table": {
4748 "version": "0.5.1", 6100 "version": "0.3.1",
4749 "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", 6101 "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz",
4750 "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", 6102 "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=",
4751 "dev": true,
4752 "requires": { 6103 "requires": {
4753 "colors": "^1.1.2", 6104 "colors": "1.0.3"
4754 "object-assign": "^4.1.0", 6105 },
4755 "string-width": "^2.1.1" 6106 "dependencies": {
6107 "colors": {
6108 "version": "1.0.3",
6109 "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
6110 "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs="
6111 }
4756 } 6112 }
4757 }, 6113 },
4758 "cli-width": { 6114 "cli-width": {
@@ -4784,6 +6140,24 @@
4784 "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", 6140 "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=",
4785 "dev": true 6141 "dev": true
4786 }, 6142 },
6143 "clone-deep": {
6144 "version": "1.0.0",
6145 "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-1.0.0.tgz",
6146 "integrity": "sha512-hmJRX8x1QOJVV+GUjOBzi6iauhPqc9hIF6xitWRBbiPZOBb6vGo/mDRIK9P74RTKSQK7AE8B0DDWY/vpRrPmQw==",
6147 "requires": {
6148 "for-own": "^1.0.0",
6149 "is-plain-object": "^2.0.4",
6150 "kind-of": "^5.0.0",
6151 "shallow-clone": "^1.0.0"
6152 },
6153 "dependencies": {
6154 "kind-of": {
6155 "version": "5.1.0",
6156 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
6157 "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
6158 }
6159 }
6160 },
4787 "clone-response": { 6161 "clone-response": {
4788 "version": "1.0.2", 6162 "version": "1.0.2",
4789 "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", 6163 "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
@@ -4800,9 +6174,9 @@
4800 "dev": true 6174 "dev": true
4801 }, 6175 },
4802 "cloneable-readable": { 6176 "cloneable-readable": {
4803 "version": "1.1.2", 6177 "version": "1.1.3",
4804 "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz", 6178 "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz",
4805 "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==", 6179 "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==",
4806 "dev": true, 6180 "dev": true,
4807 "requires": { 6181 "requires": {
4808 "inherits": "^2.0.1", 6182 "inherits": "^2.0.1",
@@ -4825,6 +6199,12 @@
4825 "util-deprecate": "~1.0.1" 6199 "util-deprecate": "~1.0.1"
4826 } 6200 }
4827 }, 6201 },
6202 "safe-buffer": {
6203 "version": "5.1.2",
6204 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
6205 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
6206 "dev": true
6207 },
4828 "string_decoder": { 6208 "string_decoder": {
4829 "version": "1.1.1", 6209 "version": "1.1.1",
4830 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 6210 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -4836,15 +6216,10 @@
4836 } 6216 }
4837 } 6217 }
4838 }, 6218 },
4839 "cmd-shim": { 6219 "clsx": {
4840 "version": "2.0.2", 6220 "version": "1.0.4",
4841 "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.2.tgz", 6221 "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.0.4.tgz",
4842 "integrity": "sha1-b8vamUg6j9FdfTChlspp1oii79s=", 6222 "integrity": "sha512-1mQ557MIZTrL/140j+JVdRM6e31/OA4vTYxXgqIIZlndyfjHpyawKZia1Im05Vp9BWmImkcNrNtFYQMyFcgJDg=="
4843 "dev": true,
4844 "requires": {
4845 "graceful-fs": "^4.1.2",
4846 "mkdirp": "~0.5.0"
4847 }
4848 }, 6223 },
4849 "co": { 6224 "co": {
4850 "version": "4.6.0", 6225 "version": "4.6.0",
@@ -4852,11 +6227,29 @@
4852 "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", 6227 "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
4853 "dev": true 6228 "dev": true
4854 }, 6229 },
6230 "co-body": {
6231 "version": "6.0.0",
6232 "resolved": "https://registry.npmjs.org/co-body/-/co-body-6.0.0.tgz",
6233 "integrity": "sha512-9ZIcixguuuKIptnY8yemEOuhb71L/lLf+Rl5JfJEUiDNJk0e02MBt7BPxR2GEh5mw8dPthQYR4jPI/BnS1MQgw==",
6234 "requires": {
6235 "inflation": "^2.0.0",
6236 "qs": "^6.5.2",
6237 "raw-body": "^2.3.3",
6238 "type-is": "^1.6.16"
6239 }
6240 },
6241 "co-compose": {
6242 "version": "4.0.0",
6243 "resolved": "https://registry.npmjs.org/co-compose/-/co-compose-4.0.0.tgz",
6244 "integrity": "sha512-0wXLbbbkU49Pyj7Fjfu58wIoeLgyyRau3huJfxEimmytzI7M+o1XhK2ls872PjpOzyvw0U3KGLqxrIst8IHaWA==",
6245 "requires": {
6246 "once": "^1.4.0"
6247 }
6248 },
4855 "code-point-at": { 6249 "code-point-at": {
4856 "version": "1.1.0", 6250 "version": "1.1.0",
4857 "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", 6251 "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
4858 "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", 6252 "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
4859 "dev": true
4860 }, 6253 },
4861 "collection-map": { 6254 "collection-map": {
4862 "version": "1.0.0", 6255 "version": "1.0.0",
@@ -4873,16 +6266,15 @@
4873 "version": "1.0.0", 6266 "version": "1.0.0",
4874 "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", 6267 "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
4875 "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", 6268 "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
4876 "dev": true,
4877 "requires": { 6269 "requires": {
4878 "map-visit": "^1.0.0", 6270 "map-visit": "^1.0.0",
4879 "object-visit": "^1.0.0" 6271 "object-visit": "^1.0.0"
4880 } 6272 }
4881 }, 6273 },
4882 "color": { 6274 "color": {
4883 "version": "3.1.0", 6275 "version": "3.1.2",
4884 "resolved": "https://registry.npmjs.org/color/-/color-3.1.0.tgz", 6276 "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz",
4885 "integrity": "sha512-CwyopLkuRYO5ei2EpzpIh6LqJMt6Mt+jZhO5VI5f/wJLZriXQE32/SSqzmrh+QB+AZT81Cj8yv+7zwToW8ahZg==", 6277 "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==",
4886 "requires": { 6278 "requires": {
4887 "color-convert": "^1.9.1", 6279 "color-convert": "^1.9.1",
4888 "color-string": "^1.5.2" 6280 "color-string": "^1.5.2"
@@ -4916,11 +6308,35 @@
4916 "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", 6308 "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
4917 "dev": true 6309 "dev": true
4918 }, 6310 },
6311 "colornames": {
6312 "version": "1.1.1",
6313 "resolved": "https://registry.npmjs.org/colornames/-/colornames-1.1.1.tgz",
6314 "integrity": "sha1-+IiQMGhcfE/54qVZ9Qd+t2qBb5Y="
6315 },
4919 "colors": { 6316 "colors": {
4920 "version": "1.3.3", 6317 "version": "1.4.0",
4921 "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", 6318 "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
4922 "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", 6319 "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA=="
4923 "dev": true 6320 },
6321 "colorspace": {
6322 "version": "1.1.2",
6323 "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz",
6324 "integrity": "sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==",
6325 "requires": {
6326 "color": "3.0.x",
6327 "text-hex": "1.0.x"
6328 },
6329 "dependencies": {
6330 "color": {
6331 "version": "3.0.0",
6332 "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz",
6333 "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==",
6334 "requires": {
6335 "color-convert": "^1.9.1",
6336 "color-string": "^1.5.2"
6337 }
6338 }
6339 }
4924 }, 6340 },
4925 "columnify": { 6341 "columnify": {
4926 "version": "1.5.4", 6342 "version": "1.5.4",
@@ -4950,19 +6366,17 @@
4950 } 6366 }
4951 }, 6367 },
4952 "combined-stream": { 6368 "combined-stream": {
4953 "version": "1.0.7", 6369 "version": "1.0.8",
4954 "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", 6370 "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
4955 "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", 6371 "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
4956 "dev": true,
4957 "requires": { 6372 "requires": {
4958 "delayed-stream": "~1.0.0" 6373 "delayed-stream": "~1.0.0"
4959 } 6374 }
4960 }, 6375 },
4961 "commander": { 6376 "commander": {
4962 "version": "2.19.0", 6377 "version": "2.20.0",
4963 "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", 6378 "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
4964 "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", 6379 "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ=="
4965 "dev": true
4966 }, 6380 },
4967 "commondir": { 6381 "commondir": {
4968 "version": "1.0.1", 6382 "version": "1.0.1",
@@ -4980,12 +6394,6 @@
4980 "dot-prop": "^3.0.0" 6394 "dot-prop": "^3.0.0"
4981 } 6395 }
4982 }, 6396 },
4983 "compare-versions": {
4984 "version": "3.4.0",
4985 "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.4.0.tgz",
4986 "integrity": "sha512-tK69D7oNXXqUW3ZNo/z7NXTEz22TCF0pTE+YF9cxvaAM9XnkLo1fV621xCLrRR6aevJlKxExkss0vWqUCUpqdg==",
4987 "dev": true
4988 },
4989 "component-bind": { 6397 "component-bind": {
4990 "version": "1.0.0", 6398 "version": "1.0.0",
4991 "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", 6399 "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
@@ -4993,10 +6401,9 @@
4993 "dev": true 6401 "dev": true
4994 }, 6402 },
4995 "component-emitter": { 6403 "component-emitter": {
4996 "version": "1.2.1", 6404 "version": "1.3.0",
4997 "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", 6405 "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
4998 "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", 6406 "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
4999 "dev": true
5000 }, 6407 },
5001 "component-inherit": { 6408 "component-inherit": {
5002 "version": "0.0.3", 6409 "version": "0.0.3",
@@ -5005,37 +6412,37 @@
5005 "dev": true 6412 "dev": true
5006 }, 6413 },
5007 "compressible": { 6414 "compressible": {
5008 "version": "2.0.15", 6415 "version": "2.0.17",
5009 "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.15.tgz", 6416 "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz",
5010 "integrity": "sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw==", 6417 "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==",
5011 "dev": true, 6418 "dev": true,
5012 "requires": { 6419 "requires": {
5013 "mime-db": ">= 1.36.0 < 2" 6420 "mime-db": ">= 1.40.0 < 2"
5014 } 6421 }
5015 }, 6422 },
5016 "compression": { 6423 "compression": {
5017 "version": "1.7.3", 6424 "version": "1.7.4",
5018 "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", 6425 "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
5019 "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", 6426 "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
5020 "dev": true, 6427 "dev": true,
5021 "requires": { 6428 "requires": {
5022 "accepts": "~1.3.5", 6429 "accepts": "~1.3.5",
5023 "bytes": "3.0.0", 6430 "bytes": "3.0.0",
5024 "compressible": "~2.0.14", 6431 "compressible": "~2.0.16",
5025 "debug": "2.6.9", 6432 "debug": "2.6.9",
5026 "on-headers": "~1.0.1", 6433 "on-headers": "~1.0.2",
5027 "safe-buffer": "5.1.2", 6434 "safe-buffer": "5.1.2",
5028 "vary": "~1.1.2" 6435 "vary": "~1.1.2"
5029 }, 6436 },
5030 "dependencies": { 6437 "dependencies": {
5031 "accepts": { 6438 "accepts": {
5032 "version": "1.3.5", 6439 "version": "1.3.7",
5033 "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", 6440 "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
5034 "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", 6441 "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
5035 "dev": true, 6442 "dev": true,
5036 "requires": { 6443 "requires": {
5037 "mime-types": "~2.1.18", 6444 "mime-types": "~2.1.24",
5038 "negotiator": "0.6.1" 6445 "negotiator": "0.6.2"
5039 } 6446 }
5040 }, 6447 },
5041 "debug": { 6448 "debug": {
@@ -5045,20 +6452,39 @@
5045 "dev": true, 6452 "dev": true,
5046 "requires": { 6453 "requires": {
5047 "ms": "2.0.0" 6454 "ms": "2.0.0"
5048 },
5049 "dependencies": {
5050 "ms": {
5051 "version": "2.0.0",
5052 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
5053 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
5054 "dev": true
5055 }
5056 } 6455 }
5057 }, 6456 },
6457 "mime-db": {
6458 "version": "1.40.0",
6459 "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
6460 "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
6461 "dev": true
6462 },
6463 "mime-types": {
6464 "version": "2.1.24",
6465 "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
6466 "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
6467 "dev": true,
6468 "requires": {
6469 "mime-db": "1.40.0"
6470 }
6471 },
6472 "ms": {
6473 "version": "2.0.0",
6474 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
6475 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
6476 "dev": true
6477 },
5058 "negotiator": { 6478 "negotiator": {
5059 "version": "0.6.1", 6479 "version": "0.6.2",
5060 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", 6480 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
5061 "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", 6481 "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
6482 "dev": true
6483 },
6484 "safe-buffer": {
6485 "version": "5.1.2",
6486 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
6487 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
5062 "dev": true 6488 "dev": true
5063 } 6489 }
5064 } 6490 }
@@ -5080,11 +6506,6 @@
5080 "typedarray": "^0.0.6" 6506 "typedarray": "^0.0.6"
5081 }, 6507 },
5082 "dependencies": { 6508 "dependencies": {
5083 "debug": {
5084 "version": "2.3.3",
5085 "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
5086 "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w="
5087 },
5088 "readable-stream": { 6509 "readable-stream": {
5089 "version": "2.3.6", 6510 "version": "2.3.6",
5090 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", 6511 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
@@ -5100,6 +6521,12 @@
5100 "util-deprecate": "~1.0.1" 6521 "util-deprecate": "~1.0.1"
5101 } 6522 }
5102 }, 6523 },
6524 "safe-buffer": {
6525 "version": "5.1.2",
6526 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
6527 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
6528 "dev": true
6529 },
5103 "string_decoder": { 6530 "string_decoder": {
5104 "version": "1.1.1", 6531 "version": "1.1.1",
5105 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 6532 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -5112,20 +6539,20 @@
5112 } 6539 }
5113 }, 6540 },
5114 "concurrently": { 6541 "concurrently": {
5115 "version": "4.1.0", 6542 "version": "4.1.2",
5116 "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-4.1.0.tgz", 6543 "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-4.1.2.tgz",
5117 "integrity": "sha512-pwzXCE7qtOB346LyO9eFWpkFJVO3JQZ/qU/feGeaAHiX1M3Rw3zgXKc5cZ8vSH5DGygkjzLFDzA/pwoQDkRNGg==", 6544 "integrity": "sha512-Kim9SFrNr2jd8/0yNYqDTFALzUX1tvimmwFWxmp/D4mRI+kbqIIwE2RkBDrxS2ic25O1UgQMI5AtBqdtX3ynYg==",
5118 "dev": true, 6545 "dev": true,
5119 "requires": { 6546 "requires": {
5120 "chalk": "^2.4.1", 6547 "chalk": "^2.4.2",
5121 "date-fns": "^1.23.0", 6548 "date-fns": "^1.30.1",
5122 "lodash": "^4.17.10", 6549 "lodash": "^4.17.15",
5123 "read-pkg": "^4.0.1", 6550 "read-pkg": "^4.0.1",
5124 "rxjs": "^6.3.3", 6551 "rxjs": "^6.5.2",
5125 "spawn-command": "^0.0.2-1", 6552 "spawn-command": "^0.0.2-1",
5126 "supports-color": "^4.5.0", 6553 "supports-color": "^4.5.0",
5127 "tree-kill": "^1.1.0", 6554 "tree-kill": "^1.2.1",
5128 "yargs": "^12.0.1" 6555 "yargs": "^12.0.5"
5129 }, 6556 },
5130 "dependencies": { 6557 "dependencies": {
5131 "has-flag": { 6558 "has-flag": {
@@ -5180,6 +6607,12 @@
5180 } 6607 }
5181 } 6608 }
5182 }, 6609 },
6610 "confusing-browser-globals": {
6611 "version": "1.0.8",
6612 "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.8.tgz",
6613 "integrity": "sha512-lI7asCibVJ6Qd3FGU7mu4sfG4try4LX3+GVS+Gv8UlrEf2AeW57piecapnog2UHZSbcX/P/1UDWVaTsblowlZg==",
6614 "dev": true
6615 },
5183 "connect": { 6616 "connect": {
5184 "version": "3.1.1", 6617 "version": "3.1.1",
5185 "resolved": "https://registry.npmjs.org/connect/-/connect-3.1.1.tgz", 6618 "resolved": "https://registry.npmjs.org/connect/-/connect-3.1.1.tgz",
@@ -5199,20 +6632,13 @@
5199 "dev": true, 6632 "dev": true,
5200 "requires": { 6633 "requires": {
5201 "ms": "0.6.2" 6634 "ms": "0.6.2"
5202 },
5203 "dependencies": {
5204 "ms": {
5205 "version": "0.6.2",
5206 "resolved": "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz",
5207 "integrity": "sha1-2JwhJMb9wTU9Zai3e/GqxLGTcIw=",
5208 "dev": true
5209 }
5210 } 6635 }
5211 }, 6636 },
5212 "ms": { 6637 "ms": {
5213 "version": "0.7.2", 6638 "version": "0.6.2",
5214 "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", 6639 "resolved": "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz",
5215 "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=" 6640 "integrity": "sha1-2JwhJMb9wTU9Zai3e/GqxLGTcIw=",
6641 "dev": true
5216 } 6642 }
5217 } 6643 }
5218 }, 6644 },
@@ -5240,8 +6666,7 @@
5240 "console-control-strings": { 6666 "console-control-strings": {
5241 "version": "1.1.0", 6667 "version": "1.1.0",
5242 "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", 6668 "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
5243 "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", 6669 "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
5244 "dev": true
5245 }, 6670 },
5246 "constants-browserify": { 6671 "constants-browserify": {
5247 "version": "1.0.0", 6672 "version": "1.0.0",
@@ -5256,10 +6681,19 @@
5256 "dev": true 6681 "dev": true
5257 }, 6682 },
5258 "content-disposition": { 6683 "content-disposition": {
5259 "version": "0.5.2", 6684 "version": "0.5.3",
5260 "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", 6685 "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
5261 "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", 6686 "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
5262 "dev": true 6687 "requires": {
6688 "safe-buffer": "5.1.2"
6689 },
6690 "dependencies": {
6691 "safe-buffer": {
6692 "version": "5.1.2",
6693 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
6694 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
6695 }
6696 }
5263 }, 6697 },
5264 "content-type": { 6698 "content-type": {
5265 "version": "1.0.4", 6699 "version": "1.0.4",
@@ -5268,27 +6702,28 @@
5268 "dev": true 6702 "dev": true
5269 }, 6703 },
5270 "conventional-changelog": { 6704 "conventional-changelog": {
5271 "version": "3.0.5", 6705 "version": "3.1.10",
5272 "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.0.5.tgz", 6706 "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.10.tgz",
5273 "integrity": "sha512-JYSVGJbnOl9S2gkZwmoJ+wX2gxNVHodUmEiv+eIykeJBNX0zN5vJ3oa2xCvk2HiF7TZ+Les0eq/aX49dcymONA==", 6707 "integrity": "sha512-6RDj31hL39HUkpqvPjRlOxAwJRwur8O2qu9m6R0FBNDGwCJyy4SYH9NfyshozxYSeklrauKRf3oSbyoEZVzu9Q==",
5274 "dev": true, 6708 "dev": true,
5275 "requires": { 6709 "requires": {
5276 "conventional-changelog-angular": "^5.0.2", 6710 "conventional-changelog-angular": "^5.0.3",
5277 "conventional-changelog-atom": "^2.0.1", 6711 "conventional-changelog-atom": "^2.0.1",
5278 "conventional-changelog-codemirror": "^2.0.1", 6712 "conventional-changelog-codemirror": "^2.0.1",
5279 "conventional-changelog-core": "^3.1.5", 6713 "conventional-changelog-conventionalcommits": "^4.1.0",
6714 "conventional-changelog-core": "^4.0.0",
5280 "conventional-changelog-ember": "^2.0.2", 6715 "conventional-changelog-ember": "^2.0.2",
5281 "conventional-changelog-eslint": "^3.0.1", 6716 "conventional-changelog-eslint": "^3.0.2",
5282 "conventional-changelog-express": "^2.0.1", 6717 "conventional-changelog-express": "^2.0.1",
5283 "conventional-changelog-jquery": "^3.0.4", 6718 "conventional-changelog-jquery": "^3.0.4",
5284 "conventional-changelog-jshint": "^2.0.1", 6719 "conventional-changelog-jshint": "^2.0.1",
5285 "conventional-changelog-preset-loader": "^2.0.2" 6720 "conventional-changelog-preset-loader": "^2.2.0"
5286 } 6721 }
5287 }, 6722 },
5288 "conventional-changelog-angular": { 6723 "conventional-changelog-angular": {
5289 "version": "5.0.2", 6724 "version": "5.0.3",
5290 "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.2.tgz", 6725 "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.3.tgz",
5291 "integrity": "sha512-yx7m7lVrXmt4nKWQgWZqxSALEiAKZhOAcbxdUaU9575mB0CzXVbgrgpfSnSP7OqWDUTYGD0YVJ0MSRdyOPgAwA==", 6726 "integrity": "sha512-YD1xzH7r9yXQte/HF9JBuEDfvjxxwDGGwZU1+ndanbY0oFgA+Po1T9JDSpPLdP0pZT6MhCAsdvFKC4TJ4MTJTA==",
5292 "dev": true, 6727 "dev": true,
5293 "requires": { 6728 "requires": {
5294 "compare-func": "^1.3.1", 6729 "compare-func": "^1.3.1",
@@ -5326,25 +6761,35 @@
5326 "q": "^1.5.1" 6761 "q": "^1.5.1"
5327 } 6762 }
5328 }, 6763 },
6764 "conventional-changelog-conventionalcommits": {
6765 "version": "4.1.0",
6766 "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.1.0.tgz",
6767 "integrity": "sha512-J3xolGrH8PTxpCqueHOuZtv3Cp73SQOWiBQzlsaugZAZ+hZgcJBonmC+1bQbfGs2neC2S18p2L1Gx+nTEglJTQ==",
6768 "dev": true,
6769 "requires": {
6770 "compare-func": "^1.3.1",
6771 "q": "^1.5.1"
6772 }
6773 },
5329 "conventional-changelog-core": { 6774 "conventional-changelog-core": {
5330 "version": "3.1.5", 6775 "version": "4.0.0",
5331 "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-3.1.5.tgz", 6776 "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.0.0.tgz",
5332 "integrity": "sha512-iwqAotS4zk0wA4S84YY1JCUG7X3LxaRjJxuUo6GI4dZuIy243j5nOg/Ora35ExT4DOiw5dQbMMQvw2SUjh6moQ==", 6777 "integrity": "sha512-+bZMeBUdjKxfyX2w6EST9U7zb85wxrGS3IV4H7SqPya44osNQbm3P+vyqfLs6s57FkoEamC93ioDEiguVLWmSQ==",
5333 "dev": true, 6778 "dev": true,
5334 "requires": { 6779 "requires": {
5335 "conventional-changelog-writer": "^4.0.2", 6780 "conventional-changelog-writer": "^4.0.7",
5336 "conventional-commits-parser": "^3.0.1", 6781 "conventional-commits-parser": "^3.0.3",
5337 "dateformat": "^3.0.0", 6782 "dateformat": "^3.0.0",
5338 "get-pkg-repo": "^1.0.0", 6783 "get-pkg-repo": "^1.0.0",
5339 "git-raw-commits": "2.0.0", 6784 "git-raw-commits": "2.0.0",
5340 "git-remote-origin-url": "^2.0.0", 6785 "git-remote-origin-url": "^2.0.0",
5341 "git-semver-tags": "^2.0.2", 6786 "git-semver-tags": "^3.0.0",
5342 "lodash": "^4.2.1", 6787 "lodash": "^4.2.1",
5343 "normalize-package-data": "^2.3.5", 6788 "normalize-package-data": "^2.3.5",
5344 "q": "^1.5.1", 6789 "q": "^1.5.1",
5345 "read-pkg": "^3.0.0", 6790 "read-pkg": "^3.0.0",
5346 "read-pkg-up": "^3.0.0", 6791 "read-pkg-up": "^3.0.0",
5347 "through2": "^2.0.0" 6792 "through2": "^3.0.0"
5348 }, 6793 },
5349 "dependencies": { 6794 "dependencies": {
5350 "read-pkg": { 6795 "read-pkg": {
@@ -5370,9 +6815,9 @@
5370 } 6815 }
5371 }, 6816 },
5372 "conventional-changelog-eslint": { 6817 "conventional-changelog-eslint": {
5373 "version": "3.0.1", 6818 "version": "3.0.2",
5374 "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.1.tgz", 6819 "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.2.tgz",
5375 "integrity": "sha512-yH3+bYrtvgKxSFChUBQnKNh9/U9kN2JElYBm253VpYs5wXhPHVc9ENcuVGWijh24nnOkei7wEJmnmUzgZ4ok+A==", 6820 "integrity": "sha512-Yi7tOnxjZLXlCYBHArbIAm8vZ68QUSygFS7PgumPRiEk+9NPUeucy5Wg9AAyKoBprSV3o6P7Oghh4IZSLtKCvQ==",
5376 "dev": true, 6821 "dev": true,
5377 "requires": { 6822 "requires": {
5378 "q": "^1.5.1" 6823 "q": "^1.5.1"
@@ -5407,74 +6852,112 @@
5407 } 6852 }
5408 }, 6853 },
5409 "conventional-changelog-preset-loader": { 6854 "conventional-changelog-preset-loader": {
5410 "version": "2.0.2", 6855 "version": "2.2.0",
5411 "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.0.2.tgz", 6856 "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.2.0.tgz",
5412 "integrity": "sha512-pBY+qnUoJPXAXXqVGwQaVmcye05xi6z231QM98wHWamGAmu/ghkBprQAwmF5bdmyobdVxiLhPY3PrCfSeUNzRQ==", 6857 "integrity": "sha512-zXB+5vF7D5Y3Cb/rJfSyCCvFphCVmF8mFqOdncX3BmjZwAtGAPfYrBcT225udilCKvBbHgyzgxqz2GWDB5xShQ==",
5413 "dev": true 6858 "dev": true
5414 }, 6859 },
5415 "conventional-changelog-writer": { 6860 "conventional-changelog-writer": {
5416 "version": "4.0.2", 6861 "version": "4.0.7",
5417 "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.2.tgz", 6862 "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.7.tgz",
5418 "integrity": "sha512-d8/FQY/fix2xXEBUhOo8u3DCbyEw3UOQgYHxLsPDw+wHUDma/GQGAGsGtoH876WyNs32fViHmTOUrgRKVLvBug==", 6863 "integrity": "sha512-p/wzs9eYaxhFbrmX/mCJNwJuvvHR+j4Fd0SQa2xyAhYed6KBiZ780LvoqUUvsayP4R1DtC27czalGUhKV2oabw==",
5419 "dev": true, 6864 "dev": true,
5420 "requires": { 6865 "requires": {
5421 "compare-func": "^1.3.1", 6866 "compare-func": "^1.3.1",
5422 "conventional-commits-filter": "^2.0.1", 6867 "conventional-commits-filter": "^2.0.2",
5423 "dateformat": "^3.0.0", 6868 "dateformat": "^3.0.0",
5424 "handlebars": "^4.0.2", 6869 "handlebars": "^4.1.2",
5425 "json-stringify-safe": "^5.0.1", 6870 "json-stringify-safe": "^5.0.1",
5426 "lodash": "^4.2.1", 6871 "lodash": "^4.2.1",
5427 "meow": "^4.0.0", 6872 "meow": "^4.0.0",
5428 "semver": "^5.5.0", 6873 "semver": "^6.0.0",
5429 "split": "^1.0.0", 6874 "split": "^1.0.0",
5430 "through2": "^2.0.0" 6875 "through2": "^3.0.0"
6876 },
6877 "dependencies": {
6878 "semver": {
6879 "version": "6.3.0",
6880 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
6881 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
6882 "dev": true
6883 }
5431 } 6884 }
5432 }, 6885 },
5433 "conventional-commit-types": { 6886 "conventional-commit-types": {
5434 "version": "2.2.0", 6887 "version": "2.1.1",
5435 "resolved": "https://registry.npmjs.org/conventional-commit-types/-/conventional-commit-types-2.2.0.tgz", 6888 "resolved": "https://registry.npmjs.org/conventional-commit-types/-/conventional-commit-types-2.1.1.tgz",
5436 "integrity": "sha1-XblXOdbCEqy+e29lahG5QLqmiUY=", 6889 "integrity": "sha512-0Ts+fEdmjqYDOQ1yZ+LNgdSPO335XZw9qC10M7CxtLP3nIMGmeMhmkM8Taffa4+MXN13bRPlp0CtH+QfOzKTzw==",
5437 "dev": true 6890 "dev": true
5438 }, 6891 },
5439 "conventional-commits-filter": { 6892 "conventional-commits-filter": {
5440 "version": "2.0.1", 6893 "version": "2.0.2",
5441 "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.1.tgz", 6894 "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.2.tgz",
5442 "integrity": "sha512-92OU8pz/977udhBjgPEbg3sbYzIxMDFTlQT97w7KdhR9igNqdJvy8smmedAAgn4tPiqseFloKkrVfbXCVd+E7A==", 6895 "integrity": "sha512-WpGKsMeXfs21m1zIw4s9H5sys2+9JccTzpN6toXtxhpw2VNF2JUXwIakthKBy+LN4DvJm+TzWhxOMWOs1OFCFQ==",
5443 "dev": true, 6896 "dev": true,
5444 "requires": { 6897 "requires": {
5445 "is-subset": "^0.1.1", 6898 "lodash.ismatch": "^4.4.0",
5446 "modify-values": "^1.0.0" 6899 "modify-values": "^1.0.0"
5447 } 6900 }
5448 }, 6901 },
5449 "conventional-commits-parser": { 6902 "conventional-commits-parser": {
5450 "version": "3.0.1", 6903 "version": "3.0.3",
5451 "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.1.tgz", 6904 "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.3.tgz",
5452 "integrity": "sha512-P6U5UOvDeidUJ8ebHVDIoXzI7gMlQ1OF/id6oUvp8cnZvOXMt1n8nYl74Ey9YMn0uVQtxmCtjPQawpsssBWtGg==", 6905 "integrity": "sha512-KaA/2EeUkO4bKjinNfGUyqPTX/6w9JGshuQRik4r/wJz7rUw3+D3fDG6sZSEqJvKILzKXFQuFkpPLclcsAuZcg==",
5453 "dev": true, 6906 "dev": true,
5454 "requires": { 6907 "requires": {
5455 "JSONStream": "^1.0.4", 6908 "JSONStream": "^1.0.4",
5456 "is-text-path": "^1.0.0", 6909 "is-text-path": "^2.0.0",
5457 "lodash": "^4.2.1", 6910 "lodash": "^4.2.1",
5458 "meow": "^4.0.0", 6911 "meow": "^4.0.0",
5459 "split2": "^2.0.0", 6912 "split2": "^2.0.0",
5460 "through2": "^2.0.0", 6913 "through2": "^3.0.0",
5461 "trim-off-newlines": "^1.0.0" 6914 "trim-off-newlines": "^1.0.0"
5462 } 6915 }
5463 }, 6916 },
5464 "conventional-recommended-bump": { 6917 "conventional-recommended-bump": {
5465 "version": "4.0.4", 6918 "version": "5.0.1",
5466 "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-4.0.4.tgz", 6919 "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-5.0.1.tgz",
5467 "integrity": "sha512-9mY5Yoblq+ZMqJpBzgS+RpSq+SUfP2miOR3H/NR9drGf08WCrY9B6HAGJZEm6+ThsVP917VHAahSOjM6k1vhPg==", 6920 "integrity": "sha512-RVdt0elRcCxL90IrNP0fYCpq1uGt2MALko0eyeQ+zQuDVWtMGAy9ng6yYn3kax42lCj9+XBxQ8ZN6S9bdKxDhQ==",
5468 "dev": true, 6921 "dev": true,
5469 "requires": { 6922 "requires": {
5470 "concat-stream": "^1.6.0", 6923 "concat-stream": "^2.0.0",
5471 "conventional-changelog-preset-loader": "^2.0.2", 6924 "conventional-changelog-preset-loader": "^2.1.1",
5472 "conventional-commits-filter": "^2.0.1", 6925 "conventional-commits-filter": "^2.0.2",
5473 "conventional-commits-parser": "^3.0.1", 6926 "conventional-commits-parser": "^3.0.3",
5474 "git-raw-commits": "2.0.0", 6927 "git-raw-commits": "2.0.0",
5475 "git-semver-tags": "^2.0.2", 6928 "git-semver-tags": "^2.0.3",
5476 "meow": "^4.0.0", 6929 "meow": "^4.0.0",
5477 "q": "^1.5.1" 6930 "q": "^1.5.1"
6931 },
6932 "dependencies": {
6933 "concat-stream": {
6934 "version": "2.0.0",
6935 "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz",
6936 "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==",
6937 "dev": true,
6938 "requires": {
6939 "buffer-from": "^1.0.0",
6940 "inherits": "^2.0.3",
6941 "readable-stream": "^3.0.2",
6942 "typedarray": "^0.0.6"
6943 }
6944 },
6945 "git-semver-tags": {
6946 "version": "2.0.3",
6947 "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.3.tgz",
6948 "integrity": "sha512-tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA==",
6949 "dev": true,
6950 "requires": {
6951 "meow": "^4.0.0",
6952 "semver": "^6.0.0"
6953 }
6954 },
6955 "semver": {
6956 "version": "6.3.0",
6957 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
6958 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
6959 "dev": true
6960 }
5478 } 6961 }
5479 }, 6962 },
5480 "convert-source-map": { 6963 "convert-source-map": {
@@ -5486,65 +6969,18 @@
5486 "safe-buffer": "~5.1.1" 6969 "safe-buffer": "~5.1.1"
5487 }, 6970 },
5488 "dependencies": { 6971 "dependencies": {
5489 "doctrine": { 6972 "safe-buffer": {
5490 "version": "1.5.0", 6973 "version": "5.1.2",
5491 "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", 6974 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
5492 "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", 6975 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
5493 "requires": { 6976 "dev": true
5494 "esutils": "^2.0.2",
5495 "isarray": "^1.0.0"
5496 }
5497 },
5498 "find-up": {
5499 "version": "2.1.0",
5500 "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
5501 "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c="
5502 },
5503 "load-json-file": {
5504 "version": "2.0.0",
5505 "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
5506 "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
5507 "requires": {
5508 "graceful-fs": "^4.1.2",
5509 "strip-bom": "^3.0.0"
5510 }
5511 },
5512 "path-type": {
5513 "version": "2.0.0",
5514 "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
5515 "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM="
5516 },
5517 "read-pkg": {
5518 "version": "2.0.0",
5519 "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
5520 "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
5521 "requires": {
5522 "load-json-file": "^2.0.0",
5523 "normalize-package-data": "^2.3.2",
5524 "path-type": "^2.0.0"
5525 }
5526 },
5527 "read-pkg-up": {
5528 "version": "2.0.0",
5529 "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
5530 "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
5531 "requires": {
5532 "find-up": "^2.0.0",
5533 "read-pkg": "^2.0.0"
5534 }
5535 },
5536 "strip-bom": {
5537 "version": "3.0.0",
5538 "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
5539 "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
5540 } 6977 }
5541 } 6978 }
5542 }, 6979 },
5543 "cookie": { 6980 "cookie": {
5544 "version": "0.3.1", 6981 "version": "0.3.1",
5545 "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", 6982 "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
5546 "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", 6983 "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
5547 "dev": true
5548 }, 6984 },
5549 "cookie-signature": { 6985 "cookie-signature": {
5550 "version": "1.0.6", 6986 "version": "1.0.6",
@@ -5569,8 +7005,7 @@
5569 "copy-descriptor": { 7005 "copy-descriptor": {
5570 "version": "0.1.1", 7006 "version": "0.1.1",
5571 "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", 7007 "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
5572 "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", 7008 "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
5573 "dev": true
5574 }, 7009 },
5575 "copy-props": { 7010 "copy-props": {
5576 "version": "2.0.4", 7011 "version": "2.0.4",
@@ -5583,9 +7018,27 @@
5583 } 7018 }
5584 }, 7019 },
5585 "core-js": { 7020 "core-js": {
5586 "version": "2.6.4", 7021 "version": "2.6.9",
5587 "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.4.tgz", 7022 "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz",
5588 "integrity": "sha512-05qQ5hXShcqGkPZpXEFLIpxayZscVD2kuMBZewxiIPPEagukO4mqgPA9CWhUvFBJfy3ODdK2p9xyHh7FTU9/7A==" 7023 "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A=="
7024 },
7025 "core-js-compat": {
7026 "version": "3.2.1",
7027 "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.2.1.tgz",
7028 "integrity": "sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A==",
7029 "dev": true,
7030 "requires": {
7031 "browserslist": "^4.6.6",
7032 "semver": "^6.3.0"
7033 },
7034 "dependencies": {
7035 "semver": {
7036 "version": "6.3.0",
7037 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
7038 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
7039 "dev": true
7040 }
7041 }
5589 }, 7042 },
5590 "core-util-is": { 7043 "core-util-is": {
5591 "version": "1.0.2", 7044 "version": "1.0.2",
@@ -5593,14 +7046,14 @@
5593 "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" 7046 "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
5594 }, 7047 },
5595 "cosmiconfig": { 7048 "cosmiconfig": {
5596 "version": "5.0.7", 7049 "version": "5.2.1",
5597 "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.7.tgz", 7050 "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
5598 "integrity": "sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA==", 7051 "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
5599 "dev": true, 7052 "dev": true,
5600 "requires": { 7053 "requires": {
5601 "import-fresh": "^2.0.0", 7054 "import-fresh": "^2.0.0",
5602 "is-directory": "^0.3.1", 7055 "is-directory": "^0.3.1",
5603 "js-yaml": "^3.9.0", 7056 "js-yaml": "^3.13.1",
5604 "parse-json": "^4.0.0" 7057 "parse-json": "^4.0.0"
5605 } 7058 }
5606 }, 7059 },
@@ -5641,6 +7094,14 @@
5641 "sha.js": "^2.4.8" 7094 "sha.js": "^2.4.8"
5642 } 7095 }
5643 }, 7096 },
7097 "create-output-stream": {
7098 "version": "0.0.1",
7099 "resolved": "https://registry.npmjs.org/create-output-stream/-/create-output-stream-0.0.1.tgz",
7100 "integrity": "sha1-4Kwx4n3v6uDk9pnA7bnGVYyfpas=",
7101 "requires": {
7102 "mkdirp": "^0.5.1"
7103 }
7104 },
5644 "create-react-class": { 7105 "create-react-class": {
5645 "version": "15.6.3", 7106 "version": "15.6.3",
5646 "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz", 7107 "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz",
@@ -5652,20 +7113,17 @@
5652 } 7113 }
5653 }, 7114 },
5654 "cross-env": { 7115 "cross-env": {
5655 "version": "5.2.0", 7116 "version": "5.2.1",
5656 "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.0.tgz", 7117 "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz",
5657 "integrity": "sha512-jtdNFfFW1hB7sMhr/H6rW1Z45LFqyI431m3qU6bFXcQ3Eh7LtBuG3h74o7ohHZ3crrRkkqHlo4jYHFPcjroANg==", 7118 "integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==",
5658 "dev": true,
5659 "requires": { 7119 "requires": {
5660 "cross-spawn": "^6.0.5", 7120 "cross-spawn": "^6.0.5"
5661 "is-windows": "^1.0.0"
5662 } 7121 }
5663 }, 7122 },
5664 "cross-spawn": { 7123 "cross-spawn": {
5665 "version": "6.0.5", 7124 "version": "6.0.5",
5666 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 7125 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
5667 "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 7126 "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
5668 "dev": true,
5669 "requires": { 7127 "requires": {
5670 "nice-try": "^1.0.4", 7128 "nice-try": "^1.0.4",
5671 "path-key": "^2.0.1", 7129 "path-key": "^2.0.1",
@@ -5699,6 +7157,27 @@
5699 "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", 7157 "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=",
5700 "dev": true 7158 "dev": true
5701 }, 7159 },
7160 "csrf": {
7161 "version": "3.1.0",
7162 "resolved": "https://registry.npmjs.org/csrf/-/csrf-3.1.0.tgz",
7163 "integrity": "sha512-uTqEnCvWRk042asU6JtapDTcJeeailFy4ydOQS28bj1hcLnYRiqi8SsD2jS412AY1I/4qdOwWZun774iqywf9w==",
7164 "requires": {
7165 "rndm": "1.2.0",
7166 "tsscmp": "1.0.6",
7167 "uid-safe": "2.1.5"
7168 }
7169 },
7170 "css": {
7171 "version": "2.2.4",
7172 "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz",
7173 "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
7174 "requires": {
7175 "inherits": "^2.0.3",
7176 "source-map": "^0.6.1",
7177 "source-map-resolve": "^0.5.2",
7178 "urix": "^0.1.0"
7179 }
7180 },
5702 "css-select": { 7181 "css-select": {
5703 "version": "1.2.0", 7182 "version": "1.2.0",
5704 "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", 7183 "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
@@ -5723,6 +7202,22 @@
5723 } 7202 }
5724 } 7203 }
5725 }, 7204 },
7205 "css-tree": {
7206 "version": "1.0.0-alpha.29",
7207 "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz",
7208 "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==",
7209 "requires": {
7210 "mdn-data": "~1.1.0",
7211 "source-map": "^0.5.3"
7212 },
7213 "dependencies": {
7214 "source-map": {
7215 "version": "0.5.7",
7216 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
7217 "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
7218 }
7219 }
7220 },
5726 "css-vendor": { 7221 "css-vendor": {
5727 "version": "0.3.8", 7222 "version": "0.3.8",
5728 "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-0.3.8.tgz", 7223 "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-0.3.8.tgz",
@@ -5732,30 +7227,38 @@
5732 } 7227 }
5733 }, 7228 },
5734 "css-what": { 7229 "css-what": {
5735 "version": "2.1.2", 7230 "version": "2.1.3",
5736 "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.2.tgz", 7231 "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
5737 "integrity": "sha512-wan8dMWQ0GUeF7DGEPVjhHemVW/vy6xUYmFzRY8RYqgA0JtXC9rJmbScBjqSu6dg9q0lwPQy6ZAmJVr3PPTvqQ==", 7232 "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==",
5738 "dev": true 7233 "dev": true
5739 }, 7234 },
7235 "csso": {
7236 "version": "3.5.1",
7237 "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz",
7238 "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==",
7239 "requires": {
7240 "css-tree": "1.0.0-alpha.29"
7241 }
7242 },
5740 "cssom": { 7243 "cssom": {
5741 "version": "0.3.6", 7244 "version": "0.3.8",
5742 "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.6.tgz", 7245 "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
5743 "integrity": "sha512-DtUeseGk9/GBW0hl0vVPpU22iHL6YB5BUX7ml1hB+GMpo0NX5G4voX3kdWiMSEguFtcW3Vh3djqNF4aIe6ne0A==", 7246 "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
5744 "dev": true 7247 "dev": true
5745 }, 7248 },
5746 "cssstyle": { 7249 "cssstyle": {
5747 "version": "1.2.2", 7250 "version": "1.4.0",
5748 "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.2.2.tgz", 7251 "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz",
5749 "integrity": "sha512-43wY3kl1CVQSvL7wUY1qXkxVGkStjpkDmVjiIKX8R97uhajy8Bybay78uOtqvh7Q5GK75dNPfW0geWjE6qQQow==", 7252 "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==",
5750 "dev": true, 7253 "dev": true,
5751 "requires": { 7254 "requires": {
5752 "cssom": "0.3.x" 7255 "cssom": "0.3.x"
5753 } 7256 }
5754 }, 7257 },
5755 "csstype": { 7258 "csstype": {
5756 "version": "2.6.2", 7259 "version": "2.6.6",
5757 "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.2.tgz", 7260 "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.6.tgz",
5758 "integrity": "sha512-Rl7PvTae0pflc1YtxtKbiSqq20Ts6vpIYOD5WBafl4y123DyHUeLrRdQP66sQW8/6gmX8jrYJLXwNeMqYVJcow==", 7261 "integrity": "sha512-RpFbQGUE74iyPgvr46U9t1xoQBM8T4BL8SxrN66Le2xYAPSaDJJKeztV3awugusb3g3G9iL8StmkBBXhcbbXhg==",
5759 "dev": true 7262 "dev": true
5760 }, 7263 },
5761 "currently-unhandled": { 7264 "currently-unhandled": {
@@ -5768,9 +7271,9 @@
5768 } 7271 }
5769 }, 7272 },
5770 "cyclist": { 7273 "cyclist": {
5771 "version": "0.2.2", 7274 "version": "1.0.1",
5772 "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", 7275 "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
5773 "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", 7276 "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
5774 "dev": true 7277 "dev": true
5775 }, 7278 },
5776 "cz-conventional-changelog": { 7279 "cz-conventional-changelog": {
@@ -5787,18 +7290,18 @@
5787 } 7290 }
5788 }, 7291 },
5789 "d": { 7292 "d": {
5790 "version": "1.0.0", 7293 "version": "1.0.1",
5791 "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", 7294 "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
5792 "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", 7295 "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
5793 "dev": true,
5794 "requires": { 7296 "requires": {
5795 "es5-ext": "^0.10.9" 7297 "es5-ext": "^0.10.50",
7298 "type": "^1.0.1"
5796 } 7299 }
5797 }, 7300 },
5798 "damerau-levenshtein": { 7301 "damerau-levenshtein": {
5799 "version": "1.0.4", 7302 "version": "1.0.5",
5800 "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz", 7303 "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz",
5801 "integrity": "sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=", 7304 "integrity": "sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+/TdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA==",
5802 "dev": true 7305 "dev": true
5803 }, 7306 },
5804 "dargs": { 7307 "dargs": {
@@ -5810,11 +7313,18 @@
5810 "number-is-nan": "^1.0.0" 7313 "number-is-nan": "^1.0.0"
5811 } 7314 }
5812 }, 7315 },
7316 "darkreader": {
7317 "version": "4.7.15",
7318 "resolved": "https://registry.npmjs.org/darkreader/-/darkreader-4.7.15.tgz",
7319 "integrity": "sha512-i9OzIGJqmbghZ42MI0pHD9hIlEu5LDfOP5TWAg+OyZoO0XsW0D2HoFdCebS4OLRrEr3/TflzDYvUMVnosWR4uA==",
7320 "requires": {
7321 "malevic": "0.16.3"
7322 }
7323 },
5813 "dashdash": { 7324 "dashdash": {
5814 "version": "1.14.1", 7325 "version": "1.14.1",
5815 "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 7326 "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
5816 "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 7327 "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
5817 "dev": true,
5818 "requires": { 7328 "requires": {
5819 "assert-plus": "^1.0.0" 7329 "assert-plus": "^1.0.0"
5820 } 7330 }
@@ -5828,6 +7338,19 @@
5828 "abab": "^2.0.0", 7338 "abab": "^2.0.0",
5829 "whatwg-mimetype": "^2.2.0", 7339 "whatwg-mimetype": "^2.2.0",
5830 "whatwg-url": "^7.0.0" 7340 "whatwg-url": "^7.0.0"
7341 },
7342 "dependencies": {
7343 "whatwg-url": {
7344 "version": "7.0.0",
7345 "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz",
7346 "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==",
7347 "dev": true,
7348 "requires": {
7349 "lodash.sortby": "^4.7.0",
7350 "tr46": "^1.0.1",
7351 "webidl-conversions": "^4.0.2"
7352 }
7353 }
5831 } 7354 }
5832 }, 7355 },
5833 "date-fns": { 7356 "date-fns": {
@@ -5849,20 +7372,11 @@
5849 "dev": true 7372 "dev": true
5850 }, 7373 },
5851 "debug": { 7374 "debug": {
5852 "version": "2.6.9", 7375 "version": "4.1.1",
5853 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 7376 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
5854 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 7377 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
5855 "dev": true,
5856 "requires": { 7378 "requires": {
5857 "ms": "2.0.0" 7379 "ms": "^2.1.1"
5858 },
5859 "dependencies": {
5860 "ms": {
5861 "version": "2.0.0",
5862 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
5863 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
5864 "dev": true
5865 }
5866 } 7380 }
5867 }, 7381 },
5868 "debuglog": { 7382 "debuglog": {
@@ -5874,7 +7388,8 @@
5874 "decamelize": { 7388 "decamelize": {
5875 "version": "1.2.0", 7389 "version": "1.2.0",
5876 "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 7390 "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
5877 "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" 7391 "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
7392 "dev": true
5878 }, 7393 },
5879 "decamelize-keys": { 7394 "decamelize-keys": {
5880 "version": "1.1.0", 7395 "version": "1.1.0",
@@ -5897,8 +7412,7 @@
5897 "decode-uri-component": { 7412 "decode-uri-component": {
5898 "version": "0.2.0", 7413 "version": "0.2.0",
5899 "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", 7414 "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
5900 "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", 7415 "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
5901 "dev": true
5902 }, 7416 },
5903 "decompress-response": { 7417 "decompress-response": {
5904 "version": "3.3.0", 7418 "version": "3.3.0",
@@ -5916,16 +7430,23 @@
5916 "dev": true 7430 "dev": true
5917 }, 7431 },
5918 "deep-equal": { 7432 "deep-equal": {
5919 "version": "1.0.1", 7433 "version": "1.1.0",
5920 "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", 7434 "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.0.tgz",
5921 "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", 7435 "integrity": "sha512-ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw==",
5922 "dev": true 7436 "dev": true,
7437 "requires": {
7438 "is-arguments": "^1.0.4",
7439 "is-date-object": "^1.0.1",
7440 "is-regex": "^1.0.4",
7441 "object-is": "^1.0.1",
7442 "object-keys": "^1.1.1",
7443 "regexp.prototype.flags": "^1.2.0"
7444 }
5923 }, 7445 },
5924 "deep-extend": { 7446 "deep-extend": {
5925 "version": "0.6.0", 7447 "version": "0.6.0",
5926 "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", 7448 "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
5927 "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", 7449 "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
5928 "dev": true
5929 }, 7450 },
5930 "deep-is": { 7451 "deep-is": {
5931 "version": "0.1.3", 7452 "version": "0.1.3",
@@ -5933,12 +7454,6 @@
5933 "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", 7454 "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
5934 "dev": true 7455 "dev": true
5935 }, 7456 },
5936 "deepmerge": {
5937 "version": "3.1.0",
5938 "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.1.0.tgz",
5939 "integrity": "sha512-/TnecbwXEdycfbsM2++O3eGiatEFHjjNciHEwJclM+T5Kd94qD1AP+2elP/Mq0L5b9VZJao5znR01Mz6eX8Seg==",
5940 "dev": true
5941 },
5942 "default-compare": { 7457 "default-compare": {
5943 "version": "1.0.0", 7458 "version": "1.0.0",
5944 "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", 7459 "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz",
@@ -5989,15 +7504,6 @@
5989 } 7504 }
5990 } 7505 }
5991 }, 7506 },
5992 "default-require-extensions": {
5993 "version": "2.0.0",
5994 "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz",
5995 "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=",
5996 "dev": true,
5997 "requires": {
5998 "strip-bom": "^3.0.0"
5999 }
6000 },
6001 "default-resolution": { 7507 "default-resolution": {
6002 "version": "2.0.0", 7508 "version": "2.0.0",
6003 "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", 7509 "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz",
@@ -6032,7 +7538,6 @@
6032 "version": "2.0.2", 7538 "version": "2.0.2",
6033 "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", 7539 "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
6034 "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", 7540 "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
6035 "dev": true,
6036 "requires": { 7541 "requires": {
6037 "is-descriptor": "^1.0.2", 7542 "is-descriptor": "^1.0.2",
6038 "isobject": "^3.0.1" 7543 "isobject": "^3.0.1"
@@ -6042,7 +7547,6 @@
6042 "version": "1.0.0", 7547 "version": "1.0.0",
6043 "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 7548 "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
6044 "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 7549 "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
6045 "dev": true,
6046 "requires": { 7550 "requires": {
6047 "kind-of": "^6.0.0" 7551 "kind-of": "^6.0.0"
6048 } 7552 }
@@ -6051,7 +7555,6 @@
6051 "version": "1.0.0", 7555 "version": "1.0.0",
6052 "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 7556 "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
6053 "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 7557 "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
6054 "dev": true,
6055 "requires": { 7558 "requires": {
6056 "kind-of": "^6.0.0" 7559 "kind-of": "^6.0.0"
6057 } 7560 }
@@ -6060,7 +7563,6 @@
6060 "version": "1.0.2", 7563 "version": "1.0.2",
6061 "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 7564 "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
6062 "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 7565 "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
6063 "dev": true,
6064 "requires": { 7566 "requires": {
6065 "is-accessor-descriptor": "^1.0.0", 7567 "is-accessor-descriptor": "^1.0.0",
6066 "is-data-descriptor": "^1.0.0", 7568 "is-data-descriptor": "^1.0.0",
@@ -6103,20 +7605,24 @@
6103 "dev": true 7605 "dev": true
6104 } 7606 }
6105 } 7607 }
7608 },
7609 "p-map": {
7610 "version": "1.2.0",
7611 "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
7612 "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==",
7613 "dev": true
6106 } 7614 }
6107 } 7615 }
6108 }, 7616 },
6109 "delayed-stream": { 7617 "delayed-stream": {
6110 "version": "1.0.0", 7618 "version": "1.0.0",
6111 "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 7619 "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
6112 "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", 7620 "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
6113 "dev": true
6114 }, 7621 },
6115 "delegates": { 7622 "delegates": {
6116 "version": "1.0.0", 7623 "version": "1.0.0",
6117 "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", 7624 "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
6118 "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", 7625 "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
6119 "dev": true
6120 }, 7626 },
6121 "depd": { 7627 "depd": {
6122 "version": "0.4.4", 7628 "version": "0.4.4",
@@ -6124,6 +7630,12 @@
6124 "integrity": "sha1-BwkfrnX5eCjYm0oCotR3jw58BmI=", 7630 "integrity": "sha1-BwkfrnX5eCjYm0oCotR3jw58BmI=",
6125 "dev": true 7631 "dev": true
6126 }, 7632 },
7633 "deprecation": {
7634 "version": "2.3.1",
7635 "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
7636 "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==",
7637 "dev": true
7638 },
6127 "des.js": { 7639 "des.js": {
6128 "version": "1.0.0", 7640 "version": "1.0.0",
6129 "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", 7641 "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
@@ -6143,8 +7655,7 @@
6143 "detect-file": { 7655 "detect-file": {
6144 "version": "1.0.0", 7656 "version": "1.0.0",
6145 "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", 7657 "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
6146 "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", 7658 "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc="
6147 "dev": true
6148 }, 7659 },
6149 "detect-indent": { 7660 "detect-indent": {
6150 "version": "5.0.0", 7661 "version": "5.0.0",
@@ -6155,8 +7666,7 @@
6155 "detect-libc": { 7666 "detect-libc": {
6156 "version": "1.0.3", 7667 "version": "1.0.3",
6157 "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", 7668 "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
6158 "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", 7669 "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups="
6159 "dev": true
6160 }, 7670 },
6161 "detect-newline": { 7671 "detect-newline": {
6162 "version": "2.1.0", 7672 "version": "2.1.0",
@@ -6180,6 +7690,22 @@
6180 "wrappy": "1" 7690 "wrappy": "1"
6181 } 7691 }
6182 }, 7692 },
7693 "diagnostics": {
7694 "version": "1.1.1",
7695 "resolved": "https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.1.tgz",
7696 "integrity": "sha512-8wn1PmdunLJ9Tqbx+Fx/ZEuHfJf4NKSN2ZBj7SJC/OWRWha843+WsTjqMe1B5E3p28jqBlp+mJ2fPVxPyNgYKQ==",
7697 "requires": {
7698 "colorspace": "1.1.x",
7699 "enabled": "1.0.x",
7700 "kuler": "1.0.x"
7701 }
7702 },
7703 "didyoumean": {
7704 "version": "1.2.1",
7705 "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.1.tgz",
7706 "integrity": "sha1-6S7f2tplN9SE1zwBcv0eugxJdv8=",
7707 "dev": true
7708 },
6183 "diff": { 7709 "diff": {
6184 "version": "3.5.0", 7710 "version": "3.5.0",
6185 "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", 7711 "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
@@ -6187,9 +7713,9 @@
6187 "dev": true 7713 "dev": true
6188 }, 7714 },
6189 "diff-sequences": { 7715 "diff-sequences": {
6190 "version": "24.3.0", 7716 "version": "24.9.0",
6191 "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.3.0.tgz", 7717 "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz",
6192 "integrity": "sha512-xLqpez+Zj9GKSnPWS0WZw1igGocZ+uua8+y+5dDNTT934N3QuY1sp2LkHzwiaYQGz60hMq0pjAshdeXm5VUOEw==", 7718 "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==",
6193 "dev": true 7719 "dev": true
6194 }, 7720 },
6195 "diffie-hellman": { 7721 "diffie-hellman": {
@@ -6204,12 +7730,11 @@
6204 } 7730 }
6205 }, 7731 },
6206 "dir-glob": { 7732 "dir-glob": {
6207 "version": "2.0.0", 7733 "version": "2.2.2",
6208 "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", 7734 "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz",
6209 "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", 7735 "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==",
6210 "dev": true, 7736 "dev": true,
6211 "requires": { 7737 "requires": {
6212 "arrify": "^1.0.1",
6213 "path-type": "^3.0.0" 7738 "path-type": "^3.0.0"
6214 } 7739 }
6215 }, 7740 },
@@ -6228,21 +7753,6 @@
6228 "sanitize-filename": "^1.6.2" 7753 "sanitize-filename": "^1.6.2"
6229 }, 7754 },
6230 "dependencies": { 7755 "dependencies": {
6231 "bluebird": {
6232 "version": "3.5.5",
6233 "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz",
6234 "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==",
6235 "dev": true
6236 },
6237 "bluebird-lst": {
6238 "version": "1.0.9",
6239 "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz",
6240 "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==",
6241 "dev": true,
6242 "requires": {
6243 "bluebird": "^3.5.5"
6244 }
6245 },
6246 "fs-extra": { 7756 "fs-extra": {
6247 "version": "8.1.0", 7757 "version": "8.1.0",
6248 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", 7758 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
@@ -6254,12 +7764,6 @@
6254 "universalify": "^0.1.0" 7764 "universalify": "^0.1.0"
6255 } 7765 }
6256 }, 7766 },
6257 "graceful-fs": {
6258 "version": "4.2.2",
6259 "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
6260 "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==",
6261 "dev": true
6262 },
6263 "iconv-lite": { 7767 "iconv-lite": {
6264 "version": "0.5.0", 7768 "version": "0.5.0",
6265 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.0.tgz", 7769 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.0.tgz",
@@ -6268,16 +7772,6 @@
6268 "requires": { 7772 "requires": {
6269 "safer-buffer": ">= 2.1.2 < 3" 7773 "safer-buffer": ">= 2.1.2 < 3"
6270 } 7774 }
6271 },
6272 "js-yaml": {
6273 "version": "3.13.1",
6274 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
6275 "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
6276 "dev": true,
6277 "requires": {
6278 "argparse": "^1.0.7",
6279 "esprima": "^4.0.0"
6280 }
6281 } 7775 }
6282 } 7776 }
6283 }, 7777 },
@@ -6333,18 +7827,23 @@
6333 } 7827 }
6334 }, 7828 },
6335 "dom-serializer": { 7829 "dom-serializer": {
6336 "version": "0.1.0", 7830 "version": "0.2.1",
6337 "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", 7831 "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.1.tgz",
6338 "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", 7832 "integrity": "sha512-sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q==",
6339 "requires": { 7833 "requires": {
6340 "domelementtype": "~1.1.1", 7834 "domelementtype": "^2.0.1",
6341 "entities": "~1.1.1" 7835 "entities": "^2.0.0"
6342 }, 7836 },
6343 "dependencies": { 7837 "dependencies": {
6344 "domelementtype": { 7838 "domelementtype": {
6345 "version": "1.1.3", 7839 "version": "2.0.1",
6346 "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", 7840 "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz",
6347 "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=" 7841 "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ=="
7842 },
7843 "entities": {
7844 "version": "2.0.0",
7845 "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz",
7846 "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw=="
6348 } 7847 }
6349 } 7848 }
6350 }, 7849 },
@@ -6407,9 +7906,9 @@
6407 "dev": true 7906 "dev": true
6408 }, 7907 },
6409 "du": { 7908 "du": {
6410 "version": "0.1.0", 7909 "version": "0.1.1",
6411 "resolved": "https://registry.npmjs.org/du/-/du-0.1.0.tgz", 7910 "resolved": "https://registry.npmjs.org/du/-/du-0.1.1.tgz",
6412 "integrity": "sha1-8m40CgnHvFtv1pr2263qYPqMb00=", 7911 "integrity": "sha512-w6GM0nECmLD1kKi/YbmjOVAimivt2/3c2LoqEjT5rqxzqWMg/0hamVA4IMu1QCsMFF7euU8LEeTxNf+vwFdTTA==",
6413 "requires": { 7912 "requires": {
6414 "async": "~0.1.22" 7913 "async": "~0.1.22"
6415 } 7914 }
@@ -6429,325 +7928,12 @@
6429 "readable-stream": "~1.1.9" 7928 "readable-stream": "~1.1.9"
6430 }, 7929 },
6431 "dependencies": { 7930 "dependencies": {
6432 "abbrev": {
6433 "version": "1.1.1",
6434 "resolved": false,
6435 "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
6436 },
6437 "ansi-regex": {
6438 "version": "2.1.1",
6439 "resolved": false,
6440 "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
6441 },
6442 "aproba": {
6443 "version": "1.2.0",
6444 "resolved": false,
6445 "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
6446 },
6447 "are-we-there-yet": {
6448 "version": "1.1.4",
6449 "resolved": false,
6450 "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=",
6451 "requires": {
6452 "delegates": "^1.0.0"
6453 }
6454 },
6455 "balanced-match": {
6456 "version": "1.0.0",
6457 "resolved": false,
6458 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
6459 },
6460 "brace-expansion": {
6461 "version": "1.1.11",
6462 "resolved": false,
6463 "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
6464 "requires": {
6465 "balanced-match": "^1.0.0",
6466 "concat-map": "0.0.1"
6467 }
6468 },
6469 "code-point-at": {
6470 "version": "1.1.0",
6471 "resolved": false,
6472 "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
6473 },
6474 "concat-map": {
6475 "version": "0.0.1",
6476 "resolved": false,
6477 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
6478 },
6479 "console-control-strings": {
6480 "version": "1.1.0",
6481 "resolved": false,
6482 "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
6483 },
6484 "debug": {
6485 "version": "4.1.1",
6486 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
6487 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw=="
6488 },
6489 "deep-extend": {
6490 "version": "0.5.1",
6491 "resolved": false,
6492 "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w=="
6493 },
6494 "delegates": {
6495 "version": "1.0.0",
6496 "resolved": false,
6497 "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
6498 },
6499 "detect-libc": {
6500 "version": "1.0.3",
6501 "resolved": false,
6502 "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups="
6503 },
6504 "fs-extra": {
6505 "version": "4.0.3",
6506 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
6507 "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
6508 "requires": {
6509 "graceful-fs": "^4.1.2",
6510 "jsonfile": "^4.0.0",
6511 "universalify": "^0.1.0"
6512 }
6513 },
6514 "fs-minipass": {
6515 "version": "1.2.5",
6516 "resolved": false,
6517 "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==",
6518 "requires": {
6519 "minipass": "^2.2.1"
6520 }
6521 },
6522 "fs.realpath": {
6523 "version": "1.0.0",
6524 "resolved": false,
6525 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
6526 },
6527 "gauge": {
6528 "version": "2.7.4",
6529 "resolved": false,
6530 "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
6531 "requires": {
6532 "aproba": "^1.0.3",
6533 "console-control-strings": "^1.0.0",
6534 "has-unicode": "^2.0.0",
6535 "object-assign": "^4.1.0",
6536 "signal-exit": "^3.0.0",
6537 "string-width": "^1.0.1",
6538 "strip-ansi": "^3.0.1",
6539 "wide-align": "^1.1.0"
6540 }
6541 },
6542 "glob": {
6543 "version": "7.1.2",
6544 "resolved": false,
6545 "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
6546 "requires": {
6547 "fs.realpath": "^1.0.0",
6548 "inflight": "^1.0.4",
6549 "inherits": "2",
6550 "minimatch": "^3.0.4",
6551 "once": "^1.3.0",
6552 "path-is-absolute": "^1.0.0"
6553 }
6554 },
6555 "has-unicode": {
6556 "version": "2.0.1",
6557 "resolved": false,
6558 "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
6559 },
6560 "iconv-lite": {
6561 "version": "0.4.21",
6562 "resolved": false,
6563 "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==",
6564 "requires": {
6565 "safer-buffer": "^2.1.0"
6566 }
6567 },
6568 "ignore-walk": {
6569 "version": "3.0.1",
6570 "resolved": false,
6571 "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==",
6572 "requires": {
6573 "minimatch": "^3.0.4"
6574 }
6575 },
6576 "inflight": {
6577 "version": "1.0.6",
6578 "resolved": false,
6579 "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
6580 "requires": {
6581 "once": "^1.3.0",
6582 "wrappy": "1"
6583 }
6584 },
6585 "ini": {
6586 "version": "1.3.5",
6587 "resolved": false,
6588 "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
6589 },
6590 "is-fullwidth-code-point": {
6591 "version": "1.0.0",
6592 "resolved": false,
6593 "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
6594 "requires": {
6595 "number-is-nan": "^1.0.0"
6596 }
6597 },
6598 "isarray": { 7931 "isarray": {
6599 "version": "0.0.1", 7932 "version": "0.0.1",
6600 "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", 7933 "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
6601 "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", 7934 "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
6602 "dev": true 7935 "dev": true
6603 }, 7936 },
6604 "minimist": {
6605 "version": "0.0.8",
6606 "resolved": false,
6607 "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
6608 },
6609 "minipass": {
6610 "version": "2.2.4",
6611 "resolved": false,
6612 "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==",
6613 "requires": {
6614 "safe-buffer": "^5.1.1",
6615 "yallist": "^3.0.0"
6616 }
6617 },
6618 "minizlib": {
6619 "version": "1.1.0",
6620 "resolved": false,
6621 "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==",
6622 "requires": {
6623 "minipass": "^2.2.1"
6624 }
6625 },
6626 "ms": {
6627 "version": "2.0.0",
6628 "resolved": false,
6629 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
6630 },
6631 "needle": {
6632 "version": "2.2.0",
6633 "resolved": false,
6634 "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==",
6635 "requires": {
6636 "iconv-lite": "^0.4.4",
6637 "sax": "^1.2.4"
6638 }
6639 },
6640 "node-pre-gyp": {
6641 "version": "0.10.0",
6642 "resolved": false,
6643 "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==",
6644 "requires": {
6645 "detect-libc": "^1.0.2",
6646 "mkdirp": "^0.5.1",
6647 "needle": "^2.2.0",
6648 "nopt": "^4.0.1",
6649 "npm-packlist": "^1.1.6",
6650 "npmlog": "^4.0.2",
6651 "rc": "^1.1.7",
6652 "rimraf": "^2.6.1",
6653 "semver": "^5.3.0",
6654 "tar": "^4"
6655 }
6656 },
6657 "nopt": {
6658 "version": "4.0.1",
6659 "resolved": false,
6660 "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
6661 "requires": {
6662 "abbrev": "1",
6663 "osenv": "^0.1.4"
6664 }
6665 },
6666 "npm-bundled": {
6667 "version": "1.0.3",
6668 "resolved": false,
6669 "integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow=="
6670 },
6671 "npm-packlist": {
6672 "version": "1.1.10",
6673 "resolved": false,
6674 "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==",
6675 "requires": {
6676 "ignore-walk": "^3.0.1",
6677 "npm-bundled": "^1.0.1"
6678 }
6679 },
6680 "npmlog": {
6681 "version": "4.1.2",
6682 "resolved": false,
6683 "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
6684 "requires": {
6685 "are-we-there-yet": "~1.1.2",
6686 "console-control-strings": "~1.1.0",
6687 "gauge": "~2.7.3",
6688 "set-blocking": "~2.0.0"
6689 }
6690 },
6691 "number-is-nan": {
6692 "version": "1.0.1",
6693 "resolved": false,
6694 "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
6695 },
6696 "object-assign": {
6697 "version": "4.1.1",
6698 "resolved": false,
6699 "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
6700 },
6701 "once": {
6702 "version": "1.4.0",
6703 "resolved": false,
6704 "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
6705 "requires": {
6706 "wrappy": "1"
6707 }
6708 },
6709 "os-homedir": {
6710 "version": "1.0.2",
6711 "resolved": false,
6712 "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
6713 },
6714 "os-tmpdir": {
6715 "version": "1.0.2",
6716 "resolved": false,
6717 "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
6718 },
6719 "osenv": {
6720 "version": "0.1.5",
6721 "resolved": false,
6722 "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
6723 "requires": {
6724 "os-homedir": "^1.0.0",
6725 "os-tmpdir": "^1.0.0"
6726 }
6727 },
6728 "path-is-absolute": {
6729 "version": "1.0.1",
6730 "resolved": false,
6731 "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
6732 },
6733 "rc": {
6734 "version": "1.2.7",
6735 "resolved": false,
6736 "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==",
6737 "requires": {
6738 "deep-extend": "^0.5.1",
6739 "ini": "~1.3.0",
6740 "minimist": "^1.2.0",
6741 "strip-json-comments": "~2.0.1"
6742 },
6743 "dependencies": {
6744 "minimist": {
6745 "version": "1.2.0",
6746 "resolved": false,
6747 "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
6748 }
6749 }
6750 },
6751 "readable-stream": { 7937 "readable-stream": {
6752 "version": "1.1.14", 7938 "version": "1.1.14",
6753 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", 7939 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
@@ -6760,104 +7946,11 @@
6760 "string_decoder": "~0.10.x" 7946 "string_decoder": "~0.10.x"
6761 } 7947 }
6762 }, 7948 },
6763 "rimraf": {
6764 "version": "2.6.2",
6765 "resolved": false,
6766 "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
6767 "requires": {
6768 "glob": "^7.0.5"
6769 }
6770 },
6771 "safe-buffer": {
6772 "version": "5.1.1",
6773 "resolved": false,
6774 "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
6775 },
6776 "safer-buffer": {
6777 "version": "2.1.2",
6778 "resolved": false,
6779 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
6780 },
6781 "sax": {
6782 "version": "1.2.4",
6783 "resolved": false,
6784 "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
6785 },
6786 "semver": {
6787 "version": "5.5.0",
6788 "resolved": false,
6789 "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA=="
6790 },
6791 "set-blocking": {
6792 "version": "2.0.0",
6793 "resolved": false,
6794 "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
6795 },
6796 "signal-exit": {
6797 "version": "3.0.2",
6798 "resolved": false,
6799 "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
6800 },
6801 "string-width": {
6802 "version": "1.0.2",
6803 "resolved": false,
6804 "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
6805 "requires": {
6806 "code-point-at": "^1.0.0",
6807 "is-fullwidth-code-point": "^1.0.0",
6808 "strip-ansi": "^3.0.0"
6809 }
6810 },
6811 "string_decoder": { 7949 "string_decoder": {
6812 "version": "0.10.31", 7950 "version": "0.10.31",
6813 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", 7951 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
6814 "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", 7952 "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
6815 "dev": true 7953 "dev": true
6816 },
6817 "strip-ansi": {
6818 "version": "3.0.1",
6819 "resolved": false,
6820 "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
6821 "requires": {
6822 "ansi-regex": "^2.0.0"
6823 }
6824 },
6825 "strip-json-comments": {
6826 "version": "2.0.1",
6827 "resolved": false,
6828 "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
6829 },
6830 "tar": {
6831 "version": "4.4.1",
6832 "resolved": false,
6833 "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==",
6834 "requires": {
6835 "chownr": "^1.0.1",
6836 "fs-minipass": "^1.2.5",
6837 "minipass": "^2.2.4",
6838 "minizlib": "^1.1.0",
6839 "mkdirp": "^0.5.0",
6840 "safe-buffer": "^5.1.1",
6841 "yallist": "^3.0.2"
6842 }
6843 },
6844 "wide-align": {
6845 "version": "1.1.2",
6846 "resolved": false,
6847 "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==",
6848 "requires": {
6849 "string-width": "^1.0.2"
6850 }
6851 },
6852 "wrappy": {
6853 "version": "1.0.2",
6854 "resolved": false,
6855 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
6856 },
6857 "yallist": {
6858 "version": "3.0.2",
6859 "resolved": false,
6860 "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k="
6861 } 7954 }
6862 } 7955 }
6863 }, 7956 },
@@ -6894,6 +7987,12 @@
6894 "util-deprecate": "~1.0.1" 7987 "util-deprecate": "~1.0.1"
6895 } 7988 }
6896 }, 7989 },
7990 "safe-buffer": {
7991 "version": "5.1.2",
7992 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
7993 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
7994 "dev": true
7995 },
6897 "string_decoder": { 7996 "string_decoder": {
6898 "version": "1.1.1", 7997 "version": "1.1.1",
6899 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 7998 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -6919,7 +8018,6 @@
6919 "version": "0.1.2", 8018 "version": "0.1.2",
6920 "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", 8019 "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
6921 "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", 8020 "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
6922 "dev": true,
6923 "requires": { 8021 "requires": {
6924 "jsbn": "~0.1.0", 8022 "jsbn": "~0.1.0",
6925 "safer-buffer": "^2.1.0" 8023 "safer-buffer": "^2.1.0"
@@ -6933,6 +8031,37 @@
6933 "safe-buffer": "^5.0.1" 8031 "safe-buffer": "^5.0.1"
6934 } 8032 }
6935 }, 8033 },
8034 "edge.js": {
8035 "version": "1.1.4",
8036 "resolved": "https://registry.npmjs.org/edge.js/-/edge.js-1.1.4.tgz",
8037 "integrity": "sha512-IF4RTNf15KLsn99nTDU90SMZ4fiCcN1WD5kTAB9jOdjx/HEPa3vf/Z+zDOMi6n7d4R0ypm4PzSRuhbIAHmEYcg==",
8038 "requires": {
8039 "debug": "^3.1.0",
8040 "encodeurl": "^1.0.2",
8041 "escape-html": "^1.0.3",
8042 "esprima": "^4.0.0",
8043 "indent-string": "^3.2.0",
8044 "lodash": "^4.17.4",
8045 "node-exceptions": "^3.0.0",
8046 "require-uncached": "^1.0.3",
8047 "upcast": "^2.1.1"
8048 },
8049 "dependencies": {
8050 "debug": {
8051 "version": "3.2.6",
8052 "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
8053 "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
8054 "requires": {
8055 "ms": "^2.1.1"
8056 }
8057 },
8058 "escape-html": {
8059 "version": "1.0.3",
8060 "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
8061 "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
8062 }
8063 }
8064 },
6936 "ee-first": { 8065 "ee-first": {
6937 "version": "1.0.5", 8066 "version": "1.0.5",
6938 "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.0.5.tgz", 8067 "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.0.5.tgz",
@@ -6957,9 +8086,9 @@
6957 }, 8086 },
6958 "dependencies": { 8087 "dependencies": {
6959 "@types/node": { 8088 "@types/node": {
6960 "version": "10.14.19", 8089 "version": "10.14.18",
6961 "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.19.tgz", 8090 "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.18.tgz",
6962 "integrity": "sha512-j6Sqt38ssdMKutXBUuAcmWF8QtHW1Fwz/mz4Y+Wd9mzpBiVFirjpNQf363hG5itkG+yGaD+oiLyb50HxJ36l9Q==", 8091 "integrity": "sha512-ryO3Q3++yZC/+b8j8BdKd/dn9JlzlHBPdm80656xwYUdmPkpTGTjkAdt6BByiNupGPE8w0FhBgvYy/fX9hRNGQ==",
6963 "dev": true 8092 "dev": true
6964 } 8093 }
6965 } 8094 }
@@ -6991,31 +8120,6 @@
6991 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", 8120 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
6992 "dev": true 8121 "dev": true
6993 }, 8122 },
6994 "bluebird": {
6995 "version": "3.5.5",
6996 "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz",
6997 "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==",
6998 "dev": true
6999 },
7000 "bluebird-lst": {
7001 "version": "1.0.9",
7002 "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz",
7003 "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==",
7004 "dev": true,
7005 "requires": {
7006 "bluebird": "^3.5.5"
7007 }
7008 },
7009 "builder-util-runtime": {
7010 "version": "8.3.0",
7011 "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.3.0.tgz",
7012 "integrity": "sha512-CSOdsYqf4RXIHh1HANPbrZHlZ9JQJXSuDDloblZPcWQVN62inyYoTQuSmY3KrgefME2Sv3Kn2MxHvbGQHRf8Iw==",
7013 "dev": true,
7014 "requires": {
7015 "debug": "^4.1.1",
7016 "sax": "^1.2.4"
7017 }
7018 },
7019 "cliui": { 8123 "cliui": {
7020 "version": "5.0.0", 8124 "version": "5.0.0",
7021 "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", 8125 "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
@@ -7027,15 +8131,6 @@
7027 "wrap-ansi": "^5.1.0" 8131 "wrap-ansi": "^5.1.0"
7028 } 8132 }
7029 }, 8133 },
7030 "debug": {
7031 "version": "4.1.1",
7032 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
7033 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
7034 "dev": true,
7035 "requires": {
7036 "ms": "^2.1.1"
7037 }
7038 },
7039 "fs-extra": { 8134 "fs-extra": {
7040 "version": "8.1.0", 8135 "version": "8.1.0",
7041 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", 8136 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
@@ -7053,18 +8148,6 @@
7053 "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 8148 "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
7054 "dev": true 8149 "dev": true
7055 }, 8150 },
7056 "graceful-fs": {
7057 "version": "4.2.2",
7058 "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
7059 "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==",
7060 "dev": true
7061 },
7062 "lazy-val": {
7063 "version": "1.0.4",
7064 "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.4.tgz",
7065 "integrity": "sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q==",
7066 "dev": true
7067 },
7068 "require-main-filename": { 8151 "require-main-filename": {
7069 "version": "2.0.0", 8152 "version": "2.0.0",
7070 "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", 8153 "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
@@ -7133,9 +8216,9 @@
7133 } 8216 }
7134 }, 8217 },
7135 "electron-dl": { 8218 "electron-dl": {
7136 "version": "1.12.0", 8219 "version": "1.14.0",
7137 "resolved": "https://registry.npmjs.org/electron-dl/-/electron-dl-1.12.0.tgz", 8220 "resolved": "https://registry.npmjs.org/electron-dl/-/electron-dl-1.14.0.tgz",
7138 "integrity": "sha512-UMc2CL45Ybpvu66LDPYzwmDRmYK4Ivz+wdnTM0eXcNMztvQwhixAk2UPme1c7McqG8bAlKEkQpZn3epmQy4EWg==", 8221 "integrity": "sha512-4okyei42a1mLsvLK7hLrIfd20EQzB18nIlLTwBV992aMSmTGLUEFRTmO1MfSslGNrzD8nuPuy1l/VxO8so4lig==",
7139 "requires": { 8222 "requires": {
7140 "ext-name": "^5.0.0", 8223 "ext-name": "^5.0.0",
7141 "pupa": "^1.0.0", 8224 "pupa": "^1.0.0",
@@ -7178,6 +8261,12 @@
7178 "jsonfile": "^4.0.0", 8261 "jsonfile": "^4.0.0",
7179 "universalify": "^0.1.0" 8262 "universalify": "^0.1.0"
7180 } 8263 }
8264 },
8265 "minimist": {
8266 "version": "1.2.0",
8267 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
8268 "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
8269 "dev": true
7181 } 8270 }
7182 } 8271 }
7183 }, 8272 },
@@ -7198,9 +8287,61 @@
7198 } 8287 }
7199 }, 8288 },
7200 "electron-is-dev": { 8289 "electron-is-dev": {
7201 "version": "1.0.1", 8290 "version": "1.1.0",
7202 "resolved": "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-1.0.1.tgz", 8291 "resolved": "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-1.1.0.tgz",
7203 "integrity": "sha512-iwM3EotA9HTXqMGpQRkR/kT8OZqBbdfHTnlwcxsjSLYqY8svvsq0MuujsWCn3/vtgRmDv/PC/gKUUpoZvi5C1w==" 8292 "integrity": "sha512-Z1qA/1oHNowGtSBIcWk0pcLEqYT/j+13xUw/MYOrBUOL4X7VN0i0KCTf5SqyvMPmW5pSPKbo28wkxMxzZ20YnQ=="
8293 },
8294 "electron-notarize": {
8295 "version": "0.1.1",
8296 "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-0.1.1.tgz",
8297 "integrity": "sha512-TpKfJcz4LXl5jiGvZTs5fbEx+wUFXV5u8voeG5WCHWfY/cdgdD8lDZIZRqLVOtR3VO+drgJ9aiSHIO9TYn/fKg==",
8298 "dev": true,
8299 "requires": {
8300 "debug": "^4.1.1",
8301 "fs-extra": "^8.0.1"
8302 },
8303 "dependencies": {
8304 "fs-extra": {
8305 "version": "8.1.0",
8306 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
8307 "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
8308 "dev": true,
8309 "requires": {
8310 "graceful-fs": "^4.2.0",
8311 "jsonfile": "^4.0.0",
8312 "universalify": "^0.1.0"
8313 }
8314 }
8315 }
8316 },
8317 "electron-process-manager": {
8318 "version": "git+https://git@github.com/dizer/electron-process-manager.git#6700fc0d777aca55d1a891add363996c281a0874",
8319 "from": "git+https://git@github.com/dizer/electron-process-manager.git"
8320 },
8321 "electron-process-reporter": {
8322 "version": "git+https://git@github.com/dizer/electron-process-reporter.git#6c4b68572ecc7e76b60459a7b03a411c8c139fd4",
8323 "from": "git+https://git@github.com/dizer/electron-process-reporter.git",
8324 "requires": {
8325 "memoizee": "^0.4.14",
8326 "pidtree": "^0.3.0",
8327 "pidusage": "2.0.16",
8328 "rxjs": "^5.5.6"
8329 },
8330 "dependencies": {
8331 "rxjs": {
8332 "version": "5.5.12",
8333 "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz",
8334 "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==",
8335 "requires": {
8336 "symbol-observable": "1.0.1"
8337 }
8338 },
8339 "symbol-observable": {
8340 "version": "1.0.1",
8341 "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz",
8342 "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ="
8343 }
8344 }
7204 }, 8345 },
7205 "electron-publish": { 8346 "electron-publish": {
7206 "version": "21.2.0", 8347 "version": "21.2.0",
@@ -7217,40 +8358,6 @@
7217 "mime": "^2.4.4" 8358 "mime": "^2.4.4"
7218 }, 8359 },
7219 "dependencies": { 8360 "dependencies": {
7220 "bluebird": {
7221 "version": "3.5.5",
7222 "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz",
7223 "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==",
7224 "dev": true
7225 },
7226 "bluebird-lst": {
7227 "version": "1.0.9",
7228 "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz",
7229 "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==",
7230 "dev": true,
7231 "requires": {
7232 "bluebird": "^3.5.5"
7233 }
7234 },
7235 "builder-util-runtime": {
7236 "version": "8.3.0",
7237 "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.3.0.tgz",
7238 "integrity": "sha512-CSOdsYqf4RXIHh1HANPbrZHlZ9JQJXSuDDloblZPcWQVN62inyYoTQuSmY3KrgefME2Sv3Kn2MxHvbGQHRf8Iw==",
7239 "dev": true,
7240 "requires": {
7241 "debug": "^4.1.1",
7242 "sax": "^1.2.4"
7243 }
7244 },
7245 "debug": {
7246 "version": "4.1.1",
7247 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
7248 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
7249 "dev": true,
7250 "requires": {
7251 "ms": "^2.1.1"
7252 }
7253 },
7254 "fs-extra": { 8361 "fs-extra": {
7255 "version": "8.1.0", 8362 "version": "8.1.0",
7256 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", 8363 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
@@ -7261,24 +8368,6 @@
7261 "jsonfile": "^4.0.0", 8368 "jsonfile": "^4.0.0",
7262 "universalify": "^0.1.0" 8369 "universalify": "^0.1.0"
7263 } 8370 }
7264 },
7265 "graceful-fs": {
7266 "version": "4.2.2",
7267 "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
7268 "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==",
7269 "dev": true
7270 },
7271 "lazy-val": {
7272 "version": "1.0.4",
7273 "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.4.tgz",
7274 "integrity": "sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q==",
7275 "dev": true
7276 },
7277 "mime": {
7278 "version": "2.4.4",
7279 "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz",
7280 "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==",
7281 "dev": true
7282 } 8371 }
7283 } 8372 }
7284 }, 8373 },
@@ -7292,53 +8381,245 @@
7292 } 8381 }
7293 }, 8382 },
7294 "electron-rebuild": { 8383 "electron-rebuild": {
7295 "version": "1.8.4", 8384 "version": "1.8.6",
7296 "resolved": "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-1.8.4.tgz", 8385 "resolved": "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-1.8.6.tgz",
7297 "integrity": "sha512-QBUZg1due+R0bww5rNd4gEcsKczyhxyLrxSFZlKihwHRxaiHrGut532JAUe0fRz+VIU4WNSfNKyZ/ZwSGjaDhA==", 8386 "integrity": "sha512-4BAPcNG0XP6stByqvFXggrjmf/C47P2L6HFFrWdR2ako1VLiTDIeZAOmU4WEBuWdaXYNqstleszVmcNHdRDojA==",
7298 "dev": true, 8387 "dev": true,
7299 "requires": { 8388 "requires": {
7300 "colors": "^1.3.3", 8389 "colors": "^1.3.3",
7301 "debug": "^4.1.1", 8390 "debug": "^4.1.1",
7302 "detect-libc": "^1.0.3", 8391 "detect-libc": "^1.0.3",
7303 "fs-extra": "^7.0.1", 8392 "fs-extra": "^7.0.1",
7304 "node-abi": "^2.7.0", 8393 "node-abi": "^2.9.0",
7305 "node-gyp": "^3.8.0", 8394 "node-gyp": "^5.0.1",
7306 "ora": "^3.0.0", 8395 "ora": "^3.4.0",
7307 "spawn-rx": "^3.0.0", 8396 "spawn-rx": "^3.0.0",
7308 "yargs": "^12.0.5" 8397 "yargs": "^13.2.4"
7309 }, 8398 },
7310 "dependencies": { 8399 "dependencies": {
7311 "debug": { 8400 "ansi-regex": {
7312 "version": "4.1.1", 8401 "version": "4.1.0",
7313 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", 8402 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
7314 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", 8403 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
8404 "dev": true
8405 },
8406 "cliui": {
8407 "version": "5.0.0",
8408 "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
8409 "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
7315 "dev": true, 8410 "dev": true,
7316 "requires": { 8411 "requires": {
7317 "ms": "^2.1.1" 8412 "string-width": "^3.1.0",
8413 "strip-ansi": "^5.2.0",
8414 "wrap-ansi": "^5.1.0"
8415 }
8416 },
8417 "get-caller-file": {
8418 "version": "2.0.5",
8419 "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
8420 "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
8421 "dev": true
8422 },
8423 "node-gyp": {
8424 "version": "5.0.3",
8425 "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-5.0.3.tgz",
8426 "integrity": "sha512-z/JdtkFGUm0QaQUusvloyYuGDub3nUbOo5de1Fz57cM++osBTvQatBUSTlF1k/w8vFHPxxXW6zxGvkxXSpaBkQ==",
8427 "dev": true,
8428 "requires": {
8429 "env-paths": "^1.0.0",
8430 "glob": "^7.0.3",
8431 "graceful-fs": "^4.1.2",
8432 "mkdirp": "^0.5.0",
8433 "nopt": "2 || 3",
8434 "npmlog": "0 || 1 || 2 || 3 || 4",
8435 "request": "^2.87.0",
8436 "rimraf": "2",
8437 "semver": "~5.3.0",
8438 "tar": "^4.4.8",
8439 "which": "1"
8440 }
8441 },
8442 "require-main-filename": {
8443 "version": "2.0.0",
8444 "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
8445 "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
8446 "dev": true
8447 },
8448 "semver": {
8449 "version": "5.3.0",
8450 "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
8451 "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
8452 "dev": true
8453 },
8454 "string-width": {
8455 "version": "3.1.0",
8456 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
8457 "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
8458 "dev": true,
8459 "requires": {
8460 "emoji-regex": "^7.0.1",
8461 "is-fullwidth-code-point": "^2.0.0",
8462 "strip-ansi": "^5.1.0"
8463 }
8464 },
8465 "strip-ansi": {
8466 "version": "5.2.0",
8467 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
8468 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
8469 "dev": true,
8470 "requires": {
8471 "ansi-regex": "^4.1.0"
8472 }
8473 },
8474 "wrap-ansi": {
8475 "version": "5.1.0",
8476 "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
8477 "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
8478 "dev": true,
8479 "requires": {
8480 "ansi-styles": "^3.2.0",
8481 "string-width": "^3.0.0",
8482 "strip-ansi": "^5.0.0"
8483 }
8484 },
8485 "yargs": {
8486 "version": "13.3.0",
8487 "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz",
8488 "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==",
8489 "dev": true,
8490 "requires": {
8491 "cliui": "^5.0.0",
8492 "find-up": "^3.0.0",
8493 "get-caller-file": "^2.0.1",
8494 "require-directory": "^2.1.1",
8495 "require-main-filename": "^2.0.0",
8496 "set-blocking": "^2.0.0",
8497 "string-width": "^3.0.0",
8498 "which-module": "^2.0.0",
8499 "y18n": "^4.0.0",
8500 "yargs-parser": "^13.1.1"
8501 }
8502 },
8503 "yargs-parser": {
8504 "version": "13.1.1",
8505 "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz",
8506 "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==",
8507 "dev": true,
8508 "requires": {
8509 "camelcase": "^5.0.0",
8510 "decamelize": "^1.2.0"
7318 } 8511 }
7319 } 8512 }
7320 } 8513 }
7321 }, 8514 },
8515 "electron-spellchecker": {
8516 "version": "2.2.0",
8517 "resolved": "https://registry.npmjs.org/electron-spellchecker/-/electron-spellchecker-2.2.0.tgz",
8518 "integrity": "sha512-QkOVgjmjx6bDkqNshRTfVzEz9ctjiKVPZw77YLS0sQReP320QNtTXAKyo+01TORWk58RFT/LdxPZ/aejLdPmOA==",
8519 "requires": {
8520 "@aabuhijleh/electron-remote": "^1.4.0",
8521 "@felixrieseberg/spellchecker": "^4.0.10",
8522 "bcp47": "^1.1.2",
8523 "cld": "^2.5.1",
8524 "debug": "^4.1.1",
8525 "keyboard-layout": "^2.0.16",
8526 "lru-cache": "^5.1.1",
8527 "mkdirp": "^0.5.1",
8528 "pify": "^4.0.1",
8529 "rxjs": "^5.0.1",
8530 "rxjs-serial-subscription": "^0.1.1",
8531 "spawn-rx": "^2.0.7"
8532 },
8533 "dependencies": {
8534 "lru-cache": {
8535 "version": "5.1.1",
8536 "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
8537 "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
8538 "requires": {
8539 "yallist": "^3.0.2"
8540 }
8541 },
8542 "ms": {
8543 "version": "2.0.0",
8544 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
8545 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
8546 },
8547 "pify": {
8548 "version": "4.0.1",
8549 "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
8550 "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
8551 },
8552 "rxjs": {
8553 "version": "5.5.12",
8554 "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz",
8555 "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==",
8556 "requires": {
8557 "symbol-observable": "1.0.1"
8558 }
8559 },
8560 "spawn-rx": {
8561 "version": "2.0.12",
8562 "resolved": "https://registry.npmjs.org/spawn-rx/-/spawn-rx-2.0.12.tgz",
8563 "integrity": "sha512-gOPXiQQFQ9lTOLuys0iMn3jfxxv9c7zzwhbYLOEbQGvEShHVJ5sSR1oD3Daj88os7jKArDYT7rbOKdvNhe7iEg==",
8564 "requires": {
8565 "debug": "^2.5.1",
8566 "lodash.assign": "^4.2.0",
8567 "rxjs": "^5.1.1"
8568 },
8569 "dependencies": {
8570 "debug": {
8571 "version": "2.6.9",
8572 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
8573 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
8574 "requires": {
8575 "ms": "2.0.0"
8576 }
8577 }
8578 }
8579 },
8580 "symbol-observable": {
8581 "version": "1.0.1",
8582 "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz",
8583 "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ="
8584 }
8585 }
8586 },
7322 "electron-to-chromium": { 8587 "electron-to-chromium": {
7323 "version": "1.3.113", 8588 "version": "1.3.261",
7324 "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.113.tgz", 8589 "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.261.tgz",
7325 "integrity": "sha512-De+lPAxEcpxvqPTyZAXELNpRZXABRxf+uL/rSykstQhzj/B0l1150G/ExIIxKc16lI89Hgz81J0BHAcbTqK49g==", 8590 "integrity": "sha512-nA9xFj1SgHXlW/6T4+udW2u/Ic/bne25UoFsddoNM7Ut2bgNGLLQUhLhk+vQlbKh9WiRgDDlHaC36Oy7AgRR9w==",
7326 "dev": true 8591 "dev": true
7327 }, 8592 },
7328 "electron-updater": { 8593 "electron-updater": {
7329 "version": "4.0.6", 8594 "version": "4.1.2",
7330 "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-4.0.6.tgz", 8595 "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-4.1.2.tgz",
7331 "integrity": "sha512-JPGLME6fxJcHG8hX7HWFl6Aew6iVm0DkcrENreKa5SUJCHG+uUaAhxDGDt+YGcNkyx1uJ6eBGMvFxDTLUv67pg==", 8596 "integrity": "sha512-4Sk8IW0LfOilDz+WAB/gEDmX7+FUFRbKHGN1zGjehPilnd6H9cmjgBHK6Xzq/FLq/uOHGJ6GX/9tsF+jr7CvnA==",
7332 "requires": { 8597 "requires": {
7333 "bluebird-lst": "^1.0.6", 8598 "@types/semver": "^6.0.1",
7334 "builder-util-runtime": "~8.1.0", 8599 "builder-util-runtime": "8.3.0",
7335 "fs-extra-p": "^7.0.0", 8600 "fs-extra": "^8.1.0",
7336 "js-yaml": "^3.12.0", 8601 "js-yaml": "^3.13.1",
7337 "lazy-val": "^1.0.3", 8602 "lazy-val": "^1.0.4",
7338 "lodash.isequal": "^4.5.0", 8603 "lodash.isequal": "^4.5.0",
7339 "pako": "^1.0.7", 8604 "pako": "^1.0.10",
7340 "semver": "^5.6.0", 8605 "semver": "^6.2.0"
7341 "source-map-support": "^0.5.9" 8606 },
8607 "dependencies": {
8608 "fs-extra": {
8609 "version": "8.1.0",
8610 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
8611 "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
8612 "requires": {
8613 "graceful-fs": "^4.2.0",
8614 "jsonfile": "^4.0.0",
8615 "universalify": "^0.1.0"
8616 }
8617 },
8618 "semver": {
8619 "version": "6.3.0",
8620 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
8621 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
8622 }
7342 } 8623 }
7343 }, 8624 },
7344 "electron-window-state": { 8625 "electron-window-state": {
@@ -7351,9 +8632,9 @@
7351 } 8632 }
7352 }, 8633 },
7353 "elliptic": { 8634 "elliptic": {
7354 "version": "6.4.1", 8635 "version": "6.5.1",
7355 "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", 8636 "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz",
7356 "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", 8637 "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==",
7357 "dev": true, 8638 "dev": true,
7358 "requires": { 8639 "requires": {
7359 "bn.js": "^4.4.0", 8640 "bn.js": "^4.4.0",
@@ -7391,11 +8672,18 @@
7391 "tslib": "^1.8.0" 8672 "tslib": "^1.8.0"
7392 } 8673 }
7393 }, 8674 },
8675 "enabled": {
8676 "version": "1.0.2",
8677 "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz",
8678 "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=",
8679 "requires": {
8680 "env-variable": "0.0.x"
8681 }
8682 },
7394 "encodeurl": { 8683 "encodeurl": {
7395 "version": "1.0.2", 8684 "version": "1.0.2",
7396 "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", 8685 "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
7397 "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", 8686 "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
7398 "dev": true
7399 }, 8687 },
7400 "encoding": { 8688 "encoding": {
7401 "version": "0.1.12", 8689 "version": "0.1.12",
@@ -7409,7 +8697,6 @@
7409 "version": "1.4.1", 8697 "version": "1.4.1",
7410 "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", 8698 "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
7411 "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", 8699 "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
7412 "dev": true,
7413 "requires": { 8700 "requires": {
7414 "once": "^1.4.0" 8701 "once": "^1.4.0"
7415 } 8702 }
@@ -7491,6 +8778,12 @@
7491 "yeast": "0.1.2" 8778 "yeast": "0.1.2"
7492 }, 8779 },
7493 "dependencies": { 8780 "dependencies": {
8781 "component-emitter": {
8782 "version": "1.2.1",
8783 "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
8784 "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
8785 "dev": true
8786 },
7494 "debug": { 8787 "debug": {
7495 "version": "2.3.3", 8788 "version": "2.3.3",
7496 "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", 8789 "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
@@ -7543,6 +8836,59 @@
7543 "tapable": "^1.0.0" 8836 "tapable": "^1.0.0"
7544 } 8837 }
7545 }, 8838 },
8839 "enquirer": {
8840 "version": "1.0.3",
8841 "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-1.0.3.tgz",
8842 "integrity": "sha512-3y9zemKlEhH6oW/WBrqofpc2JLtFkoolvWFFTTMPVede1lQ/E83xjdaE4L82RJCYgaiGB5ctjHX/BRbVk2iuJA==",
8843 "requires": {
8844 "choices-separator": "^2.0.0",
8845 "collection-visit": "^1.0.0",
8846 "component-emitter": "^1.2.1",
8847 "debug": "^2.6.8",
8848 "extend-shallow": "^2.0.1",
8849 "get-value": "^2.0.6",
8850 "isobject": "^3.0.0",
8851 "promise-reduce": "^2.1.0",
8852 "prompt-input": "^3.0.0",
8853 "prompt-question": "^3.0.3",
8854 "readline-ui": "^2.2.2",
8855 "set-value": "^1.0.0"
8856 },
8857 "dependencies": {
8858 "debug": {
8859 "version": "2.6.9",
8860 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
8861 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
8862 "requires": {
8863 "ms": "2.0.0"
8864 }
8865 },
8866 "extend-shallow": {
8867 "version": "2.0.1",
8868 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
8869 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
8870 "requires": {
8871 "is-extendable": "^0.1.0"
8872 }
8873 },
8874 "ms": {
8875 "version": "2.0.0",
8876 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
8877 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
8878 },
8879 "set-value": {
8880 "version": "1.0.0",
8881 "resolved": "https://registry.npmjs.org/set-value/-/set-value-1.0.0.tgz",
8882 "integrity": "sha1-vMdvcaDx4HokuYfQoCr+yfZlME8=",
8883 "requires": {
8884 "extend-shallow": "^2.0.1",
8885 "is-extendable": "^0.1.1",
8886 "is-plain-object": "^2.0.1",
8887 "to-object-path": "^0.3.0"
8888 }
8889 }
8890 }
8891 },
7546 "entities": { 8892 "entities": {
7547 "version": "1.1.2", 8893 "version": "1.1.2",
7548 "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", 8894 "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
@@ -7554,6 +8900,11 @@
7554 "integrity": "sha1-QWgTO0K7BcOKNbGuQ5fIKYqzaeA=", 8900 "integrity": "sha1-QWgTO0K7BcOKNbGuQ5fIKYqzaeA=",
7555 "dev": true 8901 "dev": true
7556 }, 8902 },
8903 "env-variable": {
8904 "version": "0.0.5",
8905 "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.5.tgz",
8906 "integrity": "sha512-zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA=="
8907 },
7557 "err-code": { 8908 "err-code": {
7558 "version": "1.1.2", 8909 "version": "1.1.2",
7559 "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", 8910 "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz",
@@ -7586,18 +8937,27 @@
7586 } 8937 }
7587 } 8938 }
7588 }, 8939 },
8940 "error-symbol": {
8941 "version": "0.1.0",
8942 "resolved": "https://registry.npmjs.org/error-symbol/-/error-symbol-0.1.0.tgz",
8943 "integrity": "sha1-Ck2uN9YA0VopukU9jvkg8YRDM/Y="
8944 },
7589 "es-abstract": { 8945 "es-abstract": {
7590 "version": "1.13.0", 8946 "version": "1.14.2",
7591 "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", 8947 "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.14.2.tgz",
7592 "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", 8948 "integrity": "sha512-DgoQmbpFNOofkjJtKwr87Ma5EW4Dc8fWhD0R+ndq7Oc456ivUfGOOP6oAZTTKl5/CcNMP+EN+e3/iUzgE0veZg==",
7593 "dev": true, 8949 "dev": true,
7594 "requires": { 8950 "requires": {
7595 "es-to-primitive": "^1.2.0", 8951 "es-to-primitive": "^1.2.0",
7596 "function-bind": "^1.1.1", 8952 "function-bind": "^1.1.1",
7597 "has": "^1.0.3", 8953 "has": "^1.0.3",
8954 "has-symbols": "^1.0.0",
7598 "is-callable": "^1.1.4", 8955 "is-callable": "^1.1.4",
7599 "is-regex": "^1.0.4", 8956 "is-regex": "^1.0.4",
7600 "object-keys": "^1.0.12" 8957 "object-inspect": "^1.6.0",
8958 "object-keys": "^1.1.1",
8959 "string.prototype.trimleft": "^2.0.0",
8960 "string.prototype.trimright": "^2.0.0"
7601 } 8961 }
7602 }, 8962 },
7603 "es-to-primitive": { 8963 "es-to-primitive": {
@@ -7612,21 +8972,19 @@
7612 } 8972 }
7613 }, 8973 },
7614 "es5-ext": { 8974 "es5-ext": {
7615 "version": "0.10.47", 8975 "version": "0.10.51",
7616 "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.47.tgz", 8976 "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.51.tgz",
7617 "integrity": "sha512-/1TItLfj+TTfWoeRcDn/0FbGV6SNo4R+On2GGVucPU/j3BWnXE2Co8h8CTo4Tu34gFJtnmwS9xiScKs4EjZhdw==", 8977 "integrity": "sha512-oRpWzM2WcLHVKpnrcyB7OW8j/s67Ba04JCm0WnNv3RiABSvs7mrQlutB8DBv793gKcp0XENR8Il8WxGTlZ73gQ==",
7618 "dev": true,
7619 "requires": { 8978 "requires": {
7620 "es6-iterator": "~2.0.3", 8979 "es6-iterator": "~2.0.3",
7621 "es6-symbol": "~3.1.1", 8980 "es6-symbol": "~3.1.1",
7622 "next-tick": "1" 8981 "next-tick": "^1.0.0"
7623 } 8982 }
7624 }, 8983 },
7625 "es6-iterator": { 8984 "es6-iterator": {
7626 "version": "2.0.3", 8985 "version": "2.0.3",
7627 "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", 8986 "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
7628 "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", 8987 "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
7629 "dev": true,
7630 "requires": { 8988 "requires": {
7631 "d": "1", 8989 "d": "1",
7632 "es5-ext": "^0.10.35", 8990 "es5-ext": "^0.10.35",
@@ -7634,9 +8992,9 @@
7634 } 8992 }
7635 }, 8993 },
7636 "es6-promise": { 8994 "es6-promise": {
7637 "version": "4.2.5", 8995 "version": "4.2.8",
7638 "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", 8996 "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
7639 "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==", 8997 "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==",
7640 "dev": true 8998 "dev": true
7641 }, 8999 },
7642 "es6-promisify": { 9000 "es6-promisify": {
@@ -7649,24 +9007,22 @@
7649 } 9007 }
7650 }, 9008 },
7651 "es6-symbol": { 9009 "es6-symbol": {
7652 "version": "3.1.1", 9010 "version": "3.1.2",
7653 "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", 9011 "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.2.tgz",
7654 "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", 9012 "integrity": "sha512-/ZypxQsArlv+KHpGvng52/Iz8by3EQPxhmbuz8yFG89N/caTFBSbcXONDw0aMjy827gQg26XAjP4uXFvnfINmQ==",
7655 "dev": true,
7656 "requires": { 9013 "requires": {
7657 "d": "1", 9014 "d": "^1.0.1",
7658 "es5-ext": "~0.10.14" 9015 "es5-ext": "^0.10.51"
7659 } 9016 }
7660 }, 9017 },
7661 "es6-weak-map": { 9018 "es6-weak-map": {
7662 "version": "2.0.2", 9019 "version": "2.0.3",
7663 "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", 9020 "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz",
7664 "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", 9021 "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==",
7665 "dev": true,
7666 "requires": { 9022 "requires": {
7667 "d": "1", 9023 "d": "1",
7668 "es5-ext": "^0.10.14", 9024 "es5-ext": "^0.10.46",
7669 "es6-iterator": "^2.0.1", 9025 "es6-iterator": "^2.0.3",
7670 "es6-symbol": "^3.1.1" 9026 "es6-symbol": "^3.1.1"
7671 } 9027 }
7672 }, 9028 },
@@ -7679,13 +9035,12 @@
7679 "escape-string-regexp": { 9035 "escape-string-regexp": {
7680 "version": "1.0.5", 9036 "version": "1.0.5",
7681 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 9037 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
7682 "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 9038 "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
7683 "dev": true
7684 }, 9039 },
7685 "escodegen": { 9040 "escodegen": {
7686 "version": "1.11.1", 9041 "version": "1.12.0",
7687 "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.1.tgz", 9042 "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.12.0.tgz",
7688 "integrity": "sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw==", 9043 "integrity": "sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==",
7689 "dev": true, 9044 "dev": true,
7690 "requires": { 9045 "requires": {
7691 "esprima": "^3.1.3", 9046 "esprima": "^3.1.3",
@@ -7748,30 +9103,15 @@
7748 "text-table": "^0.2.0" 9103 "text-table": "^0.2.0"
7749 }, 9104 },
7750 "dependencies": { 9105 "dependencies": {
7751 "debug": {
7752 "version": "4.1.1",
7753 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
7754 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
7755 "dev": true,
7756 "requires": {
7757 "ms": "^2.1.1"
7758 }
7759 },
7760 "eslint-scope": { 9106 "eslint-scope": {
7761 "version": "4.0.0", 9107 "version": "4.0.3",
7762 "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", 9108 "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
7763 "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", 9109 "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
7764 "dev": true, 9110 "dev": true,
7765 "requires": { 9111 "requires": {
7766 "esrecurse": "^4.1.0", 9112 "esrecurse": "^4.1.0",
7767 "estraverse": "^4.1.1" 9113 "estraverse": "^4.1.1"
7768 } 9114 }
7769 },
7770 "ms": {
7771 "version": "2.1.1",
7772 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
7773 "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
7774 "dev": true
7775 } 9115 }
7776 } 9116 }
7777 }, 9117 },
@@ -7787,14 +9127,14 @@
7787 } 9127 }
7788 }, 9128 },
7789 "eslint-config-airbnb-base": { 9129 "eslint-config-airbnb-base": {
7790 "version": "13.1.0", 9130 "version": "13.2.0",
7791 "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.1.0.tgz", 9131 "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.2.0.tgz",
7792 "integrity": "sha512-XWwQtf3U3zIoKO1BbHh6aUhJZQweOwSt4c2JrPDg9FP3Ltv3+YfEv7jIDB8275tVnO/qOHbfuYg3kzw6Je7uWw==", 9132 "integrity": "sha512-1mg/7eoB4AUeB0X1c/ho4vb2gYkNH8Trr/EgCT/aGmKhhG+F6vF5s8+iRBlWAzFIAphxIdp3YfEKgEl0f9Xg+w==",
7793 "dev": true, 9133 "dev": true,
7794 "requires": { 9134 "requires": {
7795 "eslint-restricted-globals": "^0.1.1", 9135 "confusing-browser-globals": "^1.0.5",
7796 "object.assign": "^4.1.0", 9136 "object.assign": "^4.1.0",
7797 "object.entries": "^1.0.4" 9137 "object.entries": "^1.1.0"
7798 } 9138 }
7799 }, 9139 },
7800 "eslint-import-resolver-node": { 9140 "eslint-import-resolver-node": {
@@ -7805,6 +9145,23 @@
7805 "requires": { 9145 "requires": {
7806 "debug": "^2.6.9", 9146 "debug": "^2.6.9",
7807 "resolve": "^1.5.0" 9147 "resolve": "^1.5.0"
9148 },
9149 "dependencies": {
9150 "debug": {
9151 "version": "2.6.9",
9152 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
9153 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
9154 "dev": true,
9155 "requires": {
9156 "ms": "2.0.0"
9157 }
9158 },
9159 "ms": {
9160 "version": "2.0.0",
9161 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
9162 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
9163 "dev": true
9164 }
7808 } 9165 }
7809 }, 9166 },
7810 "eslint-loader": { 9167 "eslint-loader": {
@@ -7821,13 +9178,30 @@
7821 } 9178 }
7822 }, 9179 },
7823 "eslint-module-utils": { 9180 "eslint-module-utils": {
7824 "version": "2.3.0", 9181 "version": "2.4.1",
7825 "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.3.0.tgz", 9182 "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz",
7826 "integrity": "sha512-lmDJgeOOjk8hObTysjqH7wyMi+nsHwwvfBykwfhjR1LNdd7C2uFJBvx4OpWYpXOw4df1yE1cDEVd1yLHitk34w==", 9183 "integrity": "sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw==",
7827 "dev": true, 9184 "dev": true,
7828 "requires": { 9185 "requires": {
7829 "debug": "^2.6.8", 9186 "debug": "^2.6.8",
7830 "pkg-dir": "^2.0.0" 9187 "pkg-dir": "^2.0.0"
9188 },
9189 "dependencies": {
9190 "debug": {
9191 "version": "2.6.9",
9192 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
9193 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
9194 "dev": true,
9195 "requires": {
9196 "ms": "2.0.0"
9197 }
9198 },
9199 "ms": {
9200 "version": "2.0.0",
9201 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
9202 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
9203 "dev": true
9204 }
7831 } 9205 }
7832 }, 9206 },
7833 "eslint-plugin-import": { 9207 "eslint-plugin-import": {
@@ -7848,6 +9222,15 @@
7848 "resolve": "^1.6.0" 9222 "resolve": "^1.6.0"
7849 }, 9223 },
7850 "dependencies": { 9224 "dependencies": {
9225 "debug": {
9226 "version": "2.6.9",
9227 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
9228 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
9229 "dev": true,
9230 "requires": {
9231 "ms": "2.0.0"
9232 }
9233 },
7851 "doctrine": { 9234 "doctrine": {
7852 "version": "1.5.0", 9235 "version": "1.5.0",
7853 "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", 9236 "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
@@ -7889,6 +9272,12 @@
7889 "path-exists": "^3.0.0" 9272 "path-exists": "^3.0.0"
7890 } 9273 }
7891 }, 9274 },
9275 "ms": {
9276 "version": "2.0.0",
9277 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
9278 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
9279 "dev": true
9280 },
7892 "p-limit": { 9281 "p-limit": {
7893 "version": "1.3.0", 9282 "version": "1.3.0",
7894 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", 9283 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
@@ -7957,15 +9346,6 @@
7957 "find-up": "^2.0.0", 9346 "find-up": "^2.0.0",
7958 "read-pkg": "^2.0.0" 9347 "read-pkg": "^2.0.0"
7959 } 9348 }
7960 },
7961 "yargs": {
7962 "version": "3.32.0",
7963 "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz",
7964 "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=",
7965 "requires": {
7966 "decamelize": "^1.1.1",
7967 "window-size": "^0.1.4"
7968 }
7969 } 9349 }
7970 } 9350 }
7971 }, 9351 },
@@ -8012,12 +9392,6 @@
8012 "prop-types": "^15.6.2" 9392 "prop-types": "^15.6.2"
8013 } 9393 }
8014 }, 9394 },
8015 "eslint-restricted-globals": {
8016 "version": "0.1.1",
8017 "resolved": "https://registry.npmjs.org/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz",
8018 "integrity": "sha1-NfDVy8ZMLj7WLpO0saevBbp+1Nc=",
8019 "dev": true
8020 },
8021 "eslint-scope": { 9395 "eslint-scope": {
8022 "version": "3.7.1", 9396 "version": "3.7.1",
8023 "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", 9397 "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz",
@@ -8029,24 +9403,27 @@
8029 } 9403 }
8030 }, 9404 },
8031 "eslint-utils": { 9405 "eslint-utils": {
8032 "version": "1.3.1", 9406 "version": "1.4.2",
8033 "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz", 9407 "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz",
8034 "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==", 9408 "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==",
8035 "dev": true 9409 "dev": true,
9410 "requires": {
9411 "eslint-visitor-keys": "^1.0.0"
9412 }
8036 }, 9413 },
8037 "eslint-visitor-keys": { 9414 "eslint-visitor-keys": {
8038 "version": "1.0.0", 9415 "version": "1.1.0",
8039 "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", 9416 "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
8040 "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", 9417 "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
8041 "dev": true 9418 "dev": true
8042 }, 9419 },
8043 "espree": { 9420 "espree": {
8044 "version": "5.0.0", 9421 "version": "5.0.1",
8045 "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.0.tgz", 9422 "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz",
8046 "integrity": "sha512-1MpUfwsdS9MMoN7ZXqAr9e9UKdVHDcvrJpyx7mm1WuQlx/ygErEQBzgi5Nh5qBHIoYweprhtMkTCb9GhcAIcsA==", 9423 "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==",
8047 "dev": true, 9424 "dev": true,
8048 "requires": { 9425 "requires": {
8049 "acorn": "^6.0.2", 9426 "acorn": "^6.0.7",
8050 "acorn-jsx": "^5.0.0", 9427 "acorn-jsx": "^5.0.0",
8051 "eslint-visitor-keys": "^1.0.0" 9428 "eslint-visitor-keys": "^1.0.0"
8052 } 9429 }
@@ -8075,26 +9452,45 @@
8075 } 9452 }
8076 }, 9453 },
8077 "estraverse": { 9454 "estraverse": {
8078 "version": "4.2.0", 9455 "version": "4.3.0",
8079 "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", 9456 "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
8080 "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", 9457 "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
8081 "dev": true 9458 "dev": true
8082 }, 9459 },
8083 "esutils": { 9460 "esutils": {
8084 "version": "2.0.2", 9461 "version": "2.0.3",
8085 "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 9462 "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
8086 "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" 9463 "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
9464 "dev": true
8087 }, 9465 },
8088 "etag": { 9466 "etag": {
8089 "version": "1.8.1", 9467 "version": "1.8.1",
8090 "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 9468 "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
8091 "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", 9469 "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
8092 "dev": true 9470 },
9471 "event-emitter": {
9472 "version": "0.3.5",
9473 "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
9474 "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
9475 "requires": {
9476 "d": "1",
9477 "es5-ext": "~0.10.14"
9478 }
9479 },
9480 "event-kit": {
9481 "version": "2.5.3",
9482 "resolved": "https://registry.npmjs.org/event-kit/-/event-kit-2.5.3.tgz",
9483 "integrity": "sha512-b7Qi1JNzY4BfAYfnIRanLk0DOD1gdkWHT4GISIn8Q2tAf3LpU8SP2CMwWaq40imYoKWbtN4ZhbSRxvsnikooZQ=="
9484 },
9485 "eventemitter2": {
9486 "version": "5.0.1",
9487 "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-5.0.1.tgz",
9488 "integrity": "sha1-YZegldX7a1folC9v1+qtY6CclFI="
8093 }, 9489 },
8094 "eventemitter3": { 9490 "eventemitter3": {
8095 "version": "3.1.0", 9491 "version": "3.1.2",
8096 "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", 9492 "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz",
8097 "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", 9493 "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==",
8098 "dev": true 9494 "dev": true
8099 }, 9495 },
8100 "events": { 9496 "events": {
@@ -8158,7 +9554,6 @@
8158 "version": "2.1.4", 9554 "version": "2.1.4",
8159 "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", 9555 "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
8160 "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", 9556 "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
8161 "dev": true,
8162 "requires": { 9557 "requires": {
8163 "debug": "^2.3.3", 9558 "debug": "^2.3.3",
8164 "define-property": "^0.2.5", 9559 "define-property": "^0.2.5",
@@ -8169,11 +9564,18 @@
8169 "to-regex": "^3.0.1" 9564 "to-regex": "^3.0.1"
8170 }, 9565 },
8171 "dependencies": { 9566 "dependencies": {
9567 "debug": {
9568 "version": "2.6.9",
9569 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
9570 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
9571 "requires": {
9572 "ms": "2.0.0"
9573 }
9574 },
8172 "define-property": { 9575 "define-property": {
8173 "version": "0.2.5", 9576 "version": "0.2.5",
8174 "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 9577 "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
8175 "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 9578 "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
8176 "dev": true,
8177 "requires": { 9579 "requires": {
8178 "is-descriptor": "^0.1.0" 9580 "is-descriptor": "^0.1.0"
8179 } 9581 }
@@ -8182,10 +9584,14 @@
8182 "version": "2.0.1", 9584 "version": "2.0.1",
8183 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 9585 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
8184 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 9586 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
8185 "dev": true,
8186 "requires": { 9587 "requires": {
8187 "is-extendable": "^0.1.0" 9588 "is-extendable": "^0.1.0"
8188 } 9589 }
9590 },
9591 "ms": {
9592 "version": "2.0.0",
9593 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
9594 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
8189 } 9595 }
8190 } 9596 }
8191 }, 9597 },
@@ -8227,41 +9633,6 @@
8227 "dev": true, 9633 "dev": true,
8228 "requires": { 9634 "requires": {
8229 "isarray": "1.0.0" 9635 "isarray": "1.0.0"
8230 },
8231 "dependencies": {
8232 "glob": {
8233 "version": "3.1.21",
8234 "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
8235 "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
8236 "requires": {
8237 "graceful-fs": "~1.2.0",
8238 "inherits": "1",
8239 "minimatch": "~0.2.11"
8240 }
8241 },
8242 "graceful-fs": {
8243 "version": "1.2.3",
8244 "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
8245 "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q="
8246 },
8247 "inherits": {
8248 "version": "1.0.2",
8249 "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
8250 "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js="
8251 },
8252 "lodash": {
8253 "version": "1.0.2",
8254 "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz",
8255 "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE="
8256 },
8257 "minimatch": {
8258 "version": "0.2.14",
8259 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
8260 "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
8261 "requires": {
8262 "sigmund": "~1.0.0"
8263 }
8264 }
8265 } 9636 }
8266 }, 9637 },
8267 "kind-of": { 9638 "kind-of": {
@@ -8279,23 +9650,22 @@
8279 "version": "2.0.2", 9650 "version": "2.0.2",
8280 "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", 9651 "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
8281 "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", 9652 "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
8282 "dev": true,
8283 "requires": { 9653 "requires": {
8284 "homedir-polyfill": "^1.0.1" 9654 "homedir-polyfill": "^1.0.1"
8285 } 9655 }
8286 }, 9656 },
8287 "expect": { 9657 "expect": {
8288 "version": "24.7.1", 9658 "version": "24.9.0",
8289 "resolved": "https://registry.npmjs.org/expect/-/expect-24.7.1.tgz", 9659 "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz",
8290 "integrity": "sha512-mGfvMTPduksV3xoI0xur56pQsg2vJjNf5+a+bXOjqCkiCBbmCayrBbHS/75y9K430cfqyocPr2ZjiNiRx4SRKw==", 9660 "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==",
8291 "dev": true, 9661 "dev": true,
8292 "requires": { 9662 "requires": {
8293 "@jest/types": "^24.7.0", 9663 "@jest/types": "^24.9.0",
8294 "ansi-styles": "^3.2.0", 9664 "ansi-styles": "^3.2.0",
8295 "jest-get-type": "^24.3.0", 9665 "jest-get-type": "^24.9.0",
8296 "jest-matcher-utils": "^24.7.0", 9666 "jest-matcher-utils": "^24.9.0",
8297 "jest-message-util": "^24.7.1", 9667 "jest-message-util": "^24.9.0",
8298 "jest-regex-util": "^24.3.0" 9668 "jest-regex-util": "^24.9.0"
8299 } 9669 }
8300 }, 9670 },
8301 "expect.js": { 9671 "expect.js": {
@@ -8305,51 +9675,51 @@
8305 "dev": true 9675 "dev": true
8306 }, 9676 },
8307 "express": { 9677 "express": {
8308 "version": "4.16.4", 9678 "version": "4.17.1",
8309 "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", 9679 "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
8310 "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", 9680 "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
8311 "dev": true, 9681 "dev": true,
8312 "requires": { 9682 "requires": {
8313 "accepts": "~1.3.5", 9683 "accepts": "~1.3.7",
8314 "array-flatten": "1.1.1", 9684 "array-flatten": "1.1.1",
8315 "body-parser": "1.18.3", 9685 "body-parser": "1.19.0",
8316 "content-disposition": "0.5.2", 9686 "content-disposition": "0.5.3",
8317 "content-type": "~1.0.4", 9687 "content-type": "~1.0.4",
8318 "cookie": "0.3.1", 9688 "cookie": "0.4.0",
8319 "cookie-signature": "1.0.6", 9689 "cookie-signature": "1.0.6",
8320 "debug": "2.6.9", 9690 "debug": "2.6.9",
8321 "depd": "~1.1.2", 9691 "depd": "~1.1.2",
8322 "encodeurl": "~1.0.2", 9692 "encodeurl": "~1.0.2",
8323 "escape-html": "~1.0.3", 9693 "escape-html": "~1.0.3",
8324 "etag": "~1.8.1", 9694 "etag": "~1.8.1",
8325 "finalhandler": "1.1.1", 9695 "finalhandler": "~1.1.2",
8326 "fresh": "0.5.2", 9696 "fresh": "0.5.2",
8327 "merge-descriptors": "1.0.1", 9697 "merge-descriptors": "1.0.1",
8328 "methods": "~1.1.2", 9698 "methods": "~1.1.2",
8329 "on-finished": "~2.3.0", 9699 "on-finished": "~2.3.0",
8330 "parseurl": "~1.3.2", 9700 "parseurl": "~1.3.3",
8331 "path-to-regexp": "0.1.7", 9701 "path-to-regexp": "0.1.7",
8332 "proxy-addr": "~2.0.4", 9702 "proxy-addr": "~2.0.5",
8333 "qs": "6.5.2", 9703 "qs": "6.7.0",
8334 "range-parser": "~1.2.0", 9704 "range-parser": "~1.2.1",
8335 "safe-buffer": "5.1.2", 9705 "safe-buffer": "5.1.2",
8336 "send": "0.16.2", 9706 "send": "0.17.1",
8337 "serve-static": "1.13.2", 9707 "serve-static": "1.14.1",
8338 "setprototypeof": "1.1.0", 9708 "setprototypeof": "1.1.1",
8339 "statuses": "~1.4.0", 9709 "statuses": "~1.5.0",
8340 "type-is": "~1.6.16", 9710 "type-is": "~1.6.18",
8341 "utils-merge": "1.0.1", 9711 "utils-merge": "1.0.1",
8342 "vary": "~1.1.2" 9712 "vary": "~1.1.2"
8343 }, 9713 },
8344 "dependencies": { 9714 "dependencies": {
8345 "accepts": { 9715 "accepts": {
8346 "version": "1.3.5", 9716 "version": "1.3.7",
8347 "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", 9717 "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
8348 "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", 9718 "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
8349 "dev": true, 9719 "dev": true,
8350 "requires": { 9720 "requires": {
8351 "mime-types": "~2.1.18", 9721 "mime-types": "~2.1.24",
8352 "negotiator": "0.6.1" 9722 "negotiator": "0.6.2"
8353 } 9723 }
8354 }, 9724 },
8355 "array-flatten": { 9725 "array-flatten": {
@@ -8358,6 +9728,21 @@
8358 "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", 9728 "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
8359 "dev": true 9729 "dev": true
8360 }, 9730 },
9731 "cookie": {
9732 "version": "0.4.0",
9733 "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
9734 "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
9735 "dev": true
9736 },
9737 "debug": {
9738 "version": "2.6.9",
9739 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
9740 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
9741 "dev": true,
9742 "requires": {
9743 "ms": "2.0.0"
9744 }
9745 },
8361 "depd": { 9746 "depd": {
8362 "version": "1.1.2", 9747 "version": "1.1.2",
8363 "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", 9748 "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
@@ -8383,17 +9768,17 @@
8383 "dev": true 9768 "dev": true
8384 }, 9769 },
8385 "finalhandler": { 9770 "finalhandler": {
8386 "version": "1.1.1", 9771 "version": "1.1.2",
8387 "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", 9772 "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
8388 "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", 9773 "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
8389 "dev": true, 9774 "dev": true,
8390 "requires": { 9775 "requires": {
8391 "debug": "2.6.9", 9776 "debug": "2.6.9",
8392 "encodeurl": "~1.0.2", 9777 "encodeurl": "~1.0.2",
8393 "escape-html": "~1.0.3", 9778 "escape-html": "~1.0.3",
8394 "on-finished": "~2.3.0", 9779 "on-finished": "~2.3.0",
8395 "parseurl": "~1.3.2", 9780 "parseurl": "~1.3.3",
8396 "statuses": "~1.4.0", 9781 "statuses": "~1.5.0",
8397 "unpipe": "~1.0.0" 9782 "unpipe": "~1.0.0"
8398 } 9783 }
8399 }, 9784 },
@@ -8404,15 +9789,36 @@
8404 "dev": true 9789 "dev": true
8405 }, 9790 },
8406 "mime": { 9791 "mime": {
8407 "version": "1.4.1", 9792 "version": "1.6.0",
8408 "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", 9793 "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
8409 "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", 9794 "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
9795 "dev": true
9796 },
9797 "mime-db": {
9798 "version": "1.40.0",
9799 "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
9800 "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
9801 "dev": true
9802 },
9803 "mime-types": {
9804 "version": "2.1.24",
9805 "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
9806 "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
9807 "dev": true,
9808 "requires": {
9809 "mime-db": "1.40.0"
9810 }
9811 },
9812 "ms": {
9813 "version": "2.0.0",
9814 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
9815 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
8410 "dev": true 9816 "dev": true
8411 }, 9817 },
8412 "negotiator": { 9818 "negotiator": {
8413 "version": "0.6.1", 9819 "version": "0.6.2",
8414 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", 9820 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
8415 "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", 9821 "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
8416 "dev": true 9822 "dev": true
8417 }, 9823 },
8418 "on-finished": { 9824 "on-finished": {
@@ -8424,25 +9830,28 @@
8424 "ee-first": "1.1.1" 9830 "ee-first": "1.1.1"
8425 } 9831 }
8426 }, 9832 },
9833 "qs": {
9834 "version": "6.7.0",
9835 "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
9836 "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
9837 "dev": true
9838 },
8427 "range-parser": { 9839 "range-parser": {
8428 "version": "1.2.0", 9840 "version": "1.2.1",
8429 "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", 9841 "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
8430 "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", 9842 "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
8431 "dev": true 9843 "dev": true
8432 }, 9844 },
8433 "readable-stream": { 9845 "safe-buffer": {
8434 "version": "1.0.34", 9846 "version": "5.1.2",
8435 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", 9847 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
8436 "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", 9848 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
8437 "requires": { 9849 "dev": true
8438 "core-util-is": "~1.0.0",
8439 "inherits": "~2.0.1"
8440 }
8441 }, 9850 },
8442 "send": { 9851 "send": {
8443 "version": "0.16.2", 9852 "version": "0.17.1",
8444 "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", 9853 "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
8445 "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", 9854 "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
8446 "dev": true, 9855 "dev": true,
8447 "requires": { 9856 "requires": {
8448 "debug": "2.6.9", 9857 "debug": "2.6.9",
@@ -8452,32 +9861,32 @@
8452 "escape-html": "~1.0.3", 9861 "escape-html": "~1.0.3",
8453 "etag": "~1.8.1", 9862 "etag": "~1.8.1",
8454 "fresh": "0.5.2", 9863 "fresh": "0.5.2",
8455 "http-errors": "~1.6.2", 9864 "http-errors": "~1.7.2",
8456 "mime": "1.4.1", 9865 "mime": "1.6.0",
8457 "ms": "2.0.0", 9866 "ms": "2.1.1",
8458 "on-finished": "~2.3.0", 9867 "on-finished": "~2.3.0",
8459 "range-parser": "~1.2.0", 9868 "range-parser": "~1.2.1",
8460 "statuses": "~1.4.0" 9869 "statuses": "~1.5.0"
8461 }, 9870 },
8462 "dependencies": { 9871 "dependencies": {
8463 "ms": { 9872 "ms": {
8464 "version": "2.0.0", 9873 "version": "2.1.1",
8465 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 9874 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
8466 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 9875 "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
8467 "dev": true 9876 "dev": true
8468 } 9877 }
8469 } 9878 }
8470 }, 9879 },
8471 "serve-static": { 9880 "serve-static": {
8472 "version": "1.13.2", 9881 "version": "1.14.1",
8473 "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", 9882 "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
8474 "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", 9883 "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
8475 "dev": true, 9884 "dev": true,
8476 "requires": { 9885 "requires": {
8477 "encodeurl": "~1.0.2", 9886 "encodeurl": "~1.0.2",
8478 "escape-html": "~1.0.3", 9887 "escape-html": "~1.0.3",
8479 "parseurl": "~1.3.2", 9888 "parseurl": "~1.3.3",
8480 "send": "0.16.2" 9889 "send": "0.17.1"
8481 } 9890 }
8482 }, 9891 },
8483 "utils-merge": { 9892 "utils-merge": {
@@ -8508,14 +9917,12 @@
8508 "extend": { 9917 "extend": {
8509 "version": "3.0.2", 9918 "version": "3.0.2",
8510 "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 9919 "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
8511 "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", 9920 "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
8512 "dev": true
8513 }, 9921 },
8514 "extend-shallow": { 9922 "extend-shallow": {
8515 "version": "3.0.2", 9923 "version": "3.0.2",
8516 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", 9924 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
8517 "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", 9925 "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
8518 "dev": true,
8519 "requires": { 9926 "requires": {
8520 "assign-symbols": "^1.0.0", 9927 "assign-symbols": "^1.0.0",
8521 "is-extendable": "^1.0.1" 9928 "is-extendable": "^1.0.1"
@@ -8525,7 +9932,6 @@
8525 "version": "1.0.1", 9932 "version": "1.0.1",
8526 "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 9933 "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
8527 "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 9934 "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
8528 "dev": true,
8529 "requires": { 9935 "requires": {
8530 "is-plain-object": "^2.0.4" 9936 "is-plain-object": "^2.0.4"
8531 } 9937 }
@@ -8533,9 +9939,9 @@
8533 } 9939 }
8534 }, 9940 },
8535 "external-editor": { 9941 "external-editor": {
8536 "version": "3.0.3", 9942 "version": "3.1.0",
8537 "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", 9943 "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
8538 "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", 9944 "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
8539 "dev": true, 9945 "dev": true,
8540 "requires": { 9946 "requires": {
8541 "chardet": "^0.7.0", 9947 "chardet": "^0.7.0",
@@ -8547,7 +9953,6 @@
8547 "version": "2.0.4", 9953 "version": "2.0.4",
8548 "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", 9954 "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
8549 "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", 9955 "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
8550 "dev": true,
8551 "requires": { 9956 "requires": {
8552 "array-unique": "^0.3.2", 9957 "array-unique": "^0.3.2",
8553 "define-property": "^1.0.0", 9958 "define-property": "^1.0.0",
@@ -8563,7 +9968,6 @@
8563 "version": "1.0.0", 9968 "version": "1.0.0",
8564 "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 9969 "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
8565 "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 9970 "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
8566 "dev": true,
8567 "requires": { 9971 "requires": {
8568 "is-descriptor": "^1.0.0" 9972 "is-descriptor": "^1.0.0"
8569 } 9973 }
@@ -8572,7 +9976,6 @@
8572 "version": "2.0.1", 9976 "version": "2.0.1",
8573 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 9977 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
8574 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 9978 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
8575 "dev": true,
8576 "requires": { 9979 "requires": {
8577 "is-extendable": "^0.1.0" 9980 "is-extendable": "^0.1.0"
8578 } 9981 }
@@ -8581,7 +9984,6 @@
8581 "version": "1.0.0", 9984 "version": "1.0.0",
8582 "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 9985 "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
8583 "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 9986 "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
8584 "dev": true,
8585 "requires": { 9987 "requires": {
8586 "kind-of": "^6.0.0" 9988 "kind-of": "^6.0.0"
8587 } 9989 }
@@ -8590,7 +9992,6 @@
8590 "version": "1.0.0", 9992 "version": "1.0.0",
8591 "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 9993 "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
8592 "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 9994 "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
8593 "dev": true,
8594 "requires": { 9995 "requires": {
8595 "kind-of": "^6.0.0" 9996 "kind-of": "^6.0.0"
8596 } 9997 }
@@ -8599,7 +10000,6 @@
8599 "version": "1.0.2", 10000 "version": "1.0.2",
8600 "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 10001 "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
8601 "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 10002 "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
8602 "dev": true,
8603 "requires": { 10003 "requires": {
8604 "is-accessor-descriptor": "^1.0.0", 10004 "is-accessor-descriptor": "^1.0.0",
8605 "is-data-descriptor": "^1.0.0", 10005 "is-data-descriptor": "^1.0.0",
@@ -8618,13 +10018,29 @@
8618 "debug": "2.6.9", 10018 "debug": "2.6.9",
8619 "mkdirp": "0.5.1", 10019 "mkdirp": "0.5.1",
8620 "yauzl": "2.4.1" 10020 "yauzl": "2.4.1"
10021 },
10022 "dependencies": {
10023 "debug": {
10024 "version": "2.6.9",
10025 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
10026 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
10027 "dev": true,
10028 "requires": {
10029 "ms": "2.0.0"
10030 }
10031 },
10032 "ms": {
10033 "version": "2.0.0",
10034 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
10035 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
10036 "dev": true
10037 }
8621 } 10038 }
8622 }, 10039 },
8623 "extsprintf": { 10040 "extsprintf": {
8624 "version": "1.3.0", 10041 "version": "1.3.0",
8625 "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", 10042 "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
8626 "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", 10043 "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
8627 "dev": true
8628 }, 10044 },
8629 "fancy-log": { 10045 "fancy-log": {
8630 "version": "1.3.3", 10046 "version": "1.3.3",
@@ -8641,13 +10057,12 @@
8641 "fast-deep-equal": { 10057 "fast-deep-equal": {
8642 "version": "2.0.1", 10058 "version": "2.0.1",
8643 "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", 10059 "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
8644 "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", 10060 "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
8645 "dev": true
8646 }, 10061 },
8647 "fast-glob": { 10062 "fast-glob": {
8648 "version": "2.2.6", 10063 "version": "2.2.7",
8649 "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.6.tgz", 10064 "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz",
8650 "integrity": "sha512-0BvMaZc1k9F+MeWWMe8pL6YltFzZYcJsYU7D4JyDA6PAczaXvxqQQ/z+mDF7/4Mw01DeUc+i3CTKajnkANkV4w==", 10065 "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==",
8651 "dev": true, 10066 "dev": true,
8652 "requires": { 10067 "requires": {
8653 "@mrmlnc/readdir-enhanced": "^2.2.1", 10068 "@mrmlnc/readdir-enhanced": "^2.2.1",
@@ -8661,14 +10076,17 @@
8661 "fast-json-stable-stringify": { 10076 "fast-json-stable-stringify": {
8662 "version": "2.0.0", 10077 "version": "2.0.0",
8663 "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", 10078 "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
8664 "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", 10079 "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
8665 "dev": true
8666 }, 10080 },
8667 "fast-levenshtein": { 10081 "fast-levenshtein": {
8668 "version": "2.0.6", 10082 "version": "2.0.6",
8669 "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 10083 "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
8670 "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 10084 "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
8671 "dev": true 10085 },
10086 "fast-safe-stringify": {
10087 "version": "2.0.7",
10088 "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz",
10089 "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA=="
8672 }, 10090 },
8673 "faye-websocket": { 10091 "faye-websocket": {
8674 "version": "0.10.0", 10092 "version": "0.10.0",
@@ -8718,6 +10136,11 @@
8718 "pend": "~1.2.0" 10136 "pend": "~1.2.0"
8719 } 10137 }
8720 }, 10138 },
10139 "fecha": {
10140 "version": "2.3.3",
10141 "resolved": "https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz",
10142 "integrity": "sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg=="
10143 },
8721 "figgy-pudding": { 10144 "figgy-pudding": {
8722 "version": "3.5.1", 10145 "version": "3.5.1",
8723 "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", 10146 "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
@@ -8754,21 +10177,10 @@
8754 "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", 10177 "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
8755 "dev": true 10178 "dev": true
8756 }, 10179 },
8757 "fileset": {
8758 "version": "2.0.3",
8759 "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
8760 "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=",
8761 "dev": true,
8762 "requires": {
8763 "glob": "^7.0.3",
8764 "minimatch": "^3.0.3"
8765 }
8766 },
8767 "fill-range": { 10180 "fill-range": {
8768 "version": "4.0.0", 10181 "version": "4.0.0",
8769 "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", 10182 "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
8770 "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", 10183 "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
8771 "dev": true,
8772 "requires": { 10184 "requires": {
8773 "extend-shallow": "^2.0.1", 10185 "extend-shallow": "^2.0.1",
8774 "is-number": "^3.0.0", 10186 "is-number": "^3.0.0",
@@ -8780,7 +10192,6 @@
8780 "version": "2.0.1", 10192 "version": "2.0.1",
8781 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 10193 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
8782 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 10194 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
8783 "dev": true,
8784 "requires": { 10195 "requires": {
8785 "is-extendable": "^0.1.0" 10196 "is-extendable": "^0.1.0"
8786 } 10197 }
@@ -8841,33 +10252,21 @@
8841 } 10252 }
8842 }, 10253 },
8843 "findup-sync": { 10254 "findup-sync": {
8844 "version": "2.0.0", 10255 "version": "3.0.0",
8845 "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", 10256 "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz",
8846 "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", 10257 "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==",
8847 "dev": true, 10258 "dev": true,
8848 "requires": { 10259 "requires": {
8849 "detect-file": "^1.0.0", 10260 "detect-file": "^1.0.0",
8850 "is-glob": "^3.1.0", 10261 "is-glob": "^4.0.0",
8851 "micromatch": "^3.0.4", 10262 "micromatch": "^3.0.4",
8852 "resolve-dir": "^1.0.1" 10263 "resolve-dir": "^1.0.1"
8853 },
8854 "dependencies": {
8855 "is-glob": {
8856 "version": "3.1.0",
8857 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
8858 "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
8859 "dev": true,
8860 "requires": {
8861 "is-extglob": "^2.1.0"
8862 }
8863 }
8864 } 10264 }
8865 }, 10265 },
8866 "fined": { 10266 "fined": {
8867 "version": "1.1.1", 10267 "version": "1.2.0",
8868 "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.1.tgz", 10268 "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz",
8869 "integrity": "sha512-jQp949ZmEbiYHk3gkbdtpJ0G1+kgtLQBNdP5edFP7Fh+WAYceLQz6yO1SBj72Xkg8GVyTB3bBzAYrHJVh5Xd5g==", 10269 "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==",
8870 "dev": true,
8871 "requires": { 10270 "requires": {
8872 "expand-tilde": "^2.0.2", 10271 "expand-tilde": "^2.0.2",
8873 "is-plain-object": "^2.0.3", 10272 "is-plain-object": "^2.0.3",
@@ -8885,8 +10284,7 @@
8885 "flagged-respawn": { 10284 "flagged-respawn": {
8886 "version": "1.0.1", 10285 "version": "1.0.1",
8887 "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", 10286 "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz",
8888 "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", 10287 "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q=="
8889 "dev": true
8890 }, 10288 },
8891 "flat-cache": { 10289 "flat-cache": {
8892 "version": "1.3.4", 10290 "version": "1.3.4",
@@ -8898,6 +10296,17 @@
8898 "graceful-fs": "^4.1.2", 10296 "graceful-fs": "^4.1.2",
8899 "rimraf": "~2.6.2", 10297 "rimraf": "~2.6.2",
8900 "write": "^0.2.1" 10298 "write": "^0.2.1"
10299 },
10300 "dependencies": {
10301 "rimraf": {
10302 "version": "2.6.3",
10303 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
10304 "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
10305 "dev": true,
10306 "requires": {
10307 "glob": "^7.1.3"
10308 }
10309 }
8901 } 10310 }
8902 }, 10311 },
8903 "flush-write-stream": { 10312 "flush-write-stream": {
@@ -8925,6 +10334,12 @@
8925 "util-deprecate": "~1.0.1" 10334 "util-deprecate": "~1.0.1"
8926 } 10335 }
8927 }, 10336 },
10337 "safe-buffer": {
10338 "version": "5.1.2",
10339 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
10340 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
10341 "dev": true
10342 },
8928 "string_decoder": { 10343 "string_decoder": {
8929 "version": "1.1.1", 10344 "version": "1.1.1",
8930 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 10345 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -8937,29 +10352,21 @@
8937 } 10352 }
8938 }, 10353 },
8939 "follow-redirects": { 10354 "follow-redirects": {
8940 "version": "1.6.1", 10355 "version": "1.9.0",
8941 "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.6.1.tgz", 10356 "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.9.0.tgz",
8942 "integrity": "sha512-t2JCjbzxQpWvbhts3l6SH1DKzSrx8a+SsaVf4h6bG4kOXUuPYS/kg2Lr4gQSb7eemaHqJkOThF1BGyjlUkO1GQ==", 10357 "integrity": "sha512-CRcPzsSIbXyVDl0QI01muNDu69S8trU4jArW9LpOt2WtC6LyUJetcIrmfHsRBx7/Jb6GHJUiuqyYxPooFfNt6A==",
8943 "dev": true, 10358 "dev": true,
8944 "requires": { 10359 "requires": {
8945 "debug": "=3.1.0" 10360 "debug": "^3.0.0"
8946 }, 10361 },
8947 "dependencies": { 10362 "dependencies": {
8948 "debug": { 10363 "debug": {
8949 "version": "3.1.0", 10364 "version": "3.2.6",
8950 "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", 10365 "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
8951 "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", 10366 "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
8952 "dev": true, 10367 "dev": true,
8953 "requires": { 10368 "requires": {
8954 "ms": "2.0.0" 10369 "ms": "^2.1.1"
8955 },
8956 "dependencies": {
8957 "ms": {
8958 "version": "2.0.0",
8959 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
8960 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
8961 "dev": true
8962 }
8963 } 10370 }
8964 } 10371 }
8965 } 10372 }
@@ -8967,14 +10374,12 @@
8967 "for-in": { 10374 "for-in": {
8968 "version": "1.0.2", 10375 "version": "1.0.2",
8969 "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", 10376 "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
8970 "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", 10377 "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
8971 "dev": true
8972 }, 10378 },
8973 "for-own": { 10379 "for-own": {
8974 "version": "1.0.0", 10380 "version": "1.0.0",
8975 "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", 10381 "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
8976 "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", 10382 "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
8977 "dev": true,
8978 "requires": { 10383 "requires": {
8979 "for-in": "^1.0.1" 10384 "for-in": "^1.0.1"
8980 } 10385 }
@@ -8982,14 +10387,17 @@
8982 "forever-agent": { 10387 "forever-agent": {
8983 "version": "0.6.1", 10388 "version": "0.6.1",
8984 "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 10389 "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
8985 "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", 10390 "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
8986 "dev": true 10391 },
10392 "fork-stream": {
10393 "version": "0.0.4",
10394 "resolved": "https://registry.npmjs.org/fork-stream/-/fork-stream-0.0.4.tgz",
10395 "integrity": "sha1-24Sfznf2cIpfjzhq5TOgkHtUrnA="
8987 }, 10396 },
8988 "form-data": { 10397 "form-data": {
8989 "version": "2.3.3", 10398 "version": "2.3.3",
8990 "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", 10399 "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
8991 "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", 10400 "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
8992 "dev": true,
8993 "requires": { 10401 "requires": {
8994 "asynckit": "^0.4.0", 10402 "asynckit": "^0.4.0",
8995 "combined-stream": "^1.0.6", 10403 "combined-stream": "^1.0.6",
@@ -8999,14 +10407,12 @@
8999 "forwarded": { 10407 "forwarded": {
9000 "version": "0.1.2", 10408 "version": "0.1.2",
9001 "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", 10409 "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
9002 "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", 10410 "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
9003 "dev": true
9004 }, 10411 },
9005 "fragment-cache": { 10412 "fragment-cache": {
9006 "version": "0.2.1", 10413 "version": "0.2.1",
9007 "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", 10414 "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
9008 "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", 10415 "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
9009 "dev": true,
9010 "requires": { 10416 "requires": {
9011 "map-cache": "^0.2.2" 10417 "map-cache": "^0.2.2"
9012 } 10418 }
@@ -9042,6 +10448,12 @@
9042 "util-deprecate": "~1.0.1" 10448 "util-deprecate": "~1.0.1"
9043 } 10449 }
9044 }, 10450 },
10451 "safe-buffer": {
10452 "version": "5.1.2",
10453 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
10454 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
10455 "dev": true
10456 },
9045 "string_decoder": { 10457 "string_decoder": {
9046 "version": "1.1.1", 10458 "version": "1.1.1",
9047 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 10459 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -9053,6 +10465,11 @@
9053 } 10465 }
9054 } 10466 }
9055 }, 10467 },
10468 "fs-constants": {
10469 "version": "1.0.0",
10470 "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
10471 "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
10472 },
9056 "fs-extra": { 10473 "fs-extra": {
9057 "version": "7.0.1", 10474 "version": "7.0.1",
9058 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", 10475 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
@@ -9063,21 +10480,12 @@
9063 "universalify": "^0.1.0" 10480 "universalify": "^0.1.0"
9064 } 10481 }
9065 }, 10482 },
9066 "fs-extra-p": {
9067 "version": "7.0.0",
9068 "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-7.0.0.tgz",
9069 "integrity": "sha512-5tg5jBOd0xIXjwj4PDnafOXL5TyPVzjxLby4DPKev53wurEXp7IsojBaD4Lj5M5w7jxw0pbkEU0fFEPmcKoMnA==",
9070 "requires": {
9071 "bluebird-lst": "^1.0.6",
9072 "fs-extra": "^7.0.0"
9073 }
9074 },
9075 "fs-minipass": { 10483 "fs-minipass": {
9076 "version": "1.2.5", 10484 "version": "1.2.7",
9077 "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", 10485 "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
9078 "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", 10486 "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
9079 "requires": { 10487 "requires": {
9080 "minipass": "^2.2.1" 10488 "minipass": "^2.6.0"
9081 } 10489 }
9082 }, 10490 },
9083 "fs-mkdirp-stream": { 10491 "fs-mkdirp-stream": {
@@ -9088,6 +10496,48 @@
9088 "requires": { 10496 "requires": {
9089 "graceful-fs": "^4.1.11", 10497 "graceful-fs": "^4.1.11",
9090 "through2": "^2.0.3" 10498 "through2": "^2.0.3"
10499 },
10500 "dependencies": {
10501 "readable-stream": {
10502 "version": "2.3.6",
10503 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
10504 "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
10505 "dev": true,
10506 "requires": {
10507 "core-util-is": "~1.0.0",
10508 "inherits": "~2.0.3",
10509 "isarray": "~1.0.0",
10510 "process-nextick-args": "~2.0.0",
10511 "safe-buffer": "~5.1.1",
10512 "string_decoder": "~1.1.1",
10513 "util-deprecate": "~1.0.1"
10514 }
10515 },
10516 "safe-buffer": {
10517 "version": "5.1.2",
10518 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
10519 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
10520 "dev": true
10521 },
10522 "string_decoder": {
10523 "version": "1.1.1",
10524 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
10525 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
10526 "dev": true,
10527 "requires": {
10528 "safe-buffer": "~5.1.0"
10529 }
10530 },
10531 "through2": {
10532 "version": "2.0.5",
10533 "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
10534 "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
10535 "dev": true,
10536 "requires": {
10537 "readable-stream": "~2.3.6",
10538 "xtend": "~4.0.1"
10539 }
10540 }
9091 } 10541 }
9092 }, 10542 },
9093 "fs-readdir-recursive": { 10543 "fs-readdir-recursive": {
@@ -9123,6 +10573,12 @@
9123 "util-deprecate": "~1.0.1" 10573 "util-deprecate": "~1.0.1"
9124 } 10574 }
9125 }, 10575 },
10576 "safe-buffer": {
10577 "version": "5.1.2",
10578 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
10579 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
10580 "dev": true
10581 },
9126 "string_decoder": { 10582 "string_decoder": {
9127 "version": "1.1.1", 10583 "version": "1.1.1",
9128 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 10584 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -9137,52 +10593,64 @@
9137 "fs.realpath": { 10593 "fs.realpath": {
9138 "version": "1.0.0", 10594 "version": "1.0.0",
9139 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 10595 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
9140 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 10596 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
9141 "dev": true
9142 }, 10597 },
9143 "fsevents": { 10598 "fsevents": {
9144 "version": "1.2.7", 10599 "version": "1.2.9",
9145 "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz", 10600 "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz",
9146 "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==", 10601 "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==",
9147 "dev": true, 10602 "dev": true,
9148 "optional": true, 10603 "optional": true,
9149 "requires": { 10604 "requires": {
9150 "nan": "^2.9.2", 10605 "nan": "^2.12.1",
9151 "node-pre-gyp": "^0.10.0" 10606 "node-pre-gyp": "^0.12.0"
9152 }, 10607 },
9153 "dependencies": { 10608 "dependencies": {
9154 "abbrev": { 10609 "abbrev": {
9155 "version": "1.1.1", 10610 "version": "1.1.1",
9156 "resolved": false, 10611 "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
9157 "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" 10612 "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
10613 "dev": true,
10614 "optional": true
9158 }, 10615 },
9159 "ansi-regex": { 10616 "ansi-regex": {
9160 "version": "2.1.1", 10617 "version": "2.1.1",
9161 "resolved": false, 10618 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
9162 "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" 10619 "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
10620 "dev": true,
10621 "optional": true
9163 }, 10622 },
9164 "aproba": { 10623 "aproba": {
9165 "version": "1.2.0", 10624 "version": "1.2.0",
9166 "resolved": false, 10625 "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
9167 "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" 10626 "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
10627 "dev": true,
10628 "optional": true
9168 }, 10629 },
9169 "are-we-there-yet": { 10630 "are-we-there-yet": {
9170 "version": "1.1.5", 10631 "version": "1.1.5",
9171 "resolved": false, 10632 "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
9172 "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", 10633 "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
10634 "dev": true,
10635 "optional": true,
9173 "requires": { 10636 "requires": {
9174 "delegates": "^1.0.0" 10637 "delegates": "^1.0.0",
10638 "readable-stream": "^2.0.6"
9175 } 10639 }
9176 }, 10640 },
9177 "balanced-match": { 10641 "balanced-match": {
9178 "version": "1.0.0", 10642 "version": "1.0.0",
9179 "resolved": false, 10643 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
9180 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" 10644 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
10645 "dev": true,
10646 "optional": true
9181 }, 10647 },
9182 "brace-expansion": { 10648 "brace-expansion": {
9183 "version": "1.1.11", 10649 "version": "1.1.11",
9184 "resolved": false, 10650 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
9185 "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 10651 "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
10652 "dev": true,
10653 "optional": true,
9186 "requires": { 10654 "requires": {
9187 "balanced-match": "^1.0.0", 10655 "balanced-match": "^1.0.0",
9188 "concat-map": "0.0.1" 10656 "concat-map": "0.0.1"
@@ -9190,79 +10658,110 @@
9190 }, 10658 },
9191 "chownr": { 10659 "chownr": {
9192 "version": "1.1.1", 10660 "version": "1.1.1",
9193 "resolved": false, 10661 "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz",
9194 "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==" 10662 "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==",
10663 "dev": true,
10664 "optional": true
9195 }, 10665 },
9196 "code-point-at": { 10666 "code-point-at": {
9197 "version": "1.1.0", 10667 "version": "1.1.0",
9198 "resolved": false, 10668 "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
9199 "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" 10669 "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
10670 "dev": true,
10671 "optional": true
9200 }, 10672 },
9201 "concat-map": { 10673 "concat-map": {
9202 "version": "0.0.1", 10674 "version": "0.0.1",
9203 "resolved": false, 10675 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
9204 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" 10676 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
10677 "dev": true,
10678 "optional": true
9205 }, 10679 },
9206 "console-control-strings": { 10680 "console-control-strings": {
9207 "version": "1.1.0", 10681 "version": "1.1.0",
9208 "resolved": false, 10682 "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
9209 "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" 10683 "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
10684 "dev": true,
10685 "optional": true
9210 }, 10686 },
9211 "core-util-is": { 10687 "core-util-is": {
9212 "version": "1.0.2", 10688 "version": "1.0.2",
9213 "resolved": false, 10689 "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
9214 "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" 10690 "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
10691 "dev": true,
10692 "optional": true
9215 }, 10693 },
9216 "debug": { 10694 "debug": {
9217 "version": "2.6.9", 10695 "version": "4.1.1",
9218 "resolved": false, 10696 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
9219 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" 10697 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
10698 "dev": true,
10699 "optional": true,
10700 "requires": {
10701 "ms": "^2.1.1"
10702 }
9220 }, 10703 },
9221 "deep-extend": { 10704 "deep-extend": {
9222 "version": "0.6.0", 10705 "version": "0.6.0",
9223 "resolved": false, 10706 "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
9224 "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" 10707 "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
10708 "dev": true,
10709 "optional": true
9225 }, 10710 },
9226 "delegates": { 10711 "delegates": {
9227 "version": "1.0.0", 10712 "version": "1.0.0",
9228 "resolved": false, 10713 "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
9229 "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" 10714 "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
10715 "dev": true,
10716 "optional": true
9230 }, 10717 },
9231 "detect-libc": { 10718 "detect-libc": {
9232 "version": "1.0.3", 10719 "version": "1.0.3",
9233 "resolved": false, 10720 "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
9234 "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" 10721 "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
10722 "dev": true,
10723 "optional": true
9235 }, 10724 },
9236 "fs-minipass": { 10725 "fs-minipass": {
9237 "version": "1.2.5", 10726 "version": "1.2.5",
9238 "resolved": false, 10727 "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz",
9239 "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", 10728 "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==",
10729 "dev": true,
10730 "optional": true,
9240 "requires": { 10731 "requires": {
9241 "minipass": "^2.2.1" 10732 "minipass": "^2.2.1"
9242 } 10733 }
9243 }, 10734 },
9244 "fs.realpath": { 10735 "fs.realpath": {
9245 "version": "1.0.0", 10736 "version": "1.0.0",
9246 "resolved": false, 10737 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
9247 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" 10738 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
10739 "dev": true,
10740 "optional": true
9248 }, 10741 },
9249 "gauge": { 10742 "gauge": {
9250 "version": "2.7.4", 10743 "version": "2.7.4",
9251 "resolved": false, 10744 "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
9252 "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", 10745 "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
10746 "dev": true,
10747 "optional": true,
9253 "requires": { 10748 "requires": {
9254 "aproba": "^1.0.3", 10749 "aproba": "^1.0.3",
9255 "console-control-strings": "^1.0.0", 10750 "console-control-strings": "^1.0.0",
9256 "has-unicode": "^2.0.0", 10751 "has-unicode": "^2.0.0",
9257 "object-assign": "^4.1.0", 10752 "object-assign": "^4.1.0",
9258 "signal-exit": "^3.0.0", 10753 "signal-exit": "^3.0.0",
10754 "string-width": "^1.0.1",
10755 "strip-ansi": "^3.0.1",
9259 "wide-align": "^1.1.0" 10756 "wide-align": "^1.1.0"
9260 } 10757 }
9261 }, 10758 },
9262 "glob": { 10759 "glob": {
9263 "version": "7.1.3", 10760 "version": "7.1.3",
9264 "resolved": false, 10761 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
9265 "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", 10762 "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
10763 "dev": true,
10764 "optional": true,
9266 "requires": { 10765 "requires": {
9267 "fs.realpath": "^1.0.0", 10766 "fs.realpath": "^1.0.0",
9268 "inflight": "^1.0.4", 10767 "inflight": "^1.0.4",
@@ -9274,29 +10773,37 @@
9274 }, 10773 },
9275 "has-unicode": { 10774 "has-unicode": {
9276 "version": "2.0.1", 10775 "version": "2.0.1",
9277 "resolved": false, 10776 "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
9278 "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" 10777 "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
10778 "dev": true,
10779 "optional": true
9279 }, 10780 },
9280 "iconv-lite": { 10781 "iconv-lite": {
9281 "version": "0.4.24", 10782 "version": "0.4.24",
9282 "resolved": false, 10783 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
9283 "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 10784 "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
10785 "dev": true,
10786 "optional": true,
9284 "requires": { 10787 "requires": {
9285 "safer-buffer": ">= 2.1.2 < 3" 10788 "safer-buffer": ">= 2.1.2 < 3"
9286 } 10789 }
9287 }, 10790 },
9288 "ignore-walk": { 10791 "ignore-walk": {
9289 "version": "3.0.1", 10792 "version": "3.0.1",
9290 "resolved": false, 10793 "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz",
9291 "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", 10794 "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==",
10795 "dev": true,
10796 "optional": true,
9292 "requires": { 10797 "requires": {
9293 "minimatch": "^3.0.4" 10798 "minimatch": "^3.0.4"
9294 } 10799 }
9295 }, 10800 },
9296 "inflight": { 10801 "inflight": {
9297 "version": "1.0.6", 10802 "version": "1.0.6",
9298 "resolved": false, 10803 "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
9299 "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 10804 "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
10805 "dev": true,
10806 "optional": true,
9300 "requires": { 10807 "requires": {
9301 "once": "^1.3.0", 10808 "once": "^1.3.0",
9302 "wrappy": "1" 10809 "wrappy": "1"
@@ -9304,28 +10811,408 @@
9304 }, 10811 },
9305 "inherits": { 10812 "inherits": {
9306 "version": "2.0.3", 10813 "version": "2.0.3",
9307 "resolved": false, 10814 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
9308 "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" 10815 "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
10816 "dev": true,
10817 "optional": true
9309 }, 10818 },
9310 "ini": { 10819 "ini": {
9311 "version": "1.3.5", 10820 "version": "1.3.5",
9312 "resolved": false, 10821 "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
9313 "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" 10822 "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
10823 "dev": true,
10824 "optional": true
9314 }, 10825 },
9315 "is-fullwidth-code-point": { 10826 "is-fullwidth-code-point": {
9316 "version": "1.0.0", 10827 "version": "1.0.0",
9317 "resolved": false, 10828 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
9318 "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", 10829 "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
10830 "dev": true,
10831 "optional": true,
9319 "requires": { 10832 "requires": {
9320 "number-is-nan": "^1.0.0" 10833 "number-is-nan": "^1.0.0"
9321 } 10834 }
10835 },
10836 "isarray": {
10837 "version": "1.0.0",
10838 "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
10839 "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
10840 "dev": true,
10841 "optional": true
10842 },
10843 "minimatch": {
10844 "version": "3.0.4",
10845 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
10846 "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
10847 "dev": true,
10848 "optional": true,
10849 "requires": {
10850 "brace-expansion": "^1.1.7"
10851 }
10852 },
10853 "minimist": {
10854 "version": "0.0.8",
10855 "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
10856 "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
10857 "dev": true,
10858 "optional": true
10859 },
10860 "minipass": {
10861 "version": "2.3.5",
10862 "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz",
10863 "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==",
10864 "dev": true,
10865 "optional": true,
10866 "requires": {
10867 "safe-buffer": "^5.1.2",
10868 "yallist": "^3.0.0"
10869 }
10870 },
10871 "minizlib": {
10872 "version": "1.2.1",
10873 "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz",
10874 "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==",
10875 "dev": true,
10876 "optional": true,
10877 "requires": {
10878 "minipass": "^2.2.1"
10879 }
10880 },
10881 "mkdirp": {
10882 "version": "0.5.1",
10883 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
10884 "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
10885 "dev": true,
10886 "optional": true,
10887 "requires": {
10888 "minimist": "0.0.8"
10889 }
10890 },
10891 "ms": {
10892 "version": "2.1.1",
10893 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
10894 "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
10895 "dev": true,
10896 "optional": true
10897 },
10898 "needle": {
10899 "version": "2.3.0",
10900 "resolved": "https://registry.npmjs.org/needle/-/needle-2.3.0.tgz",
10901 "integrity": "sha512-QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==",
10902 "dev": true,
10903 "optional": true,
10904 "requires": {
10905 "debug": "^4.1.0",
10906 "iconv-lite": "^0.4.4",
10907 "sax": "^1.2.4"
10908 }
10909 },
10910 "node-pre-gyp": {
10911 "version": "0.12.0",
10912 "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz",
10913 "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==",
10914 "dev": true,
10915 "optional": true,
10916 "requires": {
10917 "detect-libc": "^1.0.2",
10918 "mkdirp": "^0.5.1",
10919 "needle": "^2.2.1",
10920 "nopt": "^4.0.1",
10921 "npm-packlist": "^1.1.6",
10922 "npmlog": "^4.0.2",
10923 "rc": "^1.2.7",
10924 "rimraf": "^2.6.1",
10925 "semver": "^5.3.0",
10926 "tar": "^4"
10927 }
10928 },
10929 "nopt": {
10930 "version": "4.0.1",
10931 "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
10932 "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
10933 "dev": true,
10934 "optional": true,
10935 "requires": {
10936 "abbrev": "1",
10937 "osenv": "^0.1.4"
10938 }
10939 },
10940 "npm-bundled": {
10941 "version": "1.0.6",
10942 "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz",
10943 "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==",
10944 "dev": true,
10945 "optional": true
10946 },
10947 "npm-packlist": {
10948 "version": "1.4.1",
10949 "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.1.tgz",
10950 "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==",
10951 "dev": true,
10952 "optional": true,
10953 "requires": {
10954 "ignore-walk": "^3.0.1",
10955 "npm-bundled": "^1.0.1"
10956 }
10957 },
10958 "npmlog": {
10959 "version": "4.1.2",
10960 "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
10961 "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
10962 "dev": true,
10963 "optional": true,
10964 "requires": {
10965 "are-we-there-yet": "~1.1.2",
10966 "console-control-strings": "~1.1.0",
10967 "gauge": "~2.7.3",
10968 "set-blocking": "~2.0.0"
10969 }
10970 },
10971 "number-is-nan": {
10972 "version": "1.0.1",
10973 "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
10974 "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
10975 "dev": true,
10976 "optional": true
10977 },
10978 "object-assign": {
10979 "version": "4.1.1",
10980 "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
10981 "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
10982 "dev": true,
10983 "optional": true
10984 },
10985 "once": {
10986 "version": "1.4.0",
10987 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
10988 "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
10989 "dev": true,
10990 "optional": true,
10991 "requires": {
10992 "wrappy": "1"
10993 }
10994 },
10995 "os-homedir": {
10996 "version": "1.0.2",
10997 "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
10998 "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
10999 "dev": true,
11000 "optional": true
11001 },
11002 "os-tmpdir": {
11003 "version": "1.0.2",
11004 "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
11005 "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
11006 "dev": true,
11007 "optional": true
11008 },
11009 "osenv": {
11010 "version": "0.1.5",
11011 "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
11012 "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
11013 "dev": true,
11014 "optional": true,
11015 "requires": {
11016 "os-homedir": "^1.0.0",
11017 "os-tmpdir": "^1.0.0"
11018 }
11019 },
11020 "path-is-absolute": {
11021 "version": "1.0.1",
11022 "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
11023 "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
11024 "dev": true,
11025 "optional": true
11026 },
11027 "process-nextick-args": {
11028 "version": "2.0.0",
11029 "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
11030 "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
11031 "dev": true,
11032 "optional": true
11033 },
11034 "rc": {
11035 "version": "1.2.8",
11036 "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
11037 "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
11038 "dev": true,
11039 "optional": true,
11040 "requires": {
11041 "deep-extend": "^0.6.0",
11042 "ini": "~1.3.0",
11043 "minimist": "^1.2.0",
11044 "strip-json-comments": "~2.0.1"
11045 },
11046 "dependencies": {
11047 "minimist": {
11048 "version": "1.2.0",
11049 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
11050 "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
11051 "dev": true,
11052 "optional": true
11053 }
11054 }
11055 },
11056 "readable-stream": {
11057 "version": "2.3.6",
11058 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
11059 "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
11060 "dev": true,
11061 "optional": true,
11062 "requires": {
11063 "core-util-is": "~1.0.0",
11064 "inherits": "~2.0.3",
11065 "isarray": "~1.0.0",
11066 "process-nextick-args": "~2.0.0",
11067 "safe-buffer": "~5.1.1",
11068 "string_decoder": "~1.1.1",
11069 "util-deprecate": "~1.0.1"
11070 }
11071 },
11072 "rimraf": {
11073 "version": "2.6.3",
11074 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
11075 "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
11076 "dev": true,
11077 "optional": true,
11078 "requires": {
11079 "glob": "^7.1.3"
11080 }
11081 },
11082 "safe-buffer": {
11083 "version": "5.1.2",
11084 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
11085 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
11086 "dev": true,
11087 "optional": true
11088 },
11089 "safer-buffer": {
11090 "version": "2.1.2",
11091 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
11092 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
11093 "dev": true,
11094 "optional": true
11095 },
11096 "sax": {
11097 "version": "1.2.4",
11098 "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
11099 "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
11100 "dev": true,
11101 "optional": true
11102 },
11103 "semver": {
11104 "version": "5.7.0",
11105 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
11106 "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==",
11107 "dev": true,
11108 "optional": true
11109 },
11110 "set-blocking": {
11111 "version": "2.0.0",
11112 "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
11113 "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
11114 "dev": true,
11115 "optional": true
11116 },
11117 "signal-exit": {
11118 "version": "3.0.2",
11119 "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
11120 "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
11121 "dev": true,
11122 "optional": true
11123 },
11124 "string-width": {
11125 "version": "1.0.2",
11126 "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
11127 "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
11128 "dev": true,
11129 "optional": true,
11130 "requires": {
11131 "code-point-at": "^1.0.0",
11132 "is-fullwidth-code-point": "^1.0.0",
11133 "strip-ansi": "^3.0.0"
11134 }
11135 },
11136 "string_decoder": {
11137 "version": "1.1.1",
11138 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
11139 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
11140 "dev": true,
11141 "optional": true,
11142 "requires": {
11143 "safe-buffer": "~5.1.0"
11144 }
11145 },
11146 "strip-ansi": {
11147 "version": "3.0.1",
11148 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
11149 "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
11150 "dev": true,
11151 "optional": true,
11152 "requires": {
11153 "ansi-regex": "^2.0.0"
11154 }
11155 },
11156 "strip-json-comments": {
11157 "version": "2.0.1",
11158 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
11159 "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
11160 "dev": true,
11161 "optional": true
11162 },
11163 "tar": {
11164 "version": "4.4.8",
11165 "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz",
11166 "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==",
11167 "dev": true,
11168 "optional": true,
11169 "requires": {
11170 "chownr": "^1.1.1",
11171 "fs-minipass": "^1.2.5",
11172 "minipass": "^2.3.4",
11173 "minizlib": "^1.1.1",
11174 "mkdirp": "^0.5.0",
11175 "safe-buffer": "^5.1.2",
11176 "yallist": "^3.0.2"
11177 }
11178 },
11179 "util-deprecate": {
11180 "version": "1.0.2",
11181 "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
11182 "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
11183 "dev": true,
11184 "optional": true
11185 },
11186 "wide-align": {
11187 "version": "1.1.3",
11188 "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
11189 "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
11190 "dev": true,
11191 "optional": true,
11192 "requires": {
11193 "string-width": "^1.0.2 || 2"
11194 }
11195 },
11196 "wrappy": {
11197 "version": "1.0.2",
11198 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
11199 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
11200 "dev": true,
11201 "optional": true
11202 },
11203 "yallist": {
11204 "version": "3.0.3",
11205 "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
11206 "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
11207 "dev": true,
11208 "optional": true
9322 } 11209 }
9323 } 11210 }
9324 }, 11211 },
9325 "fstream": { 11212 "fstream": {
9326 "version": "1.0.11", 11213 "version": "1.0.12",
9327 "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", 11214 "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz",
9328 "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", 11215 "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
9329 "dev": true, 11216 "dev": true,
9330 "requires": { 11217 "requires": {
9331 "graceful-fs": "^4.1.2", 11218 "graceful-fs": "^4.1.2",
@@ -9350,7 +11237,6 @@
9350 "version": "2.7.4", 11237 "version": "2.7.4",
9351 "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", 11238 "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
9352 "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", 11239 "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
9353 "dev": true,
9354 "requires": { 11240 "requires": {
9355 "aproba": "^1.0.3", 11241 "aproba": "^1.0.3",
9356 "console-control-strings": "^1.0.0", 11242 "console-control-strings": "^1.0.0",
@@ -9365,14 +11251,12 @@
9365 "ansi-regex": { 11251 "ansi-regex": {
9366 "version": "2.1.1", 11252 "version": "2.1.1",
9367 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 11253 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
9368 "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 11254 "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
9369 "dev": true
9370 }, 11255 },
9371 "is-fullwidth-code-point": { 11256 "is-fullwidth-code-point": {
9372 "version": "1.0.0", 11257 "version": "1.0.0",
9373 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 11258 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
9374 "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", 11259 "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
9375 "dev": true,
9376 "requires": { 11260 "requires": {
9377 "number-is-nan": "^1.0.0" 11261 "number-is-nan": "^1.0.0"
9378 } 11262 }
@@ -9381,7 +11265,6 @@
9381 "version": "1.0.2", 11265 "version": "1.0.2",
9382 "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", 11266 "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
9383 "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", 11267 "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
9384 "dev": true,
9385 "requires": { 11268 "requires": {
9386 "code-point-at": "^1.0.0", 11269 "code-point-at": "^1.0.0",
9387 "is-fullwidth-code-point": "^1.0.0", 11270 "is-fullwidth-code-point": "^1.0.0",
@@ -9392,7 +11275,6 @@
9392 "version": "3.0.1", 11275 "version": "3.0.1",
9393 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 11276 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
9394 "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 11277 "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
9395 "dev": true,
9396 "requires": { 11278 "requires": {
9397 "ansi-regex": "^2.0.0" 11279 "ansi-regex": "^2.0.0"
9398 } 11280 }
@@ -9505,6 +11387,12 @@
9505 "trim-newlines": "^1.0.0" 11387 "trim-newlines": "^1.0.0"
9506 } 11388 }
9507 }, 11389 },
11390 "minimist": {
11391 "version": "1.2.0",
11392 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
11393 "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
11394 "dev": true
11395 },
9508 "parse-json": { 11396 "parse-json": {
9509 "version": "2.2.0", 11397 "version": "2.2.0",
9510 "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", 11398 "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
@@ -9561,6 +11449,21 @@
9561 "read-pkg": "^1.0.0" 11449 "read-pkg": "^1.0.0"
9562 } 11450 }
9563 }, 11451 },
11452 "readable-stream": {
11453 "version": "2.3.6",
11454 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
11455 "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
11456 "dev": true,
11457 "requires": {
11458 "core-util-is": "~1.0.0",
11459 "inherits": "~2.0.3",
11460 "isarray": "~1.0.0",
11461 "process-nextick-args": "~2.0.0",
11462 "safe-buffer": "~5.1.1",
11463 "string_decoder": "~1.1.1",
11464 "util-deprecate": "~1.0.1"
11465 }
11466 },
9564 "redent": { 11467 "redent": {
9565 "version": "1.0.0", 11468 "version": "1.0.0",
9566 "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", 11469 "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
@@ -9571,6 +11474,21 @@
9571 "strip-indent": "^1.0.1" 11474 "strip-indent": "^1.0.1"
9572 } 11475 }
9573 }, 11476 },
11477 "safe-buffer": {
11478 "version": "5.1.2",
11479 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
11480 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
11481 "dev": true
11482 },
11483 "string_decoder": {
11484 "version": "1.1.1",
11485 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
11486 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
11487 "dev": true,
11488 "requires": {
11489 "safe-buffer": "~5.1.0"
11490 }
11491 },
9574 "strip-bom": { 11492 "strip-bom": {
9575 "version": "2.0.0", 11493 "version": "2.0.0",
9576 "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", 11494 "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
@@ -9589,6 +11507,16 @@
9589 "get-stdin": "^4.0.1" 11507 "get-stdin": "^4.0.1"
9590 } 11508 }
9591 }, 11509 },
11510 "through2": {
11511 "version": "2.0.5",
11512 "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
11513 "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
11514 "dev": true,
11515 "requires": {
11516 "readable-stream": "~2.3.6",
11517 "xtend": "~4.0.1"
11518 }
11519 },
9592 "trim-newlines": { 11520 "trim-newlines": {
9593 "version": "1.0.0", 11521 "version": "1.0.0",
9594 "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", 11522 "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
@@ -9598,9 +11526,9 @@
9598 } 11526 }
9599 }, 11527 },
9600 "get-port": { 11528 "get-port": {
9601 "version": "3.2.0", 11529 "version": "4.2.0",
9602 "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", 11530 "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz",
9603 "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=", 11531 "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==",
9604 "dev": true 11532 "dev": true
9605 }, 11533 },
9606 "get-stdin": { 11534 "get-stdin": {
@@ -9613,7 +11541,6 @@
9613 "version": "4.1.0", 11541 "version": "4.1.0",
9614 "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", 11542 "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
9615 "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", 11543 "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
9616 "dev": true,
9617 "requires": { 11544 "requires": {
9618 "pump": "^3.0.0" 11545 "pump": "^3.0.0"
9619 } 11546 }
@@ -9621,14 +11548,12 @@
9621 "get-value": { 11548 "get-value": {
9622 "version": "2.0.6", 11549 "version": "2.0.6",
9623 "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", 11550 "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
9624 "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", 11551 "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
9625 "dev": true
9626 }, 11552 },
9627 "getpass": { 11553 "getpass": {
9628 "version": "0.1.7", 11554 "version": "0.1.7",
9629 "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 11555 "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
9630 "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", 11556 "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
9631 "dev": true,
9632 "requires": { 11557 "requires": {
9633 "assert-plus": "^1.0.0" 11558 "assert-plus": "^1.0.0"
9634 } 11559 }
@@ -9652,6 +11577,48 @@
9652 "meow": "^4.0.0", 11577 "meow": "^4.0.0",
9653 "split2": "^2.0.0", 11578 "split2": "^2.0.0",
9654 "through2": "^2.0.0" 11579 "through2": "^2.0.0"
11580 },
11581 "dependencies": {
11582 "readable-stream": {
11583 "version": "2.3.6",
11584 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
11585 "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
11586 "dev": true,
11587 "requires": {
11588 "core-util-is": "~1.0.0",
11589 "inherits": "~2.0.3",
11590 "isarray": "~1.0.0",
11591 "process-nextick-args": "~2.0.0",
11592 "safe-buffer": "~5.1.1",
11593 "string_decoder": "~1.1.1",
11594 "util-deprecate": "~1.0.1"
11595 }
11596 },
11597 "safe-buffer": {
11598 "version": "5.1.2",
11599 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
11600 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
11601 "dev": true
11602 },
11603 "string_decoder": {
11604 "version": "1.1.1",
11605 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
11606 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
11607 "dev": true,
11608 "requires": {
11609 "safe-buffer": "~5.1.0"
11610 }
11611 },
11612 "through2": {
11613 "version": "2.0.5",
11614 "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
11615 "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
11616 "dev": true,
11617 "requires": {
11618 "readable-stream": "~2.3.6",
11619 "xtend": "~4.0.1"
11620 }
11621 }
9655 } 11622 }
9656 }, 11623 },
9657 "git-remote-origin-url": { 11624 "git-remote-origin-url": {
@@ -9673,13 +11640,21 @@
9673 } 11640 }
9674 }, 11641 },
9675 "git-semver-tags": { 11642 "git-semver-tags": {
9676 "version": "2.0.2", 11643 "version": "3.0.0",
9677 "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.2.tgz", 11644 "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-3.0.0.tgz",
9678 "integrity": "sha512-34lMF7Yo1xEmsK2EkbArdoU79umpvm0MfzaDkSNYSJqtM5QLAVTPWgpiXSVI5o/O9EvZPSrP4Zvnec/CqhSd5w==", 11645 "integrity": "sha512-T4C/gJ9k2Bnxz+PubtcyiMtUUKrC+Nh9Q4zaECcnmVMwJgPhrNyP/Rf+YpdRqsJbCV/+kYrCH24Xg+IeAmbOPg==",
9679 "dev": true, 11646 "dev": true,
9680 "requires": { 11647 "requires": {
9681 "meow": "^4.0.0", 11648 "meow": "^4.0.0",
9682 "semver": "^5.5.0" 11649 "semver": "^6.0.0"
11650 },
11651 "dependencies": {
11652 "semver": {
11653 "version": "6.3.0",
11654 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
11655 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
11656 "dev": true
11657 }
9683 } 11658 }
9684 }, 11659 },
9685 "git-up": { 11660 "git-up": {
@@ -9711,10 +11686,9 @@
9711 } 11686 }
9712 }, 11687 },
9713 "glob": { 11688 "glob": {
9714 "version": "7.1.3", 11689 "version": "7.1.4",
9715 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", 11690 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
9716 "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", 11691 "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
9717 "dev": true,
9718 "requires": { 11692 "requires": {
9719 "fs.realpath": "^1.0.0", 11693 "fs.realpath": "^1.0.0",
9720 "inflight": "^1.0.4", 11694 "inflight": "^1.0.4",
@@ -9814,6 +11788,12 @@
9814 "util-deprecate": "~1.0.1" 11788 "util-deprecate": "~1.0.1"
9815 } 11789 }
9816 }, 11790 },
11791 "safe-buffer": {
11792 "version": "5.1.2",
11793 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
11794 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
11795 "dev": true
11796 },
9817 "string_decoder": { 11797 "string_decoder": {
9818 "version": "1.1.1", 11798 "version": "1.1.1",
9819 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 11799 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -9867,7 +11847,6 @@
9867 "version": "1.0.0", 11847 "version": "1.0.0",
9868 "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", 11848 "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
9869 "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", 11849 "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
9870 "dev": true,
9871 "requires": { 11850 "requires": {
9872 "global-prefix": "^1.0.1", 11851 "global-prefix": "^1.0.1",
9873 "is-windows": "^1.0.1", 11852 "is-windows": "^1.0.1",
@@ -9884,7 +11863,6 @@
9884 "version": "1.0.2", 11863 "version": "1.0.2",
9885 "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", 11864 "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
9886 "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", 11865 "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
9887 "dev": true,
9888 "requires": { 11866 "requires": {
9889 "expand-tilde": "^2.0.2", 11867 "expand-tilde": "^2.0.2",
9890 "homedir-polyfill": "^1.0.1", 11868 "homedir-polyfill": "^1.0.1",
@@ -9894,36 +11872,31 @@
9894 } 11872 }
9895 }, 11873 },
9896 "globals": { 11874 "globals": {
9897 "version": "11.11.0", 11875 "version": "11.12.0",
9898 "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz", 11876 "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
9899 "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==", 11877 "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
9900 "dev": true 11878 "dev": true
9901 }, 11879 },
9902 "globby": { 11880 "globby": {
9903 "version": "8.0.2", 11881 "version": "9.2.0",
9904 "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", 11882 "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz",
9905 "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", 11883 "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==",
9906 "dev": true, 11884 "dev": true,
9907 "requires": { 11885 "requires": {
9908 "array-union": "^1.0.1", 11886 "@types/glob": "^7.1.1",
9909 "dir-glob": "2.0.0", 11887 "array-union": "^1.0.2",
9910 "fast-glob": "^2.0.2", 11888 "dir-glob": "^2.2.2",
9911 "glob": "^7.1.2", 11889 "fast-glob": "^2.2.6",
9912 "ignore": "^3.3.5", 11890 "glob": "^7.1.3",
9913 "pify": "^3.0.0", 11891 "ignore": "^4.0.3",
9914 "slash": "^1.0.0" 11892 "pify": "^4.0.1",
11893 "slash": "^2.0.0"
9915 }, 11894 },
9916 "dependencies": { 11895 "dependencies": {
9917 "ignore": { 11896 "pify": {
9918 "version": "3.3.10", 11897 "version": "4.0.1",
9919 "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", 11898 "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
9920 "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", 11899 "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
9921 "dev": true
9922 },
9923 "slash": {
9924 "version": "1.0.0",
9925 "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
9926 "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
9927 "dev": true 11900 "dev": true
9928 } 11901 }
9929 } 11902 }
@@ -9943,7 +11916,6 @@
9943 "version": "1.0.2", 11916 "version": "1.0.2",
9944 "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", 11917 "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz",
9945 "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", 11918 "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==",
9946 "dev": true,
9947 "requires": { 11919 "requires": {
9948 "sparkles": "^1.0.0" 11920 "sparkles": "^1.0.0"
9949 } 11921 }
@@ -9968,9 +11940,9 @@
9968 } 11940 }
9969 }, 11941 },
9970 "graceful-fs": { 11942 "graceful-fs": {
9971 "version": "4.1.15", 11943 "version": "4.2.2",
9972 "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", 11944 "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
9973 "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" 11945 "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q=="
9974 }, 11946 },
9975 "growl": { 11947 "growl": {
9976 "version": "1.10.5", 11948 "version": "1.10.5",
@@ -9985,14 +11957,14 @@
9985 "dev": true 11957 "dev": true
9986 }, 11958 },
9987 "gulp": { 11959 "gulp": {
9988 "version": "4.0.0", 11960 "version": "4.0.2",
9989 "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.0.tgz", 11961 "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz",
9990 "integrity": "sha1-lXZsYB2t5Kd+0+eyttwDiBtZY2Y=", 11962 "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==",
9991 "dev": true, 11963 "dev": true,
9992 "requires": { 11964 "requires": {
9993 "glob-watcher": "^5.0.0", 11965 "glob-watcher": "^5.0.3",
9994 "gulp-cli": "^2.0.0", 11966 "gulp-cli": "^2.2.0",
9995 "undertaker": "^1.0.0", 11967 "undertaker": "^1.2.1",
9996 "vinyl-fs": "^3.0.0" 11968 "vinyl-fs": "^3.0.0"
9997 }, 11969 },
9998 "dependencies": { 11970 "dependencies": {
@@ -10030,9 +12002,9 @@
10030 } 12002 }
10031 }, 12003 },
10032 "gulp-cli": { 12004 "gulp-cli": {
10033 "version": "2.0.1", 12005 "version": "2.2.0",
10034 "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.0.1.tgz", 12006 "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.2.0.tgz",
10035 "integrity": "sha512-RxujJJdN8/O6IW2nPugl7YazhmrIEjmiVfPKrWt68r71UCaLKS71Hp0gpKT+F6qOUFtr7KqtifDKaAJPRVvMYQ==", 12007 "integrity": "sha512-rGs3bVYHdyJpLqR0TUBnlcZ1O5O++Zs4bA0ajm+zr3WFCfiSLjGwoCBqFs18wzN+ZxahT9DkOK5nDf26iDsWjA==",
10036 "dev": true, 12008 "dev": true,
10037 "requires": { 12009 "requires": {
10038 "ansi-colors": "^1.0.1", 12010 "ansi-colors": "^1.0.1",
@@ -10045,7 +12017,7 @@
10045 "gulplog": "^1.0.0", 12017 "gulplog": "^1.0.0",
10046 "interpret": "^1.1.0", 12018 "interpret": "^1.1.0",
10047 "isobject": "^3.0.1", 12019 "isobject": "^3.0.1",
10048 "liftoff": "^2.5.0", 12020 "liftoff": "^3.1.0",
10049 "matchdep": "^2.0.0", 12021 "matchdep": "^2.0.0",
10050 "mute-stdout": "^1.0.0", 12022 "mute-stdout": "^1.0.0",
10051 "pretty-hrtime": "^1.0.0", 12023 "pretty-hrtime": "^1.0.0",
@@ -10240,6 +12212,48 @@
10240 "replace-ext": "^1.0.0", 12212 "replace-ext": "^1.0.0",
10241 "through2": "^2.0.0", 12213 "through2": "^2.0.0",
10242 "vinyl-sourcemaps-apply": "^0.2.0" 12214 "vinyl-sourcemaps-apply": "^0.2.0"
12215 },
12216 "dependencies": {
12217 "readable-stream": {
12218 "version": "2.3.6",
12219 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
12220 "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
12221 "dev": true,
12222 "requires": {
12223 "core-util-is": "~1.0.0",
12224 "inherits": "~2.0.3",
12225 "isarray": "~1.0.0",
12226 "process-nextick-args": "~2.0.0",
12227 "safe-buffer": "~5.1.1",
12228 "string_decoder": "~1.1.1",
12229 "util-deprecate": "~1.0.1"
12230 }
12231 },
12232 "safe-buffer": {
12233 "version": "5.1.2",
12234 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
12235 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
12236 "dev": true
12237 },
12238 "string_decoder": {
12239 "version": "1.1.1",
12240 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
12241 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
12242 "dev": true,
12243 "requires": {
12244 "safe-buffer": "~5.1.0"
12245 }
12246 },
12247 "through2": {
12248 "version": "2.0.5",
12249 "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
12250 "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
12251 "dev": true,
12252 "requires": {
12253 "readable-stream": "~2.3.6",
12254 "xtend": "~4.0.1"
12255 }
12256 }
10243 } 12257 }
10244 }, 12258 },
10245 "gulp-cli": { 12259 "gulp-cli": {
@@ -10352,15 +12366,26 @@
10352 "dev": true, 12366 "dev": true,
10353 "requires": { 12367 "requires": {
10354 "is-extglob": "^1.0.0" 12368 "is-extglob": "^1.0.0"
12369 },
12370 "dependencies": {
12371 "is-extglob": {
12372 "version": "1.0.0",
12373 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
12374 "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
12375 "dev": true
12376 }
10355 } 12377 }
10356 }, 12378 },
10357 "findup-sync": { 12379 "findup-sync": {
10358 "version": "0.3.0", 12380 "version": "2.0.0",
10359 "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", 12381 "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
10360 "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", 12382 "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
10361 "dev": true, 12383 "dev": true,
10362 "requires": { 12384 "requires": {
10363 "glob": "~5.0.0" 12385 "detect-file": "^1.0.0",
12386 "is-glob": "^3.1.0",
12387 "micromatch": "^3.0.4",
12388 "resolve-dir": "^1.0.1"
10364 } 12389 }
10365 }, 12390 },
10366 "glob": { 12391 "glob": {
@@ -10382,12 +12407,6 @@
10382 "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", 12407 "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
10383 "dev": true 12408 "dev": true
10384 }, 12409 },
10385 "is-extglob": {
10386 "version": "1.0.0",
10387 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
10388 "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
10389 "dev": true
10390 },
10391 "is-fullwidth-code-point": { 12410 "is-fullwidth-code-point": {
10392 "version": "1.0.0", 12411 "version": "1.0.0",
10393 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 12412 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
@@ -10398,12 +12417,12 @@
10398 } 12417 }
10399 }, 12418 },
10400 "is-glob": { 12419 "is-glob": {
10401 "version": "2.0.1", 12420 "version": "3.1.0",
10402 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", 12421 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
10403 "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", 12422 "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
10404 "dev": true, 12423 "dev": true,
10405 "requires": { 12424 "requires": {
10406 "is-extglob": "^1.0.0" 12425 "is-extglob": "^2.1.0"
10407 } 12426 }
10408 }, 12427 },
10409 "kind-of": { 12428 "kind-of": {
@@ -10424,6 +12443,22 @@
10424 "invert-kv": "^1.0.0" 12443 "invert-kv": "^1.0.0"
10425 } 12444 }
10426 }, 12445 },
12446 "liftoff": {
12447 "version": "2.5.0",
12448 "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
12449 "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
12450 "dev": true,
12451 "requires": {
12452 "extend": "^3.0.0",
12453 "findup-sync": "^2.0.0",
12454 "fined": "^1.0.1",
12455 "flagged-respawn": "^1.0.0",
12456 "is-plain-object": "^2.0.4",
12457 "object.map": "^1.0.0",
12458 "rechoir": "^0.6.2",
12459 "resolve": "^1.1.7"
12460 }
12461 },
10427 "matchdep": { 12462 "matchdep": {
10428 "version": "1.0.1", 12463 "version": "1.0.1",
10429 "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-1.0.1.tgz", 12464 "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-1.0.1.tgz",
@@ -10434,27 +12469,59 @@
10434 "micromatch": "^2.3.7", 12469 "micromatch": "^2.3.7",
10435 "resolve": "~1.1.6", 12470 "resolve": "~1.1.6",
10436 "stack-trace": "0.0.9" 12471 "stack-trace": "0.0.9"
10437 } 12472 },
10438 }, 12473 "dependencies": {
10439 "micromatch": { 12474 "findup-sync": {
10440 "version": "2.3.11", 12475 "version": "0.3.0",
10441 "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", 12476 "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz",
10442 "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", 12477 "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
10443 "dev": true, 12478 "dev": true,
10444 "requires": { 12479 "requires": {
10445 "arr-diff": "^2.0.0", 12480 "glob": "~5.0.0"
10446 "array-unique": "^0.2.1", 12481 }
10447 "braces": "^1.8.2", 12482 },
10448 "expand-brackets": "^0.1.4", 12483 "is-extglob": {
10449 "extglob": "^0.3.1", 12484 "version": "1.0.0",
10450 "filename-regex": "^2.0.0", 12485 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
10451 "is-extglob": "^1.0.0", 12486 "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
10452 "is-glob": "^2.0.1", 12487 "dev": true
10453 "kind-of": "^3.0.2", 12488 },
10454 "normalize-path": "^2.0.1", 12489 "is-glob": {
10455 "object.omit": "^2.0.0", 12490 "version": "2.0.1",
10456 "parse-glob": "^3.0.4", 12491 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
10457 "regex-cache": "^0.4.2" 12492 "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
12493 "dev": true,
12494 "requires": {
12495 "is-extglob": "^1.0.0"
12496 }
12497 },
12498 "micromatch": {
12499 "version": "2.3.11",
12500 "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
12501 "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
12502 "dev": true,
12503 "requires": {
12504 "arr-diff": "^2.0.0",
12505 "array-unique": "^0.2.1",
12506 "braces": "^1.8.2",
12507 "expand-brackets": "^0.1.4",
12508 "extglob": "^0.3.1",
12509 "filename-regex": "^2.0.0",
12510 "is-extglob": "^1.0.0",
12511 "is-glob": "^2.0.1",
12512 "kind-of": "^3.0.2",
12513 "normalize-path": "^2.0.1",
12514 "object.omit": "^2.0.0",
12515 "parse-glob": "^3.0.4",
12516 "regex-cache": "^0.4.2"
12517 }
12518 },
12519 "resolve": {
12520 "version": "1.1.7",
12521 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
12522 "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
12523 "dev": true
12524 }
10458 } 12525 }
10459 }, 12526 },
10460 "os-locale": { 12527 "os-locale": {
@@ -10466,21 +12533,6 @@
10466 "lcid": "^1.0.0" 12533 "lcid": "^1.0.0"
10467 } 12534 }
10468 }, 12535 },
10469 "readable-stream": {
10470 "version": "1.0.34",
10471 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
10472 "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
10473 "requires": {
10474 "core-util-is": "~1.0.0",
10475 "inherits": "~2.0.1"
10476 }
10477 },
10478 "resolve": {
10479 "version": "1.1.7",
10480 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
10481 "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
10482 "dev": true
10483 },
10484 "stack-trace": { 12536 "stack-trace": {
10485 "version": "0.0.9", 12537 "version": "0.0.9",
10486 "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", 12538 "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz",
@@ -10545,6 +12597,128 @@
10545 } 12597 }
10546 } 12598 }
10547 }, 12599 },
12600 "gulp-csso": {
12601 "version": "3.0.1",
12602 "resolved": "https://registry.npmjs.org/gulp-csso/-/gulp-csso-3.0.1.tgz",
12603 "integrity": "sha512-zhkvq06x1SJrpBN8YNJfc1PDono2+xjB6nI9UmBPh88nS4Weuz0hZMgJ4YruOw9Bf+oDrX71U6pkos6pIQhc1g==",
12604 "requires": {
12605 "csso": "^3.0.0",
12606 "plugin-error": "^0.1.2",
12607 "vinyl-sourcemaps-apply": "^0.2.1"
12608 },
12609 "dependencies": {
12610 "arr-diff": {
12611 "version": "1.1.0",
12612 "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz",
12613 "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=",
12614 "requires": {
12615 "arr-flatten": "^1.0.1",
12616 "array-slice": "^0.2.3"
12617 }
12618 },
12619 "arr-union": {
12620 "version": "2.1.0",
12621 "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz",
12622 "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0="
12623 },
12624 "array-slice": {
12625 "version": "0.2.3",
12626 "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
12627 "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU="
12628 },
12629 "extend-shallow": {
12630 "version": "1.1.4",
12631 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz",
12632 "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=",
12633 "requires": {
12634 "kind-of": "^1.1.0"
12635 }
12636 },
12637 "kind-of": {
12638 "version": "1.1.0",
12639 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz",
12640 "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ="
12641 },
12642 "plugin-error": {
12643 "version": "0.1.2",
12644 "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz",
12645 "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=",
12646 "requires": {
12647 "ansi-cyan": "^0.1.1",
12648 "ansi-red": "^0.1.1",
12649 "arr-diff": "^1.0.1",
12650 "arr-union": "^2.0.1",
12651 "extend-shallow": "^1.1.2"
12652 }
12653 }
12654 }
12655 },
12656 "gulp-htmlmin": {
12657 "version": "5.0.1",
12658 "resolved": "https://registry.npmjs.org/gulp-htmlmin/-/gulp-htmlmin-5.0.1.tgz",
12659 "integrity": "sha512-ASlyDPZOSKjHYUifYV0rf9JPDflN9IRIb8lw2vRqtYMC4ljU3zAmnnaVXwFQ3H+CfXxZSUesZ2x7jrnPJu93jA==",
12660 "requires": {
12661 "html-minifier": "^3.5.20",
12662 "plugin-error": "^1.0.1",
12663 "through2": "^2.0.3"
12664 },
12665 "dependencies": {
12666 "readable-stream": {
12667 "version": "2.3.6",
12668 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
12669 "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
12670 "requires": {
12671 "core-util-is": "~1.0.0",
12672 "inherits": "~2.0.3",
12673 "isarray": "~1.0.0",
12674 "process-nextick-args": "~2.0.0",
12675 "safe-buffer": "~5.1.1",
12676 "string_decoder": "~1.1.1",
12677 "util-deprecate": "~1.0.1"
12678 }
12679 },
12680 "safe-buffer": {
12681 "version": "5.1.2",
12682 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
12683 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
12684 },
12685 "string_decoder": {
12686 "version": "1.1.1",
12687 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
12688 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
12689 "requires": {
12690 "safe-buffer": "~5.1.0"
12691 }
12692 },
12693 "through2": {
12694 "version": "2.0.5",
12695 "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
12696 "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
12697 "requires": {
12698 "readable-stream": "~2.3.6",
12699 "xtend": "~4.0.1"
12700 }
12701 }
12702 }
12703 },
12704 "gulp-if": {
12705 "version": "3.0.0",
12706 "resolved": "https://registry.npmjs.org/gulp-if/-/gulp-if-3.0.0.tgz",
12707 "integrity": "sha512-fCUEngzNiEZEK2YuPm+sdMpO6ukb8+/qzbGfJBXyNOXz85bCG7yBI+pPSl+N90d7gnLvMsarthsAImx0qy7BAw==",
12708 "requires": {
12709 "gulp-match": "^1.1.0",
12710 "ternary-stream": "^3.0.0",
12711 "through2": "^3.0.1"
12712 }
12713 },
12714 "gulp-match": {
12715 "version": "1.1.0",
12716 "resolved": "https://registry.npmjs.org/gulp-match/-/gulp-match-1.1.0.tgz",
12717 "integrity": "sha512-DlyVxa1Gj24DitY2OjEsS+X6tDpretuxD6wTfhXE/Rw2hweqc1f6D/XtsJmoiCwLWfXgR87W9ozEityPCVzGtQ==",
12718 "requires": {
12719 "minimatch": "^3.0.3"
12720 }
12721 },
10548 "gulp-sass": { 12722 "gulp-sass": {
10549 "version": "4.0.2", 12723 "version": "4.0.2",
10550 "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-4.0.2.tgz", 12724 "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-4.0.2.tgz",
@@ -10559,6 +12733,48 @@
10559 "strip-ansi": "^4.0.0", 12733 "strip-ansi": "^4.0.0",
10560 "through2": "^2.0.0", 12734 "through2": "^2.0.0",
10561 "vinyl-sourcemaps-apply": "^0.2.0" 12735 "vinyl-sourcemaps-apply": "^0.2.0"
12736 },
12737 "dependencies": {
12738 "readable-stream": {
12739 "version": "2.3.6",
12740 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
12741 "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
12742 "dev": true,
12743 "requires": {
12744 "core-util-is": "~1.0.0",
12745 "inherits": "~2.0.3",
12746 "isarray": "~1.0.0",
12747 "process-nextick-args": "~2.0.0",
12748 "safe-buffer": "~5.1.1",
12749 "string_decoder": "~1.1.1",
12750 "util-deprecate": "~1.0.1"
12751 }
12752 },
12753 "safe-buffer": {
12754 "version": "5.1.2",
12755 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
12756 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
12757 "dev": true
12758 },
12759 "string_decoder": {
12760 "version": "1.1.1",
12761 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
12762 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
12763 "dev": true,
12764 "requires": {
12765 "safe-buffer": "~5.1.0"
12766 }
12767 },
12768 "through2": {
12769 "version": "2.0.5",
12770 "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
12771 "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
12772 "dev": true,
12773 "requires": {
12774 "readable-stream": "~2.3.6",
12775 "xtend": "~4.0.1"
12776 }
12777 }
10562 } 12778 }
10563 }, 12779 },
10564 "gulp-sass-variables": { 12780 "gulp-sass-variables": {
@@ -10569,6 +12785,48 @@
10569 "requires": { 12785 "requires": {
10570 "gulp-util": "^3.0.7", 12786 "gulp-util": "^3.0.7",
10571 "through2": "^2.0.1" 12787 "through2": "^2.0.1"
12788 },
12789 "dependencies": {
12790 "readable-stream": {
12791 "version": "2.3.6",
12792 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
12793 "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
12794 "dev": true,
12795 "requires": {
12796 "core-util-is": "~1.0.0",
12797 "inherits": "~2.0.3",
12798 "isarray": "~1.0.0",
12799 "process-nextick-args": "~2.0.0",
12800 "safe-buffer": "~5.1.1",
12801 "string_decoder": "~1.1.1",
12802 "util-deprecate": "~1.0.1"
12803 }
12804 },
12805 "safe-buffer": {
12806 "version": "5.1.2",
12807 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
12808 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
12809 "dev": true
12810 },
12811 "string_decoder": {
12812 "version": "1.1.1",
12813 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
12814 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
12815 "dev": true,
12816 "requires": {
12817 "safe-buffer": "~5.1.0"
12818 }
12819 },
12820 "through2": {
12821 "version": "2.0.5",
12822 "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
12823 "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
12824 "dev": true,
12825 "requires": {
12826 "readable-stream": "~2.3.6",
12827 "xtend": "~4.0.1"
12828 }
12829 }
10572 } 12830 }
10573 }, 12831 },
10574 "gulp-server-livereload": { 12832 "gulp-server-livereload": {
@@ -10653,9 +12911,9 @@
10653 } 12911 }
10654 }, 12912 },
10655 "xtend": { 12913 "xtend": {
10656 "version": "4.0.1", 12914 "version": "4.0.2",
10657 "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 12915 "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
10658 "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", 12916 "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
10659 "dev": true 12917 "dev": true
10660 } 12918 }
10661 } 12919 }
@@ -10722,12 +12980,12 @@
10722 } 12980 }
10723 }, 12981 },
10724 "graceful-fs": { 12982 "graceful-fs": {
10725 "version": "3.0.11", 12983 "version": "3.0.12",
10726 "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", 12984 "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.12.tgz",
10727 "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", 12985 "integrity": "sha512-J55gaCS4iTTJfTXIxSVw3EMQckcqkpdRv3IR7gu6sq0+tbC363Zx6KH/SEwXASK9JRbhyZmVjJEVJIOxYsB3Qg==",
10728 "dev": true, 12986 "dev": true,
10729 "requires": { 12987 "requires": {
10730 "natives": "^1.1.0" 12988 "natives": "^1.1.3"
10731 } 12989 }
10732 }, 12990 },
10733 "isarray": { 12991 "isarray": {
@@ -10840,9 +13098,9 @@
10840 } 13098 }
10841 }, 13099 },
10842 "xtend": { 13100 "xtend": {
10843 "version": "4.0.1", 13101 "version": "4.0.2",
10844 "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 13102 "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
10845 "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", 13103 "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
10846 "dev": true 13104 "dev": true
10847 } 13105 }
10848 } 13106 }
@@ -10852,11 +13110,70 @@
10852 "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", 13110 "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
10853 "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=", 13111 "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=",
10854 "dev": true 13112 "dev": true
13113 }
13114 }
13115 },
13116 "gulp-uglify": {
13117 "version": "3.0.2",
13118 "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.2.tgz",
13119 "integrity": "sha512-gk1dhB74AkV2kzqPMQBLA3jPoIAPd/nlNzP2XMDSG8XZrqnlCiDGAqC+rZOumzFvB5zOphlFh6yr3lgcAb/OOg==",
13120 "requires": {
13121 "array-each": "^1.0.1",
13122 "extend-shallow": "^3.0.2",
13123 "gulplog": "^1.0.0",
13124 "has-gulplog": "^0.1.0",
13125 "isobject": "^3.0.1",
13126 "make-error-cause": "^1.1.1",
13127 "safe-buffer": "^5.1.2",
13128 "through2": "^2.0.0",
13129 "uglify-js": "^3.0.5",
13130 "vinyl-sourcemaps-apply": "^0.2.0"
13131 },
13132 "dependencies": {
13133 "readable-stream": {
13134 "version": "2.3.6",
13135 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
13136 "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
13137 "requires": {
13138 "core-util-is": "~1.0.0",
13139 "inherits": "~2.0.3",
13140 "isarray": "~1.0.0",
13141 "process-nextick-args": "~2.0.0",
13142 "safe-buffer": "~5.1.1",
13143 "string_decoder": "~1.1.1",
13144 "util-deprecate": "~1.0.1"
13145 },
13146 "dependencies": {
13147 "safe-buffer": {
13148 "version": "5.1.2",
13149 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
13150 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
13151 }
13152 }
10855 }, 13153 },
10856 "yallist": { 13154 "string_decoder": {
10857 "version": "3.0.2", 13155 "version": "1.1.1",
10858 "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", 13156 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
10859 "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=" 13157 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
13158 "requires": {
13159 "safe-buffer": "~5.1.0"
13160 },
13161 "dependencies": {
13162 "safe-buffer": {
13163 "version": "5.1.2",
13164 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
13165 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
13166 }
13167 }
13168 },
13169 "through2": {
13170 "version": "2.0.5",
13171 "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
13172 "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
13173 "requires": {
13174 "readable-stream": "~2.3.6",
13175 "xtend": "~4.0.1"
13176 }
10860 } 13177 }
10861 } 13178 }
10862 }, 13179 },
@@ -10950,18 +13267,54 @@
10950 "lodash.escape": "^3.0.0" 13267 "lodash.escape": "^3.0.0"
10951 } 13268 }
10952 }, 13269 },
13270 "minimist": {
13271 "version": "1.2.0",
13272 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
13273 "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
13274 "dev": true
13275 },
10953 "object-assign": { 13276 "object-assign": {
10954 "version": "3.0.0", 13277 "version": "3.0.0",
10955 "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", 13278 "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
10956 "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", 13279 "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
10957 "dev": true 13280 "dev": true
10958 }, 13281 },
13282 "readable-stream": {
13283 "version": "2.3.6",
13284 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
13285 "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
13286 "dev": true,
13287 "requires": {
13288 "core-util-is": "~1.0.0",
13289 "inherits": "~2.0.3",
13290 "isarray": "~1.0.0",
13291 "process-nextick-args": "~2.0.0",
13292 "safe-buffer": "~5.1.1",
13293 "string_decoder": "~1.1.1",
13294 "util-deprecate": "~1.0.1"
13295 }
13296 },
10959 "replace-ext": { 13297 "replace-ext": {
10960 "version": "0.0.1", 13298 "version": "0.0.1",
10961 "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", 13299 "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
10962 "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", 13300 "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
10963 "dev": true 13301 "dev": true
10964 }, 13302 },
13303 "safe-buffer": {
13304 "version": "5.1.2",
13305 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
13306 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
13307 "dev": true
13308 },
13309 "string_decoder": {
13310 "version": "1.1.1",
13311 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
13312 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
13313 "dev": true,
13314 "requires": {
13315 "safe-buffer": "~5.1.0"
13316 }
13317 },
10965 "strip-ansi": { 13318 "strip-ansi": {
10966 "version": "3.0.1", 13319 "version": "3.0.1",
10967 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 13320 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
@@ -10977,6 +13330,16 @@
10977 "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 13330 "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
10978 "dev": true 13331 "dev": true
10979 }, 13332 },
13333 "through2": {
13334 "version": "2.0.5",
13335 "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
13336 "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
13337 "dev": true,
13338 "requires": {
13339 "readable-stream": "~2.3.6",
13340 "xtend": "~4.0.1"
13341 }
13342 },
10980 "vinyl": { 13343 "vinyl": {
10981 "version": "0.5.3", 13344 "version": "0.5.3",
10982 "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", 13345 "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
@@ -10994,7 +13357,6 @@
10994 "version": "1.0.0", 13357 "version": "1.0.0",
10995 "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", 13358 "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
10996 "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", 13359 "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
10997 "dev": true,
10998 "requires": { 13360 "requires": {
10999 "glogg": "^1.0.0" 13361 "glogg": "^1.0.0"
11000 } 13362 }
@@ -11006,39 +13368,26 @@
11006 "dev": true 13368 "dev": true
11007 }, 13369 },
11008 "handlebars": { 13370 "handlebars": {
11009 "version": "4.1.0", 13371 "version": "4.2.0",
11010 "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.0.tgz", 13372 "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.2.0.tgz",
11011 "integrity": "sha512-l2jRuU1NAWK6AW5qqcTATWQJvNPEwkM7NEKSiv/gqOsoSQbVoWyqVEY5GS+XPQ88zLNmqASRpzfdm8d79hJS+w==", 13373 "integrity": "sha512-Kb4xn5Qh1cxAKvQnzNWZ512DhABzyFNmsaJf3OAkWNa4NkaqWcNI8Tao8Tasi0/F4JD9oyG0YxuFyvyR57d+Gw==",
11012 "dev": true, 13374 "dev": true,
11013 "requires": { 13375 "requires": {
11014 "async": "^2.5.0", 13376 "neo-async": "^2.6.0",
11015 "optimist": "^0.6.1", 13377 "optimist": "^0.6.1",
11016 "source-map": "^0.6.1", 13378 "source-map": "^0.6.1",
11017 "uglify-js": "^3.1.4" 13379 "uglify-js": "^3.1.4"
11018 },
11019 "dependencies": {
11020 "async": {
11021 "version": "2.6.1",
11022 "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
11023 "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
11024 "dev": true,
11025 "requires": {
11026 "lodash": "^4.17.10"
11027 }
11028 }
11029 } 13380 }
11030 }, 13381 },
11031 "har-schema": { 13382 "har-schema": {
11032 "version": "2.0.0", 13383 "version": "2.0.0",
11033 "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", 13384 "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
11034 "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", 13385 "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
11035 "dev": true
11036 }, 13386 },
11037 "har-validator": { 13387 "har-validator": {
11038 "version": "5.1.3", 13388 "version": "5.1.3",
11039 "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", 13389 "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
11040 "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", 13390 "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
11041 "dev": true,
11042 "requires": { 13391 "requires": {
11043 "ajv": "^6.5.5", 13392 "ajv": "^6.5.5",
11044 "har-schema": "^2.0.0" 13393 "har-schema": "^2.0.0"
@@ -11096,14 +13445,12 @@
11096 "has-flag": { 13445 "has-flag": {
11097 "version": "3.0.0", 13446 "version": "3.0.0",
11098 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 13447 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
11099 "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 13448 "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
11100 "dev": true
11101 }, 13449 },
11102 "has-gulplog": { 13450 "has-gulplog": {
11103 "version": "0.1.0", 13451 "version": "0.1.0",
11104 "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", 13452 "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
11105 "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", 13453 "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
11106 "dev": true,
11107 "requires": { 13454 "requires": {
11108 "sparkles": "^1.0.0" 13455 "sparkles": "^1.0.0"
11109 } 13456 }
@@ -11117,14 +13464,12 @@
11117 "has-unicode": { 13464 "has-unicode": {
11118 "version": "2.0.1", 13465 "version": "2.0.1",
11119 "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", 13466 "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
11120 "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", 13467 "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
11121 "dev": true
11122 }, 13468 },
11123 "has-value": { 13469 "has-value": {
11124 "version": "1.0.0", 13470 "version": "1.0.0",
11125 "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", 13471 "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
11126 "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", 13472 "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
11127 "dev": true,
11128 "requires": { 13473 "requires": {
11129 "get-value": "^2.0.6", 13474 "get-value": "^2.0.6",
11130 "has-values": "^1.0.0", 13475 "has-values": "^1.0.0",
@@ -11135,7 +13480,6 @@
11135 "version": "1.0.0", 13480 "version": "1.0.0",
11136 "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", 13481 "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
11137 "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", 13482 "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
11138 "dev": true,
11139 "requires": { 13483 "requires": {
11140 "is-number": "^3.0.0", 13484 "is-number": "^3.0.0",
11141 "kind-of": "^4.0.0" 13485 "kind-of": "^4.0.0"
@@ -11145,7 +13489,6 @@
11145 "version": "4.0.0", 13489 "version": "4.0.0",
11146 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", 13490 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
11147 "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", 13491 "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
11148 "dev": true,
11149 "requires": { 13492 "requires": {
11150 "is-buffer": "^1.1.5" 13493 "is-buffer": "^1.1.5"
11151 } 13494 }
@@ -11178,11 +13521,20 @@
11178 "minimalistic-assert": "^1.0.1" 13521 "minimalistic-assert": "^1.0.1"
11179 } 13522 }
11180 }, 13523 },
13524 "hashids": {
13525 "version": "1.2.2",
13526 "resolved": "https://registry.npmjs.org/hashids/-/hashids-1.2.2.tgz",
13527 "integrity": "sha512-dEHCG2LraR6PNvSGxosZHIRgxF5sNLOIBFEHbj8lfP9WWmu/PWPMzsip1drdVSOFi51N2pU7gZavrgn7sbGFuw=="
13528 },
13529 "haye": {
13530 "version": "2.0.2",
13531 "resolved": "https://registry.npmjs.org/haye/-/haye-2.0.2.tgz",
13532 "integrity": "sha512-C+jeFipAuwLLmQziwQrXuHzUIihDzqoLpCpwDWYFQVCIyqi5ZvC+4YtzawPTmd1tIKo0ULf+4P0Mw8irUdXIpg=="
13533 },
11181 "he": { 13534 "he": {
11182 "version": "1.2.0", 13535 "version": "1.2.0",
11183 "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", 13536 "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
11184 "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", 13537 "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
11185 "dev": true
11186 }, 13538 },
11187 "hex-rgb": { 13539 "hex-rgb": {
11188 "version": "3.0.0", 13540 "version": "3.0.0",
@@ -11238,18 +13590,18 @@
11238 "dev": true 13590 "dev": true
11239 }, 13591 },
11240 "homedir-polyfill": { 13592 "homedir-polyfill": {
11241 "version": "1.0.1", 13593 "version": "1.0.3",
11242 "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", 13594 "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
11243 "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", 13595 "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
11244 "dev": true,
11245 "requires": { 13596 "requires": {
11246 "parse-passwd": "^1.0.0" 13597 "parse-passwd": "^1.0.0"
11247 } 13598 }
11248 }, 13599 },
11249 "hosted-git-info": { 13600 "hosted-git-info": {
11250 "version": "2.7.1", 13601 "version": "2.8.4",
11251 "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", 13602 "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz",
11252 "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==" 13603 "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==",
13604 "dev": true
11253 }, 13605 },
11254 "hpack.js": { 13606 "hpack.js": {
11255 "version": "2.1.6", 13607 "version": "2.1.6",
@@ -11278,6 +13630,12 @@
11278 "util-deprecate": "~1.0.1" 13630 "util-deprecate": "~1.0.1"
11279 } 13631 }
11280 }, 13632 },
13633 "safe-buffer": {
13634 "version": "5.1.2",
13635 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
13636 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
13637 "dev": true
13638 },
11281 "string_decoder": { 13639 "string_decoder": {
11282 "version": "1.1.1", 13640 "version": "1.1.1",
11283 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 13641 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -11313,7 +13671,6 @@
11313 "version": "3.5.21", 13671 "version": "3.5.21",
11314 "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", 13672 "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz",
11315 "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", 13673 "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==",
11316 "dev": true,
11317 "requires": { 13674 "requires": {
11318 "camel-case": "3.0.x", 13675 "camel-case": "3.0.x",
11319 "clean-css": "4.2.x", 13676 "clean-css": "4.2.x",
@@ -11327,8 +13684,23 @@
11327 "commander": { 13684 "commander": {
11328 "version": "2.17.1", 13685 "version": "2.17.1",
11329 "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", 13686 "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
11330 "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", 13687 "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg=="
11331 "dev": true 13688 },
13689 "uglify-js": {
13690 "version": "3.4.10",
13691 "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz",
13692 "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==",
13693 "requires": {
13694 "commander": "~2.19.0",
13695 "source-map": "~0.6.1"
13696 },
13697 "dependencies": {
13698 "commander": {
13699 "version": "2.19.0",
13700 "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz",
13701 "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg=="
13702 }
13703 }
11332 } 13704 }
11333 } 13705 }
11334 }, 13706 },
@@ -11347,22 +13719,22 @@
11347 } 13719 }
11348 }, 13720 },
11349 "htmlparser2": { 13721 "htmlparser2": {
11350 "version": "3.10.0", 13722 "version": "3.10.1",
11351 "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz", 13723 "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
11352 "integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==", 13724 "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
11353 "requires": { 13725 "requires": {
11354 "domelementtype": "^1.3.0", 13726 "domelementtype": "^1.3.1",
11355 "domhandler": "^2.3.0", 13727 "domhandler": "^2.3.0",
11356 "domutils": "^1.5.1", 13728 "domutils": "^1.5.1",
11357 "entities": "^1.1.1", 13729 "entities": "^1.1.1",
11358 "inherits": "^2.0.1", 13730 "inherits": "^2.0.1",
11359 "readable-stream": "^3.0.6" 13731 "readable-stream": "^3.1.1"
11360 } 13732 }
11361 }, 13733 },
11362 "http-cache-semantics": { 13734 "http-cache-semantics": {
11363 "version": "3.8.1", 13735 "version": "4.0.3",
11364 "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", 13736 "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz",
11365 "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", 13737 "integrity": "sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==",
11366 "dev": true 13738 "dev": true
11367 }, 13739 },
11368 "http-deceiver": { 13740 "http-deceiver": {
@@ -11372,40 +13744,52 @@
11372 "dev": true 13744 "dev": true
11373 }, 13745 },
11374 "http-errors": { 13746 "http-errors": {
11375 "version": "1.6.3", 13747 "version": "1.7.2",
11376 "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", 13748 "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
11377 "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", 13749 "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
11378 "dev": true,
11379 "requires": { 13750 "requires": {
11380 "depd": "~1.1.2", 13751 "depd": "~1.1.2",
11381 "inherits": "2.0.3", 13752 "inherits": "2.0.3",
11382 "setprototypeof": "1.1.0", 13753 "setprototypeof": "1.1.1",
11383 "statuses": ">= 1.4.0 < 2" 13754 "statuses": ">= 1.5.0 < 2",
13755 "toidentifier": "1.0.0"
11384 }, 13756 },
11385 "dependencies": { 13757 "dependencies": {
11386 "depd": { 13758 "depd": {
11387 "version": "1.1.2", 13759 "version": "1.1.2",
11388 "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", 13760 "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
11389 "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", 13761 "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
11390 "dev": true 13762 },
13763 "inherits": {
13764 "version": "2.0.3",
13765 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
13766 "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
11391 } 13767 }
11392 } 13768 }
11393 }, 13769 },
11394 "http-parser-js": { 13770 "http-parser-js": {
11395 "version": "0.5.0", 13771 "version": "0.4.10",
11396 "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", 13772 "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz",
11397 "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==", 13773 "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=",
11398 "dev": true 13774 "dev": true
11399 }, 13775 },
11400 "http-proxy": { 13776 "http-proxy": {
11401 "version": "1.17.0", 13777 "version": "1.18.0",
11402 "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", 13778 "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz",
11403 "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", 13779 "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==",
11404 "dev": true, 13780 "dev": true,
11405 "requires": { 13781 "requires": {
11406 "eventemitter3": "^3.0.0", 13782 "eventemitter3": "^4.0.0",
11407 "follow-redirects": "^1.0.0", 13783 "follow-redirects": "^1.0.0",
11408 "requires-port": "^1.0.0" 13784 "requires-port": "^1.0.0"
13785 },
13786 "dependencies": {
13787 "eventemitter3": {
13788 "version": "4.0.0",
13789 "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz",
13790 "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==",
13791 "dev": true
13792 }
11409 } 13793 }
11410 }, 13794 },
11411 "http-proxy-agent": { 13795 "http-proxy-agent": {
@@ -11425,15 +13809,13 @@
11425 "dev": true, 13809 "dev": true,
11426 "requires": { 13810 "requires": {
11427 "ms": "2.0.0" 13811 "ms": "2.0.0"
11428 },
11429 "dependencies": {
11430 "ms": {
11431 "version": "2.0.0",
11432 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
11433 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
11434 "dev": true
11435 }
11436 } 13812 }
13813 },
13814 "ms": {
13815 "version": "2.0.0",
13816 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
13817 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
13818 "dev": true
11437 } 13819 }
11438 } 13820 }
11439 }, 13821 },
@@ -11453,7 +13835,6 @@
11453 "version": "1.2.0", 13835 "version": "1.2.0",
11454 "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", 13836 "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
11455 "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", 13837 "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
11456 "dev": true,
11457 "requires": { 13838 "requires": {
11458 "assert-plus": "^1.0.0", 13839 "assert-plus": "^1.0.0",
11459 "jsprim": "^1.2.2", 13840 "jsprim": "^1.2.2",
@@ -11467,12 +13848,12 @@
11467 "dev": true 13848 "dev": true
11468 }, 13849 },
11469 "https-proxy-agent": { 13850 "https-proxy-agent": {
11470 "version": "2.2.1", 13851 "version": "2.2.2",
11471 "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", 13852 "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz",
11472 "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", 13853 "integrity": "sha512-c8Ndjc9Bkpfx/vCJueCPy0jlP4ccCCSNDp8xwCZzPjKJUm+B+u9WX2x98Qx4n1PiMNTWo3D7KK5ifNV/yJyRzg==",
11473 "dev": true, 13854 "dev": true,
11474 "requires": { 13855 "requires": {
11475 "agent-base": "^4.1.0", 13856 "agent-base": "^4.3.0",
11476 "debug": "^3.1.0" 13857 "debug": "^3.1.0"
11477 }, 13858 },
11478 "dependencies": { 13859 "dependencies": {
@@ -11484,12 +13865,6 @@
11484 "requires": { 13865 "requires": {
11485 "ms": "^2.1.1" 13866 "ms": "^2.1.1"
11486 } 13867 }
11487 },
11488 "ms": {
11489 "version": "2.1.1",
11490 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
11491 "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
11492 "dev": true
11493 } 13868 }
11494 } 13869 }
11495 }, 13870 },
@@ -11572,9 +13947,9 @@
11572 } 13947 }
11573 }, 13948 },
11574 "ieee754": { 13949 "ieee754": {
11575 "version": "1.1.12", 13950 "version": "1.1.13",
11576 "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", 13951 "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
11577 "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==", 13952 "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
11578 "dev": true 13953 "dev": true
11579 }, 13954 },
11580 "iferr": { 13955 "iferr": {
@@ -11590,10 +13965,9 @@
11590 "dev": true 13965 "dev": true
11591 }, 13966 },
11592 "ignore-walk": { 13967 "ignore-walk": {
11593 "version": "3.0.1", 13968 "version": "3.0.2",
11594 "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", 13969 "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.2.tgz",
11595 "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", 13970 "integrity": "sha512-EXyErtpHbn75ZTsOADsfx6J/FPo6/5cjev46PXrcTpd8z3BoRkXgYu9/JVqrI7tusjmwCZutGeRJeU0Wo1e4Cw==",
11596 "dev": true,
11597 "requires": { 13971 "requires": {
11598 "minimatch": "^3.0.4" 13972 "minimatch": "^3.0.4"
11599 } 13973 }
@@ -11632,13 +14006,24 @@
11632 "dev": true 14006 "dev": true
11633 }, 14007 },
11634 "import-local": { 14008 "import-local": {
11635 "version": "1.0.0", 14009 "version": "2.0.0",
11636 "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", 14010 "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
11637 "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", 14011 "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
11638 "dev": true, 14012 "dev": true,
11639 "requires": { 14013 "requires": {
11640 "pkg-dir": "^2.0.0", 14014 "pkg-dir": "^3.0.0",
11641 "resolve-cwd": "^2.0.0" 14015 "resolve-cwd": "^2.0.0"
14016 },
14017 "dependencies": {
14018 "pkg-dir": {
14019 "version": "3.0.0",
14020 "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
14021 "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
14022 "dev": true,
14023 "requires": {
14024 "find-up": "^3.0.0"
14025 }
14026 }
11642 } 14027 }
11643 }, 14028 },
11644 "imurmurhash": { 14029 "imurmurhash": {
@@ -11665,8 +14050,7 @@
11665 "indent-string": { 14050 "indent-string": {
11666 "version": "3.2.0", 14051 "version": "3.2.0",
11667 "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", 14052 "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
11668 "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", 14053 "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok="
11669 "dev": true
11670 }, 14054 },
11671 "indexof": { 14055 "indexof": {
11672 "version": "0.0.1", 14056 "version": "0.0.1",
@@ -11674,26 +14058,45 @@
11674 "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", 14058 "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
11675 "dev": true 14059 "dev": true
11676 }, 14060 },
14061 "indicative": {
14062 "version": "5.0.8",
14063 "resolved": "https://registry.npmjs.org/indicative/-/indicative-5.0.8.tgz",
14064 "integrity": "sha512-Do9YKlrxyvK6RpMs9AdtxmjhweKrA6hJbJejY81iD8aYjjvOU4HYkJcM2IUxC3S7ZRm/L11u67QT4OQ101N5HQ=="
14065 },
14066 "infer-owner": {
14067 "version": "1.0.4",
14068 "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
14069 "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
14070 "dev": true
14071 },
14072 "inflation": {
14073 "version": "2.0.0",
14074 "resolved": "https://registry.npmjs.org/inflation/-/inflation-2.0.0.tgz",
14075 "integrity": "sha1-i0F+R8KPklpFEz2RTKH9OJEH8w8="
14076 },
11677 "inflight": { 14077 "inflight": {
11678 "version": "1.0.6", 14078 "version": "1.0.6",
11679 "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 14079 "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
11680 "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 14080 "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
11681 "dev": true,
11682 "requires": { 14081 "requires": {
11683 "once": "^1.3.0", 14082 "once": "^1.3.0",
11684 "wrappy": "1" 14083 "wrappy": "1"
11685 } 14084 }
11686 }, 14085 },
14086 "info-symbol": {
14087 "version": "0.1.0",
14088 "resolved": "https://registry.npmjs.org/info-symbol/-/info-symbol-0.1.0.tgz",
14089 "integrity": "sha1-J4QdcoZ920JCzWEtecEGM4gcang="
14090 },
11687 "inherits": { 14091 "inherits": {
11688 "version": "2.0.3", 14092 "version": "2.0.4",
11689 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 14093 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
11690 "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" 14094 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
11691 }, 14095 },
11692 "ini": { 14096 "ini": {
11693 "version": "1.3.5", 14097 "version": "1.3.5",
11694 "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", 14098 "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
11695 "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", 14099 "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
11696 "dev": true
11697 }, 14100 },
11698 "init-package-json": { 14101 "init-package-json": {
11699 "version": "1.10.3", 14102 "version": "1.10.3",
@@ -11712,9 +14115,9 @@
11712 } 14115 }
11713 }, 14116 },
11714 "inquirer": { 14117 "inquirer": {
11715 "version": "6.2.2", 14118 "version": "6.5.2",
11716 "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.2.tgz", 14119 "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz",
11717 "integrity": "sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA==", 14120 "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==",
11718 "dev": true, 14121 "dev": true,
11719 "requires": { 14122 "requires": {
11720 "ansi-escapes": "^3.2.0", 14123 "ansi-escapes": "^3.2.0",
@@ -11723,28 +14126,28 @@
11723 "cli-width": "^2.0.0", 14126 "cli-width": "^2.0.0",
11724 "external-editor": "^3.0.3", 14127 "external-editor": "^3.0.3",
11725 "figures": "^2.0.0", 14128 "figures": "^2.0.0",
11726 "lodash": "^4.17.11", 14129 "lodash": "^4.17.12",
11727 "mute-stream": "0.0.7", 14130 "mute-stream": "0.0.7",
11728 "run-async": "^2.2.0", 14131 "run-async": "^2.2.0",
11729 "rxjs": "^6.4.0", 14132 "rxjs": "^6.4.0",
11730 "string-width": "^2.1.0", 14133 "string-width": "^2.1.0",
11731 "strip-ansi": "^5.0.0", 14134 "strip-ansi": "^5.1.0",
11732 "through": "^2.3.6" 14135 "through": "^2.3.6"
11733 }, 14136 },
11734 "dependencies": { 14137 "dependencies": {
11735 "ansi-regex": { 14138 "ansi-regex": {
11736 "version": "4.0.0", 14139 "version": "4.1.0",
11737 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz", 14140 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
11738 "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==", 14141 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
11739 "dev": true 14142 "dev": true
11740 }, 14143 },
11741 "strip-ansi": { 14144 "strip-ansi": {
11742 "version": "5.0.0", 14145 "version": "5.2.0",
11743 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz", 14146 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
11744 "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==", 14147 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
11745 "dev": true, 14148 "dev": true,
11746 "requires": { 14149 "requires": {
11747 "ansi-regex": "^4.0.0" 14150 "ansi-regex": "^4.1.0"
11748 } 14151 }
11749 } 14152 }
11750 } 14153 }
@@ -11762,13 +14165,12 @@
11762 "interpret": { 14165 "interpret": {
11763 "version": "1.2.0", 14166 "version": "1.2.0",
11764 "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", 14167 "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz",
11765 "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", 14168 "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw=="
11766 "dev": true
11767 }, 14169 },
11768 "intl-format-cache": { 14170 "intl-format-cache": {
11769 "version": "2.1.0", 14171 "version": "2.2.9",
11770 "resolved": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-2.1.0.tgz", 14172 "resolved": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-2.2.9.tgz",
11771 "integrity": "sha1-BKNp/sv61tpgBbrh8UMzMy3PkxY=" 14173 "integrity": "sha512-Zv/u8wRpekckv0cLkwpVdABYST4hZNTDaX7reFetrYTJwxExR2VyTqQm+l0WmL0Qo8Mjb9Tf33qnfj0T7pjxdQ=="
11772 }, 14174 },
11773 "intl-messageformat": { 14175 "intl-messageformat": {
11774 "version": "2.2.0", 14176 "version": "2.2.0",
@@ -11784,9 +14186,9 @@
11784 "integrity": "sha1-tD1FqXRoytvkQzHXS7Ho3qRPwHU=" 14186 "integrity": "sha1-tD1FqXRoytvkQzHXS7Ho3qRPwHU="
11785 }, 14187 },
11786 "intl-relativeformat": { 14188 "intl-relativeformat": {
11787 "version": "2.1.0", 14189 "version": "2.2.0",
11788 "resolved": "https://registry.npmjs.org/intl-relativeformat/-/intl-relativeformat-2.1.0.tgz", 14190 "resolved": "https://registry.npmjs.org/intl-relativeformat/-/intl-relativeformat-2.2.0.tgz",
11789 "integrity": "sha1-AQ8RBYAiUfQKxH0OPhogE0iiVd8=", 14191 "integrity": "sha512-4bV/7kSKaPEmu6ArxXf9xjv1ny74Zkwuey8Pm01NH4zggPP7JHwg2STk8Y3JdspCKRDriwIyLRfEXnj2ZLr4Bw==",
11790 "requires": { 14192 "requires": {
11791 "intl-messageformat": "^2.0.0" 14193 "intl-messageformat": "^2.0.0"
11792 } 14194 }
@@ -11824,10 +14226,9 @@
11824 "dev": true 14226 "dev": true
11825 }, 14227 },
11826 "ipaddr.js": { 14228 "ipaddr.js": {
11827 "version": "1.8.0", 14229 "version": "1.9.0",
11828 "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", 14230 "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz",
11829 "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=", 14231 "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA=="
11830 "dev": true
11831 }, 14232 },
11832 "is": { 14233 "is": {
11833 "version": "0.3.0", 14234 "version": "0.3.0",
@@ -11839,7 +14240,6 @@
11839 "version": "1.0.0", 14240 "version": "1.0.0",
11840 "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", 14241 "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
11841 "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", 14242 "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
11842 "dev": true,
11843 "requires": { 14243 "requires": {
11844 "is-relative": "^1.0.0", 14244 "is-relative": "^1.0.0",
11845 "is-windows": "^1.0.1" 14245 "is-windows": "^1.0.1"
@@ -11849,7 +14249,6 @@
11849 "version": "0.1.6", 14249 "version": "0.1.6",
11850 "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 14250 "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
11851 "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 14251 "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
11852 "dev": true,
11853 "requires": { 14252 "requires": {
11854 "kind-of": "^3.0.2" 14253 "kind-of": "^3.0.2"
11855 }, 14254 },
@@ -11858,18 +14257,31 @@
11858 "version": "3.2.2", 14257 "version": "3.2.2",
11859 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 14258 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
11860 "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 14259 "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
11861 "dev": true,
11862 "requires": { 14260 "requires": {
11863 "is-buffer": "^1.1.5" 14261 "is-buffer": "^1.1.5"
11864 } 14262 }
11865 } 14263 }
11866 } 14264 }
11867 }, 14265 },
14266 "is-arguments": {
14267 "version": "1.0.4",
14268 "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz",
14269 "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==",
14270 "dev": true
14271 },
11868 "is-arrayish": { 14272 "is-arrayish": {
11869 "version": "0.3.2", 14273 "version": "0.3.2",
11870 "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", 14274 "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
11871 "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" 14275 "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
11872 }, 14276 },
14277 "is-arrow-function": {
14278 "version": "2.0.3",
14279 "resolved": "https://registry.npmjs.org/is-arrow-function/-/is-arrow-function-2.0.3.tgz",
14280 "integrity": "sha1-Kb4sLY2UUIUri7r7Y1unuNjofsI=",
14281 "requires": {
14282 "is-callable": "^1.0.4"
14283 }
14284 },
11873 "is-binary-path": { 14285 "is-binary-path": {
11874 "version": "1.0.1", 14286 "version": "1.0.1",
11875 "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", 14287 "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
@@ -11882,14 +14294,12 @@
11882 "is-buffer": { 14294 "is-buffer": {
11883 "version": "1.1.6", 14295 "version": "1.1.6",
11884 "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 14296 "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
11885 "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", 14297 "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
11886 "dev": true
11887 }, 14298 },
11888 "is-callable": { 14299 "is-callable": {
11889 "version": "1.1.4", 14300 "version": "1.1.4",
11890 "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", 14301 "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
11891 "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", 14302 "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA=="
11892 "dev": true
11893 }, 14303 },
11894 "is-ci": { 14304 "is-ci": {
11895 "version": "2.0.0", 14305 "version": "2.0.0",
@@ -11904,7 +14314,6 @@
11904 "version": "0.1.4", 14314 "version": "0.1.4",
11905 "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 14315 "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
11906 "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 14316 "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
11907 "dev": true,
11908 "requires": { 14317 "requires": {
11909 "kind-of": "^3.0.2" 14318 "kind-of": "^3.0.2"
11910 }, 14319 },
@@ -11913,7 +14322,6 @@
11913 "version": "3.2.2", 14322 "version": "3.2.2",
11914 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 14323 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
11915 "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 14324 "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
11916 "dev": true,
11917 "requires": { 14325 "requires": {
11918 "is-buffer": "^1.1.5" 14326 "is-buffer": "^1.1.5"
11919 } 14327 }
@@ -11930,7 +14338,6 @@
11930 "version": "0.1.6", 14338 "version": "0.1.6",
11931 "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 14339 "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
11932 "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 14340 "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
11933 "dev": true,
11934 "requires": { 14341 "requires": {
11935 "is-accessor-descriptor": "^0.1.6", 14342 "is-accessor-descriptor": "^0.1.6",
11936 "is-data-descriptor": "^0.1.4", 14343 "is-data-descriptor": "^0.1.4",
@@ -11940,8 +14347,7 @@
11940 "kind-of": { 14347 "kind-of": {
11941 "version": "5.1.0", 14348 "version": "5.1.0",
11942 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 14349 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
11943 "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", 14350 "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
11944 "dev": true
11945 } 14351 }
11946 } 14352 }
11947 }, 14353 },
@@ -11969,14 +14375,12 @@
11969 "is-extendable": { 14375 "is-extendable": {
11970 "version": "0.1.1", 14376 "version": "0.1.1",
11971 "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 14377 "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
11972 "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", 14378 "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
11973 "dev": true
11974 }, 14379 },
11975 "is-extglob": { 14380 "is-extglob": {
11976 "version": "2.1.1", 14381 "version": "2.1.1",
11977 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 14382 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
11978 "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 14383 "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
11979 "dev": true
11980 }, 14384 },
11981 "is-finite": { 14385 "is-finite": {
11982 "version": "1.0.2", 14386 "version": "1.0.2",
@@ -12004,9 +14408,9 @@
12004 "dev": true 14408 "dev": true
12005 }, 14409 },
12006 "is-glob": { 14410 "is-glob": {
12007 "version": "4.0.0", 14411 "version": "4.0.1",
12008 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", 14412 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
12009 "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", 14413 "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
12010 "dev": true, 14414 "dev": true,
12011 "requires": { 14415 "requires": {
12012 "is-extglob": "^2.1.1" 14416 "is-extglob": "^2.1.1"
@@ -12043,7 +14447,6 @@
12043 "version": "3.0.0", 14447 "version": "3.0.0",
12044 "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 14448 "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
12045 "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 14449 "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
12046 "dev": true,
12047 "requires": { 14450 "requires": {
12048 "kind-of": "^3.0.2" 14451 "kind-of": "^3.0.2"
12049 }, 14452 },
@@ -12052,7 +14455,6 @@
12052 "version": "3.2.2", 14455 "version": "3.2.2",
12053 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 14456 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
12054 "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 14457 "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
12055 "dev": true,
12056 "requires": { 14458 "requires": {
12057 "is-buffer": "^1.1.5" 14459 "is-buffer": "^1.1.5"
12058 } 14460 }
@@ -12117,8 +14519,7 @@
12117 "is-promise": { 14519 "is-promise": {
12118 "version": "2.1.0", 14520 "version": "2.1.0",
12119 "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", 14521 "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
12120 "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", 14522 "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
12121 "dev": true
12122 }, 14523 },
12123 "is-regex": { 14524 "is-regex": {
12124 "version": "1.0.4", 14525 "version": "1.0.4",
@@ -12133,7 +14534,6 @@
12133 "version": "1.0.0", 14534 "version": "1.0.0",
12134 "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", 14535 "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
12135 "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", 14536 "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
12136 "dev": true,
12137 "requires": { 14537 "requires": {
12138 "is-unc-path": "^1.0.0" 14538 "is-unc-path": "^1.0.0"
12139 } 14539 }
@@ -12152,12 +14552,6 @@
12152 "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 14552 "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
12153 "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" 14553 "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
12154 }, 14554 },
12155 "is-subset": {
12156 "version": "0.1.1",
12157 "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz",
12158 "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=",
12159 "dev": true
12160 },
12161 "is-symbol": { 14555 "is-symbol": {
12162 "version": "1.0.2", 14556 "version": "1.0.2",
12163 "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", 14557 "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
@@ -12168,25 +14562,23 @@
12168 } 14562 }
12169 }, 14563 },
12170 "is-text-path": { 14564 "is-text-path": {
12171 "version": "1.0.1", 14565 "version": "2.0.0",
12172 "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", 14566 "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz",
12173 "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", 14567 "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==",
12174 "dev": true, 14568 "dev": true,
12175 "requires": { 14569 "requires": {
12176 "text-extensions": "^1.0.0" 14570 "text-extensions": "^2.0.0"
12177 } 14571 }
12178 }, 14572 },
12179 "is-typedarray": { 14573 "is-typedarray": {
12180 "version": "1.0.0", 14574 "version": "1.0.0",
12181 "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 14575 "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
12182 "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", 14576 "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
12183 "dev": true
12184 }, 14577 },
12185 "is-unc-path": { 14578 "is-unc-path": {
12186 "version": "1.0.0", 14579 "version": "1.0.0",
12187 "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", 14580 "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
12188 "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", 14581 "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
12189 "dev": true,
12190 "requires": { 14582 "requires": {
12191 "unc-path-regex": "^0.1.2" 14583 "unc-path-regex": "^0.1.2"
12192 } 14584 }
@@ -12206,8 +14598,7 @@
12206 "is-windows": { 14598 "is-windows": {
12207 "version": "1.0.2", 14599 "version": "1.0.2",
12208 "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", 14600 "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
12209 "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", 14601 "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
12210 "dev": true
12211 }, 14602 },
12212 "is-wsl": { 14603 "is-wsl": {
12213 "version": "1.1.0", 14604 "version": "1.1.0",
@@ -12235,8 +14626,7 @@
12235 "isexe": { 14626 "isexe": {
12236 "version": "2.0.0", 14627 "version": "2.0.0",
12237 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 14628 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
12238 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 14629 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
12239 "dev": true
12240 }, 14630 },
12241 "isobject": { 14631 "isobject": {
12242 "version": "3.0.1", 14632 "version": "3.0.1",
@@ -12250,119 +14640,62 @@
12250 "requires": { 14640 "requires": {
12251 "node-fetch": "^1.0.1", 14641 "node-fetch": "^1.0.1",
12252 "whatwg-fetch": ">=0.10.0" 14642 "whatwg-fetch": ">=0.10.0"
12253 }
12254 },
12255 "isstream": {
12256 "version": "0.1.2",
12257 "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
12258 "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
12259 "dev": true
12260 },
12261 "istanbul-api": {
12262 "version": "2.1.4",
12263 "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-2.1.4.tgz",
12264 "integrity": "sha512-aAFQL0HA2BLUl18XmTQ7H7CGKI58DtZFvvfmg6e+rA3iNFergvpi16czLV4CpI7HOImMeZ5mqI62dvSNVtUQVA==",
12265 "dev": true,
12266 "requires": {
12267 "async": "^2.6.1",
12268 "compare-versions": "^3.2.1",
12269 "fileset": "^2.0.3",
12270 "istanbul-lib-coverage": "^2.0.4",
12271 "istanbul-lib-hook": "^2.0.6",
12272 "istanbul-lib-instrument": "^3.2.0",
12273 "istanbul-lib-report": "^2.0.7",
12274 "istanbul-lib-source-maps": "^3.0.5",
12275 "istanbul-reports": "^2.2.2",
12276 "js-yaml": "^3.13.0",
12277 "make-dir": "^2.1.0",
12278 "minimatch": "^3.0.4",
12279 "once": "^1.4.0"
12280 }, 14643 },
12281 "dependencies": { 14644 "dependencies": {
12282 "async": { 14645 "node-fetch": {
12283 "version": "2.6.2", 14646 "version": "1.7.3",
12284 "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", 14647 "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
12285 "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", 14648 "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
12286 "dev": true,
12287 "requires": {
12288 "lodash": "^4.17.11"
12289 }
12290 },
12291 "js-yaml": {
12292 "version": "3.13.1",
12293 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
12294 "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
12295 "dev": true,
12296 "requires": {
12297 "argparse": "^1.0.7",
12298 "esprima": "^4.0.0"
12299 }
12300 },
12301 "make-dir": {
12302 "version": "2.1.0",
12303 "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
12304 "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
12305 "dev": true,
12306 "requires": { 14649 "requires": {
12307 "pify": "^4.0.1", 14650 "encoding": "^0.1.11",
12308 "semver": "^5.6.0" 14651 "is-stream": "^1.0.1"
12309 } 14652 }
12310 },
12311 "pify": {
12312 "version": "4.0.1",
12313 "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
12314 "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
12315 "dev": true
12316 } 14653 }
12317 } 14654 }
12318 }, 14655 },
14656 "isstream": {
14657 "version": "0.1.2",
14658 "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
14659 "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
14660 },
12319 "istanbul-lib-coverage": { 14661 "istanbul-lib-coverage": {
12320 "version": "2.0.4", 14662 "version": "2.0.5",
12321 "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", 14663 "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
12322 "integrity": "sha512-LXTBICkMARVgo579kWDm8SqfB6nvSDKNqIOBEjmJRnL04JvoMHCYGWaMddQnseJYtkEuEvO/sIcOxPLk9gERug==", 14664 "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
12323 "dev": true 14665 "dev": true
12324 }, 14666 },
12325 "istanbul-lib-hook": {
12326 "version": "2.0.6",
12327 "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.6.tgz",
12328 "integrity": "sha512-829DKONApZ7UCiPXcOYWSgkFXa4+vNYoNOt3F+4uDJLKL1OotAoVwvThoEj1i8jmOj7odbYcR3rnaHu+QroaXg==",
12329 "dev": true,
12330 "requires": {
12331 "append-transform": "^1.0.0"
12332 }
12333 },
12334 "istanbul-lib-instrument": { 14667 "istanbul-lib-instrument": {
12335 "version": "3.2.0", 14668 "version": "3.3.0",
12336 "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.2.0.tgz", 14669 "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz",
12337 "integrity": "sha512-06IM3xShbNW4NgZv5AP4QH0oHqf1/ivFo8eFys0ZjPXHGldHJQWb3riYOKXqmOqfxXBfxu4B+g/iuhOPZH0RJg==", 14670 "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==",
12338 "dev": true, 14671 "dev": true,
12339 "requires": { 14672 "requires": {
12340 "@babel/generator": "^7.0.0", 14673 "@babel/generator": "^7.4.0",
12341 "@babel/parser": "^7.0.0", 14674 "@babel/parser": "^7.4.3",
12342 "@babel/template": "^7.0.0", 14675 "@babel/template": "^7.4.0",
12343 "@babel/traverse": "^7.0.0", 14676 "@babel/traverse": "^7.4.3",
12344 "@babel/types": "^7.0.0", 14677 "@babel/types": "^7.4.0",
12345 "istanbul-lib-coverage": "^2.0.4", 14678 "istanbul-lib-coverage": "^2.0.5",
12346 "semver": "^6.0.0" 14679 "semver": "^6.0.0"
12347 }, 14680 },
12348 "dependencies": { 14681 "dependencies": {
12349 "semver": { 14682 "semver": {
12350 "version": "6.0.0", 14683 "version": "6.3.0",
12351 "resolved": "https://registry.npmjs.org/semver/-/semver-6.0.0.tgz", 14684 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
12352 "integrity": "sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ==", 14685 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
12353 "dev": true 14686 "dev": true
12354 } 14687 }
12355 } 14688 }
12356 }, 14689 },
12357 "istanbul-lib-report": { 14690 "istanbul-lib-report": {
12358 "version": "2.0.7", 14691 "version": "2.0.8",
12359 "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.7.tgz", 14692 "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz",
12360 "integrity": "sha512-wLH6beJBFbRBLiTlMOBxmb85cnVM1Vyl36N48e4e/aTKSM3WbOx7zbVIH1SQ537fhhsPbX0/C5JB4qsmyRXXyA==", 14693 "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==",
12361 "dev": true, 14694 "dev": true,
12362 "requires": { 14695 "requires": {
12363 "istanbul-lib-coverage": "^2.0.4", 14696 "istanbul-lib-coverage": "^2.0.5",
12364 "make-dir": "^2.1.0", 14697 "make-dir": "^2.1.0",
12365 "supports-color": "^6.0.0" 14698 "supports-color": "^6.1.0"
12366 }, 14699 },
12367 "dependencies": { 14700 "dependencies": {
12368 "make-dir": { 14701 "make-dir": {
@@ -12393,27 +14726,18 @@
12393 } 14726 }
12394 }, 14727 },
12395 "istanbul-lib-source-maps": { 14728 "istanbul-lib-source-maps": {
12396 "version": "3.0.5", 14729 "version": "3.0.6",
12397 "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.5.tgz", 14730 "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz",
12398 "integrity": "sha512-eDhZ7r6r1d1zQPVZehLc3D0K14vRba/eBYkz3rw16DLOrrTzve9RmnkcwrrkWVgO1FL3EK5knujVe5S8QHE9xw==", 14731 "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==",
12399 "dev": true, 14732 "dev": true,
12400 "requires": { 14733 "requires": {
12401 "debug": "^4.1.1", 14734 "debug": "^4.1.1",
12402 "istanbul-lib-coverage": "^2.0.4", 14735 "istanbul-lib-coverage": "^2.0.5",
12403 "make-dir": "^2.1.0", 14736 "make-dir": "^2.1.0",
12404 "rimraf": "^2.6.2", 14737 "rimraf": "^2.6.3",
12405 "source-map": "^0.6.1" 14738 "source-map": "^0.6.1"
12406 }, 14739 },
12407 "dependencies": { 14740 "dependencies": {
12408 "debug": {
12409 "version": "4.1.1",
12410 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
12411 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
12412 "dev": true,
12413 "requires": {
12414 "ms": "^2.1.1"
12415 }
12416 },
12417 "make-dir": { 14741 "make-dir": {
12418 "version": "2.1.0", 14742 "version": "2.1.0",
12419 "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", 14743 "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
@@ -12433,12 +14757,12 @@
12433 } 14757 }
12434 }, 14758 },
12435 "istanbul-reports": { 14759 "istanbul-reports": {
12436 "version": "2.2.2", 14760 "version": "2.2.6",
12437 "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.2.tgz", 14761 "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz",
12438 "integrity": "sha512-ZFuTdBQ3PSaPnm02aEA4R6mzQ2AF9w03CYiXADzWbbE48v/EFOWF4MaX4FT0NRdqIk48I7o0RPi+S8TMswaCbQ==", 14762 "integrity": "sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==",
12439 "dev": true, 14763 "dev": true,
12440 "requires": { 14764 "requires": {
12441 "handlebars": "^4.1.0" 14765 "handlebars": "^4.1.2"
12442 } 14766 }
12443 }, 14767 },
12444 "jest": { 14768 "jest": {
@@ -12451,225 +14775,295 @@
12451 "jest-cli": "^24.7.1" 14775 "jest-cli": "^24.7.1"
12452 }, 14776 },
12453 "dependencies": { 14777 "dependencies": {
12454 "import-local": { 14778 "ansi-regex": {
12455 "version": "2.0.0", 14779 "version": "4.1.0",
12456 "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", 14780 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
12457 "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", 14781 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
14782 "dev": true
14783 },
14784 "cliui": {
14785 "version": "5.0.0",
14786 "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
14787 "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
12458 "dev": true, 14788 "dev": true,
12459 "requires": { 14789 "requires": {
12460 "pkg-dir": "^3.0.0", 14790 "string-width": "^3.1.0",
12461 "resolve-cwd": "^2.0.0" 14791 "strip-ansi": "^5.2.0",
14792 "wrap-ansi": "^5.1.0"
12462 } 14793 }
12463 }, 14794 },
14795 "get-caller-file": {
14796 "version": "2.0.5",
14797 "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
14798 "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
14799 "dev": true
14800 },
12464 "jest-cli": { 14801 "jest-cli": {
12465 "version": "24.7.1", 14802 "version": "24.9.0",
12466 "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.7.1.tgz", 14803 "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz",
12467 "integrity": "sha512-32OBoSCVPzcTslGFl6yVCMzB2SqX3IrWwZCY5mZYkb0D2WsogmU3eV2o8z7+gRQa4o4sZPX/k7GU+II7CxM6WQ==", 14804 "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==",
12468 "dev": true, 14805 "dev": true,
12469 "requires": { 14806 "requires": {
12470 "@jest/core": "^24.7.1", 14807 "@jest/core": "^24.9.0",
12471 "@jest/test-result": "^24.7.1", 14808 "@jest/test-result": "^24.9.0",
12472 "@jest/types": "^24.7.0", 14809 "@jest/types": "^24.9.0",
12473 "chalk": "^2.0.1", 14810 "chalk": "^2.0.1",
12474 "exit": "^0.1.2", 14811 "exit": "^0.1.2",
12475 "import-local": "^2.0.0", 14812 "import-local": "^2.0.0",
12476 "is-ci": "^2.0.0", 14813 "is-ci": "^2.0.0",
12477 "jest-config": "^24.7.1", 14814 "jest-config": "^24.9.0",
12478 "jest-util": "^24.7.1", 14815 "jest-util": "^24.9.0",
12479 "jest-validate": "^24.7.0", 14816 "jest-validate": "^24.9.0",
12480 "prompts": "^2.0.1", 14817 "prompts": "^2.0.1",
12481 "realpath-native": "^1.1.0", 14818 "realpath-native": "^1.1.0",
12482 "yargs": "^12.0.2" 14819 "yargs": "^13.3.0"
12483 } 14820 }
12484 }, 14821 },
12485 "pkg-dir": { 14822 "require-main-filename": {
12486 "version": "3.0.0", 14823 "version": "2.0.0",
12487 "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", 14824 "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
12488 "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", 14825 "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
14826 "dev": true
14827 },
14828 "string-width": {
14829 "version": "3.1.0",
14830 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
14831 "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
12489 "dev": true, 14832 "dev": true,
12490 "requires": { 14833 "requires": {
12491 "find-up": "^3.0.0" 14834 "emoji-regex": "^7.0.1",
14835 "is-fullwidth-code-point": "^2.0.0",
14836 "strip-ansi": "^5.1.0"
14837 }
14838 },
14839 "strip-ansi": {
14840 "version": "5.2.0",
14841 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
14842 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
14843 "dev": true,
14844 "requires": {
14845 "ansi-regex": "^4.1.0"
14846 }
14847 },
14848 "wrap-ansi": {
14849 "version": "5.1.0",
14850 "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
14851 "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
14852 "dev": true,
14853 "requires": {
14854 "ansi-styles": "^3.2.0",
14855 "string-width": "^3.0.0",
14856 "strip-ansi": "^5.0.0"
14857 }
14858 },
14859 "yargs": {
14860 "version": "13.3.0",
14861 "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz",
14862 "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==",
14863 "dev": true,
14864 "requires": {
14865 "cliui": "^5.0.0",
14866 "find-up": "^3.0.0",
14867 "get-caller-file": "^2.0.1",
14868 "require-directory": "^2.1.1",
14869 "require-main-filename": "^2.0.0",
14870 "set-blocking": "^2.0.0",
14871 "string-width": "^3.0.0",
14872 "which-module": "^2.0.0",
14873 "y18n": "^4.0.0",
14874 "yargs-parser": "^13.1.1"
14875 }
14876 },
14877 "yargs-parser": {
14878 "version": "13.1.1",
14879 "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz",
14880 "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==",
14881 "dev": true,
14882 "requires": {
14883 "camelcase": "^5.0.0",
14884 "decamelize": "^1.2.0"
12492 } 14885 }
12493 } 14886 }
12494 } 14887 }
12495 }, 14888 },
12496 "jest-changed-files": { 14889 "jest-changed-files": {
12497 "version": "24.7.0", 14890 "version": "24.9.0",
12498 "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.7.0.tgz", 14891 "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz",
12499 "integrity": "sha512-33BgewurnwSfJrW7T5/ZAXGE44o7swLslwh8aUckzq2e17/2Os1V0QU506ZNik3hjs8MgnEMKNkcud442NCDTw==", 14892 "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==",
12500 "dev": true, 14893 "dev": true,
12501 "requires": { 14894 "requires": {
12502 "@jest/types": "^24.7.0", 14895 "@jest/types": "^24.9.0",
12503 "execa": "^1.0.0", 14896 "execa": "^1.0.0",
12504 "throat": "^4.0.0" 14897 "throat": "^4.0.0"
12505 } 14898 }
12506 }, 14899 },
12507 "jest-config": { 14900 "jest-config": {
12508 "version": "24.7.1", 14901 "version": "24.9.0",
12509 "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.7.1.tgz", 14902 "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz",
12510 "integrity": "sha512-8FlJNLI+X+MU37j7j8RE4DnJkvAghXmBWdArVzypW6WxfGuxiL/CCkzBg0gHtXhD2rxla3IMOSUAHylSKYJ83g==", 14903 "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==",
12511 "dev": true, 14904 "dev": true,
12512 "requires": { 14905 "requires": {
12513 "@babel/core": "^7.1.0", 14906 "@babel/core": "^7.1.0",
12514 "@jest/test-sequencer": "^24.7.1", 14907 "@jest/test-sequencer": "^24.9.0",
12515 "@jest/types": "^24.7.0", 14908 "@jest/types": "^24.9.0",
12516 "babel-jest": "^24.7.1", 14909 "babel-jest": "^24.9.0",
12517 "chalk": "^2.0.1", 14910 "chalk": "^2.0.1",
12518 "glob": "^7.1.1", 14911 "glob": "^7.1.1",
12519 "jest-environment-jsdom": "^24.7.1", 14912 "jest-environment-jsdom": "^24.9.0",
12520 "jest-environment-node": "^24.7.1", 14913 "jest-environment-node": "^24.9.0",
12521 "jest-get-type": "^24.3.0", 14914 "jest-get-type": "^24.9.0",
12522 "jest-jasmine2": "^24.7.1", 14915 "jest-jasmine2": "^24.9.0",
12523 "jest-regex-util": "^24.3.0", 14916 "jest-regex-util": "^24.3.0",
12524 "jest-resolve": "^24.7.1", 14917 "jest-resolve": "^24.9.0",
12525 "jest-util": "^24.7.1", 14918 "jest-util": "^24.9.0",
12526 "jest-validate": "^24.7.0", 14919 "jest-validate": "^24.9.0",
12527 "micromatch": "^3.1.10", 14920 "micromatch": "^3.1.10",
12528 "pretty-format": "^24.7.0", 14921 "pretty-format": "^24.9.0",
12529 "realpath-native": "^1.1.0" 14922 "realpath-native": "^1.1.0"
12530 } 14923 }
12531 }, 14924 },
12532 "jest-diff": { 14925 "jest-diff": {
12533 "version": "24.7.0", 14926 "version": "24.9.0",
12534 "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.7.0.tgz", 14927 "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz",
12535 "integrity": "sha512-ULQZ5B1lWpH70O4xsANC4tf4Ko6RrpwhE3PtG6ERjMg1TiYTC2Wp4IntJVGro6a8HG9luYHhhmF4grF0Pltckg==", 14928 "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==",
12536 "dev": true, 14929 "dev": true,
12537 "requires": { 14930 "requires": {
12538 "chalk": "^2.0.1", 14931 "chalk": "^2.0.1",
12539 "diff-sequences": "^24.3.0", 14932 "diff-sequences": "^24.9.0",
12540 "jest-get-type": "^24.3.0", 14933 "jest-get-type": "^24.9.0",
12541 "pretty-format": "^24.7.0" 14934 "pretty-format": "^24.9.0"
12542 } 14935 }
12543 }, 14936 },
12544 "jest-docblock": { 14937 "jest-docblock": {
12545 "version": "24.3.0", 14938 "version": "24.9.0",
12546 "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.3.0.tgz", 14939 "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz",
12547 "integrity": "sha512-nlANmF9Yq1dufhFlKG9rasfQlrY7wINJbo3q01tu56Jv5eBU5jirylhF2O5ZBnLxzOVBGRDz/9NAwNyBtG4Nyg==", 14940 "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==",
12548 "dev": true, 14941 "dev": true,
12549 "requires": { 14942 "requires": {
12550 "detect-newline": "^2.1.0" 14943 "detect-newline": "^2.1.0"
12551 } 14944 }
12552 }, 14945 },
12553 "jest-each": { 14946 "jest-each": {
12554 "version": "24.7.1", 14947 "version": "24.9.0",
12555 "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.7.1.tgz", 14948 "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz",
12556 "integrity": "sha512-4fsS8fEfLa3lfnI1Jw6NxjhyRTgfpuOVTeUZZFyVYqeTa4hPhr2YkToUhouuLTrL2eMGOfpbdMyRx0GQ/VooKA==", 14949 "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==",
12557 "dev": true, 14950 "dev": true,
12558 "requires": { 14951 "requires": {
12559 "@jest/types": "^24.7.0", 14952 "@jest/types": "^24.9.0",
12560 "chalk": "^2.0.1", 14953 "chalk": "^2.0.1",
12561 "jest-get-type": "^24.3.0", 14954 "jest-get-type": "^24.9.0",
12562 "jest-util": "^24.7.1", 14955 "jest-util": "^24.9.0",
12563 "pretty-format": "^24.7.0" 14956 "pretty-format": "^24.9.0"
12564 } 14957 }
12565 }, 14958 },
12566 "jest-environment-jsdom": { 14959 "jest-environment-jsdom": {
12567 "version": "24.7.1", 14960 "version": "24.9.0",
12568 "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.7.1.tgz", 14961 "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz",
12569 "integrity": "sha512-Gnhb+RqE2JuQGb3kJsLF8vfqjt3PHKSstq4Xc8ic+ax7QKo4Z0RWGucU3YV+DwKR3T9SYc+3YCUQEJs8r7+Jxg==", 14962 "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==",
12570 "dev": true, 14963 "dev": true,
12571 "requires": { 14964 "requires": {
12572 "@jest/environment": "^24.7.1", 14965 "@jest/environment": "^24.9.0",
12573 "@jest/fake-timers": "^24.7.1", 14966 "@jest/fake-timers": "^24.9.0",
12574 "@jest/types": "^24.7.0", 14967 "@jest/types": "^24.9.0",
12575 "jest-mock": "^24.7.0", 14968 "jest-mock": "^24.9.0",
12576 "jest-util": "^24.7.1", 14969 "jest-util": "^24.9.0",
12577 "jsdom": "^11.5.1" 14970 "jsdom": "^11.5.1"
12578 } 14971 }
12579 }, 14972 },
12580 "jest-environment-node": { 14973 "jest-environment-node": {
12581 "version": "24.7.1", 14974 "version": "24.9.0",
12582 "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.7.1.tgz", 14975 "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz",
12583 "integrity": "sha512-GJJQt1p9/C6aj6yNZMvovZuxTUd+BEJprETdvTKSb4kHcw4mFj8777USQV0FJoJ4V3djpOwA5eWyPwfq//PFBA==", 14976 "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==",
12584 "dev": true, 14977 "dev": true,
12585 "requires": { 14978 "requires": {
12586 "@jest/environment": "^24.7.1", 14979 "@jest/environment": "^24.9.0",
12587 "@jest/fake-timers": "^24.7.1", 14980 "@jest/fake-timers": "^24.9.0",
12588 "@jest/types": "^24.7.0", 14981 "@jest/types": "^24.9.0",
12589 "jest-mock": "^24.7.0", 14982 "jest-mock": "^24.9.0",
12590 "jest-util": "^24.7.1" 14983 "jest-util": "^24.9.0"
12591 } 14984 }
12592 }, 14985 },
12593 "jest-get-type": { 14986 "jest-get-type": {
12594 "version": "24.3.0", 14987 "version": "24.9.0",
12595 "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.3.0.tgz", 14988 "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz",
12596 "integrity": "sha512-HYF6pry72YUlVcvUx3sEpMRwXEWGEPlJ0bSPVnB3b3n++j4phUEoSPcS6GC0pPJ9rpyPSe4cb5muFo6D39cXow==", 14989 "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==",
12597 "dev": true 14990 "dev": true
12598 }, 14991 },
12599 "jest-haste-map": { 14992 "jest-haste-map": {
12600 "version": "24.7.1", 14993 "version": "24.9.0",
12601 "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.7.1.tgz", 14994 "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz",
12602 "integrity": "sha512-g0tWkzjpHD2qa03mTKhlydbmmYiA2KdcJe762SbfFo/7NIMgBWAA0XqQlApPwkWOF7Cxoi/gUqL0i6DIoLpMBw==", 14995 "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==",
12603 "dev": true, 14996 "dev": true,
12604 "requires": { 14997 "requires": {
12605 "@jest/types": "^24.7.0", 14998 "@jest/types": "^24.9.0",
12606 "anymatch": "^2.0.0", 14999 "anymatch": "^2.0.0",
12607 "fb-watchman": "^2.0.0", 15000 "fb-watchman": "^2.0.0",
12608 "fsevents": "^1.2.7", 15001 "fsevents": "^1.2.7",
12609 "graceful-fs": "^4.1.15", 15002 "graceful-fs": "^4.1.15",
12610 "invariant": "^2.2.4", 15003 "invariant": "^2.2.4",
12611 "jest-serializer": "^24.4.0", 15004 "jest-serializer": "^24.9.0",
12612 "jest-util": "^24.7.1", 15005 "jest-util": "^24.9.0",
12613 "jest-worker": "^24.6.0", 15006 "jest-worker": "^24.9.0",
12614 "micromatch": "^3.1.10", 15007 "micromatch": "^3.1.10",
12615 "sane": "^4.0.3", 15008 "sane": "^4.0.3",
12616 "walker": "^1.0.7" 15009 "walker": "^1.0.7"
12617 } 15010 }
12618 }, 15011 },
12619 "jest-jasmine2": { 15012 "jest-jasmine2": {
12620 "version": "24.7.1", 15013 "version": "24.9.0",
12621 "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.7.1.tgz", 15014 "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz",
12622 "integrity": "sha512-Y/9AOJDV1XS44wNwCaThq4Pw3gBPiOv/s6NcbOAkVRRUEPu+36L2xoPsqQXsDrxoBerqeyslpn2TpCI8Zr6J2w==", 15015 "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==",
12623 "dev": true, 15016 "dev": true,
12624 "requires": { 15017 "requires": {
12625 "@babel/traverse": "^7.1.0", 15018 "@babel/traverse": "^7.1.0",
12626 "@jest/environment": "^24.7.1", 15019 "@jest/environment": "^24.9.0",
12627 "@jest/test-result": "^24.7.1", 15020 "@jest/test-result": "^24.9.0",
12628 "@jest/types": "^24.7.0", 15021 "@jest/types": "^24.9.0",
12629 "chalk": "^2.0.1", 15022 "chalk": "^2.0.1",
12630 "co": "^4.6.0", 15023 "co": "^4.6.0",
12631 "expect": "^24.7.1", 15024 "expect": "^24.9.0",
12632 "is-generator-fn": "^2.0.0", 15025 "is-generator-fn": "^2.0.0",
12633 "jest-each": "^24.7.1", 15026 "jest-each": "^24.9.0",
12634 "jest-matcher-utils": "^24.7.0", 15027 "jest-matcher-utils": "^24.9.0",
12635 "jest-message-util": "^24.7.1", 15028 "jest-message-util": "^24.9.0",
12636 "jest-runtime": "^24.7.1", 15029 "jest-runtime": "^24.9.0",
12637 "jest-snapshot": "^24.7.1", 15030 "jest-snapshot": "^24.9.0",
12638 "jest-util": "^24.7.1", 15031 "jest-util": "^24.9.0",
12639 "pretty-format": "^24.7.0", 15032 "pretty-format": "^24.9.0",
12640 "throat": "^4.0.0" 15033 "throat": "^4.0.0"
12641 } 15034 }
12642 }, 15035 },
12643 "jest-leak-detector": { 15036 "jest-leak-detector": {
12644 "version": "24.7.0", 15037 "version": "24.9.0",
12645 "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.7.0.tgz", 15038 "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz",
12646 "integrity": "sha512-zV0qHKZGXtmPVVzT99CVEcHE9XDf+8LwiE0Ob7jjezERiGVljmqKFWpV2IkG+rkFIEUHFEkMiICu7wnoPM/RoQ==", 15039 "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==",
12647 "dev": true, 15040 "dev": true,
12648 "requires": { 15041 "requires": {
12649 "pretty-format": "^24.7.0" 15042 "jest-get-type": "^24.9.0",
15043 "pretty-format": "^24.9.0"
12650 } 15044 }
12651 }, 15045 },
12652 "jest-matcher-utils": { 15046 "jest-matcher-utils": {
12653 "version": "24.7.0", 15047 "version": "24.9.0",
12654 "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.7.0.tgz", 15048 "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz",
12655 "integrity": "sha512-158ieSgk3LNXeUhbVJYRXyTPSCqNgVXOp/GT7O94mYd3pk/8+odKTyR1JLtNOQSPzNi8NFYVONtvSWA/e1RDXg==", 15049 "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==",
12656 "dev": true, 15050 "dev": true,
12657 "requires": { 15051 "requires": {
12658 "chalk": "^2.0.1", 15052 "chalk": "^2.0.1",
12659 "jest-diff": "^24.7.0", 15053 "jest-diff": "^24.9.0",
12660 "jest-get-type": "^24.3.0", 15054 "jest-get-type": "^24.9.0",
12661 "pretty-format": "^24.7.0" 15055 "pretty-format": "^24.9.0"
12662 } 15056 }
12663 }, 15057 },
12664 "jest-message-util": { 15058 "jest-message-util": {
12665 "version": "24.7.1", 15059 "version": "24.9.0",
12666 "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.7.1.tgz", 15060 "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz",
12667 "integrity": "sha512-dk0gqVtyqezCHbcbk60CdIf+8UHgD+lmRHifeH3JRcnAqh4nEyPytSc9/L1+cQyxC+ceaeP696N4ATe7L+omcg==", 15061 "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==",
12668 "dev": true, 15062 "dev": true,
12669 "requires": { 15063 "requires": {
12670 "@babel/code-frame": "^7.0.0", 15064 "@babel/code-frame": "^7.0.0",
12671 "@jest/test-result": "^24.7.1", 15065 "@jest/test-result": "^24.9.0",
12672 "@jest/types": "^24.7.0", 15066 "@jest/types": "^24.9.0",
12673 "@types/stack-utils": "^1.0.1", 15067 "@types/stack-utils": "^1.0.1",
12674 "chalk": "^2.0.1", 15068 "chalk": "^2.0.1",
12675 "micromatch": "^3.1.10", 15069 "micromatch": "^3.1.10",
@@ -12678,12 +15072,12 @@
12678 } 15072 }
12679 }, 15073 },
12680 "jest-mock": { 15074 "jest-mock": {
12681 "version": "24.7.0", 15075 "version": "24.9.0",
12682 "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.7.0.tgz", 15076 "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz",
12683 "integrity": "sha512-6taW4B4WUcEiT2V9BbOmwyGuwuAFT2G8yghF7nyNW1/2gq5+6aTqSPcS9lS6ArvEkX55vbPAS/Jarx5LSm4Fng==", 15077 "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==",
12684 "dev": true, 15078 "dev": true,
12685 "requires": { 15079 "requires": {
12686 "@jest/types": "^24.7.0" 15080 "@jest/types": "^24.9.0"
12687 } 15081 }
12688 }, 15082 },
12689 "jest-pnp-resolver": { 15083 "jest-pnp-resolver": {
@@ -12693,18 +15087,18 @@
12693 "dev": true 15087 "dev": true
12694 }, 15088 },
12695 "jest-regex-util": { 15089 "jest-regex-util": {
12696 "version": "24.3.0", 15090 "version": "24.9.0",
12697 "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.3.0.tgz", 15091 "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz",
12698 "integrity": "sha512-tXQR1NEOyGlfylyEjg1ImtScwMq8Oh3iJbGTjN7p0J23EuVX1MA8rwU69K4sLbCmwzgCUbVkm0FkSF9TdzOhtg==", 15092 "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==",
12699 "dev": true 15093 "dev": true
12700 }, 15094 },
12701 "jest-resolve": { 15095 "jest-resolve": {
12702 "version": "24.7.1", 15096 "version": "24.9.0",
12703 "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.7.1.tgz", 15097 "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz",
12704 "integrity": "sha512-Bgrc+/UUZpGJ4323sQyj85hV9d+ANyPNu6XfRDUcyFNX1QrZpSoM0kE4Mb2vZMAYTJZsBFzYe8X1UaOkOELSbw==", 15098 "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==",
12705 "dev": true, 15099 "dev": true,
12706 "requires": { 15100 "requires": {
12707 "@jest/types": "^24.7.0", 15101 "@jest/types": "^24.9.0",
12708 "browser-resolve": "^1.11.3", 15102 "browser-resolve": "^1.11.3",
12709 "chalk": "^2.0.1", 15103 "chalk": "^2.0.1",
12710 "jest-pnp-resolver": "^1.2.1", 15104 "jest-pnp-resolver": "^1.2.1",
@@ -12712,111 +15106,210 @@
12712 } 15106 }
12713 }, 15107 },
12714 "jest-resolve-dependencies": { 15108 "jest-resolve-dependencies": {
12715 "version": "24.7.1", 15109 "version": "24.9.0",
12716 "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.7.1.tgz", 15110 "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz",
12717 "integrity": "sha512-2Eyh5LJB2liNzfk4eo7bD1ZyBbqEJIyyrFtZG555cSWW9xVHxII2NuOkSl1yUYTAYCAmM2f2aIT5A7HzNmubyg==", 15111 "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==",
12718 "dev": true, 15112 "dev": true,
12719 "requires": { 15113 "requires": {
12720 "@jest/types": "^24.7.0", 15114 "@jest/types": "^24.9.0",
12721 "jest-regex-util": "^24.3.0", 15115 "jest-regex-util": "^24.3.0",
12722 "jest-snapshot": "^24.7.1" 15116 "jest-snapshot": "^24.9.0"
12723 } 15117 }
12724 }, 15118 },
12725 "jest-runner": { 15119 "jest-runner": {
12726 "version": "24.7.1", 15120 "version": "24.9.0",
12727 "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.7.1.tgz", 15121 "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz",
12728 "integrity": "sha512-aNFc9liWU/xt+G9pobdKZ4qTeG/wnJrJna3VqunziDNsWT3EBpmxXZRBMKCsNMyfy+A/XHiV+tsMLufdsNdgCw==", 15122 "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==",
12729 "dev": true, 15123 "dev": true,
12730 "requires": { 15124 "requires": {
12731 "@jest/console": "^24.7.1", 15125 "@jest/console": "^24.7.1",
12732 "@jest/environment": "^24.7.1", 15126 "@jest/environment": "^24.9.0",
12733 "@jest/test-result": "^24.7.1", 15127 "@jest/test-result": "^24.9.0",
12734 "@jest/types": "^24.7.0", 15128 "@jest/types": "^24.9.0",
12735 "chalk": "^2.4.2", 15129 "chalk": "^2.4.2",
12736 "exit": "^0.1.2", 15130 "exit": "^0.1.2",
12737 "graceful-fs": "^4.1.15", 15131 "graceful-fs": "^4.1.15",
12738 "jest-config": "^24.7.1", 15132 "jest-config": "^24.9.0",
12739 "jest-docblock": "^24.3.0", 15133 "jest-docblock": "^24.3.0",
12740 "jest-haste-map": "^24.7.1", 15134 "jest-haste-map": "^24.9.0",
12741 "jest-jasmine2": "^24.7.1", 15135 "jest-jasmine2": "^24.9.0",
12742 "jest-leak-detector": "^24.7.0", 15136 "jest-leak-detector": "^24.9.0",
12743 "jest-message-util": "^24.7.1", 15137 "jest-message-util": "^24.9.0",
12744 "jest-resolve": "^24.7.1", 15138 "jest-resolve": "^24.9.0",
12745 "jest-runtime": "^24.7.1", 15139 "jest-runtime": "^24.9.0",
12746 "jest-util": "^24.7.1", 15140 "jest-util": "^24.9.0",
12747 "jest-worker": "^24.6.0", 15141 "jest-worker": "^24.6.0",
12748 "source-map-support": "^0.5.6", 15142 "source-map-support": "^0.5.6",
12749 "throat": "^4.0.0" 15143 "throat": "^4.0.0"
12750 } 15144 }
12751 }, 15145 },
12752 "jest-runtime": { 15146 "jest-runtime": {
12753 "version": "24.7.1", 15147 "version": "24.9.0",
12754 "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.7.1.tgz", 15148 "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz",
12755 "integrity": "sha512-0VAbyBy7tll3R+82IPJpf6QZkokzXPIS71aDeqh+WzPRXRCNz6StQ45otFariPdJ4FmXpDiArdhZrzNAC3sj6A==", 15149 "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==",
12756 "dev": true, 15150 "dev": true,
12757 "requires": { 15151 "requires": {
12758 "@jest/console": "^24.7.1", 15152 "@jest/console": "^24.7.1",
12759 "@jest/environment": "^24.7.1", 15153 "@jest/environment": "^24.9.0",
12760 "@jest/source-map": "^24.3.0", 15154 "@jest/source-map": "^24.3.0",
12761 "@jest/transform": "^24.7.1", 15155 "@jest/transform": "^24.9.0",
12762 "@jest/types": "^24.7.0", 15156 "@jest/types": "^24.9.0",
12763 "@types/yargs": "^12.0.2", 15157 "@types/yargs": "^13.0.0",
12764 "chalk": "^2.0.1", 15158 "chalk": "^2.0.1",
12765 "exit": "^0.1.2", 15159 "exit": "^0.1.2",
12766 "glob": "^7.1.3", 15160 "glob": "^7.1.3",
12767 "graceful-fs": "^4.1.15", 15161 "graceful-fs": "^4.1.15",
12768 "jest-config": "^24.7.1", 15162 "jest-config": "^24.9.0",
12769 "jest-haste-map": "^24.7.1", 15163 "jest-haste-map": "^24.9.0",
12770 "jest-message-util": "^24.7.1", 15164 "jest-message-util": "^24.9.0",
12771 "jest-mock": "^24.7.0", 15165 "jest-mock": "^24.9.0",
12772 "jest-regex-util": "^24.3.0", 15166 "jest-regex-util": "^24.3.0",
12773 "jest-resolve": "^24.7.1", 15167 "jest-resolve": "^24.9.0",
12774 "jest-snapshot": "^24.7.1", 15168 "jest-snapshot": "^24.9.0",
12775 "jest-util": "^24.7.1", 15169 "jest-util": "^24.9.0",
12776 "jest-validate": "^24.7.0", 15170 "jest-validate": "^24.9.0",
12777 "realpath-native": "^1.1.0", 15171 "realpath-native": "^1.1.0",
12778 "slash": "^2.0.0", 15172 "slash": "^2.0.0",
12779 "strip-bom": "^3.0.0", 15173 "strip-bom": "^3.0.0",
12780 "yargs": "^12.0.2" 15174 "yargs": "^13.3.0"
15175 },
15176 "dependencies": {
15177 "ansi-regex": {
15178 "version": "4.1.0",
15179 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
15180 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
15181 "dev": true
15182 },
15183 "cliui": {
15184 "version": "5.0.0",
15185 "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
15186 "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
15187 "dev": true,
15188 "requires": {
15189 "string-width": "^3.1.0",
15190 "strip-ansi": "^5.2.0",
15191 "wrap-ansi": "^5.1.0"
15192 }
15193 },
15194 "get-caller-file": {
15195 "version": "2.0.5",
15196 "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
15197 "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
15198 "dev": true
15199 },
15200 "require-main-filename": {
15201 "version": "2.0.0",
15202 "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
15203 "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
15204 "dev": true
15205 },
15206 "string-width": {
15207 "version": "3.1.0",
15208 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
15209 "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
15210 "dev": true,
15211 "requires": {
15212 "emoji-regex": "^7.0.1",
15213 "is-fullwidth-code-point": "^2.0.0",
15214 "strip-ansi": "^5.1.0"
15215 }
15216 },
15217 "strip-ansi": {
15218 "version": "5.2.0",
15219 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
15220 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
15221 "dev": true,
15222 "requires": {
15223 "ansi-regex": "^4.1.0"
15224 }
15225 },
15226 "wrap-ansi": {
15227 "version": "5.1.0",
15228 "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
15229 "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
15230 "dev": true,
15231 "requires": {
15232 "ansi-styles": "^3.2.0",
15233 "string-width": "^3.0.0",
15234 "strip-ansi": "^5.0.0"
15235 }
15236 },
15237 "yargs": {
15238 "version": "13.3.0",
15239 "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz",
15240 "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==",
15241 "dev": true,
15242 "requires": {
15243 "cliui": "^5.0.0",
15244 "find-up": "^3.0.0",
15245 "get-caller-file": "^2.0.1",
15246 "require-directory": "^2.1.1",
15247 "require-main-filename": "^2.0.0",
15248 "set-blocking": "^2.0.0",
15249 "string-width": "^3.0.0",
15250 "which-module": "^2.0.0",
15251 "y18n": "^4.0.0",
15252 "yargs-parser": "^13.1.1"
15253 }
15254 },
15255 "yargs-parser": {
15256 "version": "13.1.1",
15257 "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz",
15258 "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==",
15259 "dev": true,
15260 "requires": {
15261 "camelcase": "^5.0.0",
15262 "decamelize": "^1.2.0"
15263 }
15264 }
12781 } 15265 }
12782 }, 15266 },
12783 "jest-serializer": { 15267 "jest-serializer": {
12784 "version": "24.4.0", 15268 "version": "24.9.0",
12785 "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.4.0.tgz", 15269 "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz",
12786 "integrity": "sha512-k//0DtglVstc1fv+GY/VHDIjrtNjdYvYjMlbLUed4kxrE92sIUewOi5Hj3vrpB8CXfkJntRPDRjCrCvUhBdL8Q==", 15270 "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==",
12787 "dev": true 15271 "dev": true
12788 }, 15272 },
12789 "jest-snapshot": { 15273 "jest-snapshot": {
12790 "version": "24.7.1", 15274 "version": "24.9.0",
12791 "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.7.1.tgz", 15275 "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz",
12792 "integrity": "sha512-8Xk5O4p+JsZZn4RCNUS3pxA+ORKpEKepE+a5ejIKrId9CwrVN0NY+vkqEkXqlstA5NMBkNahXkR/4qEBy0t5yA==", 15276 "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==",
12793 "dev": true, 15277 "dev": true,
12794 "requires": { 15278 "requires": {
12795 "@babel/types": "^7.0.0", 15279 "@babel/types": "^7.0.0",
12796 "@jest/types": "^24.7.0", 15280 "@jest/types": "^24.9.0",
12797 "chalk": "^2.0.1", 15281 "chalk": "^2.0.1",
12798 "expect": "^24.7.1", 15282 "expect": "^24.9.0",
12799 "jest-diff": "^24.7.0", 15283 "jest-diff": "^24.9.0",
12800 "jest-matcher-utils": "^24.7.0", 15284 "jest-get-type": "^24.9.0",
12801 "jest-message-util": "^24.7.1", 15285 "jest-matcher-utils": "^24.9.0",
12802 "jest-resolve": "^24.7.1", 15286 "jest-message-util": "^24.9.0",
15287 "jest-resolve": "^24.9.0",
12803 "mkdirp": "^0.5.1", 15288 "mkdirp": "^0.5.1",
12804 "natural-compare": "^1.4.0", 15289 "natural-compare": "^1.4.0",
12805 "pretty-format": "^24.7.0", 15290 "pretty-format": "^24.9.0",
12806 "semver": "^5.5.0" 15291 "semver": "^6.2.0"
15292 },
15293 "dependencies": {
15294 "semver": {
15295 "version": "6.3.0",
15296 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
15297 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
15298 "dev": true
15299 }
12807 } 15300 }
12808 }, 15301 },
12809 "jest-util": { 15302 "jest-util": {
12810 "version": "24.7.1", 15303 "version": "24.9.0",
12811 "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.7.1.tgz", 15304 "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz",
12812 "integrity": "sha512-/KilOue2n2rZ5AnEBYoxOXkeTu6vi7cjgQ8MXEkih0oeAXT6JkS3fr7/j8+engCjciOU1Nq5loMSKe0A1oeX0A==", 15305 "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==",
12813 "dev": true, 15306 "dev": true,
12814 "requires": { 15307 "requires": {
12815 "@jest/console": "^24.7.1", 15308 "@jest/console": "^24.9.0",
12816 "@jest/fake-timers": "^24.7.1", 15309 "@jest/fake-timers": "^24.9.0",
12817 "@jest/source-map": "^24.3.0", 15310 "@jest/source-map": "^24.9.0",
12818 "@jest/test-result": "^24.7.1", 15311 "@jest/test-result": "^24.9.0",
12819 "@jest/types": "^24.7.0", 15312 "@jest/types": "^24.9.0",
12820 "callsites": "^3.0.0", 15313 "callsites": "^3.0.0",
12821 "chalk": "^2.0.1", 15314 "chalk": "^2.0.1",
12822 "graceful-fs": "^4.1.15", 15315 "graceful-fs": "^4.1.15",
@@ -12835,76 +15328,49 @@
12835 } 15328 }
12836 }, 15329 },
12837 "jest-validate": { 15330 "jest-validate": {
12838 "version": "24.7.0", 15331 "version": "24.9.0",
12839 "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.7.0.tgz", 15332 "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz",
12840 "integrity": "sha512-cgai/gts9B2chz1rqVdmLhzYxQbgQurh1PEQSvSgPZ8KGa1AqXsqC45W5wKEwzxKrWqypuQrQxnF4+G9VejJJA==", 15333 "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==",
12841 "dev": true, 15334 "dev": true,
12842 "requires": { 15335 "requires": {
12843 "@jest/types": "^24.7.0", 15336 "@jest/types": "^24.9.0",
12844 "camelcase": "^5.0.0", 15337 "camelcase": "^5.3.1",
12845 "chalk": "^2.0.1", 15338 "chalk": "^2.0.1",
12846 "jest-get-type": "^24.3.0", 15339 "jest-get-type": "^24.9.0",
12847 "leven": "^2.1.0", 15340 "leven": "^3.1.0",
12848 "pretty-format": "^24.7.0" 15341 "pretty-format": "^24.9.0"
12849 } 15342 }
12850 }, 15343 },
12851 "jest-watcher": { 15344 "jest-watcher": {
12852 "version": "24.7.1", 15345 "version": "24.9.0",
12853 "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.7.1.tgz", 15346 "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz",
12854 "integrity": "sha512-Wd6TepHLRHVKLNPacEsBwlp9raeBIO+01xrN24Dek4ggTS8HHnOzYSFnvp+6MtkkJ3KfMzy220KTi95e2rRkrw==", 15347 "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==",
12855 "dev": true, 15348 "dev": true,
12856 "requires": { 15349 "requires": {
12857 "@jest/test-result": "^24.7.1", 15350 "@jest/test-result": "^24.9.0",
12858 "@jest/types": "^24.7.0", 15351 "@jest/types": "^24.9.0",
12859 "@types/yargs": "^12.0.9", 15352 "@types/yargs": "^13.0.0",
12860 "ansi-escapes": "^3.0.0", 15353 "ansi-escapes": "^3.0.0",
12861 "chalk": "^2.0.1", 15354 "chalk": "^2.0.1",
12862 "jest-util": "^24.7.1", 15355 "jest-util": "^24.9.0",
12863 "string-length": "^2.0.0" 15356 "string-length": "^2.0.0"
12864 } 15357 }
12865 }, 15358 },
12866 "jest-worker": { 15359 "jest-worker": {
12867 "version": "24.6.0", 15360 "version": "24.9.0",
12868 "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.6.0.tgz", 15361 "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz",
12869 "integrity": "sha512-jDwgW5W9qGNvpI1tNnvajh0a5IE/PuGLFmHk6aR/BZFz8tSgGw17GsDPXAJ6p91IvYDjOw8GpFbvvZGAK+DPQQ==", 15362 "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==",
12870 "dev": true, 15363 "dev": true,
12871 "requires": { 15364 "requires": {
12872 "merge-stream": "^1.0.1", 15365 "merge-stream": "^2.0.0",
12873 "supports-color": "^6.1.0" 15366 "supports-color": "^6.1.0"
12874 }, 15367 },
12875 "dependencies": { 15368 "dependencies": {
12876 "merge-stream": { 15369 "merge-stream": {
12877 "version": "1.0.1", 15370 "version": "2.0.0",
12878 "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", 15371 "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
12879 "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", 15372 "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
12880 "dev": true, 15373 "dev": true
12881 "requires": {
12882 "readable-stream": "^2.0.1"
12883 }
12884 },
12885 "readable-stream": {
12886 "version": "2.3.6",
12887 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
12888 "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
12889 "dev": true,
12890 "requires": {
12891 "core-util-is": "~1.0.0",
12892 "inherits": "~2.0.3",
12893 "isarray": "~1.0.0",
12894 "process-nextick-args": "~2.0.0",
12895 "safe-buffer": "~5.1.1",
12896 "string_decoder": "~1.1.1",
12897 "util-deprecate": "~1.0.1"
12898 }
12899 },
12900 "string_decoder": {
12901 "version": "1.1.1",
12902 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
12903 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
12904 "dev": true,
12905 "requires": {
12906 "safe-buffer": "~5.1.0"
12907 }
12908 }, 15374 },
12909 "supports-color": { 15375 "supports-color": {
12910 "version": "6.1.0", 15376 "version": "6.1.0",
@@ -12935,9 +15401,9 @@
12935 "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 15401 "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
12936 }, 15402 },
12937 "js-yaml": { 15403 "js-yaml": {
12938 "version": "3.12.1", 15404 "version": "3.13.1",
12939 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz", 15405 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
12940 "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==", 15406 "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
12941 "requires": { 15407 "requires": {
12942 "argparse": "^1.0.7", 15408 "argparse": "^1.0.7",
12943 "esprima": "^4.0.0" 15409 "esprima": "^4.0.0"
@@ -12946,8 +15412,7 @@
12946 "jsbn": { 15412 "jsbn": {
12947 "version": "0.1.1", 15413 "version": "0.1.1",
12948 "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 15414 "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
12949 "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", 15415 "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
12950 "dev": true
12951 }, 15416 },
12952 "jsdom": { 15417 "jsdom": {
12953 "version": "11.12.0", 15418 "version": "11.12.0",
@@ -12989,17 +15454,6 @@
12989 "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", 15454 "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
12990 "dev": true 15455 "dev": true
12991 }, 15456 },
12992 "whatwg-url": {
12993 "version": "6.5.0",
12994 "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz",
12995 "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==",
12996 "dev": true,
12997 "requires": {
12998 "lodash.sortby": "^4.7.0",
12999 "tr46": "^1.0.1",
13000 "webidl-conversions": "^4.0.2"
13001 }
13002 },
13003 "ws": { 15457 "ws": {
13004 "version": "5.2.2", 15458 "version": "5.2.2",
13005 "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", 15459 "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz",
@@ -13023,6 +15477,28 @@
13023 "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", 15477 "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=",
13024 "dev": true 15478 "dev": true
13025 }, 15479 },
15480 "json-fixer": {
15481 "version": "1.3.3",
15482 "resolved": "https://registry.npmjs.org/json-fixer/-/json-fixer-1.3.3.tgz",
15483 "integrity": "sha512-+UpmAba1KuudCrsbw/oZyibEyAbhFkaDoG9RJcSQVMLdSd6LI1dlaKbYbFzx4O6u4WA7TiBYAXHdQs2bMFCbEw==",
15484 "dev": true,
15485 "requires": {
15486 "@babel/runtime": "^7.5.5",
15487 "chalk": "^2.4.2",
15488 "pegjs": "^0.10.0"
15489 },
15490 "dependencies": {
15491 "@babel/runtime": {
15492 "version": "7.6.0",
15493 "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.0.tgz",
15494 "integrity": "sha512-89eSBLJsxNxOERC0Op4vd+0Bqm6wRMqMbFtV3i0/fbaWw/mJ8Q3eBvgX0G4SyrOOLCtbu98HspF8o09MRT+KzQ==",
15495 "dev": true,
15496 "requires": {
15497 "regenerator-runtime": "^0.13.2"
15498 }
15499 }
15500 }
15501 },
13026 "json-parse-better-errors": { 15502 "json-parse-better-errors": {
13027 "version": "1.0.2", 15503 "version": "1.0.2",
13028 "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", 15504 "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
@@ -13032,14 +15508,12 @@
13032 "json-schema": { 15508 "json-schema": {
13033 "version": "0.2.3", 15509 "version": "0.2.3",
13034 "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", 15510 "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
13035 "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", 15511 "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
13036 "dev": true
13037 }, 15512 },
13038 "json-schema-traverse": { 15513 "json-schema-traverse": {
13039 "version": "0.4.1", 15514 "version": "0.4.1",
13040 "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 15515 "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
13041 "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 15516 "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
13042 "dev": true
13043 }, 15517 },
13044 "json-stable-stringify": { 15518 "json-stable-stringify": {
13045 "version": "1.0.1", 15519 "version": "1.0.1",
@@ -13059,8 +15533,7 @@
13059 "json-stringify-safe": { 15533 "json-stringify-safe": {
13060 "version": "5.0.1", 15534 "version": "5.0.1",
13061 "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 15535 "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
13062 "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", 15536 "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
13063 "dev": true
13064 }, 15537 },
13065 "json3": { 15538 "json3": {
13066 "version": "3.3.2", 15539 "version": "3.3.2",
@@ -13075,6 +15548,14 @@
13075 "dev": true, 15548 "dev": true,
13076 "requires": { 15549 "requires": {
13077 "minimist": "^1.2.0" 15550 "minimist": "^1.2.0"
15551 },
15552 "dependencies": {
15553 "minimist": {
15554 "version": "1.2.0",
15555 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
15556 "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
15557 "dev": true
15558 }
13078 } 15559 }
13079 }, 15560 },
13080 "jsonfile": { 15561 "jsonfile": {
@@ -13118,7 +15599,6 @@
13118 "version": "1.4.1", 15599 "version": "1.4.1",
13119 "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", 15600 "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
13120 "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", 15601 "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
13121 "dev": true,
13122 "requires": { 15602 "requires": {
13123 "assert-plus": "1.0.0", 15603 "assert-plus": "1.0.0",
13124 "extsprintf": "1.3.0", 15604 "extsprintf": "1.3.0",
@@ -13222,12 +15702,13 @@
13222 } 15702 }
13223 }, 15703 },
13224 "jsx-ast-utils": { 15704 "jsx-ast-utils": {
13225 "version": "2.0.1", 15705 "version": "2.2.1",
13226 "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz", 15706 "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz",
13227 "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=", 15707 "integrity": "sha512-v3FxCcAf20DayI+uxnCuw795+oOIkVu6EnJ1+kSzhqqTZHNkTZ7B66ZgLp4oLJ/gbA64cI0B7WRoHZMSRdyVRQ==",
13228 "dev": true, 15708 "dev": true,
13229 "requires": { 15709 "requires": {
13230 "array-includes": "^3.0.3" 15710 "array-includes": "^3.0.3",
15711 "object.assign": "^4.1.0"
13231 } 15712 }
13232 }, 15713 },
13233 "just-debounce": { 15714 "just-debounce": {
@@ -13261,6 +15742,15 @@
13261 "integrity": "sha1-P55JkK3K0MaGwOcB92RYaPdfkes=", 15742 "integrity": "sha1-P55JkK3K0MaGwOcB92RYaPdfkes=",
13262 "dev": true 15743 "dev": true
13263 }, 15744 },
15745 "keyboard-layout": {
15746 "version": "2.0.16",
15747 "resolved": "https://registry.npmjs.org/keyboard-layout/-/keyboard-layout-2.0.16.tgz",
15748 "integrity": "sha512-eGrxmlV6jbm/mbPEOpYGuH53XEC7wIUj9ZxKcT2z9QHJ/RwrT9iVkvxka9zRxqHZHwQzcffgsa5OxoVAKnhK9w==",
15749 "requires": {
15750 "event-kit": "^2.0.0",
15751 "nan": "^2.13.2"
15752 }
15753 },
13264 "keyv": { 15754 "keyv": {
13265 "version": "3.1.0", 15755 "version": "3.1.0",
13266 "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", 15756 "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
@@ -13279,8 +15769,7 @@
13279 "kind-of": { 15769 "kind-of": {
13280 "version": "6.0.2", 15770 "version": "6.0.2",
13281 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", 15771 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
13282 "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", 15772 "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
13283 "dev": true
13284 }, 15773 },
13285 "kleur": { 15774 "kleur": {
13286 "version": "3.0.3", 15775 "version": "3.0.3",
@@ -13288,6 +15777,106 @@
13288 "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", 15777 "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
13289 "dev": true 15778 "dev": true
13290 }, 15779 },
15780 "knex": {
15781 "version": "0.15.2",
15782 "resolved": "https://registry.npmjs.org/knex/-/knex-0.15.2.tgz",
15783 "integrity": "sha1-YFm4dIlgX0zIdZmm0qnSZXCek0A=",
15784 "requires": {
15785 "babel-runtime": "^6.26.0",
15786 "bluebird": "^3.5.1",
15787 "chalk": "2.3.2",
15788 "commander": "^2.16.0",
15789 "debug": "3.1.0",
15790 "inherits": "~2.0.3",
15791 "interpret": "^1.1.0",
15792 "liftoff": "2.5.0",
15793 "lodash": "^4.17.10",
15794 "minimist": "1.2.0",
15795 "mkdirp": "^0.5.1",
15796 "pg-connection-string": "2.0.0",
15797 "tarn": "^1.1.4",
15798 "tildify": "1.2.0",
15799 "uuid": "^3.3.2",
15800 "v8flags": "^3.1.1"
15801 },
15802 "dependencies": {
15803 "chalk": {
15804 "version": "2.3.2",
15805 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz",
15806 "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==",
15807 "requires": {
15808 "ansi-styles": "^3.2.1",
15809 "escape-string-regexp": "^1.0.5",
15810 "supports-color": "^5.3.0"
15811 }
15812 },
15813 "debug": {
15814 "version": "3.1.0",
15815 "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
15816 "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
15817 "requires": {
15818 "ms": "2.0.0"
15819 }
15820 },
15821 "findup-sync": {
15822 "version": "2.0.0",
15823 "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
15824 "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
15825 "requires": {
15826 "detect-file": "^1.0.0",
15827 "is-glob": "^3.1.0",
15828 "micromatch": "^3.0.4",
15829 "resolve-dir": "^1.0.1"
15830 }
15831 },
15832 "is-glob": {
15833 "version": "3.1.0",
15834 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
15835 "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
15836 "requires": {
15837 "is-extglob": "^2.1.0"
15838 }
15839 },
15840 "liftoff": {
15841 "version": "2.5.0",
15842 "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
15843 "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
15844 "requires": {
15845 "extend": "^3.0.0",
15846 "findup-sync": "^2.0.0",
15847 "fined": "^1.0.1",
15848 "flagged-respawn": "^1.0.0",
15849 "is-plain-object": "^2.0.4",
15850 "object.map": "^1.0.0",
15851 "rechoir": "^0.6.2",
15852 "resolve": "^1.1.7"
15853 }
15854 },
15855 "minimist": {
15856 "version": "1.2.0",
15857 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
15858 "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
15859 },
15860 "ms": {
15861 "version": "2.0.0",
15862 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
15863 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
15864 }
15865 }
15866 },
15867 "koalas": {
15868 "version": "1.0.2",
15869 "resolved": "https://registry.npmjs.org/koalas/-/koalas-1.0.2.tgz",
15870 "integrity": "sha1-MYQz8HQjXbePrlZhoCqMpT7ilc0="
15871 },
15872 "kuler": {
15873 "version": "1.0.1",
15874 "resolved": "https://registry.npmjs.org/kuler/-/kuler-1.0.1.tgz",
15875 "integrity": "sha512-J9nVUucG1p/skKul6DU3PUZrhs0LPulNaeUOox0IyXDi8S4CztTHs1gQphhuZmzXG7VOQSf6NJfKuzteQLv9gQ==",
15876 "requires": {
15877 "colornames": "^1.1.1"
15878 }
15879 },
13291 "last-run": { 15880 "last-run": {
13292 "version": "1.1.1", 15881 "version": "1.1.1",
13293 "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", 15882 "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz",
@@ -13307,10 +15896,18 @@
13307 "package-json": "^6.3.0" 15896 "package-json": "^6.3.0"
13308 } 15897 }
13309 }, 15898 },
15899 "lazy-cache": {
15900 "version": "2.0.2",
15901 "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
15902 "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
15903 "requires": {
15904 "set-getter": "^0.1.0"
15905 }
15906 },
13310 "lazy-val": { 15907 "lazy-val": {
13311 "version": "1.0.3", 15908 "version": "1.0.4",
13312 "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.3.tgz", 15909 "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.4.tgz",
13313 "integrity": "sha512-pjCf3BYk+uv3ZcPzEVM0BFvO9Uw58TmlrU0oG5tTrr9Kcid3+kdKxapH8CjdYmVa2nO5wOoZn2rdvZx2PKj/xg==" 15910 "integrity": "sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q=="
13314 }, 15911 },
13315 "lazystream": { 15912 "lazystream": {
13316 "version": "1.0.0", 15913 "version": "1.0.0",
@@ -13336,6 +15933,12 @@
13336 "util-deprecate": "~1.0.1" 15933 "util-deprecate": "~1.0.1"
13337 } 15934 }
13338 }, 15935 },
15936 "safe-buffer": {
15937 "version": "5.1.2",
15938 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
15939 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
15940 "dev": true
15941 },
13339 "string_decoder": { 15942 "string_decoder": {
13340 "version": "1.1.1", 15943 "version": "1.1.1",
13341 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 15944 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -13372,34 +15975,34 @@
13372 "dev": true 15975 "dev": true
13373 }, 15976 },
13374 "lerna": { 15977 "lerna": {
13375 "version": "3.11.1", 15978 "version": "3.16.4",
13376 "resolved": "https://registry.npmjs.org/lerna/-/lerna-3.11.1.tgz", 15979 "resolved": "https://registry.npmjs.org/lerna/-/lerna-3.16.4.tgz",
13377 "integrity": "sha512-7an/cia9u6qVTts5PQ/adFq8QSgE7gzG1pUHhH+XKVU1seDKQ99JLu61n3/euv2qeQF+ww4WLKnFHIPa5+LJSQ==", 15980 "integrity": "sha512-0HfwXIkqe72lBLZcNO9NMRfylh5Ng1l8tETgYQ260ZdHRbPuaLKE3Wqnd2YYRRkWfwPyEyZO8mZweBR+slVe1A==",
13378 "dev": true, 15981 "dev": true,
13379 "requires": { 15982 "requires": {
13380 "@lerna/add": "3.11.0", 15983 "@lerna/add": "3.16.2",
13381 "@lerna/bootstrap": "3.11.0", 15984 "@lerna/bootstrap": "3.16.2",
13382 "@lerna/changed": "3.11.1", 15985 "@lerna/changed": "3.16.4",
13383 "@lerna/clean": "3.11.0", 15986 "@lerna/clean": "3.16.0",
13384 "@lerna/cli": "3.11.0", 15987 "@lerna/cli": "3.13.0",
13385 "@lerna/create": "3.11.0", 15988 "@lerna/create": "3.16.0",
13386 "@lerna/diff": "3.11.0", 15989 "@lerna/diff": "3.16.0",
13387 "@lerna/exec": "3.11.0", 15990 "@lerna/exec": "3.16.0",
13388 "@lerna/import": "3.11.0", 15991 "@lerna/import": "3.16.0",
13389 "@lerna/init": "3.11.0", 15992 "@lerna/init": "3.16.0",
13390 "@lerna/link": "3.11.0", 15993 "@lerna/link": "3.16.2",
13391 "@lerna/list": "3.11.0", 15994 "@lerna/list": "3.16.0",
13392 "@lerna/publish": "3.11.1", 15995 "@lerna/publish": "3.16.4",
13393 "@lerna/run": "3.11.0", 15996 "@lerna/run": "3.16.0",
13394 "@lerna/version": "3.11.1", 15997 "@lerna/version": "3.16.4",
13395 "import-local": "^1.0.0", 15998 "import-local": "^2.0.0",
13396 "npmlog": "^4.1.2" 15999 "npmlog": "^4.1.2"
13397 } 16000 }
13398 }, 16001 },
13399 "leven": { 16002 "leven": {
13400 "version": "2.1.0", 16003 "version": "3.1.0",
13401 "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", 16004 "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
13402 "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", 16005 "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
13403 "dev": true 16006 "dev": true
13404 }, 16007 },
13405 "levn": { 16008 "levn": {
@@ -13412,59 +16015,14 @@
13412 "type-check": "~0.3.2" 16015 "type-check": "~0.3.2"
13413 } 16016 }
13414 }, 16017 },
13415 "libnpmaccess": {
13416 "version": "3.0.1",
13417 "resolved": "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-3.0.1.tgz",
13418 "integrity": "sha512-RlZ7PNarCBt+XbnP7R6PoVgOq9t+kou5rvhaInoNibhPO7eMlRfS0B8yjatgn2yaHIwWNyoJDolC/6Lc5L/IQA==",
13419 "dev": true,
13420 "requires": {
13421 "aproba": "^2.0.0",
13422 "get-stream": "^4.0.0",
13423 "npm-package-arg": "^6.1.0",
13424 "npm-registry-fetch": "^3.8.0"
13425 },
13426 "dependencies": {
13427 "aproba": {
13428 "version": "2.0.0",
13429 "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
13430 "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
13431 "dev": true
13432 }
13433 }
13434 },
13435 "libnpmpublish": {
13436 "version": "1.1.1",
13437 "resolved": "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-1.1.1.tgz",
13438 "integrity": "sha512-nefbvJd/wY38zdt+b9SHL6171vqBrMtZ56Gsgfd0duEKb/pB8rDT4/ObUQLrHz1tOfht1flt2zM+UGaemzAG5g==",
13439 "dev": true,
13440 "requires": {
13441 "aproba": "^2.0.0",
13442 "figgy-pudding": "^3.5.1",
13443 "get-stream": "^4.0.0",
13444 "lodash.clonedeep": "^4.5.0",
13445 "normalize-package-data": "^2.4.0",
13446 "npm-package-arg": "^6.1.0",
13447 "npm-registry-fetch": "^3.8.0",
13448 "semver": "^5.5.1",
13449 "ssri": "^6.0.1"
13450 },
13451 "dependencies": {
13452 "aproba": {
13453 "version": "2.0.0",
13454 "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
13455 "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
13456 "dev": true
13457 }
13458 }
13459 },
13460 "liftoff": { 16018 "liftoff": {
13461 "version": "2.5.0", 16019 "version": "3.1.0",
13462 "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", 16020 "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz",
13463 "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", 16021 "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==",
13464 "dev": true, 16022 "dev": true,
13465 "requires": { 16023 "requires": {
13466 "extend": "^3.0.0", 16024 "extend": "^3.0.0",
13467 "findup-sync": "^2.0.0", 16025 "findup-sync": "^3.0.0",
13468 "fined": "^1.0.1", 16026 "fined": "^1.0.1",
13469 "flagged-respawn": "^1.0.0", 16027 "flagged-respawn": "^1.0.0",
13470 "is-plain-object": "^2.0.4", 16028 "is-plain-object": "^2.0.4",
@@ -13479,6 +16037,11 @@
13479 "integrity": "sha512-J9tg5uraYoQKaWbmrzDDexbG6hHnMcWS1qLYgJSWE+mpA3U5OCSeMUhb+K55otgZJ34oFdR0ECvdIb3xuO5JOQ==", 16037 "integrity": "sha512-J9tg5uraYoQKaWbmrzDDexbG6hHnMcWS1qLYgJSWE+mpA3U5OCSeMUhb+K55otgZJ34oFdR0ECvdIb3xuO5JOQ==",
13480 "dev": true 16038 "dev": true
13481 }, 16039 },
16040 "linear-layout-vector": {
16041 "version": "0.0.1",
16042 "resolved": "https://registry.npmjs.org/linear-layout-vector/-/linear-layout-vector-0.0.1.tgz",
16043 "integrity": "sha1-OYEU1zA7bsx/1rJzr3uEAdi6nHA="
16044 },
13482 "load-json-file": { 16045 "load-json-file": {
13483 "version": "4.0.0", 16046 "version": "4.0.0",
13484 "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", 16047 "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
@@ -13492,9 +16055,9 @@
13492 } 16055 }
13493 }, 16056 },
13494 "loader-fs-cache": { 16057 "loader-fs-cache": {
13495 "version": "1.0.1", 16058 "version": "1.0.2",
13496 "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.1.tgz", 16059 "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.2.tgz",
13497 "integrity": "sha1-VuC/CL2XCLJqdltoUJhAyN7J/bw=", 16060 "integrity": "sha512-70IzT/0/L+M20jUlEqZhZyArTU6VKLRTYRDAYN26g4jfzpJqjipLL3/hgYpySqI9PwsVRHHFja0LfEmsx9X2Cw==",
13498 "dev": true, 16061 "dev": true,
13499 "requires": { 16062 "requires": {
13500 "find-cache-dir": "^0.1.1", 16063 "find-cache-dir": "^0.1.1",
@@ -13567,6 +16130,12 @@
13567 "requires": { 16130 "requires": {
13568 "minimist": "^1.2.0" 16131 "minimist": "^1.2.0"
13569 } 16132 }
16133 },
16134 "minimist": {
16135 "version": "1.2.0",
16136 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
16137 "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
16138 "dev": true
13570 } 16139 }
13571 } 16140 }
13572 }, 16141 },
@@ -13581,9 +16150,9 @@
13581 } 16150 }
13582 }, 16151 },
13583 "lodash": { 16152 "lodash": {
13584 "version": "4.17.11", 16153 "version": "4.17.15",
13585 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", 16154 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
13586 "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" 16155 "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
13587 }, 16156 },
13588 "lodash._basecopy": { 16157 "lodash._basecopy": {
13589 "version": "3.0.1", 16158 "version": "3.0.1",
@@ -13642,8 +16211,7 @@
13642 "lodash.assign": { 16211 "lodash.assign": {
13643 "version": "4.2.0", 16212 "version": "4.2.0",
13644 "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", 16213 "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
13645 "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", 16214 "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc="
13646 "dev": true
13647 }, 16215 },
13648 "lodash.camelcase": { 16216 "lodash.camelcase": {
13649 "version": "4.3.0", 16217 "version": "4.3.0",
@@ -13668,8 +16236,7 @@
13668 "lodash.get": { 16236 "lodash.get": {
13669 "version": "4.4.2", 16237 "version": "4.4.2",
13670 "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", 16238 "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
13671 "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", 16239 "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk="
13672 "dev": true
13673 }, 16240 },
13674 "lodash.includes": { 16241 "lodash.includes": {
13675 "version": "4.3.0", 16242 "version": "4.3.0",
@@ -13709,6 +16276,12 @@
13709 "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", 16276 "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
13710 "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" 16277 "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M="
13711 }, 16278 },
16279 "lodash.ismatch": {
16280 "version": "4.4.0",
16281 "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz",
16282 "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=",
16283 "dev": true
16284 },
13712 "lodash.isnumber": { 16285 "lodash.isnumber": {
13713 "version": "3.0.3", 16286 "version": "3.0.3",
13714 "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", 16287 "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz",
@@ -13742,9 +16315,9 @@
13742 "dev": true 16315 "dev": true
13743 }, 16316 },
13744 "lodash.mergewith": { 16317 "lodash.mergewith": {
13745 "version": "4.6.1", 16318 "version": "4.6.2",
13746 "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", 16319 "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz",
13747 "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==", 16320 "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==",
13748 "dev": true 16321 "dev": true
13749 }, 16322 },
13750 "lodash.once": { 16323 "lodash.once": {
@@ -13771,22 +16344,22 @@
13771 "dev": true 16344 "dev": true
13772 }, 16345 },
13773 "lodash.template": { 16346 "lodash.template": {
13774 "version": "4.4.0", 16347 "version": "4.5.0",
13775 "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", 16348 "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
13776 "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", 16349 "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==",
13777 "dev": true, 16350 "dev": true,
13778 "requires": { 16351 "requires": {
13779 "lodash._reinterpolate": "~3.0.0", 16352 "lodash._reinterpolate": "^3.0.0",
13780 "lodash.templatesettings": "^4.0.0" 16353 "lodash.templatesettings": "^4.0.0"
13781 } 16354 }
13782 }, 16355 },
13783 "lodash.templatesettings": { 16356 "lodash.templatesettings": {
13784 "version": "4.1.0", 16357 "version": "4.2.0",
13785 "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", 16358 "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz",
13786 "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", 16359 "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==",
13787 "dev": true, 16360 "dev": true,
13788 "requires": { 16361 "requires": {
13789 "lodash._reinterpolate": "~3.0.0" 16362 "lodash._reinterpolate": "^3.0.0"
13790 } 16363 }
13791 }, 16364 },
13792 "lodash.uniq": { 16365 "lodash.uniq": {
@@ -13795,6 +16368,15 @@
13795 "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", 16368 "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
13796 "dev": true 16369 "dev": true
13797 }, 16370 },
16371 "log-ok": {
16372 "version": "0.1.1",
16373 "resolved": "https://registry.npmjs.org/log-ok/-/log-ok-0.1.1.tgz",
16374 "integrity": "sha1-vqPdNqzQuKckDXhza1uXxlREozQ=",
16375 "requires": {
16376 "ansi-green": "^0.1.1",
16377 "success-symbol": "^0.1.0"
16378 }
16379 },
13798 "log-symbols": { 16380 "log-symbols": {
13799 "version": "2.2.0", 16381 "version": "2.2.0",
13800 "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", 16382 "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
@@ -13804,10 +16386,72 @@
13804 "chalk": "^2.0.1" 16386 "chalk": "^2.0.1"
13805 } 16387 }
13806 }, 16388 },
16389 "log-utils": {
16390 "version": "0.2.1",
16391 "resolved": "https://registry.npmjs.org/log-utils/-/log-utils-0.2.1.tgz",
16392 "integrity": "sha1-pMIXoN2aUFFdm5ICBgkas9TgMc8=",
16393 "requires": {
16394 "ansi-colors": "^0.2.0",
16395 "error-symbol": "^0.1.0",
16396 "info-symbol": "^0.1.0",
16397 "log-ok": "^0.1.1",
16398 "success-symbol": "^0.1.0",
16399 "time-stamp": "^1.0.1",
16400 "warning-symbol": "^0.1.0"
16401 },
16402 "dependencies": {
16403 "ansi-colors": {
16404 "version": "0.2.0",
16405 "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-0.2.0.tgz",
16406 "integrity": "sha1-csMd4qDZoszQysMMyYI+6y9kNLU=",
16407 "requires": {
16408 "ansi-bgblack": "^0.1.1",
16409 "ansi-bgblue": "^0.1.1",
16410 "ansi-bgcyan": "^0.1.1",
16411 "ansi-bggreen": "^0.1.1",
16412 "ansi-bgmagenta": "^0.1.1",
16413 "ansi-bgred": "^0.1.1",
16414 "ansi-bgwhite": "^0.1.1",
16415 "ansi-bgyellow": "^0.1.1",
16416 "ansi-black": "^0.1.1",
16417 "ansi-blue": "^0.1.1",
16418 "ansi-bold": "^0.1.1",
16419 "ansi-cyan": "^0.1.1",
16420 "ansi-dim": "^0.1.1",
16421 "ansi-gray": "^0.1.1",
16422 "ansi-green": "^0.1.1",
16423 "ansi-grey": "^0.1.1",
16424 "ansi-hidden": "^0.1.1",
16425 "ansi-inverse": "^0.1.1",
16426 "ansi-italic": "^0.1.1",
16427 "ansi-magenta": "^0.1.1",
16428 "ansi-red": "^0.1.1",
16429 "ansi-reset": "^0.1.1",
16430 "ansi-strikethrough": "^0.1.1",
16431 "ansi-underline": "^0.1.1",
16432 "ansi-white": "^0.1.1",
16433 "ansi-yellow": "^0.1.1",
16434 "lazy-cache": "^2.0.1"
16435 }
16436 }
16437 }
16438 },
16439 "logform": {
16440 "version": "2.1.2",
16441 "resolved": "https://registry.npmjs.org/logform/-/logform-2.1.2.tgz",
16442 "integrity": "sha512-+lZh4OpERDBLqjiwDLpAWNQu6KMjnlXH2ByZwCuSqVPJletw0kTWJf5CgSNAUKn1KUkv3m2cUz/LK8zyEy7wzQ==",
16443 "requires": {
16444 "colors": "^1.2.1",
16445 "fast-safe-stringify": "^2.0.4",
16446 "fecha": "^2.3.3",
16447 "ms": "^2.1.1",
16448 "triple-beam": "^1.3.0"
16449 }
16450 },
13807 "loglevel": { 16451 "loglevel": {
13808 "version": "1.6.1", 16452 "version": "1.6.4",
13809 "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz", 16453 "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.4.tgz",
13810 "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=", 16454 "integrity": "sha512-p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo/XffOGwZtRpUhr8dTH/x2oCMmEoIU0Zwm3ZauhvYD17g==",
13811 "dev": true 16455 "dev": true
13812 }, 16456 },
13813 "longest": { 16457 "longest": {
@@ -13837,8 +16481,7 @@
13837 "lower-case": { 16481 "lower-case": {
13838 "version": "1.1.4", 16482 "version": "1.1.4",
13839 "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", 16483 "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
13840 "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", 16484 "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw="
13841 "dev": true
13842 }, 16485 },
13843 "lowercase-keys": { 16486 "lowercase-keys": {
13844 "version": "1.0.1", 16487 "version": "1.0.1",
@@ -13850,7 +16493,6 @@
13850 "version": "4.1.5", 16493 "version": "4.1.5",
13851 "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", 16494 "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
13852 "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", 16495 "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
13853 "dev": true,
13854 "requires": { 16496 "requires": {
13855 "pseudomap": "^1.0.2", 16497 "pseudomap": "^1.0.2",
13856 "yallist": "^2.1.2" 16498 "yallist": "^2.1.2"
@@ -13859,11 +16501,18 @@
13859 "yallist": { 16501 "yallist": {
13860 "version": "2.1.2", 16502 "version": "2.1.2",
13861 "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", 16503 "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
13862 "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", 16504 "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
13863 "dev": true
13864 } 16505 }
13865 } 16506 }
13866 }, 16507 },
16508 "lru-queue": {
16509 "version": "0.1.0",
16510 "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
16511 "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=",
16512 "requires": {
16513 "es5-ext": "~0.10.2"
16514 }
16515 },
13867 "macos-notification-state": { 16516 "macos-notification-state": {
13868 "version": "1.3.1", 16517 "version": "1.3.1",
13869 "resolved": "https://registry.npmjs.org/macos-notification-state/-/macos-notification-state-1.3.1.tgz", 16518 "resolved": "https://registry.npmjs.org/macos-notification-state/-/macos-notification-state-1.3.1.tgz",
@@ -13871,21 +16520,29 @@
13871 "requires": { 16520 "requires": {
13872 "bindings": "^1.4.0", 16521 "bindings": "^1.4.0",
13873 "nan": "^2.13.2" 16522 "nan": "^2.13.2"
13874 },
13875 "dependencies": {
13876 "nan": {
13877 "version": "2.14.0",
13878 "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
13879 "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg=="
13880 }
13881 } 16523 }
13882 }, 16524 },
13883 "macos-release": { 16525 "macos-release": {
13884 "version": "2.0.0", 16526 "version": "2.3.0",
13885 "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.0.0.tgz", 16527 "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.3.0.tgz",
13886 "integrity": "sha512-iCM3ZGeqIzlrH7KxYK+fphlJpCCczyHXc+HhRVbEu9uNTCrzYJjvvtefzeKTCVHd5AP/aD/fzC80JZ4ZP+dQ/A==", 16528 "integrity": "sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA==",
13887 "dev": true 16529 "dev": true
13888 }, 16530 },
16531 "macroable": {
16532 "version": "1.0.0",
16533 "resolved": "https://registry.npmjs.org/macroable/-/macroable-1.0.0.tgz",
16534 "integrity": "sha1-I+Y0gyXG0GgqZQIfiL70CIve0WA=",
16535 "requires": {
16536 "node-exceptions": "^2.0.1"
16537 },
16538 "dependencies": {
16539 "node-exceptions": {
16540 "version": "2.0.2",
16541 "resolved": "https://registry.npmjs.org/node-exceptions/-/node-exceptions-2.0.2.tgz",
16542 "integrity": "sha512-nILccFLvnaOBoKZZtWfZipn/hlThZOT6UJOLX6SA3yLMYPcvLTIF26PXx73sPnAg45p05iYFYw2jvayNHz4rDA=="
16543 }
16544 }
16545 },
13889 "make-dir": { 16546 "make-dir": {
13890 "version": "1.3.0", 16547 "version": "1.3.0",
13891 "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", 16548 "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
@@ -13895,30 +16552,59 @@
13895 "pify": "^3.0.0" 16552 "pify": "^3.0.0"
13896 } 16553 }
13897 }, 16554 },
16555 "make-error": {
16556 "version": "1.3.5",
16557 "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz",
16558 "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g=="
16559 },
16560 "make-error-cause": {
16561 "version": "1.2.2",
16562 "resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz",
16563 "integrity": "sha1-3wOI/NCzeBbf8KX7gQiTl3fcvJ0=",
16564 "requires": {
16565 "make-error": "^1.2.0"
16566 }
16567 },
13898 "make-fetch-happen": { 16568 "make-fetch-happen": {
13899 "version": "4.0.1", 16569 "version": "5.0.0",
13900 "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-4.0.1.tgz", 16570 "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.0.tgz",
13901 "integrity": "sha512-7R5ivfy9ilRJ1EMKIOziwrns9fGeAD4bAha8EB7BIiBBLHm2KeTUGCrICFt2rbHfzheTLynv50GnNTK1zDTrcQ==", 16571 "integrity": "sha512-nFr/vpL1Jc60etMVKeaLOqfGjMMb3tAHFVJWxHOFCFS04Zmd7kGlMxo0l1tzfhoQje0/UPnd0X8OeGUiXXnfPA==",
13902 "dev": true, 16572 "dev": true,
13903 "requires": { 16573 "requires": {
13904 "agentkeepalive": "^3.4.1", 16574 "agentkeepalive": "^3.4.1",
13905 "cacache": "^11.0.1", 16575 "cacache": "^12.0.0",
13906 "http-cache-semantics": "^3.8.1", 16576 "http-cache-semantics": "^3.8.1",
13907 "http-proxy-agent": "^2.1.0", 16577 "http-proxy-agent": "^2.1.0",
13908 "https-proxy-agent": "^2.2.1", 16578 "https-proxy-agent": "^2.2.1",
13909 "lru-cache": "^4.1.2", 16579 "lru-cache": "^5.1.1",
13910 "mississippi": "^3.0.0", 16580 "mississippi": "^3.0.0",
13911 "node-fetch-npm": "^2.0.2", 16581 "node-fetch-npm": "^2.0.2",
13912 "promise-retry": "^1.1.1", 16582 "promise-retry": "^1.1.1",
13913 "socks-proxy-agent": "^4.0.0", 16583 "socks-proxy-agent": "^4.0.0",
13914 "ssri": "^6.0.0" 16584 "ssri": "^6.0.0"
16585 },
16586 "dependencies": {
16587 "http-cache-semantics": {
16588 "version": "3.8.1",
16589 "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
16590 "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==",
16591 "dev": true
16592 },
16593 "lru-cache": {
16594 "version": "5.1.1",
16595 "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
16596 "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
16597 "dev": true,
16598 "requires": {
16599 "yallist": "^3.0.2"
16600 }
16601 }
13915 } 16602 }
13916 }, 16603 },
13917 "make-iterator": { 16604 "make-iterator": {
13918 "version": "1.0.1", 16605 "version": "1.0.1",
13919 "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", 16606 "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
13920 "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", 16607 "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
13921 "dev": true,
13922 "requires": { 16608 "requires": {
13923 "kind-of": "^6.0.2" 16609 "kind-of": "^6.0.2"
13924 } 16610 }
@@ -13932,6 +16618,11 @@
13932 "tmpl": "1.0.x" 16618 "tmpl": "1.0.x"
13933 } 16619 }
13934 }, 16620 },
16621 "malevic": {
16622 "version": "0.16.3",
16623 "resolved": "https://registry.npmjs.org/malevic/-/malevic-0.16.3.tgz",
16624 "integrity": "sha512-/ekZOKILDitU6igF0zxkuTNLQgNTTs+NafyQ19RXwT+VKN9K3qTngQ+TdqcaZJbhSzRqVIXBw6iso6WV56QlhQ=="
16625 },
13935 "map-age-cleaner": { 16626 "map-age-cleaner": {
13936 "version": "0.1.3", 16627 "version": "0.1.3",
13937 "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", 16628 "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
@@ -13944,8 +16635,7 @@
13944 "map-cache": { 16635 "map-cache": {
13945 "version": "0.2.2", 16636 "version": "0.2.2",
13946 "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", 16637 "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
13947 "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", 16638 "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
13948 "dev": true
13949 }, 16639 },
13950 "map-obj": { 16640 "map-obj": {
13951 "version": "2.0.0", 16641 "version": "2.0.0",
@@ -13957,15 +16647,14 @@
13957 "version": "1.0.0", 16647 "version": "1.0.0",
13958 "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", 16648 "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
13959 "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", 16649 "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
13960 "dev": true,
13961 "requires": { 16650 "requires": {
13962 "object-visit": "^1.0.0" 16651 "object-visit": "^1.0.0"
13963 } 16652 }
13964 }, 16653 },
13965 "marked": { 16654 "marked": {
13966 "version": "0.6.1", 16655 "version": "0.7.0",
13967 "resolved": "https://registry.npmjs.org/marked/-/marked-0.6.1.tgz", 16656 "resolved": "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz",
13968 "integrity": "sha512-+H0L3ibcWhAZE02SKMqmvYsErLo4EAVJxu5h3bHBBDvvjeWXtl92rGUSBYHL2++5Y+RSNgl8dYOAXcYe7lp1fA==" 16657 "integrity": "sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg=="
13969 }, 16658 },
13970 "matchdep": { 16659 "matchdep": {
13971 "version": "2.0.0", 16660 "version": "2.0.0",
@@ -13977,6 +16666,29 @@
13977 "micromatch": "^3.0.4", 16666 "micromatch": "^3.0.4",
13978 "resolve": "^1.4.0", 16667 "resolve": "^1.4.0",
13979 "stack-trace": "0.0.10" 16668 "stack-trace": "0.0.10"
16669 },
16670 "dependencies": {
16671 "findup-sync": {
16672 "version": "2.0.0",
16673 "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
16674 "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
16675 "dev": true,
16676 "requires": {
16677 "detect-file": "^1.0.0",
16678 "is-glob": "^3.1.0",
16679 "micromatch": "^3.0.4",
16680 "resolve-dir": "^1.0.1"
16681 }
16682 },
16683 "is-glob": {
16684 "version": "3.1.0",
16685 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
16686 "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
16687 "dev": true,
16688 "requires": {
16689 "is-extglob": "^2.1.0"
16690 }
16691 }
13980 } 16692 }
13981 }, 16693 },
13982 "math-random": { 16694 "math-random": {
@@ -14001,23 +16713,42 @@
14001 "resolved": "https://registry.npmjs.org/mdi/-/mdi-1.9.33.tgz", 16713 "resolved": "https://registry.npmjs.org/mdi/-/mdi-1.9.33.tgz",
14002 "integrity": "sha1-PK9tlfxrgAYzYwvWK6DPH73msuI=" 16714 "integrity": "sha1-PK9tlfxrgAYzYwvWK6DPH73msuI="
14003 }, 16715 },
16716 "mdn-data": {
16717 "version": "1.1.4",
16718 "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz",
16719 "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA=="
16720 },
14004 "media-typer": { 16721 "media-typer": {
14005 "version": "0.3.0", 16722 "version": "0.3.0",
14006 "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 16723 "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
14007 "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", 16724 "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
14008 "dev": true
14009 }, 16725 },
14010 "mem": { 16726 "mem": {
14011 "version": "4.1.0", 16727 "version": "4.3.0",
14012 "resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz", 16728 "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz",
14013 "integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==", 16729 "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
14014 "dev": true, 16730 "dev": true,
14015 "requires": { 16731 "requires": {
14016 "map-age-cleaner": "^0.1.1", 16732 "map-age-cleaner": "^0.1.1",
14017 "mimic-fn": "^1.0.0", 16733 "mimic-fn": "^2.0.0",
14018 "p-is-promise": "^2.0.0" 16734 "p-is-promise": "^2.0.0"
14019 } 16735 }
14020 }, 16736 },
16737 "memoizee": {
16738 "version": "0.4.14",
16739 "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.14.tgz",
16740 "integrity": "sha512-/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg==",
16741 "requires": {
16742 "d": "1",
16743 "es5-ext": "^0.10.45",
16744 "es6-weak-map": "^2.0.2",
16745 "event-emitter": "^0.3.5",
16746 "is-promise": "^2.1",
16747 "lru-queue": "0.1",
16748 "next-tick": "1",
16749 "timers-ext": "^0.1.5"
16750 }
16751 },
14021 "memory-fs": { 16752 "memory-fs": {
14022 "version": "0.4.1", 16753 "version": "0.4.1",
14023 "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", 16754 "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
@@ -14043,6 +16774,12 @@
14043 "util-deprecate": "~1.0.1" 16774 "util-deprecate": "~1.0.1"
14044 } 16775 }
14045 }, 16776 },
16777 "safe-buffer": {
16778 "version": "5.1.2",
16779 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
16780 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
16781 "dev": true
16782 },
14046 "string_decoder": { 16783 "string_decoder": {
14047 "version": "1.1.1", 16784 "version": "1.1.1",
14048 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 16785 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -14069,6 +16806,14 @@
14069 "read-pkg-up": "^3.0.0", 16806 "read-pkg-up": "^3.0.0",
14070 "redent": "^2.0.0", 16807 "redent": "^2.0.0",
14071 "trim-newlines": "^2.0.0" 16808 "trim-newlines": "^2.0.0"
16809 },
16810 "dependencies": {
16811 "minimist": {
16812 "version": "1.2.0",
16813 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
16814 "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
16815 "dev": true
16816 }
14072 } 16817 }
14073 }, 16818 },
14074 "merge-descriptors": { 16819 "merge-descriptors": {
@@ -14123,9 +16868,9 @@
14123 } 16868 }
14124 }, 16869 },
14125 "merge2": { 16870 "merge2": {
14126 "version": "1.2.3", 16871 "version": "1.3.0",
14127 "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.3.tgz", 16872 "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz",
14128 "integrity": "sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA==", 16873 "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==",
14129 "dev": true 16874 "dev": true
14130 }, 16875 },
14131 "methods": { 16876 "methods": {
@@ -14138,7 +16883,6 @@
14138 "version": "3.1.10", 16883 "version": "3.1.10",
14139 "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", 16884 "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
14140 "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", 16885 "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
14141 "dev": true,
14142 "requires": { 16886 "requires": {
14143 "arr-diff": "^4.0.0", 16887 "arr-diff": "^4.0.0",
14144 "array-unique": "^0.3.2", 16888 "array-unique": "^0.3.2",
@@ -14166,15 +16910,15 @@
14166 } 16910 }
14167 }, 16911 },
14168 "mime": { 16912 "mime": {
14169 "version": "2.4.0", 16913 "version": "2.4.4",
14170 "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz", 16914 "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz",
14171 "integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==", 16915 "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==",
14172 "dev": true 16916 "dev": true
14173 }, 16917 },
14174 "mime-db": { 16918 "mime-db": {
14175 "version": "1.38.0", 16919 "version": "1.41.0",
14176 "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.38.0.tgz", 16920 "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.41.0.tgz",
14177 "integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg==" 16921 "integrity": "sha512-B5gxBI+2K431XW8C2rcc/lhppbuji67nf9v39eH8pkWoZDxnAL0PxdpH32KYRScniF8qDHBDlI+ipgg5WrCUYw=="
14178 }, 16922 },
14179 "mime-types": { 16923 "mime-types": {
14180 "version": "2.1.21", 16924 "version": "2.1.21",
@@ -14192,9 +16936,9 @@
14192 } 16936 }
14193 }, 16937 },
14194 "mimic-fn": { 16938 "mimic-fn": {
14195 "version": "1.2.0", 16939 "version": "2.1.0",
14196 "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", 16940 "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
14197 "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", 16941 "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
14198 "dev": true 16942 "dev": true
14199 }, 16943 },
14200 "mimic-response": { 16944 "mimic-response": {
@@ -14224,10 +16968,9 @@
14224 } 16968 }
14225 }, 16969 },
14226 "minimist": { 16970 "minimist": {
14227 "version": "1.2.0", 16971 "version": "0.0.8",
14228 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 16972 "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
14229 "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 16973 "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
14230 "dev": true
14231 }, 16974 },
14232 "minimist-options": { 16975 "minimist-options": {
14233 "version": "3.0.2", 16976 "version": "3.0.2",
@@ -14240,18 +16983,18 @@
14240 } 16983 }
14241 }, 16984 },
14242 "minipass": { 16985 "minipass": {
14243 "version": "2.3.5", 16986 "version": "2.6.5",
14244 "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz", 16987 "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.6.5.tgz",
14245 "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", 16988 "integrity": "sha512-ewSKOPFH9blOLXx0YSE+mbrNMBFPS+11a2b03QZ+P4LVrUHW/GAlqeYC7DBknDyMWkHzrzTpDhUvy7MUxqyrPA==",
14246 "requires": { 16989 "requires": {
14247 "safe-buffer": "^5.1.2", 16990 "safe-buffer": "^5.1.2",
14248 "yallist": "^3.0.0" 16991 "yallist": "^3.0.0"
14249 } 16992 }
14250 }, 16993 },
14251 "minizlib": { 16994 "minizlib": {
14252 "version": "1.2.1", 16995 "version": "1.2.2",
14253 "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz", 16996 "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.2.tgz",
14254 "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", 16997 "integrity": "sha512-hR3At21uSrsjjDTWrbu0IMLTpnkpv8IIMFDFaoz43Tmu4LkmAXfH44vNNzpTnf+OAQQCHrb91y/wc2J4x5XgSQ==",
14255 "requires": { 16998 "requires": {
14256 "minipass": "^2.2.1" 16999 "minipass": "^2.2.1"
14257 } 17000 }
@@ -14272,13 +17015,54 @@
14272 "pumpify": "^1.3.3", 17015 "pumpify": "^1.3.3",
14273 "stream-each": "^1.1.0", 17016 "stream-each": "^1.1.0",
14274 "through2": "^2.0.0" 17017 "through2": "^2.0.0"
17018 },
17019 "dependencies": {
17020 "readable-stream": {
17021 "version": "2.3.6",
17022 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
17023 "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
17024 "dev": true,
17025 "requires": {
17026 "core-util-is": "~1.0.0",
17027 "inherits": "~2.0.3",
17028 "isarray": "~1.0.0",
17029 "process-nextick-args": "~2.0.0",
17030 "safe-buffer": "~5.1.1",
17031 "string_decoder": "~1.1.1",
17032 "util-deprecate": "~1.0.1"
17033 }
17034 },
17035 "safe-buffer": {
17036 "version": "5.1.2",
17037 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
17038 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
17039 "dev": true
17040 },
17041 "string_decoder": {
17042 "version": "1.1.1",
17043 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
17044 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
17045 "dev": true,
17046 "requires": {
17047 "safe-buffer": "~5.1.0"
17048 }
17049 },
17050 "through2": {
17051 "version": "2.0.5",
17052 "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
17053 "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
17054 "dev": true,
17055 "requires": {
17056 "readable-stream": "~2.3.6",
17057 "xtend": "~4.0.1"
17058 }
17059 }
14275 } 17060 }
14276 }, 17061 },
14277 "mixin-deep": { 17062 "mixin-deep": {
14278 "version": "1.3.1", 17063 "version": "1.3.2",
14279 "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", 17064 "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
14280 "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", 17065 "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
14281 "dev": true,
14282 "requires": { 17066 "requires": {
14283 "for-in": "^1.0.2", 17067 "for-in": "^1.0.2",
14284 "is-extendable": "^1.0.1" 17068 "is-extendable": "^1.0.1"
@@ -14288,26 +17072,43 @@
14288 "version": "1.0.1", 17072 "version": "1.0.1",
14289 "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 17073 "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
14290 "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 17074 "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
14291 "dev": true,
14292 "requires": { 17075 "requires": {
14293 "is-plain-object": "^2.0.4" 17076 "is-plain-object": "^2.0.4"
14294 } 17077 }
14295 } 17078 }
14296 } 17079 }
14297 }, 17080 },
17081 "mixin-object": {
17082 "version": "2.0.1",
17083 "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz",
17084 "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=",
17085 "requires": {
17086 "for-in": "^0.1.3",
17087 "is-extendable": "^0.1.1"
17088 },
17089 "dependencies": {
17090 "for-in": {
17091 "version": "0.1.8",
17092 "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz",
17093 "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE="
17094 }
17095 }
17096 },
14298 "mkdirp": { 17097 "mkdirp": {
14299 "version": "0.5.1", 17098 "version": "0.5.1",
14300 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 17099 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
14301 "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 17100 "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
14302 "requires": { 17101 "requires": {
14303 "minimist": "0.0.8" 17102 "minimist": "0.0.8"
14304 }, 17103 }
14305 "dependencies": { 17104 },
14306 "minimist": { 17105 "mkdirp-promise": {
14307 "version": "0.0.8", 17106 "version": "5.0.1",
14308 "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 17107 "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz",
14309 "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" 17108 "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=",
14310 } 17109 "dev": true,
17110 "requires": {
17111 "mkdirp": "*"
14311 } 17112 }
14312 }, 17113 },
14313 "mobx": { 17114 "mobx": {
@@ -14383,14 +17184,6 @@
14383 "dev": true, 17184 "dev": true,
14384 "requires": { 17185 "requires": {
14385 "ms": "2.0.0" 17186 "ms": "2.0.0"
14386 },
14387 "dependencies": {
14388 "ms": {
14389 "version": "2.0.0",
14390 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
14391 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
14392 "dev": true
14393 }
14394 } 17187 }
14395 }, 17188 },
14396 "glob": { 17189 "glob": {
@@ -14413,6 +17206,12 @@
14413 "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", 17206 "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=",
14414 "dev": true 17207 "dev": true
14415 }, 17208 },
17209 "ms": {
17210 "version": "2.0.0",
17211 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
17212 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
17213 "dev": true
17214 },
14416 "supports-color": { 17215 "supports-color": {
14417 "version": "5.4.0", 17216 "version": "5.4.0",
14418 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", 17217 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
@@ -14476,15 +17275,49 @@
14476 "dev": true 17275 "dev": true
14477 }, 17276 },
14478 "multimatch": { 17277 "multimatch": {
14479 "version": "2.1.0", 17278 "version": "3.0.0",
14480 "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", 17279 "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-3.0.0.tgz",
14481 "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", 17280 "integrity": "sha512-22foS/gqQfANZ3o+W7ST2x25ueHDVNWl/b9OlGcLpy/iKxjCpvcNCM51YCenUi7Mt/jAjjqv8JwZRs8YP5sRjA==",
14482 "dev": true, 17281 "dev": true,
14483 "requires": { 17282 "requires": {
14484 "array-differ": "^1.0.0", 17283 "array-differ": "^2.0.3",
14485 "array-union": "^1.0.1", 17284 "array-union": "^1.0.2",
14486 "arrify": "^1.0.0", 17285 "arrify": "^1.0.1",
14487 "minimatch": "^3.0.0" 17286 "minimatch": "^3.0.4"
17287 },
17288 "dependencies": {
17289 "array-differ": {
17290 "version": "2.1.0",
17291 "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-2.1.0.tgz",
17292 "integrity": "sha512-KbUpJgx909ZscOc/7CLATBFam7P1Z1QRQInvgT0UztM9Q72aGKCunKASAl7WNW0tnPmPyEMeMhdsfWhfmW037w==",
17293 "dev": true
17294 }
17295 }
17296 },
17297 "multiparty": {
17298 "version": "4.2.1",
17299 "resolved": "https://registry.npmjs.org/multiparty/-/multiparty-4.2.1.tgz",
17300 "integrity": "sha512-AvESCnNoQlZiOfP9R4mxN8M9csy2L16EIbWIkt3l4FuGti9kXBS8QVzlfyg4HEnarJhrzZilgNFlZtqmoiAIIA==",
17301 "requires": {
17302 "fd-slicer": "1.1.0",
17303 "http-errors": "~1.7.0",
17304 "safe-buffer": "5.1.2",
17305 "uid-safe": "2.1.5"
17306 },
17307 "dependencies": {
17308 "fd-slicer": {
17309 "version": "1.1.0",
17310 "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
17311 "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
17312 "requires": {
17313 "pend": "~1.2.0"
17314 }
17315 },
17316 "safe-buffer": {
17317 "version": "5.1.2",
17318 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
17319 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
17320 }
14488 } 17321 }
14489 }, 17322 },
14490 "multipipe": { 17323 "multipipe": {
@@ -14496,6 +17329,11 @@
14496 "duplexer2": "0.0.2" 17329 "duplexer2": "0.0.2"
14497 } 17330 }
14498 }, 17331 },
17332 "mustache": {
17333 "version": "3.1.0",
17334 "resolved": "https://registry.npmjs.org/mustache/-/mustache-3.1.0.tgz",
17335 "integrity": "sha512-3Bxq1R5LBZp7fbFPZzFe5WN4s0q3+gxZaZuZVY+QctYJiCiVgXHOTIC0/HgZuOPFt/6BQcx5u0H2CUOxT/RoGQ=="
17336 },
14499 "mute-stdout": { 17337 "mute-stdout": {
14500 "version": "1.0.1", 17338 "version": "1.0.1",
14501 "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", 17339 "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz",
@@ -14505,24 +17343,33 @@
14505 "mute-stream": { 17343 "mute-stream": {
14506 "version": "0.0.7", 17344 "version": "0.0.7",
14507 "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", 17345 "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
14508 "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", 17346 "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s="
14509 "dev": true 17347 },
17348 "mz": {
17349 "version": "2.7.0",
17350 "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
17351 "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
17352 "dev": true,
17353 "requires": {
17354 "any-promise": "^1.0.0",
17355 "object-assign": "^4.0.1",
17356 "thenify-all": "^1.0.0"
17357 }
14510 }, 17358 },
14511 "nan": { 17359 "nan": {
14512 "version": "2.12.1", 17360 "version": "2.14.0",
14513 "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz", 17361 "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
14514 "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==" 17362 "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg=="
14515 }, 17363 },
14516 "nanoid": { 17364 "nanoid": {
14517 "version": "2.1.1", 17365 "version": "2.1.2",
14518 "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.1.tgz", 17366 "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.2.tgz",
14519 "integrity": "sha512-0YbJdaL4JFoejIOoawgLcYValFGJ2iyUuVDIWL3g8Es87SSOWFbWdRUMV3VMSiyPs3SQ3QxCIxFX00q5DLkMCw==" 17367 "integrity": "sha512-q0iKJHcLc9rZg/qtJ/ioG5s6/5357bqvkYCpqXJxpcyfK7L5us8+uJllZosqPWou7l6E1lY2Qqoq5ce+AMbFuQ=="
14520 }, 17368 },
14521 "nanomatch": { 17369 "nanomatch": {
14522 "version": "1.2.13", 17370 "version": "1.2.13",
14523 "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", 17371 "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
14524 "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", 17372 "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
14525 "dev": true,
14526 "requires": { 17373 "requires": {
14527 "arr-diff": "^4.0.0", 17374 "arr-diff": "^4.0.0",
14528 "array-unique": "^0.3.2", 17375 "array-unique": "^0.3.2",
@@ -14550,15 +17397,23 @@
14550 "dev": true 17397 "dev": true
14551 }, 17398 },
14552 "needle": { 17399 "needle": {
14553 "version": "2.2.4", 17400 "version": "2.4.0",
14554 "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.4.tgz", 17401 "resolved": "https://registry.npmjs.org/needle/-/needle-2.4.0.tgz",
14555 "integrity": "sha512-HyoqEb4wr/rsoaIDfTH2aVL9nWtQqba2/HvMv+++m8u0dz808MaagKILxtfeSN7QU7nvbQ79zk3vYOJp9zsNEA==", 17402 "integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==",
14556 "dev": true,
14557 "optional": true,
14558 "requires": { 17403 "requires": {
14559 "debug": "^2.1.2", 17404 "debug": "^3.2.6",
14560 "iconv-lite": "^0.4.4", 17405 "iconv-lite": "^0.4.4",
14561 "sax": "^1.2.4" 17406 "sax": "^1.2.4"
17407 },
17408 "dependencies": {
17409 "debug": {
17410 "version": "3.2.6",
17411 "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
17412 "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
17413 "requires": {
17414 "ms": "^2.1.1"
17415 }
17416 }
14562 } 17417 }
14563 }, 17418 },
14564 "negotiator": { 17419 "negotiator": {
@@ -14568,28 +17423,25 @@
14568 "dev": true 17423 "dev": true
14569 }, 17424 },
14570 "neo-async": { 17425 "neo-async": {
14571 "version": "2.6.0", 17426 "version": "2.6.1",
14572 "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", 17427 "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
14573 "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==", 17428 "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==",
14574 "dev": true 17429 "dev": true
14575 }, 17430 },
14576 "next-tick": { 17431 "next-tick": {
14577 "version": "1.0.0", 17432 "version": "1.0.0",
14578 "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", 17433 "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
14579 "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", 17434 "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
14580 "dev": true
14581 }, 17435 },
14582 "nice-try": { 17436 "nice-try": {
14583 "version": "1.0.5", 17437 "version": "1.0.5",
14584 "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 17438 "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
14585 "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", 17439 "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
14586 "dev": true
14587 }, 17440 },
14588 "no-case": { 17441 "no-case": {
14589 "version": "2.3.2", 17442 "version": "2.3.2",
14590 "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", 17443 "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
14591 "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", 17444 "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
14592 "dev": true,
14593 "requires": { 17445 "requires": {
14594 "lower-case": "^1.1.1" 17446 "lower-case": "^1.1.1"
14595 } 17447 }
@@ -14603,15 +17455,49 @@
14603 "semver": "^5.4.1" 17455 "semver": "^5.4.1"
14604 } 17456 }
14605 }, 17457 },
14606 "node-fetch": { 17458 "node-cookie": {
14607 "version": "1.7.3", 17459 "version": "2.1.1",
14608 "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", 17460 "resolved": "https://registry.npmjs.org/node-cookie/-/node-cookie-2.1.1.tgz",
14609 "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", 17461 "integrity": "sha512-NZG0AxjfMT7N421HUvgOu4ilLin2GpzUnHrETT3k8UyytQTnEWBH6KOyAP9LoMEeu+CvUdwMB5w4ZK3pohjswg==",
14610 "requires": { 17462 "requires": {
14611 "encoding": "^0.1.11", 17463 "cookie": "^0.3.1",
14612 "is-stream": "^1.0.1" 17464 "cookie-signature": "^1.1.0",
17465 "simple-encryptor": "^1.4.0"
17466 },
17467 "dependencies": {
17468 "cookie-signature": {
17469 "version": "1.1.0",
17470 "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.1.0.tgz",
17471 "integrity": "sha512-Alvs19Vgq07eunykd3Xy2jF0/qSNv2u7KDbAek9H5liV1UMijbqFs5cycZvv5dVsvseT/U4H8/7/w8Koh35C4A=="
17472 },
17473 "simple-encryptor": {
17474 "version": "1.4.0",
17475 "resolved": "https://registry.npmjs.org/simple-encryptor/-/simple-encryptor-1.4.0.tgz",
17476 "integrity": "sha512-g7UhXQ6flzimqzoaDqjGl5hBh4/+tJ4dtAIHaWhO9gtt+GkLRb3F/Xjv//XORFstkNxA+CFVzZJCLhs24NmrSQ==",
17477 "requires": {
17478 "scmp": "2.0.0"
17479 }
17480 }
14613 } 17481 }
14614 }, 17482 },
17483 "node-csp": {
17484 "version": "1.0.1",
17485 "resolved": "https://registry.npmjs.org/node-csp/-/node-csp-1.0.1.tgz",
17486 "integrity": "sha1-MF6yN3yY2oQVq7sDcW76HU6wznI=",
17487 "requires": {
17488 "platform": "^1.3.1"
17489 }
17490 },
17491 "node-exceptions": {
17492 "version": "3.0.0",
17493 "resolved": "https://registry.npmjs.org/node-exceptions/-/node-exceptions-3.0.0.tgz",
17494 "integrity": "sha512-pFhMAqdN1avrFwtZs66HxYiVnbnH9wjXB4m8IKs5Z9+r7U5voqxT+EDbVkRfge+V7JnkOgKhN4HfKBn1o5g9Wg=="
17495 },
17496 "node-fetch": {
17497 "version": "2.6.0",
17498 "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
17499 "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA=="
17500 },
14615 "node-fetch-npm": { 17501 "node-fetch-npm": {
14616 "version": "2.0.2", 17502 "version": "2.0.2",
14617 "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz", 17503 "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz",
@@ -14624,11 +17510,16 @@
14624 } 17510 }
14625 }, 17511 },
14626 "node-forge": { 17512 "node-forge": {
14627 "version": "0.7.5", 17513 "version": "0.8.2",
14628 "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", 17514 "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.8.2.tgz",
14629 "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==", 17515 "integrity": "sha512-mXQ9GBq1N3uDCyV1pdSzgIguwgtVpM7f5/5J4ipz12PKWElmPpVWLDuWl8iXmhysr21+WmX/OJ5UKx82wjomgg==",
14630 "dev": true 17516 "dev": true
14631 }, 17517 },
17518 "node-guard": {
17519 "version": "1.0.0",
17520 "resolved": "https://registry.npmjs.org/node-guard/-/node-guard-1.0.0.tgz",
17521 "integrity": "sha1-5FSb63kcOxyEJ1WlJztzvosICjQ="
17522 },
14632 "node-gyp": { 17523 "node-gyp": {
14633 "version": "3.8.0", 17524 "version": "3.8.0",
14634 "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", 17525 "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
@@ -14656,13 +17547,13 @@
14656 "dev": true 17547 "dev": true
14657 }, 17548 },
14658 "tar": { 17549 "tar": {
14659 "version": "2.2.1", 17550 "version": "2.2.2",
14660 "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", 17551 "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz",
14661 "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", 17552 "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==",
14662 "dev": true, 17553 "dev": true,
14663 "requires": { 17554 "requires": {
14664 "block-stream": "*", 17555 "block-stream": "*",
14665 "fstream": "^1.0.2", 17556 "fstream": "^1.0.12",
14666 "inherits": "2" 17557 "inherits": "2"
14667 } 17558 }
14668 } 17559 }
@@ -14675,9 +17566,9 @@
14675 "dev": true 17566 "dev": true
14676 }, 17567 },
14677 "node-libs-browser": { 17568 "node-libs-browser": {
14678 "version": "2.2.0", 17569 "version": "2.2.1",
14679 "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.0.tgz", 17570 "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
14680 "integrity": "sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA==", 17571 "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
14681 "dev": true, 17572 "dev": true,
14682 "requires": { 17573 "requires": {
14683 "assert": "^1.1.1", 17574 "assert": "^1.1.1",
@@ -14690,7 +17581,7 @@
14690 "events": "^3.0.0", 17581 "events": "^3.0.0",
14691 "https-browserify": "^1.0.0", 17582 "https-browserify": "^1.0.0",
14692 "os-browserify": "^0.3.0", 17583 "os-browserify": "^0.3.0",
14693 "path-browserify": "0.0.0", 17584 "path-browserify": "0.0.1",
14694 "process": "^0.11.10", 17585 "process": "^0.11.10",
14695 "punycode": "^1.2.4", 17586 "punycode": "^1.2.4",
14696 "querystring-es3": "^0.2.0", 17587 "querystring-es3": "^0.2.0",
@@ -14702,7 +17593,7 @@
14702 "tty-browserify": "0.0.0", 17593 "tty-browserify": "0.0.0",
14703 "url": "^0.11.0", 17594 "url": "^0.11.0",
14704 "util": "^0.11.0", 17595 "util": "^0.11.0",
14705 "vm-browserify": "0.0.4" 17596 "vm-browserify": "^1.0.1"
14706 }, 17597 },
14707 "dependencies": { 17598 "dependencies": {
14708 "punycode": { 17599 "punycode": {
@@ -14736,6 +17627,12 @@
14736 } 17627 }
14737 } 17628 }
14738 } 17629 }
17630 },
17631 "safe-buffer": {
17632 "version": "5.1.2",
17633 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
17634 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
17635 "dev": true
14739 } 17636 }
14740 } 17637 }
14741 }, 17638 },
@@ -14746,9 +17643,9 @@
14746 "dev": true 17643 "dev": true
14747 }, 17644 },
14748 "node-notifier": { 17645 "node-notifier": {
14749 "version": "5.4.0", 17646 "version": "5.4.3",
14750 "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.0.tgz", 17647 "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz",
14751 "integrity": "sha512-SUDEb+o71XR5lXSTyivXd9J7fCloE3SyP4lSgt3lU2oSANiox+SxlNRGPjDKrwU1YN3ix2KN/VGGCg0t01rttQ==", 17648 "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==",
14752 "dev": true, 17649 "dev": true,
14753 "requires": { 17650 "requires": {
14754 "growly": "^1.3.0", 17651 "growly": "^1.3.0",
@@ -14759,11 +17656,9 @@
14759 } 17656 }
14760 }, 17657 },
14761 "node-pre-gyp": { 17658 "node-pre-gyp": {
14762 "version": "0.10.3", 17659 "version": "0.11.0",
14763 "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz", 17660 "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz",
14764 "integrity": "sha512-d1xFs+C/IPS8Id0qPTZ4bUT8wWryfR/OzzAFxweG+uLN85oPzyo2Iw6bVlLQ/JOdgNonXLCoRyqDzDWq4iw72A==", 17661 "integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==",
14765 "dev": true,
14766 "optional": true,
14767 "requires": { 17662 "requires": {
14768 "detect-libc": "^1.0.2", 17663 "detect-libc": "^1.0.2",
14769 "mkdirp": "^0.5.1", 17664 "mkdirp": "^0.5.1",
@@ -14781,8 +17676,6 @@
14781 "version": "4.0.1", 17676 "version": "4.0.1",
14782 "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", 17677 "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
14783 "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", 17678 "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
14784 "dev": true,
14785 "optional": true,
14786 "requires": { 17679 "requires": {
14787 "abbrev": "1", 17680 "abbrev": "1",
14788 "osenv": "^0.1.4" 17681 "osenv": "^0.1.4"
@@ -14791,14 +17684,177 @@
14791 } 17684 }
14792 }, 17685 },
14793 "node-releases": { 17686 "node-releases": {
14794 "version": "1.1.7", 17687 "version": "1.1.32",
14795 "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.7.tgz", 17688 "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.32.tgz",
14796 "integrity": "sha512-bKdrwaqJUPHqlCzDD7so/R+Nk0jGv9a11ZhLrD9f6i947qGLrGAhU3OxRENa19QQmwzGy/g6zCDEuLGDO8HPvA==", 17689 "integrity": "sha512-VhVknkitq8dqtWoluagsGPn3dxTvN9fwgR59fV3D7sLBHe0JfDramsMI8n8mY//ccq/Kkrf8ZRHRpsyVZ3qw1A==",
14797 "dev": true, 17690 "dev": true,
14798 "requires": { 17691 "requires": {
14799 "semver": "^5.3.0" 17692 "semver": "^5.3.0"
14800 } 17693 }
14801 }, 17694 },
17695 "node-req": {
17696 "version": "2.1.2",
17697 "resolved": "https://registry.npmjs.org/node-req/-/node-req-2.1.2.tgz",
17698 "integrity": "sha512-zJqZ03vs0oHN8u+wn7kUT/vj63jQdQvNYWjbRMGNVu7ijV3mVz8UwX7pJl7LUugOT2x8vBKasKqbUqnh6GDKMQ==",
17699 "requires": {
17700 "accepts": "^1.3.5",
17701 "fresh": "^0.5.2",
17702 "parseurl": "^1.3.2",
17703 "proxy-addr": "^2.0.4",
17704 "qs": "^6.5.2",
17705 "type-is": "^1.6.16"
17706 },
17707 "dependencies": {
17708 "accepts": {
17709 "version": "1.3.7",
17710 "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
17711 "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
17712 "requires": {
17713 "mime-types": "~2.1.24",
17714 "negotiator": "0.6.2"
17715 }
17716 },
17717 "fresh": {
17718 "version": "0.5.2",
17719 "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
17720 "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
17721 },
17722 "mime-db": {
17723 "version": "1.40.0",
17724 "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
17725 "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA=="
17726 },
17727 "mime-types": {
17728 "version": "2.1.24",
17729 "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
17730 "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
17731 "requires": {
17732 "mime-db": "1.40.0"
17733 }
17734 },
17735 "negotiator": {
17736 "version": "0.6.2",
17737 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
17738 "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
17739 }
17740 }
17741 },
17742 "node-res": {
17743 "version": "4.1.4",
17744 "resolved": "https://registry.npmjs.org/node-res/-/node-res-4.1.4.tgz",
17745 "integrity": "sha512-CE6NEM51MVeySzGn6stEuohJzYPHovjo9+/UK147peh8Hslth/S+IpXKupb1qv9QeIxbgnKJ9WoVOpEwJd5pYg==",
17746 "requires": {
17747 "content-disposition": "^0.5.2",
17748 "etag": "^1.8.1",
17749 "mime-types": "^2.1.17",
17750 "send": "^0.16.1",
17751 "vary": "^1.1.2"
17752 },
17753 "dependencies": {
17754 "debug": {
17755 "version": "2.6.9",
17756 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
17757 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
17758 "requires": {
17759 "ms": "2.0.0"
17760 }
17761 },
17762 "depd": {
17763 "version": "1.1.2",
17764 "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
17765 "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
17766 },
17767 "destroy": {
17768 "version": "1.0.4",
17769 "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
17770 "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
17771 },
17772 "ee-first": {
17773 "version": "1.1.1",
17774 "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
17775 "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
17776 },
17777 "escape-html": {
17778 "version": "1.0.3",
17779 "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
17780 "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
17781 },
17782 "fresh": {
17783 "version": "0.5.2",
17784 "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
17785 "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
17786 },
17787 "http-errors": {
17788 "version": "1.6.3",
17789 "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
17790 "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
17791 "requires": {
17792 "depd": "~1.1.2",
17793 "inherits": "2.0.3",
17794 "setprototypeof": "1.1.0",
17795 "statuses": ">= 1.4.0 < 2"
17796 }
17797 },
17798 "inherits": {
17799 "version": "2.0.3",
17800 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
17801 "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
17802 },
17803 "mime": {
17804 "version": "1.4.1",
17805 "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
17806 "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ=="
17807 },
17808 "ms": {
17809 "version": "2.0.0",
17810 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
17811 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
17812 },
17813 "on-finished": {
17814 "version": "2.3.0",
17815 "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
17816 "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
17817 "requires": {
17818 "ee-first": "1.1.1"
17819 }
17820 },
17821 "range-parser": {
17822 "version": "1.2.1",
17823 "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
17824 "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
17825 },
17826 "send": {
17827 "version": "0.16.2",
17828 "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
17829 "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
17830 "requires": {
17831 "debug": "2.6.9",
17832 "depd": "~1.1.2",
17833 "destroy": "~1.0.4",
17834 "encodeurl": "~1.0.2",
17835 "escape-html": "~1.0.3",
17836 "etag": "~1.8.1",
17837 "fresh": "0.5.2",
17838 "http-errors": "~1.6.2",
17839 "mime": "1.4.1",
17840 "ms": "2.0.0",
17841 "on-finished": "~2.3.0",
17842 "range-parser": "~1.2.0",
17843 "statuses": "~1.4.0"
17844 }
17845 },
17846 "setprototypeof": {
17847 "version": "1.1.0",
17848 "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
17849 "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
17850 },
17851 "statuses": {
17852 "version": "1.4.0",
17853 "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
17854 "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew=="
17855 }
17856 }
17857 },
14802 "node-sass": { 17858 "node-sass": {
14803 "version": "4.11.0", 17859 "version": "4.11.0",
14804 "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.11.0.tgz", 17860 "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.11.0.tgz",
@@ -14933,6 +17989,12 @@
14933 "trim-newlines": "^1.0.0" 17989 "trim-newlines": "^1.0.0"
14934 } 17990 }
14935 }, 17991 },
17992 "minimist": {
17993 "version": "1.2.0",
17994 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
17995 "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
17996 "dev": true
17997 },
14936 "parse-json": { 17998 "parse-json": {
14937 "version": "2.2.0", 17999 "version": "2.2.0",
14938 "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", 18000 "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
@@ -15068,6 +18130,7 @@
15068 "version": "2.5.0", 18130 "version": "2.5.0",
15069 "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", 18131 "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
15070 "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", 18132 "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
18133 "dev": true,
15071 "requires": { 18134 "requires": {
15072 "hosted-git-info": "^2.1.4", 18135 "hosted-git-info": "^2.1.4",
15073 "resolve": "^1.10.0", 18136 "resolve": "^1.10.0",
@@ -15095,9 +18158,9 @@
15095 } 18158 }
15096 }, 18159 },
15097 "now-and-later": { 18160 "now-and-later": {
15098 "version": "2.0.0", 18161 "version": "2.0.1",
15099 "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.0.tgz", 18162 "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz",
15100 "integrity": "sha1-vGHLtFbXnLMiB85HygUTb/Ln1u4=", 18163 "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==",
15101 "dev": true, 18164 "dev": true,
15102 "requires": { 18165 "requires": {
15103 "once": "^1.3.2" 18166 "once": "^1.3.2"
@@ -15106,18 +18169,17 @@
15106 "npm-bundled": { 18169 "npm-bundled": {
15107 "version": "1.0.6", 18170 "version": "1.0.6",
15108 "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz", 18171 "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz",
15109 "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==", 18172 "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g=="
15110 "dev": true
15111 }, 18173 },
15112 "npm-lifecycle": { 18174 "npm-lifecycle": {
15113 "version": "2.1.0", 18175 "version": "3.1.4",
15114 "resolved": "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-2.1.0.tgz", 18176 "resolved": "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-3.1.4.tgz",
15115 "integrity": "sha512-QbBfLlGBKsktwBZLj6AviHC6Q9Y3R/AY4a2PYSIRhSKSS0/CxRyD/PfxEX6tPeOCXQgMSNdwGeECacstgptc+g==", 18177 "integrity": "sha512-tgs1PaucZwkxECGKhC/stbEgFyc3TGh2TJcg2CDr6jbvQRdteHNhmMeljRzpe4wgFAXQADoy1cSqqi7mtiAa5A==",
15116 "dev": true, 18178 "dev": true,
15117 "requires": { 18179 "requires": {
15118 "byline": "^5.0.0", 18180 "byline": "^5.0.0",
15119 "graceful-fs": "^4.1.11", 18181 "graceful-fs": "^4.1.15",
15120 "node-gyp": "^3.8.0", 18182 "node-gyp": "^5.0.2",
15121 "resolve-from": "^4.0.0", 18183 "resolve-from": "^4.0.0",
15122 "slide": "^1.1.6", 18184 "slide": "^1.1.6",
15123 "uid-number": "0.0.6", 18185 "uid-number": "0.0.6",
@@ -15125,40 +18187,64 @@
15125 "which": "^1.3.1" 18187 "which": "^1.3.1"
15126 }, 18188 },
15127 "dependencies": { 18189 "dependencies": {
18190 "node-gyp": {
18191 "version": "5.0.3",
18192 "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-5.0.3.tgz",
18193 "integrity": "sha512-z/JdtkFGUm0QaQUusvloyYuGDub3nUbOo5de1Fz57cM++osBTvQatBUSTlF1k/w8vFHPxxXW6zxGvkxXSpaBkQ==",
18194 "dev": true,
18195 "requires": {
18196 "env-paths": "^1.0.0",
18197 "glob": "^7.0.3",
18198 "graceful-fs": "^4.1.2",
18199 "mkdirp": "^0.5.0",
18200 "nopt": "2 || 3",
18201 "npmlog": "0 || 1 || 2 || 3 || 4",
18202 "request": "^2.87.0",
18203 "rimraf": "2",
18204 "semver": "~5.3.0",
18205 "tar": "^4.4.8",
18206 "which": "1"
18207 }
18208 },
15128 "resolve-from": { 18209 "resolve-from": {
15129 "version": "4.0.0", 18210 "version": "4.0.0",
15130 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 18211 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
15131 "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 18212 "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
15132 "dev": true 18213 "dev": true
18214 },
18215 "semver": {
18216 "version": "5.3.0",
18217 "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
18218 "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
18219 "dev": true
15133 } 18220 }
15134 } 18221 }
15135 }, 18222 },
15136 "npm-package-arg": { 18223 "npm-package-arg": {
15137 "version": "6.1.0", 18224 "version": "6.1.1",
15138 "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.0.tgz", 18225 "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz",
15139 "integrity": "sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA==", 18226 "integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==",
15140 "dev": true, 18227 "dev": true,
15141 "requires": { 18228 "requires": {
15142 "hosted-git-info": "^2.6.0", 18229 "hosted-git-info": "^2.7.1",
15143 "osenv": "^0.1.5", 18230 "osenv": "^0.1.5",
15144 "semver": "^5.5.0", 18231 "semver": "^5.6.0",
15145 "validate-npm-package-name": "^3.0.0" 18232 "validate-npm-package-name": "^3.0.0"
15146 } 18233 }
15147 }, 18234 },
15148 "npm-packlist": { 18235 "npm-packlist": {
15149 "version": "1.3.0", 18236 "version": "1.4.4",
15150 "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.3.0.tgz", 18237 "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.4.tgz",
15151 "integrity": "sha512-qPBc6CnxEzpOcc4bjoIBJbYdy0D/LFFPUdxvfwor4/w3vxeE0h6TiOVurCEPpQ6trjN77u/ShyfeJGsbAfB3dA==", 18238 "integrity": "sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw==",
15152 "dev": true,
15153 "requires": { 18239 "requires": {
15154 "ignore-walk": "^3.0.1", 18240 "ignore-walk": "^3.0.1",
15155 "npm-bundled": "^1.0.1" 18241 "npm-bundled": "^1.0.1"
15156 } 18242 }
15157 }, 18243 },
15158 "npm-pick-manifest": { 18244 "npm-pick-manifest": {
15159 "version": "2.2.3", 18245 "version": "3.0.2",
15160 "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-2.2.3.tgz", 18246 "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz",
15161 "integrity": "sha512-+IluBC5K201+gRU85vFlUwX3PFShZAbAgDNp2ewJdWMVSppdo/Zih0ul2Ecky/X7b51J7LrrUAP+XOmOCvYZqA==", 18247 "integrity": "sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==",
15162 "dev": true, 18248 "dev": true,
15163 "requires": { 18249 "requires": {
15164 "figgy-pudding": "^3.5.1", 18250 "figgy-pudding": "^3.5.1",
@@ -15166,20 +18252,6 @@
15166 "semver": "^5.4.1" 18252 "semver": "^5.4.1"
15167 } 18253 }
15168 }, 18254 },
15169 "npm-registry-fetch": {
15170 "version": "3.9.0",
15171 "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-3.9.0.tgz",
15172 "integrity": "sha512-srwmt8YhNajAoSAaDWndmZgx89lJwIZ1GWxOuckH4Coek4uHv5S+o/l9FLQe/awA+JwTnj4FJHldxhlXdZEBmw==",
15173 "dev": true,
15174 "requires": {
15175 "JSONStream": "^1.3.4",
15176 "bluebird": "^3.5.1",
15177 "figgy-pudding": "^3.4.1",
15178 "lru-cache": "^4.1.3",
15179 "make-fetch-happen": "^4.0.1",
15180 "npm-package-arg": "^6.1.0"
15181 }
15182 },
15183 "npm-run-path": { 18255 "npm-run-path": {
15184 "version": "2.0.2", 18256 "version": "2.0.2",
15185 "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", 18257 "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
@@ -15193,7 +18265,6 @@
15193 "version": "4.1.2", 18265 "version": "4.1.2",
15194 "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", 18266 "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
15195 "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", 18267 "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
15196 "dev": true,
15197 "requires": { 18268 "requires": {
15198 "are-we-there-yet": "~1.1.2", 18269 "are-we-there-yet": "~1.1.2",
15199 "console-control-strings": "~1.1.0", 18270 "console-control-strings": "~1.1.0",
@@ -15241,6 +18312,15 @@
15241 "map-obj": "^1.0.0" 18312 "map-obj": "^1.0.0"
15242 } 18313 }
15243 }, 18314 },
18315 "debug": {
18316 "version": "2.6.9",
18317 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
18318 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
18319 "dev": true,
18320 "requires": {
18321 "ms": "2.0.0"
18322 }
18323 },
15244 "find-up": { 18324 "find-up": {
15245 "version": "1.1.2", 18325 "version": "1.1.2",
15246 "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", 18326 "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
@@ -15297,6 +18377,18 @@
15297 "trim-newlines": "^1.0.0" 18377 "trim-newlines": "^1.0.0"
15298 } 18378 }
15299 }, 18379 },
18380 "minimist": {
18381 "version": "1.2.0",
18382 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
18383 "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
18384 "dev": true
18385 },
18386 "ms": {
18387 "version": "2.0.0",
18388 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
18389 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
18390 "dev": true
18391 },
15300 "parse-json": { 18392 "parse-json": {
15301 "version": "2.2.0", 18393 "version": "2.2.0",
15302 "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", 18394 "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
@@ -15405,16 +18497,15 @@
15405 "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" 18497 "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
15406 }, 18498 },
15407 "nwsapi": { 18499 "nwsapi": {
15408 "version": "2.1.3", 18500 "version": "2.1.4",
15409 "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.3.tgz", 18501 "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.4.tgz",
15410 "integrity": "sha512-RowAaJGEgYXEZfQ7tvvdtAQUKPyTR6T6wNu0fwlNsGQYr/h3yQc6oI8WnVZh3Y/Sylwc+dtAlvPqfFZjhTyk3A==", 18502 "integrity": "sha512-iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw==",
15411 "dev": true 18503 "dev": true
15412 }, 18504 },
15413 "oauth-sign": { 18505 "oauth-sign": {
15414 "version": "0.9.0", 18506 "version": "0.9.0",
15415 "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", 18507 "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
15416 "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", 18508 "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
15417 "dev": true
15418 }, 18509 },
15419 "object-assign": { 18510 "object-assign": {
15420 "version": "4.1.1", 18511 "version": "4.1.1",
@@ -15431,7 +18522,6 @@
15431 "version": "0.1.0", 18522 "version": "0.1.0",
15432 "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", 18523 "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
15433 "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", 18524 "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
15434 "dev": true,
15435 "requires": { 18525 "requires": {
15436 "copy-descriptor": "^0.1.0", 18526 "copy-descriptor": "^0.1.0",
15437 "define-property": "^0.2.5", 18527 "define-property": "^0.2.5",
@@ -15442,7 +18532,6 @@
15442 "version": "0.2.5", 18532 "version": "0.2.5",
15443 "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 18533 "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
15444 "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 18534 "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
15445 "dev": true,
15446 "requires": { 18535 "requires": {
15447 "is-descriptor": "^0.1.0" 18536 "is-descriptor": "^0.1.0"
15448 } 18537 }
@@ -15451,7 +18540,6 @@
15451 "version": "3.2.2", 18540 "version": "3.2.2",
15452 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 18541 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
15453 "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 18542 "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
15454 "dev": true,
15455 "requires": { 18543 "requires": {
15456 "is-buffer": "^1.1.5" 18544 "is-buffer": "^1.1.5"
15457 } 18545 }
@@ -15464,17 +18552,28 @@
15464 "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==", 18552 "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==",
15465 "dev": true 18553 "dev": true
15466 }, 18554 },
18555 "object-inspect": {
18556 "version": "1.6.0",
18557 "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz",
18558 "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==",
18559 "dev": true
18560 },
18561 "object-is": {
18562 "version": "1.0.1",
18563 "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz",
18564 "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=",
18565 "dev": true
18566 },
15467 "object-keys": { 18567 "object-keys": {
15468 "version": "1.1.0", 18568 "version": "1.1.1",
15469 "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz", 18569 "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
15470 "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==", 18570 "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
15471 "dev": true 18571 "dev": true
15472 }, 18572 },
15473 "object-visit": { 18573 "object-visit": {
15474 "version": "1.0.1", 18574 "version": "1.0.1",
15475 "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", 18575 "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
15476 "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", 18576 "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
15477 "dev": true,
15478 "requires": { 18577 "requires": {
15479 "isobject": "^3.0.0" 18578 "isobject": "^3.0.0"
15480 } 18579 }
@@ -15495,7 +18594,6 @@
15495 "version": "1.1.0", 18594 "version": "1.1.0",
15496 "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", 18595 "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
15497 "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", 18596 "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
15498 "dev": true,
15499 "requires": { 18597 "requires": {
15500 "array-each": "^1.0.1", 18598 "array-each": "^1.0.1",
15501 "array-slice": "^1.0.0", 18599 "array-slice": "^1.0.0",
@@ -15529,7 +18627,6 @@
15529 "version": "1.0.1", 18627 "version": "1.0.1",
15530 "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", 18628 "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
15531 "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", 18629 "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
15532 "dev": true,
15533 "requires": { 18630 "requires": {
15534 "for-own": "^1.0.0", 18631 "for-own": "^1.0.0",
15535 "make-iterator": "^1.0.0" 18632 "make-iterator": "^1.0.0"
@@ -15560,7 +18657,6 @@
15560 "version": "1.3.0", 18657 "version": "1.3.0",
15561 "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", 18658 "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
15562 "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", 18659 "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
15563 "dev": true,
15564 "requires": { 18660 "requires": {
15565 "isobject": "^3.0.1" 18661 "isobject": "^3.0.1"
15566 } 18662 }
@@ -15597,9 +18693,9 @@
15597 } 18693 }
15598 }, 18694 },
15599 "on-headers": { 18695 "on-headers": {
15600 "version": "1.0.1", 18696 "version": "1.0.2",
15601 "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", 18697 "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
15602 "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", 18698 "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
15603 "dev": true 18699 "dev": true
15604 }, 18700 },
15605 "once": { 18701 "once": {
@@ -15610,6 +18706,11 @@
15610 "wrappy": "1" 18706 "wrappy": "1"
15611 } 18707 }
15612 }, 18708 },
18709 "one-time": {
18710 "version": "0.0.4",
18711 "resolved": "https://registry.npmjs.org/one-time/-/one-time-0.0.4.tgz",
18712 "integrity": "sha1-+M33eISCb+Tf+T46nMN7HkSAdC4="
18713 },
15613 "onetime": { 18714 "onetime": {
15614 "version": "2.0.1", 18715 "version": "2.0.1",
15615 "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", 18716 "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
@@ -15617,6 +18718,14 @@
15617 "dev": true, 18718 "dev": true,
15618 "requires": { 18719 "requires": {
15619 "mimic-fn": "^1.0.0" 18720 "mimic-fn": "^1.0.0"
18721 },
18722 "dependencies": {
18723 "mimic-fn": {
18724 "version": "1.2.0",
18725 "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
18726 "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
18727 "dev": true
18728 }
15620 } 18729 }
15621 }, 18730 },
15622 "open": { 18731 "open": {
@@ -15626,9 +18735,9 @@
15626 "dev": true 18735 "dev": true
15627 }, 18736 },
15628 "opn": { 18737 "opn": {
15629 "version": "5.4.0", 18738 "version": "5.5.0",
15630 "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz", 18739 "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz",
15631 "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==", 18740 "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==",
15632 "dev": true, 18741 "dev": true,
15633 "requires": { 18742 "requires": {
15634 "is-wsl": "^1.1.0" 18743 "is-wsl": "^1.1.0"
@@ -15642,14 +18751,6 @@
15642 "requires": { 18751 "requires": {
15643 "minimist": "~0.0.1", 18752 "minimist": "~0.0.1",
15644 "wordwrap": "~0.0.2" 18753 "wordwrap": "~0.0.2"
15645 },
15646 "dependencies": {
15647 "minimist": {
15648 "version": "0.0.10",
15649 "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
15650 "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
15651 "dev": true
15652 }
15653 } 18754 }
15654 }, 18755 },
15655 "optionator": { 18756 "optionator": {
@@ -15735,6 +18836,12 @@
15735 "util-deprecate": "~1.0.1" 18836 "util-deprecate": "~1.0.1"
15736 } 18837 }
15737 }, 18838 },
18839 "safe-buffer": {
18840 "version": "5.1.2",
18841 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
18842 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
18843 "dev": true
18844 },
15738 "string_decoder": { 18845 "string_decoder": {
15739 "version": "1.1.1", 18846 "version": "1.1.1",
15740 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 18847 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -15764,8 +18871,7 @@
15764 "os-homedir": { 18871 "os-homedir": {
15765 "version": "1.0.2", 18872 "version": "1.0.2",
15766 "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", 18873 "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
15767 "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", 18874 "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
15768 "dev": true
15769 }, 18875 },
15770 "os-locale": { 18876 "os-locale": {
15771 "version": "3.1.0", 18877 "version": "3.1.0",
@@ -15779,26 +18885,24 @@
15779 } 18885 }
15780 }, 18886 },
15781 "os-name": { 18887 "os-name": {
15782 "version": "3.0.0", 18888 "version": "3.1.0",
15783 "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.0.0.tgz", 18889 "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz",
15784 "integrity": "sha512-7c74tib2FsdFbQ3W+qj8Tyd1R3Z6tuVRNNxXjJcZ4NgjIEQU9N/prVMqcW29XZPXGACqaXN3jq58/6hoaoXH6g==", 18890 "integrity": "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==",
15785 "dev": true, 18891 "dev": true,
15786 "requires": { 18892 "requires": {
15787 "macos-release": "^2.0.0", 18893 "macos-release": "^2.2.0",
15788 "windows-release": "^3.1.0" 18894 "windows-release": "^3.1.0"
15789 } 18895 }
15790 }, 18896 },
15791 "os-tmpdir": { 18897 "os-tmpdir": {
15792 "version": "1.0.2", 18898 "version": "1.0.2",
15793 "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 18899 "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
15794 "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 18900 "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
15795 "dev": true
15796 }, 18901 },
15797 "osenv": { 18902 "osenv": {
15798 "version": "0.1.5", 18903 "version": "0.1.5",
15799 "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", 18904 "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
15800 "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", 18905 "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
15801 "dev": true,
15802 "requires": { 18906 "requires": {
15803 "os-homedir": "^1.0.0", 18907 "os-homedir": "^1.0.0",
15804 "os-tmpdir": "^1.0.0" 18908 "os-tmpdir": "^1.0.0"
@@ -15843,15 +18947,15 @@
15843 "dev": true 18947 "dev": true
15844 }, 18948 },
15845 "p-is-promise": { 18949 "p-is-promise": {
15846 "version": "2.0.0", 18950 "version": "2.1.0",
15847 "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.0.0.tgz", 18951 "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz",
15848 "integrity": "sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==", 18952 "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==",
15849 "dev": true 18953 "dev": true
15850 }, 18954 },
15851 "p-limit": { 18955 "p-limit": {
15852 "version": "2.1.0", 18956 "version": "2.2.1",
15853 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", 18957 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
15854 "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", 18958 "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
15855 "dev": true, 18959 "dev": true,
15856 "requires": { 18960 "requires": {
15857 "p-try": "^2.0.0" 18961 "p-try": "^2.0.0"
@@ -15867,9 +18971,9 @@
15867 } 18971 }
15868 }, 18972 },
15869 "p-map": { 18973 "p-map": {
15870 "version": "1.2.0", 18974 "version": "2.1.0",
15871 "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", 18975 "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
15872 "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", 18976 "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
15873 "dev": true 18977 "dev": true
15874 }, 18978 },
15875 "p-map-series": { 18979 "p-map-series": {
@@ -15887,6 +18991,15 @@
15887 "integrity": "sha1-SxoROZoRUgpneQ7loMHViB1r7+k=", 18991 "integrity": "sha1-SxoROZoRUgpneQ7loMHViB1r7+k=",
15888 "dev": true 18992 "dev": true
15889 }, 18993 },
18994 "p-queue": {
18995 "version": "4.0.0",
18996 "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-4.0.0.tgz",
18997 "integrity": "sha512-3cRXXn3/O0o3+eVmUroJPSj/esxoEFIm0ZOno/T+NzG/VZgPOqQ8WKmlNqubSEpZmCIngEy34unkHGg83ZIBmg==",
18998 "dev": true,
18999 "requires": {
19000 "eventemitter3": "^3.1.0"
19001 }
19002 },
15890 "p-reduce": { 19003 "p-reduce": {
15891 "version": "1.0.0", 19004 "version": "1.0.0",
15892 "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", 19005 "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz",
@@ -15894,9 +19007,9 @@
15894 "dev": true 19007 "dev": true
15895 }, 19008 },
15896 "p-try": { 19009 "p-try": {
15897 "version": "2.0.0", 19010 "version": "2.2.0",
15898 "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", 19011 "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
15899 "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", 19012 "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
15900 "dev": true 19013 "dev": true
15901 }, 19014 },
15902 "p-waterfall": { 19015 "p-waterfall": {
@@ -15928,64 +19041,18 @@
15928 } 19041 }
15929 } 19042 }
15930 }, 19043 },
15931 "pacote": {
15932 "version": "9.4.1",
15933 "resolved": "https://registry.npmjs.org/pacote/-/pacote-9.4.1.tgz",
15934 "integrity": "sha512-YKSRsQqmeHxgra0KCdWA2FtVxDPUlBiCdmew+mSe44pzlx5t1ViRMWiQg18T+DREA+vSqYfKzynaToFR4hcKHw==",
15935 "dev": true,
15936 "requires": {
15937 "bluebird": "^3.5.3",
15938 "cacache": "^11.3.2",
15939 "figgy-pudding": "^3.5.1",
15940 "get-stream": "^4.1.0",
15941 "glob": "^7.1.3",
15942 "lru-cache": "^5.1.1",
15943 "make-fetch-happen": "^4.0.1",
15944 "minimatch": "^3.0.4",
15945 "minipass": "^2.3.5",
15946 "mississippi": "^3.0.0",
15947 "mkdirp": "^0.5.1",
15948 "normalize-package-data": "^2.4.0",
15949 "npm-package-arg": "^6.1.0",
15950 "npm-packlist": "^1.1.12",
15951 "npm-pick-manifest": "^2.2.3",
15952 "npm-registry-fetch": "^3.8.0",
15953 "osenv": "^0.1.5",
15954 "promise-inflight": "^1.0.1",
15955 "promise-retry": "^1.1.1",
15956 "protoduck": "^5.0.1",
15957 "rimraf": "^2.6.2",
15958 "safe-buffer": "^5.1.2",
15959 "semver": "^5.6.0",
15960 "ssri": "^6.0.1",
15961 "tar": "^4.4.8",
15962 "unique-filename": "^1.1.1",
15963 "which": "^1.3.1"
15964 },
15965 "dependencies": {
15966 "lru-cache": {
15967 "version": "5.1.1",
15968 "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
15969 "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
15970 "dev": true,
15971 "requires": {
15972 "yallist": "^3.0.2"
15973 }
15974 }
15975 }
15976 },
15977 "pako": { 19044 "pako": {
15978 "version": "1.0.8", 19045 "version": "1.0.10",
15979 "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.8.tgz", 19046 "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz",
15980 "integrity": "sha512-6i0HVbUfcKaTv+EG8ZTr75az7GFXcLYk9UyLEg7Notv/Ma+z/UG3TCoz6GiNeOrn1E/e63I0X/Hpw18jHOTUnA==" 19047 "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw=="
15981 }, 19048 },
15982 "parallel-transform": { 19049 "parallel-transform": {
15983 "version": "1.1.0", 19050 "version": "1.2.0",
15984 "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", 19051 "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
15985 "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", 19052 "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
15986 "dev": true, 19053 "dev": true,
15987 "requires": { 19054 "requires": {
15988 "cyclist": "~0.2.2", 19055 "cyclist": "^1.0.1",
15989 "inherits": "^2.0.3", 19056 "inherits": "^2.0.3",
15990 "readable-stream": "^2.1.5" 19057 "readable-stream": "^2.1.5"
15991 }, 19058 },
@@ -16005,6 +19072,12 @@
16005 "util-deprecate": "~1.0.1" 19072 "util-deprecate": "~1.0.1"
16006 } 19073 }
16007 }, 19074 },
19075 "safe-buffer": {
19076 "version": "5.1.2",
19077 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
19078 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
19079 "dev": true
19080 },
16008 "string_decoder": { 19081 "string_decoder": {
16009 "version": "1.1.1", 19082 "version": "1.1.1",
16010 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 19083 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -16020,15 +19093,14 @@
16020 "version": "2.1.1", 19093 "version": "2.1.1",
16021 "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", 19094 "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
16022 "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", 19095 "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
16023 "dev": true,
16024 "requires": { 19096 "requires": {
16025 "no-case": "^2.2.0" 19097 "no-case": "^2.2.0"
16026 } 19098 }
16027 }, 19099 },
16028 "parse-asn1": { 19100 "parse-asn1": {
16029 "version": "5.1.3", 19101 "version": "5.1.5",
16030 "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.3.tgz", 19102 "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz",
16031 "integrity": "sha512-VrPoetlz7B/FqjBLD2f5wBVZvsZVLnRUrxVLfRYhGXCODa/NWE4p3Wp+6+aV3ZPL3KM7/OZmxDIwwijD7yuucg==", 19103 "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==",
16032 "dev": true, 19104 "dev": true,
16033 "requires": { 19105 "requires": {
16034 "asn1.js": "^4.0.0", 19106 "asn1.js": "^4.0.0",
@@ -16043,7 +19115,6 @@
16043 "version": "1.0.2", 19115 "version": "1.0.2",
16044 "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", 19116 "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
16045 "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", 19117 "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
16046 "dev": true,
16047 "requires": { 19118 "requires": {
16048 "is-absolute": "^1.0.0", 19119 "is-absolute": "^1.0.0",
16049 "map-cache": "^0.2.0", 19120 "map-cache": "^0.2.0",
@@ -16104,8 +19175,7 @@
16104 "parse-passwd": { 19175 "parse-passwd": {
16105 "version": "1.0.0", 19176 "version": "1.0.0",
16106 "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", 19177 "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
16107 "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", 19178 "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY="
16108 "dev": true
16109 }, 19179 },
16110 "parse-path": { 19180 "parse-path": {
16111 "version": "4.0.1", 19181 "version": "4.0.1",
@@ -16171,21 +19241,19 @@
16171 } 19241 }
16172 }, 19242 },
16173 "parseurl": { 19243 "parseurl": {
16174 "version": "1.3.2", 19244 "version": "1.3.3",
16175 "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", 19245 "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
16176 "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", 19246 "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
16177 "dev": true
16178 }, 19247 },
16179 "pascalcase": { 19248 "pascalcase": {
16180 "version": "0.1.1", 19249 "version": "0.1.1",
16181 "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", 19250 "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
16182 "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", 19251 "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
16183 "dev": true
16184 }, 19252 },
16185 "path-browserify": { 19253 "path-browserify": {
16186 "version": "0.0.0", 19254 "version": "0.0.1",
16187 "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", 19255 "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
16188 "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", 19256 "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
16189 "dev": true 19257 "dev": true
16190 }, 19258 },
16191 "path-dirname": { 19259 "path-dirname": {
@@ -16213,8 +19281,7 @@
16213 "path-key": { 19281 "path-key": {
16214 "version": "2.0.1", 19282 "version": "2.0.1",
16215 "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 19283 "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
16216 "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", 19284 "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
16217 "dev": true
16218 }, 19285 },
16219 "path-parse": { 19286 "path-parse": {
16220 "version": "1.0.6", 19287 "version": "1.0.6",
@@ -16225,7 +19292,6 @@
16225 "version": "0.1.1", 19292 "version": "0.1.1",
16226 "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", 19293 "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
16227 "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", 19294 "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
16228 "dev": true,
16229 "requires": { 19295 "requires": {
16230 "path-root-regex": "^0.1.0" 19296 "path-root-regex": "^0.1.0"
16231 } 19297 }
@@ -16233,8 +19299,7 @@
16233 "path-root-regex": { 19299 "path-root-regex": {
16234 "version": "0.1.2", 19300 "version": "0.1.2",
16235 "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", 19301 "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
16236 "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", 19302 "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0="
16237 "dev": true
16238 }, 19303 },
16239 "path-to-regexp": { 19304 "path-to-regexp": {
16240 "version": "0.1.7", 19305 "version": "0.1.7",
@@ -16264,17 +19329,39 @@
16264 "sha.js": "^2.4.8" 19329 "sha.js": "^2.4.8"
16265 } 19330 }
16266 }, 19331 },
19332 "pegjs": {
19333 "version": "0.10.0",
19334 "resolved": "https://registry.npmjs.org/pegjs/-/pegjs-0.10.0.tgz",
19335 "integrity": "sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0=",
19336 "dev": true
19337 },
16267 "pend": { 19338 "pend": {
16268 "version": "1.2.0", 19339 "version": "1.2.0",
16269 "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", 19340 "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
16270 "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", 19341 "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA="
16271 "dev": true
16272 }, 19342 },
16273 "performance-now": { 19343 "performance-now": {
16274 "version": "2.1.0", 19344 "version": "2.1.0",
16275 "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", 19345 "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
16276 "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", 19346 "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
16277 "dev": true 19347 },
19348 "pg-connection-string": {
19349 "version": "2.0.0",
19350 "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.0.0.tgz",
19351 "integrity": "sha1-Pu/lmX4G2Ugh5NUC5CtqHHP434I="
19352 },
19353 "pidtree": {
19354 "version": "0.3.0",
19355 "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.0.tgz",
19356 "integrity": "sha512-9CT4NFlDcosssyg8KVFltgokyKZIFjoBxw8CTGy+5F38Y1eQWrt8tRayiUOXE+zVKQnYu5BR8JjCtvK3BcnBhg=="
19357 },
19358 "pidusage": {
19359 "version": "2.0.16",
19360 "resolved": "https://registry.npmjs.org/pidusage/-/pidusage-2.0.16.tgz",
19361 "integrity": "sha512-9dhSBxpGvvpyycCukU8CqTqJ+YT8aVZ/AI1/hGWhU5nAAOs0zYBYMyIYBU/grKeCYuTS26TVllIRvf5vAfsgvw==",
19362 "requires": {
19363 "safe-buffer": "^5.1.2"
19364 }
16278 }, 19365 },
16279 "pify": { 19366 "pify": {
16280 "version": "3.0.0", 19367 "version": "3.0.0",
@@ -16298,9 +19385,9 @@
16298 } 19385 }
16299 }, 19386 },
16300 "pirates": { 19387 "pirates": {
16301 "version": "4.0.0", 19388 "version": "4.0.1",
16302 "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.0.tgz", 19389 "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
16303 "integrity": "sha512-8t5BsXy1LUIjn3WWOlOuFDuKswhQb/tkak641lvBgmPOBUQHXveORtlMCp6OdPV1dtuTaEahKA8VNz6uLfKBtA==", 19390 "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
16304 "dev": true, 19391 "dev": true,
16305 "requires": { 19392 "requires": {
16306 "node-modules-regexp": "^1.0.0" 19393 "node-modules-regexp": "^1.0.0"
@@ -16360,10 +19447,15 @@
16360 } 19447 }
16361 } 19448 }
16362 }, 19449 },
19450 "platform": {
19451 "version": "1.3.5",
19452 "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.5.tgz",
19453 "integrity": "sha512-TuvHS8AOIZNAlE77WUDiR4rySV/VMptyMfcfeoMgs4P8apaZM3JrnbzBiixKUv+XR6i+BXrQh8WAnjaSPFO65Q=="
19454 },
16363 "please-upgrade-node": { 19455 "please-upgrade-node": {
16364 "version": "3.1.1", 19456 "version": "3.2.0",
16365 "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz", 19457 "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz",
16366 "integrity": "sha512-KY1uHnQ2NlQHqIJQpnh/i54rKkuxCEBx+voJIS/Mvb+L2iYd2NMotwduhKTMjfC1uKoX3VXOxLjIYG66dfJTVQ==", 19458 "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==",
16367 "dev": true, 19459 "dev": true,
16368 "requires": { 19460 "requires": {
16369 "semver-compare": "^1.0.0" 19461 "semver-compare": "^1.0.0"
@@ -16373,7 +19465,6 @@
16373 "version": "1.0.1", 19465 "version": "1.0.1",
16374 "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", 19466 "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
16375 "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", 19467 "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
16376 "dev": true,
16377 "requires": { 19468 "requires": {
16378 "ansi-colors": "^1.0.1", 19469 "ansi-colors": "^1.0.1",
16379 "arr-diff": "^4.0.0", 19470 "arr-diff": "^4.0.0",
@@ -16384,8 +19475,7 @@
16384 "pluralize": { 19475 "pluralize": {
16385 "version": "7.0.0", 19476 "version": "7.0.0",
16386 "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", 19477 "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
16387 "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", 19478 "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow=="
16388 "dev": true
16389 }, 19479 },
16390 "pn": { 19480 "pn": {
16391 "version": "1.1.0", 19481 "version": "1.1.0",
@@ -16393,10 +19483,15 @@
16393 "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", 19483 "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
16394 "dev": true 19484 "dev": true
16395 }, 19485 },
19486 "pointer-symbol": {
19487 "version": "1.0.0",
19488 "resolved": "https://registry.npmjs.org/pointer-symbol/-/pointer-symbol-1.0.0.tgz",
19489 "integrity": "sha1-YPkRAgTqepKbYmRKITFVQ8uz1Ec="
19490 },
16396 "portfinder": { 19491 "portfinder": {
16397 "version": "1.0.20", 19492 "version": "1.0.24",
16398 "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz", 19493 "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.24.tgz",
16399 "integrity": "sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw==", 19494 "integrity": "sha512-ekRl7zD2qxYndYflwiryJwMioBI7LI7rVXg3EnLK3sjkouT5eOuhS3gS255XxBksa30VG8UPZYZCdgfGOfkSUg==",
16400 "dev": true, 19495 "dev": true,
16401 "requires": { 19496 "requires": {
16402 "async": "^1.5.2", 19497 "async": "^1.5.2",
@@ -16409,14 +19504,28 @@
16409 "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", 19504 "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
16410 "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", 19505 "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
16411 "dev": true 19506 "dev": true
19507 },
19508 "debug": {
19509 "version": "2.6.9",
19510 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
19511 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
19512 "dev": true,
19513 "requires": {
19514 "ms": "2.0.0"
19515 }
19516 },
19517 "ms": {
19518 "version": "2.0.0",
19519 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
19520 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
19521 "dev": true
16412 } 19522 }
16413 } 19523 }
16414 }, 19524 },
16415 "posix-character-classes": { 19525 "posix-character-classes": {
16416 "version": "0.1.1", 19526 "version": "0.1.1",
16417 "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", 19527 "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
16418 "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", 19528 "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
16419 "dev": true
16420 }, 19529 },
16421 "prelude-ls": { 19530 "prelude-ls": {
16422 "version": "1.1.2", 19531 "version": "1.1.2",
@@ -16457,12 +19566,12 @@
16457 } 19566 }
16458 }, 19567 },
16459 "pretty-format": { 19568 "pretty-format": {
16460 "version": "24.7.0", 19569 "version": "24.9.0",
16461 "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.7.0.tgz", 19570 "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz",
16462 "integrity": "sha512-apen5cjf/U4dj7tHetpC7UEFCvtAgnNZnBDkfPv3fokzIqyOJckAG9OlAPC1BlFALnqT/lGB2tl9EJjlK6eCsA==", 19571 "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==",
16463 "dev": true, 19572 "dev": true,
16464 "requires": { 19573 "requires": {
16465 "@jest/types": "^24.7.0", 19574 "@jest/types": "^24.9.0",
16466 "ansi-regex": "^4.0.0", 19575 "ansi-regex": "^4.0.0",
16467 "ansi-styles": "^3.2.0", 19576 "ansi-styles": "^3.2.0",
16468 "react-is": "^16.8.4" 19577 "react-is": "^16.8.4"
@@ -16473,20 +19582,13 @@
16473 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", 19582 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
16474 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", 19583 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
16475 "dev": true 19584 "dev": true
16476 },
16477 "react-is": {
16478 "version": "16.8.6",
16479 "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz",
16480 "integrity": "sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==",
16481 "dev": true
16482 } 19585 }
16483 } 19586 }
16484 }, 19587 },
16485 "pretty-hrtime": { 19588 "pretty-hrtime": {
16486 "version": "1.0.3", 19589 "version": "1.0.3",
16487 "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", 19590 "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
16488 "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", 19591 "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE="
16489 "dev": true
16490 }, 19592 },
16491 "private": { 19593 "private": {
16492 "version": "0.1.8", 19594 "version": "0.1.8",
@@ -16501,10 +19603,9 @@
16501 "dev": true 19603 "dev": true
16502 }, 19604 },
16503 "process-nextick-args": { 19605 "process-nextick-args": {
16504 "version": "2.0.0", 19606 "version": "2.0.1",
16505 "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", 19607 "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
16506 "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", 19608 "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
16507 "dev": true
16508 }, 19609 },
16509 "progress": { 19610 "progress": {
16510 "version": "2.0.3", 19611 "version": "2.0.3",
@@ -16587,6 +19688,21 @@
16587 "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", 19688 "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
16588 "dev": true 19689 "dev": true
16589 }, 19690 },
19691 "promise-reduce": {
19692 "version": "2.1.0",
19693 "resolved": "https://registry.npmjs.org/promise-reduce/-/promise-reduce-2.1.0.tgz",
19694 "integrity": "sha1-dxmHMbXGLL1fjhhFUREx0A47bEc=",
19695 "requires": {
19696 "any-promise": "^0.1.0"
19697 },
19698 "dependencies": {
19699 "any-promise": {
19700 "version": "0.1.0",
19701 "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-0.1.0.tgz",
19702 "integrity": "sha1-gwtoCqflbzNFHUsEnzvYBESY7ic="
19703 }
19704 }
19705 },
16590 "promise-retry": { 19706 "promise-retry": {
16591 "version": "1.1.1", 19707 "version": "1.1.1",
16592 "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", 19708 "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz",
@@ -16597,14 +19713,543 @@
16597 "retry": "^0.10.0" 19713 "retry": "^0.10.0"
16598 } 19714 }
16599 }, 19715 },
16600 "prompts": { 19716 "prompt-actions": {
19717 "version": "3.0.2",
19718 "resolved": "https://registry.npmjs.org/prompt-actions/-/prompt-actions-3.0.2.tgz",
19719 "integrity": "sha512-dhz2Fl7vK+LPpmnQ/S/eSut4BnH4NZDLyddHKi5uTU/2PDn3grEMGkgsll16V5RpVUh/yxdiam0xsM0RD4xvtg==",
19720 "requires": {
19721 "debug": "^2.6.8"
19722 },
19723 "dependencies": {
19724 "debug": {
19725 "version": "2.6.9",
19726 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
19727 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
19728 "requires": {
19729 "ms": "2.0.0"
19730 }
19731 },
19732 "ms": {
19733 "version": "2.0.0",
19734 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
19735 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
19736 }
19737 }
19738 },
19739 "prompt-base": {
19740 "version": "4.1.0",
19741 "resolved": "https://registry.npmjs.org/prompt-base/-/prompt-base-4.1.0.tgz",
19742 "integrity": "sha512-svGzgLUKZoqomz9SGMkf1hBG8Wl3K7JGuRCXc/Pv7xw8239hhaTBXrmjt7EXA9P/QZzdyT8uNWt9F/iJTXq75g==",
19743 "requires": {
19744 "component-emitter": "^1.2.1",
19745 "debug": "^3.0.1",
19746 "koalas": "^1.0.2",
19747 "log-utils": "^0.2.1",
19748 "prompt-actions": "^3.0.2",
19749 "prompt-question": "^5.0.1",
19750 "readline-ui": "^2.2.3",
19751 "readline-utils": "^2.2.3",
19752 "static-extend": "^0.1.2"
19753 },
19754 "dependencies": {
19755 "debug": {
19756 "version": "3.2.6",
19757 "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
19758 "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
19759 "requires": {
19760 "ms": "^2.1.1"
19761 }
19762 },
19763 "define-property": {
19764 "version": "1.0.0",
19765 "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
19766 "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
19767 "requires": {
19768 "is-descriptor": "^1.0.0"
19769 }
19770 },
19771 "is-accessor-descriptor": {
19772 "version": "1.0.0",
19773 "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
19774 "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
19775 "requires": {
19776 "kind-of": "^6.0.0"
19777 },
19778 "dependencies": {
19779 "kind-of": {
19780 "version": "6.0.2",
19781 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
19782 "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
19783 }
19784 }
19785 },
19786 "is-data-descriptor": {
19787 "version": "1.0.0",
19788 "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
19789 "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
19790 "requires": {
19791 "kind-of": "^6.0.0"
19792 },
19793 "dependencies": {
19794 "kind-of": {
19795 "version": "6.0.2",
19796 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
19797 "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
19798 }
19799 }
19800 },
19801 "is-descriptor": {
19802 "version": "1.0.2",
19803 "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
19804 "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
19805 "requires": {
19806 "is-accessor-descriptor": "^1.0.0",
19807 "is-data-descriptor": "^1.0.0",
19808 "kind-of": "^6.0.2"
19809 },
19810 "dependencies": {
19811 "kind-of": {
19812 "version": "6.0.2",
19813 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
19814 "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
19815 }
19816 }
19817 },
19818 "kind-of": {
19819 "version": "5.1.0",
19820 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
19821 "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
19822 },
19823 "prompt-question": {
19824 "version": "5.0.2",
19825 "resolved": "https://registry.npmjs.org/prompt-question/-/prompt-question-5.0.2.tgz",
19826 "integrity": "sha512-wreaLbbu8f5+7zXds199uiT11Ojp59Z4iBi6hONlSLtsKGTvL2UY8VglcxQ3t/X4qWIxsNCg6aT4O8keO65v6Q==",
19827 "requires": {
19828 "clone-deep": "^1.0.0",
19829 "debug": "^3.0.1",
19830 "define-property": "^1.0.0",
19831 "isobject": "^3.0.1",
19832 "kind-of": "^5.0.2",
19833 "koalas": "^1.0.2",
19834 "prompt-choices": "^4.0.5"
19835 }
19836 }
19837 }
19838 },
19839 "prompt-checkbox": {
19840 "version": "2.2.0",
19841 "resolved": "https://registry.npmjs.org/prompt-checkbox/-/prompt-checkbox-2.2.0.tgz",
19842 "integrity": "sha512-T/QWgkdUmKjRSr0FQlV8O+LfgmBk8PwDbWhzllm7mwWNAjs3qOVuru5Y1gV4/14L73zCncqcuwGwvnDyVcVgvA==",
19843 "requires": {
19844 "ansi-cyan": "^0.1.1",
19845 "debug": "^2.6.8",
19846 "prompt-base": "^4.0.2"
19847 },
19848 "dependencies": {
19849 "debug": {
19850 "version": "2.6.9",
19851 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
19852 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
19853 "requires": {
19854 "ms": "2.0.0"
19855 }
19856 },
19857 "ms": {
19858 "version": "2.0.0",
19859 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
19860 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
19861 }
19862 }
19863 },
19864 "prompt-choices": {
19865 "version": "4.1.0",
19866 "resolved": "https://registry.npmjs.org/prompt-choices/-/prompt-choices-4.1.0.tgz",
19867 "integrity": "sha512-ZNYLv6rW9z9n0WdwCkEuS+w5nUAGzRgtRt6GQ5aFNFz6MIcU7nHFlHOwZtzy7RQBk80KzUGPSRQphvMiQzB8pg==",
19868 "requires": {
19869 "arr-flatten": "^1.1.0",
19870 "arr-swap": "^1.0.1",
19871 "choices-separator": "^2.0.0",
19872 "clone-deep": "^4.0.0",
19873 "collection-visit": "^1.0.0",
19874 "define-property": "^2.0.2",
19875 "is-number": "^6.0.0",
19876 "kind-of": "^6.0.2",
19877 "koalas": "^1.0.2",
19878 "log-utils": "^0.2.1",
19879 "pointer-symbol": "^1.0.0",
19880 "radio-symbol": "^2.0.0",
19881 "set-value": "^3.0.0",
19882 "strip-color": "^0.1.0",
19883 "terminal-paginator": "^2.0.2",
19884 "toggle-array": "^1.0.1"
19885 },
19886 "dependencies": {
19887 "clone-deep": {
19888 "version": "4.0.1",
19889 "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
19890 "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
19891 "requires": {
19892 "is-plain-object": "^2.0.4",
19893 "kind-of": "^6.0.2",
19894 "shallow-clone": "^3.0.0"
19895 }
19896 },
19897 "is-number": {
19898 "version": "6.0.0",
19899 "resolved": "https://registry.npmjs.org/is-number/-/is-number-6.0.0.tgz",
19900 "integrity": "sha512-Wu1VHeILBK8KAWJUAiSZQX94GmOE45Rg6/538fKwiloUu21KncEkYGPqob2oSZ5mUT73vLGrHQjKw3KMPwfDzg=="
19901 },
19902 "set-value": {
19903 "version": "3.0.1",
19904 "resolved": "https://registry.npmjs.org/set-value/-/set-value-3.0.1.tgz",
19905 "integrity": "sha512-w6n3GUPYAWQj4ZyHWzD7K2FnFXHx9OTwJYbWg+6nXjG8sCLfs9DGv+KlqglKIIJx+ks7MlFuwFW2RBPb+8V+xg==",
19906 "requires": {
19907 "is-plain-object": "^2.0.4"
19908 }
19909 },
19910 "shallow-clone": {
19911 "version": "3.0.1",
19912 "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
19913 "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
19914 "requires": {
19915 "kind-of": "^6.0.2"
19916 }
19917 }
19918 }
19919 },
19920 "prompt-confirm": {
16601 "version": "2.0.4", 19921 "version": "2.0.4",
16602 "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.0.4.tgz", 19922 "resolved": "https://registry.npmjs.org/prompt-confirm/-/prompt-confirm-2.0.4.tgz",
16603 "integrity": "sha512-HTzM3UWp/99A0gk51gAegwo1QRYA7xjcZufMNe33rCclFszUYAuHe1fIN/3ZmiHeGPkUsNaRyQm1hHOfM0PKxA==", 19923 "integrity": "sha512-X5lzbC8/kMNHdPOqQPfMKpH4VV2f7v2OTRJoN69ZYBirSwTeQaf9ZhmzPEO9ybMA0YV2Pha5MV27u2/U4ahWfg==",
19924 "requires": {
19925 "ansi-cyan": "^0.1.1",
19926 "prompt-base": "^4.0.1"
19927 }
19928 },
19929 "prompt-expand": {
19930 "version": "1.0.1",
19931 "resolved": "https://registry.npmjs.org/prompt-expand/-/prompt-expand-1.0.1.tgz",
19932 "integrity": "sha512-BDTw6tuWF6TuM1ZmwN5K/p6FCmm2E/QeQbtKoL76HrVdgjUQab9MQnIcWfTPh5d0NOO7Rf/Y1onvIQMkEw3Srg==",
19933 "requires": {
19934 "ansi-colors": "^1.1.0",
19935 "prompt-rawlist": "^2.0.1"
19936 }
19937 },
19938 "prompt-input": {
19939 "version": "3.0.0",
19940 "resolved": "https://registry.npmjs.org/prompt-input/-/prompt-input-3.0.0.tgz",
19941 "integrity": "sha512-c0udMEi7nWE+n+enZKfyMl+HWZ6/0qFELGqzWTQ1D2QXCFwDpFZ1X41+CmYwjGwEkGFQVBTLMH+8VenvR5uGOA==",
19942 "requires": {
19943 "debug": "^2.6.8",
19944 "prompt-base": "^4.0.2"
19945 },
19946 "dependencies": {
19947 "debug": {
19948 "version": "2.6.9",
19949 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
19950 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
19951 "requires": {
19952 "ms": "2.0.0"
19953 }
19954 },
19955 "ms": {
19956 "version": "2.0.0",
19957 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
19958 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
19959 }
19960 }
19961 },
19962 "prompt-list": {
19963 "version": "3.2.0",
19964 "resolved": "https://registry.npmjs.org/prompt-list/-/prompt-list-3.2.0.tgz",
19965 "integrity": "sha512-PDao47cmC9+m2zEUghH+WIIascd8SuyyWO+akuUubd0XxOQyUH96HMdIcL3YnNS8kJUHwddH1rHVgL9vZA1QsQ==",
19966 "requires": {
19967 "ansi-cyan": "^0.1.1",
19968 "ansi-dim": "^0.1.1",
19969 "prompt-radio": "^1.2.1"
19970 }
19971 },
19972 "prompt-password": {
19973 "version": "1.2.0",
19974 "resolved": "https://registry.npmjs.org/prompt-password/-/prompt-password-1.2.0.tgz",
19975 "integrity": "sha512-lBehk9YPGLxH9hAJ+VU7Bj/ePi9t5kPL/1ZBGZ2fLrDX1QeaBwi4RtQggZrsbMalGJaXaAuo/7VOa7QvbE2hAQ==",
19976 "requires": {
19977 "debug": "^2.6.8",
19978 "prompt-base": "^4.0.2"
19979 },
19980 "dependencies": {
19981 "debug": {
19982 "version": "2.6.9",
19983 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
19984 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
19985 "requires": {
19986 "ms": "2.0.0"
19987 }
19988 },
19989 "ms": {
19990 "version": "2.0.0",
19991 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
19992 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
19993 }
19994 }
19995 },
19996 "prompt-question": {
19997 "version": "3.0.3",
19998 "resolved": "https://registry.npmjs.org/prompt-question/-/prompt-question-3.0.3.tgz",
19999 "integrity": "sha1-xVhYvXaxh4wequy5F6koqcE8ijc=",
20000 "requires": {
20001 "clone-deep": "^0.3.0",
20002 "debug": "^2.6.8",
20003 "define-property": "^1.0.0",
20004 "extend-shallow": "^2.0.1",
20005 "kind-of": "^4.0.0",
20006 "koalas": "^1.0.2",
20007 "prompt-choices": "^3.0.3"
20008 },
20009 "dependencies": {
20010 "clone-deep": {
20011 "version": "0.3.0",
20012 "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.3.0.tgz",
20013 "integrity": "sha1-NIxhrpzb4O3+BT2R/0zFIdeQ7eg=",
20014 "requires": {
20015 "for-own": "^1.0.0",
20016 "is-plain-object": "^2.0.1",
20017 "kind-of": "^3.2.2",
20018 "shallow-clone": "^0.1.2"
20019 },
20020 "dependencies": {
20021 "kind-of": {
20022 "version": "3.2.2",
20023 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
20024 "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
20025 "requires": {
20026 "is-buffer": "^1.1.5"
20027 }
20028 }
20029 }
20030 },
20031 "debug": {
20032 "version": "2.6.9",
20033 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
20034 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
20035 "requires": {
20036 "ms": "2.0.0"
20037 }
20038 },
20039 "define-property": {
20040 "version": "1.0.0",
20041 "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
20042 "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
20043 "requires": {
20044 "is-descriptor": "^1.0.0"
20045 }
20046 },
20047 "extend-shallow": {
20048 "version": "2.0.1",
20049 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
20050 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
20051 "requires": {
20052 "is-extendable": "^0.1.0"
20053 }
20054 },
20055 "is-accessor-descriptor": {
20056 "version": "1.0.0",
20057 "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
20058 "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
20059 "requires": {
20060 "kind-of": "^6.0.0"
20061 },
20062 "dependencies": {
20063 "kind-of": {
20064 "version": "6.0.2",
20065 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
20066 "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
20067 }
20068 }
20069 },
20070 "is-data-descriptor": {
20071 "version": "1.0.0",
20072 "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
20073 "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
20074 "requires": {
20075 "kind-of": "^6.0.0"
20076 },
20077 "dependencies": {
20078 "kind-of": {
20079 "version": "6.0.2",
20080 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
20081 "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
20082 }
20083 }
20084 },
20085 "is-descriptor": {
20086 "version": "1.0.2",
20087 "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
20088 "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
20089 "requires": {
20090 "is-accessor-descriptor": "^1.0.0",
20091 "is-data-descriptor": "^1.0.0",
20092 "kind-of": "^6.0.2"
20093 },
20094 "dependencies": {
20095 "kind-of": {
20096 "version": "6.0.2",
20097 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
20098 "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
20099 }
20100 }
20101 },
20102 "kind-of": {
20103 "version": "4.0.0",
20104 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
20105 "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
20106 "requires": {
20107 "is-buffer": "^1.1.5"
20108 }
20109 },
20110 "lazy-cache": {
20111 "version": "0.2.7",
20112 "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz",
20113 "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U="
20114 },
20115 "ms": {
20116 "version": "2.0.0",
20117 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
20118 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
20119 },
20120 "prompt-choices": {
20121 "version": "3.0.6",
20122 "resolved": "https://registry.npmjs.org/prompt-choices/-/prompt-choices-3.0.6.tgz",
20123 "integrity": "sha1-XDXD2Z7hft/ZVjwfuBBGsISe+P8=",
20124 "requires": {
20125 "arr-flatten": "^1.0.3",
20126 "choices-separator": "^2.0.0",
20127 "clone-deep": "^0.3.0",
20128 "collection-visit": "^1.0.0",
20129 "debug": "^2.6.8",
20130 "define-property": "^1.0.0",
20131 "extend-shallow": "^2.0.1",
20132 "is-number": "^3.0.0",
20133 "kind-of": "^4.0.0",
20134 "lazy-cache": "^2.0.2",
20135 "log-utils": "^0.2.1",
20136 "pointer-symbol": "^1.0.0",
20137 "radio-symbol": "^2.0.0",
20138 "set-value": "^1.0.0",
20139 "strip-color": "^0.1.0",
20140 "terminal-paginator": "^2.0.0",
20141 "toggle-array": "^1.0.1"
20142 },
20143 "dependencies": {
20144 "lazy-cache": {
20145 "version": "2.0.2",
20146 "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
20147 "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
20148 "requires": {
20149 "set-getter": "^0.1.0"
20150 }
20151 }
20152 }
20153 },
20154 "set-value": {
20155 "version": "1.0.0",
20156 "resolved": "https://registry.npmjs.org/set-value/-/set-value-1.0.0.tgz",
20157 "integrity": "sha1-vMdvcaDx4HokuYfQoCr+yfZlME8=",
20158 "requires": {
20159 "extend-shallow": "^2.0.1",
20160 "is-extendable": "^0.1.1",
20161 "is-plain-object": "^2.0.1",
20162 "to-object-path": "^0.3.0"
20163 }
20164 },
20165 "shallow-clone": {
20166 "version": "0.1.2",
20167 "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz",
20168 "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=",
20169 "requires": {
20170 "is-extendable": "^0.1.1",
20171 "kind-of": "^2.0.1",
20172 "lazy-cache": "^0.2.3",
20173 "mixin-object": "^2.0.1"
20174 },
20175 "dependencies": {
20176 "kind-of": {
20177 "version": "2.0.1",
20178 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz",
20179 "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=",
20180 "requires": {
20181 "is-buffer": "^1.0.2"
20182 }
20183 }
20184 }
20185 }
20186 }
20187 },
20188 "prompt-radio": {
20189 "version": "1.2.1",
20190 "resolved": "https://registry.npmjs.org/prompt-radio/-/prompt-radio-1.2.1.tgz",
20191 "integrity": "sha512-vH1iAkgbWyvZBC1BTajydiHmwJP4F1b684gq0fm2wOjPVW1zaDo01OXWr/Dske0XdoHhtZFNMOXNj/ZUSRBywg==",
20192 "requires": {
20193 "debug": "^2.6.8",
20194 "prompt-checkbox": "^2.2.0"
20195 },
20196 "dependencies": {
20197 "debug": {
20198 "version": "2.6.9",
20199 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
20200 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
20201 "requires": {
20202 "ms": "2.0.0"
20203 }
20204 },
20205 "ms": {
20206 "version": "2.0.0",
20207 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
20208 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
20209 }
20210 }
20211 },
20212 "prompt-rawlist": {
20213 "version": "2.0.1",
20214 "resolved": "https://registry.npmjs.org/prompt-rawlist/-/prompt-rawlist-2.0.1.tgz",
20215 "integrity": "sha512-mhCPnC7fvjcCZuksiF380arJKiXjSP9WT6kZqO+biFg+yHBpDLAs4GCck5nRkvL9ikYur/wPz6fAzV63HI7gLg==",
20216 "requires": {
20217 "ansi-cyan": "^0.1.1",
20218 "ansi-dim": "^0.1.1",
20219 "ansi-red": "^0.1.1",
20220 "is-number": "^3.0.0",
20221 "prompt-list": "^2.0.1"
20222 },
20223 "dependencies": {
20224 "debug": {
20225 "version": "3.2.6",
20226 "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
20227 "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
20228 "requires": {
20229 "ms": "^2.1.1"
20230 }
20231 },
20232 "prompt-list": {
20233 "version": "2.2.0",
20234 "resolved": "https://registry.npmjs.org/prompt-list/-/prompt-list-2.2.0.tgz",
20235 "integrity": "sha512-41Eu3las4OthLTotMC6VyGPQaLXKWnoyqirgGKzTHxErV5JEediDkdjv+FF4AKTwBCkpt2I0TQSa24qAU1b9Bw==",
20236 "requires": {
20237 "ansi-cyan": "^0.1.1",
20238 "ansi-dim": "^0.1.1",
20239 "debug": "^3.0.1",
20240 "prompt-radio": "^1.2.1"
20241 }
20242 }
20243 }
20244 },
20245 "prompts": {
20246 "version": "2.2.1",
20247 "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.2.1.tgz",
20248 "integrity": "sha512-VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw==",
16604 "dev": true, 20249 "dev": true,
16605 "requires": { 20250 "requires": {
16606 "kleur": "^3.0.2", 20251 "kleur": "^3.0.3",
16607 "sisteransi": "^1.0.0" 20252 "sisteransi": "^1.0.3"
16608 } 20253 }
16609 }, 20254 },
16610 "promzard": { 20255 "promzard": {
@@ -16617,10 +20262,11 @@
16617 } 20262 }
16618 }, 20263 },
16619 "prop-types": { 20264 "prop-types": {
16620 "version": "15.7.1", 20265 "version": "15.7.2",
16621 "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.1.tgz", 20266 "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
16622 "integrity": "sha512-f8Lku2z9kERjOCcnDOPm68EBJAO2K00Q5mSgPAUE/gJuBgsYLbVy6owSrtcHj90zt8PvW+z0qaIIgsIhHOa1Qw==", 20267 "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
16623 "requires": { 20268 "requires": {
20269 "loose-envify": "^1.4.0",
16624 "object-assign": "^4.1.1", 20270 "object-assign": "^4.1.1",
16625 "react-is": "^16.8.1" 20271 "react-is": "^16.8.1"
16626 } 20272 }
@@ -16647,13 +20293,12 @@
16647 } 20293 }
16648 }, 20294 },
16649 "proxy-addr": { 20295 "proxy-addr": {
16650 "version": "2.0.4", 20296 "version": "2.0.5",
16651 "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", 20297 "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz",
16652 "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", 20298 "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==",
16653 "dev": true,
16654 "requires": { 20299 "requires": {
16655 "forwarded": "~0.1.2", 20300 "forwarded": "~0.1.2",
16656 "ipaddr.js": "1.8.0" 20301 "ipaddr.js": "1.9.0"
16657 } 20302 }
16658 }, 20303 },
16659 "proxy-middleware": { 20304 "proxy-middleware": {
@@ -16671,14 +20316,12 @@
16671 "pseudomap": { 20316 "pseudomap": {
16672 "version": "1.0.2", 20317 "version": "1.0.2",
16673 "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", 20318 "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
16674 "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", 20319 "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
16675 "dev": true
16676 }, 20320 },
16677 "psl": { 20321 "psl": {
16678 "version": "1.1.31", 20322 "version": "1.4.0",
16679 "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", 20323 "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz",
16680 "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==", 20324 "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw=="
16681 "dev": true
16682 }, 20325 },
16683 "public-encrypt": { 20326 "public-encrypt": {
16684 "version": "4.0.3", 20327 "version": "4.0.3",
@@ -16698,7 +20341,6 @@
16698 "version": "3.0.0", 20341 "version": "3.0.0",
16699 "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 20342 "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
16700 "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 20343 "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
16701 "dev": true,
16702 "requires": { 20344 "requires": {
16703 "end-of-stream": "^1.1.0", 20345 "end-of-stream": "^1.1.0",
16704 "once": "^1.3.1" 20346 "once": "^1.3.1"
@@ -16730,8 +20372,7 @@
16730 "punycode": { 20372 "punycode": {
16731 "version": "2.1.1", 20373 "version": "2.1.1",
16732 "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 20374 "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
16733 "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 20375 "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
16734 "dev": true
16735 }, 20376 },
16736 "pupa": { 20377 "pupa": {
16737 "version": "1.0.0", 20378 "version": "1.0.0",
@@ -16747,8 +20388,7 @@
16747 "qs": { 20388 "qs": {
16748 "version": "6.5.2", 20389 "version": "6.5.2",
16749 "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", 20390 "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
16750 "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", 20391 "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
16751 "dev": true
16752 }, 20392 },
16753 "query-string": { 20393 "query-string": {
16754 "version": "4.3.4", 20394 "version": "4.3.4",
@@ -16772,9 +20412,9 @@
16772 "dev": true 20412 "dev": true
16773 }, 20413 },
16774 "querystringify": { 20414 "querystringify": {
16775 "version": "2.1.0", 20415 "version": "2.1.1",
16776 "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.0.tgz", 20416 "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz",
16777 "integrity": "sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg==", 20417 "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==",
16778 "dev": true 20418 "dev": true
16779 }, 20419 },
16780 "quick-lru": { 20420 "quick-lru": {
@@ -16783,6 +20423,21 @@
16783 "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", 20423 "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=",
16784 "dev": true 20424 "dev": true
16785 }, 20425 },
20426 "radio-symbol": {
20427 "version": "2.0.0",
20428 "resolved": "https://registry.npmjs.org/radio-symbol/-/radio-symbol-2.0.0.tgz",
20429 "integrity": "sha1-eqm/xQSFY21S3XbWqOYxspB5muE=",
20430 "requires": {
20431 "ansi-gray": "^0.1.1",
20432 "ansi-green": "^0.1.1",
20433 "is-windows": "^1.0.1"
20434 }
20435 },
20436 "random-bytes": {
20437 "version": "1.0.0",
20438 "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz",
20439 "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs="
20440 },
16786 "randomatic": { 20441 "randomatic": {
16787 "version": "3.1.1", 20442 "version": "3.1.1",
16788 "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", 20443 "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz",
@@ -16803,9 +20458,9 @@
16803 } 20458 }
16804 }, 20459 },
16805 "randombytes": { 20460 "randombytes": {
16806 "version": "2.0.6", 20461 "version": "2.1.0",
16807 "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", 20462 "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
16808 "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", 20463 "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
16809 "dev": true, 20464 "dev": true,
16810 "requires": { 20465 "requires": {
16811 "safe-buffer": "^5.1.0" 20466 "safe-buffer": "^5.1.0"
@@ -16828,25 +20483,20 @@
16828 "dev": true 20483 "dev": true
16829 }, 20484 },
16830 "raw-body": { 20485 "raw-body": {
16831 "version": "2.3.3", 20486 "version": "2.4.0",
16832 "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", 20487 "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
16833 "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", 20488 "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
16834 "dev": true,
16835 "requires": { 20489 "requires": {
16836 "bytes": "3.0.0", 20490 "bytes": "3.1.0",
16837 "http-errors": "1.6.3", 20491 "http-errors": "1.7.2",
16838 "iconv-lite": "0.4.23", 20492 "iconv-lite": "0.4.24",
16839 "unpipe": "1.0.0" 20493 "unpipe": "1.0.0"
16840 }, 20494 },
16841 "dependencies": { 20495 "dependencies": {
16842 "iconv-lite": { 20496 "bytes": {
16843 "version": "0.4.23", 20497 "version": "3.1.0",
16844 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", 20498 "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
16845 "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", 20499 "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
16846 "dev": true,
16847 "requires": {
16848 "safer-buffer": ">= 2.1.2 < 3"
16849 }
16850 } 20500 }
16851 } 20501 }
16852 }, 20502 },
@@ -16854,12 +20504,18 @@
16854 "version": "1.2.8", 20504 "version": "1.2.8",
16855 "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", 20505 "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
16856 "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", 20506 "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
16857 "dev": true,
16858 "requires": { 20507 "requires": {
16859 "deep-extend": "^0.6.0", 20508 "deep-extend": "^0.6.0",
16860 "ini": "~1.3.0", 20509 "ini": "~1.3.0",
16861 "minimist": "^1.2.0", 20510 "minimist": "^1.2.0",
16862 "strip-json-comments": "~2.0.1" 20511 "strip-json-comments": "~2.0.1"
20512 },
20513 "dependencies": {
20514 "minimist": {
20515 "version": "1.2.0",
20516 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
20517 "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
20518 }
16863 } 20519 }
16864 }, 20520 },
16865 "react": { 20521 "react": {
@@ -16918,9 +20574,9 @@
16918 } 20574 }
16919 }, 20575 },
16920 "react-html-attributes": { 20576 "react-html-attributes": {
16921 "version": "1.4.3", 20577 "version": "1.4.6",
16922 "resolved": "https://registry.npmjs.org/react-html-attributes/-/react-html-attributes-1.4.3.tgz", 20578 "resolved": "https://registry.npmjs.org/react-html-attributes/-/react-html-attributes-1.4.6.tgz",
16923 "integrity": "sha1-jDbDX85rdQk40oavQo7R2nYlGG4=", 20579 "integrity": "sha512-uS3MmThNKFH2EZUQQw4k5pIcU7XIr208UE5dktrj/GOH1CMagqxDl4DCLpt3o2l9x+IB5nVYBeN3Cr4IutBXAg==",
16924 "requires": { 20580 "requires": {
16925 "html-element-attributes": "^1.0.0" 20581 "html-element-attributes": "^1.0.0"
16926 } 20582 }
@@ -16957,9 +20613,9 @@
16957 } 20613 }
16958 }, 20614 },
16959 "react-is": { 20615 "react-is": {
16960 "version": "16.8.1", 20616 "version": "16.9.0",
16961 "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.1.tgz", 20617 "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.9.0.tgz",
16962 "integrity": "sha512-ioMCzVDWvCvKD8eeT+iukyWrBGrA3DiFYkXfBsVYIRdaREZuBjENG+KjrikavCLasozqRWTwFUagU/O4vPpRMA==" 20618 "integrity": "sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw=="
16963 }, 20619 },
16964 "react-jss": { 20620 "react-jss": {
16965 "version": "8.6.1", 20621 "version": "8.6.1",
@@ -17007,16 +20663,17 @@
17007 } 20663 }
17008 }, 20664 },
17009 "react-router": { 20665 "react-router": {
17010 "version": "3.2.1", 20666 "version": "3.2.4",
17011 "resolved": "https://registry.npmjs.org/react-router/-/react-router-3.2.1.tgz", 20667 "resolved": "https://registry.npmjs.org/react-router/-/react-router-3.2.4.tgz",
17012 "integrity": "sha512-SXkhC0nr3G0ltzVU07IN8jYl0bB6FsrDIqlLC9dK3SITXqyTJyM7yhXlUqs89w3Nqi5OkXsfRUeHX+P874HQrg==", 20668 "integrity": "sha512-5kIJXV1Yx+FYk0lDJoPQnt+qFf7HxS6XrIm2aCw0r3XQTxixFd0HSVlHenYRWKmSHlcvSQ7bpYWgdRwJGXWPKw==",
17013 "requires": { 20669 "requires": {
17014 "create-react-class": "^15.5.1", 20670 "create-react-class": "^15.5.1",
17015 "history": "^3.0.0", 20671 "history": "^3.0.0",
17016 "hoist-non-react-statics": "^2.3.1", 20672 "hoist-non-react-statics": "^2.3.1",
17017 "invariant": "^2.2.1", 20673 "invariant": "^2.2.1",
17018 "loose-envify": "^1.2.0", 20674 "loose-envify": "^1.2.0",
17019 "prop-types": "^15.5.6", 20675 "prop-types": "^15.7.2",
20676 "react-is": "^16.8.6",
17020 "warning": "^3.0.0" 20677 "warning": "^3.0.0"
17021 }, 20678 },
17022 "dependencies": { 20679 "dependencies": {
@@ -17060,13 +20717,14 @@
17060 } 20717 }
17061 }, 20718 },
17062 "react-virtualized": { 20719 "react-virtualized": {
17063 "version": "9.21.0", 20720 "version": "9.21.1",
17064 "resolved": "https://registry.npmjs.org/react-virtualized/-/react-virtualized-9.21.0.tgz", 20721 "resolved": "https://registry.npmjs.org/react-virtualized/-/react-virtualized-9.21.1.tgz",
17065 "integrity": "sha512-duKD2HvO33mqld4EtQKm9H9H0p+xce1c++2D5xn59Ma7P8VT7CprfAe5hwjd1OGkyhqzOZiTMlTal7LxjH5yBQ==", 20722 "integrity": "sha512-E53vFjRRMCyUTEKuDLuGH1ld/9TFzjf/fFW816PE4HFXWZorESbSTYtiZz1oAjra0MminaUU1EnvUxoGuEFFPA==",
17066 "requires": { 20723 "requires": {
17067 "babel-runtime": "^6.26.0", 20724 "babel-runtime": "^6.26.0",
17068 "classnames": "^2.2.3", 20725 "clsx": "^1.0.1",
17069 "dom-helpers": "^2.4.0 || ^3.0.0", 20726 "dom-helpers": "^2.4.0 || ^3.0.0",
20727 "linear-layout-vector": "0.0.1",
17070 "loose-envify": "^1.3.0", 20728 "loose-envify": "^1.3.0",
17071 "prop-types": "^15.6.0", 20729 "prop-types": "^15.6.0",
17072 "react-lifecycles-compat": "^3.0.4" 20730 "react-lifecycles-compat": "^3.0.4"
@@ -17087,9 +20745,9 @@
17087 } 20745 }
17088 }, 20746 },
17089 "read-cmd-shim": { 20747 "read-cmd-shim": {
17090 "version": "1.0.1", 20748 "version": "1.0.4",
17091 "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz", 20749 "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.4.tgz",
17092 "integrity": "sha1-LV0Vd4ajfAVdIgd8MsU/gynpHHs=", 20750 "integrity": "sha512-Pqpl3qJ/QdOIjRYA0q5DND/gLvGOfpIz/fYVDGYpOXfW/lFrIttmLsBnd6IkyK10+JHU9zhsaudfvrQTBB9YFQ==",
17093 "dev": true, 20751 "dev": true,
17094 "requires": { 20752 "requires": {
17095 "graceful-fs": "^4.1.2" 20753 "graceful-fs": "^4.1.2"
@@ -17125,35 +20783,13 @@
17125 "jsonfile": "^4.0.0", 20783 "jsonfile": "^4.0.0",
17126 "universalify": "^0.1.0" 20784 "universalify": "^0.1.0"
17127 } 20785 }
17128 },
17129 "graceful-fs": {
17130 "version": "4.2.2",
17131 "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
17132 "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==",
17133 "dev": true
17134 },
17135 "js-yaml": {
17136 "version": "3.13.1",
17137 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
17138 "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
17139 "dev": true,
17140 "requires": {
17141 "argparse": "^1.0.7",
17142 "esprima": "^4.0.0"
17143 }
17144 },
17145 "lazy-val": {
17146 "version": "1.0.4",
17147 "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.4.tgz",
17148 "integrity": "sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q==",
17149 "dev": true
17150 } 20786 }
17151 } 20787 }
17152 }, 20788 },
17153 "read-package-json": { 20789 "read-package-json": {
17154 "version": "2.0.13", 20790 "version": "2.1.0",
17155 "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.13.tgz", 20791 "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.0.tgz",
17156 "integrity": "sha512-/1dZ7TRZvGrYqE0UAfN6qQb5GYBsNcqS1C0tNK601CFOJmtHI7NIGXwetEPU/OtoFHZL3hDxm4rolFFVE9Bnmg==", 20792 "integrity": "sha512-KLhu8M1ZZNkMcrq1+0UJbR8Dii8KZUqB0Sha4mOx/bknfKI/fyrQVrG/YIt2UOtG667sD8+ee4EXMM91W9dC+A==",
17157 "dev": true, 20793 "dev": true,
17158 "requires": { 20794 "requires": {
17159 "glob": "^7.1.1", 20795 "glob": "^7.1.1",
@@ -17172,16 +20808,14 @@
17172 } 20808 }
17173 }, 20809 },
17174 "read-package-tree": { 20810 "read-package-tree": {
17175 "version": "5.2.1", 20811 "version": "5.3.1",
17176 "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.2.1.tgz", 20812 "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz",
17177 "integrity": "sha512-2CNoRoh95LxY47LvqrehIAfUVda2JbuFE/HaGYs42bNrGG+ojbw1h3zOcPcQ+1GQ3+rkzNndZn85u1XyZ3UsIA==", 20813 "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==",
17178 "dev": true, 20814 "dev": true,
17179 "requires": { 20815 "requires": {
17180 "debuglog": "^1.0.1",
17181 "dezalgo": "^1.0.0",
17182 "once": "^1.3.0",
17183 "read-package-json": "^2.0.0", 20816 "read-package-json": "^2.0.0",
17184 "readdir-scoped-modules": "^1.0.0" 20817 "readdir-scoped-modules": "^1.0.0",
20818 "util-promisify": "^2.1.0"
17185 } 20819 }
17186 }, 20820 },
17187 "read-pkg": { 20821 "read-pkg": {
@@ -17262,9 +20896,9 @@
17262 } 20896 }
17263 }, 20897 },
17264 "readable-stream": { 20898 "readable-stream": {
17265 "version": "3.1.1", 20899 "version": "3.4.0",
17266 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz", 20900 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
17267 "integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==", 20901 "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
17268 "requires": { 20902 "requires": {
17269 "inherits": "^2.0.3", 20903 "inherits": "^2.0.3",
17270 "string_decoder": "^1.1.1", 20904 "string_decoder": "^1.1.1",
@@ -17272,9 +20906,9 @@
17272 } 20906 }
17273 }, 20907 },
17274 "readdir-scoped-modules": { 20908 "readdir-scoped-modules": {
17275 "version": "1.0.2", 20909 "version": "1.1.0",
17276 "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz", 20910 "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz",
17277 "integrity": "sha1-n6+jfShr5dksuuve4DDcm19AZ0c=", 20911 "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==",
17278 "dev": true, 20912 "dev": true,
17279 "requires": { 20913 "requires": {
17280 "debuglog": "^1.0.1", 20914 "debuglog": "^1.0.1",
@@ -17309,6 +20943,12 @@
17309 "util-deprecate": "~1.0.1" 20943 "util-deprecate": "~1.0.1"
17310 } 20944 }
17311 }, 20945 },
20946 "safe-buffer": {
20947 "version": "5.1.2",
20948 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
20949 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
20950 "dev": true
20951 },
17312 "string_decoder": { 20952 "string_decoder": {
17313 "version": "1.1.1", 20953 "version": "1.1.1",
17314 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 20954 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -17320,6 +20960,101 @@
17320 } 20960 }
17321 } 20961 }
17322 }, 20962 },
20963 "readline-ui": {
20964 "version": "2.2.3",
20965 "resolved": "https://registry.npmjs.org/readline-ui/-/readline-ui-2.2.3.tgz",
20966 "integrity": "sha512-ix7jz0PxqQqcIuq3yQTHv1TOhlD2IHO74aNO+lSuXsRYm1d+pdyup1yF3zKyLK1wWZrVNGjkzw5tUegO2IDy+A==",
20967 "requires": {
20968 "component-emitter": "^1.2.1",
20969 "debug": "^2.6.8",
20970 "readline-utils": "^2.2.1",
20971 "string-width": "^2.0.0"
20972 },
20973 "dependencies": {
20974 "debug": {
20975 "version": "2.6.9",
20976 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
20977 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
20978 "requires": {
20979 "ms": "2.0.0"
20980 }
20981 },
20982 "ms": {
20983 "version": "2.0.0",
20984 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
20985 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
20986 }
20987 }
20988 },
20989 "readline-utils": {
20990 "version": "2.2.3",
20991 "resolved": "https://registry.npmjs.org/readline-utils/-/readline-utils-2.2.3.tgz",
20992 "integrity": "sha1-b4R9a48ZFcORtYHDZ81HhzhiNRo=",
20993 "requires": {
20994 "arr-flatten": "^1.1.0",
20995 "extend-shallow": "^2.0.1",
20996 "is-buffer": "^1.1.5",
20997 "is-number": "^3.0.0",
20998 "is-windows": "^1.0.1",
20999 "koalas": "^1.0.2",
21000 "mute-stream": "0.0.7",
21001 "strip-color": "^0.1.0",
21002 "window-size": "^1.1.0"
21003 },
21004 "dependencies": {
21005 "define-property": {
21006 "version": "1.0.0",
21007 "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
21008 "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
21009 "requires": {
21010 "is-descriptor": "^1.0.0"
21011 }
21012 },
21013 "extend-shallow": {
21014 "version": "2.0.1",
21015 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
21016 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
21017 "requires": {
21018 "is-extendable": "^0.1.0"
21019 }
21020 },
21021 "is-accessor-descriptor": {
21022 "version": "1.0.0",
21023 "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
21024 "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
21025 "requires": {
21026 "kind-of": "^6.0.0"
21027 }
21028 },
21029 "is-data-descriptor": {
21030 "version": "1.0.0",
21031 "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
21032 "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
21033 "requires": {
21034 "kind-of": "^6.0.0"
21035 }
21036 },
21037 "is-descriptor": {
21038 "version": "1.0.2",
21039 "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
21040 "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
21041 "requires": {
21042 "is-accessor-descriptor": "^1.0.0",
21043 "is-data-descriptor": "^1.0.0",
21044 "kind-of": "^6.0.2"
21045 }
21046 },
21047 "window-size": {
21048 "version": "1.1.1",
21049 "resolved": "https://registry.npmjs.org/window-size/-/window-size-1.1.1.tgz",
21050 "integrity": "sha512-5D/9vujkmVQ7pSmc0SCBmHXbkv6eaHwXEx65MywhmUMsI8sGqJ972APq1lotfcwMKPFLuCFfL8xGHLIp7jaBmA==",
21051 "requires": {
21052 "define-property": "^1.0.0",
21053 "is-number": "^3.0.0"
21054 }
21055 }
21056 }
21057 },
17323 "realpath-native": { 21058 "realpath-native": {
17324 "version": "1.1.0", 21059 "version": "1.1.0",
17325 "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", 21060 "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz",
@@ -17333,7 +21068,6 @@
17333 "version": "0.6.2", 21068 "version": "0.6.2",
17334 "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", 21069 "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
17335 "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", 21070 "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
17336 "dev": true,
17337 "requires": { 21071 "requires": {
17338 "resolve": "^1.1.6" 21072 "resolve": "^1.1.6"
17339 } 21073 }
@@ -17361,23 +21095,23 @@
17361 "dev": true 21095 "dev": true
17362 }, 21096 },
17363 "regenerate-unicode-properties": { 21097 "regenerate-unicode-properties": {
17364 "version": "7.0.0", 21098 "version": "8.1.0",
17365 "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz", 21099 "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz",
17366 "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==", 21100 "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==",
17367 "dev": true, 21101 "dev": true,
17368 "requires": { 21102 "requires": {
17369 "regenerate": "^1.4.0" 21103 "regenerate": "^1.4.0"
17370 } 21104 }
17371 }, 21105 },
17372 "regenerator-runtime": { 21106 "regenerator-runtime": {
17373 "version": "0.13.2", 21107 "version": "0.13.3",
17374 "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz", 21108 "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
17375 "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==" 21109 "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw=="
17376 }, 21110 },
17377 "regenerator-transform": { 21111 "regenerator-transform": {
17378 "version": "0.13.3", 21112 "version": "0.14.1",
17379 "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", 21113 "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz",
17380 "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", 21114 "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==",
17381 "dev": true, 21115 "dev": true,
17382 "requires": { 21116 "requires": {
17383 "private": "^0.1.6" 21117 "private": "^0.1.6"
@@ -17396,7 +21130,6 @@
17396 "version": "1.0.2", 21130 "version": "1.0.2",
17397 "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", 21131 "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
17398 "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", 21132 "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
17399 "dev": true,
17400 "requires": { 21133 "requires": {
17401 "extend-shallow": "^3.0.2", 21134 "extend-shallow": "^3.0.2",
17402 "safe-regex": "^1.1.0" 21135 "safe-regex": "^1.1.0"
@@ -17408,14 +21141,18 @@
17408 "integrity": "sha1-Hg9GUMhi3L/tVP1CsUjpuxch/PI=" 21141 "integrity": "sha1-Hg9GUMhi3L/tVP1CsUjpuxch/PI="
17409 }, 21142 },
17410 "regexp-tree": { 21143 "regexp-tree": {
17411 "version": "0.1.1", 21144 "version": "0.1.13",
17412 "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.1.tgz", 21145 "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.13.tgz",
17413 "integrity": "sha512-HwRjOquc9QOwKTgbxvZTcddS5mlNlwePMQ3NFL8broajMLD5CXDAqas8Y5yxJH5QtZp5iRor3YCILd5pz71Cgw==", 21146 "integrity": "sha512-hwdV/GQY5F8ReLZWO+W1SRoN5YfpOKY6852+tBFcma72DKBIcHjPRIlIvQN35bCOljuAfP2G2iB0FC/w236mUw==",
21147 "dev": true
21148 },
21149 "regexp.prototype.flags": {
21150 "version": "1.2.0",
21151 "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz",
21152 "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==",
17414 "dev": true, 21153 "dev": true,
17415 "requires": { 21154 "requires": {
17416 "cli-table3": "^0.5.0", 21155 "define-properties": "^1.1.2"
17417 "colors": "^1.1.2",
17418 "yargs": "^12.0.5"
17419 } 21156 }
17420 }, 21157 },
17421 "regexpp": { 21158 "regexpp": {
@@ -17425,17 +21162,17 @@
17425 "dev": true 21162 "dev": true
17426 }, 21163 },
17427 "regexpu-core": { 21164 "regexpu-core": {
17428 "version": "4.4.0", 21165 "version": "4.6.0",
17429 "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.4.0.tgz", 21166 "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz",
17430 "integrity": "sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA==", 21167 "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==",
17431 "dev": true, 21168 "dev": true,
17432 "requires": { 21169 "requires": {
17433 "regenerate": "^1.4.0", 21170 "regenerate": "^1.4.0",
17434 "regenerate-unicode-properties": "^7.0.0", 21171 "regenerate-unicode-properties": "^8.1.0",
17435 "regjsgen": "^0.5.0", 21172 "regjsgen": "^0.5.0",
17436 "regjsparser": "^0.6.0", 21173 "regjsparser": "^0.6.0",
17437 "unicode-match-property-ecmascript": "^1.0.4", 21174 "unicode-match-property-ecmascript": "^1.0.4",
17438 "unicode-match-property-value-ecmascript": "^1.0.2" 21175 "unicode-match-property-value-ecmascript": "^1.1.0"
17439 } 21176 }
17440 }, 21177 },
17441 "registry-auth-token": { 21178 "registry-auth-token": {
@@ -17483,8 +21220,7 @@
17483 "relateurl": { 21220 "relateurl": {
17484 "version": "0.2.7", 21221 "version": "0.2.7",
17485 "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", 21222 "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
17486 "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", 21223 "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk="
17487 "dev": true
17488 }, 21224 },
17489 "remove-bom-buffer": { 21225 "remove-bom-buffer": {
17490 "version": "3.0.0", 21226 "version": "3.0.0",
@@ -17505,6 +21241,58 @@
17505 "remove-bom-buffer": "^3.0.0", 21241 "remove-bom-buffer": "^3.0.0",
17506 "safe-buffer": "^5.1.0", 21242 "safe-buffer": "^5.1.0",
17507 "through2": "^2.0.3" 21243 "through2": "^2.0.3"
21244 },
21245 "dependencies": {
21246 "readable-stream": {
21247 "version": "2.3.6",
21248 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
21249 "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
21250 "dev": true,
21251 "requires": {
21252 "core-util-is": "~1.0.0",
21253 "inherits": "~2.0.3",
21254 "isarray": "~1.0.0",
21255 "process-nextick-args": "~2.0.0",
21256 "safe-buffer": "~5.1.1",
21257 "string_decoder": "~1.1.1",
21258 "util-deprecate": "~1.0.1"
21259 },
21260 "dependencies": {
21261 "safe-buffer": {
21262 "version": "5.1.2",
21263 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
21264 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
21265 "dev": true
21266 }
21267 }
21268 },
21269 "string_decoder": {
21270 "version": "1.1.1",
21271 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
21272 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
21273 "dev": true,
21274 "requires": {
21275 "safe-buffer": "~5.1.0"
21276 },
21277 "dependencies": {
21278 "safe-buffer": {
21279 "version": "5.1.2",
21280 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
21281 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
21282 "dev": true
21283 }
21284 }
21285 },
21286 "through2": {
21287 "version": "2.0.5",
21288 "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
21289 "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
21290 "dev": true,
21291 "requires": {
21292 "readable-stream": "~2.3.6",
21293 "xtend": "~4.0.1"
21294 }
21295 }
17508 } 21296 }
17509 }, 21297 },
17510 "remove-trailing-separator": { 21298 "remove-trailing-separator": {
@@ -17513,14 +21301,14 @@
17513 "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" 21301 "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
17514 }, 21302 },
17515 "renderkid": { 21303 "renderkid": {
17516 "version": "2.0.2", 21304 "version": "2.0.3",
17517 "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.2.tgz", 21305 "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz",
17518 "integrity": "sha512-FsygIxevi1jSiPY9h7vZmBFUbAOcbYm9UwyiLNdVsLRs/5We9Ob5NMPbGYUTWiLq5L+ezlVdE0A8bbME5CWTpg==", 21306 "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==",
17519 "dev": true, 21307 "dev": true,
17520 "requires": { 21308 "requires": {
17521 "css-select": "^1.1.0", 21309 "css-select": "^1.1.0",
17522 "dom-converter": "~0.2", 21310 "dom-converter": "^0.2",
17523 "htmlparser2": "~3.3.0", 21311 "htmlparser2": "^3.3.0",
17524 "strip-ansi": "^3.0.0", 21312 "strip-ansi": "^3.0.0",
17525 "utila": "^0.4.0" 21313 "utila": "^0.4.0"
17526 }, 21314 },
@@ -17531,60 +21319,6 @@
17531 "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 21319 "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
17532 "dev": true 21320 "dev": true
17533 }, 21321 },
17534 "domhandler": {
17535 "version": "2.1.0",
17536 "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz",
17537 "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=",
17538 "dev": true,
17539 "requires": {
17540 "domelementtype": "1"
17541 }
17542 },
17543 "domutils": {
17544 "version": "1.1.6",
17545 "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz",
17546 "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=",
17547 "dev": true,
17548 "requires": {
17549 "domelementtype": "1"
17550 }
17551 },
17552 "htmlparser2": {
17553 "version": "3.3.0",
17554 "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz",
17555 "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=",
17556 "dev": true,
17557 "requires": {
17558 "domelementtype": "1",
17559 "domhandler": "2.1",
17560 "domutils": "1.1",
17561 "readable-stream": "1.0"
17562 }
17563 },
17564 "isarray": {
17565 "version": "0.0.1",
17566 "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
17567 "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
17568 "dev": true
17569 },
17570 "readable-stream": {
17571 "version": "1.0.34",
17572 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
17573 "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
17574 "dev": true,
17575 "requires": {
17576 "core-util-is": "~1.0.0",
17577 "inherits": "~2.0.1",
17578 "isarray": "0.0.1",
17579 "string_decoder": "~0.10.x"
17580 }
17581 },
17582 "string_decoder": {
17583 "version": "0.10.31",
17584 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
17585 "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
17586 "dev": true
17587 },
17588 "strip-ansi": { 21322 "strip-ansi": {
17589 "version": "3.0.1", 21323 "version": "3.0.1",
17590 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 21324 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
@@ -17599,14 +21333,12 @@
17599 "repeat-element": { 21333 "repeat-element": {
17600 "version": "1.1.3", 21334 "version": "1.1.3",
17601 "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", 21335 "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
17602 "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", 21336 "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g=="
17603 "dev": true
17604 }, 21337 },
17605 "repeat-string": { 21338 "repeat-string": {
17606 "version": "1.6.1", 21339 "version": "1.6.1",
17607 "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", 21340 "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
17608 "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", 21341 "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
17609 "dev": true
17610 }, 21342 },
17611 "repeating": { 21343 "repeating": {
17612 "version": "2.0.1", 21344 "version": "2.0.1",
@@ -17638,7 +21370,6 @@
17638 "version": "2.88.0", 21370 "version": "2.88.0",
17639 "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", 21371 "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
17640 "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", 21372 "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
17641 "dev": true,
17642 "requires": { 21373 "requires": {
17643 "aws-sign2": "~0.7.0", 21374 "aws-sign2": "~0.7.0",
17644 "aws4": "^1.8.0", 21375 "aws4": "^1.8.0",
@@ -17682,6 +21413,11 @@
17682 "tough-cookie": "^2.3.3" 21413 "tough-cookie": "^2.3.3"
17683 } 21414 }
17684 }, 21415 },
21416 "require-all": {
21417 "version": "3.0.0",
21418 "resolved": "https://registry.npmjs.org/require-all/-/require-all-3.0.0.tgz",
21419 "integrity": "sha1-Rz1JcEvjEBFc4ST3c4Ox69hnExI="
21420 },
17685 "require-directory": { 21421 "require-directory": {
17686 "version": "2.1.1", 21422 "version": "2.1.1",
17687 "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 21423 "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -17694,11 +21430,18 @@
17694 "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", 21430 "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
17695 "dev": true 21431 "dev": true
17696 }, 21432 },
21433 "require-stack": {
21434 "version": "1.0.2",
21435 "resolved": "https://registry.npmjs.org/require-stack/-/require-stack-1.0.2.tgz",
21436 "integrity": "sha1-4A7jSL+Wy1w+LUwntJ5BR24Ill0=",
21437 "requires": {
21438 "syntax-error": "^1.1.4"
21439 }
21440 },
17697 "require-uncached": { 21441 "require-uncached": {
17698 "version": "1.0.3", 21442 "version": "1.0.3",
17699 "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", 21443 "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
17700 "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", 21444 "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=",
17701 "dev": true,
17702 "requires": { 21445 "requires": {
17703 "caller-path": "^0.1.0", 21446 "caller-path": "^0.1.0",
17704 "resolve-from": "^1.0.0" 21447 "resolve-from": "^1.0.0"
@@ -17710,10 +21453,25 @@
17710 "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", 21453 "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
17711 "dev": true 21454 "dev": true
17712 }, 21455 },
21456 "resetable": {
21457 "version": "1.0.3",
21458 "resolved": "https://registry.npmjs.org/resetable/-/resetable-1.0.3.tgz",
21459 "integrity": "sha512-AJuhrcU5TVUaM5j0wSjZXlzt0Qb5pai7nDI+klgv7deuSHy5Kom7ovwBt5tMMO3XmJ9YYSCbKhkgDJHL4MEerQ==",
21460 "requires": {
21461 "clone": "^2.1.1"
21462 },
21463 "dependencies": {
21464 "clone": {
21465 "version": "2.1.2",
21466 "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
21467 "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18="
21468 }
21469 }
21470 },
17713 "resolve": { 21471 "resolve": {
17714 "version": "1.10.0", 21472 "version": "1.12.0",
17715 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", 21473 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz",
17716 "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", 21474 "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==",
17717 "requires": { 21475 "requires": {
17718 "path-parse": "^1.0.6" 21476 "path-parse": "^1.0.6"
17719 } 21477 }
@@ -17739,7 +21497,6 @@
17739 "version": "1.0.1", 21497 "version": "1.0.1",
17740 "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", 21498 "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
17741 "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", 21499 "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
17742 "dev": true,
17743 "requires": { 21500 "requires": {
17744 "expand-tilde": "^2.0.0", 21501 "expand-tilde": "^2.0.0",
17745 "global-modules": "^1.0.0" 21502 "global-modules": "^1.0.0"
@@ -17748,8 +21505,7 @@
17748 "resolve-from": { 21505 "resolve-from": {
17749 "version": "1.0.1", 21506 "version": "1.0.1",
17750 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", 21507 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
17751 "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", 21508 "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY="
17752 "dev": true
17753 }, 21509 },
17754 "resolve-options": { 21510 "resolve-options": {
17755 "version": "1.1.0", 21511 "version": "1.1.0",
@@ -17763,8 +21519,7 @@
17763 "resolve-url": { 21519 "resolve-url": {
17764 "version": "0.2.1", 21520 "version": "0.2.1",
17765 "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", 21521 "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
17766 "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", 21522 "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
17767 "dev": true
17768 }, 21523 },
17769 "responselike": { 21524 "responselike": {
17770 "version": "1.0.2", 21525 "version": "1.0.2",
@@ -17788,8 +21543,7 @@
17788 "ret": { 21543 "ret": {
17789 "version": "0.1.15", 21544 "version": "0.1.15",
17790 "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", 21545 "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
17791 "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", 21546 "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
17792 "dev": true
17793 }, 21547 },
17794 "retry": { 21548 "retry": {
17795 "version": "0.10.1", 21549 "version": "0.10.1",
@@ -17804,10 +21558,9 @@
17804 "dev": true 21558 "dev": true
17805 }, 21559 },
17806 "rimraf": { 21560 "rimraf": {
17807 "version": "2.6.3", 21561 "version": "2.7.1",
17808 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", 21562 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
17809 "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", 21563 "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
17810 "dev": true,
17811 "requires": { 21564 "requires": {
17812 "glob": "^7.1.3" 21565 "glob": "^7.1.3"
17813 } 21566 }
@@ -17822,15 +21575,20 @@
17822 "inherits": "^2.0.1" 21575 "inherits": "^2.0.1"
17823 } 21576 }
17824 }, 21577 },
21578 "rndm": {
21579 "version": "1.2.0",
21580 "resolved": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz",
21581 "integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w="
21582 },
17825 "route-parser": { 21583 "route-parser": {
17826 "version": "0.0.5", 21584 "version": "0.0.5",
17827 "resolved": "https://registry.npmjs.org/route-parser/-/route-parser-0.0.5.tgz", 21585 "resolved": "https://registry.npmjs.org/route-parser/-/route-parser-0.0.5.tgz",
17828 "integrity": "sha1-fR0J0zXkkJQDHqFpkaSnmwG74fQ=" 21586 "integrity": "sha1-fR0J0zXkkJQDHqFpkaSnmwG74fQ="
17829 }, 21587 },
17830 "rsvp": { 21588 "rsvp": {
17831 "version": "4.8.4", 21589 "version": "4.8.5",
17832 "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.4.tgz", 21590 "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz",
17833 "integrity": "sha512-6FomvYPfs+Jy9TfXmBpBuMWNH94SgCsZmJKcanySzgNNP6LjWxBvyLTa9KaMfDDM5oxRfrKDB0r/qeRsLwnBfA==", 21591 "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==",
17834 "dev": true 21592 "dev": true
17835 }, 21593 },
17836 "run-async": { 21594 "run-async": {
@@ -17864,24 +21622,46 @@
17864 "dev": true 21622 "dev": true
17865 }, 21623 },
17866 "rxjs": { 21624 "rxjs": {
17867 "version": "6.4.0", 21625 "version": "6.5.3",
17868 "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz", 21626 "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
17869 "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==", 21627 "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
17870 "dev": true, 21628 "dev": true,
17871 "requires": { 21629 "requires": {
17872 "tslib": "^1.9.0" 21630 "tslib": "^1.9.0"
17873 } 21631 }
17874 }, 21632 },
21633 "rxjs-serial-subscription": {
21634 "version": "0.1.1",
21635 "resolved": "https://registry.npmjs.org/rxjs-serial-subscription/-/rxjs-serial-subscription-0.1.1.tgz",
21636 "integrity": "sha1-pCsdsL8QlLCSMRkeJ3jKP8+e0Uc=",
21637 "requires": {
21638 "rxjs": "^5.0.0-beta.12"
21639 },
21640 "dependencies": {
21641 "rxjs": {
21642 "version": "5.5.12",
21643 "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz",
21644 "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==",
21645 "requires": {
21646 "symbol-observable": "1.0.1"
21647 }
21648 },
21649 "symbol-observable": {
21650 "version": "1.0.1",
21651 "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz",
21652 "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ="
21653 }
21654 }
21655 },
17875 "safe-buffer": { 21656 "safe-buffer": {
17876 "version": "5.1.2", 21657 "version": "5.2.0",
17877 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 21658 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
17878 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 21659 "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg=="
17879 }, 21660 },
17880 "safe-regex": { 21661 "safe-regex": {
17881 "version": "1.1.0", 21662 "version": "1.1.0",
17882 "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", 21663 "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
17883 "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", 21664 "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
17884 "dev": true,
17885 "requires": { 21665 "requires": {
17886 "ret": "~0.1.10" 21666 "ret": "~0.1.10"
17887 } 21667 }
@@ -17906,6 +21686,14 @@
17906 "micromatch": "^3.1.4", 21686 "micromatch": "^3.1.4",
17907 "minimist": "^1.1.1", 21687 "minimist": "^1.1.1",
17908 "walker": "~1.0.5" 21688 "walker": "~1.0.5"
21689 },
21690 "dependencies": {
21691 "minimist": {
21692 "version": "1.2.0",
21693 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
21694 "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
21695 "dev": true
21696 }
17909 } 21697 }
17910 }, 21698 },
17911 "sanitize-filename": { 21699 "sanitize-filename": {
@@ -18172,6 +21960,11 @@
18172 "ajv-keywords": "^3.1.0" 21960 "ajv-keywords": "^3.1.0"
18173 } 21961 }
18174 }, 21962 },
21963 "scmp": {
21964 "version": "2.0.0",
21965 "resolved": "https://registry.npmjs.org/scmp/-/scmp-2.0.0.tgz",
21966 "integrity": "sha1-JHEQ7yLM+JexOj8KvdtSeCOTzWo="
21967 },
18175 "scss-tokenizer": { 21968 "scss-tokenizer": {
18176 "version": "0.2.3", 21969 "version": "0.2.3",
18177 "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", 21970 "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
@@ -18200,18 +21993,18 @@
18200 "dev": true 21993 "dev": true
18201 }, 21994 },
18202 "selfsigned": { 21995 "selfsigned": {
18203 "version": "1.10.4", 21996 "version": "1.10.6",
18204 "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.4.tgz", 21997 "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.6.tgz",
18205 "integrity": "sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw==", 21998 "integrity": "sha512-i3+CeqxL7DpAazgVpAGdKMwHuL63B5nhJMh9NQ7xmChGkA3jNFflq6Jyo1LLJYcr3idWiNOPWHCrm4zMayLG4w==",
18206 "dev": true, 21999 "dev": true,
18207 "requires": { 22000 "requires": {
18208 "node-forge": "0.7.5" 22001 "node-forge": "0.8.2"
18209 } 22002 }
18210 }, 22003 },
18211 "semver": { 22004 "semver": {
18212 "version": "5.6.0", 22005 "version": "5.7.1",
18213 "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", 22006 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
18214 "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" 22007 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
18215 }, 22008 },
18216 "semver-compare": { 22009 "semver-compare": {
18217 "version": "1.0.0", 22010 "version": "1.0.0",
@@ -18278,9 +22071,9 @@
18278 } 22071 }
18279 }, 22072 },
18280 "serialize-javascript": { 22073 "serialize-javascript": {
18281 "version": "1.6.1", 22074 "version": "1.9.1",
18282 "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.6.1.tgz", 22075 "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz",
18283 "integrity": "sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw==", 22076 "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==",
18284 "dev": true 22077 "dev": true
18285 }, 22078 },
18286 "serve-index": { 22079 "serve-index": {
@@ -18309,14 +22102,20 @@
18309 "set-blocking": { 22102 "set-blocking": {
18310 "version": "2.0.0", 22103 "version": "2.0.0",
18311 "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 22104 "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
18312 "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", 22105 "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
18313 "dev": true 22106 },
22107 "set-getter": {
22108 "version": "0.1.0",
22109 "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz",
22110 "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=",
22111 "requires": {
22112 "to-object-path": "^0.3.0"
22113 }
18314 }, 22114 },
18315 "set-value": { 22115 "set-value": {
18316 "version": "2.0.0", 22116 "version": "2.0.1",
18317 "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", 22117 "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
18318 "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", 22118 "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
18319 "dev": true,
18320 "requires": { 22119 "requires": {
18321 "extend-shallow": "^2.0.1", 22120 "extend-shallow": "^2.0.1",
18322 "is-extendable": "^0.1.1", 22121 "is-extendable": "^0.1.1",
@@ -18328,7 +22127,6 @@
18328 "version": "2.0.1", 22127 "version": "2.0.1",
18329 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 22128 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
18330 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 22129 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
18331 "dev": true,
18332 "requires": { 22130 "requires": {
18333 "is-extendable": "^0.1.0" 22131 "is-extendable": "^0.1.0"
18334 } 22132 }
@@ -18341,10 +22139,9 @@
18341 "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" 22139 "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
18342 }, 22140 },
18343 "setprototypeof": { 22141 "setprototypeof": {
18344 "version": "1.1.0", 22142 "version": "1.1.1",
18345 "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", 22143 "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
18346 "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", 22144 "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
18347 "dev": true
18348 }, 22145 },
18349 "sha.js": { 22146 "sha.js": {
18350 "version": "2.4.11", 22147 "version": "2.4.11",
@@ -18356,11 +22153,27 @@
18356 "safe-buffer": "^5.0.1" 22153 "safe-buffer": "^5.0.1"
18357 } 22154 }
18358 }, 22155 },
22156 "shallow-clone": {
22157 "version": "1.0.0",
22158 "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz",
22159 "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==",
22160 "requires": {
22161 "is-extendable": "^0.1.1",
22162 "kind-of": "^5.0.0",
22163 "mixin-object": "^2.0.1"
22164 },
22165 "dependencies": {
22166 "kind-of": {
22167 "version": "5.1.0",
22168 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
22169 "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
22170 }
22171 }
22172 },
18359 "shebang-command": { 22173 "shebang-command": {
18360 "version": "1.2.0", 22174 "version": "1.2.0",
18361 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 22175 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
18362 "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 22176 "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
18363 "dev": true,
18364 "requires": { 22177 "requires": {
18365 "shebang-regex": "^1.0.0" 22178 "shebang-regex": "^1.0.0"
18366 } 22179 }
@@ -18368,8 +22181,7 @@
18368 "shebang-regex": { 22181 "shebang-regex": {
18369 "version": "1.0.0", 22182 "version": "1.0.0",
18370 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 22183 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
18371 "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 22184 "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
18372 "dev": true
18373 }, 22185 },
18374 "shellwords": { 22186 "shellwords": {
18375 "version": "0.1.1", 22187 "version": "0.1.1",
@@ -18380,13 +22192,22 @@
18380 "sigmund": { 22192 "sigmund": {
18381 "version": "1.0.1", 22193 "version": "1.0.1",
18382 "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", 22194 "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
18383 "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=" 22195 "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
22196 "dev": true
18384 }, 22197 },
18385 "signal-exit": { 22198 "signal-exit": {
18386 "version": "3.0.2", 22199 "version": "3.0.2",
18387 "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 22200 "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
18388 "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" 22201 "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
18389 }, 22202 },
22203 "simple-encryptor": {
22204 "version": "2.0.0",
22205 "resolved": "https://registry.npmjs.org/simple-encryptor/-/simple-encryptor-2.0.0.tgz",
22206 "integrity": "sha512-dqjQbp9RwfMrE+my/7Pgz9viIsHmY3aQtybGJQkv2sL79YuDGmkxUjlmEBFGP6bcUjBRnSvqsBAcv1ro0Y4/5A==",
22207 "requires": {
22208 "scmp": "2.0.0"
22209 }
22210 },
18390 "simple-swizzle": { 22211 "simple-swizzle": {
18391 "version": "0.2.2", 22212 "version": "0.2.2",
18392 "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", 22213 "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
@@ -18442,9 +22263,9 @@
18442 } 22263 }
18443 }, 22264 },
18444 "sisteransi": { 22265 "sisteransi": {
18445 "version": "1.0.0", 22266 "version": "1.0.3",
18446 "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.0.tgz", 22267 "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.3.tgz",
18447 "integrity": "sha512-N+z4pHB4AmUv0SjveWRd6q1Nj5w62m5jodv+GD8lvmbY/83T/rpbJGZOnK5T149OldDj4Db07BSv9xY4K6NTPQ==", 22268 "integrity": "sha512-SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg==",
18448 "dev": true 22269 "dev": true
18449 }, 22270 },
18450 "slash": { 22271 "slash": {
@@ -18485,7 +22306,6 @@
18485 "version": "0.8.2", 22306 "version": "0.8.2",
18486 "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", 22307 "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
18487 "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", 22308 "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
18488 "dev": true,
18489 "requires": { 22309 "requires": {
18490 "base": "^0.11.1", 22310 "base": "^0.11.1",
18491 "debug": "^2.2.0", 22311 "debug": "^2.2.0",
@@ -18497,11 +22317,18 @@
18497 "use": "^3.1.0" 22317 "use": "^3.1.0"
18498 }, 22318 },
18499 "dependencies": { 22319 "dependencies": {
22320 "debug": {
22321 "version": "2.6.9",
22322 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
22323 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
22324 "requires": {
22325 "ms": "2.0.0"
22326 }
22327 },
18500 "define-property": { 22328 "define-property": {
18501 "version": "0.2.5", 22329 "version": "0.2.5",
18502 "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 22330 "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
18503 "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 22331 "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
18504 "dev": true,
18505 "requires": { 22332 "requires": {
18506 "is-descriptor": "^0.1.0" 22333 "is-descriptor": "^0.1.0"
18507 } 22334 }
@@ -18510,16 +22337,19 @@
18510 "version": "2.0.1", 22337 "version": "2.0.1",
18511 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 22338 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
18512 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 22339 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
18513 "dev": true,
18514 "requires": { 22340 "requires": {
18515 "is-extendable": "^0.1.0" 22341 "is-extendable": "^0.1.0"
18516 } 22342 }
18517 }, 22343 },
22344 "ms": {
22345 "version": "2.0.0",
22346 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
22347 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
22348 },
18518 "source-map": { 22349 "source-map": {
18519 "version": "0.5.7", 22350 "version": "0.5.7",
18520 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 22351 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
18521 "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 22352 "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
18522 "dev": true
18523 } 22353 }
18524 } 22354 }
18525 }, 22355 },
@@ -18527,7 +22357,6 @@
18527 "version": "2.1.1", 22357 "version": "2.1.1",
18528 "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", 22358 "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
18529 "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", 22359 "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
18530 "dev": true,
18531 "requires": { 22360 "requires": {
18532 "define-property": "^1.0.0", 22361 "define-property": "^1.0.0",
18533 "isobject": "^3.0.0", 22362 "isobject": "^3.0.0",
@@ -18538,7 +22367,6 @@
18538 "version": "1.0.0", 22367 "version": "1.0.0",
18539 "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 22368 "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
18540 "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 22369 "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
18541 "dev": true,
18542 "requires": { 22370 "requires": {
18543 "is-descriptor": "^1.0.0" 22371 "is-descriptor": "^1.0.0"
18544 } 22372 }
@@ -18547,7 +22375,6 @@
18547 "version": "1.0.0", 22375 "version": "1.0.0",
18548 "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 22376 "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
18549 "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 22377 "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
18550 "dev": true,
18551 "requires": { 22378 "requires": {
18552 "kind-of": "^6.0.0" 22379 "kind-of": "^6.0.0"
18553 } 22380 }
@@ -18556,7 +22383,6 @@
18556 "version": "1.0.0", 22383 "version": "1.0.0",
18557 "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 22384 "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
18558 "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 22385 "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
18559 "dev": true,
18560 "requires": { 22386 "requires": {
18561 "kind-of": "^6.0.0" 22387 "kind-of": "^6.0.0"
18562 } 22388 }
@@ -18565,7 +22391,6 @@
18565 "version": "1.0.2", 22391 "version": "1.0.2",
18566 "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 22392 "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
18567 "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 22393 "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
18568 "dev": true,
18569 "requires": { 22394 "requires": {
18570 "is-accessor-descriptor": "^1.0.0", 22395 "is-accessor-descriptor": "^1.0.0",
18571 "is-data-descriptor": "^1.0.0", 22396 "is-data-descriptor": "^1.0.0",
@@ -18578,7 +22403,6 @@
18578 "version": "3.0.1", 22403 "version": "3.0.1",
18579 "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", 22404 "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
18580 "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", 22405 "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
18581 "dev": true,
18582 "requires": { 22406 "requires": {
18583 "kind-of": "^3.2.0" 22407 "kind-of": "^3.2.0"
18584 }, 22408 },
@@ -18587,7 +22411,6 @@
18587 "version": "3.2.2", 22411 "version": "3.2.2",
18588 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 22412 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
18589 "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 22413 "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
18590 "dev": true,
18591 "requires": { 22414 "requires": {
18592 "is-buffer": "^1.1.5" 22415 "is-buffer": "^1.1.5"
18593 } 22416 }
@@ -18678,6 +22501,12 @@
18678 "to-array": "0.1.4" 22501 "to-array": "0.1.4"
18679 }, 22502 },
18680 "dependencies": { 22503 "dependencies": {
22504 "component-emitter": {
22505 "version": "1.2.1",
22506 "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
22507 "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
22508 "dev": true
22509 },
18681 "debug": { 22510 "debug": {
18682 "version": "2.3.3", 22511 "version": "2.3.3",
18683 "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", 22512 "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
@@ -18767,36 +22596,23 @@
18767 "dev": true, 22596 "dev": true,
18768 "requires": { 22597 "requires": {
18769 "ms": "^2.1.1" 22598 "ms": "^2.1.1"
18770 },
18771 "dependencies": {
18772 "ms": {
18773 "version": "2.1.1",
18774 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
18775 "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
18776 "dev": true
18777 }
18778 } 22599 }
18779 }, 22600 },
18780 "faye-websocket": { 22601 "faye-websocket": {
18781 "version": "0.11.1", 22602 "version": "0.11.3",
18782 "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", 22603 "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz",
18783 "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", 22604 "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==",
18784 "dev": true, 22605 "dev": true,
18785 "requires": { 22606 "requires": {
18786 "websocket-driver": ">=0.5.1" 22607 "websocket-driver": ">=0.5.1"
18787 } 22608 }
18788 },
18789 "ms": {
18790 "version": "0.7.1",
18791 "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
18792 "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
18793 } 22609 }
18794 } 22610 }
18795 }, 22611 },
18796 "socks": { 22612 "socks": {
18797 "version": "2.2.3", 22613 "version": "2.3.2",
18798 "resolved": "https://registry.npmjs.org/socks/-/socks-2.2.3.tgz", 22614 "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.2.tgz",
18799 "integrity": "sha512-+2r83WaRT3PXYoO/1z+RDEBE7Z2f9YcdQnJ0K/ncXXbV5gJ6wYfNAebYFYiiUjM6E4JyXnPY8cimwyvFYHVUUA==", 22615 "integrity": "sha512-pCpjxQgOByDHLlNqlnh/mNSAxIUkyBBuwwhTcV+enZGbDaClPvHdvm6uvOwZfFJkam7cGhBNbb4JxiP8UZkRvQ==",
18800 "dev": true, 22616 "dev": true,
18801 "requires": { 22617 "requires": {
18802 "ip": "^1.1.5", 22618 "ip": "^1.1.5",
@@ -18804,13 +22620,24 @@
18804 } 22620 }
18805 }, 22621 },
18806 "socks-proxy-agent": { 22622 "socks-proxy-agent": {
18807 "version": "4.0.1", 22623 "version": "4.0.2",
18808 "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.1.tgz", 22624 "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz",
18809 "integrity": "sha512-Kezx6/VBguXOsEe5oU3lXYyKMi4+gva72TwJ7pQY5JfqUx2nMk7NXA6z/mpNqIlfQjWYVfeuNvQjexiTaTn6Nw==", 22625 "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==",
18810 "dev": true, 22626 "dev": true,
18811 "requires": { 22627 "requires": {
18812 "agent-base": "~4.2.0", 22628 "agent-base": "~4.2.1",
18813 "socks": "~2.2.0" 22629 "socks": "~2.3.2"
22630 },
22631 "dependencies": {
22632 "agent-base": {
22633 "version": "4.2.1",
22634 "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
22635 "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
22636 "dev": true,
22637 "requires": {
22638 "es6-promisify": "^5.0.0"
22639 }
22640 }
18814 } 22641 }
18815 }, 22642 },
18816 "sort-keys": { 22643 "sort-keys": {
@@ -18844,7 +22671,6 @@
18844 "version": "0.5.2", 22671 "version": "0.5.2",
18845 "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", 22672 "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
18846 "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", 22673 "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
18847 "dev": true,
18848 "requires": { 22674 "requires": {
18849 "atob": "^2.1.1", 22675 "atob": "^2.1.1",
18850 "decode-uri-component": "^0.2.0", 22676 "decode-uri-component": "^0.2.0",
@@ -18854,9 +22680,9 @@
18854 } 22680 }
18855 }, 22681 },
18856 "source-map-support": { 22682 "source-map-support": {
18857 "version": "0.5.10", 22683 "version": "0.5.13",
18858 "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", 22684 "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
18859 "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==", 22685 "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
18860 "requires": { 22686 "requires": {
18861 "buffer-from": "^1.0.0", 22687 "buffer-from": "^1.0.0",
18862 "source-map": "^0.6.0" 22688 "source-map": "^0.6.0"
@@ -18865,14 +22691,12 @@
18865 "source-map-url": { 22691 "source-map-url": {
18866 "version": "0.4.0", 22692 "version": "0.4.0",
18867 "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", 22693 "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
18868 "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", 22694 "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
18869 "dev": true
18870 }, 22695 },
18871 "sparkles": { 22696 "sparkles": {
18872 "version": "1.0.1", 22697 "version": "1.0.1",
18873 "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", 22698 "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz",
18874 "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", 22699 "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw=="
18875 "dev": true
18876 }, 22700 },
18877 "spawn-command": { 22701 "spawn-command": {
18878 "version": "0.0.2-1", 22702 "version": "0.0.2-1",
@@ -18889,12 +22713,30 @@
18889 "debug": "^2.5.1", 22713 "debug": "^2.5.1",
18890 "lodash.assign": "^4.2.0", 22714 "lodash.assign": "^4.2.0",
18891 "rxjs": "^6.3.1" 22715 "rxjs": "^6.3.1"
22716 },
22717 "dependencies": {
22718 "debug": {
22719 "version": "2.6.9",
22720 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
22721 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
22722 "dev": true,
22723 "requires": {
22724 "ms": "2.0.0"
22725 }
22726 },
22727 "ms": {
22728 "version": "2.0.0",
22729 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
22730 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
22731 "dev": true
22732 }
18892 } 22733 }
18893 }, 22734 },
18894 "spdx-correct": { 22735 "spdx-correct": {
18895 "version": "3.1.0", 22736 "version": "3.1.0",
18896 "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", 22737 "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
18897 "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", 22738 "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
22739 "dev": true,
18898 "requires": { 22740 "requires": {
18899 "spdx-expression-parse": "^3.0.0", 22741 "spdx-expression-parse": "^3.0.0",
18900 "spdx-license-ids": "^3.0.0" 22742 "spdx-license-ids": "^3.0.0"
@@ -18903,26 +22745,29 @@
18903 "spdx-exceptions": { 22745 "spdx-exceptions": {
18904 "version": "2.2.0", 22746 "version": "2.2.0",
18905 "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", 22747 "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
18906 "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==" 22748 "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
22749 "dev": true
18907 }, 22750 },
18908 "spdx-expression-parse": { 22751 "spdx-expression-parse": {
18909 "version": "3.0.0", 22752 "version": "3.0.0",
18910 "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", 22753 "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
18911 "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", 22754 "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
22755 "dev": true,
18912 "requires": { 22756 "requires": {
18913 "spdx-exceptions": "^2.1.0", 22757 "spdx-exceptions": "^2.1.0",
18914 "spdx-license-ids": "^3.0.0" 22758 "spdx-license-ids": "^3.0.0"
18915 } 22759 }
18916 }, 22760 },
18917 "spdx-license-ids": { 22761 "spdx-license-ids": {
18918 "version": "3.0.3", 22762 "version": "3.0.5",
18919 "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz", 22763 "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
18920 "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==" 22764 "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
22765 "dev": true
18921 }, 22766 },
18922 "spdy": { 22767 "spdy": {
18923 "version": "4.0.0", 22768 "version": "4.0.1",
18924 "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.0.tgz", 22769 "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz",
18925 "integrity": "sha512-ot0oEGT/PGUpzf/6uk4AWLqkq+irlqHXkrdbk51oWONh3bxQmBuljxPNl66zlRRcIJStWq0QkLUCPOPjgjvU0Q==", 22770 "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==",
18926 "dev": true, 22771 "dev": true,
18927 "requires": { 22772 "requires": {
18928 "debug": "^4.1.0", 22773 "debug": "^4.1.0",
@@ -18930,23 +22775,6 @@
18930 "http-deceiver": "^1.2.7", 22775 "http-deceiver": "^1.2.7",
18931 "select-hose": "^2.0.0", 22776 "select-hose": "^2.0.0",
18932 "spdy-transport": "^3.0.0" 22777 "spdy-transport": "^3.0.0"
18933 },
18934 "dependencies": {
18935 "debug": {
18936 "version": "4.1.1",
18937 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
18938 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
18939 "dev": true,
18940 "requires": {
18941 "ms": "^2.1.1"
18942 }
18943 },
18944 "ms": {
18945 "version": "2.1.1",
18946 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
18947 "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
18948 "dev": true
18949 }
18950 } 22778 }
18951 }, 22779 },
18952 "spdy-transport": { 22780 "spdy-transport": {
@@ -18961,23 +22789,6 @@
18961 "obuf": "^1.1.2", 22789 "obuf": "^1.1.2",
18962 "readable-stream": "^3.0.6", 22790 "readable-stream": "^3.0.6",
18963 "wbuf": "^1.7.3" 22791 "wbuf": "^1.7.3"
18964 },
18965 "dependencies": {
18966 "debug": {
18967 "version": "4.1.1",
18968 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
18969 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
18970 "dev": true,
18971 "requires": {
18972 "ms": "^2.1.1"
18973 }
18974 },
18975 "ms": {
18976 "version": "2.1.1",
18977 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
18978 "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
18979 "dev": true
18980 }
18981 } 22792 }
18982 }, 22793 },
18983 "speedometer": { 22794 "speedometer": {
@@ -19004,7 +22815,6 @@
19004 "version": "3.1.0", 22815 "version": "3.1.0",
19005 "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", 22816 "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
19006 "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", 22817 "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
19007 "dev": true,
19008 "requires": { 22818 "requires": {
19009 "extend-shallow": "^3.0.0" 22819 "extend-shallow": "^3.0.0"
19010 } 22820 }
@@ -19016,6 +22826,48 @@
19016 "dev": true, 22826 "dev": true,
19017 "requires": { 22827 "requires": {
19018 "through2": "^2.0.2" 22828 "through2": "^2.0.2"
22829 },
22830 "dependencies": {
22831 "readable-stream": {
22832 "version": "2.3.6",
22833 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
22834 "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
22835 "dev": true,
22836 "requires": {
22837 "core-util-is": "~1.0.0",
22838 "inherits": "~2.0.3",
22839 "isarray": "~1.0.0",
22840 "process-nextick-args": "~2.0.0",
22841 "safe-buffer": "~5.1.1",
22842 "string_decoder": "~1.1.1",
22843 "util-deprecate": "~1.0.1"
22844 }
22845 },
22846 "safe-buffer": {
22847 "version": "5.1.2",
22848 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
22849 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
22850 "dev": true
22851 },
22852 "string_decoder": {
22853 "version": "1.1.1",
22854 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
22855 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
22856 "dev": true,
22857 "requires": {
22858 "safe-buffer": "~5.1.0"
22859 }
22860 },
22861 "through2": {
22862 "version": "2.0.5",
22863 "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
22864 "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
22865 "dev": true,
22866 "requires": {
22867 "readable-stream": "~2.3.6",
22868 "xtend": "~4.0.1"
22869 }
22870 }
19019 } 22871 }
19020 }, 22872 },
19021 "sprintf-js": { 22873 "sprintf-js": {
@@ -19023,11 +22875,20 @@
19023 "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 22875 "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
19024 "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" 22876 "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
19025 }, 22877 },
22878 "sqlite3": {
22879 "version": "4.1.0",
22880 "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-4.1.0.tgz",
22881 "integrity": "sha512-RvqoKxq+8pDHsJo7aXxsFR18i+dU2Wp5o12qAJOV5LNcDt+fgJsc2QKKg3sIRfXrN9ZjzY1T7SNe/DFVqAXjaw==",
22882 "requires": {
22883 "nan": "^2.12.1",
22884 "node-pre-gyp": "^0.11.0",
22885 "request": "^2.87.0"
22886 }
22887 },
19026 "sshpk": { 22888 "sshpk": {
19027 "version": "1.16.1", 22889 "version": "1.16.1",
19028 "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", 22890 "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
19029 "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", 22891 "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
19030 "dev": true,
19031 "requires": { 22892 "requires": {
19032 "asn1": "~0.2.3", 22893 "asn1": "~0.2.3",
19033 "assert-plus": "^1.0.0", 22894 "assert-plus": "^1.0.0",
@@ -19052,8 +22913,7 @@
19052 "stack-trace": { 22913 "stack-trace": {
19053 "version": "0.0.10", 22914 "version": "0.0.10",
19054 "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", 22915 "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
19055 "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", 22916 "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA="
19056 "dev": true
19057 }, 22917 },
19058 "stack-utils": { 22918 "stack-utils": {
19059 "version": "1.0.2", 22919 "version": "1.0.2",
@@ -19071,7 +22931,6 @@
19071 "version": "0.1.2", 22931 "version": "0.1.2",
19072 "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", 22932 "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
19073 "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", 22933 "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
19074 "dev": true,
19075 "requires": { 22934 "requires": {
19076 "define-property": "^0.2.5", 22935 "define-property": "^0.2.5",
19077 "object-copy": "^0.1.0" 22936 "object-copy": "^0.1.0"
@@ -19081,7 +22940,6 @@
19081 "version": "0.2.5", 22940 "version": "0.2.5",
19082 "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 22941 "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
19083 "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 22942 "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
19084 "dev": true,
19085 "requires": { 22943 "requires": {
19086 "is-descriptor": "^0.1.0" 22944 "is-descriptor": "^0.1.0"
19087 } 22945 }
@@ -19089,10 +22947,9 @@
19089 } 22947 }
19090 }, 22948 },
19091 "statuses": { 22949 "statuses": {
19092 "version": "1.4.0", 22950 "version": "1.5.0",
19093 "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", 22951 "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
19094 "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", 22952 "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
19095 "dev": true
19096 }, 22953 },
19097 "stdout-stream": { 22954 "stdout-stream": {
19098 "version": "1.4.1", 22955 "version": "1.4.1",
@@ -19118,6 +22975,12 @@
19118 "util-deprecate": "~1.0.1" 22975 "util-deprecate": "~1.0.1"
19119 } 22976 }
19120 }, 22977 },
22978 "safe-buffer": {
22979 "version": "5.1.2",
22980 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
22981 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
22982 "dev": true
22983 },
19121 "string_decoder": { 22984 "string_decoder": {
19122 "version": "1.1.1", 22985 "version": "1.1.1",
19123 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 22986 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -19160,6 +23023,12 @@
19160 "util-deprecate": "~1.0.1" 23023 "util-deprecate": "~1.0.1"
19161 } 23024 }
19162 }, 23025 },
23026 "safe-buffer": {
23027 "version": "5.1.2",
23028 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
23029 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
23030 "dev": true
23031 },
19163 "string_decoder": { 23032 "string_decoder": {
19164 "version": "1.1.1", 23033 "version": "1.1.1",
19165 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 23034 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -19215,6 +23084,12 @@
19215 "util-deprecate": "~1.0.1" 23084 "util-deprecate": "~1.0.1"
19216 } 23085 }
19217 }, 23086 },
23087 "safe-buffer": {
23088 "version": "5.1.2",
23089 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
23090 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
23091 "dev": true
23092 },
19218 "string_decoder": { 23093 "string_decoder": {
19219 "version": "1.1.1", 23094 "version": "1.1.1",
19220 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 23095 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -19229,8 +23104,7 @@
19229 "stream-shift": { 23104 "stream-shift": {
19230 "version": "1.0.0", 23105 "version": "1.0.0",
19231 "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", 23106 "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
19232 "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", 23107 "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI="
19233 "dev": true
19234 }, 23108 },
19235 "strict-uri-encode": { 23109 "strict-uri-encode": {
19236 "version": "1.1.0", 23110 "version": "1.1.0",
@@ -19256,12 +23130,32 @@
19256 "strip-ansi": "^4.0.0" 23130 "strip-ansi": "^4.0.0"
19257 } 23131 }
19258 }, 23132 },
23133 "string.prototype.trimleft": {
23134 "version": "2.1.0",
23135 "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz",
23136 "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==",
23137 "dev": true,
23138 "requires": {
23139 "define-properties": "^1.1.3",
23140 "function-bind": "^1.1.1"
23141 }
23142 },
23143 "string.prototype.trimright": {
23144 "version": "2.1.0",
23145 "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz",
23146 "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==",
23147 "dev": true,
23148 "requires": {
23149 "define-properties": "^1.1.3",
23150 "function-bind": "^1.1.1"
23151 }
23152 },
19259 "string_decoder": { 23153 "string_decoder": {
19260 "version": "1.2.0", 23154 "version": "1.3.0",
19261 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", 23155 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
19262 "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", 23156 "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
19263 "requires": { 23157 "requires": {
19264 "safe-buffer": "~5.1.0" 23158 "safe-buffer": "~5.2.0"
19265 } 23159 }
19266 }, 23160 },
19267 "strip-ansi": { 23161 "strip-ansi": {
@@ -19278,6 +23172,11 @@
19278 "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", 23172 "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
19279 "dev": true 23173 "dev": true
19280 }, 23174 },
23175 "strip-color": {
23176 "version": "0.1.0",
23177 "resolved": "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz",
23178 "integrity": "sha1-EG9l09PmotlAHKwOsM6LinArT3s="
23179 },
19281 "strip-eof": { 23180 "strip-eof": {
19282 "version": "1.0.0", 23181 "version": "1.0.0",
19283 "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", 23182 "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
@@ -19293,8 +23192,7 @@
19293 "strip-json-comments": { 23192 "strip-json-comments": {
19294 "version": "2.0.1", 23193 "version": "2.0.1",
19295 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 23194 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
19296 "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", 23195 "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
19297 "dev": true
19298 }, 23196 },
19299 "strong-log-transformer": { 23197 "strong-log-transformer": {
19300 "version": "2.1.0", 23198 "version": "2.1.0",
@@ -19305,8 +23203,21 @@
19305 "duplexer": "^0.1.1", 23203 "duplexer": "^0.1.1",
19306 "minimist": "^1.2.0", 23204 "minimist": "^1.2.0",
19307 "through": "^2.3.4" 23205 "through": "^2.3.4"
23206 },
23207 "dependencies": {
23208 "minimist": {
23209 "version": "1.2.0",
23210 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
23211 "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
23212 "dev": true
23213 }
19308 } 23214 }
19309 }, 23215 },
23216 "success-symbol": {
23217 "version": "0.1.0",
23218 "resolved": "https://registry.npmjs.org/success-symbol/-/success-symbol-0.1.0.tgz",
23219 "integrity": "sha1-JAIuSG878c3KCUKDt2nEctO3KJc="
23220 },
19310 "sumchecker": { 23221 "sumchecker": {
19311 "version": "2.0.2", 23222 "version": "2.0.2",
19312 "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-2.0.2.tgz", 23223 "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-2.0.2.tgz",
@@ -19314,13 +23225,29 @@
19314 "dev": true, 23225 "dev": true,
19315 "requires": { 23226 "requires": {
19316 "debug": "^2.2.0" 23227 "debug": "^2.2.0"
23228 },
23229 "dependencies": {
23230 "debug": {
23231 "version": "2.6.9",
23232 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
23233 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
23234 "dev": true,
23235 "requires": {
23236 "ms": "2.0.0"
23237 }
23238 },
23239 "ms": {
23240 "version": "2.0.0",
23241 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
23242 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
23243 "dev": true
23244 }
19317 } 23245 }
19318 }, 23246 },
19319 "supports-color": { 23247 "supports-color": {
19320 "version": "5.5.0", 23248 "version": "5.5.0",
19321 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 23249 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
19322 "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 23250 "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
19323 "dev": true,
19324 "requires": { 23251 "requires": {
19325 "has-flag": "^3.0.0" 23252 "has-flag": "^3.0.0"
19326 } 23253 }
@@ -19341,71 +23268,157 @@
19341 "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" 23268 "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ=="
19342 }, 23269 },
19343 "symbol-tree": { 23270 "symbol-tree": {
19344 "version": "3.2.2", 23271 "version": "3.2.4",
19345 "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", 23272 "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
19346 "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", 23273 "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
19347 "dev": true 23274 "dev": true
19348 }, 23275 },
23276 "syntax-error": {
23277 "version": "1.4.0",
23278 "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz",
23279 "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==",
23280 "requires": {
23281 "acorn-node": "^1.2.0"
23282 }
23283 },
19349 "table": { 23284 "table": {
19350 "version": "5.2.3", 23285 "version": "5.4.6",
19351 "resolved": "https://registry.npmjs.org/table/-/table-5.2.3.tgz", 23286 "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
19352 "integrity": "sha512-N2RsDAMvDLvYwFcwbPyF3VmVSSkuF+G1e+8inhBLtHpvwXGw4QRPEZhihQNeEN0i1up6/f6ObCJXNdlRG3YVyQ==", 23287 "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
19353 "dev": true, 23288 "dev": true,
19354 "requires": { 23289 "requires": {
19355 "ajv": "^6.9.1", 23290 "ajv": "^6.10.2",
19356 "lodash": "^4.17.11", 23291 "lodash": "^4.17.14",
19357 "slice-ansi": "^2.1.0", 23292 "slice-ansi": "^2.1.0",
19358 "string-width": "^3.0.0" 23293 "string-width": "^3.0.0"
19359 }, 23294 },
19360 "dependencies": { 23295 "dependencies": {
19361 "ansi-regex": { 23296 "ansi-regex": {
19362 "version": "4.0.0", 23297 "version": "4.1.0",
19363 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz", 23298 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
19364 "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==", 23299 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
19365 "dev": true 23300 "dev": true
19366 }, 23301 },
19367 "string-width": { 23302 "string-width": {
19368 "version": "3.0.0", 23303 "version": "3.1.0",
19369 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.0.0.tgz", 23304 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
19370 "integrity": "sha512-rr8CUxBbvOZDUvc5lNIJ+OC1nPVpz+Siw9VBtUjB9b6jZehZLFt0JMCZzShFHIsI8cbhm0EsNIfWJMFV3cu3Ew==", 23305 "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
19371 "dev": true, 23306 "dev": true,
19372 "requires": { 23307 "requires": {
19373 "emoji-regex": "^7.0.1", 23308 "emoji-regex": "^7.0.1",
19374 "is-fullwidth-code-point": "^2.0.0", 23309 "is-fullwidth-code-point": "^2.0.0",
19375 "strip-ansi": "^5.0.0" 23310 "strip-ansi": "^5.1.0"
19376 } 23311 }
19377 }, 23312 },
19378 "strip-ansi": { 23313 "strip-ansi": {
19379 "version": "5.0.0", 23314 "version": "5.2.0",
19380 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz", 23315 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
19381 "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==", 23316 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
19382 "dev": true, 23317 "dev": true,
19383 "requires": { 23318 "requires": {
19384 "ansi-regex": "^4.0.0" 23319 "ansi-regex": "^4.1.0"
19385 } 23320 }
19386 } 23321 }
19387 } 23322 }
19388 }, 23323 },
19389 "tapable": { 23324 "tapable": {
19390 "version": "1.1.1", 23325 "version": "1.1.3",
19391 "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.1.tgz", 23326 "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
19392 "integrity": "sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA==", 23327 "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
19393 "dev": true 23328 "dev": true
19394 }, 23329 },
19395 "tar": { 23330 "tar": {
19396 "version": "4.4.8", 23331 "version": "4.4.11",
19397 "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz", 23332 "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.11.tgz",
19398 "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", 23333 "integrity": "sha512-iI4zh3ktLJKaDNZKZc+fUONiQrSn9HkCFzamtb7k8FFmVilHVob7QsLX/VySAW8lAviMzMbFw4QtFb4errwgYA==",
19399 "requires": { 23334 "requires": {
19400 "chownr": "^1.1.1", 23335 "chownr": "^1.1.1",
19401 "fs-minipass": "^1.2.5", 23336 "fs-minipass": "^1.2.5",
19402 "minipass": "^2.3.4", 23337 "minipass": "^2.6.4",
19403 "minizlib": "^1.1.1", 23338 "minizlib": "^1.2.1",
19404 "mkdirp": "^0.5.0", 23339 "mkdirp": "^0.5.0",
19405 "safe-buffer": "^5.1.2", 23340 "safe-buffer": "^5.1.2",
19406 "yallist": "^3.0.2" 23341 "yallist": "^3.0.3"
19407 } 23342 }
19408 }, 23343 },
23344 "tar-fs": {
23345 "version": "1.16.3",
23346 "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz",
23347 "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==",
23348 "requires": {
23349 "chownr": "^1.0.1",
23350 "mkdirp": "^0.5.1",
23351 "pump": "^1.0.0",
23352 "tar-stream": "^1.1.2"
23353 },
23354 "dependencies": {
23355 "pump": {
23356 "version": "1.0.3",
23357 "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz",
23358 "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==",
23359 "requires": {
23360 "end-of-stream": "^1.1.0",
23361 "once": "^1.3.1"
23362 }
23363 }
23364 }
23365 },
23366 "tar-stream": {
23367 "version": "1.6.2",
23368 "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz",
23369 "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==",
23370 "requires": {
23371 "bl": "^1.0.0",
23372 "buffer-alloc": "^1.2.0",
23373 "end-of-stream": "^1.0.0",
23374 "fs-constants": "^1.0.0",
23375 "readable-stream": "^2.3.0",
23376 "to-buffer": "^1.1.1",
23377 "xtend": "^4.0.0"
23378 },
23379 "dependencies": {
23380 "readable-stream": {
23381 "version": "2.3.6",
23382 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
23383 "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
23384 "requires": {
23385 "core-util-is": "~1.0.0",
23386 "inherits": "~2.0.3",
23387 "isarray": "~1.0.0",
23388 "process-nextick-args": "~2.0.0",
23389 "safe-buffer": "~5.1.1",
23390 "string_decoder": "~1.1.1",
23391 "util-deprecate": "~1.0.1"
23392 }
23393 },
23394 "safe-buffer": {
23395 "version": "5.1.2",
23396 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
23397 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
23398 },
23399 "string_decoder": {
23400 "version": "1.1.1",
23401 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
23402 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
23403 "requires": {
23404 "safe-buffer": "~5.1.0"
23405 }
23406 }
23407 }
23408 },
23409 "targz": {
23410 "version": "1.0.1",
23411 "resolved": "https://registry.npmjs.org/targz/-/targz-1.0.1.tgz",
23412 "integrity": "sha1-j3alI2lM3t+7XWCkB2/27uzFOY8=",
23413 "requires": {
23414 "tar-fs": "^1.8.1"
23415 }
23416 },
23417 "tarn": {
23418 "version": "1.1.5",
23419 "resolved": "https://registry.npmjs.org/tarn/-/tarn-1.1.5.tgz",
23420 "integrity": "sha512-PMtJ3HCLAZeedWjJPgGnCvcphbCOMbtZpjKgLq3qM5Qq9aQud+XHrL0WlrlgnTyS8U+jrjGbEXprFcQrxPy52g=="
23421 },
19409 "temp-dir": { 23422 "temp-dir": {
19410 "version": "1.0.0", 23423 "version": "1.0.0",
19411 "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", 23424 "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
@@ -19432,12 +23445,6 @@
19432 "jsonfile": "^4.0.0", 23445 "jsonfile": "^4.0.0",
19433 "universalify": "^0.1.0" 23446 "universalify": "^0.1.0"
19434 } 23447 }
19435 },
19436 "graceful-fs": {
19437 "version": "4.2.2",
19438 "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
19439 "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==",
19440 "dev": true
19441 } 23448 }
19442 } 23449 }
19443 }, 23450 },
@@ -19516,25 +23523,78 @@
19516 } 23523 }
19517 } 23524 }
19518 }, 23525 },
19519 "terser": { 23526 "terminal-paginator": {
19520 "version": "3.16.1", 23527 "version": "2.0.2",
19521 "resolved": "https://registry.npmjs.org/terser/-/terser-3.16.1.tgz", 23528 "resolved": "https://registry.npmjs.org/terminal-paginator/-/terminal-paginator-2.0.2.tgz",
19522 "integrity": "sha512-JDJjgleBROeek2iBcSNzOHLKsB/MdDf+E/BOAJ0Tk9r7p9/fVobfv7LMJ/g/k3v9SXdmjZnIlFd5nfn/Rt0Xow==", 23529 "integrity": "sha512-IZMT5ECF9p4s+sNCV8uvZSW9E1+9zy9Ji9xz2oee8Jfo7hUFpauyjxkhfRcIH6Lu3Wdepv5D1kVRc8Hx74/LfQ==",
19523 "dev": true,
19524 "requires": { 23530 "requires": {
19525 "commander": "~2.17.1", 23531 "debug": "^2.6.6",
19526 "source-map": "~0.6.1", 23532 "extend-shallow": "^2.0.1",
19527 "source-map-support": "~0.5.9" 23533 "log-utils": "^0.2.1"
19528 }, 23534 },
19529 "dependencies": { 23535 "dependencies": {
19530 "commander": { 23536 "debug": {
19531 "version": "2.17.1", 23537 "version": "2.6.9",
19532 "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", 23538 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
19533 "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", 23539 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
19534 "dev": true 23540 "requires": {
23541 "ms": "2.0.0"
23542 }
23543 },
23544 "extend-shallow": {
23545 "version": "2.0.1",
23546 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
23547 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
23548 "requires": {
23549 "is-extendable": "^0.1.0"
23550 }
23551 },
23552 "ms": {
23553 "version": "2.0.0",
23554 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
23555 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
23556 }
23557 }
23558 },
23559 "ternary-stream": {
23560 "version": "3.0.0",
23561 "resolved": "https://registry.npmjs.org/ternary-stream/-/ternary-stream-3.0.0.tgz",
23562 "integrity": "sha512-oIzdi+UL/JdktkT+7KU5tSIQjj8pbShj3OASuvDEhm0NT5lppsm7aXWAmAq4/QMaBIyfuEcNLbAQA+HpaISobQ==",
23563 "requires": {
23564 "duplexify": "^4.1.1",
23565 "fork-stream": "^0.0.4",
23566 "merge-stream": "^2.0.0",
23567 "through2": "^3.0.1"
23568 },
23569 "dependencies": {
23570 "duplexify": {
23571 "version": "4.1.1",
23572 "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.1.tgz",
23573 "integrity": "sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA==",
23574 "requires": {
23575 "end-of-stream": "^1.4.1",
23576 "inherits": "^2.0.3",
23577 "readable-stream": "^3.1.1",
23578 "stream-shift": "^1.0.0"
23579 }
23580 },
23581 "merge-stream": {
23582 "version": "2.0.0",
23583 "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
23584 "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
19535 } 23585 }
19536 } 23586 }
19537 }, 23587 },
23588 "terser": {
23589 "version": "4.3.8",
23590 "resolved": "https://registry.npmjs.org/terser/-/terser-4.3.8.tgz",
23591 "integrity": "sha512-otmIRlRVmLChAWsnSFNO0Bfk6YySuBp6G9qrHiJwlLDd4mxe2ta4sjI7TzIR+W1nBMjilzrMcPOz9pSusgx3hQ==",
23592 "requires": {
23593 "commander": "^2.20.0",
23594 "source-map": "~0.6.1",
23595 "source-map-support": "~0.5.12"
23596 }
23597 },
19538 "terser-webpack-plugin": { 23598 "terser-webpack-plugin": {
19539 "version": "1.2.1", 23599 "version": "1.2.1",
19540 "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.2.1.tgz", 23600 "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.2.1.tgz",
@@ -19551,17 +23611,64 @@
19551 "worker-farm": "^1.5.2" 23611 "worker-farm": "^1.5.2"
19552 }, 23612 },
19553 "dependencies": { 23613 "dependencies": {
23614 "cacache": {
23615 "version": "11.3.3",
23616 "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.3.tgz",
23617 "integrity": "sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==",
23618 "dev": true,
23619 "requires": {
23620 "bluebird": "^3.5.5",
23621 "chownr": "^1.1.1",
23622 "figgy-pudding": "^3.5.1",
23623 "glob": "^7.1.4",
23624 "graceful-fs": "^4.1.15",
23625 "lru-cache": "^5.1.1",
23626 "mississippi": "^3.0.0",
23627 "mkdirp": "^0.5.1",
23628 "move-concurrently": "^1.0.1",
23629 "promise-inflight": "^1.0.1",
23630 "rimraf": "^2.6.3",
23631 "ssri": "^6.0.1",
23632 "unique-filename": "^1.1.1",
23633 "y18n": "^4.0.0"
23634 }
23635 },
19554 "find-cache-dir": { 23636 "find-cache-dir": {
19555 "version": "2.0.0", 23637 "version": "2.1.0",
19556 "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.0.0.tgz", 23638 "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
19557 "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==", 23639 "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
19558 "dev": true, 23640 "dev": true,
19559 "requires": { 23641 "requires": {
19560 "commondir": "^1.0.1", 23642 "commondir": "^1.0.1",
19561 "make-dir": "^1.0.0", 23643 "make-dir": "^2.0.0",
19562 "pkg-dir": "^3.0.0" 23644 "pkg-dir": "^3.0.0"
19563 } 23645 }
19564 }, 23646 },
23647 "lru-cache": {
23648 "version": "5.1.1",
23649 "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
23650 "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
23651 "dev": true,
23652 "requires": {
23653 "yallist": "^3.0.2"
23654 }
23655 },
23656 "make-dir": {
23657 "version": "2.1.0",
23658 "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
23659 "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
23660 "dev": true,
23661 "requires": {
23662 "pify": "^4.0.1",
23663 "semver": "^5.6.0"
23664 }
23665 },
23666 "pify": {
23667 "version": "4.0.1",
23668 "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
23669 "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
23670 "dev": true
23671 },
19565 "pkg-dir": { 23672 "pkg-dir": {
19566 "version": "3.0.0", 23673 "version": "3.0.0",
19567 "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", 23674 "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
@@ -19570,13 +23677,24 @@
19570 "requires": { 23677 "requires": {
19571 "find-up": "^3.0.0" 23678 "find-up": "^3.0.0"
19572 } 23679 }
23680 },
23681 "terser": {
23682 "version": "3.17.0",
23683 "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz",
23684 "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==",
23685 "dev": true,
23686 "requires": {
23687 "commander": "^2.19.0",
23688 "source-map": "~0.6.1",
23689 "source-map-support": "~0.5.10"
23690 }
19573 } 23691 }
19574 } 23692 }
19575 }, 23693 },
19576 "test-exclude": { 23694 "test-exclude": {
19577 "version": "5.2.2", 23695 "version": "5.2.3",
19578 "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.2.tgz", 23696 "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz",
19579 "integrity": "sha512-N2pvaLpT8guUpb5Fe1GJlmvmzH3x+DAKmmyEQmFP792QcLYoGE1syxztSvPD1V8yPe6VrcCt6YGQVjSRjCASsA==", 23697 "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==",
19580 "dev": true, 23698 "dev": true,
19581 "requires": { 23699 "requires": {
19582 "glob": "^7.1.3", 23700 "glob": "^7.1.3",
@@ -19615,11 +23733,16 @@
19615 } 23733 }
19616 }, 23734 },
19617 "text-extensions": { 23735 "text-extensions": {
19618 "version": "1.9.0", 23736 "version": "2.0.0",
19619 "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", 23737 "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.0.0.tgz",
19620 "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", 23738 "integrity": "sha512-F91ZqLgvi1E0PdvmxMgp+gcf6q8fMH7mhdwWfzXnl1k+GbpQDmi8l7DzLC5JTASKbwpY3TfxajAUzAXcv2NmsQ==",
19621 "dev": true 23739 "dev": true
19622 }, 23740 },
23741 "text-hex": {
23742 "version": "1.0.0",
23743 "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz",
23744 "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg=="
23745 },
19623 "text-table": { 23746 "text-table": {
19624 "version": "0.2.0", 23747 "version": "0.2.0",
19625 "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 23748 "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -19637,6 +23760,24 @@
19637 "prop-types": "^15.5.8" 23760 "prop-types": "^15.5.8"
19638 } 23761 }
19639 }, 23762 },
23763 "thenify": {
23764 "version": "3.3.0",
23765 "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz",
23766 "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=",
23767 "dev": true,
23768 "requires": {
23769 "any-promise": "^1.0.0"
23770 }
23771 },
23772 "thenify-all": {
23773 "version": "1.6.0",
23774 "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
23775 "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=",
23776 "dev": true,
23777 "requires": {
23778 "thenify": ">= 3.1.0 < 4"
23779 }
23780 },
19640 "throat": { 23781 "throat": {
19641 "version": "4.1.0", 23782 "version": "4.1.0",
19642 "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", 23783 "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz",
@@ -19656,13 +23797,21 @@
19656 "dev": true 23797 "dev": true
19657 }, 23798 },
19658 "through2": { 23799 "through2": {
19659 "version": "2.0.5", 23800 "version": "3.0.1",
19660 "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", 23801 "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz",
19661 "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", 23802 "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==",
23803 "requires": {
23804 "readable-stream": "2 || 3"
23805 }
23806 },
23807 "through2-filter": {
23808 "version": "3.0.0",
23809 "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz",
23810 "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==",
19662 "dev": true, 23811 "dev": true,
19663 "requires": { 23812 "requires": {
19664 "readable-stream": "~2.3.6", 23813 "through2": "~2.0.0",
19665 "xtend": "~4.0.1" 23814 "xtend": "~4.0.0"
19666 }, 23815 },
19667 "dependencies": { 23816 "dependencies": {
19668 "readable-stream": { 23817 "readable-stream": {
@@ -19680,6 +23829,12 @@
19680 "util-deprecate": "~1.0.1" 23829 "util-deprecate": "~1.0.1"
19681 } 23830 }
19682 }, 23831 },
23832 "safe-buffer": {
23833 "version": "5.1.2",
23834 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
23835 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
23836 "dev": true
23837 },
19683 "string_decoder": { 23838 "string_decoder": {
19684 "version": "1.1.1", 23839 "version": "1.1.1",
19685 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 23840 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -19688,19 +23843,19 @@
19688 "requires": { 23843 "requires": {
19689 "safe-buffer": "~5.1.0" 23844 "safe-buffer": "~5.1.0"
19690 } 23845 }
23846 },
23847 "through2": {
23848 "version": "2.0.5",
23849 "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
23850 "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
23851 "dev": true,
23852 "requires": {
23853 "readable-stream": "~2.3.6",
23854 "xtend": "~4.0.1"
23855 }
19691 } 23856 }
19692 } 23857 }
19693 }, 23858 },
19694 "through2-filter": {
19695 "version": "3.0.0",
19696 "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz",
19697 "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==",
19698 "dev": true,
19699 "requires": {
19700 "through2": "~2.0.0",
19701 "xtend": "~4.0.0"
19702 }
19703 },
19704 "thunky": { 23859 "thunky": {
19705 "version": "1.0.3", 23860 "version": "1.0.3",
19706 "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz", 23861 "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz",
@@ -19711,7 +23866,6 @@
19711 "version": "1.2.0", 23866 "version": "1.2.0",
19712 "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz", 23867 "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz",
19713 "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=", 23868 "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=",
19714 "dev": true,
19715 "requires": { 23869 "requires": {
19716 "os-homedir": "^1.0.0" 23870 "os-homedir": "^1.0.0"
19717 } 23871 }
@@ -19719,23 +23873,30 @@
19719 "time-stamp": { 23873 "time-stamp": {
19720 "version": "1.1.0", 23874 "version": "1.1.0",
19721 "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", 23875 "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
19722 "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", 23876 "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM="
19723 "dev": true
19724 }, 23877 },
19725 "timers-browserify": { 23878 "timers-browserify": {
19726 "version": "2.0.10", 23879 "version": "2.0.11",
19727 "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", 23880 "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz",
19728 "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", 23881 "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==",
19729 "dev": true, 23882 "dev": true,
19730 "requires": { 23883 "requires": {
19731 "setimmediate": "^1.0.4" 23884 "setimmediate": "^1.0.4"
19732 } 23885 }
19733 }, 23886 },
23887 "timers-ext": {
23888 "version": "0.1.7",
23889 "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz",
23890 "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==",
23891 "requires": {
23892 "es5-ext": "~0.10.46",
23893 "next-tick": "1"
23894 }
23895 },
19734 "tmp": { 23896 "tmp": {
19735 "version": "0.0.33", 23897 "version": "0.0.33",
19736 "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 23898 "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
19737 "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 23899 "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
19738 "dev": true,
19739 "requires": { 23900 "requires": {
19740 "os-tmpdir": "~1.0.2" 23901 "os-tmpdir": "~1.0.2"
19741 } 23902 }
@@ -19768,6 +23929,11 @@
19768 "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", 23929 "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
19769 "dev": true 23930 "dev": true
19770 }, 23931 },
23932 "to-buffer": {
23933 "version": "1.1.1",
23934 "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
23935 "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg=="
23936 },
19771 "to-fast-properties": { 23937 "to-fast-properties": {
19772 "version": "2.0.0", 23938 "version": "2.0.0",
19773 "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", 23939 "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
@@ -19778,7 +23944,6 @@
19778 "version": "0.3.0", 23944 "version": "0.3.0",
19779 "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", 23945 "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
19780 "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", 23946 "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
19781 "dev": true,
19782 "requires": { 23947 "requires": {
19783 "kind-of": "^3.0.2" 23948 "kind-of": "^3.0.2"
19784 }, 23949 },
@@ -19787,7 +23952,6 @@
19787 "version": "3.2.2", 23952 "version": "3.2.2",
19788 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 23953 "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
19789 "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 23954 "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
19790 "dev": true,
19791 "requires": { 23955 "requires": {
19792 "is-buffer": "^1.1.5" 23956 "is-buffer": "^1.1.5"
19793 } 23957 }
@@ -19804,7 +23968,6 @@
19804 "version": "3.0.2", 23968 "version": "3.0.2",
19805 "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", 23969 "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
19806 "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", 23970 "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
19807 "dev": true,
19808 "requires": { 23971 "requires": {
19809 "define-property": "^2.0.2", 23972 "define-property": "^2.0.2",
19810 "extend-shallow": "^3.0.2", 23973 "extend-shallow": "^3.0.2",
@@ -19816,7 +23979,6 @@
19816 "version": "2.1.1", 23979 "version": "2.1.1",
19817 "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", 23980 "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
19818 "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", 23981 "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
19819 "dev": true,
19820 "requires": { 23982 "requires": {
19821 "is-number": "^3.0.0", 23983 "is-number": "^3.0.0",
19822 "repeat-string": "^1.6.1" 23984 "repeat-string": "^1.6.1"
@@ -19829,13 +23991,67 @@
19829 "dev": true, 23991 "dev": true,
19830 "requires": { 23992 "requires": {
19831 "through2": "^2.0.3" 23993 "through2": "^2.0.3"
23994 },
23995 "dependencies": {
23996 "readable-stream": {
23997 "version": "2.3.6",
23998 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
23999 "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
24000 "dev": true,
24001 "requires": {
24002 "core-util-is": "~1.0.0",
24003 "inherits": "~2.0.3",
24004 "isarray": "~1.0.0",
24005 "process-nextick-args": "~2.0.0",
24006 "safe-buffer": "~5.1.1",
24007 "string_decoder": "~1.1.1",
24008 "util-deprecate": "~1.0.1"
24009 }
24010 },
24011 "safe-buffer": {
24012 "version": "5.1.2",
24013 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
24014 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
24015 "dev": true
24016 },
24017 "string_decoder": {
24018 "version": "1.1.1",
24019 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
24020 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
24021 "dev": true,
24022 "requires": {
24023 "safe-buffer": "~5.1.0"
24024 }
24025 },
24026 "through2": {
24027 "version": "2.0.5",
24028 "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
24029 "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
24030 "dev": true,
24031 "requires": {
24032 "readable-stream": "~2.3.6",
24033 "xtend": "~4.0.1"
24034 }
24035 }
19832 } 24036 }
19833 }, 24037 },
24038 "toggle-array": {
24039 "version": "1.0.1",
24040 "resolved": "https://registry.npmjs.org/toggle-array/-/toggle-array-1.0.1.tgz",
24041 "integrity": "sha1-y/WEB5K9UJfzMReugkyTKv/ofVg=",
24042 "requires": {
24043 "isobject": "^3.0.0"
24044 }
24045 },
24046 "toidentifier": {
24047 "version": "1.0.0",
24048 "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
24049 "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
24050 },
19834 "tough-cookie": { 24051 "tough-cookie": {
19835 "version": "2.4.3", 24052 "version": "2.4.3",
19836 "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", 24053 "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
19837 "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", 24054 "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
19838 "dev": true,
19839 "requires": { 24055 "requires": {
19840 "psl": "^1.1.24", 24056 "psl": "^1.1.24",
19841 "punycode": "^1.4.1" 24057 "punycode": "^1.4.1"
@@ -19844,8 +24060,7 @@
19844 "punycode": { 24060 "punycode": {
19845 "version": "1.4.1", 24061 "version": "1.4.1",
19846 "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 24062 "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
19847 "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", 24063 "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
19848 "dev": true
19849 } 24064 }
19850 } 24065 }
19851 }, 24066 },
@@ -19882,6 +24097,11 @@
19882 "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", 24097 "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
19883 "dev": true 24098 "dev": true
19884 }, 24099 },
24100 "triple-beam": {
24101 "version": "1.3.0",
24102 "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz",
24103 "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw=="
24104 },
19885 "true-case-path": { 24105 "true-case-path": {
19886 "version": "1.0.3", 24106 "version": "1.0.3",
19887 "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", 24107 "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
@@ -19914,9 +24134,9 @@
19914 } 24134 }
19915 }, 24135 },
19916 "tslib": { 24136 "tslib": {
19917 "version": "1.9.3", 24137 "version": "1.10.0",
19918 "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", 24138 "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
19919 "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" 24139 "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ=="
19920 }, 24140 },
19921 "tslint": { 24141 "tslint": {
19922 "version": "5.12.0", 24142 "version": "5.12.0",
@@ -19950,9 +24170,9 @@
19950 } 24170 }
19951 }, 24171 },
19952 "tslint-consistent-codestyle": { 24172 "tslint-consistent-codestyle": {
19953 "version": "1.15.0", 24173 "version": "1.15.1",
19954 "resolved": "https://registry.npmjs.org/tslint-consistent-codestyle/-/tslint-consistent-codestyle-1.15.0.tgz", 24174 "resolved": "https://registry.npmjs.org/tslint-consistent-codestyle/-/tslint-consistent-codestyle-1.15.1.tgz",
19955 "integrity": "sha512-6BNDBbZh2K0ibRXe70Mkl9gfVttxQ3t3hqV1BRDfpIcjrUoOgD946iH4SrXp+IggDgeMs3dJORjD5tqL5j4jXg==", 24175 "integrity": "sha512-38Y3Dz4zcABe/PlPAQSGNEWPGVq0OzcIQR7SEU6dNujp/SgvhxhJOhIhI9gY4r0I3/TNtvVQwARWor9O9LPZWg==",
19956 "dev": true, 24176 "dev": true,
19957 "requires": { 24177 "requires": {
19958 "@fimbul/bifrost": "^0.17.0", 24178 "@fimbul/bifrost": "^0.17.0",
@@ -20000,9 +24220,9 @@
20000 "dev": true 24220 "dev": true
20001 }, 24221 },
20002 "tsutils": { 24222 "tsutils": {
20003 "version": "3.8.0", 24223 "version": "3.17.1",
20004 "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.8.0.tgz", 24224 "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz",
20005 "integrity": "sha512-XQdPhgcoTbCD8baXC38PQ0vpTZ8T3YrE+vR66YIj/xvDt1//8iAhafpIT/4DmvzzC1QFapEImERu48Pa01dIUA==", 24225 "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==",
20006 "dev": true, 24226 "dev": true,
20007 "requires": { 24227 "requires": {
20008 "tslib": "^1.8.1" 24228 "tslib": "^1.8.1"
@@ -20030,6 +24250,11 @@
20030 } 24250 }
20031 } 24251 }
20032 }, 24252 },
24253 "tsscmp": {
24254 "version": "1.0.6",
24255 "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz",
24256 "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA=="
24257 },
20033 "tsutils": { 24258 "tsutils": {
20034 "version": "2.29.0", 24259 "version": "2.29.0",
20035 "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", 24260 "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz",
@@ -20049,7 +24274,6 @@
20049 "version": "0.6.0", 24274 "version": "0.6.0",
20050 "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 24275 "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
20051 "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 24276 "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
20052 "dev": true,
20053 "requires": { 24277 "requires": {
20054 "safe-buffer": "^5.0.1" 24278 "safe-buffer": "^5.0.1"
20055 } 24279 }
@@ -20062,8 +24286,12 @@
20062 "tweetnacl": { 24286 "tweetnacl": {
20063 "version": "0.14.5", 24287 "version": "0.14.5",
20064 "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 24288 "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
20065 "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", 24289 "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
20066 "dev": true 24290 },
24291 "type": {
24292 "version": "1.0.3",
24293 "resolved": "https://registry.npmjs.org/type/-/type-1.0.3.tgz",
24294 "integrity": "sha512-51IMtNfVcee8+9GJvj0spSuFcZHe9vSib6Xtgsny1Km9ugyz2mbS08I3rsUIRYgJohFRFU1160sgRodYz378Hg=="
20067 }, 24295 },
20068 "type-check": { 24296 "type-check": {
20069 "version": "0.3.2", 24297 "version": "0.3.2",
@@ -20081,15 +24309,34 @@
20081 "dev": true 24309 "dev": true
20082 }, 24310 },
20083 "type-is": { 24311 "type-is": {
20084 "version": "1.6.16", 24312 "version": "1.6.18",
20085 "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", 24313 "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
20086 "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", 24314 "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
20087 "dev": true,
20088 "requires": { 24315 "requires": {
20089 "media-typer": "0.3.0", 24316 "media-typer": "0.3.0",
20090 "mime-types": "~2.1.18" 24317 "mime-types": "~2.1.24"
24318 },
24319 "dependencies": {
24320 "mime-db": {
24321 "version": "1.40.0",
24322 "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
24323 "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA=="
24324 },
24325 "mime-types": {
24326 "version": "2.1.24",
24327 "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
24328 "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
24329 "requires": {
24330 "mime-db": "1.40.0"
24331 }
24332 }
20091 } 24333 }
20092 }, 24334 },
24335 "type-of-is": {
24336 "version": "3.5.1",
24337 "resolved": "https://registry.npmjs.org/type-of-is/-/type-of-is-3.5.1.tgz",
24338 "integrity": "sha1-7sL8ibgo2/mQDrZBbu4w9P4PzTE="
24339 },
20093 "typedarray": { 24340 "typedarray": {
20094 "version": "0.0.6", 24341 "version": "0.0.6",
20095 "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", 24342 "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
@@ -20103,26 +24350,17 @@
20103 "dev": true 24350 "dev": true
20104 }, 24351 },
20105 "ua-parser-js": { 24352 "ua-parser-js": {
20106 "version": "0.7.19", 24353 "version": "0.7.20",
20107 "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.19.tgz", 24354 "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.20.tgz",
20108 "integrity": "sha512-T3PVJ6uz8i0HzPxOF9SWzWAlfN/DavlpQqepn22xgve/5QecC+XMCAtmUNnY7C9StehaV6exjUCI801lOI7QlQ==" 24355 "integrity": "sha512-8OaIKfzL5cpx8eCMAhhvTlft8GYF8b2eQr6JkCyVdrgjcytyOmPCXrqXFcUnhonRpLlh5yxEZVohm6mzaowUOw=="
20109 }, 24356 },
20110 "uglify-js": { 24357 "uglify-js": {
20111 "version": "3.4.9", 24358 "version": "3.6.0",
20112 "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", 24359 "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz",
20113 "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", 24360 "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==",
20114 "dev": true,
20115 "requires": { 24361 "requires": {
20116 "commander": "~2.17.1", 24362 "commander": "~2.20.0",
20117 "source-map": "~0.6.1" 24363 "source-map": "~0.6.1"
20118 },
20119 "dependencies": {
20120 "commander": {
20121 "version": "2.17.1",
20122 "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
20123 "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==",
20124 "dev": true
20125 }
20126 } 24364 }
20127 }, 24365 },
20128 "uid-number": { 24366 "uid-number": {
@@ -20131,6 +24369,14 @@
20131 "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", 24369 "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=",
20132 "dev": true 24370 "dev": true
20133 }, 24371 },
24372 "uid-safe": {
24373 "version": "2.1.5",
24374 "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz",
24375 "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==",
24376 "requires": {
24377 "random-bytes": "~1.0.0"
24378 }
24379 },
20134 "ultron": { 24380 "ultron": {
20135 "version": "1.0.2", 24381 "version": "1.0.2",
20136 "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", 24382 "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz",
@@ -20146,13 +24392,17 @@
20146 "unc-path-regex": { 24392 "unc-path-regex": {
20147 "version": "0.1.2", 24393 "version": "0.1.2",
20148 "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", 24394 "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
20149 "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", 24395 "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo="
20150 "dev": true 24396 },
24397 "underscore": {
24398 "version": "1.9.1",
24399 "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz",
24400 "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg=="
20151 }, 24401 },
20152 "undertaker": { 24402 "undertaker": {
20153 "version": "1.2.0", 24403 "version": "1.2.1",
20154 "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.2.0.tgz", 24404 "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.2.1.tgz",
20155 "integrity": "sha1-M52kZGJS0ILcN45wgGcpl1DhG0k=", 24405 "integrity": "sha512-71WxIzDkgYk9ZS+spIB8iZXchFhAdEo2YU8xYqBYJ39DIUIqziK78ftm26eecoIY49X0J2MLhG4hr18Yp6/CMA==",
20156 "dev": true, 24406 "dev": true,
20157 "requires": { 24407 "requires": {
20158 "arr-flatten": "^1.0.1", 24408 "arr-flatten": "^1.0.1",
@@ -20189,50 +24439,26 @@
20189 } 24439 }
20190 }, 24440 },
20191 "unicode-match-property-value-ecmascript": { 24441 "unicode-match-property-value-ecmascript": {
20192 "version": "1.0.2", 24442 "version": "1.1.0",
20193 "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz", 24443 "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz",
20194 "integrity": "sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ==", 24444 "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==",
20195 "dev": true 24445 "dev": true
20196 }, 24446 },
20197 "unicode-property-aliases-ecmascript": { 24447 "unicode-property-aliases-ecmascript": {
20198 "version": "1.0.4", 24448 "version": "1.0.5",
20199 "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz", 24449 "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz",
20200 "integrity": "sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==", 24450 "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==",
20201 "dev": true 24451 "dev": true
20202 }, 24452 },
20203 "union-value": { 24453 "union-value": {
20204 "version": "1.0.0", 24454 "version": "1.0.1",
20205 "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", 24455 "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
20206 "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", 24456 "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
20207 "dev": true,
20208 "requires": { 24457 "requires": {
20209 "arr-union": "^3.1.0", 24458 "arr-union": "^3.1.0",
20210 "get-value": "^2.0.6", 24459 "get-value": "^2.0.6",
20211 "is-extendable": "^0.1.1", 24460 "is-extendable": "^0.1.1",
20212 "set-value": "^0.4.3" 24461 "set-value": "^2.0.1"
20213 },
20214 "dependencies": {
20215 "extend-shallow": {
20216 "version": "2.0.1",
20217 "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
20218 "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
20219 "dev": true,
20220 "requires": {
20221 "is-extendable": "^0.1.0"
20222 }
20223 },
20224 "set-value": {
20225 "version": "0.4.3",
20226 "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
20227 "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
20228 "dev": true,
20229 "requires": {
20230 "extend-shallow": "^2.0.1",
20231 "is-extendable": "^0.1.1",
20232 "is-plain-object": "^2.0.1",
20233 "to-object-path": "^0.3.0"
20234 }
20235 }
20236 } 24462 }
20237 }, 24463 },
20238 "unique-filename": { 24464 "unique-filename": {
@@ -20245,9 +24471,9 @@
20245 } 24471 }
20246 }, 24472 },
20247 "unique-slug": { 24473 "unique-slug": {
20248 "version": "2.0.1", 24474 "version": "2.0.2",
20249 "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz", 24475 "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
20250 "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==", 24476 "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
20251 "dev": true, 24477 "dev": true,
20252 "requires": { 24478 "requires": {
20253 "imurmurhash": "^0.1.4" 24479 "imurmurhash": "^0.1.4"
@@ -20273,12 +24499,12 @@
20273 } 24499 }
20274 }, 24500 },
20275 "universal-user-agent": { 24501 "universal-user-agent": {
20276 "version": "2.0.3", 24502 "version": "4.0.0",
20277 "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-2.0.3.tgz", 24503 "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.0.tgz",
20278 "integrity": "sha512-eRHEHhChCBHrZsA4WEhdgiOKgdvgrMIHwnwnqD0r5C6AO8kwKcG7qSku3iXdhvHL3YvsS9ZkSGN8h/hIpoFC8g==", 24504 "integrity": "sha512-eM8knLpev67iBDizr/YtqkJsF3GK8gzDc6st/WKzrTuPtcsOKW/0IdL4cnMBsU69pOx0otavLWBDGTwg+dB0aA==",
20279 "dev": true, 24505 "dev": true,
20280 "requires": { 24506 "requires": {
20281 "os-name": "^3.0.0" 24507 "os-name": "^3.1.0"
20282 } 24508 }
20283 }, 24509 },
20284 "universalify": { 24510 "universalify": {
@@ -20297,14 +24523,12 @@
20297 "unpipe": { 24523 "unpipe": {
20298 "version": "1.0.0", 24524 "version": "1.0.0",
20299 "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 24525 "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
20300 "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", 24526 "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
20301 "dev": true
20302 }, 24527 },
20303 "unset-value": { 24528 "unset-value": {
20304 "version": "1.0.0", 24529 "version": "1.0.0",
20305 "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", 24530 "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
20306 "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", 24531 "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
20307 "dev": true,
20308 "requires": { 24532 "requires": {
20309 "has-value": "^0.3.1", 24533 "has-value": "^0.3.1",
20310 "isobject": "^3.0.0" 24534 "isobject": "^3.0.0"
@@ -20314,7 +24538,6 @@
20314 "version": "0.3.1", 24538 "version": "0.3.1",
20315 "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", 24539 "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
20316 "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", 24540 "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
20317 "dev": true,
20318 "requires": { 24541 "requires": {
20319 "get-value": "^2.0.3", 24542 "get-value": "^2.0.3",
20320 "has-values": "^0.1.4", 24543 "has-values": "^0.1.4",
@@ -20325,7 +24548,6 @@
20325 "version": "2.1.0", 24548 "version": "2.1.0",
20326 "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", 24549 "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
20327 "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", 24550 "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
20328 "dev": true,
20329 "requires": { 24551 "requires": {
20330 "isarray": "1.0.0" 24552 "isarray": "1.0.0"
20331 } 24553 }
@@ -20335,8 +24557,7 @@
20335 "has-values": { 24557 "has-values": {
20336 "version": "0.1.4", 24558 "version": "0.1.4",
20337 "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", 24559 "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
20338 "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", 24560 "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
20339 "dev": true
20340 } 24561 }
20341 } 24562 }
20342 }, 24563 },
@@ -20355,11 +24576,19 @@
20355 } 24576 }
20356 }, 24577 },
20357 "upath": { 24578 "upath": {
20358 "version": "1.1.0", 24579 "version": "1.2.0",
20359 "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", 24580 "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
20360 "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", 24581 "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
20361 "dev": true 24582 "dev": true
20362 }, 24583 },
24584 "upcast": {
24585 "version": "2.1.2",
24586 "resolved": "https://registry.npmjs.org/upcast/-/upcast-2.1.2.tgz",
24587 "integrity": "sha512-c+ueM175OVWv9vr1SYA3rI1ao0bxq6Y7l6u5Sac25Hi0yWz9Lz341zt9/sVOa5+7lYcvHMb0xxaacFy/2lVF2w==",
24588 "requires": {
24589 "cross-env": "^5.1.0"
24590 }
24591 },
20363 "update-notifier": { 24592 "update-notifier": {
20364 "version": "3.0.1", 24593 "version": "3.0.1",
20365 "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-3.0.1.tgz", 24594 "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-3.0.1.tgz",
@@ -20383,14 +24612,12 @@
20383 "upper-case": { 24612 "upper-case": {
20384 "version": "1.1.3", 24613 "version": "1.1.3",
20385 "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", 24614 "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
20386 "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", 24615 "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg="
20387 "dev": true
20388 }, 24616 },
20389 "uri-js": { 24617 "uri-js": {
20390 "version": "4.2.2", 24618 "version": "4.2.2",
20391 "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", 24619 "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
20392 "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", 24620 "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
20393 "dev": true,
20394 "requires": { 24621 "requires": {
20395 "punycode": "^2.1.0" 24622 "punycode": "^2.1.0"
20396 } 24623 }
@@ -20398,8 +24625,7 @@
20398 "urix": { 24625 "urix": {
20399 "version": "0.1.0", 24626 "version": "0.1.0",
20400 "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", 24627 "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
20401 "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", 24628 "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
20402 "dev": true
20403 }, 24629 },
20404 "url": { 24630 "url": {
20405 "version": "0.11.0", 24631 "version": "0.11.0",
@@ -20420,12 +24646,12 @@
20420 } 24646 }
20421 }, 24647 },
20422 "url-parse": { 24648 "url-parse": {
20423 "version": "1.4.4", 24649 "version": "1.4.7",
20424 "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.4.tgz", 24650 "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz",
20425 "integrity": "sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg==", 24651 "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==",
20426 "dev": true, 24652 "dev": true,
20427 "requires": { 24653 "requires": {
20428 "querystringify": "^2.0.0", 24654 "querystringify": "^2.1.1",
20429 "requires-port": "^1.0.0" 24655 "requires-port": "^1.0.0"
20430 } 24656 }
20431 }, 24657 },
@@ -20446,17 +24672,10 @@
20446 } 24672 }
20447 } 24673 }
20448 }, 24674 },
20449 "url-template": {
20450 "version": "2.0.8",
20451 "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz",
20452 "integrity": "sha1-/FZaPMy/93MMd19WQflVV5FDnyE=",
20453 "dev": true
20454 },
20455 "use": { 24675 "use": {
20456 "version": "3.1.1", 24676 "version": "3.1.1",
20457 "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", 24677 "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
20458 "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", 24678 "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
20459 "dev": true
20460 }, 24679 },
20461 "user-home": { 24680 "user-home": {
20462 "version": "1.1.1", 24681 "version": "1.1.1",
@@ -20464,6 +24683,15 @@
20464 "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", 24683 "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=",
20465 "dev": true 24684 "dev": true
20466 }, 24685 },
24686 "useragent": {
24687 "version": "2.3.0",
24688 "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz",
24689 "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==",
24690 "requires": {
24691 "lru-cache": "4.1.x",
24692 "tmp": "0.0.x"
24693 }
24694 },
20467 "utf8": { 24695 "utf8": {
20468 "version": "3.0.0", 24696 "version": "3.0.0",
20469 "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", 24697 "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz",
@@ -20482,6 +24710,14 @@
20482 "dev": true, 24710 "dev": true,
20483 "requires": { 24711 "requires": {
20484 "inherits": "2.0.3" 24712 "inherits": "2.0.3"
24713 },
24714 "dependencies": {
24715 "inherits": {
24716 "version": "2.0.3",
24717 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
24718 "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
24719 "dev": true
24720 }
20485 } 24721 }
20486 }, 24722 },
20487 "util-deprecate": { 24723 "util-deprecate": {
@@ -20489,6 +24725,15 @@
20489 "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 24725 "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
20490 "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 24726 "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
20491 }, 24727 },
24728 "util-promisify": {
24729 "version": "2.1.0",
24730 "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz",
24731 "integrity": "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=",
24732 "dev": true,
24733 "requires": {
24734 "object.getownpropertydescriptors": "^2.0.3"
24735 }
24736 },
20492 "util.promisify": { 24737 "util.promisify": {
20493 "version": "1.0.0", 24738 "version": "1.0.0",
20494 "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", 24739 "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
@@ -20512,21 +24757,20 @@
20512 "dev": true 24757 "dev": true
20513 }, 24758 },
20514 "uuid": { 24759 "uuid": {
20515 "version": "3.3.2", 24760 "version": "3.3.3",
20516 "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", 24761 "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
20517 "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" 24762 "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ=="
20518 }, 24763 },
20519 "v8-compile-cache": { 24764 "v8-compile-cache": {
20520 "version": "2.0.2", 24765 "version": "2.1.0",
20521 "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz", 24766 "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
20522 "integrity": "sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==", 24767 "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==",
20523 "dev": true 24768 "dev": true
20524 }, 24769 },
20525 "v8flags": { 24770 "v8flags": {
20526 "version": "3.1.2", 24771 "version": "3.1.3",
20527 "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.2.tgz", 24772 "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz",
20528 "integrity": "sha512-MtivA7GF24yMPte9Rp/BWGCYQNaUj86zeYxV/x2RRJMKagImbbv3u8iJC57lNhWLPcGLJmHcHmFWkNsplbbLWw==", 24773 "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==",
20529 "dev": true,
20530 "requires": { 24774 "requires": {
20531 "homedir-polyfill": "^1.0.1" 24775 "homedir-polyfill": "^1.0.1"
20532 } 24776 }
@@ -20535,6 +24779,7 @@
20535 "version": "3.0.4", 24779 "version": "3.0.4",
20536 "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", 24780 "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
20537 "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", 24781 "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
24782 "dev": true,
20538 "requires": { 24783 "requires": {
20539 "spdx-correct": "^3.0.0", 24784 "spdx-correct": "^3.0.0",
20540 "spdx-expression-parse": "^3.0.0" 24785 "spdx-expression-parse": "^3.0.0"
@@ -20563,14 +24808,12 @@
20563 "vary": { 24808 "vary": {
20564 "version": "1.1.2", 24809 "version": "1.1.2",
20565 "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 24810 "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
20566 "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", 24811 "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
20567 "dev": true
20568 }, 24812 },
20569 "verror": { 24813 "verror": {
20570 "version": "1.10.0", 24814 "version": "1.10.0",
20571 "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", 24815 "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
20572 "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", 24816 "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
20573 "dev": true,
20574 "requires": { 24817 "requires": {
20575 "assert-plus": "^1.0.0", 24818 "assert-plus": "^1.0.0",
20576 "core-util-is": "1.0.2", 24819 "core-util-is": "1.0.2",
@@ -20639,6 +24882,12 @@
20639 "util-deprecate": "~1.0.1" 24882 "util-deprecate": "~1.0.1"
20640 } 24883 }
20641 }, 24884 },
24885 "safe-buffer": {
24886 "version": "5.1.2",
24887 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
24888 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
24889 "dev": true
24890 },
20642 "string_decoder": { 24891 "string_decoder": {
20643 "version": "1.1.1", 24892 "version": "1.1.1",
20644 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 24893 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -20647,6 +24896,16 @@
20647 "requires": { 24896 "requires": {
20648 "safe-buffer": "~5.1.0" 24897 "safe-buffer": "~5.1.0"
20649 } 24898 }
24899 },
24900 "through2": {
24901 "version": "2.0.5",
24902 "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
24903 "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
24904 "dev": true,
24905 "requires": {
24906 "readable-stream": "~2.3.6",
24907 "xtend": "~4.0.1"
24908 }
20650 } 24909 }
20651 } 24910 }
20652 }, 24911 },
@@ -20669,7 +24928,6 @@
20669 "version": "0.2.1", 24928 "version": "0.2.1",
20670 "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", 24929 "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz",
20671 "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", 24930 "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=",
20672 "dev": true,
20673 "requires": { 24931 "requires": {
20674 "source-map": "^0.5.1" 24932 "source-map": "^0.5.1"
20675 }, 24933 },
@@ -20677,19 +24935,15 @@
20677 "source-map": { 24935 "source-map": {
20678 "version": "0.5.7", 24936 "version": "0.5.7",
20679 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 24937 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
20680 "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 24938 "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
20681 "dev": true
20682 } 24939 }
20683 } 24940 }
20684 }, 24941 },
20685 "vm-browserify": { 24942 "vm-browserify": {
20686 "version": "0.0.4", 24943 "version": "1.1.0",
20687 "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", 24944 "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz",
20688 "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", 24945 "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==",
20689 "dev": true, 24946 "dev": true
20690 "requires": {
20691 "indexof": "0.0.1"
20692 }
20693 }, 24947 },
20694 "w3c-hr-time": { 24948 "w3c-hr-time": {
20695 "version": "1.0.1", 24949 "version": "1.0.1",
@@ -20701,60 +24955,23 @@
20701 } 24955 }
20702 }, 24956 },
20703 "wait-on": { 24957 "wait-on": {
20704 "version": "3.2.0", 24958 "version": "3.3.0",
20705 "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-3.2.0.tgz", 24959 "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-3.3.0.tgz",
20706 "integrity": "sha512-QUGNKlKLDyY6W/qHdxaRlXUAgLPe+3mLL/tRByHpRNcHs/c7dZXbu+OnJWGNux6tU1WFh/Z8aEwvbuzSAu79Zg==", 24960 "integrity": "sha512-97dEuUapx4+Y12aknWZn7D25kkjMk16PbWoYzpSdA8bYpVfS6hpl2a2pOWZ3c+Tyt3/i4/pglyZctG3J4V1hWQ==",
20707 "dev": true, 24961 "dev": true,
20708 "requires": { 24962 "requires": {
20709 "core-js": "^2.5.7", 24963 "@hapi/joi": "^15.0.3",
20710 "joi": "^13.0.0", 24964 "core-js": "^2.6.5",
20711 "minimist": "^1.2.0", 24965 "minimist": "^1.2.0",
20712 "request": "^2.88.0", 24966 "request": "^2.88.0",
20713 "rx": "^4.1.0" 24967 "rx": "^4.1.0"
20714 }, 24968 },
20715 "dependencies": { 24969 "dependencies": {
20716 "hoek": { 24970 "minimist": {
20717 "version": "5.0.4", 24971 "version": "1.2.0",
20718 "resolved": "https://registry.npmjs.org/hoek/-/hoek-5.0.4.tgz", 24972 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
20719 "integrity": "sha512-Alr4ZQgoMlnere5FZJsIyfIjORBqZll5POhDsF4q64dPuJR6rNxXdDxtHSQq8OXRurhmx+PWYEE8bXRROY8h0w==", 24973 "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
20720 "dev": true 24974 "dev": true
20721 },
20722 "isemail": {
20723 "version": "3.2.0",
20724 "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.2.0.tgz",
20725 "integrity": "sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg==",
20726 "dev": true,
20727 "requires": {
20728 "punycode": "2.x.x"
20729 }
20730 },
20731 "joi": {
20732 "version": "13.7.0",
20733 "resolved": "https://registry.npmjs.org/joi/-/joi-13.7.0.tgz",
20734 "integrity": "sha512-xuY5VkHfeOYK3Hdi91ulocfuFopwgbSORmIwzcwHKESQhC7w1kD5jaVSPnqDxS2I8t3RZ9omCKAxNwXN5zG1/Q==",
20735 "dev": true,
20736 "requires": {
20737 "hoek": "5.x.x",
20738 "isemail": "3.x.x",
20739 "topo": "3.x.x"
20740 }
20741 },
20742 "topo": {
20743 "version": "3.0.3",
20744 "resolved": "https://registry.npmjs.org/topo/-/topo-3.0.3.tgz",
20745 "integrity": "sha512-IgpPtvD4kjrJ7CRA3ov2FhWQADwv+Tdqbsf1ZnPUSAtCJ9e1Z44MmoSGDXGk4IppoZA7jd/QRkNddlLJWlUZsQ==",
20746 "dev": true,
20747 "requires": {
20748 "hoek": "6.x.x"
20749 },
20750 "dependencies": {
20751 "hoek": {
20752 "version": "6.1.2",
20753 "resolved": "https://registry.npmjs.org/hoek/-/hoek-6.1.2.tgz",
20754 "integrity": "sha512-6qhh/wahGYZHFSFw12tBbJw5fsAhhwrrG/y3Cs0YMTv2WzMnL0oLPnQJjv1QJvEfylRSOFuP+xCu+tdx0tD16Q==",
20755 "dev": true
20756 }
20757 }
20758 } 24975 }
20759 } 24976 }
20760 }, 24977 },
@@ -20775,6 +24992,11 @@
20775 "loose-envify": "^1.0.0" 24992 "loose-envify": "^1.0.0"
20776 } 24993 }
20777 }, 24994 },
24995 "warning-symbol": {
24996 "version": "0.1.0",
24997 "resolved": "https://registry.npmjs.org/warning-symbol/-/warning-symbol-0.1.0.tgz",
24998 "integrity": "sha1-uzHdEbeg+dZ6su2V9Fe2WCW7rSE="
24999 },
20778 "watchpack": { 25000 "watchpack": {
20779 "version": "1.6.0", 25001 "version": "1.6.0",
20780 "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", 25002 "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
@@ -20849,9 +25071,9 @@
20849 "dev": true 25071 "dev": true
20850 }, 25072 },
20851 "eslint-scope": { 25073 "eslint-scope": {
20852 "version": "4.0.0", 25074 "version": "4.0.3",
20853 "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", 25075 "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
20854 "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", 25076 "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
20855 "dev": true, 25077 "dev": true,
20856 "requires": { 25078 "requires": {
20857 "esrecurse": "^4.1.0", 25079 "esrecurse": "^4.1.0",
@@ -20891,23 +25113,25 @@
20891 "yargs": "^12.0.4" 25113 "yargs": "^12.0.4"
20892 }, 25114 },
20893 "dependencies": { 25115 "dependencies": {
20894 "import-local": { 25116 "findup-sync": {
20895 "version": "2.0.0", 25117 "version": "2.0.0",
20896 "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", 25118 "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
20897 "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", 25119 "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
20898 "dev": true, 25120 "dev": true,
20899 "requires": { 25121 "requires": {
20900 "pkg-dir": "^3.0.0", 25122 "detect-file": "^1.0.0",
20901 "resolve-cwd": "^2.0.0" 25123 "is-glob": "^3.1.0",
25124 "micromatch": "^3.0.4",
25125 "resolve-dir": "^1.0.1"
20902 } 25126 }
20903 }, 25127 },
20904 "pkg-dir": { 25128 "is-glob": {
20905 "version": "3.0.0", 25129 "version": "3.1.0",
20906 "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", 25130 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
20907 "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", 25131 "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
20908 "dev": true, 25132 "dev": true,
20909 "requires": { 25133 "requires": {
20910 "find-up": "^3.0.0" 25134 "is-extglob": "^2.1.0"
20911 } 25135 }
20912 } 25136 }
20913 } 25137 }
@@ -20963,13 +25187,24 @@
20963 }, 25187 },
20964 "dependencies": { 25188 "dependencies": {
20965 "accepts": { 25189 "accepts": {
20966 "version": "1.3.5", 25190 "version": "1.3.7",
20967 "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", 25191 "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
20968 "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", 25192 "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
20969 "dev": true, 25193 "dev": true,
20970 "requires": { 25194 "requires": {
20971 "mime-types": "~2.1.18", 25195 "mime-types": "~2.1.24",
20972 "negotiator": "0.6.1" 25196 "negotiator": "0.6.2"
25197 },
25198 "dependencies": {
25199 "mime-types": {
25200 "version": "2.1.24",
25201 "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
25202 "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
25203 "dev": true,
25204 "requires": {
25205 "mime-db": "1.40.0"
25206 }
25207 }
20973 } 25208 }
20974 }, 25209 },
20975 "ansi-regex": { 25210 "ansi-regex": {
@@ -21008,42 +25243,47 @@
21008 "xregexp": "4.0.0" 25243 "xregexp": "4.0.0"
21009 } 25244 }
21010 }, 25245 },
25246 "depd": {
25247 "version": "1.1.2",
25248 "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
25249 "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
25250 "dev": true
25251 },
21011 "escape-html": { 25252 "escape-html": {
21012 "version": "1.0.3", 25253 "version": "1.0.3",
21013 "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 25254 "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
21014 "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", 25255 "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
21015 "dev": true 25256 "dev": true
21016 }, 25257 },
21017 "import-local": { 25258 "http-errors": {
21018 "version": "2.0.0", 25259 "version": "1.6.3",
21019 "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", 25260 "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
21020 "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", 25261 "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
21021 "dev": true, 25262 "dev": true,
21022 "requires": { 25263 "requires": {
21023 "pkg-dir": "^3.0.0", 25264 "depd": "~1.1.2",
21024 "resolve-cwd": "^2.0.0" 25265 "inherits": "2.0.3",
25266 "setprototypeof": "1.1.0",
25267 "statuses": ">= 1.4.0 < 2"
21025 } 25268 }
21026 }, 25269 },
21027 "ms": { 25270 "inherits": {
21028 "version": "2.1.1", 25271 "version": "2.0.3",
21029 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", 25272 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
21030 "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", 25273 "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
21031 "dev": true 25274 "dev": true
21032 }, 25275 },
21033 "negotiator": { 25276 "mime-db": {
21034 "version": "0.6.1", 25277 "version": "1.40.0",
21035 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", 25278 "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
21036 "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", 25279 "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
21037 "dev": true 25280 "dev": true
21038 }, 25281 },
21039 "pkg-dir": { 25282 "negotiator": {
21040 "version": "3.0.0", 25283 "version": "0.6.2",
21041 "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", 25284 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
21042 "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", 25285 "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
21043 "dev": true, 25286 "dev": true
21044 "requires": {
21045 "find-up": "^3.0.0"
21046 }
21047 }, 25287 },
21048 "serve-index": { 25288 "serve-index": {
21049 "version": "1.9.1", 25289 "version": "1.9.1",
@@ -21077,6 +25317,12 @@
21077 } 25317 }
21078 } 25318 }
21079 }, 25319 },
25320 "setprototypeof": {
25321 "version": "1.1.0",
25322 "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
25323 "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
25324 "dev": true
25325 },
21080 "strip-ansi": { 25326 "strip-ansi": {
21081 "version": "3.0.1", 25327 "version": "3.0.1",
21082 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 25328 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
@@ -21128,9 +25374,9 @@
21128 }, 25374 },
21129 "dependencies": { 25375 "dependencies": {
21130 "ansi-colors": { 25376 "ansi-colors": {
21131 "version": "3.2.3", 25377 "version": "3.2.4",
21132 "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", 25378 "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
21133 "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", 25379 "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==",
21134 "dev": true 25380 "dev": true
21135 } 25381 }
21136 } 25382 }
@@ -21142,9 +25388,9 @@
21142 "dev": true 25388 "dev": true
21143 }, 25389 },
21144 "webpack-sources": { 25390 "webpack-sources": {
21145 "version": "1.3.0", 25391 "version": "1.4.3",
21146 "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", 25392 "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
21147 "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", 25393 "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
21148 "dev": true, 25394 "dev": true,
21149 "requires": { 25395 "requires": {
21150 "source-list-map": "^2.0.0", 25396 "source-list-map": "^2.0.0",
@@ -21152,12 +25398,13 @@
21152 } 25398 }
21153 }, 25399 },
21154 "websocket-driver": { 25400 "websocket-driver": {
21155 "version": "0.7.0", 25401 "version": "0.7.3",
21156 "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", 25402 "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz",
21157 "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", 25403 "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==",
21158 "dev": true, 25404 "dev": true,
21159 "requires": { 25405 "requires": {
21160 "http-parser-js": ">=0.4.0", 25406 "http-parser-js": ">=0.4.0 <0.4.11",
25407 "safe-buffer": ">=5.1.0",
21161 "websocket-extensions": ">=0.1.1" 25408 "websocket-extensions": ">=0.1.1"
21162 } 25409 }
21163 }, 25410 },
@@ -21188,9 +25435,9 @@
21188 "dev": true 25435 "dev": true
21189 }, 25436 },
21190 "whatwg-url": { 25437 "whatwg-url": {
21191 "version": "7.0.0", 25438 "version": "6.5.0",
21192 "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", 25439 "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz",
21193 "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", 25440 "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==",
21194 "dev": true, 25441 "dev": true,
21195 "requires": { 25442 "requires": {
21196 "lodash.sortby": "^4.7.0", 25443 "lodash.sortby": "^4.7.0",
@@ -21202,7 +25449,6 @@
21202 "version": "1.3.1", 25449 "version": "1.3.1",
21203 "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 25450 "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
21204 "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 25451 "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
21205 "dev": true,
21206 "requires": { 25452 "requires": {
21207 "isexe": "^2.0.0" 25453 "isexe": "^2.0.0"
21208 } 25454 }
@@ -21233,22 +25479,16 @@
21233 "window-size": { 25479 "window-size": {
21234 "version": "0.1.4", 25480 "version": "0.1.4",
21235 "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", 25481 "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz",
21236 "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=" 25482 "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=",
25483 "dev": true
21237 }, 25484 },
21238 "windows-notification-state": { 25485 "windows-notification-state": {
21239 "version": "1.3.3", 25486 "version": "1.3.4",
21240 "resolved": "https://registry.npmjs.org/windows-notification-state/-/windows-notification-state-1.3.3.tgz", 25487 "resolved": "https://registry.npmjs.org/windows-notification-state/-/windows-notification-state-1.3.4.tgz",
21241 "integrity": "sha512-MVcI09Kjjpd7XkTzp6iG9q+5rIj98r4js1GAIQd3XeCEuyQi+TG3lB3d1RYToZrf28qPkNFO/ChXjvc8ZF/hAQ==", 25488 "integrity": "sha512-Z2n6YLARi14AGqaY5zAlMnhButzjRjlQui0k73nXe4tVRg2U918zLeC3ZxM/i4JKho/GqV85rgQsMfLWnbTUCA==",
21242 "requires": { 25489 "requires": {
21243 "bindings": "^1.5.0", 25490 "bindings": "^1.5.0",
21244 "nan": "^2.14.0" 25491 "nan": "^2.14.0"
21245 },
21246 "dependencies": {
21247 "nan": {
21248 "version": "2.14.0",
21249 "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
21250 "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg=="
21251 }
21252 } 25492 }
21253 }, 25493 },
21254 "windows-quiet-hours": { 25494 "windows-quiet-hours": {
@@ -21261,41 +25501,82 @@
21261 } 25501 }
21262 }, 25502 },
21263 "windows-release": { 25503 "windows-release": {
21264 "version": "3.1.0", 25504 "version": "3.2.0",
21265 "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.1.0.tgz", 25505 "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.2.0.tgz",
21266 "integrity": "sha512-hBb7m7acFgQPQc222uEQTmdcGLeBmQLNLFIh0rDk3CwFOBrfjefLzEfEfmpMq8Af/n/GnFf3eYf203FY1PmudA==", 25506 "integrity": "sha512-QTlz2hKLrdqukrsapKsINzqMgOUpQW268eJ0OaOpJN32h272waxR9fkB9VoWRtK7uKHG5EHJcTXQBD8XZVJkFA==",
21267 "dev": true, 25507 "dev": true,
21268 "requires": { 25508 "requires": {
21269 "execa": "^0.10.0" 25509 "execa": "^1.0.0"
25510 }
25511 },
25512 "winreg": {
25513 "version": "1.2.4",
25514 "resolved": "https://registry.npmjs.org/winreg/-/winreg-1.2.4.tgz",
25515 "integrity": "sha1-ugZWKbepJRMOFXeRCM9UCZDpjRs="
25516 },
25517 "winston": {
25518 "version": "3.2.1",
25519 "resolved": "https://registry.npmjs.org/winston/-/winston-3.2.1.tgz",
25520 "integrity": "sha512-zU6vgnS9dAWCEKg/QYigd6cgMVVNwyTzKs81XZtTFuRwJOcDdBg7AU0mXVyNbs7O5RH2zdv+BdNZUlx7mXPuOw==",
25521 "requires": {
25522 "async": "^2.6.1",
25523 "diagnostics": "^1.1.1",
25524 "is-stream": "^1.1.0",
25525 "logform": "^2.1.1",
25526 "one-time": "0.0.4",
25527 "readable-stream": "^3.1.1",
25528 "stack-trace": "0.0.x",
25529 "triple-beam": "^1.3.0",
25530 "winston-transport": "^4.3.0"
21270 }, 25531 },
21271 "dependencies": { 25532 "dependencies": {
21272 "execa": { 25533 "async": {
21273 "version": "0.10.0", 25534 "version": "2.6.3",
21274 "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", 25535 "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
21275 "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", 25536 "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
21276 "dev": true,
21277 "requires": { 25537 "requires": {
21278 "cross-spawn": "^6.0.0", 25538 "lodash": "^4.17.14"
21279 "get-stream": "^3.0.0",
21280 "is-stream": "^1.1.0",
21281 "npm-run-path": "^2.0.0",
21282 "p-finally": "^1.0.0",
21283 "signal-exit": "^3.0.0",
21284 "strip-eof": "^1.0.0"
21285 } 25539 }
21286 },
21287 "get-stream": {
21288 "version": "3.0.0",
21289 "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
21290 "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
21291 "dev": true
21292 } 25540 }
21293 } 25541 }
21294 }, 25542 },
21295 "winreg": { 25543 "winston-transport": {
21296 "version": "1.2.2", 25544 "version": "4.3.0",
21297 "resolved": "https://registry.npmjs.org/winreg/-/winreg-1.2.2.tgz", 25545 "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.3.0.tgz",
21298 "integrity": "sha1-hQmvo7ccW70RCm18YkfsZ3NsWY8=" 25546 "integrity": "sha512-B2wPuwUi3vhzn/51Uukcao4dIduEiPOcOt9HJ3QeaXgkJ5Z7UwpBzxS4ZGNHtrxrUvTwemsQiSys0ihOf8Mp1A==",
25547 "requires": {
25548 "readable-stream": "^2.3.6",
25549 "triple-beam": "^1.2.0"
25550 },
25551 "dependencies": {
25552 "readable-stream": {
25553 "version": "2.3.6",
25554 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
25555 "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
25556 "requires": {
25557 "core-util-is": "~1.0.0",
25558 "inherits": "~2.0.3",
25559 "isarray": "~1.0.0",
25560 "process-nextick-args": "~2.0.0",
25561 "safe-buffer": "~5.1.1",
25562 "string_decoder": "~1.1.1",
25563 "util-deprecate": "~1.0.1"
25564 }
25565 },
25566 "safe-buffer": {
25567 "version": "5.1.2",
25568 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
25569 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
25570 },
25571 "string_decoder": {
25572 "version": "1.1.1",
25573 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
25574 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
25575 "requires": {
25576 "safe-buffer": "~5.1.0"
25577 }
25578 }
25579 }
21299 }, 25580 },
21300 "word-wrap": { 25581 "word-wrap": {
21301 "version": "1.2.3", 25582 "version": "1.2.3",
@@ -21310,9 +25591,9 @@
21310 "dev": true 25591 "dev": true
21311 }, 25592 },
21312 "worker-farm": { 25593 "worker-farm": {
21313 "version": "1.6.0", 25594 "version": "1.7.0",
21314 "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", 25595 "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
21315 "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", 25596 "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==",
21316 "dev": true, 25597 "dev": true,
21317 "requires": { 25598 "requires": {
21318 "errno": "~0.1.7" 25599 "errno": "~0.1.7"
@@ -21390,9 +25671,9 @@
21390 } 25671 }
21391 }, 25672 },
21392 "write-file-atomic": { 25673 "write-file-atomic": {
21393 "version": "2.4.2", 25674 "version": "2.4.3",
21394 "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.2.tgz", 25675 "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz",
21395 "integrity": "sha512-s0b6vB3xIVRLWywa6X9TOMA7k9zio0TMOsl9ZnDkliA/cfJlpHXAscj0gbHVJiTdIuAYpIyqS5GW91fqm6gG5g==", 25676 "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==",
21396 "dev": true, 25677 "dev": true,
21397 "requires": { 25678 "requires": {
21398 "graceful-fs": "^4.1.11", 25679 "graceful-fs": "^4.1.11",
@@ -21401,19 +25682,35 @@
21401 } 25682 }
21402 }, 25683 },
21403 "write-json-file": { 25684 "write-json-file": {
21404 "version": "2.3.0", 25685 "version": "3.2.0",
21405 "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-2.3.0.tgz", 25686 "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz",
21406 "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", 25687 "integrity": "sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==",
21407 "dev": true, 25688 "dev": true,
21408 "requires": { 25689 "requires": {
21409 "detect-indent": "^5.0.0", 25690 "detect-indent": "^5.0.0",
21410 "graceful-fs": "^4.1.2", 25691 "graceful-fs": "^4.1.15",
21411 "make-dir": "^1.0.0", 25692 "make-dir": "^2.1.0",
21412 "pify": "^3.0.0", 25693 "pify": "^4.0.1",
21413 "sort-keys": "^2.0.0", 25694 "sort-keys": "^2.0.0",
21414 "write-file-atomic": "^2.0.0" 25695 "write-file-atomic": "^2.4.2"
21415 }, 25696 },
21416 "dependencies": { 25697 "dependencies": {
25698 "make-dir": {
25699 "version": "2.1.0",
25700 "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
25701 "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
25702 "dev": true,
25703 "requires": {
25704 "pify": "^4.0.1",
25705 "semver": "^5.6.0"
25706 }
25707 },
25708 "pify": {
25709 "version": "4.0.1",
25710 "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
25711 "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
25712 "dev": true
25713 },
21417 "sort-keys": { 25714 "sort-keys": {
21418 "version": "2.0.0", 25715 "version": "2.0.0",
21419 "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", 25716 "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz",
@@ -21443,6 +25740,20 @@
21443 "requires": { 25740 "requires": {
21444 "is-plain-obj": "^1.0.0" 25741 "is-plain-obj": "^1.0.0"
21445 } 25742 }
25743 },
25744 "write-json-file": {
25745 "version": "2.3.0",
25746 "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-2.3.0.tgz",
25747 "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=",
25748 "dev": true,
25749 "requires": {
25750 "detect-indent": "^5.0.0",
25751 "graceful-fs": "^4.1.2",
25752 "make-dir": "^1.0.0",
25753 "pify": "^3.0.0",
25754 "sort-keys": "^2.0.0",
25755 "write-file-atomic": "^2.0.0"
25756 }
21446 } 25757 }
21447 } 25758 }
21448 }, 25759 },
@@ -21472,6 +25783,11 @@
21472 "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", 25783 "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
21473 "dev": true 25784 "dev": true
21474 }, 25785 },
25786 "xmlhttprequest": {
25787 "version": "1.8.0",
25788 "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz",
25789 "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw="
25790 },
21475 "xmlhttprequest-ssl": { 25791 "xmlhttprequest-ssl": {
21476 "version": "1.5.3", 25792 "version": "1.5.3",
21477 "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz", 25793 "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz",
@@ -21485,9 +25801,9 @@
21485 "dev": true 25801 "dev": true
21486 }, 25802 },
21487 "xtend": { 25803 "xtend": {
21488 "version": "4.0.1", 25804 "version": "4.0.2",
21489 "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 25805 "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
21490 "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" 25806 "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
21491 }, 25807 },
21492 "y18n": { 25808 "y18n": {
21493 "version": "4.0.0", 25809 "version": "4.0.0",
@@ -21544,6 +25860,24 @@
21544 "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", 25860 "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
21545 "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", 25861 "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=",
21546 "dev": true 25862 "dev": true
25863 },
25864 "youch": {
25865 "version": "2.0.10",
25866 "resolved": "https://registry.npmjs.org/youch/-/youch-2.0.10.tgz",
25867 "integrity": "sha512-qPLQW2TuwlcK9sm5i1Gbb9ezRZRZyzr6NsY5cqxsbh+2iEyKPxLlz0OSAc+pQ7mv1pYZLri1MXynggP6R2FcNQ==",
25868 "requires": {
25869 "cookie": "^0.3.1",
25870 "mustache": "^3.0.0",
25871 "stack-trace": "0.0.10"
25872 }
25873 },
25874 "youch-terminal": {
25875 "version": "1.0.0",
25876 "resolved": "https://registry.npmjs.org/youch-terminal/-/youch-terminal-1.0.0.tgz",
25877 "integrity": "sha512-rOVcJi5juKSUI3/mwAKOP+gjrUWUgb5AUTe2LZlfLBgLdfgnYtBKCrWc02GgRozDf/i6uXBu9/y3Vf6db+7k1A==",
25878 "requires": {
25879 "chalk": "^2.3.0"
25880 }
21547 } 25881 }
21548 } 25882 }
21549} 25883}
diff --git a/package.json b/package.json
index 07fc32026..f7b633091 100644
--- a/package.json
+++ b/package.json
@@ -1,13 +1,13 @@
1{ 1{
2 "name": "franz", 2 "name": "ferdi",
3 "productName": "Franz", 3 "productName": "Ferdi",
4 "appId": "com.meetfranz.franz", 4 "appId": "com.kytwb.ferdi",
5 "version": "5.4.0", 5 "version": "5.4.0",
6 "description": "Messaging app for WhatsApp, Slack, Telegram, HipChat, Hangouts and many many more.", 6 "description": "Messaging app for WhatsApp, Slack, Telegram, HipChat, Hangouts and many many more.",
7 "copyright": "adlk x franz - Stefan Malzner", 7 "copyright": "kytwb",
8 "main": "index.js", 8 "main": "index.js",
9 "homepage": "https://meetfranz.com", 9 "homepage": "https://github.com/getferdi/ferdi",
10 "repository": "https://github.com/meetfranz/franz.git", 10 "repository": "https://github.com/getferdi/ferdi.git",
11 "private": true, 11 "private": true,
12 "scripts": { 12 "scripts": {
13 "prestart": "npm run rebuild", 13 "prestart": "npm run rebuild",
@@ -17,23 +17,38 @@
17 "dev": "cross-env NODE_ENV=development gulp dev", 17 "dev": "cross-env NODE_ENV=development gulp dev",
18 "test": "jest", 18 "test": "jest",
19 "test:watch": "jest --watch", 19 "test:watch": "jest --watch",
20 "lint": "eslint src", 20 "lint": "eslint --quiet --fix src",
21 "manage-translations": "node ./src/i18n/manage-translations.js", 21 "manage-translations": "node ./src/i18n/manage-translations.js",
22 "sign": "gulp sign",
23 "prebuild": "gulp build", 22 "prebuild": "gulp build",
24 "build": "npx electron-builder --publish onTag", 23 "build": "npx electron-builder --publish onTag",
25 "rebuild": "npx electron-rebuild", 24 "rebuild": "npx electron-rebuild",
26 "commit": "git-cz", 25 "commit": "git-cz",
27 "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s", 26 "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s",
27 "contributors": "all-contributors",
28 "reformat-files": "./node_modules/.bin/prettier --ignore-path .eslintignore --write --require-pragma \"**/*.{js,jsx,scss}\"", 28 "reformat-files": "./node_modules/.bin/prettier --ignore-path .eslintignore --write --require-pragma \"**/*.{js,jsx,scss}\"",
29 "packages": "npx lerna publish --no-git-tag-version", 29 "packages": "npx lerna publish --no-git-tag-version",
30 "uidev": "cd uidev && webpack-dev-server", 30 "uidev": "cd uidev && webpack-dev-server",
31 "postinstall": "npx lerna run prepare" 31 "postinstall": "npx lerna run prepare",
32 "apply-branding": "node ./src/i18n/apply-branding.js",
33 "prepare-code": "npm run lint && npm run reformat-files && npm run manage-translations && npm run apply-branding",
34 "build-theme-info": "node src/scripts/build-theme-info.js"
32 }, 35 },
33 "keywords": [], 36 "keywords": [],
34 "author": "Stefan Malzner <stefan@adlk.io>", 37 "author": "Amine Mouafik <amine@mouafik.fr>",
35 "license": "Apache-2.0", 38 "license": "Apache-2.0",
36 "dependencies": { 39 "dependencies": {
40 "@adonisjs/ace": "5.0.8",
41 "@adonisjs/auth": "3.0.7",
42 "@adonisjs/bodyparser": "2.0.9",
43 "@adonisjs/cors": "1.0.7",
44 "@adonisjs/drive": "1.0.4",
45 "@adonisjs/fold": "4.0.9",
46 "@adonisjs/framework": "5.0.13",
47 "@adonisjs/ignitor": "2.0.8",
48 "@adonisjs/lucid": "6.1.3",
49 "@adonisjs/session": "1.0.29",
50 "@adonisjs/shield": "1.0.8",
51 "@adonisjs/validator": "5.0.6",
37 "@babel/polyfill": "7.4.4", 52 "@babel/polyfill": "7.4.4",
38 "@babel/runtime": "7.4.5", 53 "@babel/runtime": "7.4.5",
39 "@mdi/js": "4.2.95", 54 "@mdi/js": "4.2.95",
@@ -42,22 +57,33 @@
42 "@meetfranz/theme": "file:packages/theme", 57 "@meetfranz/theme": "file:packages/theme",
43 "@meetfranz/ui": "file:packages/ui", 58 "@meetfranz/ui": "file:packages/ui",
44 "address-rfc2822": "^2.0.1", 59 "address-rfc2822": "^2.0.1",
45 "auto-launch": "https://github.com/meetfranz/node-auto-launch.git", 60 "atob": "2.1.2",
61 "auto-launch": "5.0.5",
62 "btoa": "1.2.1",
46 "classnames": "2.2.6", 63 "classnames": "2.2.6",
47 "cld3-asm": "1.0.1", 64 "cld3-asm": "1.0.1",
65 "css": "2.2.4",
66 "darkreader": "4.7.15",
48 "du": "^0.1.0", 67 "du": "^0.1.0",
49 "electron-dl": "1.12.0", 68 "electron-dl": "1.14.0",
50 "electron-fetch": "1.3.0", 69 "electron-fetch": "1.3.0",
51 "electron-hunspell": "1.0.0", 70 "electron-hunspell": "1.0.0",
52 "electron-is-dev": "1.0.1", 71 "electron-is-dev": "1.1.0",
72 "electron-process-manager": "git+https://git@github.com/dizer/electron-process-manager.git",
73 "electron-process-reporter": "git+https://git@github.com/dizer/electron-process-reporter.git",
53 "electron-react-titlebar": "0.8.1", 74 "electron-react-titlebar": "0.8.1",
54 "electron-updater": "4.0.6", 75 "electron-spellchecker": "2.2.0",
76 "electron-updater": "4.1.2",
55 "electron-window-state": "5.0.3", 77 "electron-window-state": "5.0.3",
56 "fs-extra": "7.0.1", 78 "fs-extra": "7.0.1",
79 "gulp-csso": "3.0.1",
80 "gulp-htmlmin": "5.0.1",
81 "gulp-if": "3.0.0",
82 "gulp-uglify": "3.0.2",
57 "hex-to-rgba": "1.0.2", 83 "hex-to-rgba": "1.0.2",
58 "jsonwebtoken": "8.5.1", 84 "jsonwebtoken": "8.5.1",
59 "lodash": "^4.17.4", 85 "lodash": "4.17.15",
60 "marked": "0.6.1", 86 "marked": "0.7.0",
61 "mdi": "^1.9.33", 87 "mdi": "^1.9.33",
62 "mime-types": "2.1.21", 88 "mime-types": "2.1.21",
63 "mobx": "5.7.0", 89 "mobx": "5.7.0",
@@ -67,6 +93,7 @@
67 "mobx-react-router": "3.1.2", 93 "mobx-react-router": "3.1.2",
68 "moment": "^2.17.1", 94 "moment": "^2.17.1",
69 "ms": "2.1.1", 95 "ms": "2.1.1",
96 "node-fetch": "2.6.0",
70 "normalize-url": "^1.9.1", 97 "normalize-url": "^1.9.1",
71 "pretty-bytes": "^4.0.2", 98 "pretty-bytes": "^4.0.2",
72 "prop-types": "^15.5.10", 99 "prop-types": "^15.5.10",
@@ -86,8 +113,11 @@
86 "route-parser": "^0.0.5", 113 "route-parser": "^0.0.5",
87 "semver": "^5.4.1", 114 "semver": "^5.4.1",
88 "smoothscroll-polyfill": "^0.3.4", 115 "smoothscroll-polyfill": "^0.3.4",
116 "sqlite3": "4.1.0",
89 "tar": "^4.0.2", 117 "tar": "^4.0.2",
90 "uuid": "^3.0.1", 118 "targz": "1.0.1",
119 "terser": "4.3.8",
120 "uuid": "3.3.3",
91 "validator": "11.0.0", 121 "validator": "11.0.0",
92 "ws": "6.2.1" 122 "ws": "6.2.1"
93 }, 123 },
@@ -97,7 +127,7 @@
97 "@babel/core": "^7.2.2", 127 "@babel/core": "^7.2.2",
98 "@babel/plugin-proposal-class-properties": "^7.0.0", 128 "@babel/plugin-proposal-class-properties": "^7.0.0",
99 "@babel/plugin-proposal-decorators": "^7.0.0", 129 "@babel/plugin-proposal-decorators": "^7.0.0",
100 "@babel/plugin-proposal-export-default-from": "^7.0.0", 130 "@babel/plugin-proposal-export-default-from": "7.5.2",
101 "@babel/plugin-proposal-throw-expressions": "^7.0.0", 131 "@babel/plugin-proposal-throw-expressions": "^7.0.0",
102 "@babel/plugin-syntax-dynamic-import": "^7.0.0", 132 "@babel/plugin-syntax-dynamic-import": "^7.0.0",
103 "@babel/plugin-transform-regenerator": "^7.0.0", 133 "@babel/plugin-transform-regenerator": "^7.0.0",
@@ -113,6 +143,7 @@
113 "@types/react-dom": "16.0.11", 143 "@types/react-dom": "16.0.11",
114 "@types/react-jss": "^8.6.0", 144 "@types/react-jss": "^8.6.0",
115 "@types/uuid": "3.4.4", 145 "@types/uuid": "3.4.4",
146 "all-contributors-cli": "6.9.0",
116 "babel-eslint": "10.0.1", 147 "babel-eslint": "10.0.1",
117 "babel-loader": "^8.0.4", 148 "babel-loader": "^8.0.4",
118 "babel-plugin-react-intl": "3.0.1", 149 "babel-plugin-react-intl": "3.0.1",
@@ -122,7 +153,8 @@
122 "dotenv": "^4.0.0", 153 "dotenv": "^4.0.0",
123 "electron": "6.0.10", 154 "electron": "6.0.10",
124 "electron-builder": "21.2.0", 155 "electron-builder": "21.2.0",
125 "electron-rebuild": "1.8.4", 156 "electron-notarize": "0.1.1",
157 "electron-rebuild": "1.8.6",
126 "eslint": "5.10.0", 158 "eslint": "5.10.0",
127 "eslint-config-airbnb": "17.1.0", 159 "eslint-config-airbnb": "17.1.0",
128 "eslint-loader": "^1.9.0", 160 "eslint-loader": "^1.9.0",
@@ -168,7 +200,7 @@
168 ], 200 ],
169 "husky": { 201 "husky": {
170 "hooks": { 202 "hooks": {
171 "pre-push": "npm run lint && npm run reformat-files && npm run manage-translations" 203 "pre-push": "npm run lint && npm run reformat-files && npm run manage-translations && npm run apply-branding"
172 } 204 }
173 } 205 }
174} 206}
diff --git a/packages/forms/package.json b/packages/forms/package.json
index bb76462d8..18b6d2244 100644
--- a/packages/forms/package.json
+++ b/packages/forms/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "name": "@meetfranz/forms", 2 "name": "@meetfranz/forms",
3 "version": "1.1.0", 3 "version": "1.1.0",
4 "description": "React form components for Franz", 4 "description": "React form components for Ferdi",
5 "main": "lib/index.js", 5 "main": "lib/index.js",
6 "scripts": { 6 "scripts": {
7 "dev": "tsc -w", 7 "dev": "tsc -w",
@@ -20,7 +20,7 @@
20 "React", 20 "React",
21 "UI" 21 "UI"
22 ], 22 ],
23 "author": "Stefan Malzner <stefan@adlk.io>", 23 "author": "Amine Mouafik <amine@mouafik.fr>",
24 "license": "Apache-2.0", 24 "license": "Apache-2.0",
25 "dependencies": { 25 "dependencies": {
26 "@mdi/js": "^3.3.92", 26 "@mdi/js": "^3.3.92",
diff --git a/packages/forms/src/button/index.tsx b/packages/forms/src/button/index.tsx
index b53c2da05..b81154a43 100644
--- a/packages/forms/src/button/index.tsx
+++ b/packages/forms/src/button/index.tsx
@@ -14,7 +14,7 @@ interface IProps extends IFormField, IWithStyle {
14 className?: string; 14 className?: string;
15 disabled?: boolean; 15 disabled?: boolean;
16 id?: string; 16 id?: string;
17 type?: string; 17 type?: "button" | "reset" | "submit" | undefined;
18 onClick: (event: React.MouseEvent<HTMLButtonElement> | React.MouseEvent<HTMLAnchorElement>) => void; 18 onClick: (event: React.MouseEvent<HTMLButtonElement> | React.MouseEvent<HTMLAnchorElement>) => void;
19 buttonType?: ButtonType; 19 buttonType?: ButtonType;
20 stretch?: boolean; 20 stretch?: boolean;
@@ -187,7 +187,7 @@ class ButtonComponent extends Component<IProps> {
187 let showLoader = false; 187 let showLoader = false;
188 if (loaded) { 188 if (loaded) {
189 showLoader = !loaded; 189 showLoader = !loaded;
190 console.warn('Franz Button prop `loaded` will be deprecated in the future. Please use `busy` instead'); 190 console.warn('Ferdi Button prop `loaded` will be deprecated in the future. Please use `busy` instead');
191 } 191 }
192 if (busy) { 192 if (busy) {
193 showLoader = busy; 193 showLoader = busy;
diff --git a/packages/theme/package.json b/packages/theme/package.json
index fa12c8a30..ae608c507 100644
--- a/packages/theme/package.json
+++ b/packages/theme/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "name": "@meetfranz/theme", 2 "name": "@meetfranz/theme",
3 "version": "1.0.14", 3 "version": "1.0.14",
4 "description": "Theme configuration for Franz", 4 "description": "Theme configuration for Ferdi",
5 "author": "Stefan Malzner <stefan@adlk.io>", 5 "author": "Stefan Malzner <stefan@adlk.io>",
6 "homepage": "https://github.com/meetfranz/franz", 6 "homepage": "https://github.com/meetfranz/franz",
7 "license": "Apache-2.0", 7 "license": "Apache-2.0",
diff --git a/packages/theme/src/themes/default/index.ts b/packages/theme/src/themes/default/index.ts
index 3decec88f..edf56f21e 100644
--- a/packages/theme/src/themes/default/index.ts
+++ b/packages/theme/src/themes/default/index.ts
@@ -12,7 +12,7 @@ export interface IStyleTypes {
12 }; 12 };
13} 13}
14 14
15export const brandPrimary = '#3498db'; 15export const brandPrimary = '#7367F0';
16export const brandSuccess = '#5cb85c'; 16export const brandSuccess = '#5cb85c';
17export const brandInfo = '#5bc0de'; 17export const brandInfo = '#5bc0de';
18export const brandWarning = '#FF9F00'; 18export const brandWarning = '#FF9F00';
diff --git a/packages/theme/src/themes/legacy/index.ts b/packages/theme/src/themes/legacy/index.ts
index 2114b92c1..17dcf883e 100644
--- a/packages/theme/src/themes/legacy/index.ts
+++ b/packages/theme/src/themes/legacy/index.ts
@@ -1,5 +1,5 @@
1/* legacy config, injected into sass */ 1/* legacy config, injected into sass */
2export const themeBrandPrimary = '#3498db'; 2export const themeBrandPrimary = '#7367F0';
3export const themeBrandSuccess = '#5cb85c'; 3export const themeBrandSuccess = '#5cb85c';
4export const themeBrandInfo = '#5bc0de'; 4export const themeBrandInfo = '#5bc0de';
5export const themeBrandWarning = '#FF9F00'; 5export const themeBrandWarning = '#FF9F00';
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 4f42b21b5..214437093 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "name": "@meetfranz/ui", 2 "name": "@meetfranz/ui",
3 "version": "1.0.0", 3 "version": "1.0.0",
4 "description": "React UI components for Franz", 4 "description": "React UI components for Ferdi",
5 "main": "lib/index.js", 5 "main": "lib/index.js",
6 "scripts": { 6 "scripts": {
7 "dev": "tsc -w", 7 "dev": "tsc -w",
diff --git a/recipes b/recipes
new file mode 160000
Subproject 7aa76feba8bd94368d27bee556480313c636f94
diff --git a/src/I18n.js b/src/I18n.js
index e33141576..14ee6599c 100644
--- a/src/I18n.js
+++ b/src/I18n.js
@@ -9,7 +9,7 @@ import UserStore from './stores/UserStore';
9 9
10export default @inject('stores') @observer class I18N extends Component { 10export default @inject('stores') @observer class I18N extends Component {
11 componentDidUpdate() { 11 componentDidUpdate() {
12 window.franz.menu.rebuild(); 12 window.ferdi.menu.rebuild();
13 } 13 }
14 14
15 render() { 15 render() {
@@ -18,7 +18,7 @@ export default @inject('stores') @observer class I18N extends Component {
18 return ( 18 return (
19 <IntlProvider 19 <IntlProvider
20 {...{ locale, key: locale, messages: translations[locale] }} 20 {...{ locale, key: locale, messages: translations[locale] }}
21 ref={(intlProvider) => { window.franz.intl = intlProvider ? intlProvider.getChildContext().intl : null; }} 21 ref={(intlProvider) => { window.ferdi.intl = intlProvider ? intlProvider.getChildContext().intl : null; }}
22 > 22 >
23 {children} 23 {children}
24 </IntlProvider> 24 </IntlProvider>
diff --git a/src/actions/service.js b/src/actions/service.js
index 68c62d594..3283d8fee 100644
--- a/src/actions/service.js
+++ b/src/actions/service.js
@@ -28,6 +28,9 @@ export default {
28 serviceId: PropTypes.string.isRequired, 28 serviceId: PropTypes.string.isRequired,
29 redirect: PropTypes.string, 29 redirect: PropTypes.string,
30 }, 30 },
31 openDarkmodeCss: {
32 recipe: PropTypes.string.isRequired,
33 },
31 clearCache: { 34 clearCache: {
32 serviceId: PropTypes.string.isRequired, 35 serviceId: PropTypes.string.isRequired,
33 }, 36 },
@@ -91,4 +94,8 @@ export default {
91 serviceId: PropTypes.string.isRequired, 94 serviceId: PropTypes.string.isRequired,
92 }, 95 },
93 openDevToolsForActiveService: {}, 96 openDevToolsForActiveService: {},
97 setHibernation: {
98 serviceId: PropTypes.string.isRequired,
99 hibernating: PropTypes.bool.isRequired,
100 },
94}; 101};
diff --git a/src/api/apiBase.js b/src/api/apiBase.js
new file mode 100644
index 000000000..561b025f0
--- /dev/null
+++ b/src/api/apiBase.js
@@ -0,0 +1,38 @@
1/**
2 * Get API base URL from store
3 */
4import {
5 API_VERSION,
6} from '../environment';
7import {
8 LOCAL_SERVER,
9} from '../config';
10
11const apiBase = () => {
12 let url;
13
14 if (!window.ferdi
15 || !window.ferdi.stores.settings
16 || !window.ferdi.stores.settings.all
17 || !window.ferdi.stores.settings.all.app.server) {
18 // Stores have not yet been loaded - send invalid URL to force a retry when stores are loaded
19 // "Why 1.1.1.1 as the default, invalid URL?"
20 // 1.1.1.1 is the server for Cloudflare's DNS service and will be the same across most networks.
21 // Using a random IP could result in unwanted connections, using localhost could unwantedly
22 // connect to local develoment servers.
23 // 1.1.1.1 also sends a status 400 response for invalid routes. Other servers may return status 401
24 // on some routes. This would result in Ferdi deleting its current authToken as it thinks it
25 // has gone invalid.
26 url = 'https://1.1.1.1';
27 } else if (window.ferdi.stores.settings.all.app.server === LOCAL_SERVER) {
28 // Use URL for local server
29 url = `http://127.0.0.1:${window.ferdi.stores.requests.localServerPort}`;
30 } else {
31 // Load URL from store
32 url = window.ferdi.stores.settings.all.app.server;
33 }
34
35 return `${url}/${API_VERSION}`;
36};
37
38export default apiBase;
diff --git a/src/api/server/LocalApi.js b/src/api/server/LocalApi.js
index 383f38b16..2d9af416f 100644
--- a/src/api/server/LocalApi.js
+++ b/src/api/server/LocalApi.js
@@ -3,7 +3,7 @@ import du from 'du';
3 3
4import { getServicePartitionsDirectory } from '../../helpers/service-helpers.js'; 4import { getServicePartitionsDirectory } from '../../helpers/service-helpers.js';
5 5
6const debug = require('debug')('Franz:LocalApi'); 6const debug = require('debug')('Ferdi:LocalApi');
7 7
8const { session } = remote; 8const { session } = remote;
9 9
diff --git a/src/api/server/ServerApi.js b/src/api/server/ServerApi.js
index 1f538368d..a5d636b4e 100644
--- a/src/api/server/ServerApi.js
+++ b/src/api/server/ServerApi.js
@@ -15,6 +15,8 @@ import OrderModel from '../../models/Order';
15import { sleep } from '../../helpers/async-helpers'; 15import { sleep } from '../../helpers/async-helpers';
16 16
17import { API } from '../../environment'; 17import { API } from '../../environment';
18import { RECIPES_PATH } from '../../config';
19import apiBase from '../apiBase';
18import { prepareAuthRequest, sendAuthRequest } from '../utils/auth'; 20import { prepareAuthRequest, sendAuthRequest } from '../utils/auth';
19 21
20import { 22import {
@@ -27,7 +29,7 @@ import {
27 removeServicePartitionDirectory, 29 removeServicePartitionDirectory,
28} from '../../helpers/service-helpers.js'; 30} from '../../helpers/service-helpers.js';
29 31
30const debug = require('debug')('Franz:ServerApi'); 32const debug = require('debug')('Ferdi:ServerApi');
31 33
32module.paths.unshift( 34module.paths.unshift(
33 getDevRecipeDirectory(), 35 getDevRecipeDirectory(),
@@ -38,8 +40,6 @@ const { app } = remote;
38const { default: fetch } = remote.require('electron-fetch'); 40const { default: fetch } = remote.require('electron-fetch');
39 41
40const SERVER_URL = API; 42const SERVER_URL = API;
41const API_VERSION = 'v1';
42const API_URL = `${SERVER_URL}/${API_VERSION}`;
43 43
44export default class ServerApi { 44export default class ServerApi {
45 recipePreviews = []; 45 recipePreviews = [];
@@ -48,7 +48,7 @@ export default class ServerApi {
48 48
49 // User 49 // User
50 async login(email, passwordHash) { 50 async login(email, passwordHash) {
51 const request = await sendAuthRequest(`${API_URL}/auth/login`, { 51 const request = await sendAuthRequest(`${apiBase()}/auth/login`, {
52 method: 'POST', 52 method: 'POST',
53 headers: { 53 headers: {
54 Authorization: `Basic ${window.btoa(`${email}:${passwordHash}`)}`, 54 Authorization: `Basic ${window.btoa(`${email}:${passwordHash}`)}`,
@@ -64,7 +64,7 @@ export default class ServerApi {
64 } 64 }
65 65
66 async signup(data) { 66 async signup(data) {
67 const request = await sendAuthRequest(`${API_URL}/auth/signup`, { 67 const request = await sendAuthRequest(`${apiBase()}/auth/signup`, {
68 method: 'POST', 68 method: 'POST',
69 body: JSON.stringify(data), 69 body: JSON.stringify(data),
70 }, false); 70 }, false);
@@ -78,7 +78,7 @@ export default class ServerApi {
78 } 78 }
79 79
80 async activateTrial(data) { 80 async activateTrial(data) {
81 const request = await sendAuthRequest(`${API_URL}/payment/trial`, { 81 const request = await sendAuthRequest(`${apiBase()}/payment/trial`, {
82 method: 'POST', 82 method: 'POST',
83 body: JSON.stringify(data), 83 body: JSON.stringify(data),
84 }); 84 });
@@ -92,7 +92,7 @@ export default class ServerApi {
92 } 92 }
93 93
94 async inviteUser(data) { 94 async inviteUser(data) {
95 const request = await sendAuthRequest(`${API_URL}/invite`, { 95 const request = await sendAuthRequest(`${apiBase()}/invite`, {
96 method: 'POST', 96 method: 'POST',
97 body: JSON.stringify(data), 97 body: JSON.stringify(data),
98 }); 98 });
@@ -105,7 +105,7 @@ export default class ServerApi {
105 } 105 }
106 106
107 async retrievePassword(email) { 107 async retrievePassword(email) {
108 const request = await sendAuthRequest(`${API_URL}/auth/password`, { 108 const request = await sendAuthRequest(`${apiBase()}/auth/password`, {
109 method: 'POST', 109 method: 'POST',
110 body: JSON.stringify({ 110 body: JSON.stringify({
111 email, 111 email,
@@ -121,7 +121,7 @@ export default class ServerApi {
121 } 121 }
122 122
123 async userInfo() { 123 async userInfo() {
124 const request = await sendAuthRequest(`${API_URL}/me`); 124 const request = await sendAuthRequest(`${apiBase()}/me`);
125 if (!request.ok) { 125 if (!request.ok) {
126 throw request; 126 throw request;
127 } 127 }
@@ -134,7 +134,7 @@ export default class ServerApi {
134 } 134 }
135 135
136 async updateUserInfo(data) { 136 async updateUserInfo(data) {
137 const request = await sendAuthRequest(`${API_URL}/me`, { 137 const request = await sendAuthRequest(`${apiBase()}/me`, {
138 method: 'PUT', 138 method: 'PUT',
139 body: JSON.stringify(data), 139 body: JSON.stringify(data),
140 }); 140 });
@@ -149,7 +149,7 @@ export default class ServerApi {
149 } 149 }
150 150
151 async deleteAccount() { 151 async deleteAccount() {
152 const request = await sendAuthRequest(`${API_URL}/me`, { 152 const request = await sendAuthRequest(`${apiBase()}/me`, {
153 method: 'DELETE', 153 method: 'DELETE',
154 }); 154 });
155 if (!request.ok) { 155 if (!request.ok) {
@@ -163,7 +163,7 @@ export default class ServerApi {
163 163
164 // Services 164 // Services
165 async getServices() { 165 async getServices() {
166 const request = await sendAuthRequest(`${API_URL}/me/services`); 166 const request = await sendAuthRequest(`${apiBase()}/me/services`);
167 if (!request.ok) { 167 if (!request.ok) {
168 throw request; 168 throw request;
169 } 169 }
@@ -176,7 +176,7 @@ export default class ServerApi {
176 } 176 }
177 177
178 async createService(recipeId, data) { 178 async createService(recipeId, data) {
179 const request = await sendAuthRequest(`${API_URL}/service`, { 179 const request = await sendAuthRequest(`${apiBase()}/service`, {
180 method: 'POST', 180 method: 'POST',
181 body: JSON.stringify(Object.assign({ 181 body: JSON.stringify(Object.assign({
182 recipeId, 182 recipeId,
@@ -206,7 +206,7 @@ export default class ServerApi {
206 await this.uploadServiceIcon(serviceId, data.iconFile); 206 await this.uploadServiceIcon(serviceId, data.iconFile);
207 } 207 }
208 208
209 const request = await sendAuthRequest(`${API_URL}/service/${serviceId}`, { 209 const request = await sendAuthRequest(`${apiBase()}/service/${serviceId}`, {
210 method: 'PUT', 210 method: 'PUT',
211 body: JSON.stringify(data), 211 body: JSON.stringify(data),
212 }); 212 });
@@ -234,7 +234,7 @@ export default class ServerApi {
234 234
235 delete requestData.headers['Content-Type']; 235 delete requestData.headers['Content-Type'];
236 236
237 const request = await window.fetch(`${API_URL}/service/${serviceId}`, requestData); 237 const request = await window.fetch(`${apiBase()}/service/${serviceId}`, requestData);
238 238
239 if (!request.ok) { 239 if (!request.ok) {
240 throw request; 240 throw request;
@@ -246,7 +246,7 @@ export default class ServerApi {
246 } 246 }
247 247
248 async reorderService(data) { 248 async reorderService(data) {
249 const request = await sendAuthRequest(`${API_URL}/service/reorder`, { 249 const request = await sendAuthRequest(`${apiBase()}/service/reorder`, {
250 method: 'PUT', 250 method: 'PUT',
251 body: JSON.stringify(data), 251 body: JSON.stringify(data),
252 }); 252 });
@@ -259,7 +259,7 @@ export default class ServerApi {
259 } 259 }
260 260
261 async deleteService(id) { 261 async deleteService(id) {
262 const request = await sendAuthRequest(`${API_URL}/service/${id}`, { 262 const request = await sendAuthRequest(`${apiBase()}/service/${id}`, {
263 method: 'DELETE', 263 method: 'DELETE',
264 }); 264 });
265 if (!request.ok) { 265 if (!request.ok) {
@@ -275,7 +275,7 @@ export default class ServerApi {
275 275
276 // Features 276 // Features
277 async getDefaultFeatures() { 277 async getDefaultFeatures() {
278 const request = await sendAuthRequest(`${API_URL}/features/default`); 278 const request = await sendAuthRequest(`${apiBase()}/features/default`);
279 if (!request.ok) { 279 if (!request.ok) {
280 throw request; 280 throw request;
281 } 281 }
@@ -287,7 +287,7 @@ export default class ServerApi {
287 } 287 }
288 288
289 async getFeatures() { 289 async getFeatures() {
290 const request = await sendAuthRequest(`${API_URL}/features`); 290 const request = await sendAuthRequest(`${apiBase()}/features`);
291 if (!request.ok) { 291 if (!request.ok) {
292 throw request; 292 throw request;
293 } 293 }
@@ -321,7 +321,7 @@ export default class ServerApi {
321 } 321 }
322 322
323 async getRecipeUpdates(recipeVersions) { 323 async getRecipeUpdates(recipeVersions) {
324 const request = await sendAuthRequest(`${API_URL}/recipes/update`, { 324 const request = await sendAuthRequest(`${apiBase()}/recipes/update`, {
325 method: 'POST', 325 method: 'POST',
326 body: JSON.stringify(recipeVersions), 326 body: JSON.stringify(recipeVersions),
327 }); 327 });
@@ -335,7 +335,7 @@ export default class ServerApi {
335 335
336 // Recipes Previews 336 // Recipes Previews
337 async getRecipePreviews() { 337 async getRecipePreviews() {
338 const request = await sendAuthRequest(`${API_URL}/recipes`); 338 const request = await sendAuthRequest(`${apiBase()}/recipes`);
339 if (!request.ok) throw request; 339 if (!request.ok) throw request;
340 const data = await request.json(); 340 const data = await request.json();
341 const recipePreviews = this._mapRecipePreviewModel(data); 341 const recipePreviews = this._mapRecipePreviewModel(data);
@@ -344,7 +344,7 @@ export default class ServerApi {
344 } 344 }
345 345
346 async getFeaturedRecipePreviews() { 346 async getFeaturedRecipePreviews() {
347 const request = await sendAuthRequest(`${API_URL}/recipes/popular`); 347 const request = await sendAuthRequest(`${apiBase()}/recipes/popular`);
348 if (!request.ok) throw request; 348 if (!request.ok) throw request;
349 349
350 const data = await request.json(); 350 const data = await request.json();
@@ -356,7 +356,7 @@ export default class ServerApi {
356 } 356 }
357 357
358 async searchRecipePreviews(needle) { 358 async searchRecipePreviews(needle) {
359 const url = `${API_URL}/recipes/search?needle=${needle}`; 359 const url = `${apiBase()}/recipes/search?needle=${needle}`;
360 const request = await sendAuthRequest(url); 360 const request = await sendAuthRequest(url);
361 if (!request.ok) throw request; 361 if (!request.ok) throw request;
362 362
@@ -370,14 +370,29 @@ export default class ServerApi {
370 try { 370 try {
371 const recipesDirectory = path.join(app.getPath('userData'), 'recipes'); 371 const recipesDirectory = path.join(app.getPath('userData'), 'recipes');
372 const recipeTempDirectory = path.join(recipesDirectory, 'temp', recipeId); 372 const recipeTempDirectory = path.join(recipesDirectory, 'temp', recipeId);
373 const archivePath = path.join(recipeTempDirectory, 'recipe.tar.gz'); 373 const tempArchivePath = path.join(recipeTempDirectory, 'recipe.tar.gz');
374 const packageUrl = `${API_URL}/recipes/download/${recipeId}`; 374
375 const internalRecipeFile = path.join(RECIPES_PATH, `${recipeId}.tar.gz`);
375 376
376 fs.ensureDirSync(recipeTempDirectory); 377 fs.ensureDirSync(recipeTempDirectory);
377 const res = await fetch(packageUrl); 378
378 debug('Recipe downloaded', recipeId); 379 let archivePath;
379 const buffer = await res.buffer(); 380
380 fs.writeFileSync(archivePath, buffer); 381 if (await fs.exists(internalRecipeFile)) {
382 console.log('[ServerApi::getRecipePackage] Using internal recipe file');
383 archivePath = internalRecipeFile;
384 } else {
385 console.log('[ServerApi::getRecipePackage] Downloading recipe from server');
386 archivePath = tempArchivePath;
387
388 const packageUrl = `${apiBase()}/recipes/download/${recipeId}`;
389
390 const res = await fetch(packageUrl);
391 debug('Recipe downloaded', recipeId);
392 const buffer = await res.buffer();
393 fs.writeFileSync(archivePath, buffer);
394 }
395 console.log(archivePath);
381 396
382 await sleep(10); 397 await sleep(10);
383 398
@@ -408,7 +423,7 @@ export default class ServerApi {
408 423
409 // Payment 424 // Payment
410 async getPlans() { 425 async getPlans() {
411 const request = await sendAuthRequest(`${API_URL}/payment/plans`); 426 const request = await sendAuthRequest(`${apiBase()}/payment/plans`);
412 if (!request.ok) throw request; 427 if (!request.ok) throw request;
413 const data = await request.json(); 428 const data = await request.json();
414 const plan = new PlanModel(data); 429 const plan = new PlanModel(data);
@@ -417,7 +432,7 @@ export default class ServerApi {
417 } 432 }
418 433
419 async getHostedPage(planId) { 434 async getHostedPage(planId) {
420 const request = await sendAuthRequest(`${API_URL}/payment/init`, { 435 const request = await sendAuthRequest(`${apiBase()}/payment/init`, {
421 method: 'POST', 436 method: 'POST',
422 body: JSON.stringify({ 437 body: JSON.stringify({
423 planId, 438 planId,
@@ -434,7 +449,7 @@ export default class ServerApi {
434 449
435 // News 450 // News
436 async getLatestNews() { 451 async getLatestNews() {
437 const url = `${API_URL}/news?platform=${os.platform()}&arch=${os.arch()}&version=${app.getVersion()}`; 452 const url = `${apiBase()}/news?platform=${os.platform()}&arch=${os.arch()}&version=${app.getVersion()}`;
438 const request = await sendAuthRequest(url); 453 const request = await sendAuthRequest(url);
439 if (!request.ok) throw request; 454 if (!request.ok) throw request;
440 const data = await request.json(); 455 const data = await request.json();
@@ -444,7 +459,7 @@ export default class ServerApi {
444 } 459 }
445 460
446 async hideNews(id) { 461 async hideNews(id) {
447 const request = await sendAuthRequest(`${API_URL}/news/${id}/read`); 462 const request = await sendAuthRequest(`${apiBase()}/news/${id}/read`);
448 if (!request.ok) throw request; 463 if (!request.ok) throw request;
449 debug('ServerApi::hideNews resolves', id); 464 debug('ServerApi::hideNews resolves', id);
450 } 465 }
@@ -469,7 +484,7 @@ export default class ServerApi {
469 if (Object.prototype.hasOwnProperty.call(config, 'services')) { 484 if (Object.prototype.hasOwnProperty.call(config, 'services')) {
470 const services = await Promise.all(config.services.map(async (s) => { 485 const services = await Promise.all(config.services.map(async (s) => {
471 const service = s; 486 const service = s;
472 const request = await sendAuthRequest(`${API_URL}/recipes/${s.service}`); 487 const request = await sendAuthRequest(`${apiBase()}/recipes/${s.service}`);
473 488
474 if (request.status === 200) { 489 if (request.status === 200) {
475 const data = await request.json(); 490 const data = await request.json();
diff --git a/src/app.js b/src/app.js
index cb3e37c64..1c2f66592 100644
--- a/src/app.js
+++ b/src/app.js
@@ -18,7 +18,6 @@ import apiFactory from './api';
18import actions from './actions'; 18import actions from './actions';
19import MenuFactory from './lib/Menu'; 19import MenuFactory from './lib/Menu';
20import TouchBarFactory from './lib/TouchBar'; 20import TouchBarFactory from './lib/TouchBar';
21import * as analytics from './lib/analytics';
22 21
23import I18N from './I18n'; 22import I18N from './I18n';
24import AppLayoutContainer from './containers/layout/AppLayoutContainer'; 23import AppLayoutContainer from './containers/layout/AppLayoutContainer';
@@ -31,8 +30,10 @@ import TeamScreen from './containers/settings/TeamScreen';
31import EditUserScreen from './containers/settings/EditUserScreen'; 30import EditUserScreen from './containers/settings/EditUserScreen';
32import EditSettingsScreen from './containers/settings/EditSettingsScreen'; 31import EditSettingsScreen from './containers/settings/EditSettingsScreen';
33import InviteSettingsScreen from './containers/settings/InviteScreen'; 32import InviteSettingsScreen from './containers/settings/InviteScreen';
33import SupportFerdiScreen from './containers/settings/SupportScreen';
34import WelcomeScreen from './containers/auth/WelcomeScreen'; 34import WelcomeScreen from './containers/auth/WelcomeScreen';
35import LoginScreen from './containers/auth/LoginScreen'; 35import LoginScreen from './containers/auth/LoginScreen';
36import LockedScreen from './containers/auth/LockedScreen';
36import PasswordScreen from './containers/auth/PasswordScreen'; 37import PasswordScreen from './containers/auth/PasswordScreen';
37import SignupScreen from './containers/auth/SignupScreen'; 38import SignupScreen from './containers/auth/SignupScreen';
38import ImportScreen from './containers/auth/ImportScreen'; 39import ImportScreen from './containers/auth/ImportScreen';
@@ -54,20 +55,20 @@ webFrame.setVisualZoomLevelLimits(1, 1);
54webFrame.setLayoutZoomLevelLimits(0, 0); 55webFrame.setLayoutZoomLevelLimits(0, 0);
55 56
56window.addEventListener('load', () => { 57window.addEventListener('load', () => {
57 const api = apiFactory(new ServerApi(), new LocalApi()); 58 const serverApi = new ServerApi();
59 const api = apiFactory(serverApi, new LocalApi());
58 const router = new RouterStore(); 60 const router = new RouterStore();
59 const history = syncHistoryWithStore(hashHistory, router);
60 const stores = storeFactory(api, actions, router); 61 const stores = storeFactory(api, actions, router);
62 const history = syncHistoryWithStore(hashHistory, router);
61 const menu = new MenuFactory(stores, actions); 63 const menu = new MenuFactory(stores, actions);
62 const touchBar = new TouchBarFactory(stores, actions); 64 const touchBar = new TouchBarFactory(stores, actions);
63 65
64 window.franz = { 66 window.ferdi = {
65 stores, 67 stores,
66 actions, 68 actions,
67 api, 69 api,
68 menu, 70 menu,
69 touchBar, 71 touchBar,
70 analytics,
71 features: {}, 72 features: {},
72 render() { 73 render() {
73 const preparedApp = ( 74 const preparedApp = (
@@ -89,12 +90,14 @@ window.addEventListener('load', () => {
89 <Route path="/settings/team" component={TeamScreen} /> 90 <Route path="/settings/team" component={TeamScreen} />
90 <Route path="/settings/app" component={EditSettingsScreen} /> 91 <Route path="/settings/app" component={EditSettingsScreen} />
91 <Route path="/settings/invite" component={InviteSettingsScreen} /> 92 <Route path="/settings/invite" component={InviteSettingsScreen} />
93 <Route path="/settings/support" component={SupportFerdiScreen} />
92 </Route> 94 </Route>
93 </Route> 95 </Route>
94 <Route path="/auth" component={AuthLayoutContainer}> 96 <Route path="/auth" component={AuthLayoutContainer}>
95 <IndexRedirect to="/auth/welcome" /> 97 <IndexRedirect to="/auth/welcome" />
96 <Route path="/auth/welcome" component={WelcomeScreen} /> 98 <Route path="/auth/welcome" component={WelcomeScreen} />
97 <Route path="/auth/login" component={LoginScreen} /> 99 <Route path="/auth/login" component={LoginScreen} />
100 <Route path="/auth/locked" component={LockedScreen} />
98 <Route path="/auth/signup"> 101 <Route path="/auth/signup">
99 <IndexRedirect to="/auth/signup/form" /> 102 <IndexRedirect to="/auth/signup/form" />
100 <Route path="/auth/signup/form" component={SignupScreen} /> 103 <Route path="/auth/signup/form" component={SignupScreen} />
@@ -114,7 +117,7 @@ window.addEventListener('load', () => {
114 render(preparedApp, document.getElementById('root')); 117 render(preparedApp, document.getElementById('root'));
115 }, 118 },
116 }; 119 };
117 window.franz.render(); 120 window.ferdi.render();
118}); 121});
119 122
120// Prevent drag and drop into window from redirecting 123// Prevent drag and drop into window from redirecting
diff --git a/src/assets/images/adlk.svg b/src/assets/images/adlk.svg
index eb50f345a..fac6e1051 100644
--- a/src/assets/images/adlk.svg
+++ b/src/assets/images/adlk.svg
@@ -1,53 +1,19 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<svg width="120px" height="65px" viewBox="0 0 120 65" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 2<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3 <!-- Generator: Sketch 42 (36781) - http://www.bohemiancoding.com/sketch --> 3<svg width="100%" height="100%" viewBox="0 0 120 65" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;">
4 <title>adlk-group</title> 4 <g id="adlk-group" transform="matrix(1,0,0,1,3,1)">
5 <desc>Created with Sketch.</desc> 5 <g id="Page-1" transform="matrix(1,-0,-0,1,-3,-1)">
6 <defs> 6 <use xlink:href="#_Image1" x="35.255" y="0" width="84.82px" height="65px" transform="matrix(0.997877,0,0,1,0,0)"/>
7 <filter x="-50%" y="-50%" width="200%" height="200%" filterUnits="objectBoundingBox" id="filter-1"> 7 </g>
8 <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset> 8 <g id="Fill-1" transform="matrix(1,0,0,1,2,1)">
9 <feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur> 9 <path id="path-3" d="M29.567,59.968C13.238,59.968 0,46.73 0,30.4C0,14.071 13.238,0.833 29.567,0.833C45.897,0.833 59.134,14.071 59.134,30.4C59.134,46.73 45.897,59.968 29.567,59.968Z"/>
10 <feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1" result="shadowMatrixOuter1"></feColorMatrix> 10 <path id="path-31" serif:id="path-3" d="M29.567,59.968C13.238,59.968 0,46.73 0,30.4C0,14.071 13.238,0.833 29.567,0.833C45.897,0.833 59.134,14.071 59.134,30.4C59.134,46.73 45.897,59.968 29.567,59.968Z" style="fill:rgb(229,31,91);stroke:white;stroke-width:2.5px;"/>
11 <feMerge> 11 </g>
12 <feMergeNode in="shadowMatrixOuter1"></feMergeNode> 12 <g transform="matrix(0.576271,0,0,0.547458,9.9661,14.2627)">
13 <feMergeNode in="SourceGraphic"></feMergeNode> 13 <path d="M36.5,21.601C42.711,5 55.132,5 61.342,10.9C67.553,16.8 67.553,28.6 61.342,40.4C56.995,49.25 45.816,58.1 36.5,64C27.184,58.1 16.005,49.25 11.658,40.4C5.447,28.6 5.447,16.8 11.658,10.9C17.868,5 30.289,5 36.5,21.601Z" style="fill:white;"/>
14 </feMerge>
15 </filter>
16 <linearGradient x1="30.4719662%" y1="95.2408507%" x2="68.063052%" y2="3.5648771%" id="linearGradient-2">
17 <stop stop-color="#318CC8" offset="0%"></stop>
18 <stop stop-color="#5EC0FF" offset="100%"></stop>
19 </linearGradient>
20 <path d="M29.5671186,59.9675705 C13.237647,59.9675705 0,46.7299236 0,30.4004519 C0,14.0709803 13.237647,0.833333333 29.5671186,0.833333333 C45.8965902,0.833333333 59.1342372,14.0709803 59.1342372,30.4004519 C59.1342372,46.7299236 45.8965902,59.9675705 29.5671186,59.9675705 Z" id="path-3"></path>
21 <filter x="-50%" y="-50%" width="200%" height="200%" filterUnits="objectBoundingBox" id="filter-4">
22 <feMorphology radius="1.25" operator="dilate" in="SourceAlpha" result="shadowSpreadOuter1"></feMorphology>
23 <feOffset dx="0" dy="1" in="shadowSpreadOuter1" result="shadowOffsetOuter1"></feOffset>
24 <feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
25 <feComposite in="shadowBlurOuter1" in2="SourceAlpha" operator="out" result="shadowBlurOuter1"></feComposite>
26 <feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
27 </filter>
28 </defs>
29 <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
30 <g id="logo" transform="translate(-1.000000, 0.000000)">
31 <g id="adlk-group" transform="translate(4.000000, 1.000000)">
32 <g id="Page-1" filter="url(#filter-1)" transform="translate(53.333333, 0.000000)">
33 <path d="M29.951734,59.6153846 C13.6222624,59.6153846 0.384615385,46.3777376 0.384615385,30.048266 C0.384615385,13.7187944 13.6222624,0.481147424 29.951734,0.481147424 C46.2812056,0.481147424 59.5188526,13.7187944 59.5188526,30.048266 C59.5188526,46.3777376 46.2812056,59.6153846 29.951734,59.6153846 Z" id="Fill-1" stroke="#FFFFFF" stroke-width="2.5" fill="url(#linearGradient-2)"></path>
34 <path d="M40.8193218,39.7759515 C40.2991334,39.7759515 39.777752,39.7461242 39.2560451,39.6885303 L39.2560451,43.1660699 C39.2560451,44.2684875 40.4320006,44.8564652 42.0489665,44.8564652 C43.6659324,44.8564652 47.3407661,45.1505083 48.8106562,42.5780922 C49.5666431,41.2550609 50.049954,39.777253 50.341611,38.5380637 C47.7706048,39.3483905 44.5464347,39.7759515 40.8193218,39.7759515" id="Fill-3" fill="#FEFEFE"></path>
35 <path d="M50.721253,36.0215602 C50.7213615,36.014727 50.7215784,36.0067007 50.7215784,36.0001929 C50.7215784,35.7047398 50.6497759,34.0216115 50.5562809,31.8479052 C50.5492308,31.8480137 50.5428315,31.8482306 50.5356729,31.8482306 C48.6476581,31.8482306 45.8548452,30.9165338 44.4370173,29.8136823 C44.0945997,29.5474057 43.7123762,29.1917557 43.3041216,28.7844772 C41.4215299,31.2340049 39.6248409,34.689418 39.3072613,37.4257217 C39.8033709,37.4891725 40.3081576,37.5235553 40.8193435,37.5235553 C44.8576366,37.5235553 48.2724847,36.9929545 50.721253,36.0215602" id="Fill-5" fill="#FEFEFE"></path>
36 <path d="M45.8200177,28.0358333 C46.832411,28.8233829 49.0605657,29.5681981 50.4596295,29.5945546 C50.3027921,25.9124538 50.1335898,21.76201 50.1335898,20.3820357 C50.1335898,17.809728 50.2079954,15.494586 49.3986448,15.494586 C47.3407769,15.494586 47.8552168,24.4244504 45.2828006,26.6292856 C45.1214077,26.7676843 44.956544,26.9196409 44.7892941,27.0838539 C45.1781339,27.4760559 45.5348686,27.8140265 45.8200177,28.0358333" id="Fill-7" fill="#FEFEFE"></path>
37 <path d="M10.0610578,29.5501499 C11.4368021,29.3757414 13.2421681,28.7220351 14.1242974,28.0358984 C14.475609,27.7625717 14.9354919,27.3128843 15.4306254,26.8023491 C15.3653307,26.7431283 15.3002529,26.6843414 15.2360428,26.6293506 C12.6636267,24.424407 13.1780665,15.4945426 11.1201987,15.4945426 C10.3109565,15.4945426 10.3852536,17.8096846 10.3852536,20.3821008 C10.3852536,21.756435 10.2173529,25.8792208 10.0610578,29.5501499" id="Fill-9" fill="#FEFEFE"></path>
38 <path d="M21.2005731,37.3395804 C20.8402592,34.4934037 18.9129807,30.8970972 16.9604304,28.4603682 C16.4311312,29.0030084 15.9377331,29.4788355 15.5071352,29.8137691 C14.2229336,30.812713 11.8100665,31.6713058 9.96359298,31.8240217 C9.86966405,34.0092251 9.79721079,35.7036335 9.79721079,36.0001713 C9.79721079,36.0653575 9.80024775,36.1457286 9.80577936,36.2371628 C12.2015093,37.0708092 15.3970452,37.5235336 19.1249174,37.5235336 C19.8311197,37.5235336 20.5248489,37.4573712 21.2005731,37.3395804" id="Fill-11" fill="#FEFEFE"></path>
39 <path d="M19.1249499,39.7759515 C15.6917717,39.7759515 12.6843105,39.4137936 10.2218758,38.7234269 C10.517329,39.9228103 10.9894682,41.3204641 11.7081439,42.5780922 C13.1781424,45.1505083 16.8529762,44.8564652 18.4698336,44.8564652 C20.0867995,44.8564652 21.262755,44.2684875 21.262755,43.1660699 L21.262755,39.6133655 C20.549394,39.7209608 19.8361416,39.7759515 19.1249499,39.7759515" id="Fill-13" fill="#FEFEFE"></path>
40 <path d="M52.954538,31.2252844 C52.5192762,31.2252844 52.057007,31.3746379 51.5802038,31.6691149 C51.5121975,31.7110901 51.2357254,31.8481872 50.5357054,31.8481872 C48.6475821,31.8481872 45.8548777,30.9165988 44.4370498,29.8137474 C43.7290036,29.2630809 42.8517551,28.3324687 41.9229867,27.3472996 C39.9696772,25.2753315 38.1247221,23.3183342 36.5281473,23.3183342 C35.3931908,23.3183342 34.0862121,23.8471997 32.8221847,24.3588195 C31.7693347,24.784862 30.6805834,25.2254386 29.9721033,25.2254386 C29.2636232,25.2254386 28.1749804,24.784862 27.1221304,24.3588195 C25.858103,23.8471997 24.5510158,23.3183342 23.4161678,23.3183342 C21.8194845,23.3183342 19.974421,25.27544 18.0212199,27.347408 C17.0924515,28.3325771 16.2152031,29.2630809 15.5071568,29.8137474 C14.0895459,30.9164904 11.296733,31.8480788 9.40850121,31.8481872 C8.7085897,31.8481872 8.4321176,31.7110901 8.36411132,31.6691149 C7.88730812,31.3746379 7.4249305,31.2252844 6.98977708,31.2252844 C6.3738159,31.2252844 5.85416983,31.547311 5.63366462,32.0656555 C5.36185643,32.7047193 5.58821864,33.4896658 6.23899643,34.1654985 C8.29393578,36.2996158 12.9907076,37.5235119 19.1249391,37.5235119 C23.1527113,37.5235119 26.7888237,35.4106533 28.8485355,33.4333735 C29.2664433,33.0322774 29.8115781,33.0118864 29.9165703,33.0118864 L29.9199326,33.0114525 L29.9396729,33.0186111 L30.0136446,33.0121033 L30.0276364,33.0118864 C30.1326285,33.0118864 30.6778718,33.0322774 31.0957796,33.4333735 C33.1554914,35.4106533 36.7914954,37.5235119 40.8192676,37.5235119 C46.9534991,37.5235119 51.6502709,36.2996158 53.7053187,34.1654985 C54.3560965,33.4897742 54.5822418,32.7047193 54.310542,32.0656555 C54.0900368,31.547311 53.5703908,31.2252844 52.954538,31.2252844" id="Fill-15" fill="#FEFEFE"></path>
41 </g>
42 <g id="Fill-1">
43 <use fill="black" fill-opacity="1" filter="url(#filter-4)" xlink:href="#path-3"></use>
44 <use stroke="#FFFFFF" stroke-width="2.5" fill="#E51F5B" fill-rule="evenodd" xlink:href="#path-3"></use>
45 </g>
46 <path d="M18.53613,36.1383525 C18.402105,36.1383525 18.134205,36.1215525 17.882955,36.0378525 C17.531205,35.9373525 17.045505,35.6693775 16.44258,34.1787525 C15.42093,31.6330275 12.79143,24.7158525 12.54018,24.0794775 C12.339255,23.5602525 12.272205,23.4764775 12.171705,23.4764775 C12.071205,23.4764775 12.00423,23.5769775 11.803305,24.1297275 L8.001405,34.5305025 C7.699905,35.3679525 7.364955,36.0043275 6.59448,36.1048275 C6.46053,36.1215525 6.30978,36.1383525 6.192555,36.1383525 C6.041805,36.1383525 5.95803,36.1718025 5.95803,36.2388525 C5.95803,36.3393525 6.05853,36.3728025 6.276255,36.3728025 C7.063455,36.3728025 7.984605,36.3225525 8.16888,36.3225525 C8.35308,36.3225525 9.023055,36.3728025 9.42498,36.3728025 C9.57573,36.3728025 9.72648,36.3393525 9.72648,36.2388525 C9.72648,36.1718025 9.67623,36.1383525 9.508755,36.1383525 L9.358005,36.1383525 C9.073305,36.1383525 8.755005,35.9876025 8.755005,35.6525775 C8.755005,35.3511525 8.83878,34.9492275 8.98953,34.5305025 L11.76978,26.1897525 C11.85348,25.9385025 11.937255,25.9385025 12.020955,26.1897525 L15.47118,35.6525775 C15.57168,35.9206275 15.47118,36.0713025 15.37068,36.1048275 C15.303705,36.1215525 15.253455,36.1550775 15.253455,36.2220525 C15.253455,36.3225525 15.437655,36.3225525 15.75588,36.3393525 C16.911555,36.3728025 18.134205,36.3728025 18.38538,36.3728025 C18.569655,36.3728025 18.720405,36.3393525 18.720405,36.2388525 C18.720405,36.1550775 18.63663,36.1383525 18.53613,36.1383525" id="Fill-3" fill="#FEFEFE"></path>
47 <path d="M22.0194975,30.37683 C22.0194975,32.15223 22.0362225,33.693105 22.0530225,34.011255 C22.0697475,34.42998 22.1032725,35.099955 22.2372225,35.284155 C22.4549475,35.60238 23.1081225,35.954055 25.0844475,35.954055 C26.6420475,35.954055 28.0824225,35.384655 29.0706225,34.39653 C29.9415225,33.54228 30.4104225,31.934505 30.4104225,30.39363 C30.4104225,28.266555 29.4892725,26.893155 28.8025725,26.173005 C27.2282475,24.514905 25.3189725,24.280455 23.3258475,24.280455 C22.9908975,24.280455 22.3711725,24.330705 22.2372225,24.397605 C22.0864725,24.464655 22.0362225,24.548355 22.0362225,24.73263 C22.0194975,25.302105 22.0194975,27.01038 22.0194975,28.30008 L22.0194975,30.37683 Z M20.6126475,28.568055 C20.6126475,25.95528 20.6126475,25.486305 20.5791225,24.950355 C20.5456725,24.380955 20.4618975,24.112905 19.9092225,23.99568 C19.7751975,23.96223 19.4904975,23.94543 19.3397475,23.94543 C19.2225225,23.94543 19.1554725,23.91198 19.1554725,23.84493 C19.1554725,23.74443 19.2392475,23.71098 19.4235225,23.71098 C20.1771975,23.71098 21.2322975,23.76123 21.3160725,23.76123 C21.5170725,23.76123 22.5721725,23.71098 23.5770975,23.71098 C25.2351975,23.71098 28.3001475,23.56023 30.2932725,25.620255 C31.1307225,26.491155 31.9177725,27.881355 31.9177725,29.874405 C31.9177725,31.98468 31.0469475,33.60933 30.1089975,34.597455 C29.3887725,35.35113 27.8814225,36.52353 25.0341975,36.52353 C24.3140475,36.52353 23.4263475,36.47328 22.7061975,36.42303 C21.9692475,36.37278 21.3997725,36.32253 21.3160725,36.32253 C21.2825475,36.32253 20.9978475,36.32253 20.6460975,36.33933 C20.3111475,36.33933 19.9259475,36.37278 19.6746975,36.37278 C19.4904975,36.37278 19.4067225,36.33933 19.4067225,36.23883 C19.4067225,36.18858 19.4402475,36.13833 19.5741975,36.13833 C19.7584725,36.121605 19.8924225,36.104805 20.0431725,36.071355 C20.3781225,36.004305 20.4618975,35.63583 20.5288725,35.150205 C20.6126475,34.44678 20.6126475,33.12363 20.6126475,31.51578 L20.6126475,28.568055 Z" id="Fill-5" fill="#FEFEFE"></path>
48 <path d="M35.61885,31.54929 C35.61885,34.01124 35.685825,35.08314 35.98725,35.38464 C36.2553,35.652615 36.690675,35.76984 37.997025,35.76984 C38.884725,35.76984 39.621675,35.753115 40.0236,35.267415 C40.241325,34.99944 40.408875,34.580715 40.459125,34.26249 C40.47585,34.12854 40.509375,34.044765 40.609875,34.044765 C40.69365,34.044765 40.710375,34.11174 40.710375,34.296015 C40.710375,34.480215 40.59315,35.48514 40.459125,35.97084 C40.341975,36.35604 40.291575,36.423015 39.404025,36.423015 C37.96365,36.423015 36.539925,36.32259 34.915425,36.32259 C34.396125,36.32259 33.8937,36.372765 33.27405,36.372765 C33.089775,36.372765 33.006,36.339315 33.006,36.238815 C33.006,36.188565 33.039525,36.13839 33.140025,36.13839 C33.290775,36.13839 33.491775,36.10479 33.64245,36.07134 C33.977475,36.00429 34.06125,35.635815 34.128225,35.15019 C34.212,34.446765 34.212,33.123615 34.212,31.515765 L34.212,28.56804 C34.212,25.955265 34.212,25.48629 34.178475,24.950415 C34.14495,24.38094 34.011075,24.112965 33.458175,23.995665 C33.3243,23.962215 33.039525,23.945415 32.88885,23.945415 C32.821875,23.945415 32.75475,23.911965 32.75475,23.844915 C32.75475,23.74449 32.8386,23.710965 33.022875,23.710965 C33.77655,23.710965 34.83165,23.761215 34.915425,23.761215 C34.99905,23.761215 36.221775,23.710965 36.7242,23.710965 C36.908475,23.710965 36.992175,23.74449 36.992175,23.844915 C36.992175,23.911965 36.9252,23.945415 36.858225,23.945415 C36.740925,23.945415 36.50655,23.962215 36.30555,23.995665 C35.81985,24.07944 35.685825,24.36414 35.652225,24.950415 C35.61885,25.48629 35.61885,25.955265 35.61885,28.56804 L35.61885,31.54929 Z" id="Fill-7" fill="#FEFEFE"></path>
49 <path d="M44.428275,29.63994 C44.947575,29.137515 47.2254,26.74239 48.246975,25.68729 C49.251825,24.64884 49.31895,24.48144 49.31895,24.28044 C49.31895,24.146415 49.235175,24.012465 49.10115,23.962215 C48.983925,23.911965 48.9504,23.878515 48.9504,23.811465 C48.9504,23.74449 49.0509,23.710965 49.20165,23.710965 C49.68735,23.710965 49.6371,23.761215 50.2065,23.761215 C50.7258,23.761215 51.71385,23.710965 51.9819,23.710965 C52.216425,23.710965 52.266675,23.761215 52.266675,23.828265 C52.266675,23.895165 52.233075,23.928765 52.0824,23.945415 C51.76425,23.979015 51.46275,24.045915 51.228225,24.146415 C50.809425,24.31389 50.491275,24.51489 49.48635,25.48629 C48.01245,26.90994 46.103175,28.80249 45.66765,29.288265 C46.722825,30.443865 49.771125,33.542265 50.558175,34.279215 C51.93165,35.568915 52.51785,35.93739 53.321775,36.08814 C53.472525,36.12159 53.639925,36.13839 53.80755,36.13839 C53.941425,36.13839 54.041925,36.17184 54.041925,36.25554 C54.041925,36.339315 53.97495,36.372765 53.790675,36.372765 L52.5513,36.372765 C51.0942,36.372765 50.708925,36.188565 49.921875,35.568915 C48.916875,34.781715 45.902175,31.54929 44.428275,29.79069 L44.428275,31.515765 C44.428275,33.123615 44.428275,34.446765 44.51205,35.15019 C44.5623,35.635815 44.6628,36.00429 45.165225,36.07134 C45.39975,36.10479 45.734775,36.13839 45.835275,36.13839 C45.986025,36.13839 46.0362,36.20529 46.0362,36.25554 C46.0362,36.339315 45.96915,36.372765 45.785025,36.372765 C44.8638,36.372765 43.808625,36.32259 43.72485,36.32259 C43.641225,36.32259 42.653025,36.372765 42.1506,36.372765 C41.966325,36.372765 41.88255,36.35604 41.88255,36.25554 C41.88255,36.20529 41.916075,36.13839 42.066825,36.13839 C42.167325,36.13839 42.3516,36.12159 42.502275,36.08814 C42.8373,36.02109 42.9378,35.635815 43.004775,35.15019 C43.08855,34.446765 43.08855,33.123615 43.08855,31.515765 L43.08855,28.56804 C43.08855,25.955265 43.08855,25.48629 43.05495,24.950415 C43.021425,24.38094 42.854025,24.096165 42.485475,24.012465 C42.30135,23.962215 41.99985,23.945415 41.88255,23.945415 C41.7486,23.945415 41.698425,23.911965 41.698425,23.844915 C41.698425,23.74449 41.78205,23.710965 41.966325,23.710965 C42.519,23.710965 43.641225,23.761215 43.72485,23.761215 C43.808625,23.761215 44.8638,23.710965 45.366225,23.710965 C45.5505,23.710965 45.634275,23.74449 45.634275,23.828265 C45.634275,23.895165 45.60075,23.928765 45.45,23.945415 C45.265725,23.962215 45.249,23.962215 45.0816,23.979015 C44.629275,24.02919 44.4954,24.36414 44.4618,24.950415 C44.428275,25.48629 44.428275,25.955265 44.428275,28.56804 L44.428275,29.63994 Z" id="Fill-9" fill="#FEFEFE"></path>
50 </g>
51 </g> 14 </g>
52 </g> 15 </g>
53</svg> \ No newline at end of file 16 <defs>
17 <image id="_Image1" width="85px" height="65px" xlink:href="data:image/png;base64,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"/>
18 </defs>
19</svg>
diff --git a/src/assets/images/logo.svg b/src/assets/images/logo.svg
index 87188f4aa..7f6df3ae4 100644
--- a/src/assets/images/logo.svg
+++ b/src/assets/images/logo.svg
@@ -1,35 +1,8 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<svg width="80px" height="80px" viewBox="0 0 80 80" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 2<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3 <!-- Generator: Sketch 42 (36781) - http://www.bohemiancoding.com/sketch --> 3<svg width="100%" height="100%" viewBox="0 0 1000 1000" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;">
4 <title>franz</title> 4 <use id="Page-1" xlink:href="#_Image1" x="0" y="0" width="1000px" height="1000px"/>
5 <desc>Created with Sketch.</desc>
6 <defs> 5 <defs>
7 <filter x="-50%" y="-50%" width="200%" height="200%" filterUnits="objectBoundingBox" id="filter-1"> 6 <image id="_Image1" width="1000px" height="1000px" xlink:href="data:image/png;base64,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"/>
8 <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
9 <feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
10 <feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1" result="shadowMatrixOuter1"></feColorMatrix>
11 <feMerge>
12 <feMergeNode in="shadowMatrixOuter1"></feMergeNode>
13 <feMergeNode in="SourceGraphic"></feMergeNode>
14 </feMerge>
15 </filter>
16 <linearGradient x1="30.4719662%" y1="95.2408507%" x2="68.063052%" y2="3.5648771%" id="linearGradient-2">
17 <stop stop-color="#318CC8" offset="0%"></stop>
18 <stop stop-color="#5EC0FF" offset="100%"></stop>
19 </linearGradient>
20 </defs> 7 </defs>
21 <g id="icons" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> 8</svg>
22 <g id="franz">
23 <g id="Page-1" filter="url(#filter-1)" transform="translate(4.000000, 4.000000)">
24 <path d="M35.9420808,71.5384615 C16.3467148,71.5384615 0.461538462,55.6532852 0.461538462,36.0579192 C0.461538462,16.4625533 16.3467148,0.577376909 35.9420808,0.577376909 C55.5374467,0.577376909 71.4226231,16.4625533 71.4226231,36.0579192 C71.4226231,55.6532852 55.5374467,71.5384615 35.9420808,71.5384615 Z" id="Fill-1" stroke="#FFFFFF" stroke-width="2.5" fill="url(#linearGradient-2)"></path>
25 <path d="M48.9831862,47.7311418 C48.3589601,47.7311418 47.7333024,47.695349 47.1072541,47.6262364 L47.1072541,51.7992839 C47.1072541,53.122185 48.5184007,53.8277583 50.4587598,53.8277583 C52.3991188,53.8277583 56.8089193,54.18061 58.5727874,51.0937106 C59.4799717,49.5060731 60.0599449,47.7327036 60.4099332,46.2456764 C57.3247258,47.2180686 53.4557216,47.7311418 48.9831862,47.7311418" id="Fill-3" fill="#FEFEFE"></path>
26 <path d="M60.8655036,43.2258722 C60.8656338,43.2176724 60.8658941,43.2080409 60.8658941,43.2002315 C60.8658941,42.8456878 60.7797311,40.8259338 60.667537,38.2174863 C60.6590769,38.2176164 60.6513977,38.2178768 60.6428075,38.2178768 C58.3771897,38.2178768 55.0258142,37.0998405 53.3244207,35.7764188 C52.9135196,35.4568869 52.4548514,35.0301068 51.9649459,34.5413727 C49.7058359,37.4808058 47.549809,41.6273016 47.1687136,44.910866 C47.7640451,44.9870071 48.3697891,45.0282664 48.9832122,45.0282664 C53.829164,45.0282664 57.9269816,44.3915454 60.8655036,43.2258722" id="Fill-5" fill="#FEFEFE"></path>
27 <path d="M54.9840212,33.643 C56.1988932,34.5880595 58.8726789,35.4818377 60.5515554,35.5134655 C60.3633505,31.0949446 60.1603078,26.114412 60.1603078,24.4584428 C60.1603078,21.3716736 60.2495945,18.5935032 59.2783737,18.5935032 C56.8089323,18.5935032 57.4262601,29.3093405 54.3393608,31.9551427 C54.1456893,32.1212212 53.9478528,32.3035691 53.747153,32.5006246 C54.2137606,32.9712671 54.6418423,33.3768319 54.9840212,33.643" id="Fill-7" fill="#FEFEFE"></path>
28 <path d="M12.0732694,35.4601798 C13.7241625,35.2508897 15.8906017,34.4664421 16.9491569,33.6430781 C17.3707308,33.3150861 17.9225903,32.7754611 18.5167504,32.1628189 C18.4383968,32.091754 18.3603035,32.0212096 18.2832514,31.9552208 C15.196352,29.3092884 15.8136798,18.5934511 13.3442384,18.5934511 C12.3731478,18.5934511 12.4623043,21.3716215 12.4623043,24.4585209 C12.4623043,26.107722 12.2608235,31.0550649 12.0732694,35.4601798" id="Fill-9" fill="#FEFEFE"></path>
29 <path d="M25.4406878,44.8074965 C25.008311,41.3920845 22.6955769,37.0765166 20.3525165,34.1524418 C19.7173574,34.8036101 19.1252797,35.3746025 18.6085622,35.7765229 C17.0675204,36.9752556 14.1720798,38.005567 11.9563116,38.188826 C11.8435969,40.8110701 11.7566529,42.8443602 11.7566529,43.2002055 C11.7566529,43.278429 11.7602973,43.3748743 11.7669352,43.4845954 C14.6418112,44.484971 18.4764543,45.0282403 22.9499008,45.0282403 C23.7973437,45.0282403 24.6298186,44.9488454 25.4406878,44.8074965" id="Fill-11" fill="#FEFEFE"></path>
30 <path d="M22.9499399,47.7311418 C18.830126,47.7311418 15.2211727,47.2965524 12.266251,46.4681122 C12.6207947,47.9073724 13.1873619,49.5845569 14.0497726,51.0937106 C15.8137709,54.18061 20.2235714,53.8277583 22.1638003,53.8277583 C24.1041594,53.8277583 25.515306,53.122185 25.515306,51.7992839 L25.515306,47.5360386 C24.6592728,47.6651529 23.8033699,47.7311418 22.9499399,47.7311418" id="Fill-13" fill="#FEFEFE"></path>
31 <path d="M63.5454456,37.4703413 C63.0231314,37.4703413 62.4684084,37.6495655 61.8962446,38.0029379 C61.814637,38.0533081 61.4828705,38.2178247 60.6428465,38.2178247 C58.3770986,38.2178247 55.0258532,37.0999186 53.3244598,35.7764969 C52.4748043,35.1156971 51.4221061,33.9989624 50.3075841,32.8167595 C47.9636126,30.3303978 45.7496666,27.9820011 43.8337767,27.9820011 C42.471829,27.9820011 40.9034545,28.6166396 39.3866216,29.2305834 C38.1232016,29.7418344 36.8167001,30.2705263 35.966524,30.2705263 C35.1163479,30.2705263 33.8099765,29.7418344 32.5465565,29.2305834 C31.0297236,28.6166396 29.461219,27.9820011 28.0994014,27.9820011 C26.1833814,27.9820011 23.9693052,30.330528 21.6254639,32.8168896 C20.5109419,33.9990926 19.4582437,35.1156971 18.6085882,35.7764969 C16.9074551,37.0997884 13.5560796,38.2176945 11.2902015,38.2178247 C10.4503076,38.2178247 10.1185411,38.0533081 10.0369336,38.0029379 C9.46476974,37.6495655 8.9099166,37.4703413 8.3877325,37.4703413 C7.64857908,37.4703413 7.0250038,37.8567732 6.76039755,38.4787866 C6.43422772,39.2456631 6.70586237,40.1875989 7.48679572,40.9985982 C9.95272293,43.559539 15.5888491,45.0282143 22.9499269,45.0282143 C27.7832535,45.0282143 32.1465885,42.492784 34.6182426,40.1200482 C35.1197319,39.6387329 35.7738938,39.6142637 35.8998843,39.6142637 L35.9039192,39.6137431 L35.9276075,39.6223333 L36.0163736,39.614524 L36.0331636,39.6142637 C36.1591542,39.6142637 36.8134462,39.6387329 37.3149356,40.1200482 C39.7865896,42.492784 44.1497944,45.0282143 48.9831211,45.0282143 C56.3441989,45.0282143 61.980325,43.559539 64.4463824,40.9985982 C65.2273158,40.1877291 65.4986901,39.2456631 65.1726504,38.4787866 C64.9080442,37.8567732 64.2844689,37.4703413 63.5454456,37.4703413" id="Fill-15" fill="#FEFEFE"></path>
32 </g>
33 </g>
34 </g>
35</svg> \ No newline at end of file
diff --git a/src/assets/images/sm.png b/src/assets/images/sm.png
index 2bf169bee..d5ba1fd0b 100644
--- a/src/assets/images/sm.png
+++ b/src/assets/images/sm.png
Binary files differ
diff --git a/src/assets/images/tray/darwin-dark/tray-active.png b/src/assets/images/tray/darwin-dark/tray-active.png
index 489533dbf..4c5c4ae2f 100644
--- a/src/assets/images/tray/darwin-dark/tray-active.png
+++ b/src/assets/images/tray/darwin-dark/tray-active.png
Binary files differ
diff --git a/src/assets/images/tray/darwin-dark/tray-active@2x.png b/src/assets/images/tray/darwin-dark/tray-active@2x.png
index 76f212b52..59675fec3 100644
--- a/src/assets/images/tray/darwin-dark/tray-active@2x.png
+++ b/src/assets/images/tray/darwin-dark/tray-active@2x.png
Binary files differ
diff --git a/src/assets/images/tray/darwin-dark/tray-unread-active.png b/src/assets/images/tray/darwin-dark/tray-unread-active.png
index e2fd1a822..881c1da50 100644
--- a/src/assets/images/tray/darwin-dark/tray-unread-active.png
+++ b/src/assets/images/tray/darwin-dark/tray-unread-active.png
Binary files differ
diff --git a/src/assets/images/tray/darwin-dark/tray-unread-active@2x.png b/src/assets/images/tray/darwin-dark/tray-unread-active@2x.png
index 9a64b3ef8..308b20c63 100644
--- a/src/assets/images/tray/darwin-dark/tray-unread-active@2x.png
+++ b/src/assets/images/tray/darwin-dark/tray-unread-active@2x.png
Binary files differ
diff --git a/src/assets/images/tray/darwin-dark/tray-unread.png b/src/assets/images/tray/darwin-dark/tray-unread.png
index e2fd1a822..881c1da50 100644
--- a/src/assets/images/tray/darwin-dark/tray-unread.png
+++ b/src/assets/images/tray/darwin-dark/tray-unread.png
Binary files differ
diff --git a/src/assets/images/tray/darwin-dark/tray-unread@2x.png b/src/assets/images/tray/darwin-dark/tray-unread@2x.png
index 9a64b3ef8..308b20c63 100644
--- a/src/assets/images/tray/darwin-dark/tray-unread@2x.png
+++ b/src/assets/images/tray/darwin-dark/tray-unread@2x.png
Binary files differ
diff --git a/src/assets/images/tray/darwin-dark/tray.png b/src/assets/images/tray/darwin-dark/tray.png
index 489533dbf..4c5c4ae2f 100644
--- a/src/assets/images/tray/darwin-dark/tray.png
+++ b/src/assets/images/tray/darwin-dark/tray.png
Binary files differ
diff --git a/src/assets/images/tray/darwin-dark/tray@2x.png b/src/assets/images/tray/darwin-dark/tray@2x.png
index 76f212b52..59675fec3 100644
--- a/src/assets/images/tray/darwin-dark/tray@2x.png
+++ b/src/assets/images/tray/darwin-dark/tray@2x.png
Binary files differ
diff --git a/src/assets/images/tray/darwin/tray-active.png b/src/assets/images/tray/darwin/tray-active.png
index 489533dbf..4c5c4ae2f 100644
--- a/src/assets/images/tray/darwin/tray-active.png
+++ b/src/assets/images/tray/darwin/tray-active.png
Binary files differ
diff --git a/src/assets/images/tray/darwin/tray-active@2x.png b/src/assets/images/tray/darwin/tray-active@2x.png
index 76f212b52..59675fec3 100644
--- a/src/assets/images/tray/darwin/tray-active@2x.png
+++ b/src/assets/images/tray/darwin/tray-active@2x.png
Binary files differ
diff --git a/src/assets/images/tray/darwin/tray-unread-active.png b/src/assets/images/tray/darwin/tray-unread-active.png
index e2fd1a822..881c1da50 100644
--- a/src/assets/images/tray/darwin/tray-unread-active.png
+++ b/src/assets/images/tray/darwin/tray-unread-active.png
Binary files differ
diff --git a/src/assets/images/tray/darwin/tray-unread-active@2x.png b/src/assets/images/tray/darwin/tray-unread-active@2x.png
index 9a64b3ef8..308b20c63 100644
--- a/src/assets/images/tray/darwin/tray-unread-active@2x.png
+++ b/src/assets/images/tray/darwin/tray-unread-active@2x.png
Binary files differ
diff --git a/src/assets/images/tray/darwin/tray-unread.png b/src/assets/images/tray/darwin/tray-unread.png
index a94ad81fb..29115b631 100644
--- a/src/assets/images/tray/darwin/tray-unread.png
+++ b/src/assets/images/tray/darwin/tray-unread.png
Binary files differ
diff --git a/src/assets/images/tray/darwin/tray-unread@2x.png b/src/assets/images/tray/darwin/tray-unread@2x.png
index 56e74b16a..008fe876e 100644
--- a/src/assets/images/tray/darwin/tray-unread@2x.png
+++ b/src/assets/images/tray/darwin/tray-unread@2x.png
Binary files differ
diff --git a/src/assets/images/tray/darwin/tray.png b/src/assets/images/tray/darwin/tray.png
index 583f34df8..3ea106e29 100644
--- a/src/assets/images/tray/darwin/tray.png
+++ b/src/assets/images/tray/darwin/tray.png
Binary files differ
diff --git a/src/assets/images/tray/darwin/tray@2x.png b/src/assets/images/tray/darwin/tray@2x.png
index 479a2cf95..04b7d5b63 100644
--- a/src/assets/images/tray/darwin/tray@2x.png
+++ b/src/assets/images/tray/darwin/tray@2x.png
Binary files differ
diff --git a/src/assets/images/tray/linux/tray-unread.png b/src/assets/images/tray/linux/tray-unread.png
index 5697141e0..bd682d9ae 100644
--- a/src/assets/images/tray/linux/tray-unread.png
+++ b/src/assets/images/tray/linux/tray-unread.png
Binary files differ
diff --git a/src/assets/images/tray/linux/tray-unread@2x.png b/src/assets/images/tray/linux/tray-unread@2x.png
index d31e1401d..70fdb0425 100644
--- a/src/assets/images/tray/linux/tray-unread@2x.png
+++ b/src/assets/images/tray/linux/tray-unread@2x.png
Binary files differ
diff --git a/src/assets/images/tray/linux/tray.png b/src/assets/images/tray/linux/tray.png
index 29a13da12..203c1c86f 100644
--- a/src/assets/images/tray/linux/tray.png
+++ b/src/assets/images/tray/linux/tray.png
Binary files differ
diff --git a/src/assets/images/tray/linux/tray@2x.png b/src/assets/images/tray/linux/tray@2x.png
index 256c52dcc..8cc22ba27 100644
--- a/src/assets/images/tray/linux/tray@2x.png
+++ b/src/assets/images/tray/linux/tray@2x.png
Binary files differ
diff --git a/src/assets/images/tray/win32/tray-unread.ico b/src/assets/images/tray/win32/tray-unread.ico
index 507845120..9421512c8 100644
--- a/src/assets/images/tray/win32/tray-unread.ico
+++ b/src/assets/images/tray/win32/tray-unread.ico
Binary files differ
diff --git a/src/assets/images/tray/win32/tray.ico b/src/assets/images/tray/win32/tray.ico
index 1f0057a8c..dcb721ada 100644
--- a/src/assets/images/tray/win32/tray.ico
+++ b/src/assets/images/tray/win32/tray.ico
Binary files differ
diff --git a/src/assets/themeInfo.json b/src/assets/themeInfo.json
new file mode 100644
index 000000000..d6017de23
--- /dev/null
+++ b/src/assets/themeInfo.json
@@ -0,0 +1 @@
{"color":".theme__dark .app .sidebar .sidebar__button.is-muted, .theme__dark .app .sidebar .sidebar__button.is-active, .sidebar .sidebar__button.is-muted, .sidebar .sidebar__button.is-active, .settings .account .invoices .invoices__action button, .settings-navigation .settings-navigation__link.is-active .badge, a.button, a.link, .auth .welcome .button:hover, .auth .welcome .button__inverted, .franz-form .franz-form__radio.is-selected, .theme__dark .franz-form__button.franz-form__button--inverted, .franz-form__button.franz-form__button--inverted","border-left-color":".tab-item.is-active","border-color":".theme__dark .settings .premium-info, a.button, .franz-form .franz-form__radio.is-selected","background":".settings .settings__header, .settings .settings__close, .settings .settings__close:hover, .settings-navigation .settings-navigation__link.is-active, a.button:hover, .info-bar, .info-bar.info-bar--primary, .infobox.infobox--primary, .theme__dark .badge.badge--primary, .theme__dark .badge.badge--premium, .badge.badge--primary, .badge.badge--premium, .content-tabs .content-tabs__tabs .content-tabs__item.is-active, #electron-app-title-bar .toolbar-dropdown:not(.open) > .toolbar-button > button:hover, #electron-app-title-bar .list-item.selected .menu-item, #electron-app-title-bar .list-item.selected:focus .menu-item, .theme__dark .quick-switch .active, .franz-form .franz-form__toggle-wrapper .franz-form__toggle.is-active .franz-form__toggle-button, .theme__dark .franz-form__button, .theme__dark .franz-form__button:hover, .theme__dark .franz-form__button.franz-form__button--inverted:hover, .franz-form__button, .franz-form__button:hover, .franz-form__button.franz-form__button--inverted:hover","border-right-color":".settings .settings__header .separator"} \ No newline at end of file
diff --git a/src/components/AppUpdateInfoBar.js b/src/components/AppUpdateInfoBar.js
index 4fb3a8b71..4108fdf12 100644
--- a/src/components/AppUpdateInfoBar.js
+++ b/src/components/AppUpdateInfoBar.js
@@ -8,7 +8,7 @@ import InfoBar from './ui/InfoBar';
8const messages = defineMessages({ 8const messages = defineMessages({
9 updateAvailable: { 9 updateAvailable: {
10 id: 'infobar.updateAvailable', 10 id: 'infobar.updateAvailable',
11 defaultMessage: '!!!A new update for Franz is available.', 11 defaultMessage: '!!!A new update for Ferdi is available.',
12 }, 12 },
13 changelog: { 13 changelog: {
14 id: 'infobar.buttonChangelog', 14 id: 'infobar.buttonChangelog',
diff --git a/src/components/auth/AuthLayout.js b/src/components/auth/AuthLayout.js
index 75a8cfc61..0c5198583 100644
--- a/src/components/auth/AuthLayout.js
+++ b/src/components/auth/AuthLayout.js
@@ -52,7 +52,7 @@ export default @observer class AuthLayout extends Component {
52 52
53 return ( 53 return (
54 <> 54 <>
55 {isWindows && !isFullScreen && <TitleBar menu={window.franz.menu.template} icon="assets/images/logo.svg" />} 55 {isWindows && !isFullScreen && <TitleBar menu={window.ferdi.menu.template} icon="assets/images/logo.svg" />}
56 <div className="auth"> 56 <div className="auth">
57 {!isOnline && ( 57 {!isOnline && (
58 <InfoBar 58 <InfoBar
@@ -87,7 +87,7 @@ export default @observer class AuthLayout extends Component {
87 })} 87 })}
88 </div> 88 </div>
89 {/* </div> */} 89 {/* </div> */}
90 <Link to="https://adlk.io" className="auth__adlk" target="_blank"> 90 <Link to="https://github.com/getferdi/ferdi" className="auth__adlk" target="_blank">
91 <img src="./assets/images/adlk.svg" alt="" /> 91 <img src="./assets/images/adlk.svg" alt="" />
92 </Link> 92 </Link>
93 </div> 93 </div>
diff --git a/src/components/auth/Import.js b/src/components/auth/Import.js
index 0d5feb274..3e34c3162 100644
--- a/src/components/auth/Import.js
+++ b/src/components/auth/Import.js
@@ -12,11 +12,11 @@ import Button from '../ui/Button';
12const messages = defineMessages({ 12const messages = defineMessages({
13 headline: { 13 headline: {
14 id: 'import.headline', 14 id: 'import.headline',
15 defaultMessage: '!!!Import your Franz 4 services', 15 defaultMessage: '!!!Import your Ferdi 4 services',
16 }, 16 },
17 notSupportedHeadline: { 17 notSupportedHeadline: {
18 id: 'import.notSupportedHeadline', 18 id: 'import.notSupportedHeadline',
19 defaultMessage: '!!!Services not yet supported in Franz 5', 19 defaultMessage: '!!!Services not yet supported in Ferdi 5',
20 }, 20 },
21 submitButtonLabel: { 21 submitButtonLabel: {
22 id: 'import.submit.label', 22 id: 'import.submit.label',
diff --git a/src/components/auth/Locked.js b/src/components/auth/Locked.js
new file mode 100644
index 000000000..045621d0a
--- /dev/null
+++ b/src/components/auth/Locked.js
@@ -0,0 +1,115 @@
1import React, { Component } from 'react';
2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react';
4import { defineMessages, intlShape } from 'react-intl';
5
6import Form from '../../lib/Form';
7import { required } from '../../helpers/validation-helpers';
8import Input from '../ui/Input';
9import Button from '../ui/Button';
10import Infobox from '../ui/Infobox';
11
12import { globalError as globalErrorPropType } from '../../prop-types';
13
14const messages = defineMessages({
15 headline: {
16 id: 'locked.headline',
17 defaultMessage: '!!!Locked',
18 },
19 info: {
20 id: 'locked.info',
21 defaultMessage: '!!!Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.',
22 },
23 passwordLabel: {
24 id: 'locked.password.label',
25 defaultMessage: '!!!Password',
26 },
27 submitButtonLabel: {
28 id: 'locked.submit.label',
29 defaultMessage: '!!!Unlock',
30 },
31 invalidCredentials: {
32 id: 'locked.invalidCredentials',
33 defaultMessage: '!!!Password invalid',
34 },
35});
36
37export default @observer class Locked extends Component {
38 static propTypes = {
39 onSubmit: PropTypes.func.isRequired,
40 isSubmitting: PropTypes.bool.isRequired,
41 error: globalErrorPropType.isRequired,
42 };
43
44 static contextTypes = {
45 intl: intlShape,
46 };
47
48 form = new Form({
49 fields: {
50 password: {
51 label: this.context.intl.formatMessage(messages.passwordLabel),
52 value: '',
53 validators: [required],
54 type: 'password',
55 },
56 },
57 }, this.context.intl);
58
59 submit(e) {
60 e.preventDefault();
61 this.form.submit({
62 onSuccess: (form) => {
63 this.props.onSubmit(form.values());
64 },
65 onError: () => { },
66 });
67 }
68
69 render() {
70 const { form } = this;
71 const { intl } = this.context;
72 const {
73 isSubmitting,
74 error,
75 } = this.props;
76
77 return (
78 <div className="auth__container">
79 <form className="franz-form auth__form" onSubmit={e => this.submit(e)}>
80 <img
81 src="./assets/images/logo.svg"
82 className="auth__logo"
83 alt=""
84 />
85 <h1>{intl.formatMessage(messages.headline)}</h1>
86 <Infobox type="warning">
87 {intl.formatMessage(messages.info)}
88 </Infobox>
89 <Input
90 field={form.$('password')}
91 showPasswordToggle
92 />
93 {error.code === 'invalid-credentials' && (
94 <p className="error-message center">{intl.formatMessage(messages.invalidCredentials)}</p>
95 )}
96 {isSubmitting ? (
97 <Button
98 className="auth__button is-loading"
99 buttonType="secondary"
100 label={`${intl.formatMessage(messages.submitButtonLabel)} ...`}
101 loaded={false}
102 disabled
103 />
104 ) : (
105 <Button
106 type="submit"
107 className="auth__button"
108 label={intl.formatMessage(messages.submitButtonLabel)}
109 />
110 )}
111 </form>
112 </div>
113 );
114 }
115}
diff --git a/src/components/auth/Login.js b/src/components/auth/Login.js
index 5d21f8b60..e25121de0 100644
--- a/src/components/auth/Login.js
+++ b/src/components/auth/Login.js
@@ -1,11 +1,13 @@
1/* eslint jsx-a11y/anchor-is-valid: 0 */
1import React, { Component } from 'react'; 2import React, { Component } from 'react';
2import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 4import { observer, inject } from 'mobx-react';
4import { defineMessages, intlShape } from 'react-intl'; 5import { defineMessages, intlShape } from 'react-intl';
5 6
6import { isDevMode, useLiveAPI } from '../../environment'; 7import { isDevMode, useLiveAPI } from '../../environment';
7import Form from '../../lib/Form'; 8import Form from '../../lib/Form';
8import { required, email } from '../../helpers/validation-helpers'; 9import { required, email } from '../../helpers/validation-helpers';
10import serverlessLogin from '../../helpers/serverless-helpers';
9import Input from '../ui/Input'; 11import Input from '../ui/Input';
10import Button from '../ui/Button'; 12import Button from '../ui/Button';
11import Link from '../ui/Link'; 13import Link from '../ui/Link';
@@ -34,6 +36,14 @@ const messages = defineMessages({
34 id: 'login.invalidCredentials', 36 id: 'login.invalidCredentials',
35 defaultMessage: '!!!Email or password not valid', 37 defaultMessage: '!!!Email or password not valid',
36 }, 38 },
39 customServerQuestion: {
40 id: 'login.customServerQuestion',
41 defaultMessage: '!!!Using a Franz account to log in?',
42 },
43 customServerSuggestion: {
44 id: 'login.customServerSuggestion',
45 defaultMessage: '!!!Try importing your Franz account into Ferdi',
46 },
37 tokenExpired: { 47 tokenExpired: {
38 id: 'login.tokenExpired', 48 id: 'login.tokenExpired',
39 defaultMessage: '!!!Your session expired, please login again.', 49 defaultMessage: '!!!Your session expired, please login again.',
@@ -46,13 +56,21 @@ const messages = defineMessages({
46 id: 'login.link.signup', 56 id: 'login.link.signup',
47 defaultMessage: '!!!Create a free account', 57 defaultMessage: '!!!Create a free account',
48 }, 58 },
59 changeServer: {
60 id: 'login.changeServer',
61 defaultMessage: '!!!Change server',
62 },
63 serverless: {
64 id: 'services.serverless',
65 defaultMessage: '!!!Use Ferdi without an Account',
66 },
49 passwordLink: { 67 passwordLink: {
50 id: 'login.link.password', 68 id: 'login.link.password',
51 defaultMessage: '!!!Forgot password', 69 defaultMessage: '!!!Forgot password',
52 }, 70 },
53}); 71});
54 72
55export default @observer class Login extends Component { 73export default @inject('actions') @observer class Login extends Component {
56 static propTypes = { 74 static propTypes = {
57 onSubmit: PropTypes.func.isRequired, 75 onSubmit: PropTypes.func.isRequired,
58 isSubmitting: PropTypes.bool.isRequired, 76 isSubmitting: PropTypes.bool.isRequired,
@@ -61,6 +79,7 @@ export default @observer class Login extends Component {
61 signupRoute: PropTypes.string.isRequired, 79 signupRoute: PropTypes.string.isRequired,
62 passwordRoute: PropTypes.string.isRequired, 80 passwordRoute: PropTypes.string.isRequired,
63 error: globalErrorPropType.isRequired, 81 error: globalErrorPropType.isRequired,
82 actions: PropTypes.object.isRequired,
64 }; 83 };
65 84
66 static contextTypes = { 85 static contextTypes = {
@@ -95,6 +114,10 @@ export default @observer class Login extends Component {
95 }); 114 });
96 } 115 }
97 116
117 useLocalServer() {
118 serverlessLogin(this.props.actions);
119 }
120
98 render() { 121 render() {
99 const { form } = this; 122 const { form } = this;
100 const { intl } = this.context; 123 const { intl } = this.context;
@@ -137,7 +160,22 @@ export default @observer class Login extends Component {
137 showPasswordToggle 160 showPasswordToggle
138 /> 161 />
139 {error.code === 'invalid-credentials' && ( 162 {error.code === 'invalid-credentials' && (
140 <p className="error-message center">{intl.formatMessage(messages.invalidCredentials)}</p> 163 <>
164 <p className="error-message center">{intl.formatMessage(messages.invalidCredentials)}</p>
165 { window.ferdi.stores.settings.all.app.server !== 'https://api.franzinfra.com' && (
166 <p className="error-message center">
167 {intl.formatMessage(messages.customServerQuestion)}
168 {' '}
169 <Link
170 to={`${window.ferdi.stores.settings.all.app.server.replace('v1', '')}/import`}
171 target="_blank"
172 style={{ cursor: 'pointer', textDecoration: 'underline' }}
173 >
174 {intl.formatMessage(messages.customServerSuggestion)}
175 </Link>
176 </p>
177 )}
178 </>
141 )} 179 )}
142 {isSubmitting ? ( 180 {isSubmitting ? (
143 <Button 181 <Button
@@ -156,6 +194,8 @@ export default @observer class Login extends Component {
156 )} 194 )}
157 </form> 195 </form>
158 <div className="auth__links"> 196 <div className="auth__links">
197 <Link to="/settings/app">{intl.formatMessage(messages.changeServer)}</Link>
198 <a onClick={this.useLocalServer.bind(this)}>{intl.formatMessage(messages.serverless)}</a>
159 <Link to={signupRoute}>{intl.formatMessage(messages.signupLink)}</Link> 199 <Link to={signupRoute}>{intl.formatMessage(messages.signupLink)}</Link>
160 <Link to={passwordRoute}>{intl.formatMessage(messages.passwordLink)}</Link> 200 <Link to={passwordRoute}>{intl.formatMessage(messages.passwordLink)}</Link>
161 </div> 201 </div>
diff --git a/src/components/auth/Pricing.js b/src/components/auth/Pricing.js
index 53ae046a0..593cb9c4b 100644
--- a/src/components/auth/Pricing.js
+++ b/src/components/auth/Pricing.js
@@ -58,7 +58,7 @@ const messages = defineMessages({
58 }, 58 },
59 ctaSkip: { 59 ctaSkip: {
60 id: 'pricing.trial.cta.skip', 60 id: 'pricing.trial.cta.skip',
61 defaultMessage: '!!!Continue to Franz', 61 defaultMessage: '!!!Continue to Ferdi',
62 }, 62 },
63 featuresHeadline: { 63 featuresHeadline: {
64 id: 'pricing.trial.features.headline', 64 id: 'pricing.trial.features.headline',
@@ -140,7 +140,7 @@ const styles = theme => ({
140 }, 140 },
141}); 141});
142 142
143export default @observer @injectSheet(styles) class Signup extends Component { 143export default @injectSheet(styles) @observer class Signup extends Component {
144 static propTypes = { 144 static propTypes = {
145 onSubmit: PropTypes.func.isRequired, 145 onSubmit: PropTypes.func.isRequired,
146 isLoadingRequiredData: PropTypes.bool.isRequired, 146 isLoadingRequiredData: PropTypes.bool.isRequired,
diff --git a/src/components/auth/Signup.js b/src/components/auth/Signup.js
index 0499d764b..a166155a7 100644
--- a/src/components/auth/Signup.js
+++ b/src/components/auth/Signup.js
@@ -1,11 +1,13 @@
1/* eslint jsx-a11y/anchor-is-valid: 0 */
1import React, { Component } from 'react'; 2import React, { Component } from 'react';
2import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 4import { observer, inject } from 'mobx-react';
4import { defineMessages, intlShape } from 'react-intl'; 5import { defineMessages, intlShape } from 'react-intl';
5 6
6import { isDevMode, useLiveAPI } from '../../environment'; 7import { isDevMode, useLiveAPI } from '../../environment';
7import Form from '../../lib/Form'; 8import Form from '../../lib/Form';
8import { required, email, minLength } from '../../helpers/validation-helpers'; 9import { required, email, minLength } from '../../helpers/validation-helpers';
10import serverlessLogin from '../../helpers/serverless-helpers';
9import Input from '../ui/Input'; 11import Input from '../ui/Input';
10import Button from '../ui/Button'; 12import Button from '../ui/Button';
11import Link from '../ui/Link'; 13import Link from '../ui/Link';
@@ -40,7 +42,7 @@ const messages = defineMessages({
40 }, 42 },
41 legalInfo: { 43 legalInfo: {
42 id: 'signup.legal.info', 44 id: 'signup.legal.info',
43 defaultMessage: '!!!By creating a Franz account you accept the', 45 defaultMessage: '!!!By creating a Ferdi account you accept the',
44 }, 46 },
45 terms: { 47 terms: {
46 id: 'signup.legal.terms', 48 id: 'signup.legal.terms',
@@ -58,18 +60,27 @@ const messages = defineMessages({
58 id: 'signup.link.login', 60 id: 'signup.link.login',
59 defaultMessage: '!!!Already have an account, sign in?', 61 defaultMessage: '!!!Already have an account, sign in?',
60 }, 62 },
63 changeServer: {
64 id: 'login.changeServer',
65 defaultMessage: '!!!Change server',
66 },
67 serverless: {
68 id: 'services.serverless',
69 defaultMessage: '!!!Use Ferdi without an Account',
70 },
61 emailDuplicate: { 71 emailDuplicate: {
62 id: 'signup.emailDuplicate', 72 id: 'signup.emailDuplicate',
63 defaultMessage: '!!!A user with that email address already exists', 73 defaultMessage: '!!!A user with that email address already exists',
64 }, 74 },
65}); 75});
66 76
67export default @observer class Signup extends Component { 77export default @inject('actions') @observer class Signup extends Component {
68 static propTypes = { 78 static propTypes = {
69 onSubmit: PropTypes.func.isRequired, 79 onSubmit: PropTypes.func.isRequired,
70 isSubmitting: PropTypes.bool.isRequired, 80 isSubmitting: PropTypes.bool.isRequired,
71 loginRoute: PropTypes.string.isRequired, 81 loginRoute: PropTypes.string.isRequired,
72 error: globalErrorPropType.isRequired, 82 error: globalErrorPropType.isRequired,
83 actions: PropTypes.object.isRequired,
73 }; 84 };
74 85
75 static contextTypes = { 86 static contextTypes = {
@@ -112,11 +123,17 @@ export default @observer class Signup extends Component {
112 }); 123 });
113 } 124 }
114 125
126 useLocalServer() {
127 serverlessLogin(this.props.actions);
128 }
129
115 render() { 130 render() {
116 const { form } = this; 131 const { form } = this;
117 const { intl } = this.context; 132 const { intl } = this.context;
118 const { isSubmitting, loginRoute, error } = this.props; 133 const { isSubmitting, loginRoute, error } = this.props;
119 134
135 const termsBase = window.ferdi.stores.settings.all.app.server !== 'https://api.franzinfra.com' ? window.ferdi.stores.settings.all.app.server : 'https://meetfranz.com';
136
120 return ( 137 return (
121 <div className="auth__scroll-container"> 138 <div className="auth__scroll-container">
122 <div className="auth__container auth__container--signup"> 139 <div className="auth__container auth__container--signup">
@@ -163,7 +180,7 @@ export default @observer class Signup extends Component {
163 {intl.formatMessage(messages.legalInfo)} 180 {intl.formatMessage(messages.legalInfo)}
164 <br /> 181 <br />
165 <Link 182 <Link
166 to="https://meetfranz.com/terms" 183 to={`${termsBase}/terms`}
167 target="_blank" 184 target="_blank"
168 className="link" 185 className="link"
169 > 186 >
@@ -171,7 +188,7 @@ export default @observer class Signup extends Component {
171 </Link> 188 </Link>
172 &nbsp;&amp;&nbsp; 189 &nbsp;&amp;&nbsp;
173 <Link 190 <Link
174 to="https://meetfranz.com/privacy" 191 to={`${termsBase}/privacy`}
175 target="_blank" 192 target="_blank"
176 className="link" 193 className="link"
177 > 194 >
@@ -181,6 +198,8 @@ export default @observer class Signup extends Component {
181 </p> 198 </p>
182 </form> 199 </form>
183 <div className="auth__links"> 200 <div className="auth__links">
201 <Link to="/settings/app">{intl.formatMessage(messages.changeServer)}</Link>
202 <a onClick={this.useLocalServer.bind(this)}>{intl.formatMessage(messages.serverless)}</a>
184 <Link to={loginRoute}>{intl.formatMessage(messages.loginLink)}</Link> 203 <Link to={loginRoute}>{intl.formatMessage(messages.loginLink)}</Link>
185 </div> 204 </div>
186 </div> 205 </div>
diff --git a/src/components/auth/Welcome.js b/src/components/auth/Welcome.js
index f6d77f70f..1453c1d7c 100644
--- a/src/components/auth/Welcome.js
+++ b/src/components/auth/Welcome.js
@@ -1,7 +1,9 @@
1/* eslint jsx-a11y/anchor-is-valid: 0 */
1import React, { Component } from 'react'; 2import React, { Component } from 'react';
2import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
3import { observer, PropTypes as MobxPropTypes } from 'mobx-react'; 4import { observer, PropTypes as MobxPropTypes, inject } from 'mobx-react';
4import { defineMessages, intlShape } from 'react-intl'; 5import { defineMessages, intlShape } from 'react-intl';
6import serverlessLogin from '../../helpers/serverless-helpers';
5 7
6import Link from '../ui/Link'; 8import Link from '../ui/Link';
7 9
@@ -14,19 +16,28 @@ const messages = defineMessages({
14 id: 'welcome.loginButton', 16 id: 'welcome.loginButton',
15 defaultMessage: '!!!Login to your account', 17 defaultMessage: '!!!Login to your account',
16 }, 18 },
19 serverless: {
20 id: 'services.serverless',
21 defaultMessage: '!!!Use Ferdi without an Account',
22 },
17}); 23});
18 24
19export default @observer class Login extends Component { 25export default @inject('actions') @observer class Login extends Component {
20 static propTypes = { 26 static propTypes = {
21 loginRoute: PropTypes.string.isRequired, 27 loginRoute: PropTypes.string.isRequired,
22 signupRoute: PropTypes.string.isRequired, 28 signupRoute: PropTypes.string.isRequired,
23 recipes: MobxPropTypes.arrayOrObservableArray.isRequired, 29 recipes: MobxPropTypes.arrayOrObservableArray.isRequired,
30 actions: PropTypes.object.isRequired,
24 }; 31 };
25 32
26 static contextTypes = { 33 static contextTypes = {
27 intl: intlShape, 34 intl: intlShape,
28 }; 35 };
29 36
37 useLocalServer() {
38 serverlessLogin(this.props.actions);
39 }
40
30 render() { 41 render() {
31 const { intl } = this.context; 42 const { intl } = this.context;
32 const { 43 const {
@@ -41,7 +52,7 @@ export default @observer class Login extends Component {
41 <img src="./assets/images/logo.svg" className="welcome__logo" alt="" /> 52 <img src="./assets/images/logo.svg" className="welcome__logo" alt="" />
42 {/* <img src="./assets/images/welcome.png" className="welcome__services" alt="" /> */} 53 {/* <img src="./assets/images/welcome.png" className="welcome__services" alt="" /> */}
43 <div className="welcome__text"> 54 <div className="welcome__text">
44 <h1>Franz</h1> 55 <h1>Ferdi</h1>
45 </div> 56 </div>
46 </div> 57 </div>
47 <div className="welcome__buttons"> 58 <div className="welcome__buttons">
@@ -51,6 +62,25 @@ export default @observer class Login extends Component {
51 <Link to={loginRoute} className="button"> 62 <Link to={loginRoute} className="button">
52 {intl.formatMessage(messages.loginButton)} 63 {intl.formatMessage(messages.loginButton)}
53 </Link> 64 </Link>
65 <br />
66 <br />
67 <a className="button" onClick={this.useLocalServer.bind(this)}>
68 {intl.formatMessage(messages.serverless)}
69 </a>
70 <br />
71 <br />
72
73
74 <Link to="settings/app">
75 <span style={{
76 textAlign: 'center',
77 width: '100%',
78 cursor: 'pointer',
79 }}
80 >
81 Change server
82 </span>
83 </Link>
54 </div> 84 </div>
55 <div className="welcome__featured-services"> 85 <div className="welcome__featured-services">
56 {recipes.map(recipe => ( 86 {recipes.map(recipe => (
diff --git a/src/components/layout/AppLayout.js b/src/components/layout/AppLayout.js
index 9b110262a..80e6daf19 100644
--- a/src/components/layout/AppLayout.js
+++ b/src/components/layout/AppLayout.js
@@ -6,9 +6,9 @@ import { TitleBar } from 'electron-react-titlebar';
6import injectSheet from 'react-jss'; 6import injectSheet from 'react-jss';
7 7
8import InfoBar from '../ui/InfoBar'; 8import InfoBar from '../ui/InfoBar';
9import { Component as DelayApp } from '../../features/delayApp';
10import { Component as BasicAuth } from '../../features/basicAuth'; 9import { Component as BasicAuth } from '../../features/basicAuth';
11import { Component as ShareFranz } from '../../features/shareFranz'; 10import { Component as ShareFranz } from '../../features/shareFranz';
11import { Component as QuickSwitch } from '../../features/quickSwitch';
12import ErrorBoundary from '../util/ErrorBoundary'; 12import ErrorBoundary from '../util/ErrorBoundary';
13 13
14// import globalMessages from '../../i18n/globalMessages'; 14// import globalMessages from '../../i18n/globalMessages';
@@ -39,6 +39,10 @@ const messages = defineMessages({
39 id: 'infobar.requiredRequestsFailed', 39 id: 'infobar.requiredRequestsFailed',
40 defaultMessage: '!!!Could not load services and user information', 40 defaultMessage: '!!!Could not load services and user information',
41 }, 41 },
42 authRequestFailed: {
43 id: 'infobar.authRequestFailed',
44 defaultMessage: '!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.',
45 },
42}); 46});
43 47
44const styles = theme => ({ 48const styles = theme => ({
@@ -65,6 +69,7 @@ class AppLayout extends Component {
65 showServicesUpdatedInfoBar: PropTypes.bool.isRequired, 69 showServicesUpdatedInfoBar: PropTypes.bool.isRequired,
66 appUpdateIsDownloaded: PropTypes.bool.isRequired, 70 appUpdateIsDownloaded: PropTypes.bool.isRequired,
67 nextAppReleaseVersion: PropTypes.string, 71 nextAppReleaseVersion: PropTypes.string,
72 authRequestFailed: PropTypes.bool.isRequired,
68 removeNewsItem: PropTypes.func.isRequired, 73 removeNewsItem: PropTypes.func.isRequired,
69 reloadServicesAfterUpdate: PropTypes.func.isRequired, 74 reloadServicesAfterUpdate: PropTypes.func.isRequired,
70 installAppUpdate: PropTypes.func.isRequired, 75 installAppUpdate: PropTypes.func.isRequired,
@@ -72,7 +77,6 @@ class AppLayout extends Component {
72 areRequiredRequestsSuccessful: PropTypes.bool.isRequired, 77 areRequiredRequestsSuccessful: PropTypes.bool.isRequired,
73 retryRequiredRequests: PropTypes.func.isRequired, 78 retryRequiredRequests: PropTypes.func.isRequired,
74 areRequiredRequestsLoading: PropTypes.bool.isRequired, 79 areRequiredRequestsLoading: PropTypes.bool.isRequired,
75 isDelayAppScreenVisible: PropTypes.bool.isRequired,
76 hasActivatedTrial: PropTypes.bool.isRequired, 80 hasActivatedTrial: PropTypes.bool.isRequired,
77 }; 81 };
78 82
@@ -97,6 +101,7 @@ class AppLayout extends Component {
97 showServicesUpdatedInfoBar, 101 showServicesUpdatedInfoBar,
98 appUpdateIsDownloaded, 102 appUpdateIsDownloaded,
99 nextAppReleaseVersion, 103 nextAppReleaseVersion,
104 authRequestFailed,
100 removeNewsItem, 105 removeNewsItem,
101 reloadServicesAfterUpdate, 106 reloadServicesAfterUpdate,
102 installAppUpdate, 107 installAppUpdate,
@@ -104,7 +109,6 @@ class AppLayout extends Component {
104 areRequiredRequestsSuccessful, 109 areRequiredRequestsSuccessful,
105 retryRequiredRequests, 110 retryRequiredRequests,
106 areRequiredRequestsLoading, 111 areRequiredRequestsLoading,
107 isDelayAppScreenVisible,
108 hasActivatedTrial, 112 hasActivatedTrial,
109 } = this.props; 113 } = this.props;
110 114
@@ -113,7 +117,7 @@ class AppLayout extends Component {
113 return ( 117 return (
114 <ErrorBoundary> 118 <ErrorBoundary>
115 <div className="app"> 119 <div className="app">
116 {isWindows && !isFullScreen && <TitleBar menu={window.franz.menu.template} icon="assets/images/logo.svg" />} 120 {isWindows && !isFullScreen && <TitleBar menu={window.ferdi.menu.template} icon="assets/images/logo.svg" />}
117 <div className={`app__content ${classes.appContent}`}> 121 <div className={`app__content ${classes.appContent}`}>
118 {workspacesDrawer} 122 {workspacesDrawer}
119 {sidebar} 123 {sidebar}
@@ -153,6 +157,18 @@ class AppLayout extends Component {
153 {intl.formatMessage(messages.requiredRequestsFailed)} 157 {intl.formatMessage(messages.requiredRequestsFailed)}
154 </InfoBar> 158 </InfoBar>
155 )} 159 )}
160 {authRequestFailed && (
161 <InfoBar
162 type="danger"
163 ctaLabel="Try again"
164 ctaLoading={areRequiredRequestsLoading}
165 sticky
166 onClick={retryRequiredRequests}
167 >
168 <span className="mdi mdi-flash" />
169 {intl.formatMessage(messages.authRequestFailed)}
170 </InfoBar>
171 )}
156 {showServicesUpdatedInfoBar && ( 172 {showServicesUpdatedInfoBar && (
157 <InfoBar 173 <InfoBar
158 type="primary" 174 type="primary"
@@ -170,9 +186,9 @@ class AppLayout extends Component {
170 onInstallUpdate={installAppUpdate} 186 onInstallUpdate={installAppUpdate}
171 /> 187 />
172 )} 188 )}
173 {isDelayAppScreenVisible && (<DelayApp />)}
174 <BasicAuth /> 189 <BasicAuth />
175 <ShareFranz /> 190 <ShareFranz />
191 <QuickSwitch />
176 {services} 192 {services}
177 {children} 193 {children}
178 <TrialStatusBar /> 194 <TrialStatusBar />
diff --git a/src/components/layout/Sidebar.js b/src/components/layout/Sidebar.js
index 918298011..48a83c5a1 100644
--- a/src/components/layout/Sidebar.js
+++ b/src/components/layout/Sidebar.js
@@ -2,13 +2,13 @@ import React, { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import ReactTooltip from 'react-tooltip'; 3import ReactTooltip from 'react-tooltip';
4import { defineMessages, intlShape } from 'react-intl'; 4import { defineMessages, intlShape } from 'react-intl';
5import { observer } from 'mobx-react'; 5import { inject, observer } from 'mobx-react';
6import { Link } from 'react-router';
6 7
7import Tabbar from '../services/tabs/Tabbar'; 8import Tabbar from '../services/tabs/Tabbar';
8import { ctrlKey } from '../../environment'; 9import { ctrlKey } from '../../environment';
9import { GA_CATEGORY_WORKSPACES, workspaceStore } from '../../features/workspaces'; 10import { workspaceStore } from '../../features/workspaces';
10import { gaEvent } from '../../lib/analytics'; 11import { todosStore } from '../../features/todos';
11import { todosStore, GA_CATEGORY_TODOS } from '../../features/todos';
12import { todoActions } from '../../features/todos/actions'; 12import { todoActions } from '../../features/todos/actions';
13 13
14const messages = defineMessages({ 14const messages = defineMessages({
@@ -44,9 +44,13 @@ const messages = defineMessages({
44 id: 'sidebar.closeTodosDrawer', 44 id: 'sidebar.closeTodosDrawer',
45 defaultMessage: '!!!Close Franz Todos', 45 defaultMessage: '!!!Close Franz Todos',
46 }, 46 },
47 lockFerdi: {
48 id: 'sidebar.lockFerdi',
49 defaultMessage: '!!!Lock Ferdi',
50 },
47}); 51});
48 52
49export default @observer class Sidebar extends Component { 53export default @inject('stores', 'actions') @observer class Sidebar extends Component {
50 static propTypes = { 54 static propTypes = {
51 openSettings: PropTypes.func.isRequired, 55 openSettings: PropTypes.func.isRequired,
52 toggleMuteApp: PropTypes.func.isRequired, 56 toggleMuteApp: PropTypes.func.isRequired,
@@ -87,6 +91,8 @@ export default @observer class Sidebar extends Component {
87 isAppMuted, 91 isAppMuted,
88 isWorkspaceDrawerOpen, 92 isWorkspaceDrawerOpen,
89 toggleWorkspaceDrawer, 93 toggleWorkspaceDrawer,
94 stores,
95 actions,
90 } = this.props; 96 } = this.props;
91 const { intl } = this.context; 97 const { intl } = this.context;
92 const todosToggleMessage = ( 98 const todosToggleMessage = (
@@ -96,6 +102,7 @@ export default @observer class Sidebar extends Component {
96 const workspaceToggleMessage = ( 102 const workspaceToggleMessage = (
97 isWorkspaceDrawerOpen ? messages.closeWorkspaceDrawer : messages.openWorkspaceDrawer 103 isWorkspaceDrawerOpen ? messages.closeWorkspaceDrawer : messages.openWorkspaceDrawer
98 ); 104 );
105 const isLoggedIn = Boolean(localStorage.getItem('authToken'));
99 106
100 return ( 107 return (
101 <div className="sidebar"> 108 <div className="sidebar">
@@ -104,53 +111,89 @@ export default @observer class Sidebar extends Component {
104 enableToolTip={() => this.enableToolTip()} 111 enableToolTip={() => this.enableToolTip()}
105 disableToolTip={() => this.disableToolTip()} 112 disableToolTip={() => this.disableToolTip()}
106 /> 113 />
107 {todosStore.isFeatureEnabled && todosStore.isFeatureEnabledByUser ? ( 114 { isLoggedIn ? (
108 <button 115 <>
109 type="button" 116 { stores.settings.all.app.lockingFeatureEnabled ? (
110 onClick={() => { 117 <button
111 todoActions.toggleTodosPanel(); 118 type="button"
112 this.updateToolTip(); 119 className="sidebar__button"
113 gaEvent(GA_CATEGORY_TODOS, 'toggleDrawer', 'sidebar'); 120 onClick={() => {
114 }} 121 // Disable lock first - otherwise the application might not update correctly
115 className={`sidebar__button sidebar__button--todos ${todosStore.isTodosPanelVisible ? 'is-active' : ''}`} 122 actions.settings.update({
116 data-tip={`${intl.formatMessage(todosToggleMessage)} (${ctrlKey}+T)`} 123 type: 'app',
117 > 124 data: {
118 <i className="mdi mdi-check-all" /> 125 locked: false,
119 </button> 126 },
120 ) : null} 127 });
121 {workspaceStore.isFeatureEnabled ? ( 128 setTimeout(() => {
122 <button 129 actions.settings.update({
123 type="button" 130 type: 'app',
124 onClick={() => { 131 data: {
125 toggleWorkspaceDrawer(); 132 locked: true,
126 this.updateToolTip(); 133 },
127 gaEvent(GA_CATEGORY_WORKSPACES, 'toggleDrawer', 'sidebar'); 134 });
128 }} 135 }, 0);
129 className={`sidebar__button sidebar__button--workspaces ${isWorkspaceDrawerOpen ? 'is-active' : ''}`} 136 }}
130 data-tip={`${intl.formatMessage(workspaceToggleMessage)} (${ctrlKey}+D)`} 137 data-tip={`${intl.formatMessage(messages.lockFerdi)} (${ctrlKey}+Shift+L)`}
138 >
139 <i className="mdi mdi-lock" />
140 </button>
141 ) : null}
142 {todosStore.isFeatureEnabled && todosStore.isFeatureEnabledByUser ? (
143 <button
144 type="button"
145 onClick={() => {
146 todoActions.toggleTodosPanel();
147 this.updateToolTip();
148 }}
149 className={`sidebar__button sidebar__button--todos ${todosStore.isTodosPanelVisible ? 'is-active' : ''}`}
150 data-tip={`${intl.formatMessage(todosToggleMessage)} (${ctrlKey}+T)`}
151 >
152 <i className="mdi mdi-check-all" />
153 </button>
154 ) : null}
155 {workspaceStore.isFeatureEnabled ? (
156 <button
157 type="button"
158 onClick={() => {
159 toggleWorkspaceDrawer();
160 this.updateToolTip();
161 }}
162 className={`sidebar__button sidebar__button--workspaces ${isWorkspaceDrawerOpen ? 'is-active' : ''}`}
163 data-tip={`${intl.formatMessage(workspaceToggleMessage)} (${ctrlKey}+D)`}
164 >
165 <i className="mdi mdi-view-grid" />
166 </button>
167 ) : null}
168 <button
169 type="button"
170 onClick={() => {
171 toggleMuteApp();
172 this.updateToolTip();
173 }}
174 className={`sidebar__button sidebar__button--audio ${isAppMuted ? 'is-muted' : ''}`}
175 data-tip={`${intl.formatMessage(isAppMuted ? messages.unmute : messages.mute)} (${ctrlKey}+Shift+M)`}
176 >
177 <i className={`mdi mdi-bell${isAppMuted ? '-off' : ''}`} />
178 </button>
179 <button
180 type="button"
181 onClick={() => openSettings({ path: 'recipes' })}
182 className="sidebar__button sidebar__button--new-service"
183 data-tip={`${intl.formatMessage(messages.addNewService)} (${ctrlKey}+N)`}
184 >
185 <i className="mdi mdi-plus-box" />
186 </button>
187 </>
188 ) : (
189 <Link
190 to="/auth/welcome"
191 className="sidebar__button sidebar__button--new-service"
192 data-tip="Login"
131 > 193 >
132 <i className="mdi mdi-view-grid" /> 194 <i className="mdi mdi-login-variant" />
133 </button> 195 </Link>
134 ) : null} 196 )}
135 <button
136 type="button"
137 onClick={() => {
138 toggleMuteApp();
139 this.updateToolTip();
140 }}
141 className={`sidebar__button sidebar__button--audio ${isAppMuted ? 'is-muted' : ''}`}
142 data-tip={`${intl.formatMessage(isAppMuted ? messages.unmute : messages.mute)} (${ctrlKey}+Shift+M)`}
143 >
144 <i className={`mdi mdi-bell${isAppMuted ? '-off' : ''}`} />
145 </button>
146 <button
147 type="button"
148 onClick={() => openSettings({ path: 'recipes' })}
149 className="sidebar__button sidebar__button--new-service"
150 data-tip={`${intl.formatMessage(messages.addNewService)} (${ctrlKey}+N)`}
151 >
152 <i className="mdi mdi-plus-box" />
153 </button>
154 <button 197 <button
155 type="button" 198 type="button"
156 onClick={() => openSettings({ path: 'app' })} 199 onClick={() => openSettings({ path: 'app' })}
@@ -158,6 +201,12 @@ export default @observer class Sidebar extends Component {
158 data-tip={`${intl.formatMessage(messages.settings)} (${ctrlKey}+,)`} 201 data-tip={`${intl.formatMessage(messages.settings)} (${ctrlKey}+,)`}
159 > 202 >
160 <i className="mdi mdi-settings" /> 203 <i className="mdi mdi-settings" />
204 { (this.props.stores.app.updateStatus === this.props.stores.app.updateStatusTypes.AVAILABLE
205 || this.props.stores.app.updateStatus === this.props.stores.app.updateStatusTypes.DOWNLOADED) && (
206 <span className="update-available">
207
208 </span>
209 ) }
161 </button> 210 </button>
162 {this.state.tooltipEnabled && ( 211 {this.state.tooltipEnabled && (
163 <ReactTooltip place="right" type="dark" effect="solid" /> 212 <ReactTooltip place="right" type="dark" effect="solid" />
diff --git a/src/components/services/content/ServiceView.js b/src/components/services/content/ServiceView.js
index 3b09518c5..49ee24361 100644
--- a/src/components/services/content/ServiceView.js
+++ b/src/components/services/content/ServiceView.js
@@ -1,7 +1,7 @@
1import React, { Component, Fragment } from 'react'; 1import React, { Component, Fragment } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { autorun } from 'mobx'; 3import { autorun, reaction } from 'mobx';
4import { observer } from 'mobx-react'; 4import { observer, inject } from 'mobx-react';
5import classnames from 'classnames'; 5import classnames from 'classnames';
6 6
7import ServiceModel from '../../../models/Service'; 7import ServiceModel from '../../../models/Service';
@@ -10,12 +10,12 @@ import WebviewLoader from '../../ui/WebviewLoader';
10import WebviewCrashHandler from './WebviewCrashHandler'; 10import WebviewCrashHandler from './WebviewCrashHandler';
11import WebviewErrorHandler from './ErrorHandlers/WebviewErrorHandler'; 11import WebviewErrorHandler from './ErrorHandlers/WebviewErrorHandler';
12import ServiceDisabled from './ServiceDisabled'; 12import ServiceDisabled from './ServiceDisabled';
13import ServiceRestricted from './ServiceRestricted';
14import ServiceWebview from './ServiceWebview'; 13import ServiceWebview from './ServiceWebview';
14import SettingsStore from '../../../stores/SettingsStore';
15import WebControlsScreen from '../../../features/webControls/containers/WebControlsScreen'; 15import WebControlsScreen from '../../../features/webControls/containers/WebControlsScreen';
16import { CUSTOM_WEBSITE_ID } from '../../../features/webControls/constants'; 16import { CUSTOM_WEBSITE_ID } from '../../../features/webControls/constants';
17 17
18export default @observer class ServiceView extends Component { 18export default @inject('stores', 'actions') @observer class ServiceView extends Component {
19 static propTypes = { 19 static propTypes = {
20 service: PropTypes.instanceOf(ServiceModel).isRequired, 20 service: PropTypes.instanceOf(ServiceModel).isRequired,
21 setWebviewReference: PropTypes.func.isRequired, 21 setWebviewReference: PropTypes.func.isRequired,
@@ -24,7 +24,14 @@ export default @observer class ServiceView extends Component {
24 edit: PropTypes.func.isRequired, 24 edit: PropTypes.func.isRequired,
25 enable: PropTypes.func.isRequired, 25 enable: PropTypes.func.isRequired,
26 isActive: PropTypes.bool, 26 isActive: PropTypes.bool,
27 upgrade: PropTypes.func.isRequired, 27 stores: PropTypes.shape({
28 settings: PropTypes.instanceOf(SettingsStore).isRequired,
29 }).isRequired,
30 actions: PropTypes.shape({
31 service: PropTypes.shape({
32 setHibernation: PropTypes.func.isRequired,
33 }).isRequired,
34 }).isRequired,
28 }; 35 };
29 36
30 static defaultProps = { 37 static defaultProps = {
@@ -35,12 +42,20 @@ export default @observer class ServiceView extends Component {
35 forceRepaint: false, 42 forceRepaint: false,
36 targetUrl: '', 43 targetUrl: '',
37 statusBarVisible: false, 44 statusBarVisible: false,
45 hibernate: false,
46 hibernationTimer: null,
38 }; 47 };
39 48
40 autorunDisposer = null; 49 autorunDisposer = null;
41 50
42 forceRepaintTimeout = null; 51 forceRepaintTimeout = null;
43 52
53 constructor(props) {
54 super(props);
55
56 this.startHibernationTimer = this.startHibernationTimer.bind(this);
57 }
58
44 componentDidMount() { 59 componentDidMount() {
45 this.autorunDisposer = autorun(() => { 60 this.autorunDisposer = autorun(() => {
46 if (this.props.service.isActive) { 61 if (this.props.service.isActive) {
@@ -50,6 +65,45 @@ export default @observer class ServiceView extends Component {
50 }, 100); 65 }, 100);
51 } 66 }
52 }); 67 });
68
69 reaction(
70 () => this.props.service.isActive,
71 () => {
72 if (!this.props.service.isActive && this.props.stores.settings.all.app.hibernate) {
73 // Service is inactive - start hibernation countdown
74 this.startHibernationTimer();
75 } else {
76 if (this.state.hibernationTimer) {
77 // Service is active but we have an active hibernation timer: Clear timeout
78 clearTimeout(this.state.hibernationTimer);
79 }
80
81 // Service is active, wake up service from hibernation
82 this.setState({
83 hibernate: false,
84 });
85 this.props.actions.service.setHibernation({
86 serviceId: this.props.service.id,
87 hibernating: false,
88 });
89 }
90 },
91 );
92
93 // Store hibernation status to state, otherwise the webview won't get unloaded correctly
94 reaction(
95 () => this.props.service.isHibernating,
96 () => {
97 this.setState({
98 hibernate: this.props.service.isHibernating,
99 });
100 },
101 );
102
103 // Start hibernation counter if we are in background
104 if (!this.props.service.isActive && this.props.stores.settings.all.app.hibernate) {
105 this.startHibernationTimer();
106 }
53 } 107 }
54 108
55 componentWillUnmount() { 109 componentWillUnmount() {
@@ -68,6 +122,24 @@ export default @observer class ServiceView extends Component {
68 }); 122 });
69 }; 123 };
70 124
125 startHibernationTimer() {
126 const timerDuration = (Number(this.props.stores.settings.all.app.hibernationStrategy) || 300) * 1000;
127
128 const hibernationTimer = setTimeout(() => {
129 this.setState({
130 hibernate: true,
131 });
132 this.props.actions.service.setHibernation({
133 serviceId: this.props.service.id,
134 hibernating: true,
135 });
136 }, timerDuration);
137
138 this.setState({
139 hibernationTimer,
140 });
141 }
142
71 render() { 143 render() {
72 const { 144 const {
73 detachService, 145 detachService,
@@ -76,9 +148,13 @@ export default @observer class ServiceView extends Component {
76 reload, 148 reload,
77 edit, 149 edit,
78 enable, 150 enable,
79 upgrade, 151 stores,
80 } = this.props; 152 } = this.props;
81 153
154 const {
155 showServiceNavigationBar,
156 } = stores.settings.app;
157
82 const webviewClasses = classnames({ 158 const webviewClasses = classnames({
83 services__webview: true, 159 services__webview: true,
84 'services__webview-wrapper': true, 160 'services__webview-wrapper': true,
@@ -132,15 +208,9 @@ export default @observer class ServiceView extends Component {
132 </Fragment> 208 </Fragment>
133 ) : ( 209 ) : (
134 <> 210 <>
135 {service.isServiceAccessRestricted ? ( 211 {!this.state.hibernate ? (
136 <ServiceRestricted
137 name={service.recipe.name}
138 upgrade={upgrade}
139 type={service.restrictionType}
140 />
141 ) : (
142 <> 212 <>
143 {service.recipe.id === CUSTOM_WEBSITE_ID && ( 213 {(service.recipe.id === CUSTOM_WEBSITE_ID || showServiceNavigationBar) && (
144 <WebControlsScreen service={service} /> 214 <WebControlsScreen service={service} />
145 )} 215 )}
146 <ServiceWebview 216 <ServiceWebview
@@ -149,6 +219,12 @@ export default @observer class ServiceView extends Component {
149 detachService={detachService} 219 detachService={detachService}
150 /> 220 />
151 </> 221 </>
222 ) : (
223 <div>
224 <span role="img" aria-label="Sleeping Emoji">😴</span>
225 {' '}
226 This service is currently hibernating. If this page doesn&#x27;t close soon, please try reloading Ferdi.
227 </div>
152 )} 228 )}
153 </> 229 </>
154 )} 230 )}
diff --git a/src/components/services/content/ServiceWebview.js b/src/components/services/content/ServiceWebview.js
index 4bab4a964..e6ebb6afb 100644
--- a/src/components/services/content/ServiceWebview.js
+++ b/src/components/services/content/ServiceWebview.js
@@ -1,10 +1,13 @@
1import React, { Component } from 'react'; 1import React, { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import { observable, reaction } from 'mobx';
4import ElectronWebView from 'react-electron-web-view'; 5import ElectronWebView from 'react-electron-web-view';
5 6
6import ServiceModel from '../../../models/Service'; 7import ServiceModel from '../../../models/Service';
7 8
9const debug = require('debug')('Ferdi:Services');
10
8@observer 11@observer
9class ServiceWebview extends Component { 12class ServiceWebview extends Component {
10 static propTypes = { 13 static propTypes = {
@@ -13,7 +16,22 @@ class ServiceWebview extends Component {
13 detachService: PropTypes.func.isRequired, 16 detachService: PropTypes.func.isRequired,
14 }; 17 };
15 18
16 webview = null; 19 @observable webview = null;
20
21 constructor(props) {
22 super(props);
23
24 reaction(
25 () => this.webview,
26 () => {
27 if (this.webview && this.webview.view) {
28 this.webview.view.addEventListener('console-message', (e) => {
29 debug('Service logged a message:', e.message);
30 });
31 }
32 },
33 );
34 }
17 35
18 componentWillUnmount() { 36 componentWillUnmount() {
19 const { service, detachService } = this.props; 37 const { service, detachService } = this.props;
diff --git a/src/components/services/content/Services.js b/src/components/services/content/Services.js
index b6291666b..80f17d8f2 100644
--- a/src/components/services/content/Services.js
+++ b/src/components/services/content/Services.js
@@ -1,6 +1,6 @@
1import React, { Component } from 'react'; 1import React, { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer, PropTypes as MobxPropTypes } from 'mobx-react'; 3import { observer, PropTypes as MobxPropTypes, inject } from 'mobx-react';
4import { Link } from 'react-router'; 4import { Link } from 'react-router';
5import { defineMessages, intlShape } from 'react-intl'; 5import { defineMessages, intlShape } from 'react-intl';
6import Confetti from 'react-confetti'; 6import Confetti from 'react-confetti';
@@ -9,16 +9,29 @@ import injectSheet from 'react-jss';
9 9
10import ServiceView from './ServiceView'; 10import ServiceView from './ServiceView';
11import Appear from '../../ui/effects/Appear'; 11import Appear from '../../ui/effects/Appear';
12import serverlessLogin from '../../../helpers/serverless-helpers';
12 13
13const messages = defineMessages({ 14const messages = defineMessages({
14 welcome: { 15 welcome: {
15 id: 'services.welcome', 16 id: 'services.welcome',
16 defaultMessage: '!!!Welcome to Franz', 17 defaultMessage: '!!!Welcome to Ferdi',
17 }, 18 },
18 getStarted: { 19 getStarted: {
19 id: 'services.getStarted', 20 id: 'services.getStarted',
20 defaultMessage: '!!!Get started', 21 defaultMessage: '!!!Get started',
21 }, 22 },
23 login: {
24 id: 'services.login',
25 defaultMessage: '!!!Please login to use Ferdi.',
26 },
27 serverless: {
28 id: 'services.serverless',
29 defaultMessage: '!!!Use Ferdi without an Account',
30 },
31 serverInfo: {
32 id: 'services.serverInfo',
33 defaultMessage: '!!!Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.',
34 },
22}); 35});
23 36
24 37
@@ -31,7 +44,7 @@ const styles = {
31 }, 44 },
32}; 45};
33 46
34export default @observer @injectSheet(styles) class Services extends Component { 47export default @injectSheet(styles) @inject('actions') @observer class Services extends Component {
35 static propTypes = { 48 static propTypes = {
36 services: MobxPropTypes.arrayOrObservableArray, 49 services: MobxPropTypes.arrayOrObservableArray,
37 setWebviewReference: PropTypes.func.isRequired, 50 setWebviewReference: PropTypes.func.isRequired,
@@ -44,6 +57,7 @@ export default @observer @injectSheet(styles) class Services extends Component {
44 userHasCompletedSignup: PropTypes.bool.isRequired, 57 userHasCompletedSignup: PropTypes.bool.isRequired,
45 hasActivatedTrial: PropTypes.bool.isRequired, 58 hasActivatedTrial: PropTypes.bool.isRequired,
46 classes: PropTypes.object.isRequired, 59 classes: PropTypes.object.isRequired,
60 actions: PropTypes.object.isRequired,
47 }; 61 };
48 62
49 static defaultProps = { 63 static defaultProps = {
@@ -60,6 +74,12 @@ export default @observer @injectSheet(styles) class Services extends Component {
60 74
61 _confettiTimeout = null; 75 _confettiTimeout = null;
62 76
77 constructor(props) {
78 super(props);
79
80 this.useLocalServer = this.useLocalServer.bind(this);
81 }
82
63 componentDidMount() { 83 componentDidMount() {
64 this._confettiTimeout = window.setTimeout(() => { 84 this._confettiTimeout = window.setTimeout(() => {
65 this.setState({ 85 this.setState({
@@ -74,6 +94,10 @@ export default @observer @injectSheet(styles) class Services extends Component {
74 } 94 }
75 } 95 }
76 96
97 useLocalServer() {
98 serverlessLogin(this.props.actions);
99 }
100
77 render() { 101 render() {
78 const { 102 const {
79 services, 103 services,
@@ -94,6 +118,7 @@ export default @observer @injectSheet(styles) class Services extends Component {
94 } = this.state; 118 } = this.state;
95 119
96 const { intl } = this.context; 120 const { intl } = this.context;
121 const isLoggedIn = Boolean(localStorage.getItem('authToken'));
97 122
98 return ( 123 return (
99 <div className="services"> 124 <div className="services">
@@ -112,15 +137,33 @@ export default @observer @injectSheet(styles) class Services extends Component {
112 transitionName="slideUp" 137 transitionName="slideUp"
113 > 138 >
114 <div className="services__no-service"> 139 <div className="services__no-service">
115 <img src="./assets/images/logo.svg" alt="" /> 140 <img src="./assets/images/logo.svg" alt="Logo" style={{ maxHeight: '50vh' }} />
116 <h1>{intl.formatMessage(messages.welcome)}</h1> 141 <h1>{intl.formatMessage(messages.welcome)}</h1>
142 { !isLoggedIn && (
143 <>
144 <p>{intl.formatMessage(messages.login)}</p>
145 <p>{intl.formatMessage(messages.serverInfo)}</p>
146 </>
147 ) }
117 <Appear 148 <Appear
118 timeout={300} 149 timeout={300}
119 transitionName="slideUp" 150 transitionName="slideUp"
120 > 151 >
121 <Link to="/settings/recipes" className="button"> 152 <Link to={isLoggedIn ? '/settings/services' : '/auth/welcome'} className="button">
122 {intl.formatMessage(messages.getStarted)} 153 { isLoggedIn ? intl.formatMessage(messages.getStarted) : 'Login' }
123 </Link> 154 </Link>
155 {!isLoggedIn && (
156 <button
157 type="button"
158 className="button"
159 style={{
160 marginLeft: 10,
161 }}
162 onClick={this.useLocalServer}
163 >
164 {intl.formatMessage(messages.serverless)}
165 </button>
166 )}
124 </Appear> 167 </Appear>
125 </div> 168 </div>
126 </Appear> 169 </Appear>
diff --git a/src/components/services/tabs/TabItem.js b/src/components/services/tabs/TabItem.js
index 8de7dc438..36338a910 100644
--- a/src/components/services/tabs/TabItem.js
+++ b/src/components/services/tabs/TabItem.js
@@ -145,6 +145,11 @@ class TabItem extends Component {
145 145
146 </span> 146 </span>
147 )} 147 )}
148 {service.isHibernating && (
149 <span className="tab-item__message-count hibernating">
150
151 </span>
152 )}
148 </span> 153 </span>
149 ); 154 );
150 } 155 }
diff --git a/src/components/settings/account/AccountDashboard.js b/src/components/settings/account/AccountDashboard.js
index b4ff072ab..83dc34a52 100644
--- a/src/components/settings/account/AccountDashboard.js
+++ b/src/components/settings/account/AccountDashboard.js
@@ -69,7 +69,7 @@ const messages = defineMessages({
69 }, 69 },
70 deleteInfo: { 70 deleteInfo: {
71 id: 'settings.account.deleteInfo', 71 id: 'settings.account.deleteInfo',
72 defaultMessage: '!!!If you don\'t need your Franz account any longer, you can delete your account and all related data here.', 72 defaultMessage: '!!!If you don\'t need your Ferdi account any longer, you can delete your account and all related data here.',
73 }, 73 },
74 deleteEmailSent: { 74 deleteEmailSent: {
75 id: 'settings.account.deleteEmailSent', 75 id: 'settings.account.deleteEmailSent',
diff --git a/src/components/settings/navigation/SettingsNavigation.js b/src/components/settings/navigation/SettingsNavigation.js
index 4696b82eb..192cfde7a 100644
--- a/src/components/settings/navigation/SettingsNavigation.js
+++ b/src/components/settings/navigation/SettingsNavigation.js
@@ -3,10 +3,13 @@ import PropTypes from 'prop-types';
3import { defineMessages, intlShape } from 'react-intl'; 3import { defineMessages, intlShape } from 'react-intl';
4import { inject, observer } from 'mobx-react'; 4import { inject, observer } from 'mobx-react';
5import { ProBadge } from '@meetfranz/ui'; 5import { ProBadge } from '@meetfranz/ui';
6import { RouterStore } from 'mobx-react-router';
6 7
8import { LOCAL_SERVER, LIVE_API } from '../../../config';
7import Link from '../../ui/Link'; 9import Link from '../../ui/Link';
8import { workspaceStore } from '../../../features/workspaces'; 10import { workspaceStore } from '../../../features/workspaces';
9import UIStore from '../../../stores/UIStore'; 11import UIStore from '../../../stores/UIStore';
12import SettingsStore from '../../../stores/SettingsStore';
10import UserStore from '../../../stores/UserStore'; 13import UserStore from '../../../stores/UserStore';
11import { serviceLimitStore } from '../../../features/serviceLimit'; 14import { serviceLimitStore } from '../../../features/serviceLimit';
12 15
@@ -35,9 +38,9 @@ const messages = defineMessages({
35 id: 'settings.navigation.settings', 38 id: 'settings.navigation.settings',
36 defaultMessage: '!!!Settings', 39 defaultMessage: '!!!Settings',
37 }, 40 },
38 inviteFriends: { 41 supportFerdi: {
39 id: 'settings.navigation.inviteFriends', 42 id: 'settings.navigation.supportFerdi',
40 defaultMessage: '!!!Invite Friends', 43 defaultMessage: '!!!Support Ferdi',
41 }, 44 },
42 logout: { 45 logout: {
43 id: 'settings.navigation.logout', 46 id: 'settings.navigation.logout',
@@ -45,11 +48,18 @@ const messages = defineMessages({
45 }, 48 },
46}); 49});
47 50
48export default @inject('stores') @observer class SettingsNavigation extends Component { 51export default @inject('stores', 'actions') @observer class SettingsNavigation extends Component {
49 static propTypes = { 52 static propTypes = {
50 stores: PropTypes.shape({ 53 stores: PropTypes.shape({
51 ui: PropTypes.instanceOf(UIStore).isRequired, 54 ui: PropTypes.instanceOf(UIStore).isRequired,
52 user: PropTypes.instanceOf(UserStore).isRequired, 55 user: PropTypes.instanceOf(UserStore).isRequired,
56 settings: PropTypes.instanceOf(SettingsStore).isRequired,
57 router: PropTypes.instanceOf(RouterStore).isRequired,
58 }).isRequired,
59 actions: PropTypes.shape({
60 settings: PropTypes.shape({
61 update: PropTypes.func.isRequired,
62 }).isRequired,
53 }).isRequired, 63 }).isRequired,
54 serviceCount: PropTypes.number.isRequired, 64 serviceCount: PropTypes.number.isRequired,
55 workspaceCount: PropTypes.number.isRequired, 65 workspaceCount: PropTypes.number.isRequired,
@@ -59,11 +69,42 @@ export default @inject('stores') @observer class SettingsNavigation extends Comp
59 intl: intlShape, 69 intl: intlShape,
60 }; 70 };
61 71
72 handleLoginLogout() {
73 const isLoggedIn = Boolean(localStorage.getItem('authToken'));
74 const isUsingWithoutAccount = this.props.stores.settings.app.server === LOCAL_SERVER;
75
76 if (isLoggedIn) {
77 // Remove current auth token
78 localStorage.removeItem('authToken');
79
80 if (isUsingWithoutAccount) {
81 // Reset server back to Ferdi API
82 this.props.actions.settings.update({
83 type: 'app',
84 data: {
85 server: LIVE_API,
86 },
87 });
88 }
89 this.props.stores.user.isLoggingOut = true;
90 }
91
92 this.props.stores.router.push(isLoggedIn ? '/auth/logout' : '/auth/welcome');
93
94 if (isLoggedIn) {
95 // Reload Ferdi, otherwise many settings won't sync correctly with the server
96 // after logging into another account
97 window.location.reload();
98 }
99 }
100
62 render() { 101 render() {
63 const { serviceCount, workspaceCount, stores } = this.props; 102 const { serviceCount, workspaceCount, stores } = this.props;
64 const { isDarkThemeActive } = stores.ui; 103 const { isDarkThemeActive } = stores.ui;
65 const { router, user } = stores; 104 const { router, user } = stores;
66 const { intl } = this.context; 105 const { intl } = this.context;
106 const isLoggedIn = Boolean(localStorage.getItem('authToken'));
107 const isUsingWithoutAccount = stores.settings.app.server === LOCAL_SERVER;
67 108
68 return ( 109 return (
69 <div className="settings-navigation"> 110 <div className="settings-navigation">
@@ -128,19 +169,21 @@ export default @inject('stores') @observer class SettingsNavigation extends Comp
128 {intl.formatMessage(messages.settings)} 169 {intl.formatMessage(messages.settings)}
129 </Link> 170 </Link>
130 <Link 171 <Link
131 to="/settings/invite" 172 to="/settings/support"
132 className="settings-navigation__link" 173 className="settings-navigation__link"
133 activeClassName="is-active" 174 activeClassName="is-active"
134 > 175 >
135 {intl.formatMessage(messages.inviteFriends)} 176 {intl.formatMessage(messages.supportFerdi)}
136 </Link> 177 </Link>
137 <span className="settings-navigation__expander" /> 178 <span className="settings-navigation__expander" />
138 <Link 179 <button
139 to="/auth/logout" 180 type="button"
181 to={isLoggedIn ? '/auth/logout' : '/auth/welcome'}
140 className="settings-navigation__link" 182 className="settings-navigation__link"
183 onClick={this.handleLoginLogout.bind(this)}
141 > 184 >
142 {intl.formatMessage(messages.logout)} 185 { isLoggedIn && !isUsingWithoutAccount ? intl.formatMessage(messages.logout) : 'Login'}
143 </Link> 186 </button>
144 </div> 187 </div>
145 ); 188 );
146 } 189 }
diff --git a/src/components/settings/services/EditServiceForm.js b/src/components/settings/services/EditServiceForm.js
index 5cde0db8e..fa34ac60b 100644
--- a/src/components/settings/services/EditServiceForm.js
+++ b/src/components/settings/services/EditServiceForm.js
@@ -29,6 +29,10 @@ const messages = defineMessages({
29 id: 'settings.service.form.deleteButton', 29 id: 'settings.service.form.deleteButton',
30 defaultMessage: '!!!Delete Service', 30 defaultMessage: '!!!Delete Service',
31 }, 31 },
32 openDarkmodeCss: {
33 id: 'settings.service.form.openDarkmodeCss',
34 defaultMessage: '!!!Open darkmode.css',
35 },
32 availableServices: { 36 availableServices: {
33 id: 'settings.service.form.availableServices', 37 id: 'settings.service.form.availableServices',
34 defaultMessage: '!!!Available services', 38 defaultMessage: '!!!Available services',
@@ -63,7 +67,7 @@ const messages = defineMessages({
63 }, 67 },
64 customUrlPremiumInfo: { 68 customUrlPremiumInfo: {
65 id: 'settings.service.form.customUrlPremiumInfo', 69 id: 'settings.service.form.customUrlPremiumInfo',
66 defaultMessage: '!!!To add self hosted services, you need a Franz Premium Supporter Account.', 70 defaultMessage: '!!!To add self hosted services, you need a Ferdi Premium Supporter Account.',
67 }, 71 },
68 customUrlUpgradeAccount: { 72 customUrlUpgradeAccount: {
69 id: 'settings.service.form.customUrlUpgradeAccount', 73 id: 'settings.service.form.customUrlUpgradeAccount',
@@ -103,11 +107,11 @@ const messages = defineMessages({
103 }, 107 },
104 proxyRestartInfo: { 108 proxyRestartInfo: {
105 id: 'settings.service.form.proxy.restartInfo', 109 id: 'settings.service.form.proxy.restartInfo',
106 defaultMessage: '!!!Please restart Franz after changing proxy Settings.', 110 defaultMessage: '!!!Please restart Ferdi after changing proxy Settings.',
107 }, 111 },
108 proxyInfo: { 112 proxyInfo: {
109 id: 'settings.service.form.proxy.info', 113 id: 'settings.service.form.proxy.info',
110 defaultMessage: '!!!Proxy settings will not be synchronized with the Franz servers.', 114 defaultMessage: '!!!Proxy settings will not be synchronized with the Ferdi servers.',
111 }, 115 },
112}); 116});
113 117
@@ -127,6 +131,8 @@ export default @observer class EditServiceForm extends Component {
127 form: PropTypes.instanceOf(Form).isRequired, 131 form: PropTypes.instanceOf(Form).isRequired,
128 onSubmit: PropTypes.func.isRequired, 132 onSubmit: PropTypes.func.isRequired,
129 onDelete: PropTypes.func.isRequired, 133 onDelete: PropTypes.func.isRequired,
134 openDarkmodeCss: PropTypes.func.isRequired,
135 isOpeningDarkModeCss: PropTypes.bool.isRequired,
130 isSaving: PropTypes.bool.isRequired, 136 isSaving: PropTypes.bool.isRequired,
131 isDeleting: PropTypes.bool.isRequired, 137 isDeleting: PropTypes.bool.isRequired,
132 isProxyFeatureEnabled: PropTypes.bool.isRequired, 138 isProxyFeatureEnabled: PropTypes.bool.isRequired,
@@ -155,7 +161,7 @@ export default @observer class EditServiceForm extends Component {
155 const values = form.values(); 161 const values = form.values();
156 let isValid = true; 162 let isValid = true;
157 163
158 const files = form.$('customIcon').files; 164 const { files } = form.$('customIcon');
159 if (files) { 165 if (files) {
160 values.iconFile = files[0]; 166 values.iconFile = files[0];
161 } 167 }
@@ -193,6 +199,8 @@ export default @observer class EditServiceForm extends Component {
193 isSaving, 199 isSaving,
194 isDeleting, 200 isDeleting,
195 onDelete, 201 onDelete,
202 openDarkmodeCss,
203 isOpeningDarkModeCss,
196 isProxyFeatureEnabled, 204 isProxyFeatureEnabled,
197 isServiceProxyIncludedInCurrentPlan, 205 isServiceProxyIncludedInCurrentPlan,
198 isSpellcheckerIncludedInCurrentPlan, 206 isSpellcheckerIncludedInCurrentPlan,
@@ -218,6 +226,23 @@ export default @observer class EditServiceForm extends Component {
218 /> 226 />
219 ); 227 );
220 228
229 const openDarkmodeCssButton = isOpeningDarkModeCss ? (
230 <Button
231 label={intl.formatMessage(messages.openDarkmodeCss)}
232 loaded={false}
233 buttonType="secondary"
234 className="settings__open-dark-mode-button"
235 disabled
236 />
237 ) : (
238 <Button
239 buttonType="secondary"
240 label={intl.formatMessage(messages.openDarkmodeCss)}
241 className="settings__open-dark-mode-button"
242 onClick={openDarkmodeCss}
243 />
244 );
245
221 let activeTabIndex = 0; 246 let activeTabIndex = 0;
222 if (recipe.hasHostedOption && service.team) { 247 if (recipe.hasHostedOption && service.team) {
223 activeTabIndex = 1; 248 activeTabIndex = 1;
@@ -303,6 +328,18 @@ export default @observer class EditServiceForm extends Component {
303 )} 328 )}
304 </Tabs> 329 </Tabs>
305 )} 330 )}
331
332 {recipe.message && (
333 <p
334 className="settings__message"
335 style={{
336 marginTop: 0,
337 }}
338 >
339 <span className="mdi mdi-information" />
340 {recipe.message}
341 </p>
342 )}
306 <div className="service-flex-grid"> 343 <div className="service-flex-grid">
307 <div className="settings__options"> 344 <div className="settings__options">
308 <div className="settings__settings-group"> 345 <div className="settings__settings-group">
@@ -329,9 +366,7 @@ export default @observer class EditServiceForm extends Component {
329 366
330 <div className="settings__settings-group"> 367 <div className="settings__settings-group">
331 <h3>{intl.formatMessage(messages.headlineGeneral)}</h3> 368 <h3>{intl.formatMessage(messages.headlineGeneral)}</h3>
332 {recipe.hasDarkMode && ( 369 <Toggle field={form.$('isDarkModeEnabled')} />
333 <Toggle field={form.$('isDarkModeEnabled')} />
334 )}
335 <Toggle field={form.$('isEnabled')} /> 370 <Toggle field={form.$('isEnabled')} />
336 </div> 371 </div>
337 </div> 372 </div>
@@ -394,18 +429,12 @@ export default @observer class EditServiceForm extends Component {
394 </div> 429 </div>
395 </PremiumFeatureContainer> 430 </PremiumFeatureContainer>
396 )} 431 )}
397
398 {recipe.message && (
399 <p className="settings__message">
400 <span className="mdi mdi-information" />
401 {recipe.message}
402 </p>
403 )}
404 </form> 432 </form>
405 </div> 433 </div>
406 <div className="settings__controls"> 434 <div className="settings__controls">
407 {/* Delete Button */} 435 {/* Delete Button */}
408 {action === 'edit' && deleteButton} 436 {action === 'edit' && deleteButton}
437 {action === 'edit' && openDarkmodeCssButton}
409 438
410 {/* Save Button */} 439 {/* Save Button */}
411 {isSaving || isValidatingCustomUrl ? ( 440 {isSaving || isValidatingCustomUrl ? (
diff --git a/src/components/settings/settings/EditSettingsForm.js b/src/components/settings/settings/EditSettingsForm.js
index 0b69f7514..2be5c4ed7 100644
--- a/src/components/settings/settings/EditSettingsForm.js
+++ b/src/components/settings/settings/EditSettingsForm.js
@@ -9,9 +9,19 @@ import Button from '../../ui/Button';
9import Toggle from '../../ui/Toggle'; 9import Toggle from '../../ui/Toggle';
10import Select from '../../ui/Select'; 10import Select from '../../ui/Select';
11import PremiumFeatureContainer from '../../ui/PremiumFeatureContainer'; 11import PremiumFeatureContainer from '../../ui/PremiumFeatureContainer';
12import Input from '../../ui/Input';
12 13
13import { FRANZ_TRANSLATION } from '../../../config'; 14import { FRANZ_TRANSLATION } from '../../../config';
14 15
16function escapeHtml(unsafe) {
17 return unsafe
18 .replace(/&/g, '&amp;')
19 .replace(/</g, '&lt;')
20 .replace(/>/g, '&gt;')
21 .replace(/"/g, '&quot;')
22 .replace(/'/g, '&#039;');
23}
24
15const messages = defineMessages({ 25const messages = defineMessages({
16 headline: { 26 headline: {
17 id: 'settings.app.headline', 27 id: 'settings.app.headline',
@@ -21,6 +31,42 @@ const messages = defineMessages({
21 id: 'settings.app.headlineGeneral', 31 id: 'settings.app.headlineGeneral',
22 defaultMessage: '!!!General', 32 defaultMessage: '!!!General',
23 }, 33 },
34 hibernateInfo: {
35 id: 'settings.app.hibernateInfo',
36 defaultMessage: '!!!By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.',
37 },
38 serverInfo: {
39 id: 'settings.app.serverInfo',
40 defaultMessage: '!!!We advice you to logout after changing your server as your settings might not be saved otherwise.',
41 },
42 serverMoneyInfo: {
43 id: 'settings.app.serverMoneyInfo',
44 defaultMessage: '!!!You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz\'s server resources - which Franz\'s creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz\'s recipe store, server resources and its development.',
45 },
46 todoServerInfo: {
47 id: 'settings.app.todoServerInfo',
48 defaultMessage: '!!!This server will be used for the "Franz Todo" feature. (default: https://app.franztodos.com)',
49 },
50 lockedPassword: {
51 id: 'settings.app.lockedPassword',
52 defaultMessage: '!!!Ferdi Lock Password',
53 },
54 lockedPasswordInfo: {
55 id: 'settings.app.lockedPasswordInfo',
56 defaultMessage: '!!!Please make sure to set a password you\'ll remember.\nIf you loose this password, you will have to reinstall Ferdi.',
57 },
58 lockInfo: {
59 id: 'settings.app.lockInfo',
60 defaultMessage: '!!!Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.',
61 },
62 scheduledDNDTimeInfo: {
63 id: 'settings.app.scheduledDNDTimeInfo',
64 defaultMessage: '!!!Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.',
65 },
66 scheduledDNDInfo: {
67 id: 'settings.app.scheduledDNDInfo',
68 defaultMessage: '!!!Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.',
69 },
24 headlineLanguage: { 70 headlineLanguage: {
25 id: 'settings.app.headlineLanguage', 71 id: 'settings.app.headlineLanguage',
26 defaultMessage: '!!!Language', 72 defaultMessage: '!!!Language',
@@ -33,13 +79,21 @@ const messages = defineMessages({
33 id: 'settings.app.headlineAppearance', 79 id: 'settings.app.headlineAppearance',
34 defaultMessage: '!!!Appearance', 80 defaultMessage: '!!!Appearance',
35 }, 81 },
82 universalDarkModeInfo: {
83 id: 'settings.app.universalDarkModeInfo',
84 defaultMessage: '!!!Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.',
85 },
86 accentColorInfo: {
87 id: 'settings.app.accentColorInfo',
88 defaultMessage: '!!!Write your accent color in a CSS-compatible format. (Default: #7367f0)',
89 },
36 headlineAdvanced: { 90 headlineAdvanced: {
37 id: 'settings.app.headlineAdvanced', 91 id: 'settings.app.headlineAdvanced',
38 defaultMessage: '!!!Advanced', 92 defaultMessage: '!!!Advanced',
39 }, 93 },
40 translationHelp: { 94 translationHelp: {
41 id: 'settings.app.translationHelp', 95 id: 'settings.app.translationHelp',
42 defaultMessage: '!!!Help us to translate Franz into your language.', 96 defaultMessage: '!!!Help us to translate Ferdi into your language.',
43 }, 97 },
44 subheadlineCache: { 98 subheadlineCache: {
45 id: 'settings.app.subheadlineCache', 99 id: 'settings.app.subheadlineCache',
@@ -47,7 +101,7 @@ const messages = defineMessages({
47 }, 101 },
48 cacheInfo: { 102 cacheInfo: {
49 id: 'settings.app.cacheInfo', 103 id: 'settings.app.cacheInfo',
50 defaultMessage: '!!!Franz cache is currently using {size} of disk space.', 104 defaultMessage: '!!!Ferdi cache is currently using {size} of disk space.',
51 }, 105 },
52 buttonClearAllCache: { 106 buttonClearAllCache: {
53 id: 'settings.app.buttonClearAllCache', 107 id: 'settings.app.buttonClearAllCache',
@@ -71,7 +125,7 @@ const messages = defineMessages({
71 }, 125 },
72 updateStatusUpToDate: { 126 updateStatusUpToDate: {
73 id: 'settings.app.updateStatusUpToDate', 127 id: 'settings.app.updateStatusUpToDate',
74 defaultMessage: '!!!You are using the latest version of Franz', 128 defaultMessage: '!!!You are using the latest version of Ferdi',
75 }, 129 },
76 currentVersion: { 130 currentVersion: {
77 id: 'settings.app.currentVersion', 131 id: 'settings.app.currentVersion',
@@ -103,6 +157,11 @@ export default @observer class EditSettingsForm extends Component {
103 isSpellcheckerIncludedInCurrentPlan: PropTypes.bool.isRequired, 157 isSpellcheckerIncludedInCurrentPlan: PropTypes.bool.isRequired,
104 isTodosEnabled: PropTypes.bool.isRequired, 158 isTodosEnabled: PropTypes.bool.isRequired,
105 isWorkspaceEnabled: PropTypes.bool.isRequired, 159 isWorkspaceEnabled: PropTypes.bool.isRequired,
160 server: PropTypes.string.isRequired,
161 noUpdates: PropTypes.bool.isRequired,
162 hibernationEnabled: PropTypes.bool.isRequired,
163 isDarkmodeEnabled: PropTypes.bool.isRequired,
164 openProcessManager: PropTypes.func.isRequired,
106 }; 165 };
107 166
108 static contextTypes = { 167 static contextTypes = {
@@ -135,6 +194,11 @@ export default @observer class EditSettingsForm extends Component {
135 isSpellcheckerIncludedInCurrentPlan, 194 isSpellcheckerIncludedInCurrentPlan,
136 isTodosEnabled, 195 isTodosEnabled,
137 isWorkspaceEnabled, 196 isWorkspaceEnabled,
197 server,
198 noUpdates,
199 hibernationEnabled,
200 isDarkmodeEnabled,
201 openProcessManager,
138 } = this.props; 202 } = this.props;
139 const { intl } = this.context; 203 const { intl } = this.context;
140 204
@@ -147,6 +211,13 @@ export default @observer class EditSettingsForm extends Component {
147 updateButtonLabelMessage = messages.buttonSearchForUpdate; 211 updateButtonLabelMessage = messages.buttonSearchForUpdate;
148 } 212 }
149 213
214 const isLoggedIn = Boolean(localStorage.getItem('authToken'));
215
216 const {
217 lockingFeatureEnabled,
218 scheduledDNDEnabled,
219 } = window.ferdi.stores.settings.all.app;
220
150 return ( 221 return (
151 <div className="settings__main"> 222 <div className="settings__main">
152 <div className="settings__header"> 223 <div className="settings__header">
@@ -163,21 +234,177 @@ export default @observer class EditSettingsForm extends Component {
163 <Toggle field={form.$('autoLaunchOnStart')} /> 234 <Toggle field={form.$('autoLaunchOnStart')} />
164 <Toggle field={form.$('runInBackground')} /> 235 <Toggle field={form.$('runInBackground')} />
165 <Toggle field={form.$('enableSystemTray')} /> 236 <Toggle field={form.$('enableSystemTray')} />
237 <Toggle field={form.$('privateNotifications')} />
238 <Toggle field={form.$('showServiceNavigationBar')} />
239 <Toggle field={form.$('hibernate')} />
240 {hibernationEnabled && (
241 <Select field={form.$('hibernationStrategy')} />
242 )}
243 <p
244 className="settings__message"
245 style={{
246 borderTop: 0, marginTop: 0, paddingTop: 0, marginBottom: '2rem',
247 }}
248 >
249 <span>
250 { intl.formatMessage(messages.hibernateInfo) }
251 </span>
252 </p>
166 {process.platform === 'win32' && ( 253 {process.platform === 'win32' && (
167 <Toggle field={form.$('minimizeToSystemTray')} /> 254 <Toggle field={form.$('minimizeToSystemTray')} />
168 )} 255 )}
256 <Input
257 placeholder="Server"
258 onChange={e => this.submit(e)}
259 field={form.$('server')}
260 autoFocus
261 />
262 {isLoggedIn && (
263 <p>{ intl.formatMessage(messages.serverInfo) }</p>
264 )}
265 {server === 'https://api.franzinfra.com' && (
266 <p
267 className="settings__message"
268 style={{
269 borderTop: 0, marginTop: 0, paddingTop: 0, marginBottom: '2rem',
270 }}
271 >
272 <span
273 dangerouslySetInnerHTML={{
274 __html:
275 // Needed to make links work
276 escapeHtml(
277 intl.formatMessage(messages.serverMoneyInfo),
278 ).replace('[Link 1]', '<a href="https://www.meetfranz.com/pricing" target="_blank">')
279 .replace('[Link 2]', '<a href="https://github.com/getferdi/server" target="_blank">')
280 .replace(/\[\/Link]/g, '</a>'),
281 }}
282 style={{
283 whiteSpace: 'pre-wrap',
284 }}
285 />
286 </p>
287 )}
169 {isWorkspaceEnabled && ( 288 {isWorkspaceEnabled && (
170 <Toggle field={form.$('keepAllWorkspacesLoaded')} /> 289 <Toggle field={form.$('keepAllWorkspacesLoaded')} />
171 )} 290 )}
172 {isTodosEnabled && ( 291 {isTodosEnabled && (
173 <Toggle field={form.$('enableTodos')} /> 292 <>
293 <Toggle field={form.$('enableTodos')} />
294 <Input
295 placeholder="Todo Server"
296 onChange={e => this.submit(e)}
297 field={form.$('todoServer')}
298 />
299 <p>{ intl.formatMessage(messages.todoServerInfo) }</p>
300 </>
174 )} 301 )}
175 302
303 <Toggle field={form.$('lockingFeatureEnabled')} />
304 {lockingFeatureEnabled && (
305 <>
306 <Input
307 placeholder={intl.formatMessage(messages.lockedPassword)}
308 onChange={e => this.submit(e)}
309 field={form.$('lockedPassword')}
310 type="password"
311 scorePassword
312 showPasswordToggle
313 />
314 <p>
315 { intl.formatMessage(messages.lockedPasswordInfo) }
316 </p>
317 </>
318 )}
319 <p
320 className="settings__message"
321 style={{
322 borderTop: 0, marginTop: 0, paddingTop: 0, marginBottom: '2rem',
323 }}
324 >
325 <span>
326 { intl.formatMessage(messages.lockInfo) }
327 </span>
328 </p>
329
330
331 <Toggle field={form.$('scheduledDNDEnabled')} />
332 {scheduledDNDEnabled && (
333 <>
334 <div style={{
335 display: 'flex',
336 justifyContent: 'center',
337 }}
338 >
339 <div style={{
340 padding: '0 1rem',
341 width: '100%',
342 }}
343 >
344 <Input
345 placeholder="17:00"
346 onChange={e => this.submit(e)}
347 field={form.$('scheduledDNDStart')}
348 type="time"
349 />
350 </div>
351 <div style={{
352 padding: '0 1rem',
353 width: '100%',
354 }}
355 >
356 <Input
357 placeholder="09:00"
358 onChange={e => this.submit(e)}
359 field={form.$('scheduledDNDEnd')}
360 type="time"
361 />
362 </div>
363 </div>
364 <p>
365 { intl.formatMessage(messages.scheduledDNDTimeInfo) }
366 </p>
367 </>
368 )}
369 <p
370 className="settings__message"
371 style={{
372 borderTop: 0, marginTop: 0, paddingTop: 0, marginBottom: '2rem',
373 }}
374 >
375 <span>
376 { intl.formatMessage(messages.scheduledDNDInfo) }
377 </span>
378 </p>
379
380
176 {/* Appearance */} 381 {/* Appearance */}
177 <h2 id="apperance">{intl.formatMessage(messages.headlineAppearance)}</h2> 382 <h2 id="apperance">{intl.formatMessage(messages.headlineAppearance)}</h2>
178 <Toggle field={form.$('showDisabledServices')} /> 383 <Toggle field={form.$('showDisabledServices')} />
179 <Toggle field={form.$('showMessageBadgeWhenMuted')} /> 384 <Toggle field={form.$('showMessageBadgeWhenMuted')} />
180 <Toggle field={form.$('darkMode')} /> 385 <Toggle field={form.$('darkMode')} />
386 {isDarkmodeEnabled && (
387 <>
388 <Toggle field={form.$('universalDarkMode')} />
389 <p
390 className="settings__message"
391 style={{
392 borderTop: 0, marginTop: 0, paddingTop: 0, marginBottom: '2rem',
393 }}
394 >
395 <span>
396 { intl.formatMessage(messages.universalDarkModeInfo) }
397 </span>
398 </p>
399 </>
400 )}
401
402 <Input
403 placeholder="Accent Color"
404 onChange={e => this.submit(e)}
405 field={form.$('accentColor')}
406 />
407 <p>{intl.formatMessage(messages.accentColorInfo)}</p>
181 408
182 {/* Language */} 409 {/* Language */}
183 <h2 id="language">{intl.formatMessage(messages.headlineLanguage)}</h2> 410 <h2 id="language">{intl.formatMessage(messages.headlineLanguage)}</h2>
@@ -227,6 +454,16 @@ export default @observer class EditSettingsForm extends Component {
227 loaded={!isClearingAllCache} 454 loaded={!isClearingAllCache}
228 /> 455 />
229 </p> 456 </p>
457 <div style={{
458 marginTop: 20,
459 }}
460 >
461 <Button
462 buttonType="secondary"
463 label="Open Process Manager"
464 onClick={openProcessManager}
465 />
466 </div>
230 </div> 467 </div>
231 468
232 {/* Updates */} 469 {/* Updates */}
@@ -241,7 +478,7 @@ export default @observer class EditSettingsForm extends Component {
241 buttonType="secondary" 478 buttonType="secondary"
242 label={intl.formatMessage(updateButtonLabelMessage)} 479 label={intl.formatMessage(updateButtonLabelMessage)}
243 onClick={checkForUpdates} 480 onClick={checkForUpdates}
244 disabled={isCheckingForUpdates || isUpdateAvailable} 481 disabled={noUpdates || isCheckingForUpdates || isUpdateAvailable}
245 loaded={!isCheckingForUpdates || !isUpdateAvailable} 482 loaded={!isCheckingForUpdates || !isUpdateAvailable}
246 /> 483 />
247 )} 484 )}
@@ -250,6 +487,7 @@ export default @observer class EditSettingsForm extends Component {
250 )} 487 )}
251 <br /> 488 <br />
252 <Toggle field={form.$('beta')} /> 489 <Toggle field={form.$('beta')} />
490 <Toggle field={form.$('noUpdates')} />
253 {intl.formatMessage(messages.currentVersion)} 491 {intl.formatMessage(messages.currentVersion)}
254 {' '} 492 {' '}
255 {remote.app.getVersion()} 493 {remote.app.getVersion()}
@@ -257,6 +495,18 @@ export default @observer class EditSettingsForm extends Component {
257 <span className="mdi mdi-information" /> 495 <span className="mdi mdi-information" />
258 {intl.formatMessage(messages.languageDisclaimer)} 496 {intl.formatMessage(messages.languageDisclaimer)}
259 </p> 497 </p>
498 <p className="settings__message">
499 <span className="mdi mdi-github-face" />
500 <span>
501 Ferdi is based on
502 {' '}
503 <a href="https://github.com/meetfranz/franz" target="_blank">Franz</a>
504 , a project published
505 under the
506 {' '}
507 <a href="https://github.com/meetfranz/franz/blob/master/LICENSE" target="_blank">Apache-2.0 License</a>
508 </span>
509 </p>
260 </form> 510 </form>
261 </div> 511 </div>
262 </div> 512 </div>
diff --git a/src/components/settings/supportFerdi/SupportFerdiDashboard.js b/src/components/settings/supportFerdi/SupportFerdiDashboard.js
new file mode 100644
index 000000000..57920a4a2
--- /dev/null
+++ b/src/components/settings/supportFerdi/SupportFerdiDashboard.js
@@ -0,0 +1,73 @@
1import React, { Component } from 'react';
2import PropTypes from 'prop-types';
3import { defineMessages, intlShape } from 'react-intl';
4
5import Button from '../../ui/Button';
6
7const messages = defineMessages({
8 headline: {
9 id: 'settings.supportFerdi.headline',
10 defaultMessage: '!!!Support Ferdi',
11 },
12 title: {
13 id: 'settings.supportFerdi.title',
14 defaultMessage: '!!!Do you like Ferdi? Spread the love!',
15 },
16 github: {
17 id: 'settings.supportFerdi.github',
18 defaultMessage: '!!!Star on GitHub',
19 },
20 share: {
21 id: 'settings.supportFerdi.share',
22 defaultMessage: '!!!Tell your Friends',
23 },
24 openCollective: {
25 id: 'settings.supportFerdi.openCollective',
26 defaultMessage: '!!!Support our Open Collective',
27 },
28});
29
30class SupportFerdiDashboard extends Component {
31 static contextTypes = {
32 intl: intlShape,
33 };
34
35 static propTypes = {
36 openLink: PropTypes.func.isRequired,
37 };
38
39 render() {
40 const { openLink } = this.props;
41 const { intl } = this.context;
42
43 return (
44 <div className="settings__main">
45 <div className="settings__header">
46 <span className="settings__header-item">
47 {intl.formatMessage(messages.headline)}
48 </span>
49 </div>
50 <div className="settings__body">
51 <h1>{intl.formatMessage(messages.title)}</h1>
52 <Button
53 label={intl.formatMessage(messages.github)}
54 className="franz-form__button--inverted franz-form__button--large"
55 onClick={() => openLink('https://github.com/getferdi/ferdi')}
56 />
57 <Button
58 label={intl.formatMessage(messages.share)}
59 className="franz-form__button--inverted franz-form__button--large"
60 onClick={() => openLink('https://twitter.com/intent/tweet?text=Ferdi%3A%20A%20messaging%20browser%20that%20allows%20you%20to%20combine%20your%20favourite%20messaging%20services%20into%20one%20application.%0A%0ACheck%20out%20Ferdi%20at%20https%3A//getferdi.com')}
61 />
62 <Button
63 label={intl.formatMessage(messages.openCollective)}
64 className="franz-form__button--inverted franz-form__button--large"
65 onClick={() => openLink('https://opencollective.com/getferdi')}
66 />
67 </div>
68 </div>
69 );
70 }
71}
72
73export default SupportFerdiDashboard;
diff --git a/src/components/settings/team/TeamDashboard.js b/src/components/settings/team/TeamDashboard.js
index 366b0113a..7e6d93997 100644
--- a/src/components/settings/team/TeamDashboard.js
+++ b/src/components/settings/team/TeamDashboard.js
@@ -20,7 +20,7 @@ const messages = defineMessages({
20 }, 20 },
21 contentHeadline: { 21 contentHeadline: {
22 id: 'settings.team.contentHeadline', 22 id: 'settings.team.contentHeadline',
23 defaultMessage: '!!!Franz for Teams', 23 defaultMessage: '!!!Ferdi for Teams',
24 }, 24 },
25 intro: { 25 intro: {
26 id: 'settings.team.intro', 26 id: 'settings.team.intro',
@@ -28,7 +28,7 @@ const messages = defineMessages({
28 }, 28 },
29 copy: { 29 copy: {
30 id: 'settings.team.copy', 30 id: 'settings.team.copy',
31 defaultMessage: '!!!Franz for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!', 31 defaultMessage: '!!!Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!',
32 }, 32 },
33 manageButton: { 33 manageButton: {
34 id: 'settings.team.manageAction', 34 id: 'settings.team.manageAction',
@@ -38,6 +38,14 @@ const messages = defineMessages({
38 id: 'settings.team.upgradeAction', 38 id: 'settings.team.upgradeAction',
39 defaultMessage: '!!!Upgrade your Account', 39 defaultMessage: '!!!Upgrade your Account',
40 }, 40 },
41 teamsUnavailable: {
42 id: 'settings.team.teamsUnavailable',
43 defaultMessage: '!!!Teams are unavailable',
44 },
45 teamsUnavailableInfo: {
46 id: 'settings.team.teamsUnavailableInfo',
47 defaultMessage: '!!!Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.',
48 },
41}); 49});
42 50
43const styles = { 51const styles = {
@@ -98,6 +106,7 @@ export default @injectSheet(styles) @observer class TeamDashboard extends Compon
98 openTeamManagement: PropTypes.func.isRequired, 106 openTeamManagement: PropTypes.func.isRequired,
99 classes: PropTypes.object.isRequired, 107 classes: PropTypes.object.isRequired,
100 isProUser: PropTypes.bool.isRequired, 108 isProUser: PropTypes.bool.isRequired,
109 server: PropTypes.string.isRequired,
101 }; 110 };
102 111
103 static contextTypes = { 112 static contextTypes = {
@@ -112,9 +121,84 @@ export default @injectSheet(styles) @observer class TeamDashboard extends Compon
112 openTeamManagement, 121 openTeamManagement,
113 isProUser, 122 isProUser,
114 classes, 123 classes,
124 server,
115 } = this.props; 125 } = this.props;
116 const { intl } = this.context; 126 const { intl } = this.context;
117 127
128 if (server === 'https://api.franzinfra.com') {
129 return (
130 <div className="settings__main">
131 <div className="settings__header">
132 <span className="settings__header-item">
133 {intl.formatMessage(messages.headline)}
134 </span>
135 </div>
136 <div className="settings__body">
137 {isLoading && (
138 <Loader />
139 )}
140
141 {!isLoading && userInfoRequestFailed && (
142 <Infobox
143 icon="alert"
144 type="danger"
145 ctaLabel={intl.formatMessage(messages.tryReloadUserInfoRequest)}
146 ctaLoading={isLoading}
147 ctaOnClick={retryUserInfoRequest}
148 >
149 {intl.formatMessage(messages.userInfoRequestFailed)}
150 </Infobox>
151 )}
152
153 {!userInfoRequestFailed && (
154 <>
155 {!isLoading && (
156 <>
157 <>
158 <h1 className={classnames({
159 [classes.headline]: true,
160 [classes.headlineWithSpacing]: isProUser,
161 })}
162 >
163 {intl.formatMessage(messages.contentHeadline)}
164
165 </h1>
166 {!isProUser && (
167 <Badge className={classes.proRequired}>{intl.formatMessage(globalMessages.proRequired)}</Badge>
168 )}
169 <div className={classes.container}>
170 <div className={classes.content}>
171 <p>{intl.formatMessage(messages.intro)}</p>
172 <p>{intl.formatMessage(messages.copy)}</p>
173 </div>
174 <img className={classes.image} src="https://cdn.franzinfra.com/announcements/assets/teams.png" alt="Franz for Teams" />
175 </div>
176 <div className={classes.buttonContainer}>
177 {!isProUser ? (
178 <UpgradeButton
179 className={classes.cta}
180 gaEventInfo={{ category: 'Todos', event: 'upgrade' }}
181 requiresPro
182 short
183 />
184 ) : (
185 <Button
186 label={intl.formatMessage(messages.manageButton)}
187 onClick={openTeamManagement}
188 className={classes.cta}
189 />
190 )}
191 </div>
192 </>
193 </>
194 )}
195 </>
196 )}
197 </div>
198 <ReactTooltip place="right" type="dark" effect="solid" />
199 </div>
200 );
201 }
118 return ( 202 return (
119 <div className="settings__main"> 203 <div className="settings__main">
120 <div className="settings__header"> 204 <div className="settings__header">
@@ -123,68 +207,11 @@ export default @injectSheet(styles) @observer class TeamDashboard extends Compon
123 </span> 207 </span>
124 </div> 208 </div>
125 <div className="settings__body"> 209 <div className="settings__body">
126 {isLoading && ( 210 <h1 className={classes.headline}>
127 <Loader /> 211 {intl.formatMessage(messages.teamsUnavailable)}
128 )} 212 </h1>
129 213 {intl.formatMessage(messages.teamsUnavailableInfo)}
130 {!isLoading && userInfoRequestFailed && (
131 <Infobox
132 icon="alert"
133 type="danger"
134 ctaLabel={intl.formatMessage(messages.tryReloadUserInfoRequest)}
135 ctaLoading={isLoading}
136 ctaOnClick={retryUserInfoRequest}
137 >
138 {intl.formatMessage(messages.userInfoRequestFailed)}
139 </Infobox>
140 )}
141
142 {!userInfoRequestFailed && (
143 <>
144 {!isLoading && (
145 <>
146 <>
147 <h1 className={classnames({
148 [classes.headline]: true,
149 [classes.headlineWithSpacing]: isProUser,
150 })}
151 >
152 {intl.formatMessage(messages.contentHeadline)}
153
154 </h1>
155 {!isProUser && (
156 <Badge className={classes.proRequired}>{intl.formatMessage(globalMessages.proRequired)}</Badge>
157 )}
158 <div className={classes.container}>
159 <div className={classes.content}>
160 <p>{intl.formatMessage(messages.intro)}</p>
161 <p>{intl.formatMessage(messages.copy)}</p>
162 </div>
163 <img className={classes.image} src="https://cdn.franzinfra.com/announcements/assets/teams.png" alt="Franz for Teams" />
164 </div>
165 <div className={classes.buttonContainer}>
166 {!isProUser ? (
167 <UpgradeButton
168 className={classes.cta}
169 gaEventInfo={{ category: 'Todos', event: 'upgrade' }}
170 requiresPro
171 short
172 />
173 ) : (
174 <Button
175 label={intl.formatMessage(messages.manageButton)}
176 onClick={openTeamManagement}
177 className={classes.cta}
178 />
179 )}
180 </div>
181 </>
182 </>
183 )}
184 </>
185 )}
186 </div> 214 </div>
187 <ReactTooltip place="right" type="dark" effect="solid" />
188 </div> 215 </div>
189 ); 216 );
190 } 217 }
diff --git a/src/components/subscription/SubscriptionForm.js b/src/components/subscription/SubscriptionForm.js
index 5f268a322..ec486e5d0 100644
--- a/src/components/subscription/SubscriptionForm.js
+++ b/src/components/subscription/SubscriptionForm.js
@@ -35,7 +35,7 @@ const styles = () => ({
35 }, 35 },
36}); 36});
37 37
38export default @observer @injectSheet(styles) class SubscriptionForm extends Component { 38export default @injectSheet(styles) @observer class SubscriptionForm extends Component {
39 static propTypes = { 39 static propTypes = {
40 selectPlan: PropTypes.func.isRequired, 40 selectPlan: PropTypes.func.isRequired,
41 isActivatingTrial: PropTypes.bool.isRequired, 41 isActivatingTrial: PropTypes.bool.isRequired,
diff --git a/src/components/subscription/TrialForm.js b/src/components/subscription/TrialForm.js
index f3f3458f3..d61b779ed 100644
--- a/src/components/subscription/TrialForm.js
+++ b/src/components/subscription/TrialForm.js
@@ -57,7 +57,7 @@ const styles = theme => ({
57 }, 57 },
58}); 58});
59 59
60export default @observer @injectSheet(styles) class TrialForm extends Component { 60export default @injectSheet(styles) @observer class TrialForm extends Component {
61 static propTypes = { 61 static propTypes = {
62 activateTrial: PropTypes.func.isRequired, 62 activateTrial: PropTypes.func.isRequired,
63 isActivatingTrial: PropTypes.bool.isRequired, 63 isActivatingTrial: PropTypes.bool.isRequired,
diff --git a/src/components/ui/ActivateTrialButton/index.js b/src/components/ui/ActivateTrialButton/index.js
index e0637da90..340123c2f 100644
--- a/src/components/ui/ActivateTrialButton/index.js
+++ b/src/components/ui/ActivateTrialButton/index.js
@@ -5,7 +5,6 @@ import { defineMessages, intlShape } from 'react-intl';
5import classnames from 'classnames'; 5import classnames from 'classnames';
6 6
7import { Button } from '@meetfranz/forms'; 7import { Button } from '@meetfranz/forms';
8import { gaEvent } from '../../../lib/analytics';
9 8
10import UserStore from '../../../stores/UserStore'; 9import UserStore from '../../../stores/UserStore';
11 10
@@ -63,25 +62,9 @@ class ActivateTrialButton extends Component {
63 }; 62 };
64 63
65 handleCTAClick() { 64 handleCTAClick() {
66 const { actions, stores, gaEventInfo } = this.props; 65 const { actions } = this.props;
67 const { hadSubscription } = stores.user.data;
68 // const { defaultTrialPlan } = stores.features.features;
69
70 let label = '';
71 if (!hadSubscription) {
72 // actions.user.activateTrial({ planId: defaultTrialPlan });
73
74 label = 'Start Trial';
75 } else {
76 label = 'Upgrade Account';
77 }
78 66
79 actions.ui.openSettings({ path: 'user' }); 67 actions.ui.openSettings({ path: 'user' });
80
81 if (gaEventInfo) {
82 const { category, event } = gaEventInfo;
83 gaEvent(category, event, label);
84 }
85 } 68 }
86 69
87 render() { 70 render() {
diff --git a/src/components/ui/AppLoader/index.js b/src/components/ui/AppLoader/index.js
index b0c7fed7b..a7f6f4545 100644
--- a/src/components/ui/AppLoader/index.js
+++ b/src/components/ui/AppLoader/index.js
@@ -9,22 +9,26 @@ import { shuffleArray } from '../../../helpers/array-helpers';
9import styles from './styles'; 9import styles from './styles';
10 10
11const textList = shuffleArray([ 11const textList = shuffleArray([
12 'Looking for Sisi', 12 'Adding free features',
13 'Contacting the herald', 13 'Making application usable',
14 'Saddling the unicorn', 14 'Removing unproductive paywalls',
15 'Learning the Waltz', 15 'Creating custom server software',
16 'Visiting Horst & Grete', 16 'Increasing productivity',
17 'Twisting my moustache', 17 'Listening to our userbase',
18 'Playing the trumpet', 18 'Fixing bugs',
19 'Traveling through space & time',
20]); 19]);
21 20
22export default @injectSheet(styles) @withTheme class AppLoader extends Component { 21export default @injectSheet(styles) @withTheme class AppLoader extends Component {
23 static propTypes = { 22 static propTypes = {
24 classes: PropTypes.object.isRequired, 23 classes: PropTypes.object.isRequired,
25 theme: PropTypes.object.isRequired, 24 theme: PropTypes.object.isRequired,
25 texts: PropTypes.array,
26 }; 26 };
27 27
28 static defaultProps = {
29 texts: textList,
30 }
31
28 state = { 32 state = {
29 step: 0, 33 step: 0,
30 }; 34 };
@@ -44,16 +48,16 @@ export default @injectSheet(styles) @withTheme class AppLoader extends Component
44 } 48 }
45 49
46 render() { 50 render() {
47 const { classes, theme } = this.props; 51 const { classes, theme, texts } = this.props;
48 const { step } = this.state; 52 const { step } = this.state;
49 53
50 return ( 54 return (
51 <FullscreenLoader 55 <FullscreenLoader
52 title="Franz" 56 title="Ferdi"
53 className={classes.component} 57 className={classes.component}
54 spinnerColor={theme.colorAppLoaderSpinner} 58 spinnerColor={theme.colorAppLoaderSpinner}
55 > 59 >
56 {textList.map((text, i) => ( 60 {texts.map((text, i) => (
57 <span 61 <span
58 key={text} 62 key={text}
59 className={classnames({ 63 className={classnames({
diff --git a/src/components/ui/Button.js b/src/components/ui/Button.js
index ffc7f7051..5066b9c06 100644
--- a/src/components/ui/Button.js
+++ b/src/components/ui/Button.js
@@ -1,10 +1,10 @@
1import React, { Component } from 'react'; 1import React, { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer, inject } from 'mobx-react';
4import Loader from 'react-loader'; 4import Loader from 'react-loader';
5import classnames from 'classnames'; 5import classnames from 'classnames';
6 6
7export default @observer class Button extends Component { 7export default @inject('stores') @observer class Button extends Component {
8 static propTypes = { 8 static propTypes = {
9 className: PropTypes.string, 9 className: PropTypes.string,
10 label: PropTypes.string.isRequired, 10 label: PropTypes.string.isRequired,
@@ -14,12 +14,19 @@ export default @observer class Button extends Component {
14 buttonType: PropTypes.string, 14 buttonType: PropTypes.string,
15 loaded: PropTypes.bool, 15 loaded: PropTypes.bool,
16 htmlForm: PropTypes.string, 16 htmlForm: PropTypes.string,
17 stores: PropTypes.shape({
18 settings: PropTypes.shape({
19 app: PropTypes.shape({
20 accentColor: PropTypes.string.isRequired,
21 }).isRequired,
22 }).isRequired,
23 }).isRequired,
17 }; 24 };
18 25
19 static defaultProps = { 26 static defaultProps = {
20 className: null, 27 className: null,
21 disabled: false, 28 disabled: false,
22 onClick: () => {}, 29 onClick: () => { },
23 type: 'button', 30 type: 'button',
24 buttonType: '', 31 buttonType: '',
25 loaded: true, 32 loaded: true,
@@ -69,7 +76,7 @@ export default @observer class Button extends Component {
69 loaded={loaded} 76 loaded={loaded}
70 lines={10} 77 lines={10}
71 scale={0.4} 78 scale={0.4}
72 color={buttonType !== 'secondary' ? '#FFF' : '#373a3c'} 79 color={buttonType !== 'secondary' ? '#FFF' : this.props.stores.settings.app.accentColor}
73 component="span" 80 component="span"
74 /> 81 />
75 {label} 82 {label}
diff --git a/src/components/ui/FullscreenLoader/index.js b/src/components/ui/FullscreenLoader/index.js
index 06dab1eb6..d8cdc2e8a 100644
--- a/src/components/ui/FullscreenLoader/index.js
+++ b/src/components/ui/FullscreenLoader/index.js
@@ -1,6 +1,6 @@
1import React, { Component } from 'react'; 1import React, { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer, inject } from 'mobx-react';
4import injectSheet, { withTheme } from 'react-jss'; 4import injectSheet, { withTheme } from 'react-jss';
5import classnames from 'classnames'; 5import classnames from 'classnames';
6 6
@@ -8,7 +8,7 @@ import Loader from '../Loader';
8 8
9import styles from './styles'; 9import styles from './styles';
10 10
11export default @observer @withTheme @injectSheet(styles) class FullscreenLoader extends Component { 11export default @inject('stores') @withTheme @injectSheet(styles) @observer class FullscreenLoader extends Component {
12 static propTypes = { 12 static propTypes = {
13 className: PropTypes.string, 13 className: PropTypes.string,
14 title: PropTypes.string.isRequired, 14 title: PropTypes.string.isRequired,
@@ -16,6 +16,13 @@ export default @observer @withTheme @injectSheet(styles) class FullscreenLoader
16 theme: PropTypes.object.isRequired, 16 theme: PropTypes.object.isRequired,
17 spinnerColor: PropTypes.string, 17 spinnerColor: PropTypes.string,
18 children: PropTypes.node, 18 children: PropTypes.node,
19 stores: PropTypes.shape({
20 settings: PropTypes.shape({
21 app: PropTypes.shape({
22 accentColor: PropTypes.string.isRequired,
23 }).isRequired,
24 }).isRequired,
25 }).isRequired,
19 }; 26 };
20 27
21 static defaultProps = { 28 static defaultProps = {
@@ -32,10 +39,16 @@ export default @observer @withTheme @injectSheet(styles) class FullscreenLoader
32 spinnerColor, 39 spinnerColor,
33 className, 40 className,
34 theme, 41 theme,
42 stores,
35 } = this.props; 43 } = this.props;
36 44
37 return ( 45 return (
38 <div className={classes.wrapper}> 46 <div
47 className={classes.wrapper}
48 style={{
49 background: stores.app.accentColor,
50 }}
51 >
39 <div 52 <div
40 className={classnames({ 53 className={classnames({
41 [`${classes.component}`]: true, 54 [`${classes.component}`]: true,
diff --git a/src/components/ui/Input.js b/src/components/ui/Input.js
index 9b070c4df..4e3eb4ab8 100644
--- a/src/components/ui/Input.js
+++ b/src/components/ui/Input.js
@@ -68,7 +68,7 @@ export default @observer class Input extends Component {
68 68
69 const { passwordScore } = this.state; 69 const { passwordScore } = this.state;
70 70
71 let type = field.type; 71 let { type } = field;
72 if (type === 'password' && this.state.showPassword) { 72 if (type === 'password' && this.state.showPassword) {
73 type = 'text'; 73 type = 'text';
74 } 74 }
diff --git a/src/components/ui/Link.js b/src/components/ui/Link.js
index b88686d5e..5f729844b 100644
--- a/src/components/ui/Link.js
+++ b/src/components/ui/Link.js
@@ -25,6 +25,7 @@ export default @inject('stores') @observer class Link extends Component {
25 className, 25 className,
26 activeClassName, 26 activeClassName,
27 strictFilter, 27 strictFilter,
28 style,
28 } = this.props; 29 } = this.props;
29 const { router } = stores; 30 const { router } = stores;
30 31
@@ -44,6 +45,7 @@ export default @inject('stores') @observer class Link extends Component {
44 <a 45 <a
45 href={router.history.createHref(to)} 46 href={router.history.createHref(to)}
46 className={linkClasses} 47 className={linkClasses}
48 style={style}
47 onClick={e => this.onClick(e)} 49 onClick={e => this.onClick(e)}
48 > 50 >
49 {children} 51 {children}
@@ -65,6 +67,7 @@ Link.wrappedComponent.propTypes = {
65 activeClassName: PropTypes.string, 67 activeClassName: PropTypes.string,
66 strictFilter: PropTypes.bool, 68 strictFilter: PropTypes.bool,
67 target: PropTypes.string, 69 target: PropTypes.string,
70 style: PropTypes.object,
68}; 71};
69 72
70Link.wrappedComponent.defaultProps = { 73Link.wrappedComponent.defaultProps = {
@@ -72,4 +75,5 @@ Link.wrappedComponent.defaultProps = {
72 activeClassName: '', 75 activeClassName: '',
73 strictFilter: false, 76 strictFilter: false,
74 target: '', 77 target: '',
78 style: {},
75}; 79};
diff --git a/src/components/ui/Loader.js b/src/components/ui/Loader.js
index f73296bb6..4d7113aa1 100644
--- a/src/components/ui/Loader.js
+++ b/src/components/ui/Loader.js
@@ -1,22 +1,30 @@
1import React, { Component } from 'react'; 1import React, { Component } from 'react';
2import { observer, inject } from 'mobx-react';
2import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
3import Loader from 'react-loader'; 4import Loader from 'react-loader';
4 5
5import { oneOrManyChildElements } from '../../prop-types'; 6import { oneOrManyChildElements } from '../../prop-types';
6 7
7export default class LoaderComponent extends Component { 8export default @inject('stores') @observer class LoaderComponent extends Component {
8 static propTypes = { 9 static propTypes = {
9 children: oneOrManyChildElements, 10 children: oneOrManyChildElements,
10 loaded: PropTypes.bool, 11 loaded: PropTypes.bool,
11 className: PropTypes.string, 12 className: PropTypes.string,
12 color: PropTypes.string, 13 color: PropTypes.string,
14 stores: PropTypes.shape({
15 settings: PropTypes.shape({
16 app: PropTypes.shape({
17 accentColor: PropTypes.string.isRequired,
18 }).isRequired,
19 }).isRequired,
20 }).isRequired,
13 }; 21 };
14 22
15 static defaultProps = { 23 static defaultProps = {
16 children: null, 24 children: null,
17 loaded: false, 25 loaded: false,
18 className: '', 26 className: '',
19 color: '#373a3c', 27 color: 'ACCENT',
20 }; 28 };
21 29
22 render() { 30 render() {
@@ -24,9 +32,10 @@ export default class LoaderComponent extends Component {
24 children, 32 children,
25 loaded, 33 loaded,
26 className, 34 className,
27 color,
28 } = this.props; 35 } = this.props;
29 36
37 const color = this.props.color !== 'ACCENT' ? this.props.color : this.props.stores.settings.app.accentColor;
38
30 return ( 39 return (
31 <Loader 40 <Loader
32 loaded={loaded} 41 loaded={loaded}
diff --git a/src/components/ui/Modal/index.js b/src/components/ui/Modal/index.js
index 63d858c47..0af521452 100644
--- a/src/components/ui/Modal/index.js
+++ b/src/components/ui/Modal/index.js
@@ -41,6 +41,8 @@ export default @injectCSS(styles) class Modal extends Component {
41 showClose, 41 showClose,
42 } = this.props; 42 } = this.props;
43 43
44 const appRoot = document.getElementById('root');
45
44 return ( 46 return (
45 <ReactModal 47 <ReactModal
46 isOpen={isOpen} 48 isOpen={isOpen}
@@ -53,6 +55,7 @@ export default @injectCSS(styles) class Modal extends Component {
53 portal={portal} 55 portal={portal}
54 onRequestClose={close} 56 onRequestClose={close}
55 shouldCloseOnOverlayClick={shouldCloseOnOverlayClick} 57 shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}
58 appElement={appRoot}
56 > 59 >
57 {showClose && close && ( 60 {showClose && close && (
58 <button 61 <button
diff --git a/src/components/ui/PremiumFeatureContainer/index.js b/src/components/ui/PremiumFeatureContainer/index.js
index f1e526560..611c50468 100644
--- a/src/components/ui/PremiumFeatureContainer/index.js
+++ b/src/components/ui/PremiumFeatureContainer/index.js
@@ -9,8 +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 { gaEvent } from '../../../lib/analytics'; 12import FeatureStore from '../../../stores/FeaturesStore';
13import FeaturesStore from '../../../stores/FeaturesStore';
14 13
15const messages = defineMessages({ 14const messages = defineMessages({
16 action: { 15 action: {
@@ -50,7 +49,6 @@ class PremiumFeatureContainer extends Component {
50 actions, 49 actions,
51 condition, 50 condition,
52 stores, 51 stores,
53 gaEventInfo,
54 } = this.props; 52 } = this.props;
55 53
56 const { intl } = this.context; 54 const { intl } = this.context;
@@ -75,10 +73,6 @@ class PremiumFeatureContainer extends Component {
75 type="button" 73 type="button"
76 onClick={() => { 74 onClick={() => {
77 actions.ui.openSettings({ path: 'user' }); 75 actions.ui.openSettings({ path: 'user' });
78 if (gaEventInfo) {
79 const { category, event, label } = gaEventInfo;
80 gaEvent(category, event, label);
81 }
82 }} 76 }}
83 > 77 >
84 {intl.formatMessage(messages.action)} 78 {intl.formatMessage(messages.action)}
diff --git a/src/components/ui/UpgradeButton/index.js b/src/components/ui/UpgradeButton/index.js
index 73762f0bf..1b764bd90 100644
--- a/src/components/ui/UpgradeButton/index.js
+++ b/src/components/ui/UpgradeButton/index.js
@@ -4,7 +4,6 @@ import { inject, observer } from 'mobx-react';
4import { defineMessages, intlShape } from 'react-intl'; 4import { defineMessages, intlShape } from 'react-intl';
5 5
6import { Button } from '@meetfranz/forms'; 6import { Button } from '@meetfranz/forms';
7import { gaEvent } from '../../../lib/analytics';
8 7
9import UserStore from '../../../stores/UserStore'; 8import UserStore from '../../../stores/UserStore';
10import ActivateTrialButton from '../ActivateTrialButton'; 9import ActivateTrialButton from '../ActivateTrialButton';
@@ -41,13 +40,9 @@ class UpgradeButton extends Component {
41 }; 40 };
42 41
43 handleCTAClick() { 42 handleCTAClick() {
44 const { actions, gaEventInfo } = this.props; 43 const { actions } = this.props;
45 44
46 actions.ui.openSettings({ path: 'user' }); 45 actions.ui.openSettings({ path: 'user' });
47 if (gaEventInfo) {
48 const { category, event } = gaEventInfo;
49 gaEvent(category, event, 'Upgrade Account');
50 }
51 } 46 }
52 47
53 render() { 48 render() {
diff --git a/src/components/ui/WebviewLoader/index.js b/src/components/ui/WebviewLoader/index.js
index 58b6b6f1b..923f10327 100644
--- a/src/components/ui/WebviewLoader/index.js
+++ b/src/components/ui/WebviewLoader/index.js
@@ -14,7 +14,7 @@ const messages = defineMessages({
14 }, 14 },
15}); 15});
16 16
17export default @observer @injectSheet(styles) class WebviewLoader extends Component { 17export default @injectSheet(styles) @observer class WebviewLoader extends Component {
18 static propTypes = { 18 static propTypes = {
19 name: PropTypes.string.isRequired, 19 name: PropTypes.string.isRequired,
20 classes: PropTypes.object.isRequired, 20 classes: PropTypes.object.isRequired,
diff --git a/src/config.js b/src/config.js
index 11e6cb91f..761d26eea 100644
--- a/src/config.js
+++ b/src/config.js
@@ -12,7 +12,7 @@ export const CHECK_INTERVAL = ms('1h'); // How often should we perform checks
12 12
13export const LOCAL_API = 'http://localhost:3000'; 13export const LOCAL_API = 'http://localhost:3000';
14export const DEV_API = 'https://dev.franzinfra.com'; 14export const DEV_API = 'https://dev.franzinfra.com';
15export const LIVE_API = 'https://api.franzinfra.com'; 15export const LIVE_API = 'https://api.getferdi.com';
16 16
17export const LOCAL_WS_API = 'ws://localhost:3000'; 17export const LOCAL_WS_API = 'ws://localhost:3000';
18export const DEV_WS_API = 'wss://dev.franzinfra.com'; 18export const DEV_WS_API = 'wss://dev.franzinfra.com';
@@ -21,7 +21,7 @@ export const LIVE_WS_API = 'wss://api.franzinfra.com';
21export const LOCAL_API_WEBSITE = 'http://localhost:3333'; 21export const LOCAL_API_WEBSITE = 'http://localhost:3333';
22// export const DEV_API_WEBSITE = 'https://meetfranz.com';t 22// export const DEV_API_WEBSITE = 'https://meetfranz.com';t
23export const DEV_API_WEBSITE = 'http://hash-58883791519ef6288c952316bdce7fb462283893.franzstaging.com/'; // TODO: revert me 23export const DEV_API_WEBSITE = 'http://hash-58883791519ef6288c952316bdce7fb462283893.franzstaging.com/'; // TODO: revert me
24export const LIVE_API_WEBSITE = 'https://meetfranz.com'; 24export const LIVE_API_WEBSITE = 'https://getferdi.com';
25 25
26export const STATS_API = 'https://stats.franzinfra.com'; 26export const STATS_API = 'https://stats.franzinfra.com';
27 27
@@ -31,11 +31,25 @@ export const DEVELOPMENT_TODOS_FRONTEND_URL = 'https://development--franz-todos.
31 31
32export const GA_ID = !isDevMode ? 'UA-74126766-10' : 'UA-74126766-12'; 32export const GA_ID = !isDevMode ? 'UA-74126766-10' : 'UA-74126766-12';
33 33
34export const DEFAULT_LOCK_PASSWORD = 'ferdi';
35export const KEEP_WS_LOADED_USID = '0a0aa000-0a0a-49a0-a000-a0a0a0a0a0a0';
36
37export const HIBERNATION_STRATEGIES = {
38 10: 'Extemely Fast Hibernation (10sec)',
39 30: 'Very Fast Hibernation (30sec)',
40 60: 'Fast Hibernation (1min)',
41 300: 'Normal Hibernation (5min)',
42 600: 'Slow Hibernation (10min)',
43 1800: 'Very Slow Hibernation (30min)',
44 3600: 'Extemely Slow Hibernation (1hour)',
45};
46
34export const DEFAULT_APP_SETTINGS = { 47export const DEFAULT_APP_SETTINGS = {
35 autoLaunchInBackground: false, 48 autoLaunchInBackground: false,
36 runInBackground: true, 49 runInBackground: true,
37 enableSystemTray: true, 50 enableSystemTray: true,
38 minimizeToSystemTray: false, 51 minimizeToSystemTray: false,
52 privateNotifications: false,
39 showDisabledServices: true, 53 showDisabledServices: true,
40 showMessageBadgeWhenMuted: true, 54 showMessageBadgeWhenMuted: true,
41 enableSpellchecking: true, 55 enableSpellchecking: true,
@@ -47,6 +61,23 @@ export const DEFAULT_APP_SETTINGS = {
47 isAppMuted: false, 61 isAppMuted: false,
48 enableGPUAcceleration: true, 62 enableGPUAcceleration: true,
49 serviceLimit: 5, 63 serviceLimit: 5,
64
65 // Ferdi specific options
66 server: LIVE_API,
67 todoServer: PRODUCTION_TODOS_FRONTEND_URL,
68 autohideMenuBar: false,
69 lockingFeatureEnabled: false,
70 locked: false,
71 lockedPassword: '',
72 scheduledDNDEnabled: false,
73 scheduledDNDStart: '17:00',
74 scheduledDNDEnd: '09:00',
75 hibernate: false,
76 hibernationStrategy: 300,
77 noUpdates: false,
78 showServiceNavigationBar: false,
79 universalDarkMode: true,
80 accentColor: '#7367f0',
50}; 81};
51 82
52export const DEFAULT_FEATURES_CONFIG = { 83export const DEFAULT_FEATURES_CONFIG = {
@@ -57,10 +88,11 @@ export const DEFAULT_FEATURES_CONFIG = {
57 wait: ms('10s'), 88 wait: ms('10s'),
58 }, 89 },
59 isServiceProxyEnabled: false, 90 isServiceProxyEnabled: false,
60 isServiceProxyIncludedInCurrentPlan: false, 91 isServiceProxyIncludedInCurrentPlan: true,
61 isAnnouncementsEnabled: true, 92 isAnnouncementsEnabled: true,
62 isWorkspaceIncludedInCurrentPlan: true, 93 isWorkspaceIncludedInCurrentPlan: true,
63 isWorkspaceEnabled: false, 94 isWorkspaceEnabled: false,
95 isCommunityRecipesIncludedInCurrentPlan: true,
64}; 96};
65 97
66export const DEFAULT_WINDOW_OPTIONS = { 98export const DEFAULT_WINDOW_OPTIONS = {
@@ -70,8 +102,8 @@ export const DEFAULT_WINDOW_OPTIONS = {
70 y: 0, 102 y: 0,
71}; 103};
72 104
73export const FRANZ_SERVICE_REQUEST = 'https://bit.ly/franz-plugin-docs'; 105export const FRANZ_SERVICE_REQUEST = 'https://github.com/getferdi/recipes/issues/new/choose';
74export const FRANZ_TRANSLATION = 'https://bit.ly/franz-translate'; 106export const FRANZ_TRANSLATION = 'https://crowdin.com/project/getferdi';
75export const FRANZ_DEV_DOCS = 'http://bit.ly/franz-dev-hub'; 107export const FRANZ_DEV_DOCS = 'http://bit.ly/franz-dev-hub';
76 108
77export const FILE_SYSTEM_SETTINGS_TYPES = [ 109export const FILE_SYSTEM_SETTINGS_TYPES = [
@@ -79,10 +111,12 @@ export const FILE_SYSTEM_SETTINGS_TYPES = [
79 'proxy', 111 'proxy',
80]; 112];
81 113
114export const LOCAL_SERVER = 'You are using Ferdi without a server';
115
82export const SETTINGS_PATH = path.join(app.getPath('userData'), 'config'); 116export const SETTINGS_PATH = path.join(app.getPath('userData'), 'config');
83 117
84// Replacing app.asar is not beautiful but unforunately necessary 118// Replacing app.asar is not beautiful but unforunately necessary
85export const DICTIONARY_PATH = asarPath(path.join(__dirname, 'dictionaries')); 119export const RECIPES_PATH = asarPath(path.join(__dirname, 'recipes'));
86 120
87export const ALLOWED_PROTOCOLS = [ 121export const ALLOWED_PROTOCOLS = [
88 'https:', 122 'https:',
diff --git a/src/containers/auth/AuthLayoutContainer.js b/src/containers/auth/AuthLayoutContainer.js
index 427054d3d..883a6ea60 100644
--- a/src/containers/auth/AuthLayoutContainer.js
+++ b/src/containers/auth/AuthLayoutContainer.js
@@ -5,6 +5,7 @@ import { ThemeProvider } from 'react-jss';
5 5
6import AuthLayout from '../../components/auth/AuthLayout'; 6import AuthLayout from '../../components/auth/AuthLayout';
7import AppStore from '../../stores/AppStore'; 7import AppStore from '../../stores/AppStore';
8import UserStore from '../../stores/UserStore';
8import GlobalErrorStore from '../../stores/GlobalErrorStore'; 9import GlobalErrorStore from '../../stores/GlobalErrorStore';
9import AppLoader from '../../components/ui/AppLoader'; 10import AppLoader from '../../components/ui/AppLoader';
10 11
@@ -23,7 +24,7 @@ export default @inject('stores', 'actions') @observer class AuthLayoutContainer
23 stores, actions, children, location, 24 stores, actions, children, location,
24 } = this.props; 25 } = this.props;
25 const { 26 const {
26 app, features, globalError, 27 app, features, globalError, user,
27 } = stores; 28 } = stores;
28 29
29 const isLoadingBaseFeatures = features.defaultFeaturesRequest.isExecuting 30 const isLoadingBaseFeatures = features.defaultFeaturesRequest.isExecuting
@@ -37,6 +38,15 @@ export default @inject('stores', 'actions') @observer class AuthLayoutContainer
37 ); 38 );
38 } 39 }
39 40
41 const { isLoggingOut } = user;
42 if (isLoggingOut) {
43 return (
44 <ThemeProvider theme={stores.ui.theme}>
45 <AppLoader texts={['Logging you out...']} />
46 </ThemeProvider>
47 );
48 }
49
40 return ( 50 return (
41 <ThemeProvider theme={stores.ui.theme}> 51 <ThemeProvider theme={stores.ui.theme}>
42 <AuthLayout 52 <AuthLayout
@@ -62,6 +72,7 @@ AuthLayoutContainer.wrappedComponent.propTypes = {
62 stores: PropTypes.shape({ 72 stores: PropTypes.shape({
63 app: PropTypes.instanceOf(AppStore).isRequired, 73 app: PropTypes.instanceOf(AppStore).isRequired,
64 globalError: PropTypes.instanceOf(GlobalErrorStore).isRequired, 74 globalError: PropTypes.instanceOf(GlobalErrorStore).isRequired,
75 user: PropTypes.instanceOf(UserStore).isRequired,
65 }).isRequired, 76 }).isRequired,
66 actions: PropTypes.shape({ 77 actions: PropTypes.shape({
67 app: PropTypes.shape({ 78 app: PropTypes.shape({
diff --git a/src/containers/auth/LockedScreen.js b/src/containers/auth/LockedScreen.js
new file mode 100644
index 000000000..94285fb06
--- /dev/null
+++ b/src/containers/auth/LockedScreen.js
@@ -0,0 +1,72 @@
1import React, { Component } from 'react';
2import PropTypes from 'prop-types';
3import { inject, observer } from 'mobx-react';
4import Locked from '../../components/auth/Locked';
5import SettingsStore from '../../stores/SettingsStore';
6import { DEFAULT_LOCK_PASSWORD } from '../../config';
7
8import { globalError as globalErrorPropType } from '../../prop-types';
9
10export default @inject('stores', 'actions') @observer class LockedScreen extends Component {
11 static propTypes = {
12 error: globalErrorPropType.isRequired,
13 };
14
15 state = {
16 error: false,
17 }
18
19 constructor(props) {
20 super(props);
21
22 this.onSubmit = this.onSubmit.bind(this);
23 }
24
25 onSubmit(values) {
26 const { password } = values;
27
28 let correctPassword = this.props.stores.settings.all.app.lockedPassword;
29 if (!correctPassword) {
30 // Lock feature was enabled but no password was set
31 // Use default lock password so user can exit
32 correctPassword = DEFAULT_LOCK_PASSWORD;
33 }
34
35 if (String(password) === String(correctPassword)) {
36 this.props.actions.settings.update({
37 type: 'app',
38 data: {
39 locked: false,
40 },
41 });
42 } else {
43 this.setState({
44 error: {
45 code: 'invalid-credentials',
46 },
47 });
48 }
49 }
50
51 render() {
52 const { stores, error } = this.props;
53 return (
54 <Locked
55 onSubmit={this.onSubmit}
56 isSubmitting={stores.user.loginRequest.isExecuting}
57 error={this.state.error || error}
58 />
59 );
60 }
61}
62
63LockedScreen.wrappedComponent.propTypes = {
64 actions: PropTypes.shape({
65 settings: PropTypes.shape({
66 update: PropTypes.func.isRequired,
67 }).isRequired,
68 }).isRequired,
69 stores: PropTypes.shape({
70 settings: PropTypes.instanceOf(SettingsStore).isRequired,
71 }).isRequired,
72};
diff --git a/src/containers/layout/AppLayoutContainer.js b/src/containers/layout/AppLayoutContainer.js
index 5563c48bc..a4312d9de 100644
--- a/src/containers/layout/AppLayoutContainer.js
+++ b/src/containers/layout/AppLayoutContainer.js
@@ -142,6 +142,7 @@ export default @inject('stores', 'actions') @observer class AppLayoutContainer e
142 showServicesUpdatedInfoBar={ui.showServicesUpdatedInfoBar} 142 showServicesUpdatedInfoBar={ui.showServicesUpdatedInfoBar}
143 appUpdateIsDownloaded={app.updateStatus === app.updateStatusTypes.DOWNLOADED} 143 appUpdateIsDownloaded={app.updateStatus === app.updateStatusTypes.DOWNLOADED}
144 nextAppReleaseVersion={app.nextAppReleaseVersion} 144 nextAppReleaseVersion={app.nextAppReleaseVersion}
145 authRequestFailed={app.authRequestFailed}
145 sidebar={sidebar} 146 sidebar={sidebar}
146 workspacesDrawer={workspacesDrawer} 147 workspacesDrawer={workspacesDrawer}
147 services={servicesContainer} 148 services={servicesContainer}
diff --git a/src/containers/settings/AccountScreen.js b/src/containers/settings/AccountScreen.js
index 88ecd55d5..93ab44690 100644
--- a/src/containers/settings/AccountScreen.js
+++ b/src/containers/settings/AccountScreen.js
@@ -28,7 +28,14 @@ export default @inject('stores', 'actions') @observer class AccountScreen extend
28 handleWebsiteLink(route) { 28 handleWebsiteLink(route) {
29 const { actions, stores } = this.props; 29 const { actions, stores } = this.props;
30 30
31 const url = stores.user.getAuthURL(`${WEBSITE}${route}?utm_source=app&utm_medium=account_dashboard`); 31 const api = stores.settings.all.app.server;
32
33 let url;
34 if (api === 'https://api.franzinfra.com') {
35 url = stores.user.getAuthURL(`${WEBSITE}${route}?utm_source=app&utm_medium=account_dashboard`);
36 } else {
37 url = `${api}${route}`;
38 }
32 39
33 actions.app.openExternalUrl({ url }); 40 actions.app.openExternalUrl({ url });
34 } 41 }
diff --git a/src/containers/settings/EditServiceScreen.js b/src/containers/settings/EditServiceScreen.js
index e4ff03bb3..d18d7fb9b 100644
--- a/src/containers/settings/EditServiceScreen.js
+++ b/src/containers/settings/EditServiceScreen.js
@@ -92,6 +92,10 @@ export default @inject('stores', 'actions') @observer class EditServiceScreen ex
92 intl: intlShape, 92 intl: intlShape,
93 }; 93 };
94 94
95 state = {
96 isOpeningDarkModeCss: false,
97 }
98
95 onSubmit(data) { 99 onSubmit(data) {
96 const { action } = this.props.router.params; 100 const { action } = this.props.router.params;
97 const { recipes, services } = this.props.stores; 101 const { recipes, services } = this.props.stores;
@@ -278,6 +282,28 @@ export default @inject('stores', 'actions') @observer class EditServiceScreen ex
278 } 282 }
279 } 283 }
280 284
285 openDarkmodeCss() {
286 const { openDarkmodeCss } = this.props.actions.service;
287 const { action } = this.props.router.params;
288
289 if (action === 'edit') {
290 this.setState({
291 isOpeningDarkModeCss: true,
292 });
293
294 const { activeSettings: service } = this.props.stores.services;
295 openDarkmodeCss({
296 recipe: service.recipe.id,
297 });
298
299 setTimeout(() => {
300 this.setState({
301 isOpeningDarkModeCss: false,
302 });
303 }, 2500);
304 }
305 }
306
281 render() { 307 render() {
282 const { recipes, services, user } = this.props.stores; 308 const { recipes, services, user } = this.props.stores;
283 const { action } = this.props.router.params; 309 const { action } = this.props.router.params;
@@ -329,6 +355,8 @@ export default @inject('stores', 'actions') @observer class EditServiceScreen ex
329 isDeleting={services.deleteServiceRequest.isExecuting} 355 isDeleting={services.deleteServiceRequest.isExecuting}
330 onSubmit={d => this.onSubmit(d)} 356 onSubmit={d => this.onSubmit(d)}
331 onDelete={() => this.deleteService()} 357 onDelete={() => this.deleteService()}
358 openDarkmodeCss={() => this.openDarkmodeCss()}
359 isOpeningDarkModeCss={this.state.isOpeningDarkModeCss}
332 isProxyFeatureEnabled={proxyFeature.isEnabled} 360 isProxyFeatureEnabled={proxyFeature.isEnabled}
333 isServiceProxyIncludedInCurrentPlan={proxyFeature.isIncludedInCurrentPlan} 361 isServiceProxyIncludedInCurrentPlan={proxyFeature.isIncludedInCurrentPlan}
334 isSpellcheckerIncludedInCurrentPlan={spellcheckerFeature.isIncludedInCurrentPlan} 362 isSpellcheckerIncludedInCurrentPlan={spellcheckerFeature.isIncludedInCurrentPlan}
@@ -356,6 +384,7 @@ EditServiceScreen.wrappedComponent.propTypes = {
356 createService: PropTypes.func.isRequired, 384 createService: PropTypes.func.isRequired,
357 updateService: PropTypes.func.isRequired, 385 updateService: PropTypes.func.isRequired,
358 deleteService: PropTypes.func.isRequired, 386 deleteService: PropTypes.func.isRequired,
387 openDarkmodeCss: PropTypes.func.isRequired,
359 }).isRequired, 388 }).isRequired,
360 // settings: PropTypes.shape({ 389 // settings: PropTypes.shape({
361 // update: PropTypes.func.isRequred, 390 // update: PropTypes.func.isRequred,
diff --git a/src/containers/settings/EditSettingsScreen.js b/src/containers/settings/EditSettingsScreen.js
index 698b5a3d9..ddee82e45 100644
--- a/src/containers/settings/EditSettingsScreen.js
+++ b/src/containers/settings/EditSettingsScreen.js
@@ -1,3 +1,4 @@
1import { ipcRenderer } from 'electron';
1import React, { Component } from 'react'; 2import React, { Component } from 'react';
2import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
3import { inject, observer } from 'mobx-react'; 4import { inject, observer } from 'mobx-react';
@@ -9,7 +10,7 @@ import UserStore from '../../stores/UserStore';
9import TodosStore from '../../features/todos/store'; 10import TodosStore from '../../features/todos/store';
10import Form from '../../lib/Form'; 11import Form from '../../lib/Form';
11import { APP_LOCALES, SPELLCHECKER_LOCALES } from '../../i18n/languages'; 12import { APP_LOCALES, SPELLCHECKER_LOCALES } from '../../i18n/languages';
12import { DEFAULT_APP_SETTINGS } from '../../config'; 13import { DEFAULT_APP_SETTINGS, DEFAULT_LOCK_PASSWORD, HIBERNATION_STRATEGIES } from '../../config';
13import { config as spellcheckerConfig } from '../../features/spellchecker'; 14import { config as spellcheckerConfig } from '../../features/spellchecker';
14 15
15import { getSelectOptions } from '../../helpers/i18n-helpers'; 16import { getSelectOptions } from '../../helpers/i18n-helpers';
@@ -17,6 +18,8 @@ import { getSelectOptions } from '../../helpers/i18n-helpers';
17import EditSettingsForm from '../../components/settings/settings/EditSettingsForm'; 18import EditSettingsForm from '../../components/settings/settings/EditSettingsForm';
18import ErrorBoundary from '../../components/util/ErrorBoundary'; 19import ErrorBoundary from '../../components/util/ErrorBoundary';
19 20
21import { API, TODOS_FRONTEND } from '../../environment';
22
20import globalMessages from '../../i18n/globalMessages'; 23import globalMessages from '../../i18n/globalMessages';
21import { DEFAULT_IS_FEATURE_ENABLED_BY_USER } from '../../features/todos'; 24import { DEFAULT_IS_FEATURE_ENABLED_BY_USER } from '../../features/todos';
22import WorkspacesStore from '../../features/workspaces/store'; 25import WorkspacesStore from '../../features/workspaces/store';
@@ -25,7 +28,7 @@ import { DEFAULT_SETTING_KEEP_ALL_WORKSPACES_LOADED } from '../../features/works
25const messages = defineMessages({ 28const messages = defineMessages({
26 autoLaunchOnStart: { 29 autoLaunchOnStart: {
27 id: 'settings.app.form.autoLaunchOnStart', 30 id: 'settings.app.form.autoLaunchOnStart',
28 defaultMessage: '!!!Launch Franz on start', 31 defaultMessage: '!!!Launch Ferdi on start',
29 }, 32 },
30 autoLaunchInBackground: { 33 autoLaunchInBackground: {
31 id: 'settings.app.form.autoLaunchInBackground', 34 id: 'settings.app.form.autoLaunchInBackground',
@@ -33,15 +36,59 @@ const messages = defineMessages({
33 }, 36 },
34 runInBackground: { 37 runInBackground: {
35 id: 'settings.app.form.runInBackground', 38 id: 'settings.app.form.runInBackground',
36 defaultMessage: '!!!Keep Franz in background when closing the window', 39 defaultMessage: '!!!Keep Ferdi in background when closing the window',
37 }, 40 },
38 enableSystemTray: { 41 enableSystemTray: {
39 id: 'settings.app.form.enableSystemTray', 42 id: 'settings.app.form.enableSystemTray',
40 defaultMessage: '!!!Show Franz in system tray', 43 defaultMessage: '!!!Show Ferdi in system tray',
41 }, 44 },
42 minimizeToSystemTray: { 45 minimizeToSystemTray: {
43 id: 'settings.app.form.minimizeToSystemTray', 46 id: 'settings.app.form.minimizeToSystemTray',
44 defaultMessage: '!!!Minimize Franz to system tray', 47 defaultMessage: '!!!Minimize Ferdi to system tray',
48 },
49 privateNotifications: {
50 id: 'settings.app.form.privateNotifications',
51 defaultMessage: '!!!Don\'t show message content in notifications',
52 },
53 showServiceNavigationBar: {
54 id: 'settings.app.form.showServiceNavigationBar',
55 defaultMessage: '!!!Always show service navigation bar',
56 },
57 hibernate: {
58 id: 'settings.app.form.hibernate',
59 defaultMessage: '!!!Enable service hibernation',
60 },
61 hibernationStrategy: {
62 id: 'settings.app.form.hibernationStrategy',
63 defaultMessage: '!!!Hibernation strategy',
64 },
65 server: {
66 id: 'settings.app.form.server',
67 defaultMessage: '!!!Server',
68 },
69 todoServer: {
70 id: 'settings.app.form.todoServer',
71 defaultMessage: '!!!Todo Server',
72 },
73 enableLock: {
74 id: 'settings.app.form.enableLock',
75 defaultMessage: '!!!Enable Ferdi password lock',
76 },
77 lockPassword: {
78 id: 'settings.app.form.lockPassword',
79 defaultMessage: '!!!Ferdi Lock password',
80 },
81 scheduledDNDEnabled: {
82 id: 'settings.app.form.scheduledDNDEnabled',
83 defaultMessage: '!!!Enable scheduled Do-not-Disturb',
84 },
85 scheduledDNDStart: {
86 id: 'settings.app.form.scheduledDNDStart',
87 defaultMessage: '!!!From',
88 },
89 scheduledDNDEnd: {
90 id: 'settings.app.form.scheduledDNDEnd',
91 defaultMessage: '!!!To',
45 }, 92 },
46 language: { 93 language: {
47 id: 'settings.app.form.language', 94 id: 'settings.app.form.language',
@@ -51,6 +98,14 @@ const messages = defineMessages({
51 id: 'settings.app.form.darkMode', 98 id: 'settings.app.form.darkMode',
52 defaultMessage: '!!!Dark Mode', 99 defaultMessage: '!!!Dark Mode',
53 }, 100 },
101 universalDarkMode: {
102 id: 'settings.app.form.universalDarkMode',
103 defaultMessage: '!!!Enable universal Dark Mode',
104 },
105 accentColor: {
106 id: 'settings.app.form.accentColor',
107 defaultMessage: '!!!Accent color',
108 },
54 showDisabledServices: { 109 showDisabledServices: {
55 id: 'settings.app.form.showDisabledServices', 110 id: 'settings.app.form.showDisabledServices',
56 defaultMessage: '!!!Display disabled services tabs', 111 defaultMessage: '!!!Display disabled services tabs',
@@ -71,6 +126,10 @@ const messages = defineMessages({
71 id: 'settings.app.form.beta', 126 id: 'settings.app.form.beta',
72 defaultMessage: '!!!Include beta versions', 127 defaultMessage: '!!!Include beta versions',
73 }, 128 },
129 noUpdates: {
130 id: 'settings.app.form.noUpdates',
131 defaultMessage: '!!!Disable updates',
132 },
74 enableTodos: { 133 enableTodos: {
75 id: 'settings.app.form.enableTodos', 134 id: 'settings.app.form.enableTodos',
76 defaultMessage: '!!!Enable Franz Todos', 135 defaultMessage: '!!!Enable Franz Todos',
@@ -107,19 +166,34 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e
107 runInBackground: settingsData.runInBackground, 166 runInBackground: settingsData.runInBackground,
108 enableSystemTray: settingsData.enableSystemTray, 167 enableSystemTray: settingsData.enableSystemTray,
109 minimizeToSystemTray: settingsData.minimizeToSystemTray, 168 minimizeToSystemTray: settingsData.minimizeToSystemTray,
169 privateNotifications: settingsData.privateNotifications,
170 showServiceNavigationBar: settingsData.showServiceNavigationBar,
171 hibernate: settingsData.hibernate,
172 hibernationStrategy: settingsData.hibernationStrategy,
173 server: settingsData.server,
174 todoServer: settingsData.todoServer,
175 lockingFeatureEnabled: settingsData.lockingFeatureEnabled,
176 lockedPassword: settingsData.lockedPassword,
177 scheduledDNDEnabled: settingsData.scheduledDNDEnabled,
178 scheduledDNDStart: settingsData.scheduledDNDStart,
179 scheduledDNDEnd: settingsData.scheduledDNDEnd,
110 enableGPUAcceleration: settingsData.enableGPUAcceleration, 180 enableGPUAcceleration: settingsData.enableGPUAcceleration,
111 showDisabledServices: settingsData.showDisabledServices, 181 showDisabledServices: settingsData.showDisabledServices,
112 darkMode: settingsData.darkMode, 182 darkMode: settingsData.darkMode,
183 universalDarkMode: settingsData.universalDarkMode,
184 accentColor: settingsData.accentColor,
113 showMessageBadgeWhenMuted: settingsData.showMessageBadgeWhenMuted, 185 showMessageBadgeWhenMuted: settingsData.showMessageBadgeWhenMuted,
114 enableSpellchecking: settingsData.enableSpellchecking, 186 enableSpellchecking: settingsData.enableSpellchecking,
115 spellcheckerLanguage: settingsData.spellcheckerLanguage, 187 spellcheckerLanguage: settingsData.spellcheckerLanguage,
116 beta: settingsData.beta, // we need this info in the main process as well 188 beta: settingsData.beta, // we need this info in the main process as well
189 noUpdates: settingsData.noUpdates, // we need this info in the main process as well
117 locale: settingsData.locale, // we need this info in the main process as well 190 locale: settingsData.locale, // we need this info in the main process as well
118 }, 191 },
119 }); 192 });
120 193
121 user.update({ 194 user.update({
122 userData: { 195 userData: {
196 noUpdates: settingsData.noUpdates,
123 beta: settingsData.beta, 197 beta: settingsData.beta,
124 locale: settingsData.locale, 198 locale: settingsData.locale,
125 }, 199 },
@@ -140,6 +214,10 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e
140 } 214 }
141 } 215 }
142 216
217 openProcessManager() {
218 ipcRenderer.send('openProcessManager');
219 }
220
143 prepareForm() { 221 prepareForm() {
144 const { 222 const {
145 app, settings, user, todos, workspaces, 223 app, settings, user, todos, workspaces,
@@ -150,6 +228,11 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e
150 locales: APP_LOCALES, 228 locales: APP_LOCALES,
151 }); 229 });
152 230
231 const hibernationStrategies = getSelectOptions({
232 locales: HIBERNATION_STRATEGIES,
233 sort: false,
234 });
235
153 const spellcheckingLanguages = getSelectOptions({ 236 const spellcheckingLanguages = getSelectOptions({
154 locales: SPELLCHECKER_LOCALES, 237 locales: SPELLCHECKER_LOCALES,
155 automaticDetectionText: this.context.intl.formatMessage(globalMessages.spellcheckerAutomaticDetection), 238 automaticDetectionText: this.context.intl.formatMessage(globalMessages.spellcheckerAutomaticDetection),
@@ -182,6 +265,65 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e
182 value: settings.all.app.minimizeToSystemTray, 265 value: settings.all.app.minimizeToSystemTray,
183 default: DEFAULT_APP_SETTINGS.minimizeToSystemTray, 266 default: DEFAULT_APP_SETTINGS.minimizeToSystemTray,
184 }, 267 },
268 privateNotifications: {
269 label: intl.formatMessage(messages.privateNotifications),
270 value: settings.all.app.privateNotifications,
271 default: DEFAULT_APP_SETTINGS.privateNotifications,
272 },
273 showServiceNavigationBar: {
274 label: intl.formatMessage(messages.showServiceNavigationBar),
275 value: settings.all.app.showServiceNavigationBar,
276 default: DEFAULT_APP_SETTINGS.showServiceNavigationBar,
277 },
278 hibernate: {
279 label: intl.formatMessage(messages.hibernate),
280 value: settings.all.app.hibernate,
281 default: DEFAULT_APP_SETTINGS.hibernate,
282 },
283 hibernationStrategy: {
284 label: intl.formatMessage(messages.hibernationStrategy),
285 value: settings.all.app.hibernationStrategy,
286 options: hibernationStrategies,
287 default: DEFAULT_APP_SETTINGS.hibernationStrategy,
288 },
289 server: {
290 label: intl.formatMessage(messages.server),
291 value: settings.all.app.server || API,
292 default: API,
293 },
294 todoServer: {
295 label: intl.formatMessage(messages.todoServer),
296 value: settings.all.app.todoServer,
297 default: TODOS_FRONTEND,
298 },
299 lockingFeatureEnabled: {
300 label: intl.formatMessage(messages.enableLock),
301 value: settings.all.app.lockingFeatureEnabled || false,
302 default: false,
303 },
304 lockedPassword: {
305 label: intl.formatMessage(messages.lockPassword),
306 value: settings.all.app.lockedPassword,
307 default: DEFAULT_LOCK_PASSWORD,
308 type: 'password',
309 },
310 scheduledDNDEnabled: {
311 label: intl.formatMessage(messages.scheduledDNDEnabled),
312 value: settings.all.app.scheduledDNDEnabled || false,
313 default: false,
314 },
315 scheduledDNDStart: {
316 label: intl.formatMessage(messages.scheduledDNDStart),
317 value: settings.all.app.scheduledDNDStart,
318 default: '17:00',
319 type: 'time',
320 },
321 scheduledDNDEnd: {
322 label: intl.formatMessage(messages.scheduledDNDEnd),
323 value: settings.all.app.scheduledDNDEnd,
324 default: '09:00',
325 type: 'time',
326 },
185 showDisabledServices: { 327 showDisabledServices: {
186 label: intl.formatMessage(messages.showDisabledServices), 328 label: intl.formatMessage(messages.showDisabledServices),
187 value: settings.all.app.showDisabledServices, 329 value: settings.all.app.showDisabledServices,
@@ -208,6 +350,16 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e
208 value: settings.all.app.darkMode, 350 value: settings.all.app.darkMode,
209 default: DEFAULT_APP_SETTINGS.darkMode, 351 default: DEFAULT_APP_SETTINGS.darkMode,
210 }, 352 },
353 universalDarkMode: {
354 label: intl.formatMessage(messages.universalDarkMode),
355 value: settings.all.app.universalDarkMode,
356 default: DEFAULT_APP_SETTINGS.universalDarkMode,
357 },
358 accentColor: {
359 label: intl.formatMessage(messages.accentColor),
360 value: settings.all.app.accentColor,
361 default: DEFAULT_APP_SETTINGS.accentColor,
362 },
211 enableGPUAcceleration: { 363 enableGPUAcceleration: {
212 label: intl.formatMessage(messages.enableGPUAcceleration), 364 label: intl.formatMessage(messages.enableGPUAcceleration),
213 value: settings.all.app.enableGPUAcceleration, 365 value: settings.all.app.enableGPUAcceleration,
@@ -224,6 +376,11 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e
224 value: user.data.beta, 376 value: user.data.beta,
225 default: DEFAULT_APP_SETTINGS.beta, 377 default: DEFAULT_APP_SETTINGS.beta,
226 }, 378 },
379 noUpdates: {
380 label: intl.formatMessage(messages.noUpdates),
381 value: settings.app.noUpdates,
382 default: DEFAULT_APP_SETTINGS.noUpdates,
383 },
227 }, 384 },
228 }; 385 };
229 386
@@ -257,6 +414,7 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e
257 cacheSize, 414 cacheSize,
258 updateStatusTypes, 415 updateStatusTypes,
259 isClearingAllCache, 416 isClearingAllCache,
417 lockingFeatureEnabled,
260 } = app; 418 } = app;
261 const { 419 const {
262 checkForUpdates, 420 checkForUpdates,
@@ -282,6 +440,12 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e
282 isSpellcheckerIncludedInCurrentPlan={spellcheckerConfig.isIncludedInCurrentPlan} 440 isSpellcheckerIncludedInCurrentPlan={spellcheckerConfig.isIncludedInCurrentPlan}
283 isTodosEnabled={todos.isFeatureActive} 441 isTodosEnabled={todos.isFeatureActive}
284 isWorkspaceEnabled={workspaces.isFeatureActive} 442 isWorkspaceEnabled={workspaces.isFeatureActive}
443 server={this.props.stores.settings.app.server}
444 lockingFeatureEnabled={lockingFeatureEnabled}
445 noUpdates={this.props.stores.settings.app.noUpdates}
446 hibernationEnabled={this.props.stores.settings.app.hibernate}
447 isDarkmodeEnabled={this.props.stores.settings.app.darkMode}
448 openProcessManager={() => this.openProcessManager()}
285 /> 449 />
286 </ErrorBoundary> 450 </ErrorBoundary>
287 ); 451 );
diff --git a/src/containers/settings/RecipesScreen.js b/src/containers/settings/RecipesScreen.js
index 132820b6f..70b599d9c 100644
--- a/src/containers/settings/RecipesScreen.js
+++ b/src/containers/settings/RecipesScreen.js
@@ -1,4 +1,5 @@
1import { remote, shell } from 'electron'; 1import { remote, shell } from 'electron';
2import fs from 'fs-extra';
2import React, { Component } from 'react'; 3import React, { Component } from 'react';
3import PropTypes from 'prop-types'; 4import PropTypes from 'prop-types';
4import { autorun } from 'mobx'; 5import { autorun } from 'mobx';
@@ -12,9 +13,9 @@ import UserStore from '../../stores/UserStore';
12 13
13import RecipesDashboard from '../../components/settings/recipes/RecipesDashboard'; 14import RecipesDashboard from '../../components/settings/recipes/RecipesDashboard';
14import ErrorBoundary from '../../components/util/ErrorBoundary'; 15import ErrorBoundary from '../../components/util/ErrorBoundary';
15import { FRANZ_DEV_DOCS } from '../../config'; 16import { FRANZ_DEV_DOCS, RECIPES_PATH } from '../../config';
16import { gaEvent } from '../../lib/analytics';
17import { communityRecipesStore } from '../../features/communityRecipes'; 17import { communityRecipesStore } from '../../features/communityRecipes';
18import RecipePreview from '../../models/RecipePreview';
18 19
19const { app } = remote; 20const { app } = remote;
20 21
@@ -38,6 +39,14 @@ export default @inject('stores', 'actions') @observer class RecipesScreen extend
38 39
39 autorunDisposer = null; 40 autorunDisposer = null;
40 41
42 customRecipes = [];
43
44 constructor(props) {
45 super(props);
46
47 this.customRecipes = fs.readJsonSync(path.join(RECIPES_PATH, 'all.json'));
48 }
49
41 componentDidMount() { 50 componentDidMount() {
42 this.autorunDisposer = autorun(() => { 51 this.autorunDisposer = autorun(() => {
43 const { filter } = this.props.params; 52 const { filter } = this.props.params;
@@ -68,6 +77,27 @@ export default @inject('stores', 'actions') @observer class RecipesScreen extend
68 } 77 }
69 } 78 }
70 79
80
81 prepareRecipes(recipes) {
82 return recipes
83 // Filter out duplicate recipes
84 .filter((recipe, index, self) => {
85 const ids = self.map(rec => rec.id);
86 return ids.indexOf(recipe.id) === index;
87
88 // Sort alphabetically
89 }).sort((a, b) => {
90 if (a.id < b.id) { return -1; }
91 if (a.id > b.id) { return 1; }
92 return 0;
93 });
94 }
95
96 // Create an array of RecipePreviews from an array of recipe objects
97 createPreviews(recipes) {
98 return recipes.map(recipe => new RecipePreview(recipe));
99 }
100
71 resetSearch() { 101 resetSearch() {
72 this.setState({ needle: null }); 102 this.setState({ needle: null });
73 } 103 }
@@ -89,14 +119,25 @@ export default @inject('stores', 'actions') @observer class RecipesScreen extend
89 let recipeFilter; 119 let recipeFilter;
90 120
91 if (filter === 'all') { 121 if (filter === 'all') {
92 recipeFilter = recipePreviews.all; 122 recipeFilter = this.prepareRecipes([
123 ...recipePreviews.all,
124 ...this.createPreviews(this.customRecipes),
125 ]);
93 } else if (filter === 'dev') { 126 } else if (filter === 'dev') {
94 recipeFilter = communityRecipesStore.communityRecipes; 127 recipeFilter = communityRecipesStore.communityRecipes;
95 } else { 128 } else {
96 recipeFilter = recipePreviews.featured; 129 recipeFilter = recipePreviews.featured;
97 } 130 }
98 131
99 const allRecipes = this.state.needle ? recipePreviews.searchResults : recipeFilter; 132 const allRecipes = this.state.needle ? this.prepareRecipes([
133 // All search recipes from server
134 ...recipePreviews.searchResults,
135 // All search recipes from local recipes
136 ...this.createPreviews(
137 this.customRecipes
138 .filter(service => service.name.toLowerCase().includes(this.state.needle.toLowerCase())),
139 ),
140 ]) : recipeFilter;
100 141
101 const isLoading = recipePreviews.featuredRecipePreviewsRequest.isExecuting 142 const isLoading = recipePreviews.featuredRecipePreviewsRequest.isExecuting
102 || recipePreviews.allRecipePreviewsRequest.isExecuting 143 || recipePreviews.allRecipePreviewsRequest.isExecuting
@@ -122,11 +163,9 @@ export default @inject('stores', 'actions') @observer class RecipesScreen extend
122 recipeDirectory={recipeDirectory} 163 recipeDirectory={recipeDirectory}
123 openRecipeDirectory={() => { 164 openRecipeDirectory={() => {
124 shell.openItem(recipeDirectory); 165 shell.openItem(recipeDirectory);
125 gaEvent('Recipe', 'open-recipe-folder', 'Open Folder');
126 }} 166 }}
127 openDevDocs={() => { 167 openDevDocs={() => {
128 appActions.openExternalUrl({ url: FRANZ_DEV_DOCS }); 168 appActions.openExternalUrl({ url: FRANZ_DEV_DOCS });
129 gaEvent('Recipe', 'open-dev-docs', 'Developer Documentation');
130 }} 169 }}
131 isCommunityRecipesIncludedInCurrentPlan={communityRecipesStore.isCommunityRecipesIncludedInCurrentPlan} 170 isCommunityRecipesIncludedInCurrentPlan={communityRecipesStore.isCommunityRecipesIncludedInCurrentPlan}
132 isUserPremiumUser={user.isPremium} 171 isUserPremiumUser={user.isPremium}
diff --git a/src/containers/settings/SupportScreen.js b/src/containers/settings/SupportScreen.js
new file mode 100644
index 000000000..34dce1dae
--- /dev/null
+++ b/src/containers/settings/SupportScreen.js
@@ -0,0 +1,36 @@
1import React, { Component } from 'react';
2import { inject } from 'mobx-react';
3import PropTypes from 'prop-types';
4
5import SupportFerdi from '../../components/settings/supportFerdi/SupportFerdiDashboard';
6import ErrorBoundary from '../../components/util/ErrorBoundary';
7
8export default @inject('actions') class SupportScreen extends Component {
9 constructor(props) {
10 super(props);
11
12 this.openLink = this.openLink.bind(this);
13 }
14
15 openLink(url) {
16 this.props.actions.app.openExternalUrl({ url });
17 }
18
19 render() {
20 return (
21 <ErrorBoundary>
22 <SupportFerdi
23 openLink={this.openLink}
24 />
25 </ErrorBoundary>
26 );
27 }
28}
29
30SupportScreen.wrappedComponent.propTypes = {
31 actions: PropTypes.shape({
32 app: PropTypes.shape({
33 openExternalUrl: PropTypes.func.isRequired,
34 }).isRequired,
35 }).isRequired,
36};
diff --git a/src/containers/settings/TeamScreen.js b/src/containers/settings/TeamScreen.js
index f600c9947..d0196923a 100644
--- a/src/containers/settings/TeamScreen.js
+++ b/src/containers/settings/TeamScreen.js
@@ -4,6 +4,7 @@ import { inject, observer } from 'mobx-react';
4 4
5import UserStore from '../../stores/UserStore'; 5import UserStore from '../../stores/UserStore';
6import AppStore from '../../stores/AppStore'; 6import AppStore from '../../stores/AppStore';
7import SettingsStore from '../../stores/SettingsStore';
7 8
8import TeamDashboard from '../../components/settings/team/TeamDashboard'; 9import TeamDashboard from '../../components/settings/team/TeamDashboard';
9import ErrorBoundary from '../../components/util/ErrorBoundary'; 10import ErrorBoundary from '../../components/util/ErrorBoundary';
@@ -19,9 +20,10 @@ export default @inject('stores', 'actions') @observer class TeamScreen extends C
19 } 20 }
20 21
21 render() { 22 render() {
22 const { user } = this.props.stores; 23 const { user, settings } = this.props.stores;
23 24
24 const isLoadingUserInfo = user.getUserInfoRequest.isExecuting; 25 const isLoadingUserInfo = user.getUserInfoRequest.isExecuting;
26 const { server } = settings.app;
25 27
26 return ( 28 return (
27 <ErrorBoundary> 29 <ErrorBoundary>
@@ -31,6 +33,7 @@ export default @inject('stores', 'actions') @observer class TeamScreen extends C
31 retryUserInfoRequest={() => this.reloadData()} 33 retryUserInfoRequest={() => this.reloadData()}
32 openTeamManagement={() => this.handleWebsiteLink('/user/team')} 34 openTeamManagement={() => this.handleWebsiteLink('/user/team')}
33 isProUser={user.isPro} 35 isProUser={user.isPro}
36 server={server}
34 /> 37 />
35 </ErrorBoundary> 38 </ErrorBoundary>
36 ); 39 );
@@ -41,6 +44,7 @@ TeamScreen.wrappedComponent.propTypes = {
41 stores: PropTypes.shape({ 44 stores: PropTypes.shape({
42 user: PropTypes.instanceOf(UserStore).isRequired, 45 user: PropTypes.instanceOf(UserStore).isRequired,
43 app: PropTypes.instanceOf(AppStore).isRequired, 46 app: PropTypes.instanceOf(AppStore).isRequired,
47 settings: PropTypes.instanceOf(SettingsStore).isRequired,
44 }).isRequired, 48 }).isRequired,
45 actions: PropTypes.shape({ 49 actions: PropTypes.shape({
46 payment: PropTypes.shape({ 50 payment: PropTypes.shape({
diff --git a/src/dev-app-update.yml b/src/dev-app-update.yml
index 8ddca71e3..978e30a9b 100644
--- a/src/dev-app-update.yml
+++ b/src/dev-app-update.yml
@@ -1,3 +1,3 @@
1owner: meetfranz 1owner: kytwb
2repo: franz 2repo: Ferdi
3provider: github 3provider: github
diff --git a/src/electron/Settings.js b/src/electron/Settings.js
index e4ad6b612..d4f0d25bf 100644
--- a/src/electron/Settings.js
+++ b/src/electron/Settings.js
@@ -4,7 +4,7 @@ import path from 'path';
4 4
5import { SETTINGS_PATH } from '../config'; 5import { SETTINGS_PATH } from '../config';
6 6
7const debug = require('debug')('Franz:Settings'); 7const debug = require('debug')('Ferdi:Settings');
8 8
9export default class Settings { 9export default class Settings {
10 type = ''; 10 type = '';
diff --git a/src/electron/deepLinking.js b/src/electron/deepLinking.js
index ef23fd3c5..70e5cfb6f 100644
--- a/src/electron/deepLinking.js
+++ b/src/electron/deepLinking.js
@@ -1,5 +1,5 @@
1export default function handleDeepLink(window, rawUrl) { 1export default function handleDeepLink(window, rawUrl) {
2 const url = rawUrl.replace('franz://', ''); 2 const url = rawUrl.replace('ferdi://', '');
3 3
4 if (!url) return; 4 if (!url) return;
5 5
diff --git a/src/electron/ipc-api/autoUpdate.js b/src/electron/ipc-api/autoUpdate.js
index 9a04c1958..506aecdf7 100644
--- a/src/electron/ipc-api/autoUpdate.js
+++ b/src/electron/ipc-api/autoUpdate.js
@@ -1,27 +1,36 @@
1import { app, ipcMain } from 'electron'; 1import { app, ipcMain } from 'electron';
2import { autoUpdater } from 'electron-updater'; 2import { autoUpdater } from 'electron-updater';
3 3
4const debug = require('debug')('Franz:ipcApi:autoUpdate'); 4const debug = require('debug')('Ferdi:ipcApi:autoUpdate');
5 5
6export default (params) => { 6export default (params) => {
7 if (process.platform === 'darwin' || process.platform === 'win32' || process.env.APPIMAGE) { 7 const disableUpdates = Boolean(params.settings.app.get('noUpdates'));
8
9 if (disableUpdates) {
10 autoUpdater.autoInstallOnAppQuit = false;
11 autoUpdater.autoDownload = false;
12 } else if (process.platform === 'darwin' || process.platform === 'win32' || process.env.APPIMAGE) {
8 ipcMain.on('autoUpdate', (event, args) => { 13 ipcMain.on('autoUpdate', (event, args) => {
9 try { 14 const enableUpdate = !params.settings.app.get('noUpdates');
10 autoUpdater.autoInstallOnAppQuit = false; 15
11 autoUpdater.allowPrerelease = Boolean(params.settings.app.get('beta')); 16 if (enableUpdate) {
12 if (args.action === 'check') { 17 try {
13 autoUpdater.checkForUpdates(); 18 autoUpdater.autoInstallOnAppQuit = false;
14 } else if (args.action === 'install') { 19 autoUpdater.allowPrerelease = Boolean(params.settings.app.get('beta'));
15 debug('install update'); 20 if (args.action === 'check') {
16 autoUpdater.quitAndInstall(); 21 autoUpdater.checkForUpdates();
17 // we need to send a quit event 22 } else if (args.action === 'install') {
18 setTimeout(() => { 23 debug('install update');
19 app.quit(); 24 autoUpdater.quitAndInstall();
20 }, 20); 25 // we need to send a quit event
26 setTimeout(() => {
27 app.quit();
28 }, 20);
29 }
30 } catch (e) {
31 console.error(e);
32 event.sender.send('autoUpdate', { error: true });
21 } 33 }
22 } catch (e) {
23 console.error(e);
24 event.sender.send('autoUpdate', { error: true });
25 } 34 }
26 }); 35 });
27 36
@@ -32,10 +41,14 @@ export default (params) => {
32 41
33 autoUpdater.on('update-available', (event) => { 42 autoUpdater.on('update-available', (event) => {
34 debug('update-available'); 43 debug('update-available');
35 params.mainWindow.webContents.send('autoUpdate', { 44
36 version: event.version, 45 const enableUpdate = !params.settings.app.get('noUpdates');
37 available: true, 46 if (enableUpdate) {
38 }); 47 params.mainWindow.webContents.send('autoUpdate', {
48 version: event.version,
49 available: true,
50 });
51 }
39 }); 52 });
40 53
41 autoUpdater.on('download-progress', (progressObj) => { 54 autoUpdater.on('download-progress', (progressObj) => {
diff --git a/src/electron/ipc-api/download.js b/src/electron/ipc-api/download.js
index e6703af2d..01b81d388 100644
--- a/src/electron/ipc-api/download.js
+++ b/src/electron/ipc-api/download.js
@@ -3,7 +3,7 @@ import { download } from 'electron-dl';
3import mime from 'mime-types'; 3import mime from 'mime-types';
4import fs from 'fs-extra'; 4import fs from 'fs-extra';
5 5
6const debug = require('debug')('Franz:ipcApi:download'); 6const debug = require('debug')('Ferdi:ipcApi:download');
7 7
8function decodeBase64Image(dataString) { 8function decodeBase64Image(dataString) {
9 const matches = dataString.match(/^data:([A-Za-z-+/]+);base64,(.+)$/); 9 const matches = dataString.match(/^data:([A-Za-z-+/]+);base64,(.+)$/);
diff --git a/src/electron/ipc-api/index.js b/src/electron/ipc-api/index.js
index be8e0815a..dcdef6b32 100644
--- a/src/electron/ipc-api/index.js
+++ b/src/electron/ipc-api/index.js
@@ -2,10 +2,14 @@ import autoUpdate from './autoUpdate';
2import settings from './settings'; 2import settings from './settings';
3import appIndicator from './appIndicator'; 3import appIndicator from './appIndicator';
4import download from './download'; 4import download from './download';
5import processManager from './processManager';
6import localServer from './localServer';
5 7
6export default (params) => { 8export default (params) => {
7 settings(params); 9 settings(params);
8 autoUpdate(params); 10 autoUpdate(params);
9 appIndicator(params); 11 appIndicator(params);
10 download(params); 12 download(params);
13 processManager(params);
14 localServer(params);
11}; 15};
diff --git a/src/electron/ipc-api/localServer.js b/src/electron/ipc-api/localServer.js
new file mode 100644
index 000000000..d12fb5708
--- /dev/null
+++ b/src/electron/ipc-api/localServer.js
@@ -0,0 +1,51 @@
1import { ipcMain, app } from 'electron';
2import net from 'net';
3import startServer from '../../server/start';
4
5const DEFAULT_PORT = 45569;
6
7const portInUse = function (port) {
8 return new Promise((resolve) => {
9 const server = net.createServer((socket) => {
10 socket.write('Echo server\r\n');
11 socket.pipe(socket);
12 });
13
14 server.listen(port, '127.0.0.1');
15 server.on('error', () => {
16 resolve(true);
17 });
18 server.on('listening', () => {
19 server.close();
20 resolve(false);
21 });
22 });
23};
24
25let localServerStarted = false;
26
27export default (params) => {
28 ipcMain.on('startLocalServer', () => {
29 if (!localServerStarted) {
30 // Find next unused port for server
31 let port = DEFAULT_PORT;
32 (async () => {
33 // eslint-disable-next-line no-await-in-loop
34 while (await portInUse(port) && port < DEFAULT_PORT + 10) {
35 port += 1;
36 }
37 console.log('Starting local server on port', port);
38
39 startServer(
40 app.getPath('userData'),
41 port,
42 );
43
44 params.mainWindow.webContents.send('localServerPort', {
45 port,
46 });
47 })();
48 localServerStarted = true;
49 }
50 });
51};
diff --git a/src/electron/ipc-api/processManager.js b/src/electron/ipc-api/processManager.js
new file mode 100644
index 000000000..7197a2708
--- /dev/null
+++ b/src/electron/ipc-api/processManager.js
@@ -0,0 +1,8 @@
1import { ipcMain } from 'electron';
2import { openProcessManager } from 'electron-process-manager';
3
4export default () => {
5 ipcMain.on('openProcessManager', () => {
6 openProcessManager();
7 });
8};
diff --git a/src/environment.js b/src/environment.js
index 4be2c7d70..6c889f7d8 100644
--- a/src/environment.js
+++ b/src/environment.js
@@ -12,7 +12,6 @@ import {
12 DEV_WS_API, 12 DEV_WS_API,
13 LOCAL_TODOS_FRONTEND_URL, 13 LOCAL_TODOS_FRONTEND_URL,
14 PRODUCTION_TODOS_FRONTEND_URL, 14 PRODUCTION_TODOS_FRONTEND_URL,
15 DEVELOPMENT_TODOS_FRONTEND_URL,
16} from './config'; 15} from './config';
17 16
18export const isDevMode = isDev; 17export const isDevMode = isDev;
@@ -51,7 +50,7 @@ if (!isDevMode || (isDevMode && useLiveAPI)) {
51 api = DEV_API; 50 api = DEV_API;
52 wsApi = DEV_WS_API; 51 wsApi = DEV_WS_API;
53 web = DEV_API_WEBSITE; 52 web = DEV_API_WEBSITE;
54 todos = DEVELOPMENT_TODOS_FRONTEND_URL; 53 todos = PRODUCTION_TODOS_FRONTEND_URL;
55} 54}
56 55
57export const API = api; 56export const API = api;
diff --git a/src/features/accentColor/index.js b/src/features/accentColor/index.js
new file mode 100644
index 000000000..a0f57a2fa
--- /dev/null
+++ b/src/features/accentColor/index.js
@@ -0,0 +1,55 @@
1import { reaction } from 'mobx';
2import themeInfo from '../../assets/themeInfo.json';
3import { DEFAULT_APP_SETTINGS } from '../../config';
4
5const STYLE_ELEMENT_ID = 'accent-color';
6
7function createAccentStyleElement() {
8 const styles = document.createElement('style');
9 styles.id = STYLE_ELEMENT_ID;
10
11 document.querySelector('head').appendChild(styles);
12}
13
14function setAccentStyle(style) {
15 const styleElement = document.getElementById(STYLE_ELEMENT_ID);
16 styleElement.innerHTML = style;
17}
18
19function generateAccentStyle(color) {
20 let style = '';
21
22 Object.keys(themeInfo).forEach((property) => {
23 style += `
24 ${themeInfo[property]} {
25 ${property}: ${color};
26 }
27 `;
28 });
29
30 return style;
31}
32
33export default function initAccentColor(stores) {
34 const { settings } = stores;
35 createAccentStyleElement();
36
37 // Update accent color
38 reaction(
39 () => (
40 settings.all.app.accentColor
41 ),
42 (color) => {
43 if (color === DEFAULT_APP_SETTINGS.accentColor) {
44 // Reset accent style to return to default color scheme
45 setAccentStyle('');
46 } else {
47 const style = generateAccentStyle(color);
48 setAccentStyle(style);
49 }
50 },
51 {
52 fireImmediately: true,
53 },
54 );
55}
diff --git a/src/features/announcements/api.js b/src/features/announcements/api.js
index a581bd8de..e5c5a7d6f 100644
--- a/src/features/announcements/api.js
+++ b/src/features/announcements/api.js
@@ -1,8 +1,7 @@
1import { remote } from 'electron'; 1import { remote } from 'electron';
2import Request from '../../stores/lib/Request'; 2import Request from '../../stores/lib/Request';
3import { API, API_VERSION } from '../../environment';
4 3
5const debug = require('debug')('Franz:feature:announcements:api'); 4const debug = require('debug')('Ferdi:feature:announcements:api');
6 5
7export const announcementsApi = { 6export const announcementsApi = {
8 async getCurrentVersion() { 7 async getCurrentVersion() {
@@ -12,7 +11,7 @@ export const announcementsApi = {
12 11
13 async getChangelog(version) { 12 async getChangelog(version) {
14 debug('fetching release changelog from Github'); 13 debug('fetching release changelog from Github');
15 const url = `https://api.github.com/repos/meetfranz/franz/releases/tags/v${version}`; 14 const url = `https://api.github.com/repos/getferdi/ferdi/releases/tags/v${version}`;
16 const request = await window.fetch(url, { method: 'GET' }); 15 const request = await window.fetch(url, { method: 'GET' });
17 if (!request.ok) return null; 16 if (!request.ok) return null;
18 const data = await request.json(); 17 const data = await request.json();
@@ -21,7 +20,7 @@ export const announcementsApi = {
21 20
22 async getAnnouncement(version) { 21 async getAnnouncement(version) {
23 debug('fetching release announcement from api'); 22 debug('fetching release announcement from api');
24 const url = `${API}/${API_VERSION}/announcements/${version}`; 23 const url = `https://api.getferdi.com/v1/announcements/${version}`;
25 const response = await window.fetch(url, { method: 'GET' }); 24 const response = await window.fetch(url, { method: 'GET' });
26 if (!response.ok) return null; 25 if (!response.ok) return null;
27 return response.json(); 26 return response.json();
diff --git a/src/features/announcements/components/AnnouncementScreen.js b/src/features/announcements/components/AnnouncementScreen.js
index 03bd5ba41..38de2dbc8 100644
--- a/src/features/announcements/components/AnnouncementScreen.js
+++ b/src/features/announcements/components/AnnouncementScreen.js
@@ -8,7 +8,6 @@ import { Button } from '@meetfranz/forms';
8 8
9import { announcementsStore } from '../index'; 9import { announcementsStore } from '../index';
10import UIStore from '../../../stores/UIStore'; 10import UIStore from '../../../stores/UIStore';
11import { gaEvent } from '../../../lib/analytics';
12 11
13const renderer = new marked.Renderer(); 12const renderer = new marked.Renderer();
14 13
@@ -19,7 +18,7 @@ const markedOptions = { sanitize: true, renderer };
19const messages = defineMessages({ 18const messages = defineMessages({
20 headline: { 19 headline: {
21 id: 'feature.announcements.changelog.headline', 20 id: 'feature.announcements.changelog.headline',
22 defaultMessage: '!!!Changes in Franz {version}', 21 defaultMessage: '!!!Changes in Ferdi {version}',
23 }, 22 },
24}); 23});
25 24
@@ -228,9 +227,7 @@ class AnnouncementScreen extends Component {
228 <Button 227 <Button
229 label={announcement.main.cta.label} 228 label={announcement.main.cta.label}
230 onClick={() => { 229 onClick={() => {
231 const { analytics } = announcement.main.cta;
232 window.location.href = `#${announcement.main.cta.href}`; 230 window.location.href = `#${announcement.main.cta.href}`;
233 gaEvent(analytics.category, analytics.action, announcement.main.cta.label);
234 }} 231 }}
235 /> 232 />
236 </div> 233 </div>
@@ -253,9 +250,7 @@ class AnnouncementScreen extends Component {
253 <Button 250 <Button
254 label={announcement.spotlight.cta.label} 251 label={announcement.spotlight.cta.label}
255 onClick={() => { 252 onClick={() => {
256 const { analytics } = announcement.spotlight.cta;
257 window.location.href = `#${announcement.spotlight.cta.href}`; 253 window.location.href = `#${announcement.spotlight.cta.href}`;
258 gaEvent(analytics.category, analytics.action, announcement.spotlight.cta.label);
259 }} 254 }}
260 /> 255 />
261 </div> 256 </div>
diff --git a/src/features/announcements/index.js b/src/features/announcements/index.js
index f14e7c9a5..10f081bb1 100644
--- a/src/features/announcements/index.js
+++ b/src/features/announcements/index.js
@@ -1,7 +1,7 @@
1import { reaction } from 'mobx'; 1import { reaction } from 'mobx';
2import { AnnouncementsStore } from './store'; 2import { AnnouncementsStore } from './store';
3 3
4const debug = require('debug')('Franz:feature:announcements'); 4const debug = require('debug')('Ferdi:feature:announcements');
5 5
6export const GA_CATEGORY_ANNOUNCEMENTS = 'Announcements'; 6export const GA_CATEGORY_ANNOUNCEMENTS = 'Announcements';
7 7
@@ -12,13 +12,12 @@ export const ANNOUNCEMENTS_ROUTES = {
12}; 12};
13 13
14export default function initAnnouncements(stores, actions) { 14export default function initAnnouncements(stores, actions) {
15 // const { features } = stores; 15 const { features } = stores;
16 16
17 // Toggle workspace feature 17 // Toggle announcement feature
18 reaction( 18 reaction(
19 () => ( 19 () => (
20 true 20 features.features.isAnnouncementsEnabled
21 // features.features.isAnnouncementsEnabled
22 ), 21 ),
23 (isEnabled) => { 22 (isEnabled) => {
24 if (isEnabled) { 23 if (isEnabled) {
diff --git a/src/features/announcements/store.js b/src/features/announcements/store.js
index d58afbc8e..9ec5f67d2 100644
--- a/src/features/announcements/store.js
+++ b/src/features/announcements/store.js
@@ -7,18 +7,17 @@ import semver from 'semver';
7import localStorage from 'mobx-localstorage'; 7import localStorage from 'mobx-localstorage';
8 8
9import { FeatureStore } from '../utils/FeatureStore'; 9import { FeatureStore } from '../utils/FeatureStore';
10import { ANNOUNCEMENTS_ROUTES, GA_CATEGORY_ANNOUNCEMENTS } from '.'; 10import { ANNOUNCEMENTS_ROUTES } from '.';
11import { getAnnouncementRequest, getChangelogRequest, getCurrentVersionRequest } from './api'; 11import { getAnnouncementRequest, getChangelogRequest, getCurrentVersionRequest } from './api';
12import { announcementActions } from './actions'; 12import { announcementActions } from './actions';
13import { createActionBindings } from '../utils/ActionBinding'; 13import { createActionBindings } from '../utils/ActionBinding';
14import { createReactions } from '../../stores/lib/Reaction'; 14import { createReactions } from '../../stores/lib/Reaction';
15import { gaEvent } from '../../lib/analytics';
16import { matchRoute } from '../../helpers/routing-helpers'; 15import { matchRoute } from '../../helpers/routing-helpers';
17import { DEFAULT_APP_SETTINGS } from '../../config'; 16import { DEFAULT_APP_SETTINGS } from '../../config';
18 17
19const LOCAL_STORAGE_KEY = 'announcements'; 18const LOCAL_STORAGE_KEY = 'announcements';
20 19
21const debug = require('debug')('Franz:feature:announcements:store'); 20const debug = require('debug')('Ferdi:feature:announcements:store');
22 21
23export class AnnouncementsStore extends FeatureStore { 22export class AnnouncementsStore extends FeatureStore {
24 @observable targetVersion = null; 23 @observable targetVersion = null;
@@ -114,7 +113,6 @@ export class AnnouncementsStore extends FeatureStore {
114 if (router.location.pathname !== targetRoute) { 113 if (router.location.pathname !== targetRoute) {
115 this.stores.router.push(targetRoute); 114 this.stores.router.push(targetRoute);
116 } 115 }
117 gaEvent(GA_CATEGORY_ANNOUNCEMENTS, 'show');
118 }; 116 };
119 117
120 // ======= REACTIONS ======== 118 // ======= REACTIONS ========
diff --git a/src/features/basicAuth/index.js b/src/features/basicAuth/index.js
index 89607824b..51625ea55 100644
--- a/src/features/basicAuth/index.js
+++ b/src/features/basicAuth/index.js
@@ -3,7 +3,7 @@ import { observable } from 'mobx';
3 3
4import BasicAuthComponent from './Component'; 4import BasicAuthComponent from './Component';
5 5
6const debug = require('debug')('Franz:feature:basicAuth'); 6const debug = require('debug')('Ferdi:feature:basicAuth');
7 7
8const defaultState = { 8const defaultState = {
9 isModalVisible: true, 9 isModalVisible: true,
@@ -20,7 +20,7 @@ export function resetState() {
20export default function initialize() { 20export default function initialize() {
21 debug('Initialize basicAuth feature'); 21 debug('Initialize basicAuth feature');
22 22
23 window.franz.features.basicAuth = { 23 window.ferdi.features.basicAuth = {
24 state, 24 state,
25 }; 25 };
26 26
diff --git a/src/features/basicAuth/mainIpcHandler.js b/src/features/basicAuth/mainIpcHandler.js
index 87ac0b6df..ae4e7cf93 100644
--- a/src/features/basicAuth/mainIpcHandler.js
+++ b/src/features/basicAuth/mainIpcHandler.js
@@ -1,4 +1,4 @@
1const debug = require('debug')('Franz:feature:basicAuth:main'); 1const debug = require('debug')('Ferdi:feature:basicAuth:main');
2 2
3export default function mainIpcHandler(mainWindow, authInfo) { 3export default function mainIpcHandler(mainWindow, authInfo) {
4 debug('Sending basic auth call', authInfo); 4 debug('Sending basic auth call', authInfo);
diff --git a/src/features/communityRecipes/index.js b/src/features/communityRecipes/index.js
index 4d050f90e..553b423f3 100644
--- a/src/features/communityRecipes/index.js
+++ b/src/features/communityRecipes/index.js
@@ -1,7 +1,7 @@
1import { reaction } from 'mobx'; 1import { reaction } from 'mobx';
2import { CommunityRecipesStore } from './store'; 2import { CommunityRecipesStore } from './store';
3 3
4const debug = require('debug')('Franz:feature:communityRecipes'); 4const debug = require('debug')('Ferdi:feature:communityRecipes');
5 5
6export const DEFAULT_SERVICE_LIMIT = 3; 6export const DEFAULT_SERVICE_LIMIT = 3;
7 7
@@ -19,7 +19,7 @@ export default function initCommunityRecipes(stores, actions) {
19 ), 19 ),
20 (isPremiumFeature) => { 20 (isPremiumFeature) => {
21 debug('Community recipes is premium feature: ', isPremiumFeature); 21 debug('Community recipes is premium feature: ', isPremiumFeature);
22 communityRecipesStore.isCommunityRecipesIncludedInCurrentPlan = isPremiumFeature; 22 communityRecipesStore.isCommunityRecipesIncludedInCurrentPlan = true;
23 }, 23 },
24 { 24 {
25 fireImmediately: true, 25 fireImmediately: true,
diff --git a/src/features/communityRecipes/store.js b/src/features/communityRecipes/store.js
index 4d45c3b33..3a60e5449 100644
--- a/src/features/communityRecipes/store.js
+++ b/src/features/communityRecipes/store.js
@@ -1,10 +1,10 @@
1import { computed, observable } from 'mobx'; 1import { computed, observable } from 'mobx';
2import { FeatureStore } from '../utils/FeatureStore'; 2import { FeatureStore } from '../utils/FeatureStore';
3 3
4const debug = require('debug')('Franz:feature:communityRecipes:store'); 4const debug = require('debug')('Ferdi:feature:communityRecipes:store');
5 5
6export class CommunityRecipesStore extends FeatureStore { 6export class CommunityRecipesStore extends FeatureStore {
7 @observable isCommunityRecipesIncludedInCurrentPlan = false; 7 @observable isCommunityRecipesIncludedInCurrentPlan = true;
8 8
9 start(stores, actions) { 9 start(stores, actions) {
10 debug('start'); 10 debug('start');
diff --git a/src/features/delayApp/Component.js b/src/features/delayApp/Component.js
index fcc27c75c..81f89bc52 100644
--- a/src/features/delayApp/Component.js
+++ b/src/features/delayApp/Component.js
@@ -5,9 +5,6 @@ import { defineMessages, intlShape } from 'react-intl';
5import injectSheet from 'react-jss'; 5import injectSheet from 'react-jss';
6 6
7import { Button } from '@meetfranz/forms'; 7import { Button } from '@meetfranz/forms';
8import { gaEvent } from '../../lib/analytics';
9
10// import Button from '../../components/ui/Button';
11 8
12import { config } from '.'; 9import { config } from '.';
13import styles from './styles'; 10import styles from './styles';
@@ -32,7 +29,7 @@ const messages = defineMessages({
32 }, 29 },
33 text: { 30 text: {
34 id: 'feature.delayApp.text', 31 id: 'feature.delayApp.text',
35 defaultMessage: '!!!Franz will continue in {seconds} seconds.', 32 defaultMessage: '!!!Ferdi will continue in {seconds} seconds.',
36 }, 33 },
37}); 34});
38 35
@@ -78,12 +75,8 @@ export default @inject('stores', 'actions') @injectSheet(styles) @observer class
78 75
79 if (!hadSubscription) { 76 if (!hadSubscription) {
80 actions.user.activateTrial({ planId: defaultTrialPlan }); 77 actions.user.activateTrial({ planId: defaultTrialPlan });
81
82 gaEvent('DelayApp', 'subscribe_click', 'Delay App Feature');
83 } else { 78 } else {
84 actions.ui.openSettings({ path: 'user' }); 79 actions.ui.openSettings({ path: 'user' });
85
86 gaEvent('DelayApp', 'subscribe_click', 'Delay App Feature');
87 } 80 }
88 } 81 }
89 82
diff --git a/src/features/delayApp/index.js b/src/features/delayApp/index.js
index 5b28fb7c8..51bd887a2 100644
--- a/src/features/delayApp/index.js
+++ b/src/features/delayApp/index.js
@@ -3,10 +3,9 @@ import moment from 'moment';
3import DelayAppComponent from './Component'; 3import DelayAppComponent from './Component';
4 4
5import { DEFAULT_FEATURES_CONFIG } from '../../config'; 5import { DEFAULT_FEATURES_CONFIG } from '../../config';
6import { gaEvent, gaPage } from '../../lib/analytics';
7import { getUserWorkspacesRequest } from '../workspaces/api'; 6import { getUserWorkspacesRequest } from '../workspaces/api';
8 7
9const debug = require('debug')('Franz:feature:delayApp'); 8const debug = require('debug')('Ferdi:feature:delayApp');
10 9
11export const config = { 10export const config = {
12 delayOffset: DEFAULT_FEATURES_CONFIG.needToWaitToProceedConfig.delayOffset, 11 delayOffset: DEFAULT_FEATURES_CONFIG.needToWaitToProceedConfig.delayOffset,
@@ -29,7 +28,7 @@ export default function init(stores) {
29 let shownAfterLaunch = false; 28 let shownAfterLaunch = false;
30 let timeLastDelay = moment(); 29 let timeLastDelay = moment();
31 30
32 window.franz.features.delayApp = { 31 window.ferdi.features.delayApp = {
33 state, 32 state,
34 }; 33 };
35 34
@@ -64,8 +63,6 @@ export default function init(stores) {
64 debug(`App will be delayed for ${config.delayDuration / 1000}s`); 63 debug(`App will be delayed for ${config.delayDuration / 1000}s`);
65 64
66 setVisibility(true); 65 setVisibility(true);
67 gaPage('/delayApp');
68 gaEvent('DelayApp', 'show', 'Delay App Feature');
69 66
70 67
71 setTimeout(() => { 68 setTimeout(() => {
diff --git a/src/features/quickSwitch/Component.js b/src/features/quickSwitch/Component.js
new file mode 100644
index 000000000..797589e9b
--- /dev/null
+++ b/src/features/quickSwitch/Component.js
@@ -0,0 +1,337 @@
1import React, { Component, createRef } from 'react';
2import { remote } from 'electron';
3import PropTypes from 'prop-types';
4import { observer, inject } from 'mobx-react';
5import { reaction } from 'mobx';
6import injectSheet from 'react-jss';
7import { defineMessages, intlShape } from 'react-intl';
8import { Input } from '@meetfranz/forms';
9import { H1 } from '@meetfranz/ui';
10
11import Modal from '../../components/ui/Modal';
12import { state as ModalState } from '.';
13import ServicesStore from '../../stores/ServicesStore';
14
15const messages = defineMessages({
16 title: {
17 id: 'feature.quickSwitch.title',
18 defaultMessage: '!!!QuickSwitch',
19 },
20 search: {
21 id: 'feature.quickSwitch.search',
22 defaultMessage: '!!!Search...',
23 },
24 info: {
25 id: 'feature.quickSwitch.info',
26 defaultMessage: '!!!Select a service with TAB, ↑ and ↓. Open a service with ENTER.',
27 },
28});
29
30const styles = theme => ({
31 modal: {
32 width: '80%',
33 maxWidth: 600,
34 background: theme.styleTypes.primary.contrast,
35 color: theme.styleTypes.primary.accent,
36 paddingTop: 30,
37 },
38 headline: {
39 fontSize: 20,
40 marginBottom: 20,
41 marginTop: -27,
42 },
43 services: {
44 width: '100%',
45 maxHeight: '50vh',
46 overflow: 'scroll',
47 },
48 service: {
49 background: theme.styleTypes.primary.contrast,
50 color: theme.colorText,
51 borderColor: theme.styleTypes.primary.accent,
52 borderStyle: 'solid',
53 borderWidth: 1,
54 borderRadius: 6,
55 padding: '3px 25px',
56 marginBottom: 10,
57 display: 'flex',
58 alignItems: 'center',
59 '&:hover': {
60 background: theme.styleTypes.primary.accent,
61 color: theme.styleTypes.primary.contrast,
62 cursor: 'pointer',
63 },
64 },
65 activeService: {
66 background: theme.styleTypes.primary.accent,
67 color: theme.styleTypes.primary.contrast,
68 cursor: 'pointer',
69 },
70 serviceIcon: {
71 width: 50,
72 height: 50,
73 paddingRight: 20,
74 objectFit: 'contain',
75 },
76});
77
78export default @injectSheet(styles) @inject('stores', 'actions') @observer class QuickSwitchModal extends Component {
79 static propTypes = {
80 classes: PropTypes.object.isRequired,
81 };
82
83 static contextTypes = {
84 intl: intlShape,
85 };
86
87 state = {
88 selected: 0,
89 search: '',
90 wasPrevVisible: false,
91 }
92
93 ARROW_DOWN = 40;
94
95 ARROW_UP = 38;
96
97 ENTER = 13;
98
99 TAB = 9;
100
101 inputRef = createRef();
102
103 serviceElements = {};
104
105 constructor(props) {
106 super(props);
107
108 this._handleKeyDown = this._handleKeyDown.bind(this);
109 this._handleSearchUpdate = this._handleSearchUpdate.bind(this);
110 this._handleVisibilityChange = this._handleVisibilityChange.bind(this);
111 this.openService = this.openService.bind(this);
112
113 reaction(
114 () => ModalState.isModalVisible,
115 this._handleVisibilityChange,
116 );
117 }
118
119 // Add global keydown listener when component mounts
120 componentDidMount() {
121 document.addEventListener('keydown', this._handleKeyDown);
122 }
123
124 // Remove global keydown listener when component unmounts
125 componentWillUnmount() {
126 document.removeEventListener('keydown', this._handleKeyDown);
127 }
128
129 // Get currently shown services
130 services() {
131 let services = [];
132 if (this.state.search) {
133 // Apply simple search algorythm to list of all services
134 services = this.props.stores.services.allDisplayed;
135 services = services.filter(service => service.name.toLowerCase().includes(this.state.search.toLowerCase()));
136 } else {
137 // Add last used services to services array
138 for (const service of this.props.stores.services.lastUsedServices) {
139 if (this.props.stores.services.one(service)) {
140 services.push(
141 this.props.stores.services.one(service),
142 );
143 }
144 }
145
146 // Add all other services in the default order
147 for (const service of this.props.stores.services.allDisplayed) {
148 if (!services.includes(service)) {
149 services.push(service);
150 }
151 }
152 }
153
154 return services;
155 }
156
157 openService(index) {
158 // Open service
159 const service = this.services()[index];
160 this.props.actions.service.setActive({ serviceId: service.id });
161
162 // Reset and close modal
163 this.setState({
164 search: '',
165 });
166 this.close();
167 }
168
169 // Change the selected service
170 // factor should be -1 or 1
171 changeSelected(factor) {
172 this.setState((state) => {
173 let newSelected = state.selected + factor;
174 const services = this.services().length;
175
176 // Roll around when on edge of list
177 if (state.selected < 1 && factor === -1) {
178 newSelected = services - 1;
179 } else if ((state.selected >= (services - 1)) && factor === 1) {
180 newSelected = 0;
181 }
182
183 // Make sure new selection is visible
184 const serviceElement = this.serviceElements[newSelected];
185 if (serviceElement) {
186 serviceElement.scrollIntoViewIfNeeded(false);
187 }
188
189
190 return {
191 selected: newSelected,
192 };
193 });
194 }
195
196 // Handle global key presses to change the selection
197 _handleKeyDown(event) {
198 if (ModalState.isModalVisible) {
199 switch (event.keyCode) {
200 case this.ARROW_DOWN:
201 this.changeSelected(1);
202 break;
203 case this.TAB:
204 this.changeSelected(1);
205 break;
206 case this.ARROW_UP:
207 this.changeSelected(-1);
208 break;
209 case this.ENTER:
210 this.openService(this.state.selected);
211 break;
212 default:
213 break;
214 }
215 }
216 }
217
218 // Handle update of the search query
219 _handleSearchUpdate(evt) {
220 this.setState({
221 search: evt.target.value,
222 });
223 }
224
225 _handleVisibilityChange() {
226 const { isModalVisible } = ModalState;
227
228 if (isModalVisible && !this.state.wasPrevVisible) {
229 // Set focus back on current window if its in a service
230 // TODO: Find a way to gain back focus
231 remote.getCurrentWindow().blurWebView();
232 remote.getCurrentWindow().webContents.focus();
233
234 // The input "focus" attribute will only work on first modal open
235 // Manually add focus to the input element
236 // Wrapped inside timeout to let the modal render first
237 setTimeout(() => {
238 if (this.inputRef.current) {
239 this.inputRef.current.getElementsByTagName('input')[0].focus();
240 }
241 }, 10);
242
243 this.setState({
244 wasPrevVisible: true,
245 });
246 } else if (!isModalVisible && this.state.wasPrevVisible) {
247 // Manually blur focus from the input element to prevent
248 // search query change when modal not visible
249 setTimeout(() => {
250 if (this.inputRef.current) {
251 this.inputRef.current.getElementsByTagName('input')[0].blur();
252 }
253 }, 100);
254
255 this.setState({
256 wasPrevVisible: false,
257 });
258 }
259 }
260
261 // Close this modal
262 close() {
263 ModalState.isModalVisible = false;
264 }
265
266 render() {
267 const { isModalVisible } = ModalState;
268
269 const {
270 openService,
271 } = this;
272
273 const {
274 classes,
275 } = this.props;
276
277 const services = this.services();
278
279 const { intl } = this.context;
280
281 return (
282 <Modal
283 isOpen={isModalVisible}
284 className={`${classes.modal} quick-switch`}
285 shouldCloseOnOverlayClick
286 close={this.close.bind(this)}
287 >
288 <H1 className={classes.headline}>
289 {intl.formatMessage(messages.title)}
290 </H1>
291 <div ref={this.inputRef}>
292 <Input
293 placeholder={intl.formatMessage(messages.search)}
294 focus
295 value={this.state.search}
296 onChange={this._handleSearchUpdate}
297 />
298 </div>
299
300 <div className={classes.services}>
301 { services.map((service, index) => (
302 <div
303 className={`${classes.service} ${this.state.selected === index ? `${classes.activeService} active` : ''} service`}
304 onClick={() => openService(index)}
305 key={service.id}
306 ref={(el) => {
307 this.serviceElements[index] = el;
308 }}
309 >
310 <img
311 src={service.icon}
312 className={classes.serviceIcon}
313 alt={service.recipe.name}
314 />
315 <div>
316 { service.name }
317 </div>
318 </div>
319 ))}
320 </div>
321
322 <p>{intl.formatMessage(messages.info)}</p>
323 </Modal>
324 );
325 }
326}
327
328QuickSwitchModal.wrappedComponent.propTypes = {
329 stores: PropTypes.shape({
330 services: PropTypes.instanceOf(ServicesStore).isRequired,
331 }).isRequired,
332 actions: PropTypes.shape({
333 service: PropTypes.shape({
334 setActive: PropTypes.func.isRequired,
335 }).isRequired,
336 }).isRequired,
337};
diff --git a/src/features/quickSwitch/index.js b/src/features/quickSwitch/index.js
new file mode 100644
index 000000000..c57fad366
--- /dev/null
+++ b/src/features/quickSwitch/index.js
@@ -0,0 +1,24 @@
1import { observable } from 'mobx';
2
3export { default as Component } from './Component';
4
5const debug = require('debug')('Ferdi:feature:quickSwitch');
6
7const defaultState = {
8 isModalVisible: false,
9};
10
11export const state = observable(defaultState);
12
13export default function initialize() {
14 debug('Initialize quickSwitch feature');
15
16 function showModal() {
17 state.isModalVisible = true;
18 }
19
20 window.ferdi.features.quickSwitch = {
21 state,
22 showModal,
23 };
24}
diff --git a/src/features/serviceLimit/components/LimitReachedInfobox.js b/src/features/serviceLimit/components/LimitReachedInfobox.js
index 19285a4eb..83aec4c40 100644
--- a/src/features/serviceLimit/components/LimitReachedInfobox.js
+++ b/src/features/serviceLimit/components/LimitReachedInfobox.js
@@ -5,8 +5,6 @@ import { defineMessages, intlShape } from 'react-intl';
5import injectSheet from 'react-jss'; 5import injectSheet from 'react-jss';
6import { Infobox } from '@meetfranz/ui'; 6import { Infobox } from '@meetfranz/ui';
7 7
8import { gaEvent } from '../../../lib/analytics';
9
10const messages = defineMessages({ 8const messages = defineMessages({
11 limitReached: { 9 limitReached: {
12 id: 'feature.serviceLimit.limitReached', 10 id: 'feature.serviceLimit.limitReached',
@@ -67,7 +65,6 @@ class LimitReachedInfobox extends Component {
67 ctaLabel={intl.formatMessage(messages.action)} 65 ctaLabel={intl.formatMessage(messages.action)}
68 ctaOnClick={() => { 66 ctaOnClick={() => {
69 actions.ui.openSettings({ path: 'user' }); 67 actions.ui.openSettings({ path: 'user' });
70 gaEvent('Service Limit', 'upgrade', 'Upgrade account');
71 }} 68 }}
72 > 69 >
73 {intl.formatMessage(messages.limitReached, { amount: serviceLimit.serviceCount, limit: serviceLimit.serviceLimit })} 70 {intl.formatMessage(messages.limitReached, { amount: serviceLimit.serviceCount, limit: serviceLimit.serviceLimit })}
diff --git a/src/features/serviceLimit/index.js b/src/features/serviceLimit/index.js
index 92ad8bb98..fa93bb615 100644
--- a/src/features/serviceLimit/index.js
+++ b/src/features/serviceLimit/index.js
@@ -1,7 +1,7 @@
1import { reaction } from 'mobx'; 1import { reaction } from 'mobx';
2import { ServiceLimitStore } from './store'; 2import { ServiceLimitStore } from './store';
3 3
4const debug = require('debug')('Franz:feature:serviceLimit'); 4const debug = require('debug')('Ferdi:feature:serviceLimit');
5 5
6export const DEFAULT_SERVICE_LIMIT = 3; 6export const DEFAULT_SERVICE_LIMIT = 3;
7 7
diff --git a/src/features/serviceLimit/store.js b/src/features/serviceLimit/store.js
index 9836c5f51..6510e2872 100644
--- a/src/features/serviceLimit/store.js
+++ b/src/features/serviceLimit/store.js
@@ -2,7 +2,7 @@ import { computed, observable } from 'mobx';
2import { FeatureStore } from '../utils/FeatureStore'; 2import { FeatureStore } from '../utils/FeatureStore';
3import { DEFAULT_SERVICE_LIMIT } from '.'; 3import { DEFAULT_SERVICE_LIMIT } from '.';
4 4
5const debug = require('debug')('Franz:feature:serviceLimit:store'); 5const debug = require('debug')('Ferdi:feature:serviceLimit:store');
6 6
7export class ServiceLimitStore extends FeatureStore { 7export class ServiceLimitStore extends FeatureStore {
8 @observable isServiceLimitEnabled = false; 8 @observable isServiceLimitEnabled = false;
@@ -12,7 +12,7 @@ export class ServiceLimitStore extends FeatureStore {
12 this.stores = stores; 12 this.stores = stores;
13 this.actions = actions; 13 this.actions = actions;
14 14
15 this.isServiceLimitEnabled = true; 15 this.isServiceLimitEnabled = false;
16 } 16 }
17 17
18 stop() { 18 stop() {
@@ -22,9 +22,10 @@ export class ServiceLimitStore extends FeatureStore {
22 } 22 }
23 23
24 @computed get userHasReachedServiceLimit() { 24 @computed get userHasReachedServiceLimit() {
25 if (!this.isServiceLimitEnabled) return false; 25 return false;
26 // if (!this.isServiceLimitEnabled) return false;
26 27
27 return this.serviceLimit !== 0 && this.serviceCount >= this.serviceLimit; 28 // return this.serviceLimit !== 0 && this.serviceCount >= this.serviceLimit;
28 } 29 }
29 30
30 @computed get serviceLimit() { 31 @computed get serviceLimit() {
diff --git a/src/features/serviceProxy/index.js b/src/features/serviceProxy/index.js
index 55c600de4..e9a01b156 100644
--- a/src/features/serviceProxy/index.js
+++ b/src/features/serviceProxy/index.js
@@ -1,25 +1,25 @@
1import { autorun, observable } from 'mobx'; 1import { autorun, observable } from 'mobx';
2import { remote } from 'electron'; 2import { remote } from 'electron';
3 3
4import { DEFAULT_FEATURES_CONFIG } from '../../config'; 4// import { DEFAULT_FEATURES_CONFIG } from '../../config';
5 5
6const { session } = remote; 6const { session } = remote;
7 7
8const debug = require('debug')('Franz:feature:serviceProxy'); 8const debug = require('debug')('Ferdi:feature:serviceProxy');
9 9
10export const config = observable({ 10export const config = observable({
11 isEnabled: DEFAULT_FEATURES_CONFIG.isServiceProxyEnabled, 11 isEnabled: true,
12 isPremium: DEFAULT_FEATURES_CONFIG.isServiceProxyIncludedInCurrentPlan, 12 isPremium: true,
13}); 13});
14 14
15export default function init(stores) { 15export default function init(stores) {
16 debug('Initializing `serviceProxy` feature'); 16 debug('Initializing `serviceProxy` feature');
17 17
18 autorun(() => { 18 autorun(() => {
19 const { isServiceProxyEnabled, isServiceProxyIncludedInCurrentPlan } = stores.features.features; 19 // const { isServiceProxyEnabled, isServiceProxyIncludedInCurrentPlan } = stores.features.features;
20 20
21 config.isEnabled = isServiceProxyEnabled !== undefined ? isServiceProxyEnabled : DEFAULT_FEATURES_CONFIG.isServiceProxyEnabled; 21 config.isEnabled = true;
22 config.isIncludedInCurrentPlan = isServiceProxyIncludedInCurrentPlan !== undefined ? isServiceProxyIncludedInCurrentPlan : DEFAULT_FEATURES_CONFIG.isServiceProxyIncludedInCurrentPlan; 22 config.isIncludedInCurrentPlan = true;
23 23
24 const services = stores.services.enabled; 24 const services = stores.services.enabled;
25 const isPremiumUser = stores.user.data.isPremium; 25 const isPremiumUser = stores.user.data.isPremium;
diff --git a/src/features/settingsWS/index.js b/src/features/settingsWS/index.js
index 2064d2973..6711296da 100755
--- a/src/features/settingsWS/index.js
+++ b/src/features/settingsWS/index.js
@@ -1,7 +1,7 @@
1import { reaction } from 'mobx'; 1import { reaction } from 'mobx';
2import { SettingsWSStore } from './store'; 2import { SettingsWSStore } from './store';
3 3
4const debug = require('debug')('Franz:feature:settingsWS'); 4const debug = require('debug')('Ferdi:feature:settingsWS');
5 5
6export const settingsStore = new SettingsWSStore(); 6export const settingsStore = new SettingsWSStore();
7 7
diff --git a/src/features/settingsWS/store.js b/src/features/settingsWS/store.js
index 167a70d10..9100f33d1 100755
--- a/src/features/settingsWS/store.js
+++ b/src/features/settingsWS/store.js
@@ -6,7 +6,7 @@ import { FeatureStore } from '../utils/FeatureStore';
6import { createReactions } from '../../stores/lib/Reaction'; 6import { createReactions } from '../../stores/lib/Reaction';
7import { WS_API } from '../../environment'; 7import { WS_API } from '../../environment';
8 8
9const debug = require('debug')('Franz:feature:settingsWS:store'); 9const debug = require('debug')('Ferdi:feature:settingsWS:store');
10 10
11export class SettingsWSStore extends FeatureStore { 11export class SettingsWSStore extends FeatureStore {
12 stores = null; 12 stores = null;
diff --git a/src/features/shareFranz/Component.js b/src/features/shareFranz/Component.js
index a33315e17..405fb0ab5 100644
--- a/src/features/shareFranz/Component.js
+++ b/src/features/shareFranz/Component.js
@@ -11,17 +11,16 @@ import {
11} from '@mdi/js'; 11} from '@mdi/js';
12import Modal from '../../components/ui/Modal'; 12import Modal from '../../components/ui/Modal';
13import { state } from '.'; 13import { state } from '.';
14import { gaEvent } from '../../lib/analytics';
15import ServicesStore from '../../stores/ServicesStore'; 14import ServicesStore from '../../stores/ServicesStore';
16 15
17const messages = defineMessages({ 16const messages = defineMessages({
18 headline: { 17 headline: {
19 id: 'feature.shareFranz.headline', 18 id: 'feature.shareFranz.headline',
20 defaultMessage: '!!!Franz is better together!', 19 defaultMessage: '!!!Ferdi is better together!',
21 }, 20 },
22 text: { 21 text: {
23 id: 'feature.shareFranz.text', 22 id: 'feature.shareFranz.text',
24 defaultMessage: '!!!Tell your friends and colleagues how awesome Franz is and help us to spread the word.', 23 defaultMessage: '!!!Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.',
25 }, 24 },
26 actionsEmail: { 25 actionsEmail: {
27 id: 'feature.shareFranz.action.email', 26 id: 'feature.shareFranz.action.email',
@@ -132,9 +131,6 @@ export default @injectSheet(styles) @inject('stores') @observer class ShareFranz
132 icon={mdiEmail} 131 icon={mdiEmail}
133 href={`mailto:?subject=Meet the cool app Franz&body=${intl.formatMessage(messages.shareTextEmail, { count: serviceCount })}}`} 132 href={`mailto:?subject=Meet the cool app Franz&body=${intl.formatMessage(messages.shareTextEmail, { count: serviceCount })}}`}
134 target="_blank" 133 target="_blank"
135 onClick={() => {
136 gaEvent('Share Franz', 'share', 'Share via email');
137 }}
138 /> 134 />
139 <Button 135 <Button
140 label={intl.formatMessage(messages.actionsFacebook)} 136 label={intl.formatMessage(messages.actionsFacebook)}
@@ -142,9 +138,6 @@ export default @injectSheet(styles) @inject('stores') @observer class ShareFranz
142 icon={mdiFacebookBox} 138 icon={mdiFacebookBox}
143 href="https://www.facebook.com/sharer/sharer.php?u=https://www.meetfranz.com?utm_source=facebook&utm_medium=referral&utm_campaign=share-button" 139 href="https://www.facebook.com/sharer/sharer.php?u=https://www.meetfranz.com?utm_source=facebook&utm_medium=referral&utm_campaign=share-button"
144 target="_blank" 140 target="_blank"
145 onClick={() => {
146 gaEvent('Share Franz', 'share', 'Share via Facebook');
147 }}
148 /> 141 />
149 <Button 142 <Button
150 label={intl.formatMessage(messages.actionsTwitter)} 143 label={intl.formatMessage(messages.actionsTwitter)}
@@ -152,9 +145,6 @@ export default @injectSheet(styles) @inject('stores') @observer class ShareFranz
152 icon={mdiTwitter} 145 icon={mdiTwitter}
153 href={`http://twitter.com/intent/tweet?status=${intl.formatMessage(messages.shareTextTwitter, { count: serviceCount })}`} 146 href={`http://twitter.com/intent/tweet?status=${intl.formatMessage(messages.shareTextTwitter, { count: serviceCount })}`}
154 target="_blank" 147 target="_blank"
155 onClick={() => {
156 gaEvent('Share Franz', 'share', 'Share via Twitter');
157 }}
158 /> 148 />
159 </div> 149 </div>
160 </Modal> 150 </Modal>
diff --git a/src/features/shareFranz/index.js b/src/features/shareFranz/index.js
index a39d7a6e6..04e3684ae 100644
--- a/src/features/shareFranz/index.js
+++ b/src/features/shareFranz/index.js
@@ -2,12 +2,11 @@ import { observable, reaction } from 'mobx';
2import ms from 'ms'; 2import ms from 'ms';
3 3
4import { state as delayAppState } from '../delayApp'; 4import { state as delayAppState } from '../delayApp';
5import { gaEvent, gaPage } from '../../lib/analytics';
6import { planSelectionStore } from '../planSelection'; 5import { planSelectionStore } from '../planSelection';
7 6
8export { default as Component } from './Component'; 7export { default as Component } from './Component';
9 8
10const debug = require('debug')('Franz:feature:shareFranz'); 9const debug = require('debug')('Ferdi:feature:shareFranz');
11 10
12const defaultState = { 11const defaultState = {
13 isModalVisible: false, 12 isModalVisible: false,
@@ -17,19 +16,16 @@ const defaultState = {
17export const state = observable(defaultState); 16export const state = observable(defaultState);
18 17
19export default function initialize(stores) { 18export default function initialize(stores) {
20 debug('Initialize shareFranz feature'); 19 debug('Initialize shareFerdi feature');
21 20
22 window.franz.features.shareFranz = { 21 window.ferdi.features.shareFerdi = {
23 state, 22 state,
24 }; 23 };
25 24
26 function showModal() { 25 function showModal() {
27 debug('Showing share window'); 26 debug('Would have showed share window');
28 27
29 state.isModalVisible = true; 28 // state.isModalVisible = true;
30
31 gaEvent('Share Franz', 'show');
32 gaPage('/share-modal');
33 } 29 }
34 30
35 reaction( 31 reaction(
diff --git a/src/features/spellchecker/index.js b/src/features/spellchecker/index.js
index fd8bc738a..6a393e250 100644
--- a/src/features/spellchecker/index.js
+++ b/src/features/spellchecker/index.js
@@ -2,26 +2,26 @@ import { autorun, observable } from 'mobx';
2 2
3import { DEFAULT_FEATURES_CONFIG } from '../../config'; 3import { DEFAULT_FEATURES_CONFIG } from '../../config';
4 4
5const debug = require('debug')('Franz:feature:spellchecker'); 5const debug = require('debug')('Ferdi:feature:spellchecker');
6 6
7export const config = observable({ 7export const config = observable({
8 isIncludedInCurrentPlan: DEFAULT_FEATURES_CONFIG.isSpellcheckerIncludedInCurrentPlan, 8 isIncludedInCurrentPlan: DEFAULT_FEATURES_CONFIG.isSpellcheckerIncludedInCurrentPlan,
9}); 9});
10 10
11export default function init(stores) { 11export default function init() {
12 debug('Initializing `spellchecker` feature'); 12 debug('Initializing `spellchecker` feature');
13 13
14 autorun(() => { 14 autorun(() => {
15 const { isSpellcheckerIncludedInCurrentPlan } = stores.features.features; 15 // const { isSpellcheckerIncludedInCurrentPlan } = stores.features.features;
16 16
17 config.isIncludedInCurrentPlan = isSpellcheckerIncludedInCurrentPlan !== undefined ? isSpellcheckerIncludedInCurrentPlan : DEFAULT_FEATURES_CONFIG.isSpellcheckerIncludedInCurrentPlan; 17 // config.isIncludedInCurrentPlan = isSpellcheckerIncludedInCurrentPlan !== undefined ? isSpellcheckerIncludedInCurrentPlan : DEFAULT_FEATURES_CONFIG.isSpellcheckerIncludedInCurrentPlan;
18 18
19 if (!stores.user.data.isPremium && !config.isIncludedInCurrentPlan && stores.settings.app.enableSpellchecking) { 19 // if (!stores.user.data.isPremium && config.isIncludedInCurrentPlan && stores.settings.app.enableSpellchecking) {
20 debug('Override settings.spellcheckerEnabled flag to false'); 20 // debug('Override settings.spellcheckerEnabled flag to false');
21 21
22 Object.assign(stores.settings.app, { 22 // Object.assign(stores.settings.app, {
23 enableSpellchecking: false, 23 // enableSpellchecking: false,
24 }); 24 // });
25 } 25 // }
26 }); 26 });
27} 27}
diff --git a/src/features/todos/components/TodosWebview.js b/src/features/todos/components/TodosWebview.js
index f24c0b044..e9b1963f7 100644
--- a/src/features/todos/components/TodosWebview.js
+++ b/src/features/todos/components/TodosWebview.js
@@ -1,12 +1,14 @@
1import React, { Component } from 'react'; 1import React, { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer, inject } from 'mobx-react';
4import injectSheet from 'react-jss'; 4import injectSheet from 'react-jss';
5import Webview from 'react-electron-web-view'; 5import Webview from 'react-electron-web-view';
6import { Icon } from '@meetfranz/ui'; 6import { Icon } from '@meetfranz/ui';
7import { defineMessages, intlShape } from 'react-intl'; 7import { defineMessages, intlShape } from 'react-intl';
8 8
9import { mdiCheckAll } from '@mdi/js'; 9import { mdiCheckAll } from '@mdi/js';
10import SettingsStore from '../../../stores/SettingsStore';
11
10import * as environment from '../../../environment'; 12import * as environment from '../../../environment';
11import Appear from '../../../components/ui/effects/Appear'; 13import Appear from '../../../components/ui/effects/Appear';
12import UpgradeButton from '../../../components/ui/UpgradeButton'; 14import UpgradeButton from '../../../components/ui/UpgradeButton';
@@ -77,7 +79,7 @@ const styles = theme => ({
77 }, 79 },
78}); 80});
79 81
80@injectSheet(styles) @observer 82@injectSheet(styles) @inject('stores') @observer
81class TodosWebview extends Component { 83class TodosWebview extends Component {
82 static propTypes = { 84 static propTypes = {
83 classes: PropTypes.object.isRequired, 85 classes: PropTypes.object.isRequired,
@@ -88,6 +90,9 @@ class TodosWebview extends Component {
88 width: PropTypes.number.isRequired, 90 width: PropTypes.number.isRequired,
89 minWidth: PropTypes.number.isRequired, 91 minWidth: PropTypes.number.isRequired,
90 isTodosIncludedInCurrentPlan: PropTypes.bool.isRequired, 92 isTodosIncludedInCurrentPlan: PropTypes.bool.isRequired,
93 stores: PropTypes.shape({
94 settings: PropTypes.instanceOf(SettingsStore).isRequired,
95 }).isRequired,
91 }; 96 };
92 97
93 state = { 98 state = {
@@ -178,6 +183,7 @@ class TodosWebview extends Component {
178 classes, 183 classes,
179 isVisible, 184 isVisible,
180 isTodosIncludedInCurrentPlan, 185 isTodosIncludedInCurrentPlan,
186 stores,
181 } = this.props; 187 } = this.props;
182 188
183 const { 189 const {
@@ -217,7 +223,7 @@ class TodosWebview extends Component {
217 partition="persist:todos" 223 partition="persist:todos"
218 preload="./features/todos/preload.js" 224 preload="./features/todos/preload.js"
219 ref={(webview) => { this.webview = webview ? webview.view : null; }} 225 ref={(webview) => { this.webview = webview ? webview.view : null; }}
220 src={environment.TODOS_FRONTEND} 226 src={stores.settings.all.app.todoServer || environment.TODOS_FRONTEND}
221 /> 227 />
222 ) : ( 228 ) : (
223 <Appear> 229 <Appear>
diff --git a/src/features/todos/containers/TodosScreen.js b/src/features/todos/containers/TodosScreen.js
index a5da0b014..bc05a587d 100644
--- a/src/features/todos/containers/TodosScreen.js
+++ b/src/features/todos/containers/TodosScreen.js
@@ -25,7 +25,7 @@ class TodosScreen extends Component {
25 width={todosStore.width} 25 width={todosStore.width}
26 minWidth={TODOS_MIN_WIDTH} 26 minWidth={TODOS_MIN_WIDTH}
27 resize={width => todoActions.resize({ width })} 27 resize={width => todoActions.resize({ width })}
28 isTodosIncludedInCurrentPlan={this.props.stores.features.features.isTodosIncludedInCurrentPlan || false} 28 isTodosIncludedInCurrentPlan
29 /> 29 />
30 </ErrorBoundary> 30 </ErrorBoundary>
31 ); 31 );
diff --git a/src/features/todos/index.js b/src/features/todos/index.js
index 7388aebaf..9f355e9ba 100644
--- a/src/features/todos/index.js
+++ b/src/features/todos/index.js
@@ -1,7 +1,7 @@
1import { reaction } from 'mobx'; 1import { reaction } from 'mobx';
2import TodoStore from './store'; 2import TodoStore from './store';
3 3
4const debug = require('debug')('Franz:feature:todos'); 4const debug = require('debug')('Ferdi:feature:todos');
5 5
6export const GA_CATEGORY_TODOS = 'Todos'; 6export const GA_CATEGORY_TODOS = 'Todos';
7 7
diff --git a/src/features/todos/preload.js b/src/features/todos/preload.js
index 6e38a2ef3..d1838e0d6 100644
--- a/src/features/todos/preload.js
+++ b/src/features/todos/preload.js
@@ -1,13 +1,13 @@
1import { ipcRenderer } from 'electron'; 1import { ipcRenderer } from 'electron';
2import { IPC } from './constants'; 2import { IPC } from './constants';
3 3
4const debug = require('debug')('Franz:feature:todos:preload'); 4const debug = require('debug')('Ferdi:feature:todos:preload');
5 5
6debug('Preloading Todos Webview'); 6debug('Preloading Todos Webview');
7 7
8let hostMessageListener = () => {}; 8let hostMessageListener = () => {};
9 9
10window.franz = { 10window.ferdi = {
11 onInitialize(ipcHostMessageListener) { 11 onInitialize(ipcHostMessageListener) {
12 hostMessageListener = ipcHostMessageListener; 12 hostMessageListener = ipcHostMessageListener;
13 ipcRenderer.sendToHost(IPC.TODOS_CLIENT_CHANNEL, { action: 'todos:initialized' }); 13 ipcRenderer.sendToHost(IPC.TODOS_CLIENT_CHANNEL, { action: 'todos:initialized' });
diff --git a/src/features/todos/store.js b/src/features/todos/store.js
index 4480b2545..a05203a04 100644
--- a/src/features/todos/store.js
+++ b/src/features/todos/store.js
@@ -16,7 +16,7 @@ import {
16import { IPC } from './constants'; 16import { IPC } from './constants';
17import { state as delayAppState } from '../delayApp'; 17import { state as delayAppState } from '../delayApp';
18 18
19const debug = require('debug')('Franz:feature:todos:store'); 19const debug = require('debug')('Ferdi:feature:todos:store');
20 20
21export default class TodoStore extends FeatureStore { 21export default class TodoStore extends FeatureStore {
22 @observable isFeatureEnabled = false; 22 @observable isFeatureEnabled = false;
diff --git a/src/features/webControls/containers/WebControlsScreen.js b/src/features/webControls/containers/WebControlsScreen.js
index cada01a6f..31168a397 100644
--- a/src/features/webControls/containers/WebControlsScreen.js
+++ b/src/features/webControls/containers/WebControlsScreen.js
@@ -32,6 +32,7 @@ class WebControlsScreen extends Component {
32 this.autorunDisposer = autorun(() => { 32 this.autorunDisposer = autorun(() => {
33 if (service.isAttached) { 33 if (service.isAttached) {
34 this.webview = service.webview; 34 this.webview = service.webview;
35 this.url = this.webview.getURL();
35 36
36 URL_EVENTS.forEach((event) => { 37 URL_EVENTS.forEach((event) => {
37 this.webview.addEventListener(event, (e) => { 38 this.webview.addEventListener(event, (e) => {
diff --git a/src/features/workspaces/api.js b/src/features/workspaces/api.js
index 0ec20c9ea..30fbd84be 100644
--- a/src/features/workspaces/api.js
+++ b/src/features/workspaces/api.js
@@ -1,14 +1,14 @@
1import { pick } from 'lodash'; 1import { pick } from 'lodash';
2import { sendAuthRequest } from '../../api/utils/auth'; 2import { sendAuthRequest } from '../../api/utils/auth';
3import { API, API_VERSION } from '../../environment';
4import Request from '../../stores/lib/Request'; 3import Request from '../../stores/lib/Request';
5import Workspace from './models/Workspace'; 4import Workspace from './models/Workspace';
5import apiBase from '../../api/apiBase';
6 6
7const debug = require('debug')('Franz:feature:workspaces:api'); 7const debug = require('debug')('Ferdi:feature:workspaces:api');
8 8
9export const workspaceApi = { 9export const workspaceApi = {
10 getUserWorkspaces: async () => { 10 getUserWorkspaces: async () => {
11 const url = `${API}/${API_VERSION}/workspace`; 11 const url = `${apiBase()}/workspace`;
12 debug('getUserWorkspaces GET', url); 12 debug('getUserWorkspaces GET', url);
13 const result = await sendAuthRequest(url, { method: 'GET' }); 13 const result = await sendAuthRequest(url, { method: 'GET' });
14 debug('getUserWorkspaces RESULT', result); 14 debug('getUserWorkspaces RESULT', result);
@@ -18,7 +18,7 @@ export const workspaceApi = {
18 }, 18 },
19 19
20 createWorkspace: async (name) => { 20 createWorkspace: async (name) => {
21 const url = `${API}/${API_VERSION}/workspace`; 21 const url = `${apiBase()}/workspace`;
22 const options = { 22 const options = {
23 method: 'POST', 23 method: 'POST',
24 body: JSON.stringify({ name }), 24 body: JSON.stringify({ name }),
@@ -31,7 +31,7 @@ export const workspaceApi = {
31 }, 31 },
32 32
33 deleteWorkspace: async (workspace) => { 33 deleteWorkspace: async (workspace) => {
34 const url = `${API}/${API_VERSION}/workspace/${workspace.id}`; 34 const url = `${apiBase()}/workspace/${workspace.id}`;
35 debug('deleteWorkspace DELETE', url); 35 debug('deleteWorkspace DELETE', url);
36 const result = await sendAuthRequest(url, { method: 'DELETE' }); 36 const result = await sendAuthRequest(url, { method: 'DELETE' });
37 debug('deleteWorkspace RESULT', result); 37 debug('deleteWorkspace RESULT', result);
@@ -40,7 +40,7 @@ export const workspaceApi = {
40 }, 40 },
41 41
42 updateWorkspace: async (workspace) => { 42 updateWorkspace: async (workspace) => {
43 const url = `${API}/${API_VERSION}/workspace/${workspace.id}`; 43 const url = `${apiBase()}/workspace/${workspace.id}`;
44 const options = { 44 const options = {
45 method: 'PUT', 45 method: 'PUT',
46 body: JSON.stringify(pick(workspace, ['name', 'services'])), 46 body: JSON.stringify(pick(workspace, ['name', 'services'])),
diff --git a/src/features/workspaces/components/CreateWorkspaceForm.js b/src/features/workspaces/components/CreateWorkspaceForm.js
index cddbb2b04..15b97121d 100644
--- a/src/features/workspaces/components/CreateWorkspaceForm.js
+++ b/src/features/workspaces/components/CreateWorkspaceForm.js
@@ -6,8 +6,7 @@ import { Input, Button } from '@meetfranz/forms';
6import injectSheet from 'react-jss'; 6import injectSheet from 'react-jss';
7import Form from '../../../lib/Form'; 7import Form from '../../../lib/Form';
8import { required } from '../../../helpers/validation-helpers'; 8import { required } from '../../../helpers/validation-helpers';
9import { gaEvent } from '../../../lib/analytics'; 9import { workspaceStore } from '../index';
10import { GA_CATEGORY_WORKSPACES, workspaceStore } from '../index';
11 10
12const messages = defineMessages({ 11const messages = defineMessages({
13 submitButton: { 12 submitButton: {
@@ -66,7 +65,6 @@ class CreateWorkspaceForm extends Component {
66 const { onSubmit } = this.props; 65 const { onSubmit } = this.props;
67 const values = f.values(); 66 const values = f.values();
68 onSubmit(values); 67 onSubmit(values);
69 gaEvent(GA_CATEGORY_WORKSPACES, 'create', values.name);
70 }, 68 },
71 }); 69 });
72 } 70 }
diff --git a/src/features/workspaces/components/EditWorkspaceForm.js b/src/features/workspaces/components/EditWorkspaceForm.js
index e602ebd5a..b3551a7b9 100644
--- a/src/features/workspaces/components/EditWorkspaceForm.js
+++ b/src/features/workspaces/components/EditWorkspaceForm.js
@@ -12,8 +12,10 @@ import Form from '../../../lib/Form';
12import { required } from '../../../helpers/validation-helpers'; 12import { required } from '../../../helpers/validation-helpers';
13import WorkspaceServiceListItem from './WorkspaceServiceListItem'; 13import WorkspaceServiceListItem from './WorkspaceServiceListItem';
14import Request from '../../../stores/lib/Request'; 14import Request from '../../../stores/lib/Request';
15import { gaEvent } from '../../../lib/analytics'; 15
16import { GA_CATEGORY_WORKSPACES } from '../index'; 16import { KEEP_WS_LOADED_USID } from '../../../config';
17
18import Toggle from '../../../components/ui/Toggle';
17 19
18const messages = defineMessages({ 20const messages = defineMessages({
19 buttonDelete: { 21 buttonDelete: {
@@ -32,6 +34,14 @@ const messages = defineMessages({
32 id: 'settings.workspace.form.yourWorkspaces', 34 id: 'settings.workspace.form.yourWorkspaces',
33 defaultMessage: '!!!Your workspaces', 35 defaultMessage: '!!!Your workspaces',
34 }, 36 },
37 keepLoaded: {
38 id: 'settings.workspace.form.keepLoaded',
39 defaultMessage: '!!!Keep this workspace loaded*',
40 },
41 keepLoadedInfo: {
42 id: 'settings.workspace.form.keepLoadedInfo',
43 defaultMessage: '!!!*This option will be overwritten by the global "Keep all workspaces loaded" option.',
44 },
35 servicesInWorkspaceHeadline: { 45 servicesInWorkspaceHeadline: {
36 id: 'settings.workspace.form.servicesInWorkspaceHeadline', 46 id: 'settings.workspace.form.servicesInWorkspaceHeadline',
37 defaultMessage: '!!!Services in this Workspace', 47 defaultMessage: '!!!Services in this Workspace',
@@ -53,6 +63,9 @@ const styles = () => ({
53 serviceList: { 63 serviceList: {
54 height: 'auto', 64 height: 'auto',
55 }, 65 },
66 keepLoadedInfo: {
67 marginBottom: '2rem !important',
68 },
56}); 69});
57 70
58@injectSheet(styles) @observer 71@injectSheet(styles) @observer
@@ -90,6 +103,11 @@ class EditWorkspaceForm extends Component {
90 value: workspace.name, 103 value: workspace.name,
91 validators: [required], 104 validators: [required],
92 }, 105 },
106 keepLoaded: {
107 label: intl.formatMessage(messages.keepLoaded),
108 value: workspace.services.includes(KEEP_WS_LOADED_USID),
109 default: false,
110 },
93 services: { 111 services: {
94 value: workspace.services.slice(), 112 value: workspace.services.slice(),
95 }, 113 },
@@ -103,7 +121,6 @@ class EditWorkspaceForm extends Component {
103 const { onSave } = this.props; 121 const { onSave } = this.props;
104 const values = f.values(); 122 const values = f.values();
105 onSave(values); 123 onSave(values);
106 gaEvent(GA_CATEGORY_WORKSPACES, 'save');
107 }, 124 },
108 onError: async () => {}, 125 onError: async () => {},
109 }); 126 });
@@ -112,7 +129,6 @@ class EditWorkspaceForm extends Component {
112 delete() { 129 delete() {
113 const { onDelete } = this.props; 130 const { onDelete } = this.props;
114 onDelete(); 131 onDelete();
115 gaEvent(GA_CATEGORY_WORKSPACES, 'delete');
116 } 132 }
117 133
118 toggleService(service) { 134 toggleService(service) {
@@ -155,6 +171,10 @@ class EditWorkspaceForm extends Component {
155 <div className="settings__body"> 171 <div className="settings__body">
156 <div className={classes.nameInput}> 172 <div className={classes.nameInput}>
157 <Input {...form.$('name').bind()} /> 173 <Input {...form.$('name').bind()} />
174 <Toggle field={form.$('keepLoaded')} />
175 <p className={classes.keepLoadedInfo}>
176 { intl.formatMessage(messages.keepLoadedInfo) }
177 </p>
158 </div> 178 </div>
159 <h2>{intl.formatMessage(messages.servicesInWorkspaceHeadline)}</h2> 179 <h2>{intl.formatMessage(messages.servicesInWorkspaceHeadline)}</h2>
160 <div className={classes.serviceList}> 180 <div className={classes.serviceList}>
diff --git a/src/features/workspaces/components/WorkspaceDrawer.js b/src/features/workspaces/components/WorkspaceDrawer.js
index 07100f5a1..baa94f6b3 100644
--- a/src/features/workspaces/components/WorkspaceDrawer.js
+++ b/src/features/workspaces/components/WorkspaceDrawer.js
@@ -10,8 +10,7 @@ import ReactTooltip from 'react-tooltip';
10import { mdiPlusBox, mdiSettings, mdiStar } from '@mdi/js'; 10import { mdiPlusBox, mdiSettings, mdiStar } from '@mdi/js';
11import WorkspaceDrawerItem from './WorkspaceDrawerItem'; 11import WorkspaceDrawerItem from './WorkspaceDrawerItem';
12import { workspaceActions } from '../actions'; 12import { workspaceActions } from '../actions';
13import { GA_CATEGORY_WORKSPACES, workspaceStore } from '../index'; 13import { workspaceStore } from '../index';
14import { gaEvent } from '../../../lib/analytics';
15 14
16const messages = defineMessages({ 15const messages = defineMessages({
17 headline: { 16 headline: {
@@ -158,7 +157,6 @@ class WorkspaceDrawer extends Component {
158 className={classes.workspacesSettingsButton} 157 className={classes.workspacesSettingsButton}
159 onClick={() => { 158 onClick={() => {
160 workspaceActions.openWorkspaceSettings(); 159 workspaceActions.openWorkspaceSettings();
161 gaEvent(GA_CATEGORY_WORKSPACES, 'settings', 'drawerHeadline');
162 }} 160 }}
163 data-tip={`${intl.formatMessage(messages.workspacesSettingsTooltip)}`} 161 data-tip={`${intl.formatMessage(messages.workspacesSettingsTooltip)}`}
164 > 162 >
@@ -180,7 +178,6 @@ class WorkspaceDrawer extends Component {
180 icon={mdiStar} 178 icon={mdiStar}
181 onClick={() => { 179 onClick={() => {
182 onUpgradeAccountClick(); 180 onUpgradeAccountClick();
183 gaEvent('User', 'upgrade', 'workspaceDrawer');
184 }} 181 }}
185 /> 182 />
186 ) : ( 183 ) : (
@@ -191,7 +188,6 @@ class WorkspaceDrawer extends Component {
191 icon={mdiPlusBox} 188 icon={mdiPlusBox}
192 onClick={() => { 189 onClick={() => {
193 workspaceActions.openWorkspaceSettings(); 190 workspaceActions.openWorkspaceSettings();
194 gaEvent(GA_CATEGORY_WORKSPACES, 'add', 'drawerPremiumCta');
195 }} 191 }}
196 /> 192 />
197 )} 193 )}
@@ -203,7 +199,6 @@ class WorkspaceDrawer extends Component {
203 onClick={() => { 199 onClick={() => {
204 workspaceActions.deactivate(); 200 workspaceActions.deactivate();
205 workspaceActions.toggleWorkspaceDrawer(); 201 workspaceActions.toggleWorkspaceDrawer();
206 gaEvent(GA_CATEGORY_WORKSPACES, 'switch', 'drawer');
207 }} 202 }}
208 services={getServicesForWorkspace(null)} 203 services={getServicesForWorkspace(null)}
209 isActive={actualWorkspace == null} 204 isActive={actualWorkspace == null}
@@ -218,7 +213,6 @@ class WorkspaceDrawer extends Component {
218 if (actualWorkspace === workspace) return; 213 if (actualWorkspace === workspace) return;
219 workspaceActions.activate({ workspace }); 214 workspaceActions.activate({ workspace });
220 workspaceActions.toggleWorkspaceDrawer(); 215 workspaceActions.toggleWorkspaceDrawer();
221 gaEvent(GA_CATEGORY_WORKSPACES, 'switch', 'drawer');
222 }} 216 }}
223 onContextMenuEditClick={() => workspaceActions.edit({ workspace })} 217 onContextMenuEditClick={() => workspaceActions.edit({ workspace })}
224 services={getServicesForWorkspace(workspace)} 218 services={getServicesForWorkspace(workspace)}
@@ -229,7 +223,6 @@ class WorkspaceDrawer extends Component {
229 className={classes.addNewWorkspaceLabel} 223 className={classes.addNewWorkspaceLabel}
230 onClick={() => { 224 onClick={() => {
231 workspaceActions.openWorkspaceSettings(); 225 workspaceActions.openWorkspaceSettings();
232 gaEvent(GA_CATEGORY_WORKSPACES, 'add', 'drawerAddLabel');
233 }} 226 }}
234 > 227 >
235 <Icon 228 <Icon
diff --git a/src/features/workspaces/components/WorkspacesDashboard.js b/src/features/workspaces/components/WorkspacesDashboard.js
index 4fb302be2..b499e02a4 100644
--- a/src/features/workspaces/components/WorkspacesDashboard.js
+++ b/src/features/workspaces/components/WorkspacesDashboard.js
@@ -47,7 +47,7 @@ const messages = defineMessages({
47 }, 47 },
48 workspaceFeatureHeadline: { 48 workspaceFeatureHeadline: {
49 id: 'settings.workspaces.workspaceFeatureHeadline', 49 id: 'settings.workspaces.workspaceFeatureHeadline',
50 defaultMessage: '!!!Less is More: Introducing Franz Workspaces', 50 defaultMessage: '!!!Less is More: Introducing Ferdi Workspaces',
51 }, 51 },
52}); 52});
53 53
diff --git a/src/features/workspaces/containers/EditWorkspaceScreen.js b/src/features/workspaces/containers/EditWorkspaceScreen.js
index 248b40131..7eaabc1ea 100644
--- a/src/features/workspaces/containers/EditWorkspaceScreen.js
+++ b/src/features/workspaces/containers/EditWorkspaceScreen.js
@@ -33,7 +33,9 @@ class EditWorkspaceScreen extends Component {
33 const { workspaceBeingEdited } = workspaceStore; 33 const { workspaceBeingEdited } = workspaceStore;
34 const { actions } = this.props; 34 const { actions } = this.props;
35 const workspace = new Workspace( 35 const workspace = new Workspace(
36 Object.assign({}, workspaceBeingEdited, values), 36 Object.assign({
37 saving: true,
38 }, workspaceBeingEdited, values),
37 ); 39 );
38 actions.workspaces.update({ workspace }); 40 actions.workspaces.update({ workspace });
39 }; 41 };
diff --git a/src/features/workspaces/index.js b/src/features/workspaces/index.js
index ed3e52096..560b732ab 100644
--- a/src/features/workspaces/index.js
+++ b/src/features/workspaces/index.js
@@ -2,7 +2,7 @@ import { reaction } from 'mobx';
2import WorkspacesStore from './store'; 2import WorkspacesStore from './store';
3import { resetApiRequests } from './api'; 3import { resetApiRequests } from './api';
4 4
5const debug = require('debug')('Franz:feature:workspaces'); 5const debug = require('debug')('Ferdi:feature:workspaces');
6 6
7export const GA_CATEGORY_WORKSPACES = 'Workspaces'; 7export const GA_CATEGORY_WORKSPACES = 'Workspaces';
8export const DEFAULT_SETTING_KEEP_ALL_WORKSPACES_LOADED = false; 8export const DEFAULT_SETTING_KEEP_ALL_WORKSPACES_LOADED = false;
diff --git a/src/features/workspaces/models/Workspace.js b/src/features/workspaces/models/Workspace.js
index 6c73d7095..77c4e05f4 100644
--- a/src/features/workspaces/models/Workspace.js
+++ b/src/features/workspaces/models/Workspace.js
@@ -1,5 +1,7 @@
1import { observable } from 'mobx'; 1import { observable } from 'mobx';
2 2
3import { KEEP_WS_LOADED_USID } from '../../../config';
4
3export default class Workspace { 5export default class Workspace {
4 id = null; 6 id = null;
5 7
@@ -19,7 +21,17 @@ export default class Workspace {
19 this.id = data.id; 21 this.id = data.id;
20 this.name = data.name; 22 this.name = data.name;
21 this.order = data.order; 23 this.order = data.order;
22 this.services.replace(data.services); 24
25 let services = data.services;
26 if (data.saving && data.keepLoaded) {
27 // Keep workspaces loaded
28 services.push(KEEP_WS_LOADED_USID);
29 } else if (data.saving && data.services.includes(KEEP_WS_LOADED_USID)) {
30 // Don't keep loaded
31 services = services.filter(e => e !== KEEP_WS_LOADED_USID);
32 }
33 this.services.replace(services);
34
23 this.userId = data.userId; 35 this.userId = data.userId;
24 } 36 }
25} 37}
diff --git a/src/features/workspaces/store.js b/src/features/workspaces/store.js
index 13227e033..5c90ff180 100644
--- a/src/features/workspaces/store.js
+++ b/src/features/workspaces/store.js
@@ -17,16 +17,18 @@ import { WORKSPACES_ROUTES } from './index';
17import { createReactions } from '../../stores/lib/Reaction'; 17import { createReactions } from '../../stores/lib/Reaction';
18import { createActionBindings } from '../utils/ActionBinding'; 18import { createActionBindings } from '../utils/ActionBinding';
19 19
20const debug = require('debug')('Franz:feature:workspaces:store'); 20import { KEEP_WS_LOADED_USID } from '../../config';
21
22const debug = require('debug')('Ferdi:feature:workspaces:store');
21 23
22export default class WorkspacesStore extends FeatureStore { 24export default class WorkspacesStore extends FeatureStore {
23 @observable isFeatureEnabled = false; 25 @observable isFeatureEnabled = true;
24 26
25 @observable isFeatureActive = false; 27 @observable isFeatureActive = false;
26 28
27 @observable isPremiumFeature = true; 29 @observable isPremiumFeature = false;
28 30
29 @observable isPremiumUpgradeRequired = true; 31 @observable isPremiumUpgradeRequired = false;
30 32
31 @observable activeWorkspace = null; 33 @observable activeWorkspace = null;
32 34
@@ -59,7 +61,8 @@ export default class WorkspacesStore extends FeatureStore {
59 } 61 }
60 62
61 @computed get isUserAllowedToUseFeature() { 63 @computed get isUserAllowedToUseFeature() {
62 return !this.isPremiumUpgradeRequired; 64 return true;
65 // return !this.isPremiumUpgradeRequired;
63 } 66 }
64 67
65 @computed get isAnyWorkspaceActive() { 68 @computed get isAnyWorkspaceActive() {
@@ -263,10 +266,10 @@ export default class WorkspacesStore extends FeatureStore {
263 }; 266 };
264 267
265 _setIsPremiumFeatureReaction = () => { 268 _setIsPremiumFeatureReaction = () => {
266 const { features } = this.stores; 269 // const { features } = this.stores;
267 const { isWorkspaceIncludedInCurrentPlan } = features.features; 270 // const { isWorkspaceIncludedInCurrentPlan } = features.features;
268 this.isPremiumFeature = !isWorkspaceIncludedInCurrentPlan; 271 // this.isPremiumFeature = !isWorkspaceIncludedInCurrentPlan;
269 this.isPremiumUpgradeRequired = !isWorkspaceIncludedInCurrentPlan; 272 // this.isPremiumUpgradeRequired = !isWorkspaceIncludedInCurrentPlan;
270 }; 273 };
271 274
272 _setWorkspaceBeingEditedReaction = () => { 275 _setWorkspaceBeingEditedReaction = () => {
@@ -331,7 +334,7 @@ export default class WorkspacesStore extends FeatureStore {
331 // Loop through all workspaces and remove invalid service ids (locally) 334 // Loop through all workspaces and remove invalid service ids (locally)
332 this.workspaces.forEach((workspace) => { 335 this.workspaces.forEach((workspace) => {
333 workspace.services.forEach((serviceId) => { 336 workspace.services.forEach((serviceId) => {
334 if (servicesHaveBeenLoaded && !services.one(serviceId)) { 337 if (servicesHaveBeenLoaded && !services.one(serviceId) && serviceId !== KEEP_WS_LOADED_USID) {
335 workspace.services.remove(serviceId); 338 workspace.services.remove(serviceId);
336 } 339 }
337 }); 340 });
diff --git a/src/helpers/i18n-helpers.js b/src/helpers/i18n-helpers.js
index 84146dd8c..807b9066e 100644
--- a/src/helpers/i18n-helpers.js
+++ b/src/helpers/i18n-helpers.js
@@ -28,7 +28,9 @@ export function getLocale({
28 return localeStr; 28 return localeStr;
29} 29}
30 30
31export function getSelectOptions({ locales, resetToDefaultText = '', automaticDetectionText = '' }) { 31export function getSelectOptions({
32 locales, resetToDefaultText = '', automaticDetectionText = '', sort = true,
33}) {
32 const options = []; 34 const options = [];
33 35
34 if (resetToDefaultText) { 36 if (resetToDefaultText) {
@@ -55,7 +57,11 @@ export function getSelectOptions({ locales, resetToDefaultText = '', automaticDe
55 disabled: true, 57 disabled: true,
56 }); 58 });
57 59
58 Object.keys(locales).sort(Intl.Collator().compare).forEach((key) => { 60 let keys = Object.keys(locales);
61 if (sort) {
62 keys = keys.sort(Intl.Collator().compare);
63 }
64 keys.forEach((key) => {
59 options.push({ 65 options.push({
60 value: key, 66 value: key,
61 label: locales[key], 67 label: locales[key],
diff --git a/src/helpers/recipe-helpers.js b/src/helpers/recipe-helpers.js
index 257e322fb..a31c29e72 100644
--- a/src/helpers/recipe-helpers.js
+++ b/src/helpers/recipe-helpers.js
@@ -3,7 +3,7 @@ import { remote } from 'electron';
3 3
4// import ServiceModel from '../models/Service'; 4// import ServiceModel from '../models/Service';
5 5
6const app = remote.app; 6const { app } = remote;
7 7
8export function getRecipeDirectory(id = '') { 8export function getRecipeDirectory(id = '') {
9 return path.join(app.getPath('userData'), 'recipes', id); 9 return path.join(app.getPath('userData'), 'recipes', id);
diff --git a/src/helpers/schedule-helpers.js b/src/helpers/schedule-helpers.js
new file mode 100644
index 000000000..a3020cad6
--- /dev/null
+++ b/src/helpers/schedule-helpers.js
@@ -0,0 +1,70 @@
1/* eslint-disable import/prefer-default-export */
2
3export function isInTimeframe(start, end) {
4 const [
5 startHourStr,
6 startMinuteStr,
7 ] = start.split(':');
8 const startHour = parseInt(startHourStr, 10);
9 const startMinute = parseInt(startMinuteStr, 10);
10
11 const [
12 endHourStr,
13 endMinuteStr,
14 ] = end.split(':');
15 const endHour = parseInt(endHourStr, 10);
16 const endMinute = parseInt(endMinuteStr, 10);
17
18 const currentHour = new Date().getHours();
19 const currentMinute = new Date().getMinutes();
20
21 // Check if the end time is before the start time (scheduled overnight)
22 // as we need to change our checks based on this
23 const endBeforeStart = (startHour > endHour || (startHour === endHour && startMinute > endMinute));
24
25 if (
26 // End is after start (e.g. 09:00-17:00)
27 !endBeforeStart
28 // Check if past start
29 && ((currentHour > startHour
30 || (
31 currentHour === startHour
32 && currentMinute >= startMinute
33 )
34 )
35 // Check that not past end
36 && (currentHour < endHour
37 || (
38 currentHour === endHour
39 && currentMinute < endMinute
40 )
41 ))
42 ) {
43 // We are in scheduled timeframe
44 return true;
45 }
46 if (
47 // End is before start (e.g. 17:00-09:00)
48 endBeforeStart
49 // Check if past start
50 && ((currentHour > startHour
51 || (
52 currentHour === startHour
53 && currentMinute >= startMinute
54 )
55 )
56 // Check that we are not past end
57 || (currentHour < endHour
58 || (
59 currentHour === endHour
60 && currentMinute < endMinute
61 )
62 ))
63 ) {
64 // We are also in scheduled timeframe
65 return true;
66 }
67
68 // We are not in scheduled timeframe
69 return false;
70}
diff --git a/src/helpers/serverless-helpers.js b/src/helpers/serverless-helpers.js
new file mode 100644
index 000000000..01549e038
--- /dev/null
+++ b/src/helpers/serverless-helpers.js
@@ -0,0 +1,18 @@
1import { LOCAL_SERVER } from '../config';
2
3export default function useLocalServer(actions) {
4 // Use local server for user
5 actions.settings.update({
6 type: 'app',
7 data: {
8 server: LOCAL_SERVER,
9 },
10 });
11
12 // Log into local server
13 // Credentials are ignored by the server but the client requires them
14 actions.user.login({
15 email: 'ferdi@localhost',
16 password: 'FERDI_',
17 });
18}
diff --git a/src/helpers/service-helpers.js b/src/helpers/service-helpers.js
index 5f63f6b7c..83f89f108 100644
--- a/src/helpers/service-helpers.js
+++ b/src/helpers/service-helpers.js
@@ -2,7 +2,7 @@ import path from 'path';
2import { remote } from 'electron'; 2import { remote } from 'electron';
3import fs from 'fs-extra'; 3import fs from 'fs-extra';
4 4
5const app = remote.app; 5const { app } = remote;
6 6
7export function getServicePartitionsDirectory() { 7export function getServicePartitionsDirectory() {
8 return path.join(app.getPath('userData'), 'Partitions'); 8 return path.join(app.getPath('userData'), 'Partitions');
diff --git a/src/helpers/url-helpers.js b/src/helpers/url-helpers.js
index 750d1f00c..2f429a25c 100644
--- a/src/helpers/url-helpers.js
+++ b/src/helpers/url-helpers.js
@@ -2,7 +2,7 @@ import { URL } from 'url';
2 2
3import { ALLOWED_PROTOCOLS } from '../config'; 3import { ALLOWED_PROTOCOLS } from '../config';
4 4
5const debug = require('debug')('Franz:Helpers:url'); 5const debug = require('debug')('Ferdi:Helpers:url');
6 6
7export function isValidExternalURL(url) { 7export function isValidExternalURL(url) {
8 const parsedUrl = new URL(url); 8 const parsedUrl = new URL(url);
diff --git a/src/helpers/validation-helpers.js b/src/helpers/validation-helpers.js
index ab2376b1b..f489ec65e 100644
--- a/src/helpers/validation-helpers.js
+++ b/src/helpers/validation-helpers.js
@@ -26,13 +26,13 @@ const messages = defineMessages({
26 26
27export function required({ field }) { 27export function required({ field }) {
28 const isValid = (field.value.trim() !== ''); 28 const isValid = (field.value.trim() !== '');
29 return [isValid, window.franz.intl.formatMessage(messages.required, { field: field.label })]; 29 return [isValid, window.ferdi.intl.formatMessage(messages.required, { field: field.label })];
30} 30}
31 31
32export function email({ field }) { 32export function email({ field }) {
33 const value = field.value.trim(); 33 const value = field.value.trim();
34 const isValid = isEmail(value); 34 const isValid = isEmail(value);
35 return [isValid, window.franz.intl.formatMessage(messages.email, { field: field.label })]; 35 return [isValid, window.ferdi.intl.formatMessage(messages.email, { field: field.label })];
36} 36}
37 37
38export function url({ field }) { 38export function url({ field }) {
@@ -46,7 +46,7 @@ export function url({ field }) {
46 isValid = true; 46 isValid = true;
47 } 47 }
48 48
49 return [isValid, window.franz.intl.formatMessage(messages.url, { field: field.label })]; 49 return [isValid, window.ferdi.intl.formatMessage(messages.url, { field: field.label })];
50} 50}
51 51
52export function minLength(length) { 52export function minLength(length) {
@@ -55,13 +55,13 @@ export function minLength(length) {
55 if (field.touched) { 55 if (field.touched) {
56 isValid = field.value.length >= length; 56 isValid = field.value.length >= length;
57 } 57 }
58 return [isValid, window.franz.intl.formatMessage(messages.minLength, { field: field.label, length })]; 58 return [isValid, window.ferdi.intl.formatMessage(messages.minLength, { field: field.label, length })];
59 }; 59 };
60} 60}
61 61
62export function oneRequired(targets) { 62export function oneRequired(targets) {
63 return ({ field, form }) => { 63 return ({ field, form }) => {
64 const invalidFields = targets.filter(target => form.$(target).value === ''); 64 const invalidFields = targets.filter(target => form.$(target).value === '');
65 return [targets.length !== invalidFields.length, window.franz.intl.formatMessage(messages.required, { field: field.label })]; 65 return [targets.length !== invalidFields.length, window.ferdi.intl.formatMessage(messages.required, { field: field.label })];
66 }; 66 };
67} 67}
diff --git a/src/i18n/apply-branding.js b/src/i18n/apply-branding.js
new file mode 100644
index 000000000..d88d8741b
--- /dev/null
+++ b/src/i18n/apply-branding.js
@@ -0,0 +1,67 @@
1/**
2 * Apply Ferdi branding to i18n translations
3 */
4const fs = require('fs-extra');
5const path = require('path');
6
7console.log('Applying Ferdi branding to translations...');
8
9// Keys to ignore when applying branding
10const ignore = [
11 'login.customServerSuggestion',
12 'login.customServerQuestion',
13 'settings.app.todoServerInfo',
14 'settings.app.serverMoneyInfo',
15 'settings.team.teamsUnavailableInfo',
16 'settings.app.serverMoneyInfo',
17];
18
19// Files to ignore when applying branding
20const ignoreFiles = [
21 'defaultMessages.json',
22 '.DS_Store',
23 '.',
24 '..',
25];
26
27// What to replace
28const replace = {
29 'meetfranz.com': 'getferdi.com',
30 'meetferdi.com': 'getferdi.com', // If Franz already got replaced with Ferdi
31 franz: 'Ferdi',
32 '!!!': '',
33};
34
35
36const locales = path.join(__dirname, 'locales');
37const files = fs.readdirSync(locales);
38
39const replaceFind = Object.keys(replace);
40const replaceReplaceWith = Object.values(replace);
41
42const replaceStr = (str, find, replaceWith) => {
43 for (let i = 0; i < find.length; i += 1) {
44 str = str.replace(new RegExp(find[i], 'gi'), replaceWith[i]);
45 }
46 return str;
47};
48
49files.forEach(async (file) => {
50 if (ignoreFiles.includes(file)) return;
51
52 // Read locale data
53 const filePath = path.join(locales, file);
54 const locale = await fs.readJson(filePath);
55
56 // Replace branding
57 for (const key in locale) {
58 if (!ignore.includes(key)) {
59 locale[key] = replaceStr(locale[key], replaceFind, replaceReplaceWith);
60 }
61 }
62
63 await fs.writeJson(filePath, locale, {
64 spaces: 2,
65 EOL: '\n',
66 });
67});
diff --git a/src/i18n/globalMessages.js b/src/i18n/globalMessages.js
index af8479c59..86fb9e18d 100644
--- a/src/i18n/globalMessages.js
+++ b/src/i18n/globalMessages.js
@@ -3,7 +3,7 @@ import { defineMessages } from 'react-intl';
3export default defineMessages({ 3export default defineMessages({
4 APIUnhealthy: { 4 APIUnhealthy: {
5 id: 'global.api.unhealthy', 5 id: 'global.api.unhealthy',
6 defaultMessage: '!!!Can\'t connect to Franz Online Services', 6 defaultMessage: '!!!Can\'t connect to Ferdi Online Services',
7 }, 7 },
8 notConnectedToTheInternet: { 8 notConnectedToTheInternet: {
9 id: 'global.notConnectedToTheInternet', 9 id: 'global.notConnectedToTheInternet',
diff --git a/src/i18n/locales/af.json b/src/i18n/locales/af.json
new file mode 100644
index 000000000..628880d9f
--- /dev/null
+++ b/src/i18n/locales/af.json
@@ -0,0 +1,448 @@
1{
2 "app.errorHandler.action": "Reload",
3 "app.errorHandler.headline": "Something went wrong",
4 "feature.announcements.changelog.headline": "Changes in Ferdi {version}",
5 "feature.delayApp.headline": "Please purchase a Ferdi Supporter License to skip waiting",
6 "feature.delayApp.text": "Ferdi will continue in {seconds} seconds.",
7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
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",
11 "feature.delayApp.upgrade.actionShort": "Upgrade account",
12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.quickSwitch.search": "Search...",
14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.shareFranz.action.email": "Send as email",
17 "feature.shareFranz.action.facebook": "Share on Facebook",
18 "feature.shareFranz.action.twitter": "Share on Twitter",
19 "feature.shareFranz.headline": "Ferdi is better together!",
20 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
23 "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.",
25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "global.api.unhealthy": "Can't connect to Ferdi online services",
27 "global.franzProRequired": "Ferdi Professional Required",
28 "global.notConnectedToTheInternet": "You are not connected to the internet.",
29 "global.spellchecker.useDefault": "Use System Default ({default})",
30 "global.spellchecking.autodetect": "Detect language automatically",
31 "global.spellchecking.autodetect.short": "Automatic",
32 "global.spellchecking.language": "Spell checking language",
33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "import.headline": "Import your Ferdi 4 services",
35 "import.notSupportedHeadline": "Services not yet supported in Ferdi 5",
36 "import.skip.label": "I want to add services manually",
37 "import.submit.label": "Import services",
38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "infobar.buttonChangelog": "What is new?",
40 "infobar.buttonInstallUpdate": "Restart & install update",
41 "infobar.buttonReloadServices": "Reload services",
42 "infobar.requiredRequestsFailed": "Could not load services and user information",
43 "infobar.servicesUpdated": "Your services have been updated.",
44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "infobar.updateAvailable": "A new update for Ferdi is available.",
46 "invite.email.label": "Email address",
47 "invite.headline.friends": "Invite 3 of your friends or colleagues",
48 "invite.name.label": "Name",
49 "invite.skip.label": "I want to do this later",
50 "invite.submit.label": "Send invites",
51 "invite.successInfo": "Invitations sent successfully",
52 "locked.headline": "Locked",
53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "locked.invalidCredentials": "Password invalid",
55 "locked.password.label": "Password",
56 "locked.submit.label": "Unlock",
57 "login.changeServer": "Change server",
58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "login.customServerSuggestion": "Try importing your Franz account",
60 "login.email.label": "Email address",
61 "login.headline": "Sign in",
62 "login.invalidCredentials": "Email or password not valid",
63 "login.link.password": "Reset password",
64 "login.link.signup": "Create a free account",
65 "login.password.label": "Password",
66 "login.serverLogout": "Your session expired, please login again.",
67 "login.submit.label": "Sign in",
68 "login.tokenExpired": "Your session expired, please login again.",
69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "menu.app.about": "About Ferdi",
72 "menu.app.announcement": "What's new?",
73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "menu.app.checkForUpdates": "Check for updates",
75 "menu.app.hide": "Hide",
76 "menu.app.hideOthers": "Hide Others",
77 "menu.app.quit": "Quit",
78 "menu.app.settings": "Settings",
79 "menu.app.unhide": "Unhide",
80 "menu.edit": "Edit",
81 "menu.edit.copy": "Copy",
82 "menu.edit.cut": "Cut",
83 "menu.edit.delete": "Delete",
84 "menu.edit.emojiSymbols": "Emoji & Symbols",
85 "menu.edit.paste": "Paste",
86 "menu.edit.pasteAndMatchStyle": "Paste And Match Style",
87 "menu.edit.redo": "Redo",
88 "menu.edit.selectAll": "Select All",
89 "menu.edit.speech": "Speech",
90 "menu.edit.startDictation": "Start Dictation",
91 "menu.edit.startSpeaking": "Start Speaking",
92 "menu.edit.stopSpeaking": "Stop Speaking",
93 "menu.edit.undo": "Undo",
94 "menu.file": "File",
95 "menu.help": "Help",
96 "menu.help.changelog": "Changelog",
97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.help.learnMore": "Learn More",
101 "menu.help.privacy": "Privacy Statement",
102 "menu.help.support": "Support",
103 "menu.help.tos": "Terms of Service",
104 "menu.services": "Services",
105 "menu.services.activatePreviousService": "Activate previous service",
106 "menu.services.addNewService": "Add New Service...",
107 "menu.services.goHome": "Home",
108 "menu.services.setNextServiceActive": "Activate next service",
109 "menu.todos": "Todos",
110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.view": "View",
112 "menu.view.back": "Back",
113 "menu.view.enterFullScreen": "Enter Full Screen",
114 "menu.view.exitFullScreen": "Exit Full Screen",
115 "menu.view.forward": "Forward",
116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.view.reloadFranz": "Reload Ferdi",
119 "menu.view.reloadService": "Reload Service",
120 "menu.view.resetZoom": "Actual Size",
121 "menu.view.toggleDevTools": "Toggle Developer Tools",
122 "menu.view.toggleFullScreen": "Toggle Full Screen",
123 "menu.view.toggleServiceDevTools": "Toggle Service Developer Tools",
124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.zoomIn": "Zoom In",
126 "menu.view.zoomOut": "Zoom Out",
127 "menu.window": "Window",
128 "menu.window.close": "Close",
129 "menu.window.minimize": "Minimize",
130 "menu.workspaces": "Workspaces",
131 "menu.workspaces.addNewWorkspace": "Add New Workspace...",
132 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
133 "menu.workspaces.defaultWorkspace": "All services",
134 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
135 "password.email.label": "Email address",
136 "password.headline": "Reset password",
137 "password.link.login": "Sign in to your account",
138 "password.link.signup": "Create a free account",
139 "password.noUser": "No user with that email address was found",
140 "password.submit.label": "Submit",
141 "password.successInfo": "Please check your email",
142 "premiumFeature.button.upgradeAccount": "Upgrade account",
143 "pricing.features.adFree": "Forever ad-free",
144 "pricing.features.appDelays": "No Waiting Screens",
145 "pricing.features.customWebsites": "Add Custom Websites",
146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "pricing.features.serviceProxies": "Service Proxies",
148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.workspaces": "Workspaces",
153 "pricing.plan.free": "Ferdi Free",
154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "service.crashHandler.action": "Reload {name}",
171 "service.crashHandler.autoReload": "Trying to automatically restore {name} in {seconds} seconds",
172 "service.crashHandler.headline": "Oh no!",
173 "service.crashHandler.text": "{name} has caused an error.",
174 "service.disabledHandler.action": "Enable {name}",
175 "service.disabledHandler.headline": "{name} is disabled",
176 "service.errorHandler.action": "Reload {name}",
177 "service.errorHandler.editAction": "Edit {name}",
178 "service.errorHandler.headline": "Oh no!",
179 "service.errorHandler.message": "Error",
180 "service.errorHandler.text": "{name} has failed to load.",
181 "service.restrictedHandler.action": "Upgrade Account",
182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.webviewLoader.loading": "Loading",
187 "services.getStarted": "Get started",
188 "services.login": "Please login to use Ferdi.",
189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "services.serverless": "Use Ferdi without an Account",
191 "services.welcome": "Welcome to Ferdi",
192 "settings.account.account.editButton": "Edit account",
193 "settings.account.accountType.basic": "Basic Account",
194 "settings.account.accountType.premium": "Premium Supporter Account",
195 "settings.account.buttonSave": "Update profile",
196 "settings.account.deleteAccount": "Delete account",
197 "settings.account.deleteEmailSent": "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!",
198 "settings.account.deleteInfo": "If you don't need your Ferdi account any longer, you can delete your account and all related data here.",
199 "settings.account.headline": "Account",
200 "settings.account.headlineAccount": "Account information",
201 "settings.account.headlineDangerZone": "Danger Zone",
202 "settings.account.headlineInvoices": "Invoices",
203 "settings.account.headlinePassword": "Change password",
204 "settings.account.headlineProfile": "Update profile",
205 "settings.account.headlineSubscription": "Your subscription",
206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.invoiceDownload": "Download",
209 "settings.account.manageSubscription.label": "Manage your subscription",
210 "settings.account.successInfo": "Your changes have been saved",
211 "settings.account.trial": "Free Trial",
212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.tryReloadServices": "Try again",
215 "settings.account.tryReloadUserInfoRequest": "Try again",
216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.userInfoRequestFailed": "Could not load user information",
218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.app.buttonClearAllCache": "Clear cache",
221 "settings.app.buttonInstallUpdate": "Restart & install update",
222 "settings.app.buttonSearchForUpdate": "Check for updates",
223 "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.",
224 "settings.app.currentVersion": "Current version:",
225 "settings.app.form.accentColor": "Accent color",
226 "settings.app.form.autoLaunchInBackground": "Open in background",
227 "settings.app.form.autoLaunchOnStart": "Launch Ferdi on start",
228 "settings.app.form.beta": "Include beta versions",
229 "settings.app.form.darkMode": "Join the Dark Side",
230 "settings.app.form.enableGPUAcceleration": "Enable GPU Acceleration",
231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.form.enableSpellchecking": "Enable spell checking",
233 "settings.app.form.enableSystemTray": "Show Ferdi in system tray",
234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.language": "Language",
239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.minimizeToSystemTray": "Minimize Ferdi to system tray",
241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.runInBackground": "Keep Ferdi in background when closing the window",
244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices": "Display disabled services tabs",
249 "settings.app.form.showMessagesBadgesWhenMuted": "Show unread message badge when notifications are disabled",
250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headline": "Settings",
254 "settings.app.headlineAdvanced": "Advanced",
255 "settings.app.headlineAppearance": "Appearance",
256 "settings.app.headlineGeneral": "General",
257 "settings.app.headlineLanguage": "Language",
258 "settings.app.headlineUpdates": "Updates",
259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.app.restartRequired": "Changes require restart",
265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.app.subheadlineCache": "Cache",
270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.app.translationHelp": "Help us to translate Ferdi into your language.",
272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.app.updateStatusAvailable": "Update available, downloading...",
274 "settings.app.updateStatusSearching": "Is searching for update",
275 "settings.app.updateStatusUpToDate": "You are using the latest version of Ferdi",
276 "settings.invite.headline": "Invite Friends",
277 "settings.navigation.account": "Account",
278 "settings.navigation.availableServices": "Available services",
279 "settings.navigation.logout": "Logout",
280 "settings.navigation.settings": "Settings",
281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.navigation.team": "Manage Team",
283 "settings.navigation.yourServices": "Your services",
284 "settings.navigation.yourWorkspaces": "Your workspaces",
285 "settings.recipes.all": "All services",
286 "settings.recipes.custom": "Custom Services",
287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.recipes.headline": "Available services",
294 "settings.recipes.missingService": "Missing a service?",
295 "settings.recipes.mostPopular": "Most popular",
296 "settings.recipes.nothingFound": "Sorry, but no service matched your search term.",
297 "settings.recipes.servicesSuccessfulAddedInfo": "Service successfully added",
298 "settings.searchService": "Search service",
299 "settings.service.error.goBack": "Back to services",
300 "settings.service.error.headline": "Error",
301 "settings.service.error.message": "Could not load service recipe.",
302 "settings.service.form.addServiceHeadline": "Add {name}",
303 "settings.service.form.availableServices": "Available services",
304 "settings.service.form.customUrl": "Custom server",
305 "settings.service.form.customUrlPremiumInfo": "To add self hosted services, you need a Ferdi Premium Supporter Account.",
306 "settings.service.form.customUrlUpgradeAccount": "Upgrade your account",
307 "settings.service.form.customUrlValidationError": "Could not validate custom {name} server.",
308 "settings.service.form.deleteButton": "Delete service",
309 "settings.service.form.editServiceHeadline": "Edit {name}",
310 "settings.service.form.enableAudio": "Enable audio",
311 "settings.service.form.enableBadge": "Show unread message badges",
312 "settings.service.form.enableDarkMode": "Enable Dark Mode",
313 "settings.service.form.enableNotification": "Enable notifications",
314 "settings.service.form.enableService": "Enable service",
315 "settings.service.form.headlineBadges": "Unread message badges",
316 "settings.service.form.headlineGeneral": "General",
317 "settings.service.form.headlineNotifications": "Notifications",
318 "settings.service.form.icon": "Custom icon",
319 "settings.service.form.iconDelete": "Delete",
320 "settings.service.form.iconUpload": "Drop your image, or click here",
321 "settings.service.form.indirectMessageInfo": "You will be notified about all new messages in a channel, not just @username, @channel, @here, ...",
322 "settings.service.form.indirectMessages": "Show message badge for all new messages",
323 "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted",
324 "settings.service.form.name": "Name",
325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings",
327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.service.form.proxy.info": "Proxy settings will not synced with the Ferdi servers.",
329 "settings.service.form.proxy.isEnabled": "Use Proxy",
330 "settings.service.form.proxy.password": "Password (optional)",
331 "settings.service.form.proxy.port": "Port",
332 "settings.service.form.proxy.restartInfo": "Please restart Ferdi after changing proxy Settings.",
333 "settings.service.form.proxy.user": "User (optional)",
334 "settings.service.form.saveButton": "Save service",
335 "settings.service.form.tabHosted": "Hosted",
336 "settings.service.form.tabOnPremise": "Self hosted ⭐️",
337 "settings.service.form.team": "Team",
338 "settings.service.form.useHostedService": "Use the hosted {name} service.",
339 "settings.service.form.yourServices": "Your services",
340 "settings.services.deletedInfo": "Service has been deleted",
341 "settings.services.discoverServices": "Discover services",
342 "settings.services.headline": "Your services",
343 "settings.services.noServicesAdded": "You haven't added any services yet.",
344 "settings.services.servicesRequestFailed": "Could not load your services",
345 "settings.services.tooltip.isDisabled": "Service is disabled",
346 "settings.services.tooltip.isMuted": "All sounds are muted",
347 "settings.services.tooltip.notificationsDisabled": "Notifications are disabled",
348 "settings.services.updatedInfo": "Your changes have been saved",
349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.team.headline": "Team",
357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.team.manageAction": "Manage your Team on getferdi.com",
359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.team.upgradeAction": "Upgrade your Account",
362 "settings.user.form.accountType.company": "Company",
363 "settings.user.form.accountType.individual": "Individual",
364 "settings.user.form.accountType.label": "Account type",
365 "settings.user.form.accountType.non-profit": "Non-Profit",
366 "settings.user.form.currentPassword": "Current password",
367 "settings.user.form.email": "Email",
368 "settings.user.form.firstname": "First Name",
369 "settings.user.form.lastname": "Last Name",
370 "settings.user.form.newPassword": "New password",
371 "settings.workspace.add.form.name": "Name",
372 "settings.workspace.add.form.submitButton": "Create workspace",
373 "settings.workspace.form.buttonDelete": "Delete workspace",
374 "settings.workspace.form.buttonSave": "Save workspace",
375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "settings.workspace.form.name": "Name",
378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "settings.workspace.form.yourWorkspaces": "Your workspaces",
380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "settings.workspaces.headline": "Your workspaces",
382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "settings.workspaces.tryReloadWorkspaces": "Try again",
384 "settings.workspaces.updatedInfo": "Your changes have been saved",
385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "sidebar.addNewService": "Add new service",
389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
391 "sidebar.lockFerdi": "Lock Ferdi",
392 "sidebar.muteApp": "Disable notifications & audio",
393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
395 "sidebar.settings": "Settings",
396 "sidebar.unmuteApp": "Enable notifications & audio",
397 "signup.email.label": "Email address",
398 "signup.emailDuplicate": "A user with that email address already exists",
399 "signup.firstname.label": "First Name",
400 "signup.headline": "Sign up",
401 "signup.lastname.label": "Last Name",
402 "signup.legal.info": "By creating a Ferdi account you accept the",
403 "signup.legal.privacy": "Privacy Statement",
404 "signup.legal.terms": "Terms of service",
405 "signup.link.login": "Already have an account, sign in?",
406 "signup.password.label": "Password",
407 "signup.submit.label": "Create account",
408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "subscription.cta.allOptions": "See all options",
410 "subscription.cta.choosePlan": "Choose your plan",
411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "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!",
414 "subscriptionPopup.buttonCancel": "Cancel",
415 "subscriptionPopup.buttonDone": "Done",
416 "tabs.item.deleteService": "Delete service",
417 "tabs.item.disableAudio": "Disable audio",
418 "tabs.item.disableNotifications": "Disable notifications",
419 "tabs.item.disableService": "Disable service",
420 "tabs.item.edit": "Edit",
421 "tabs.item.enableAudio": "Enable audio",
422 "tabs.item.enableNotification": "Enable notifications",
423 "tabs.item.enableService": "Enable service",
424 "tabs.item.reload": "Reload",
425 "validation.email": "{field} is not valid",
426 "validation.minLength": "{field} should be at least {length} characters long",
427 "validation.oneRequired": "At least one is required",
428 "validation.required": "{field} is required",
429 "validation.url": "{field} is not a valid URL",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Reload",
435 "welcome.loginButton": "Login to your account",
436 "welcome.signupButton": "Create a free account",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "All services",
439 "workspaceDrawer.headline": "Workspaces",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
448}
diff --git a/src/i18n/locales/ar.json b/src/i18n/locales/ar.json
new file mode 100644
index 000000000..628880d9f
--- /dev/null
+++ b/src/i18n/locales/ar.json
@@ -0,0 +1,448 @@
1{
2 "app.errorHandler.action": "Reload",
3 "app.errorHandler.headline": "Something went wrong",
4 "feature.announcements.changelog.headline": "Changes in Ferdi {version}",
5 "feature.delayApp.headline": "Please purchase a Ferdi Supporter License to skip waiting",
6 "feature.delayApp.text": "Ferdi will continue in {seconds} seconds.",
7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
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",
11 "feature.delayApp.upgrade.actionShort": "Upgrade account",
12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.quickSwitch.search": "Search...",
14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.shareFranz.action.email": "Send as email",
17 "feature.shareFranz.action.facebook": "Share on Facebook",
18 "feature.shareFranz.action.twitter": "Share on Twitter",
19 "feature.shareFranz.headline": "Ferdi is better together!",
20 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
23 "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.",
25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "global.api.unhealthy": "Can't connect to Ferdi online services",
27 "global.franzProRequired": "Ferdi Professional Required",
28 "global.notConnectedToTheInternet": "You are not connected to the internet.",
29 "global.spellchecker.useDefault": "Use System Default ({default})",
30 "global.spellchecking.autodetect": "Detect language automatically",
31 "global.spellchecking.autodetect.short": "Automatic",
32 "global.spellchecking.language": "Spell checking language",
33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "import.headline": "Import your Ferdi 4 services",
35 "import.notSupportedHeadline": "Services not yet supported in Ferdi 5",
36 "import.skip.label": "I want to add services manually",
37 "import.submit.label": "Import services",
38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "infobar.buttonChangelog": "What is new?",
40 "infobar.buttonInstallUpdate": "Restart & install update",
41 "infobar.buttonReloadServices": "Reload services",
42 "infobar.requiredRequestsFailed": "Could not load services and user information",
43 "infobar.servicesUpdated": "Your services have been updated.",
44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "infobar.updateAvailable": "A new update for Ferdi is available.",
46 "invite.email.label": "Email address",
47 "invite.headline.friends": "Invite 3 of your friends or colleagues",
48 "invite.name.label": "Name",
49 "invite.skip.label": "I want to do this later",
50 "invite.submit.label": "Send invites",
51 "invite.successInfo": "Invitations sent successfully",
52 "locked.headline": "Locked",
53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "locked.invalidCredentials": "Password invalid",
55 "locked.password.label": "Password",
56 "locked.submit.label": "Unlock",
57 "login.changeServer": "Change server",
58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "login.customServerSuggestion": "Try importing your Franz account",
60 "login.email.label": "Email address",
61 "login.headline": "Sign in",
62 "login.invalidCredentials": "Email or password not valid",
63 "login.link.password": "Reset password",
64 "login.link.signup": "Create a free account",
65 "login.password.label": "Password",
66 "login.serverLogout": "Your session expired, please login again.",
67 "login.submit.label": "Sign in",
68 "login.tokenExpired": "Your session expired, please login again.",
69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "menu.app.about": "About Ferdi",
72 "menu.app.announcement": "What's new?",
73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "menu.app.checkForUpdates": "Check for updates",
75 "menu.app.hide": "Hide",
76 "menu.app.hideOthers": "Hide Others",
77 "menu.app.quit": "Quit",
78 "menu.app.settings": "Settings",
79 "menu.app.unhide": "Unhide",
80 "menu.edit": "Edit",
81 "menu.edit.copy": "Copy",
82 "menu.edit.cut": "Cut",
83 "menu.edit.delete": "Delete",
84 "menu.edit.emojiSymbols": "Emoji & Symbols",
85 "menu.edit.paste": "Paste",
86 "menu.edit.pasteAndMatchStyle": "Paste And Match Style",
87 "menu.edit.redo": "Redo",
88 "menu.edit.selectAll": "Select All",
89 "menu.edit.speech": "Speech",
90 "menu.edit.startDictation": "Start Dictation",
91 "menu.edit.startSpeaking": "Start Speaking",
92 "menu.edit.stopSpeaking": "Stop Speaking",
93 "menu.edit.undo": "Undo",
94 "menu.file": "File",
95 "menu.help": "Help",
96 "menu.help.changelog": "Changelog",
97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.help.learnMore": "Learn More",
101 "menu.help.privacy": "Privacy Statement",
102 "menu.help.support": "Support",
103 "menu.help.tos": "Terms of Service",
104 "menu.services": "Services",
105 "menu.services.activatePreviousService": "Activate previous service",
106 "menu.services.addNewService": "Add New Service...",
107 "menu.services.goHome": "Home",
108 "menu.services.setNextServiceActive": "Activate next service",
109 "menu.todos": "Todos",
110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.view": "View",
112 "menu.view.back": "Back",
113 "menu.view.enterFullScreen": "Enter Full Screen",
114 "menu.view.exitFullScreen": "Exit Full Screen",
115 "menu.view.forward": "Forward",
116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.view.reloadFranz": "Reload Ferdi",
119 "menu.view.reloadService": "Reload Service",
120 "menu.view.resetZoom": "Actual Size",
121 "menu.view.toggleDevTools": "Toggle Developer Tools",
122 "menu.view.toggleFullScreen": "Toggle Full Screen",
123 "menu.view.toggleServiceDevTools": "Toggle Service Developer Tools",
124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.zoomIn": "Zoom In",
126 "menu.view.zoomOut": "Zoom Out",
127 "menu.window": "Window",
128 "menu.window.close": "Close",
129 "menu.window.minimize": "Minimize",
130 "menu.workspaces": "Workspaces",
131 "menu.workspaces.addNewWorkspace": "Add New Workspace...",
132 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
133 "menu.workspaces.defaultWorkspace": "All services",
134 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
135 "password.email.label": "Email address",
136 "password.headline": "Reset password",
137 "password.link.login": "Sign in to your account",
138 "password.link.signup": "Create a free account",
139 "password.noUser": "No user with that email address was found",
140 "password.submit.label": "Submit",
141 "password.successInfo": "Please check your email",
142 "premiumFeature.button.upgradeAccount": "Upgrade account",
143 "pricing.features.adFree": "Forever ad-free",
144 "pricing.features.appDelays": "No Waiting Screens",
145 "pricing.features.customWebsites": "Add Custom Websites",
146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "pricing.features.serviceProxies": "Service Proxies",
148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.workspaces": "Workspaces",
153 "pricing.plan.free": "Ferdi Free",
154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "service.crashHandler.action": "Reload {name}",
171 "service.crashHandler.autoReload": "Trying to automatically restore {name} in {seconds} seconds",
172 "service.crashHandler.headline": "Oh no!",
173 "service.crashHandler.text": "{name} has caused an error.",
174 "service.disabledHandler.action": "Enable {name}",
175 "service.disabledHandler.headline": "{name} is disabled",
176 "service.errorHandler.action": "Reload {name}",
177 "service.errorHandler.editAction": "Edit {name}",
178 "service.errorHandler.headline": "Oh no!",
179 "service.errorHandler.message": "Error",
180 "service.errorHandler.text": "{name} has failed to load.",
181 "service.restrictedHandler.action": "Upgrade Account",
182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.webviewLoader.loading": "Loading",
187 "services.getStarted": "Get started",
188 "services.login": "Please login to use Ferdi.",
189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "services.serverless": "Use Ferdi without an Account",
191 "services.welcome": "Welcome to Ferdi",
192 "settings.account.account.editButton": "Edit account",
193 "settings.account.accountType.basic": "Basic Account",
194 "settings.account.accountType.premium": "Premium Supporter Account",
195 "settings.account.buttonSave": "Update profile",
196 "settings.account.deleteAccount": "Delete account",
197 "settings.account.deleteEmailSent": "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!",
198 "settings.account.deleteInfo": "If you don't need your Ferdi account any longer, you can delete your account and all related data here.",
199 "settings.account.headline": "Account",
200 "settings.account.headlineAccount": "Account information",
201 "settings.account.headlineDangerZone": "Danger Zone",
202 "settings.account.headlineInvoices": "Invoices",
203 "settings.account.headlinePassword": "Change password",
204 "settings.account.headlineProfile": "Update profile",
205 "settings.account.headlineSubscription": "Your subscription",
206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.invoiceDownload": "Download",
209 "settings.account.manageSubscription.label": "Manage your subscription",
210 "settings.account.successInfo": "Your changes have been saved",
211 "settings.account.trial": "Free Trial",
212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.tryReloadServices": "Try again",
215 "settings.account.tryReloadUserInfoRequest": "Try again",
216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.userInfoRequestFailed": "Could not load user information",
218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.app.buttonClearAllCache": "Clear cache",
221 "settings.app.buttonInstallUpdate": "Restart & install update",
222 "settings.app.buttonSearchForUpdate": "Check for updates",
223 "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.",
224 "settings.app.currentVersion": "Current version:",
225 "settings.app.form.accentColor": "Accent color",
226 "settings.app.form.autoLaunchInBackground": "Open in background",
227 "settings.app.form.autoLaunchOnStart": "Launch Ferdi on start",
228 "settings.app.form.beta": "Include beta versions",
229 "settings.app.form.darkMode": "Join the Dark Side",
230 "settings.app.form.enableGPUAcceleration": "Enable GPU Acceleration",
231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.form.enableSpellchecking": "Enable spell checking",
233 "settings.app.form.enableSystemTray": "Show Ferdi in system tray",
234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.language": "Language",
239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.minimizeToSystemTray": "Minimize Ferdi to system tray",
241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.runInBackground": "Keep Ferdi in background when closing the window",
244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices": "Display disabled services tabs",
249 "settings.app.form.showMessagesBadgesWhenMuted": "Show unread message badge when notifications are disabled",
250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headline": "Settings",
254 "settings.app.headlineAdvanced": "Advanced",
255 "settings.app.headlineAppearance": "Appearance",
256 "settings.app.headlineGeneral": "General",
257 "settings.app.headlineLanguage": "Language",
258 "settings.app.headlineUpdates": "Updates",
259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.app.restartRequired": "Changes require restart",
265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.app.subheadlineCache": "Cache",
270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.app.translationHelp": "Help us to translate Ferdi into your language.",
272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.app.updateStatusAvailable": "Update available, downloading...",
274 "settings.app.updateStatusSearching": "Is searching for update",
275 "settings.app.updateStatusUpToDate": "You are using the latest version of Ferdi",
276 "settings.invite.headline": "Invite Friends",
277 "settings.navigation.account": "Account",
278 "settings.navigation.availableServices": "Available services",
279 "settings.navigation.logout": "Logout",
280 "settings.navigation.settings": "Settings",
281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.navigation.team": "Manage Team",
283 "settings.navigation.yourServices": "Your services",
284 "settings.navigation.yourWorkspaces": "Your workspaces",
285 "settings.recipes.all": "All services",
286 "settings.recipes.custom": "Custom Services",
287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.recipes.headline": "Available services",
294 "settings.recipes.missingService": "Missing a service?",
295 "settings.recipes.mostPopular": "Most popular",
296 "settings.recipes.nothingFound": "Sorry, but no service matched your search term.",
297 "settings.recipes.servicesSuccessfulAddedInfo": "Service successfully added",
298 "settings.searchService": "Search service",
299 "settings.service.error.goBack": "Back to services",
300 "settings.service.error.headline": "Error",
301 "settings.service.error.message": "Could not load service recipe.",
302 "settings.service.form.addServiceHeadline": "Add {name}",
303 "settings.service.form.availableServices": "Available services",
304 "settings.service.form.customUrl": "Custom server",
305 "settings.service.form.customUrlPremiumInfo": "To add self hosted services, you need a Ferdi Premium Supporter Account.",
306 "settings.service.form.customUrlUpgradeAccount": "Upgrade your account",
307 "settings.service.form.customUrlValidationError": "Could not validate custom {name} server.",
308 "settings.service.form.deleteButton": "Delete service",
309 "settings.service.form.editServiceHeadline": "Edit {name}",
310 "settings.service.form.enableAudio": "Enable audio",
311 "settings.service.form.enableBadge": "Show unread message badges",
312 "settings.service.form.enableDarkMode": "Enable Dark Mode",
313 "settings.service.form.enableNotification": "Enable notifications",
314 "settings.service.form.enableService": "Enable service",
315 "settings.service.form.headlineBadges": "Unread message badges",
316 "settings.service.form.headlineGeneral": "General",
317 "settings.service.form.headlineNotifications": "Notifications",
318 "settings.service.form.icon": "Custom icon",
319 "settings.service.form.iconDelete": "Delete",
320 "settings.service.form.iconUpload": "Drop your image, or click here",
321 "settings.service.form.indirectMessageInfo": "You will be notified about all new messages in a channel, not just @username, @channel, @here, ...",
322 "settings.service.form.indirectMessages": "Show message badge for all new messages",
323 "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted",
324 "settings.service.form.name": "Name",
325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings",
327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.service.form.proxy.info": "Proxy settings will not synced with the Ferdi servers.",
329 "settings.service.form.proxy.isEnabled": "Use Proxy",
330 "settings.service.form.proxy.password": "Password (optional)",
331 "settings.service.form.proxy.port": "Port",
332 "settings.service.form.proxy.restartInfo": "Please restart Ferdi after changing proxy Settings.",
333 "settings.service.form.proxy.user": "User (optional)",
334 "settings.service.form.saveButton": "Save service",
335 "settings.service.form.tabHosted": "Hosted",
336 "settings.service.form.tabOnPremise": "Self hosted ⭐️",
337 "settings.service.form.team": "Team",
338 "settings.service.form.useHostedService": "Use the hosted {name} service.",
339 "settings.service.form.yourServices": "Your services",
340 "settings.services.deletedInfo": "Service has been deleted",
341 "settings.services.discoverServices": "Discover services",
342 "settings.services.headline": "Your services",
343 "settings.services.noServicesAdded": "You haven't added any services yet.",
344 "settings.services.servicesRequestFailed": "Could not load your services",
345 "settings.services.tooltip.isDisabled": "Service is disabled",
346 "settings.services.tooltip.isMuted": "All sounds are muted",
347 "settings.services.tooltip.notificationsDisabled": "Notifications are disabled",
348 "settings.services.updatedInfo": "Your changes have been saved",
349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.team.headline": "Team",
357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.team.manageAction": "Manage your Team on getferdi.com",
359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.team.upgradeAction": "Upgrade your Account",
362 "settings.user.form.accountType.company": "Company",
363 "settings.user.form.accountType.individual": "Individual",
364 "settings.user.form.accountType.label": "Account type",
365 "settings.user.form.accountType.non-profit": "Non-Profit",
366 "settings.user.form.currentPassword": "Current password",
367 "settings.user.form.email": "Email",
368 "settings.user.form.firstname": "First Name",
369 "settings.user.form.lastname": "Last Name",
370 "settings.user.form.newPassword": "New password",
371 "settings.workspace.add.form.name": "Name",
372 "settings.workspace.add.form.submitButton": "Create workspace",
373 "settings.workspace.form.buttonDelete": "Delete workspace",
374 "settings.workspace.form.buttonSave": "Save workspace",
375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "settings.workspace.form.name": "Name",
378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "settings.workspace.form.yourWorkspaces": "Your workspaces",
380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "settings.workspaces.headline": "Your workspaces",
382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "settings.workspaces.tryReloadWorkspaces": "Try again",
384 "settings.workspaces.updatedInfo": "Your changes have been saved",
385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "sidebar.addNewService": "Add new service",
389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
391 "sidebar.lockFerdi": "Lock Ferdi",
392 "sidebar.muteApp": "Disable notifications & audio",
393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
395 "sidebar.settings": "Settings",
396 "sidebar.unmuteApp": "Enable notifications & audio",
397 "signup.email.label": "Email address",
398 "signup.emailDuplicate": "A user with that email address already exists",
399 "signup.firstname.label": "First Name",
400 "signup.headline": "Sign up",
401 "signup.lastname.label": "Last Name",
402 "signup.legal.info": "By creating a Ferdi account you accept the",
403 "signup.legal.privacy": "Privacy Statement",
404 "signup.legal.terms": "Terms of service",
405 "signup.link.login": "Already have an account, sign in?",
406 "signup.password.label": "Password",
407 "signup.submit.label": "Create account",
408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "subscription.cta.allOptions": "See all options",
410 "subscription.cta.choosePlan": "Choose your plan",
411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "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!",
414 "subscriptionPopup.buttonCancel": "Cancel",
415 "subscriptionPopup.buttonDone": "Done",
416 "tabs.item.deleteService": "Delete service",
417 "tabs.item.disableAudio": "Disable audio",
418 "tabs.item.disableNotifications": "Disable notifications",
419 "tabs.item.disableService": "Disable service",
420 "tabs.item.edit": "Edit",
421 "tabs.item.enableAudio": "Enable audio",
422 "tabs.item.enableNotification": "Enable notifications",
423 "tabs.item.enableService": "Enable service",
424 "tabs.item.reload": "Reload",
425 "validation.email": "{field} is not valid",
426 "validation.minLength": "{field} should be at least {length} characters long",
427 "validation.oneRequired": "At least one is required",
428 "validation.required": "{field} is required",
429 "validation.url": "{field} is not a valid URL",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Reload",
435 "welcome.loginButton": "Login to your account",
436 "welcome.signupButton": "Create a free account",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "All services",
439 "workspaceDrawer.headline": "Workspaces",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
448}
diff --git a/src/i18n/locales/bs.json b/src/i18n/locales/bs.json
new file mode 100644
index 000000000..628880d9f
--- /dev/null
+++ b/src/i18n/locales/bs.json
@@ -0,0 +1,448 @@
1{
2 "app.errorHandler.action": "Reload",
3 "app.errorHandler.headline": "Something went wrong",
4 "feature.announcements.changelog.headline": "Changes in Ferdi {version}",
5 "feature.delayApp.headline": "Please purchase a Ferdi Supporter License to skip waiting",
6 "feature.delayApp.text": "Ferdi will continue in {seconds} seconds.",
7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
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",
11 "feature.delayApp.upgrade.actionShort": "Upgrade account",
12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.quickSwitch.search": "Search...",
14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.shareFranz.action.email": "Send as email",
17 "feature.shareFranz.action.facebook": "Share on Facebook",
18 "feature.shareFranz.action.twitter": "Share on Twitter",
19 "feature.shareFranz.headline": "Ferdi is better together!",
20 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
23 "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.",
25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "global.api.unhealthy": "Can't connect to Ferdi online services",
27 "global.franzProRequired": "Ferdi Professional Required",
28 "global.notConnectedToTheInternet": "You are not connected to the internet.",
29 "global.spellchecker.useDefault": "Use System Default ({default})",
30 "global.spellchecking.autodetect": "Detect language automatically",
31 "global.spellchecking.autodetect.short": "Automatic",
32 "global.spellchecking.language": "Spell checking language",
33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "import.headline": "Import your Ferdi 4 services",
35 "import.notSupportedHeadline": "Services not yet supported in Ferdi 5",
36 "import.skip.label": "I want to add services manually",
37 "import.submit.label": "Import services",
38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "infobar.buttonChangelog": "What is new?",
40 "infobar.buttonInstallUpdate": "Restart & install update",
41 "infobar.buttonReloadServices": "Reload services",
42 "infobar.requiredRequestsFailed": "Could not load services and user information",
43 "infobar.servicesUpdated": "Your services have been updated.",
44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "infobar.updateAvailable": "A new update for Ferdi is available.",
46 "invite.email.label": "Email address",
47 "invite.headline.friends": "Invite 3 of your friends or colleagues",
48 "invite.name.label": "Name",
49 "invite.skip.label": "I want to do this later",
50 "invite.submit.label": "Send invites",
51 "invite.successInfo": "Invitations sent successfully",
52 "locked.headline": "Locked",
53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "locked.invalidCredentials": "Password invalid",
55 "locked.password.label": "Password",
56 "locked.submit.label": "Unlock",
57 "login.changeServer": "Change server",
58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "login.customServerSuggestion": "Try importing your Franz account",
60 "login.email.label": "Email address",
61 "login.headline": "Sign in",
62 "login.invalidCredentials": "Email or password not valid",
63 "login.link.password": "Reset password",
64 "login.link.signup": "Create a free account",
65 "login.password.label": "Password",
66 "login.serverLogout": "Your session expired, please login again.",
67 "login.submit.label": "Sign in",
68 "login.tokenExpired": "Your session expired, please login again.",
69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "menu.app.about": "About Ferdi",
72 "menu.app.announcement": "What's new?",
73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "menu.app.checkForUpdates": "Check for updates",
75 "menu.app.hide": "Hide",
76 "menu.app.hideOthers": "Hide Others",
77 "menu.app.quit": "Quit",
78 "menu.app.settings": "Settings",
79 "menu.app.unhide": "Unhide",
80 "menu.edit": "Edit",
81 "menu.edit.copy": "Copy",
82 "menu.edit.cut": "Cut",
83 "menu.edit.delete": "Delete",
84 "menu.edit.emojiSymbols": "Emoji & Symbols",
85 "menu.edit.paste": "Paste",
86 "menu.edit.pasteAndMatchStyle": "Paste And Match Style",
87 "menu.edit.redo": "Redo",
88 "menu.edit.selectAll": "Select All",
89 "menu.edit.speech": "Speech",
90 "menu.edit.startDictation": "Start Dictation",
91 "menu.edit.startSpeaking": "Start Speaking",
92 "menu.edit.stopSpeaking": "Stop Speaking",
93 "menu.edit.undo": "Undo",
94 "menu.file": "File",
95 "menu.help": "Help",
96 "menu.help.changelog": "Changelog",
97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.help.learnMore": "Learn More",
101 "menu.help.privacy": "Privacy Statement",
102 "menu.help.support": "Support",
103 "menu.help.tos": "Terms of Service",
104 "menu.services": "Services",
105 "menu.services.activatePreviousService": "Activate previous service",
106 "menu.services.addNewService": "Add New Service...",
107 "menu.services.goHome": "Home",
108 "menu.services.setNextServiceActive": "Activate next service",
109 "menu.todos": "Todos",
110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.view": "View",
112 "menu.view.back": "Back",
113 "menu.view.enterFullScreen": "Enter Full Screen",
114 "menu.view.exitFullScreen": "Exit Full Screen",
115 "menu.view.forward": "Forward",
116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.view.reloadFranz": "Reload Ferdi",
119 "menu.view.reloadService": "Reload Service",
120 "menu.view.resetZoom": "Actual Size",
121 "menu.view.toggleDevTools": "Toggle Developer Tools",
122 "menu.view.toggleFullScreen": "Toggle Full Screen",
123 "menu.view.toggleServiceDevTools": "Toggle Service Developer Tools",
124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.zoomIn": "Zoom In",
126 "menu.view.zoomOut": "Zoom Out",
127 "menu.window": "Window",
128 "menu.window.close": "Close",
129 "menu.window.minimize": "Minimize",
130 "menu.workspaces": "Workspaces",
131 "menu.workspaces.addNewWorkspace": "Add New Workspace...",
132 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
133 "menu.workspaces.defaultWorkspace": "All services",
134 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
135 "password.email.label": "Email address",
136 "password.headline": "Reset password",
137 "password.link.login": "Sign in to your account",
138 "password.link.signup": "Create a free account",
139 "password.noUser": "No user with that email address was found",
140 "password.submit.label": "Submit",
141 "password.successInfo": "Please check your email",
142 "premiumFeature.button.upgradeAccount": "Upgrade account",
143 "pricing.features.adFree": "Forever ad-free",
144 "pricing.features.appDelays": "No Waiting Screens",
145 "pricing.features.customWebsites": "Add Custom Websites",
146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "pricing.features.serviceProxies": "Service Proxies",
148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.workspaces": "Workspaces",
153 "pricing.plan.free": "Ferdi Free",
154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "service.crashHandler.action": "Reload {name}",
171 "service.crashHandler.autoReload": "Trying to automatically restore {name} in {seconds} seconds",
172 "service.crashHandler.headline": "Oh no!",
173 "service.crashHandler.text": "{name} has caused an error.",
174 "service.disabledHandler.action": "Enable {name}",
175 "service.disabledHandler.headline": "{name} is disabled",
176 "service.errorHandler.action": "Reload {name}",
177 "service.errorHandler.editAction": "Edit {name}",
178 "service.errorHandler.headline": "Oh no!",
179 "service.errorHandler.message": "Error",
180 "service.errorHandler.text": "{name} has failed to load.",
181 "service.restrictedHandler.action": "Upgrade Account",
182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.webviewLoader.loading": "Loading",
187 "services.getStarted": "Get started",
188 "services.login": "Please login to use Ferdi.",
189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "services.serverless": "Use Ferdi without an Account",
191 "services.welcome": "Welcome to Ferdi",
192 "settings.account.account.editButton": "Edit account",
193 "settings.account.accountType.basic": "Basic Account",
194 "settings.account.accountType.premium": "Premium Supporter Account",
195 "settings.account.buttonSave": "Update profile",
196 "settings.account.deleteAccount": "Delete account",
197 "settings.account.deleteEmailSent": "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!",
198 "settings.account.deleteInfo": "If you don't need your Ferdi account any longer, you can delete your account and all related data here.",
199 "settings.account.headline": "Account",
200 "settings.account.headlineAccount": "Account information",
201 "settings.account.headlineDangerZone": "Danger Zone",
202 "settings.account.headlineInvoices": "Invoices",
203 "settings.account.headlinePassword": "Change password",
204 "settings.account.headlineProfile": "Update profile",
205 "settings.account.headlineSubscription": "Your subscription",
206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.invoiceDownload": "Download",
209 "settings.account.manageSubscription.label": "Manage your subscription",
210 "settings.account.successInfo": "Your changes have been saved",
211 "settings.account.trial": "Free Trial",
212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.tryReloadServices": "Try again",
215 "settings.account.tryReloadUserInfoRequest": "Try again",
216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.userInfoRequestFailed": "Could not load user information",
218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.app.buttonClearAllCache": "Clear cache",
221 "settings.app.buttonInstallUpdate": "Restart & install update",
222 "settings.app.buttonSearchForUpdate": "Check for updates",
223 "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.",
224 "settings.app.currentVersion": "Current version:",
225 "settings.app.form.accentColor": "Accent color",
226 "settings.app.form.autoLaunchInBackground": "Open in background",
227 "settings.app.form.autoLaunchOnStart": "Launch Ferdi on start",
228 "settings.app.form.beta": "Include beta versions",
229 "settings.app.form.darkMode": "Join the Dark Side",
230 "settings.app.form.enableGPUAcceleration": "Enable GPU Acceleration",
231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.form.enableSpellchecking": "Enable spell checking",
233 "settings.app.form.enableSystemTray": "Show Ferdi in system tray",
234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.language": "Language",
239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.minimizeToSystemTray": "Minimize Ferdi to system tray",
241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.runInBackground": "Keep Ferdi in background when closing the window",
244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices": "Display disabled services tabs",
249 "settings.app.form.showMessagesBadgesWhenMuted": "Show unread message badge when notifications are disabled",
250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headline": "Settings",
254 "settings.app.headlineAdvanced": "Advanced",
255 "settings.app.headlineAppearance": "Appearance",
256 "settings.app.headlineGeneral": "General",
257 "settings.app.headlineLanguage": "Language",
258 "settings.app.headlineUpdates": "Updates",
259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.app.restartRequired": "Changes require restart",
265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.app.subheadlineCache": "Cache",
270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.app.translationHelp": "Help us to translate Ferdi into your language.",
272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.app.updateStatusAvailable": "Update available, downloading...",
274 "settings.app.updateStatusSearching": "Is searching for update",
275 "settings.app.updateStatusUpToDate": "You are using the latest version of Ferdi",
276 "settings.invite.headline": "Invite Friends",
277 "settings.navigation.account": "Account",
278 "settings.navigation.availableServices": "Available services",
279 "settings.navigation.logout": "Logout",
280 "settings.navigation.settings": "Settings",
281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.navigation.team": "Manage Team",
283 "settings.navigation.yourServices": "Your services",
284 "settings.navigation.yourWorkspaces": "Your workspaces",
285 "settings.recipes.all": "All services",
286 "settings.recipes.custom": "Custom Services",
287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.recipes.headline": "Available services",
294 "settings.recipes.missingService": "Missing a service?",
295 "settings.recipes.mostPopular": "Most popular",
296 "settings.recipes.nothingFound": "Sorry, but no service matched your search term.",
297 "settings.recipes.servicesSuccessfulAddedInfo": "Service successfully added",
298 "settings.searchService": "Search service",
299 "settings.service.error.goBack": "Back to services",
300 "settings.service.error.headline": "Error",
301 "settings.service.error.message": "Could not load service recipe.",
302 "settings.service.form.addServiceHeadline": "Add {name}",
303 "settings.service.form.availableServices": "Available services",
304 "settings.service.form.customUrl": "Custom server",
305 "settings.service.form.customUrlPremiumInfo": "To add self hosted services, you need a Ferdi Premium Supporter Account.",
306 "settings.service.form.customUrlUpgradeAccount": "Upgrade your account",
307 "settings.service.form.customUrlValidationError": "Could not validate custom {name} server.",
308 "settings.service.form.deleteButton": "Delete service",
309 "settings.service.form.editServiceHeadline": "Edit {name}",
310 "settings.service.form.enableAudio": "Enable audio",
311 "settings.service.form.enableBadge": "Show unread message badges",
312 "settings.service.form.enableDarkMode": "Enable Dark Mode",
313 "settings.service.form.enableNotification": "Enable notifications",
314 "settings.service.form.enableService": "Enable service",
315 "settings.service.form.headlineBadges": "Unread message badges",
316 "settings.service.form.headlineGeneral": "General",
317 "settings.service.form.headlineNotifications": "Notifications",
318 "settings.service.form.icon": "Custom icon",
319 "settings.service.form.iconDelete": "Delete",
320 "settings.service.form.iconUpload": "Drop your image, or click here",
321 "settings.service.form.indirectMessageInfo": "You will be notified about all new messages in a channel, not just @username, @channel, @here, ...",
322 "settings.service.form.indirectMessages": "Show message badge for all new messages",
323 "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted",
324 "settings.service.form.name": "Name",
325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings",
327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.service.form.proxy.info": "Proxy settings will not synced with the Ferdi servers.",
329 "settings.service.form.proxy.isEnabled": "Use Proxy",
330 "settings.service.form.proxy.password": "Password (optional)",
331 "settings.service.form.proxy.port": "Port",
332 "settings.service.form.proxy.restartInfo": "Please restart Ferdi after changing proxy Settings.",
333 "settings.service.form.proxy.user": "User (optional)",
334 "settings.service.form.saveButton": "Save service",
335 "settings.service.form.tabHosted": "Hosted",
336 "settings.service.form.tabOnPremise": "Self hosted ⭐️",
337 "settings.service.form.team": "Team",
338 "settings.service.form.useHostedService": "Use the hosted {name} service.",
339 "settings.service.form.yourServices": "Your services",
340 "settings.services.deletedInfo": "Service has been deleted",
341 "settings.services.discoverServices": "Discover services",
342 "settings.services.headline": "Your services",
343 "settings.services.noServicesAdded": "You haven't added any services yet.",
344 "settings.services.servicesRequestFailed": "Could not load your services",
345 "settings.services.tooltip.isDisabled": "Service is disabled",
346 "settings.services.tooltip.isMuted": "All sounds are muted",
347 "settings.services.tooltip.notificationsDisabled": "Notifications are disabled",
348 "settings.services.updatedInfo": "Your changes have been saved",
349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.team.headline": "Team",
357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.team.manageAction": "Manage your Team on getferdi.com",
359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.team.upgradeAction": "Upgrade your Account",
362 "settings.user.form.accountType.company": "Company",
363 "settings.user.form.accountType.individual": "Individual",
364 "settings.user.form.accountType.label": "Account type",
365 "settings.user.form.accountType.non-profit": "Non-Profit",
366 "settings.user.form.currentPassword": "Current password",
367 "settings.user.form.email": "Email",
368 "settings.user.form.firstname": "First Name",
369 "settings.user.form.lastname": "Last Name",
370 "settings.user.form.newPassword": "New password",
371 "settings.workspace.add.form.name": "Name",
372 "settings.workspace.add.form.submitButton": "Create workspace",
373 "settings.workspace.form.buttonDelete": "Delete workspace",
374 "settings.workspace.form.buttonSave": "Save workspace",
375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "settings.workspace.form.name": "Name",
378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "settings.workspace.form.yourWorkspaces": "Your workspaces",
380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "settings.workspaces.headline": "Your workspaces",
382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "settings.workspaces.tryReloadWorkspaces": "Try again",
384 "settings.workspaces.updatedInfo": "Your changes have been saved",
385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "sidebar.addNewService": "Add new service",
389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
391 "sidebar.lockFerdi": "Lock Ferdi",
392 "sidebar.muteApp": "Disable notifications & audio",
393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
395 "sidebar.settings": "Settings",
396 "sidebar.unmuteApp": "Enable notifications & audio",
397 "signup.email.label": "Email address",
398 "signup.emailDuplicate": "A user with that email address already exists",
399 "signup.firstname.label": "First Name",
400 "signup.headline": "Sign up",
401 "signup.lastname.label": "Last Name",
402 "signup.legal.info": "By creating a Ferdi account you accept the",
403 "signup.legal.privacy": "Privacy Statement",
404 "signup.legal.terms": "Terms of service",
405 "signup.link.login": "Already have an account, sign in?",
406 "signup.password.label": "Password",
407 "signup.submit.label": "Create account",
408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "subscription.cta.allOptions": "See all options",
410 "subscription.cta.choosePlan": "Choose your plan",
411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "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!",
414 "subscriptionPopup.buttonCancel": "Cancel",
415 "subscriptionPopup.buttonDone": "Done",
416 "tabs.item.deleteService": "Delete service",
417 "tabs.item.disableAudio": "Disable audio",
418 "tabs.item.disableNotifications": "Disable notifications",
419 "tabs.item.disableService": "Disable service",
420 "tabs.item.edit": "Edit",
421 "tabs.item.enableAudio": "Enable audio",
422 "tabs.item.enableNotification": "Enable notifications",
423 "tabs.item.enableService": "Enable service",
424 "tabs.item.reload": "Reload",
425 "validation.email": "{field} is not valid",
426 "validation.minLength": "{field} should be at least {length} characters long",
427 "validation.oneRequired": "At least one is required",
428 "validation.required": "{field} is required",
429 "validation.url": "{field} is not a valid URL",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Reload",
435 "welcome.loginButton": "Login to your account",
436 "welcome.signupButton": "Create a free account",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "All services",
439 "workspaceDrawer.headline": "Workspaces",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
448}
diff --git a/src/i18n/locales/ca.json b/src/i18n/locales/ca.json
index 897bcbf8f..2c8696f8e 100644
--- a/src/i18n/locales/ca.json
+++ b/src/i18n/locales/ca.json
@@ -1,429 +1,448 @@
1{ 1{
2 "app.errorHandler.action" : "Recarrega", 2 "app.errorHandler.action": "Recarrega",
3 "app.errorHandler.headline" : "Quelcom ha anat malament", 3 "app.errorHandler.headline": "Quelcom ha anat malament",
4 "feature.announcements.changelog.headline" : "Canvis en Franz {version}", 4 "feature.announcements.changelog.headline": "Canvis en Ferdi {version}",
5 "feature.delayApp.headline" : "Upgrade your Franz plan to skip the wait", 5 "feature.delayApp.headline": "Si us plau, compra una llicència de suport per a Ferdi per saltar l'espera",
6 "feature.delayApp.text" : "Franz continuarà en {seconds} segons", 6 "feature.delayApp.text": "Ferdi continuarà en {seconds} segons",
7 "feature.delayApp.trial.action" : "Yes, I want the free 14 day trial of Franz Professional", 7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort" : "Activate the free Franz Professional trial", 8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
9 "feature.delayApp.trial.headline" : "Get the free Franz Professional 14-days trial and skip the wait", 9 "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line",
10 "feature.delayApp.upgrade.action" : "Upgrade Franz", 10 "feature.delayApp.upgrade.action": "Aconsegueix una llicència de suport per a Ferdi",
11 "feature.delayApp.upgrade.actionShort" : "Millorar el teu compte", 11 "feature.delayApp.upgrade.actionShort": "Millorar el teu compte",
12 "feature.planSelection.cta.ctaDowngradeFree" : "Downgrade to Free", 12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.planSelection.cta.stayOnFree" : "Stay on Free", 13 "feature.quickSwitch.search": "Search...",
14 "feature.planSelection.cta.trial" : "Start my free 14-days Trial", 14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.planSelection.cta.upgradePersonal" : "Choose Personal", 15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.planSelection.cta.upgradePro" : "Choose Professional", 16 "feature.shareFranz.action.email": "Envia com a correu",
17 "feature.planSelection.free.text" : "Basic functionality", 17 "feature.shareFranz.action.facebook": "Compartir en Facebook",
18 "feature.planSelection.fullFeatureList" : "Complete comparison of all plans", 18 "feature.shareFranz.action.twitter": "Compartir a Twitter",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 19 "feature.shareFranz.headline": "Junts millorem Ferdi!",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade" : "Choose Personal", 20 "feature.shareFranz.shareText.email": "He afegit {count} serveis a Ferdi! Obtén l'aplicació gratuïta per a Whatsapp, Messenger, Slack, Skype a www,getferdi.com",
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.", 21 "feature.shareFranz.shareText.twitter": "He afegit {count} serveis a Ferdi! Obtén l'aplicació gratuïta de Whatsapp, Messenger, Slack, Skype i altres a www.getferdi.com/cc @FerdiMessenger",
22 "feature.planSelection.fullscreen.dialog.title" : "Downgrade your Franz Plan", 22 "feature.shareFranz.text": "Digues als teus amics i col·legues l'increïble que és Ferdi i ajuda'ns a còrrer la veu ",
23 "feature.planSelection.fullscreen.subheadline" : "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.", 23 "feature.todos.premium.info": "Ferdi Todos are available to premium users now!",
24 "feature.planSelection.fullscreen.welcome" : "Are you ready to choose, {name}?", 24 "feature.todos.premium.rollout": "Everyone else will have to wait a little longer.",
25 "feature.planSelection.personal.text" : "More services, no waiting - ideal for personal use.", 25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "feature.planSelection.pricesBasedOnAnnualPayment" : "All prices based on yearly payment", 26 "global.api.unhealthy": "No es pot connectar amb els serveis en línia de Ferdi",
27 "feature.planSelection.pro.text" : "Unlimited services and professional features for you - and your team.", 27 "global.franzProRequired": "Ferdi Professional Required",
28 "feature.serviceLimit.limitReached" : "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.", 28 "global.notConnectedToTheInternet": "No esteu connectat a Internet.",
29 "feature.shareFranz.action.email" : "Envia com a correu", 29 "global.spellchecker.useDefault": "Utilitzar el predeterminat del sistema ({default})",
30 "feature.shareFranz.action.facebook" : "Compartir en Facebook", 30 "global.spellchecking.autodetect": "Detectar l'idioma automàticament",
31 "feature.shareFranz.action.twitter" : "Compartir a Twitter", 31 "global.spellchecking.autodetect.short": "Automàtic",
32 "feature.shareFranz.headline" : "Junts millorem Franz!", 32 "global.spellchecking.language": "Corrector ortogràfic",
33 "feature.shareFranz.shareText.email" : "He afegit {count} serveis a Franz! Obtén l'aplicació gratuïta per a Whatsapp, Messenger, Slack, Skype a www,meetfranz.com", 33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "feature.shareFranz.shareText.twitter" : "He afegit {count} serveis a Franz! Obtén l'aplicació gratuïta de Whatsapp, Messenger, Slack, Skype i altres a www.meetfranz.com\/cc @FranzMessenger", 34 "import.headline": "Importa els teus serveis Ferdi 4",
35 "feature.shareFranz.text" : "Digues als teus amics i col·legues l'increïble que és Franz i ajuda'ns a còrrer la veu ", 35 "import.notSupportedHeadline": "Serveis que encara no s'admeten a Ferdi 5",
36 "feature.todos.premium.info" : "Franz Todos are available to premium users now!", 36 "import.skip.label": "Vull afegir serveis manualment",
37 "feature.todos.premium.rollout" : "Everyone else will have to wait a little longer.", 37 "import.submit.label": "Importa serveis",
38 "feature.todos.premium.upgrade" : "Upgrade Account", 38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "feature.trialStatusBar.cta" : "Upgrade now", 39 "infobar.buttonChangelog": "Que hi ha de nou?",
40 "feature.trialStatusBar.expired" : "Your free Franz {plan} Trial has expired, please upgrade your account.", 40 "infobar.buttonInstallUpdate": "Reinicia i instal·la l'actualització",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 41 "infobar.buttonReloadServices": "Recarrega els serveis",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade" : "Choose Personal", 42 "infobar.requiredRequestsFailed": "No s'han pogut carregar els serveis i la informació de l'usuari",
43 "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.", 43 "infobar.servicesUpdated": "Els teus serveis s'han actualitzat.",
44 "feature.trialStatusBar.fullscreen.dialog.title" : "Downgrade your Franz Plan", 44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "feature.trialStatusBar.restTime" : "Your Free Franz {plan} Trial ends in {time}.", 45 "infobar.updateAvailable": "Hi ha disponible una nova actualització per a Ferdi.",
46 "global.api.unhealthy" : "No es pot connectar amb els serveis en línia de Franz", 46 "invite.email.label": "Correu electrònic",
47 "global.franzProRequired" : "Franz Professional Required", 47 "invite.headline.friends": "Convida a tres dels teus amics o companys",
48 "global.notConnectedToTheInternet" : "No esteu connectat a Internet.", 48 "invite.name.label": "Nom",
49 "global.spellchecker.useDefault" : "Utilitzar el predeterminat del sistema ({default})", 49 "invite.skip.label": "Ho vull fer més tard",
50 "global.spellchecking.autodetect" : "Detectar l'idioma automàticament", 50 "invite.submit.label": "Enviar invitacions",
51 "global.spellchecking.autodetect.short" : "Automàtic", 51 "invite.successInfo": "Invitacions enviades correctament",
52 "global.spellchecking.language" : "Corrector ortogràfic", 52 "locked.headline": "Locked",
53 "global.upgradeButton.upgradeToPro" : "Upgrade to Franz Professional", 53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "import.headline" : "Importa els teus serveis Franz 4", 54 "locked.invalidCredentials": "Password invalid",
55 "import.notSupportedHeadline" : "Serveis que encara no s'admeten a Franz 5", 55 "locked.password.label": "Password",
56 "import.skip.label" : "Vull afegir serveis manualment", 56 "locked.submit.label": "Unlock",
57 "import.submit.label" : "Importa serveis", 57 "login.changeServer": "Change server",
58 "infobar.buttonChangelog" : "Que hi ha de nou?", 58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "infobar.buttonInstallUpdate" : "Reinicia i instal·la l'actualització", 59 "login.customServerSuggestion": "Try importing your Franz account",
60 "infobar.buttonReloadServices" : "Recarrega els serveis", 60 "login.email.label": "Correu electrònic",
61 "infobar.requiredRequestsFailed" : "No s'han pogut carregar els serveis i la informació de l'usuari", 61 "login.headline": "Accedir-hi",
62 "infobar.servicesUpdated" : "Els teus serveis s'han actualitzat.", 62 "login.invalidCredentials": "El correu electrònic o la contrasenya no són vàlids",
63 "infobar.trialActivated" : "Your trial was successfully activated. Happy messaging!", 63 "login.link.password": "Restablir la contrasenya",
64 "infobar.updateAvailable" : "Hi ha disponible una nova actualització per a Franz.", 64 "login.link.signup": "Crea un compte gratuït",
65 "invite.email.label" : "Correu electrònic", 65 "login.password.label": "Password",
66 "invite.headline.friends" : "Convida a tres dels teus amics o companys", 66 "login.serverLogout": "La teva sessió ha caducat, torna-la a iniciar.",
67 "invite.name.label" : "Nom", 67 "login.submit.label": "Accedir-hi",
68 "invite.skip.label" : "Ho vull fer més tard", 68 "login.tokenExpired": "La teva sessió ha caducat, torna-la a iniciar.",
69 "invite.submit.label" : "Enviar invitacions", 69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "invite.successInfo" : "Invitacions enviades correctament", 70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "login.email.label" : "Correu electrònic", 71 "menu.app.about": "Sobre Ferdi",
72 "login.headline" : "Accedir-hi", 72 "menu.app.announcement": "Què hi ha de nou?",
73 "login.invalidCredentials" : "El correu electrònic o la contrasenya no són vàlids", 73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "login.link.password" : "Restablir la contrasenya", 74 "menu.app.checkForUpdates": "Comprova si hi ha actualitzacions",
75 "login.link.signup" : "Crea un compte gratuït", 75 "menu.app.hide": "Amaga",
76 "login.password.label" : "Contrasenya", 76 "menu.app.hideOthers": "Amaga altres",
77 "login.serverLogout" : "La teva sessió ha caducat, torna-la a iniciar.", 77 "menu.app.quit": "Surt",
78 "login.submit.label" : "Accedir", 78 "menu.app.settings": "Configuració",
79 "login.tokenExpired" : "La teva sessió ha caducat, torna a iniciar la sessió.", 79 "menu.app.unhide": "Mostra",
80 "menu.Todoss.closeTodosDrawer" : "Close Todos drawer", 80 "menu.edit": "Edita",
81 "menu.Todoss.openTodosDrawer" : "Open Todos drawer", 81 "menu.edit.copy": "Copia",
82 "menu.app.about" : "Sobre Franz", 82 "menu.edit.cut": "Retalla",
83 "menu.app.announcement" : "Què hi ha de nou?", 83 "menu.edit.delete": "Suprimeix",
84 "menu.app.checkForUpdates" : "Comprova si hi ha actualitzacions", 84 "menu.edit.emojiSymbols": "Emoji i Símbols",
85 "menu.app.hide" : "Amaga", 85 "menu.edit.paste": "Enganxa",
86 "menu.app.hideOthers" : "Amaga altres", 86 "menu.edit.pasteAndMatchStyle": "Enganxa amb els estils",
87 "menu.app.quit" : "Surt", 87 "menu.edit.redo": "Refés",
88 "menu.app.settings" : "Configuració", 88 "menu.edit.selectAll": "Selecciona-ho tot",
89 "menu.app.unhide" : "Mostra", 89 "menu.edit.speech": "Pronuncia",
90 "menu.edit" : "Edita", 90 "menu.edit.startDictation": "Inicia el dictat",
91 "menu.edit.copy" : "Copia", 91 "menu.edit.startSpeaking": "Inicia la parla",
92 "menu.edit.cut" : "Retalla", 92 "menu.edit.stopSpeaking": "Atura la parla",
93 "menu.edit.delete" : "Suprimeix", 93 "menu.edit.undo": "Desfés",
94 "menu.edit.emojiSymbols" : "Emoji i Símbols", 94 "menu.file": "Fitxer",
95 "menu.edit.paste" : "Enganxa", 95 "menu.help": "Ajuda",
96 "menu.edit.pasteAndMatchStyle" : "Enganxa amb els estils", 96 "menu.help.changelog": "Registre de canvis",
97 "menu.edit.redo" : "Refés", 97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.edit.selectAll" : "Selecciona-ho tot", 98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.edit.speech" : "Pronuncia", 99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.edit.startDictation" : "Inicia el dictat", 100 "menu.help.learnMore": "Conegueu-ne més detalls",
101 "menu.edit.startSpeaking" : "Inicia la parla", 101 "menu.help.privacy": "Declaració de privacitat",
102 "menu.edit.stopSpeaking" : "Atura la parla", 102 "menu.help.support": "Suport",
103 "menu.edit.undo" : "Desfés", 103 "menu.help.tos": "Condicions del Servei",
104 "menu.file" : "Fitxer", 104 "menu.services": "Serveis",
105 "menu.help" : "Ajuda", 105 "menu.services.activatePreviousService": "Activate previous service",
106 "menu.help.changelog" : "Registre de canvis", 106 "menu.services.addNewService": "Afegeix un servei...",
107 "menu.help.debugInfo" : "Copy Debug Information", 107 "menu.services.goHome": "Home",
108 "menu.help.debugInfoCopiedBody" : "Your Debug Information has been copied to your clipboard.", 108 "menu.services.setNextServiceActive": "Activate next service",
109 "menu.help.debugInfoCopiedHeadline" : "Franz Debug Information", 109 "menu.todos": "Todos",
110 "menu.help.learnMore" : "Conegueu-ne més detalls", 110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.help.privacy" : "Declaració de privacitat", 111 "menu.view": "Visualitza",
112 "menu.help.support" : "Suport", 112 "menu.view.back": "Back",
113 "menu.help.tos" : "Condicions del Servei", 113 "menu.view.enterFullScreen": "Inicia la pantalla completa",
114 "menu.services" : "Serveis", 114 "menu.view.exitFullScreen": "Surt de pantalla completa",
115 "menu.services.activatePreviousService" : "Activate previous service", 115 "menu.view.forward": "Forward",
116 "menu.services.addNewService" : "Afegeix un servei...", 116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.services.goHome" : "Home", 117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.services.setNextServiceActive" : "Activate next service", 118 "menu.view.reloadFranz": "Torna a carregar Ferdi",
119 "menu.todos" : "Todos", 119 "menu.view.reloadService": "Torna a carregar el servei",
120 "menu.todos.enableTodos" : "Enable Todos", 120 "menu.view.resetZoom": "Mida real",
121 "menu.view" : "Visualitza", 121 "menu.view.toggleDevTools": "Activa serveis per a desenvolupadors",
122 "menu.view.enterFullScreen" : "Inicia la pantalla completa", 122 "menu.view.toggleFullScreen": "Activa la pantalla completa",
123 "menu.view.exitFullScreen" : "Surt de pantalla completa", 123 "menu.view.toggleServiceDevTools": "Habilita les eines de desenvolupador de serveis",
124 "menu.view.reloadFranz" : "Torna a carregar Franz", 124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.reloadService" : "Torna a carregar el servei", 125 "menu.view.zoomIn": "Amplia",
126 "menu.view.resetZoom" : "Mida real", 126 "menu.view.zoomOut": "Redueix",
127 "menu.view.toggleDevTools" : "Activa serveis per a desenvolupadors", 127 "menu.window": "Finestra",
128 "menu.view.toggleFullScreen" : "Activa la pantalla completa", 128 "menu.window.close": "Tanca",
129 "menu.view.toggleServiceDevTools" : "Habilita les eines de desenvolupador de serveis", 129 "menu.window.minimize": "Minimitza",
130 "menu.view.toggleTodosDevTools" : "Toggle Todos Developer Tools", 130 "menu.workspaces": "Workspaces",
131 "menu.view.zoomIn" : "Amplia", 131 "menu.workspaces.addNewWorkspace": "Add New Workspace...",
132 "menu.view.zoomOut" : "Redueix", 132 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
133 "menu.window" : "Finestra", 133 "menu.workspaces.defaultWorkspace": "Tots els serveis",
134 "menu.window.close" : "Tanca", 134 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
135 "menu.window.minimize" : "Minimitza", 135 "password.email.label": "Correu electrònic",
136 "menu.workspaces" : "Workspaces", 136 "password.headline": "Restablir la contrasenya",
137 "menu.workspaces.addNewWorkspace" : "Add New Workspace...", 137 "password.link.login": "Inicia la sessió al teu compte",
138 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer", 138 "password.link.signup": "Crea un compte gratuït",
139 "menu.workspaces.defaultWorkspace" : "Tots els serveis", 139 "password.noUser": "No s'ha trobat cap usuari amb aquesta adreça de correu electrònic",
140 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer", 140 "password.submit.label": "Enviar",
141 "password.email.label" : "Correu electrònic", 141 "password.successInfo": "Comproveu el vostre correu electrònic",
142 "password.headline" : "Restablir contrasenya", 142 "premiumFeature.button.upgradeAccount": "Millorar el teu compte",
143 "password.link.login" : "Inicia la sessió al teu compte", 143 "pricing.features.adFree": "Forever ad-free",
144 "password.link.signup" : "Crea un compte gratuït", 144 "pricing.features.appDelays": "No Waiting Screens",
145 "password.noUser" : "No s'ha trobat cap usuari amb aquesta adreça de correu electrònic", 145 "pricing.features.customWebsites": "Add Custom Websites",
146 "password.submit.label" : "Enviar", 146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "password.successInfo" : "Comproveu el vostre correu electrònic", 147 "pricing.features.serviceProxies": "Service Proxies",
148 "premiumFeature.button.upgradeAccount" : "Millorar el teu compte", 148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.accountSync" : "Account Synchronisation", 149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.adFree" : "Forever ad-free", 150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.appDelays" : "No Waiting Screens", 151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.customWebsites" : "Add Custom Websites", 152 "pricing.features.workspaces": "Workspaces",
153 "pricing.features.desktopNotifications" : "Desktop Notifications", 153 "pricing.plan.free": "Ferdi Free",
154 "pricing.features.onPremise" : "On-premise & other Hosted Services", 154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.features.recipes" : "Choose from more than 70 Services", 155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.features.serviceProxies" : "Service Proxies", 156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.features.spellchecker" : "Spellchecker support", 157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.features.teamManagement" : "Team Management", 158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.features.thirdPartyServices" : "Install 3rd party services", 159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.features.unlimitedServices" : "Add unlimited services", 160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.features.upToSixServices" : "Add up to 6 services", 161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.features.upToThreeServices" : "Add up to 3 services", 162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.features.workspaces" : "Workspaces", 163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.plan.free" : "Free", 164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.plan.legacy" : "Premium", 165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.plan.personal" : "Personal", 166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.plan.personal-monthly" : "Personal Monthly", 167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.plan.personal-yearly" : "Personal Yearly", 168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.plan.pro" : "Professional", 169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "pricing.plan.pro-monthly" : "Professional Monthly", 170 "service.crashHandler.action": "Recarrega {name}",
171 "pricing.plan.pro-yearly" : "Professional Yearly", 171 "service.crashHandler.autoReload": "Intentant restablir automàticament {name} en {seconds} segons",
172 "pricing.trial.cta.accept" : "Start my 14-day Franz Professional Trial ", 172 "service.crashHandler.headline": "Oh no!",
173 "pricing.trial.cta.skip" : "Continue to Franz", 173 "service.crashHandler.text": "{name} ha causat un error.",
174 "pricing.trial.cta.start" : "Start using Franz", 174 "service.disabledHandler.action": "Activar {name}",
175 "pricing.trial.error" : "Sorry, we could not activate your trial!", 175 "service.disabledHandler.headline": "{name} està desactivat",
176 "pricing.trial.features.headline" : "Franz Professional includes:", 176 "service.errorHandler.action": "Recarrega {name}",
177 "pricing.trial.headline.pro" : "Hi {name}, welcome to Franz", 177 "service.errorHandler.editAction": "Edita {name}",
178 "pricing.trial.intro.happyMessaging" : "Happy messaging,", 178 "service.errorHandler.headline": "Oh no!",
179 "pricing.trial.intro.specialTreat" : "We have a special treat for you.", 179 "service.errorHandler.message": "Error",
180 "pricing.trial.intro.tryPro" : "Enjoy the full Franz Professional experience completely free for 14 days.", 180 "service.errorHandler.text": "{name} ha fallat al carregar",
181 "pricing.trial.terms.automaticTrialEnd" : "Your free trial ends automatically after 14 days", 181 "service.restrictedHandler.action": "Upgrade Account",
182 "pricing.trial.terms.headline" : "No strings attached", 182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "pricing.trial.terms.noCreditCard" : "No credit card required", 183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "pricing.trial.terms.trialWorth" : "Free trial (normally {currency}{price} per month)", 184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.crashHandler.action" : "Recarrega {name}", 185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.crashHandler.autoReload" : "Intentant restablir automàticament {name} en {seconds} segons", 186 "service.webviewLoader.loading": "Loading",
187 "service.crashHandler.headline" : "Oh no!", 187 "services.getStarted": "Introducció",
188 "service.crashHandler.text" : "{name} ha causat un error.", 188 "services.login": "Please login to use Ferdi.",
189 "service.disabledHandler.action" : "Activar {name}", 189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "service.disabledHandler.headline" : "{name} està desactivat", 190 "services.serverless": "Use Ferdi without an Account",
191 "service.errorHandler.action" : "Recarrega {name}", 191 "services.welcome": "Benvingut a Ferdi",
192 "service.errorHandler.editAction" : "Edita {name}", 192 "settings.account.account.editButton": "Editar Compte",
193 "service.errorHandler.headline" : "Oh no!", 193 "settings.account.accountType.basic": "Compte bàsic",
194 "service.errorHandler.message" : "Error", 194 "settings.account.accountType.premium": "Compte de Suport Premium",
195 "service.errorHandler.text" : "{name} ha fallat al carregar", 195 "settings.account.buttonSave": "Actualitzar el perfil",
196 "service.restrictedHandler.action" : "Upgrade Account", 196 "settings.account.deleteAccount": "Esborrar compte",
197 "service.restrictedHandler.customUrl.headline" : "Franz Professional Plan required", 197 "settings.account.deleteEmailSent": "Has rebut un correu electrònic amb un enllaç per confirmar l'eliminació del compte. El teu compte i la seva informació no podran ser restaurats!",
198 "service.restrictedHandler.customUrl.text" : "Please upgrade to the Franz Professional plan to use custom urls & self hosted services.", 198 "settings.account.deleteInfo": "Si ja no necessites el teu compte de Ferdi, pots esborrar el teu compte i tota la seva informació emmagatzemada aquí.",
199 "service.restrictedHandler.serviceLimit.headline" : "You have reached your service limit.", 199 "settings.account.headline": "Compte",
200 "service.restrictedHandler.serviceLimit.text" : "Please upgrade your account to use more than {count} services.", 200 "settings.account.headlineAccount": "Informació del compte",
201 "service.webviewLoader.loading" : "Loading", 201 "settings.account.headlineDangerZone": "Zona de perill",
202 "services.getStarted" : "Introducció", 202 "settings.account.headlineInvoices": "Factures",
203 "services.welcome" : "Benvingut a Franz", 203 "settings.account.headlinePassword": "Canvia la contrasenya",
204 "settings.account.account.editButton" : "Editar Compte", 204 "settings.account.headlineProfile": "Actualitzar el perfil",
205 "settings.account.accountType.basic" : "Compte bàsic", 205 "settings.account.headlineSubscription": "La vostra subscripció",
206 "settings.account.accountType.premium" : "Compte de Suport Premium", 206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.buttonSave" : "Actualitzar el perfil", 207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.deleteAccount" : "Esborrar compte", 208 "settings.account.invoiceDownload": "Descarregar",
209 "settings.account.deleteEmailSent" : "Has rebut un correu electrònic amb un enllaç per confirmar l'eliminació del compte. El teu compte i la seva informació no podran ser restaurats!", 209 "settings.account.manageSubscription.label": "Gestioneu la vostra subscripció",
210 "settings.account.deleteInfo" : "Si ja no necessites el teu compte de Franz, pots esborrar el teu compte i tota la seva informació emmagatzemada aquí.", 210 "settings.account.successInfo": "S'han desat els canvis",
211 "settings.account.headline" : "Compte", 211 "settings.account.trial": "Free Trial",
212 "settings.account.headlineAccount" : "Informació del compte", 212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.headlineDangerZone" : "Zona de perill", 213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.headlineInvoices" : "Factures", 214 "settings.account.tryReloadServices": "Torna a provar-ho",
215 "settings.account.headlinePassword" : "Canvia la contrasenya", 215 "settings.account.tryReloadUserInfoRequest": "Torna a provar-ho",
216 "settings.account.headlineProfile" : "Actualitza el perfil", 216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.headlineSubscription" : "La vostra subscripció", 217 "settings.account.userInfoRequestFailed": "No s'ha pogut carregar la informació de l'usuari",
218 "settings.account.headlineTrialUpgrade" : "Get the free 14 day Franz Professional Trial", 218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.account.headlineUpgradeAccount" : "Upgrade your account & get the full Franz experience", 219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.account.invoiceDownload" : "Descarregar", 220 "settings.app.buttonClearAllCache": "Buida la memòria cau",
221 "settings.account.manageSubscription.label" : "Gestioneu la vostra subscripció", 221 "settings.app.buttonInstallUpdate": "Reinicia i instal·la l'actualització",
222 "settings.account.successInfo" : "S'han desat els canvis", 222 "settings.app.buttonSearchForUpdate": "Comprova si hi ha actualitzacions",
223 "settings.account.trial" : "Free Trial", 223 "settings.app.cacheInfo": "La memòria cau de Ferdi està utilitzant {size} d'espai al disc",
224 "settings.account.trialEndsIn" : "Your free trial ends in {duration}.", 224 "settings.app.currentVersion": "Versió actual:",
225 "settings.account.trialUpdateBillingInfo" : "Please update your billing info to continue using {license} after your trial period.", 225 "settings.app.form.accentColor": "Accent color",
226 "settings.account.tryReloadServices" : "Torna a provar-ho", 226 "settings.app.form.autoLaunchInBackground": "Obrir en segon plà",
227 "settings.account.tryReloadUserInfoRequest" : "Torna a provar-ho", 227 "settings.app.form.autoLaunchOnStart": "Iniciar Ferdi a l'inici",
228 "settings.account.upgradeToPro.label" : "Upgrade to Franz Professional", 228 "settings.app.form.beta": "Inclou versions beta",
229 "settings.account.userInfoRequestFailed" : "No s'ha pogut carregar la informació de l'usuari", 229 "settings.app.form.darkMode": "Uneix-te al Cantó Fosc",
230 "settings.account.yourLicense" : "Your Franz License", 230 "settings.app.form.enableGPUAcceleration": "Activar acceleració GPU",
231 "settings.app.buttonClearAllCache" : "Buida la memòria cau", 231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.buttonInstallUpdate" : "Reinicia i instal·la l'actualització", 232 "settings.app.form.enableSpellchecking": "Habilita la comprobació ortogràfica",
233 "settings.app.buttonSearchForUpdate" : "Comprova si hi ha actualitzacions", 233 "settings.app.form.enableSystemTray": "Mostra Ferdi a la safata del sistema",
234 "settings.app.cacheInfo" : "La memòria cau de Franz està utilitzant {size} d'espai al disc", 234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.currentVersion" : "Versió actual:", 235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.autoLaunchInBackground" : "Obrir en segon plà", 236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.autoLaunchOnStart" : "Iniciar Franz a l'inici", 237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.beta" : "Inclou versions beta", 238 "settings.app.form.language": "Idioma",
239 "settings.app.form.darkMode" : "Uneix-te al Cantó Fosc", 239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.enableGPUAcceleration" : "Activar acceleració GPU", 240 "settings.app.form.minimizeToSystemTray": "Minimitza Ferdi a la safata del sistema",
241 "settings.app.form.enableSpellchecking" : "Habilita la comprobació ortogràfica", 241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.enableSystemTray" : "Mostra Franz a la safata del sistema", 242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.enableTodos" : "Enable Franz Todos", 243 "settings.app.form.runInBackground": "Mantén a Ferdi en segon pla en tancar la finestra",
244 "settings.app.form.keepAllWorkspacesLoaded" : "Keep all workspaces loaded", 244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.language" : "Idioma", 245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.minimizeToSystemTray" : "Minimitza Franz a la safata del sistema", 246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.runInBackground" : "Mantén a Franz en segon pla en tancar la finestra", 247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices" : "Mostra les pestanyes dels serveis desactivats", 248 "settings.app.form.showDisabledServices": "Mostra les pestanyes dels serveis desactivats",
249 "settings.app.form.showMessagesBadgesWhenMuted" : "Mostra la insígnia de missatges no llegits quan les notificacions estiguin desactivades", 249 "settings.app.form.showMessagesBadgesWhenMuted": "Mostra la insígnia de missatges no llegits quan les notificacions estiguin desactivades",
250 "settings.app.headline" : "Configuració", 250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.headlineAdvanced" : "Avançat", 251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.headlineAppearance" : "Aparença", 252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headlineGeneral" : "General", 253 "settings.app.headline": "Configuració",
254 "settings.app.headlineLanguage" : "Idioma", 254 "settings.app.headlineAdvanced": "Avançat",
255 "settings.app.headlineUpdates" : "Actualitzacions", 255 "settings.app.headlineAppearance": "Aparença",
256 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.", 256 "settings.app.headlineGeneral": "General",
257 "settings.app.restartRequired" : "Els canvis requereixen reiniciar", 257 "settings.app.headlineLanguage": "Idioma",
258 "settings.app.subheadlineCache" : "Memòria cau", 258 "settings.app.headlineUpdates": "Actualitzacions",
259 "settings.app.translationHelp" : "Ajuda'ns a traduir Franz en la teva llengua.", 259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.updateStatusAvailable" : "Actualització disponible, descarregant ...", 260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.updateStatusSearching" : "Està buscant actualitzacions", 261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.updateStatusUpToDate" : "Esteu utilitzant la versió més recent de Franz", 262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.invite.headline" : "Convidar amics", 263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.navigation.account" : "Compte", 264 "settings.app.restartRequired": "Els canvis requereixen reiniciar",
265 "settings.navigation.availableServices" : "Serveis disponibles", 265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.navigation.inviteFriends" : "Convidar amics", 266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.navigation.logout" : "Sortir", 267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.navigation.settings" : "Configuració", 268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.navigation.team" : "Manage Team", 269 "settings.app.subheadlineCache": "Memòria cau",
270 "settings.navigation.yourServices" : "Els vostres serveis", 270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.navigation.yourWorkspaces" : "Your workspaces", 271 "settings.app.translationHelp": "Ajuda'ns a traduir Ferdi en la teva llengua.",
272 "settings.recipes.all" : "Tots els serveis", 272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.recipes.custom" : "Custom Services", 273 "settings.app.updateStatusAvailable": "Actualització disponible, descarregant ...",
274 "settings.recipes.customService.headline.communityRecipes" : "Community 3rd Party Recipes", 274 "settings.app.updateStatusSearching": "Està buscant actualitzacions",
275 "settings.recipes.customService.headline.customRecipes" : "Custom 3rd Party Recipes", 275 "settings.app.updateStatusUpToDate": "Esteu utilitzant la versió més recent de Ferdi",
276 "settings.recipes.customService.headline.devRecipes" : "Your Development Service Recipes", 276 "settings.invite.headline": "Convidar amics",
277 "settings.recipes.customService.intro" : "To add a custom service, copy the service recipe to:", 277 "settings.navigation.account": "Compte",
278 "settings.recipes.customService.openDevDocs" : "Developer Documentation", 278 "settings.navigation.availableServices": "Serveis disponibles",
279 "settings.recipes.customService.openFolder" : "Open folder", 279 "settings.navigation.logout": "Sortir",
280 "settings.recipes.headline" : "Serveis disponibles", 280 "settings.navigation.settings": "Configuració",
281 "settings.recipes.missingService" : "Trobes a faltar algun servei?", 281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.recipes.mostPopular" : "Els més populars", 282 "settings.navigation.team": "Manage Team",
283 "settings.recipes.nothingFound" : "Ho sentim, però cap servei coincideix amb el terme cercat.", 283 "settings.navigation.yourServices": "Els vostres serveis",
284 "settings.recipes.servicesSuccessfulAddedInfo" : "El servei s'ha afegit correctament", 284 "settings.navigation.yourWorkspaces": "Your workspaces",
285 "settings.searchService" : "Cercar servei", 285 "settings.recipes.all": "Tots els serveis",
286 "settings.service.error.goBack" : "Tornar als serveis", 286 "settings.recipes.custom": "Custom Services",
287 "settings.service.error.headline" : "Error", 287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.service.error.message" : "No s'ha pogut carregar la recepta del servei.", 288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.service.form.addServiceHeadline" : "Afegir {name}", 289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.service.form.availableServices" : "Serveis disponibles", 290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.service.form.customUrl" : "Servidor personalitzat", 291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.service.form.customUrlPremiumInfo" : "Per afegir serveis allotjats per vosaltres mateixos, necessiteu un Compte Franz Premium Supporter.", 292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.service.form.customUrlUpgradeAccount" : "Actualitzeu el vostre compte", 293 "settings.recipes.headline": "Serveis disponibles",
294 "settings.service.form.customUrlValidationError" : "No s'ha pogut validar el servidor {name} personalitzat.", 294 "settings.recipes.missingService": "Trobes a faltar algun servei?",
295 "settings.service.form.deleteButton" : "Suprimeix el servei", 295 "settings.recipes.mostPopular": "Els més populars",
296 "settings.service.form.editServiceHeadline" : "Edita {name}", 296 "settings.recipes.nothingFound": "Ho sentim, però cap servei coincideix amb el terme cercat.",
297 "settings.service.form.enableAudio" : "Activa l'àudio", 297 "settings.recipes.servicesSuccessfulAddedInfo": "El servei s'ha afegit correctament",
298 "settings.service.form.enableBadge" : "Mostra les insígnies als missatges no llegits.", 298 "settings.searchService": "Cercar servei",
299 "settings.service.form.enableDarkMode" : "Activar el Mode Fosc", 299 "settings.service.error.goBack": "Tornar als serveis",
300 "settings.service.form.enableNotification" : "Activa les notificacions", 300 "settings.service.error.headline": "Error",
301 "settings.service.form.enableService" : "Activa el servei", 301 "settings.service.error.message": "No s'ha pogut carregar la recepta del servei.",
302 "settings.service.form.headlineBadges" : "Insígnies de missatges no llegits", 302 "settings.service.form.addServiceHeadline": "Afegir {name}",
303 "settings.service.form.headlineGeneral" : "General", 303 "settings.service.form.availableServices": "Serveis disponibles",
304 "settings.service.form.headlineNotifications" : "Notificacions", 304 "settings.service.form.customUrl": "Servidor personalitzat",
305 "settings.service.form.icon" : "Icona personalitzada", 305 "settings.service.form.customUrlPremiumInfo": "Per afegir serveis allotjats per vosaltres mateixos, necessiteu un Compte Ferdi Premium Supporter.",
306 "settings.service.form.iconDelete" : "Suprimeix", 306 "settings.service.form.customUrlUpgradeAccount": "Actualitzeu el vostre compte",
307 "settings.service.form.iconUpload" : "Arrossega la teva imatge, o clica aquí", 307 "settings.service.form.customUrlValidationError": "No s'ha pogut validar el servidor {name} personalitzat.",
308 "settings.service.form.indirectMessageInfo" : "Se't notificarà sobre tots els missatges nous en un canal, no només @usuari, @canal, @aquí ...", 308 "settings.service.form.deleteButton": "Suprimeix el servei",
309 "settings.service.form.indirectMessages" : "Mostra la insígnia de missatge per a tots els missatges nous", 309 "settings.service.form.editServiceHeadline": "Edita {name}",
310 "settings.service.form.isMutedInfo" : "Quan es desactiva, tots els sons de notificació i reproducció d'àudio es silenciaran", 310 "settings.service.form.enableAudio": "Activa l'àudio",
311 "settings.service.form.name" : "Nom", 311 "settings.service.form.enableBadge": "Mostra les insígnies als missatges no llegits.",
312 "settings.service.form.proxy.headline" : "Ajustaments Proxy HTTP\/HTTPS", 312 "settings.service.form.enableDarkMode": "Activar el Mode Fosc",
313 "settings.service.form.proxy.host" : "Host Proxy \/ IP", 313 "settings.service.form.enableNotification": "Activa les notificacions",
314 "settings.service.form.proxy.info" : "Els ajustaments del Proxy no es sincronitzaran amb els servidors de Franz", 314 "settings.service.form.enableService": "Activa el servei",
315 "settings.service.form.proxy.isEnabled" : "Utilitzar Proxy", 315 "settings.service.form.headlineBadges": "Insígnies de missatges no llegits",
316 "settings.service.form.proxy.password" : "Contrasenya (opcional)", 316 "settings.service.form.headlineGeneral": "General",
317 "settings.service.form.proxy.port" : "Port", 317 "settings.service.form.headlineNotifications": "Notificacions",
318 "settings.service.form.proxy.restartInfo" : "Siusplau, reinicieu el Franz després de canviar els ajustaments de proxy", 318 "settings.service.form.icon": "Icona personalitzada",
319 "settings.service.form.proxy.user" : "Usuari (opcional)", 319 "settings.service.form.iconDelete": "Suprimeix",
320 "settings.service.form.saveButton" : "Desa el servei", 320 "settings.service.form.iconUpload": "Arrossega la teva imatge, o clica aquí",
321 "settings.service.form.tabHosted" : "Allotjat", 321 "settings.service.form.indirectMessageInfo": "Se't notificarà sobre tots els missatges nous en un canal, no només @usuari, @canal, @aquí ...",
322 "settings.service.form.tabOnPremise" : "Allotjat per si mateix ⭐️", 322 "settings.service.form.indirectMessages": "Mostra la insígnia de missatge per a tots els missatges nous",
323 "settings.service.form.team" : "Equip", 323 "settings.service.form.isMutedInfo": "Quan es desactiva, tots els sons de notificació i reproducció d'àudio es silenciaran",
324 "settings.service.form.useHostedService" : "Utilitza el servei {name} allotjat.", 324 "settings.service.form.name": "Nom",
325 "settings.service.form.yourServices" : "Els vostres serveis", 325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.services.deletedInfo" : "S'ha eliminat el servei", 326 "settings.service.form.proxy.headline": "Ajustaments Proxy HTTP/HTTPS",
327 "settings.services.discoverServices" : "Descobrir serveis", 327 "settings.service.form.proxy.host": "Host Proxy / IP",
328 "settings.services.headline" : "Els vostres serveis", 328 "settings.service.form.proxy.info": "Els ajustaments del Proxy no es sincronitzaran amb els servidors de Ferdi",
329 "settings.services.noServicesAdded" : "Encara no heu afegit cap servei.", 329 "settings.service.form.proxy.isEnabled": "Utilitzar Proxy",
330 "settings.services.servicesRequestFailed" : "Could not load your services", 330 "settings.service.form.proxy.password": "Contrasenya (opcional)",
331 "settings.services.tooltip.isDisabled" : "El servei està desactivat", 331 "settings.service.form.proxy.port": "Port",
332 "settings.services.tooltip.isMuted" : "Tots els sons estan desactivats", 332 "settings.service.form.proxy.restartInfo": "Siusplau, reinicieu el Ferdi després de canviar els ajustaments de proxy",
333 "settings.services.tooltip.notificationsDisabled" : "Les notificacions estan desactivades", 333 "settings.service.form.proxy.user": "Usuari (opcional)",
334 "settings.services.updatedInfo" : "S'han desat els canvis", 334 "settings.service.form.saveButton": "Desa el servei",
335 "settings.team.contentHeadline" : "Franz for Teams", 335 "settings.service.form.tabHosted": "Allotjat",
336 "settings.team.copy" : "Franz for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!", 336 "settings.service.form.tabOnPremise": "Allotjat per si mateix ⭐️",
337 "settings.team.headline" : "Equip", 337 "settings.service.form.team": "Equip",
338 "settings.team.intro" : "You and your team use Franz? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.", 338 "settings.service.form.useHostedService": "Utilitza el servei {name} allotjat.",
339 "settings.team.manageAction" : "Manage your Team on meetfranz.com", 339 "settings.service.form.yourServices": "Els vostres serveis",
340 "settings.team.upgradeAction" : "Upgrade your Account", 340 "settings.services.deletedInfo": "S'ha eliminat el servei",
341 "settings.user.form.accountType.company" : "Empresa", 341 "settings.services.discoverServices": "Descobrir serveis",
342 "settings.user.form.accountType.individual" : "Individual", 342 "settings.services.headline": "Els vostres serveis",
343 "settings.user.form.accountType.label" : "Tipus de compte", 343 "settings.services.noServicesAdded": "Encara no heu afegit cap servei.",
344 "settings.user.form.accountType.non-profit" : "Sense ànim de lucre", 344 "settings.services.servicesRequestFailed": "Could not load your services",
345 "settings.user.form.currentPassword" : "Contrasenya actual", 345 "settings.services.tooltip.isDisabled": "El servei està desactivat",
346 "settings.user.form.email" : "Correu electrònic", 346 "settings.services.tooltip.isMuted": "Tots els sons estan desactivats",
347 "settings.user.form.firstname" : "Nom", 347 "settings.services.tooltip.notificationsDisabled": "Les notificacions estan desactivades",
348 "settings.user.form.lastname" : "Cognoms", 348 "settings.services.updatedInfo": "S'han desat els canvis",
349 "settings.user.form.newPassword" : "Nova contrasenya", 349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.workspace.add.form.name" : "Nom", 350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.workspace.add.form.submitButton" : "Create workspace", 351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.workspace.form.buttonDelete" : "Delete workspace", 352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.workspace.form.buttonSave" : "Save workspace", 353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.workspace.form.name" : "Nom", 354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace", 355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.workspace.form.yourWorkspaces" : "Your workspaces", 356 "settings.team.headline": "Equip",
357 "settings.workspaces.deletedInfo" : "Workspace has been deleted", 357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.workspaces.headline" : "Your workspaces", 358 "settings.team.manageAction": "Manage your Team on getferdi.com",
359 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.", 359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.workspaces.tryReloadWorkspaces" : "Torna a provar-ho", 360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.workspaces.updatedInfo" : "S'han desat els canvis", 361 "settings.team.upgradeAction": "Upgrade your Account",
362 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces", 362 "settings.user.form.accountType.company": "Empresa",
363 "settings.workspaces.workspaceFeatureInfo" : "Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.", 363 "settings.user.form.accountType.individual": "Individual",
364 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces", 364 "settings.user.form.accountType.label": "Tipus de compte",
365 "sidebar.addNewService" : "Afegeix nou servei", 365 "settings.user.form.accountType.non-profit": "Sense ànim de lucre",
366 "sidebar.closeTodosDrawer" : "Close Franz Todos", 366 "settings.user.form.currentPassword": "Contrasenya actual",
367 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer", 367 "settings.user.form.email": "Correu electrònic",
368 "sidebar.muteApp" : "Desactivar notificacions i àudio", 368 "settings.user.form.firstname": "Nom",
369 "sidebar.openTodosDrawer" : "Open Franz Todos", 369 "settings.user.form.lastname": "Cognoms",
370 "sidebar.openWorkspaceDrawer" : "Open workspace drawer", 370 "settings.user.form.newPassword": "Nova contrasenya",
371 "sidebar.settings" : "Configuració", 371 "settings.workspace.add.form.name": "Nom",
372 "sidebar.unmuteApp" : "Activar notificacions i àudio", 372 "settings.workspace.add.form.submitButton": "Create workspace",
373 "signup.email.label" : "Correu electrònic", 373 "settings.workspace.form.buttonDelete": "Delete workspace",
374 "signup.emailDuplicate" : "Ja existeix un usuari amb aquesta adreça de correu electrònic", 374 "settings.workspace.form.buttonSave": "Save workspace",
375 "signup.firstname.label" : "Nom", 375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "signup.headline" : "Donar-se d'alta", 376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "signup.lastname.label" : "Cognoms", 377 "settings.workspace.form.name": "Nom",
378 "signup.legal.info" : "En crear un compte de Franz, accepteu", 378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "signup.legal.privacy" : "Declaració de privacitat", 379 "settings.workspace.form.yourWorkspaces": "Your workspaces",
380 "signup.legal.terms" : "Termes del Servei", 380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "signup.link.login" : "Ja teniu un compte, iniciar la sessió?", 381 "settings.workspaces.headline": "Your workspaces",
382 "signup.password.label" : "Contrasenya", 382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "signup.submit.label" : "Crea un compte", 383 "settings.workspaces.tryReloadWorkspaces": "Torna a provar-ho",
384 "subscription.bestValue" : "Best value", 384 "settings.workspaces.updatedInfo": "S'han desat els canvis",
385 "subscription.cta.activateTrial" : "Yes, start the free Franz Professional trial", 385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
386 "subscription.cta.allOptions" : "See all options", 386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "subscription.cta.choosePlan" : "Choose your plan", 387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "subscription.includedProFeatures" : "The Franz Professional Plan includes:", 388 "sidebar.addNewService": "Afegeix nou servei",
389 "subscription.interval.per" : "per {interval}", 389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "subscription.interval.perMonth" : "per month", 390 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
391 "subscription.interval.perMonthPerUser" : "per month & user", 391 "sidebar.lockFerdi": "Lock Ferdi",
392 "subscription.planItem.upgradeAccount" : "Upgrade Account", 392 "sidebar.muteApp": "Desactivar notificacions i àudio",
393 "subscription.teaser.includedFeatures" : "Paid Franz Plans include:", 393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "subscription.teaser.intro" : "Franz 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!", 394 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
395 "subscriptionPopup.buttonCancel" : "Cancel·la", 395 "sidebar.settings": "Configuració",
396 "subscriptionPopup.buttonDone" : "Fet", 396 "sidebar.unmuteApp": "Activar notificacions i àudio",
397 "tabs.item.deleteService" : "Suprimeix el servei", 397 "signup.email.label": "Correu electrònic",
398 "tabs.item.disableAudio" : "Desactiva l'àudio", 398 "signup.emailDuplicate": "Ja existeix un usuari amb aquesta adreça de correu electrònic",
399 "tabs.item.disableNotifications" : "Desactiva les notificacions", 399 "signup.firstname.label": "Nom",
400 "tabs.item.disableService" : "Desactiva el servei", 400 "signup.headline": "Donar-se d'alta",
401 "tabs.item.edit" : "Edita", 401 "signup.lastname.label": "Cognoms",
402 "tabs.item.enableAudio" : "Activa l'àudio", 402 "signup.legal.info": "En crear un compte de Ferdi, accepteu",
403 "tabs.item.enableNotification" : "Activa les notificacions", 403 "signup.legal.privacy": "Declaració de privacitat",
404 "tabs.item.enableService" : "Activa el servei", 404 "signup.legal.terms": "Termes del Servei",
405 "tabs.item.reload" : "Recarrega", 405 "signup.link.login": "Ja teniu un compte, iniciar la sessió?",
406 "validation.email" : "{field} no es vàlid", 406 "signup.password.label": "Password",
407 "validation.minLength" : "{field} ha de ser al menys {length} caràcters de llargada", 407 "signup.submit.label": "Crea un compte",
408 "validation.oneRequired" : "At least one is required", 408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "validation.required" : "{field} es requerit", 409 "subscription.cta.allOptions": "See all options",
410 "validation.url" : "{field} es una URL no vàlida", 410 "subscription.cta.choosePlan": "Choose your plan",
411 "webControls.back" : "Back", 411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "webControls.forward" : "Forward", 412 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:",
413 "webControls.goHome" : "Home", 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!",
414 "webControls.openInBrowser" : "Open in Browser", 414 "subscriptionPopup.buttonCancel": "Cancel·la",
415 "webControls.reload" : "Recarrega", 415 "subscriptionPopup.buttonDone": "Fet",
416 "welcome.loginButton" : "Inicia sessió al teu compte", 416 "tabs.item.deleteService": "Suprimeix el servei",
417 "welcome.signupButton" : "Crea un compte gratuït", 417 "tabs.item.disableAudio": "Desactiva l'àudio",
418 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace", 418 "tabs.item.disableNotifications": "Desactiva les notificacions",
419 "workspaceDrawer.allServices" : "Tots els serveis", 419 "tabs.item.disableService": "Desactiva el servei",
420 "workspaceDrawer.headline" : "Workspaces", 420 "tabs.item.edit": "Edita",
421 "workspaceDrawer.item.contextMenuEdit" : "edit", 421 "tabs.item.enableAudio": "Activa l'àudio",
422 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet", 422 "tabs.item.enableNotification": "Activa les notificacions",
423 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace", 423 "tabs.item.enableService": "Activa el servei",
424 "workspaceDrawer.proFeatureBadge" : "Premium feature", 424 "tabs.item.reload": "Recarrega",
425 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account", 425 "validation.email": "{field} no es vàlid",
426 "workspaceDrawer.workspaceFeatureInfo" : "<p>Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.<\/p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.<\/p>", 426 "validation.minLength": "{field} ha de ser al menys {length} caràcters de llargada",
427 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings", 427 "validation.oneRequired": "At least one is required",
428 "workspaces.switchingIndicator.switchingTo" : "Switching to" 428 "validation.required": "{field} es requerit",
429 "validation.url": "{field} es una URL no vàlida",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Recarrega",
435 "welcome.loginButton": "Inicia sessió al teu compte",
436 "welcome.signupButton": "Crea un compte gratuït",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "Tots els serveis",
439 "workspaceDrawer.headline": "Workspaces",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
429} 448}
diff --git a/src/i18n/locales/cs.json b/src/i18n/locales/cs.json
index 636c2f12a..cd4b7bfcd 100644
--- a/src/i18n/locales/cs.json
+++ b/src/i18n/locales/cs.json
@@ -1,429 +1,448 @@
1{ 1{
2 "app.errorHandler.action" : "Obnovit", 2 "app.errorHandler.action": "Obnovit",
3 "app.errorHandler.headline" : "Něco se pokazilo", 3 "app.errorHandler.headline": "Něco se pokazilo",
4 "feature.announcements.changelog.headline" : "Změny ve Franz {version}", 4 "feature.announcements.changelog.headline": "Změny ve Ferdi {version}",
5 "feature.delayApp.headline" : "Upgrade your Franz plan to skip the wait", 5 "feature.delayApp.headline": "Kup si Ferdi Supporter licenci a nebudeš už muset čekat",
6 "feature.delayApp.text" : "Franz bude pokračovat v {seconds} sekundách.", 6 "feature.delayApp.text": "Ferdi bude pokračovat v {seconds} sekundách.",
7 "feature.delayApp.trial.action" : "Ano, chci vyzkoušet Franz Professional na 14 dní zdarma.", 7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort" : "Aktivovat zdarma zkušební verzi Franz Professional", 8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
9 "feature.delayApp.trial.headline" : "Get the free Franz Professional 14-days trial and skip the wait", 9 "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line",
10 "feature.delayApp.upgrade.action" : "Upgrade Franz", 10 "feature.delayApp.upgrade.action": "Podpoř Ferdi a získej Supporter licenci",
11 "feature.delayApp.upgrade.actionShort" : "Vylepši si svůj účet", 11 "feature.delayApp.upgrade.actionShort": "Vylepši si svůj účet",
12 "feature.planSelection.cta.ctaDowngradeFree" : "Downgrade to Free", 12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.planSelection.cta.stayOnFree" : "Stay on Free", 13 "feature.quickSwitch.search": "Search...",
14 "feature.planSelection.cta.trial" : "Start my free 14-days Trial", 14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.planSelection.cta.upgradePersonal" : "Choose Personal", 15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.planSelection.cta.upgradePro" : "Choose Professional", 16 "feature.shareFranz.action.email": "Poslat jako e-mail",
17 "feature.planSelection.free.text" : "Basic functionality", 17 "feature.shareFranz.action.facebook": "Sdílet na Facebooku",
18 "feature.planSelection.fullFeatureList" : "Complete comparison of all plans", 18 "feature.shareFranz.action.twitter": "Sdílet na Twitteru",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 19 "feature.shareFranz.headline": "Společně je Ferdi ještě lepší!",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade" : "Choose Personal", 20 "feature.shareFranz.shareText.email": "Přidali jsme {count} služeb do Ferdie. Získejte zdarma aplikace pro WhatsApp, Messenger, SLack, Skype a další na www.getferdi.com",
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.", 21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.planSelection.fullscreen.dialog.title" : "Downgrade your Franz Plan", 22 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
23 "feature.planSelection.fullscreen.subheadline" : "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.", 23 "feature.todos.premium.info": "Ferdi Todos are available to premium users now!",
24 "feature.planSelection.fullscreen.welcome" : "Are you ready to choose, {name}?", 24 "feature.todos.premium.rollout": "Everyone else will have to wait a little longer.",
25 "feature.planSelection.personal.text" : "More services, no waiting - ideal for personal use.", 25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "feature.planSelection.pricesBasedOnAnnualPayment" : "All prices based on yearly payment", 26 "global.api.unhealthy": "Nemůžeme připojit Ferdi k online službám",
27 "feature.planSelection.pro.text" : "Unlimited services and professional features for you - and your team.", 27 "global.franzProRequired": "Ferdi Professional Required",
28 "feature.serviceLimit.limitReached" : "Přidali jste {amount} z {limit} služeb, které jsou součástí vašeho předplatného. Pro přidání dalších služeb proveďte upgrade vašeho účtu.", 28 "global.notConnectedToTheInternet": "Připojení k internetu není k dispozici.",
29 "feature.shareFranz.action.email" : "Poslat jako e-mail", 29 "global.spellchecker.useDefault": "Use System Default ({default})",
30 "feature.shareFranz.action.facebook" : "Sdílet na Facebooku", 30 "global.spellchecking.autodetect": "Detect language automatically",
31 "feature.shareFranz.action.twitter" : "Sdílet na Twitteru", 31 "global.spellchecking.autodetect.short": "Automatic",
32 "feature.shareFranz.headline" : "Na Franze společně!", 32 "global.spellchecking.language": "Oprava překlepů jazyka",
33 "feature.shareFranz.shareText.email" : "Přidali jsme {count} služeb do Franze. Získejte zdarma aplikace pro WhatsApp, Messenger, SLack, Skype a další na www.meetfranz.com", 33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "feature.shareFranz.shareText.twitter" : "Mám ve Franzovi {count} nových služeb! Získejte tuto aplikaci zdarma na WhatsApp, Messenger, Slack, Skype a další na www.meetfranz.com \/cc @FranzMessenger", 34 "import.headline": "Importovat služby z Ferdi 4",
35 "feature.shareFranz.text" : "Podělte se se svými přáteli a kolegy o radost z používání Franze a pomozte nám jej rozšířit do světa.", 35 "import.notSupportedHeadline": "Služby nejsou podporovány ve verzi Ferdi 5",
36 "feature.todos.premium.info" : "Todos ve Franzovi jsou nyní dostupné prémiovým uživatelům!", 36 "import.skip.label": "Chci přidat službu ručně",
37 "feature.todos.premium.rollout" : "Ostatní si budou muset ještě chvíli počkat.", 37 "import.submit.label": "Importovat služby",
38 "feature.todos.premium.upgrade" : "Změnit typ účtu", 38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "feature.trialStatusBar.cta" : "Upgrade now", 39 "infobar.buttonChangelog": "Co je nového?",
40 "feature.trialStatusBar.expired" : "Your free Franz {plan} Trial has expired, please upgrade your account.", 40 "infobar.buttonInstallUpdate": "Restartovat a nainstalovat aktualizace",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 41 "infobar.buttonReloadServices": "Obnovit služby",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade" : "Choose Personal", 42 "infobar.requiredRequestsFailed": "Není možné nahrát služby a informace o uživateli",
43 "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.", 43 "infobar.servicesUpdated": "Vaše služby byly aktualizovány",
44 "feature.trialStatusBar.fullscreen.dialog.title" : "Downgrade your Franz Plan", 44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "feature.trialStatusBar.restTime" : "Your Free Franz {plan} Trial ends in {time}.", 45 "infobar.updateAvailable": "Nová aktualizace Ferdi je k dispozici",
46 "global.api.unhealthy" : "Nemůžeme připojit Franz k online službám", 46 "invite.email.label": "E-mailová adresa",
47 "global.franzProRequired" : "Vyžadován účet Franz Professional", 47 "invite.headline.friends": "Pozvěte 3 přátele nebo kolegy",
48 "global.notConnectedToTheInternet" : "Připojení k internetu není k dispozici.", 48 "invite.name.label": "Jméno",
49 "global.spellchecker.useDefault" : "Použít výchozí nastavení systému ({default})", 49 "invite.skip.label": "Nechat na později",
50 "global.spellchecking.autodetect" : "Automaticky rozpoznat jazyk", 50 "invite.submit.label": "Poslat pozvánky",
51 "global.spellchecking.autodetect.short" : "Automatický", 51 "invite.successInfo": "Pozvánky byly úspěšně odeslány.",
52 "global.spellchecking.language" : "Oprava překlepů jazyka", 52 "locked.headline": "Locked",
53 "global.upgradeButton.upgradeToPro" : "Změnit účet na Franz Professional", 53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "import.headline" : "Importovat služby z Franz 4", 54 "locked.invalidCredentials": "Password invalid",
55 "import.notSupportedHeadline" : "Služby nejsou podporovány ve verzi Franz 5", 55 "locked.password.label": "Password",
56 "import.skip.label" : "Chci přidat službu ručně", 56 "locked.submit.label": "Unlock",
57 "import.submit.label" : "Importovat služby", 57 "login.changeServer": "Change server",
58 "infobar.buttonChangelog" : "Co je nového?", 58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "infobar.buttonInstallUpdate" : "Restartovat a nainstalovat aktualizace", 59 "login.customServerSuggestion": "Try importing your Franz account",
60 "infobar.buttonReloadServices" : "Obnovit služby", 60 "login.email.label": "E-mailová adresa",
61 "infobar.requiredRequestsFailed" : "Není možné nahrát služby a informace o uživateli", 61 "login.headline": "Přihlásit se",
62 "infobar.servicesUpdated" : "Vaše služby byly aktualizovány", 62 "login.invalidCredentials": "Email nebo heslo nesouhlasí",
63 "infobar.trialActivated" : "Vaše zkušební verze byla úspěšně aktivovaná. Ať se vám dobře píše!", 63 "login.link.password": "Obnovit heslo",
64 "infobar.updateAvailable" : "Nová aktualizace Franz je k dispozici", 64 "login.link.signup": "Vytvořit uživatelský účet zdarma",
65 "invite.email.label" : "E-mailová adresa", 65 "login.password.label": "Password",
66 "invite.headline.friends" : "Pozvěte 3 přátele nebo kolegy", 66 "login.serverLogout": "Sezení vypršelo, je třeba se znovu přihlásit.",
67 "invite.name.label" : "Jméno", 67 "login.submit.label": "Přihlásit se",
68 "invite.skip.label" : "Nechat na později", 68 "login.tokenExpired": "Sezení vypršelo, je třeba se znovu přihlásit.",
69 "invite.submit.label" : "Poslat pozvánky", 69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "invite.successInfo" : "Pozvánky byly úspěšně odeslány.", 70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "login.email.label" : "E-mailová adresa", 71 "menu.app.about": "O aplikaci",
72 "login.headline" : "Přihlásit se", 72 "menu.app.announcement": "What's new?",
73 "login.invalidCredentials" : "Email nebo heslo nesouhlasí", 73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "login.link.password" : "Obnovit heslo", 74 "menu.app.checkForUpdates": "Zkontrolovat aktualizace",
75 "login.link.signup" : "Vytvořit uživatelský účet zdarma", 75 "menu.app.hide": "Skrýt",
76 "login.password.label" : "Heslo", 76 "menu.app.hideOthers": "Skryt ostatní",
77 "login.serverLogout" : "Sezení vypršelo, je třeba se znovu přihlásit.", 77 "menu.app.quit": "Ukončit",
78 "login.submit.label" : "Přihlásit se", 78 "menu.app.settings": "Nastavení",
79 "login.tokenExpired" : "Sezení vypršelo, prosím přihlaste se znovu", 79 "menu.app.unhide": "Odkrýt",
80 "menu.Todoss.closeTodosDrawer" : "Zavřít Todos záložku", 80 "menu.edit": "Upravit",
81 "menu.Todoss.openTodosDrawer" : "Otevřít Todos záložku", 81 "menu.edit.copy": "Kopírovat",
82 "menu.app.about" : "O aplikaci", 82 "menu.edit.cut": "Vyjmout",
83 "menu.app.announcement" : "Co je nového?", 83 "menu.edit.delete": "Smazat",
84 "menu.app.checkForUpdates" : "Zkontrolovat aktualizace", 84 "menu.edit.emojiSymbols": "Emoji a znaky",
85 "menu.app.hide" : "Skrýt", 85 "menu.edit.paste": "Vložit",
86 "menu.app.hideOthers" : "Skryt ostatní", 86 "menu.edit.pasteAndMatchStyle": "Vložit včetně formátování",
87 "menu.app.quit" : "Ukončit", 87 "menu.edit.redo": "Vpřed",
88 "menu.app.settings" : "Nastavení", 88 "menu.edit.selectAll": "Vybrat vše",
89 "menu.app.unhide" : "Odkrýt", 89 "menu.edit.speech": "Mluvené slovo",
90 "menu.edit" : "Upravit", 90 "menu.edit.startDictation": "Začít diktovat",
91 "menu.edit.copy" : "Kopírovat", 91 "menu.edit.startSpeaking": "Začít mluvit",
92 "menu.edit.cut" : "Vyjmout", 92 "menu.edit.stopSpeaking": "Přestat mluvit",
93 "menu.edit.delete" : "Smazat", 93 "menu.edit.undo": "Vrátit zpět",
94 "menu.edit.emojiSymbols" : "Emoji a znaky", 94 "menu.file": "Soubor",
95 "menu.edit.paste" : "Vložit", 95 "menu.help": "Nápověda",
96 "menu.edit.pasteAndMatchStyle" : "Vložit včetně formátování", 96 "menu.help.changelog": "Seznam změn",
97 "menu.edit.redo" : "Vpřed", 97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.edit.selectAll" : "Vybrat vše", 98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.edit.speech" : "Mluvené slovo", 99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.edit.startDictation" : "Začít diktovat", 100 "menu.help.learnMore": "Dozvědět se více",
101 "menu.edit.startSpeaking" : "Začít mluvit", 101 "menu.help.privacy": "Prohlášení o ochraně soukromí",
102 "menu.edit.stopSpeaking" : "Přestat mluvit", 102 "menu.help.support": "Podpora",
103 "menu.edit.undo" : "Vrátit zpět", 103 "menu.help.tos": "Podmínky použití",
104 "menu.file" : "Soubor", 104 "menu.services": "Služby",
105 "menu.help" : "Nápověda", 105 "menu.services.activatePreviousService": "Activate previous service",
106 "menu.help.changelog" : "Seznam změn", 106 "menu.services.addNewService": "Přidat novou službu...",
107 "menu.help.debugInfo" : "Zkopírovat ladící informace", 107 "menu.services.goHome": "Home",
108 "menu.help.debugInfoCopiedBody" : "Informace o ladění chyb byly zkopírovány do schránky.", 108 "menu.services.setNextServiceActive": "Activate next service",
109 "menu.help.debugInfoCopiedHeadline" : "Výpis ladicích informací", 109 "menu.todos": "Todos",
110 "menu.help.learnMore" : "Dozvědět se více", 110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.help.privacy" : "Prohlášení o ochraně soukromí", 111 "menu.view": "Zobrazení",
112 "menu.help.support" : "Podpora", 112 "menu.view.back": "Back",
113 "menu.help.tos" : "Podmínky použití", 113 "menu.view.enterFullScreen": "Spustit režim celé obrazovky",
114 "menu.services" : "Služby", 114 "menu.view.exitFullScreen": "Ukončit celoobrazovkový režim",
115 "menu.services.activatePreviousService" : "Aktivovat předchozí službu", 115 "menu.view.forward": "Forward",
116 "menu.services.addNewService" : "Přidat novou službu...", 116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.services.goHome" : "Home", 117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.services.setNextServiceActive" : "Aktivovat další službu", 118 "menu.view.reloadFranz": "Obnovit Ferdie",
119 "menu.todos" : "Úkoly", 119 "menu.view.reloadService": "Obnovit službu",
120 "menu.todos.enableTodos" : "Aktivovat Úkoly", 120 "menu.view.resetZoom": "Skutečná velikost",
121 "menu.view" : "Zobrazení", 121 "menu.view.toggleDevTools": "Zobrazit Vývojářské nástroje",
122 "menu.view.enterFullScreen" : "Spustit režim celé obrazovky", 122 "menu.view.toggleFullScreen": "Přepnout na celou obrazovku",
123 "menu.view.exitFullScreen" : "Ukončit celoobrazovkový režim", 123 "menu.view.toggleServiceDevTools": "Zobrazit Vývojářské nástroje pro službu",
124 "menu.view.reloadFranz" : "Obnovit Franze", 124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.reloadService" : "Obnovit službu", 125 "menu.view.zoomIn": "Přiblížit",
126 "menu.view.resetZoom" : "Skutečná velikost", 126 "menu.view.zoomOut": "Oddálit",
127 "menu.view.toggleDevTools" : "Zobrazit Vývojářské nástroje", 127 "menu.window": "Okno",
128 "menu.view.toggleFullScreen" : "Přepnout na celou obrazovku", 128 "menu.window.close": "Zavřít",
129 "menu.view.toggleServiceDevTools" : "Zobrazit Vývojářské nástroje pro službu", 129 "menu.window.minimize": "Minimalizovat",
130 "menu.view.toggleTodosDevTools" : "Toggle Todos Developer Tools", 130 "menu.workspaces": "Workspaces",
131 "menu.view.zoomIn" : "Přiblížit", 131 "menu.workspaces.addNewWorkspace": "Add New Workspace...",
132 "menu.view.zoomOut" : "Oddálit", 132 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
133 "menu.window" : "Okno", 133 "menu.workspaces.defaultWorkspace": "Všechny služby",
134 "menu.window.close" : "Zavřít", 134 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
135 "menu.window.minimize" : "Minimalizovat", 135 "password.email.label": "E-mailová adresa",
136 "menu.workspaces" : "Pracovní plochy", 136 "password.headline": "Obnovit heslo",
137 "menu.workspaces.addNewWorkspace" : "Přidat novou pracovní plochu", 137 "password.link.login": "Přihlásit se k účtu",
138 "menu.workspaces.closeWorkspaceDrawer" : "Zavřít záložku pracovní plochy", 138 "password.link.signup": "Vytvořit uživatelský účet zdarma",
139 "menu.workspaces.defaultWorkspace" : "Všechny služby", 139 "password.noUser": "Pro emailovou adresu nebyl nalezený žádný uživatel",
140 "menu.workspaces.openWorkspaceDrawer" : "Otevřít záložku pracovní plochy", 140 "password.submit.label": "Odeslat",
141 "password.email.label" : "E-mailová adresa", 141 "password.successInfo": "Prosím, zkontrolujte svůj e-mail",
142 "password.headline" : "Obnovit heslo", 142 "premiumFeature.button.upgradeAccount": "Vylepši si svůj účet",
143 "password.link.login" : "Přihlásit se k účtu", 143 "pricing.features.adFree": "Forever ad-free",
144 "password.link.signup" : "Vytvořit uživatelský účet zdarma", 144 "pricing.features.appDelays": "No Waiting Screens",
145 "password.noUser" : "Pro emailovou adresu nebyl nalezený žádný uživatel", 145 "pricing.features.customWebsites": "Add Custom Websites",
146 "password.submit.label" : "Odeslat", 146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "password.successInfo" : "Prosím, zkontrolujte svůj e-mail", 147 "pricing.features.serviceProxies": "Service Proxies",
148 "premiumFeature.button.upgradeAccount" : "Vylepši si svůj účet", 148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.accountSync" : "Account Synchronisation", 149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.adFree" : "Forever ad-free", 150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.appDelays" : "No Waiting Screens", 151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.customWebsites" : "Add Custom Websites", 152 "pricing.features.workspaces": "Workspaces",
153 "pricing.features.desktopNotifications" : "Desktop Notifications", 153 "pricing.plan.free": "Ferdi Free",
154 "pricing.features.onPremise" : "On-premise & other Hosted Services", 154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.features.recipes" : "Choose from more than 70 Services", 155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.features.serviceProxies" : "Service Proxies", 156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.features.spellchecker" : "Spellchecker support", 157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.features.teamManagement" : "Team Management", 158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.features.thirdPartyServices" : "Install 3rd party services", 159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.features.unlimitedServices" : "Add unlimited services", 160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.features.upToSixServices" : "Add up to 6 services", 161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.features.upToThreeServices" : "Add up to 3 services", 162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.features.workspaces" : "Pracovní plochy", 163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.plan.free" : "Free", 164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.plan.legacy" : "Premium", 165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.plan.personal" : "Personal", 166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.plan.personal-monthly" : "Personal Monthly", 167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.plan.personal-yearly" : "Personal Yearly", 168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.plan.pro" : "Professional", 169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "pricing.plan.pro-monthly" : "Professional Monthly", 170 "service.crashHandler.action": "Načíst znovu {name}",
171 "pricing.plan.pro-yearly" : "Professional Yearly", 171 "service.crashHandler.autoReload": "Pokus o automatické obnovení {name} za {seconds} sekund",
172 "pricing.trial.cta.accept" : "Start my 14-day Franz Professional Trial ", 172 "service.crashHandler.headline": "Ale ne!",
173 "pricing.trial.cta.skip" : "Continue to Franz", 173 "service.crashHandler.text": "{name} způsobil chybu.",
174 "pricing.trial.cta.start" : "Start using Franz", 174 "service.disabledHandler.action": "Zapnout {name}",
175 "pricing.trial.error" : "Sorry, we could not activate your trial!", 175 "service.disabledHandler.headline": "{name} je vypnutý",
176 "pricing.trial.features.headline" : "Franz Professional includes:", 176 "service.errorHandler.action": "Načíst znovu {name}",
177 "pricing.trial.headline.pro" : "Hi {name}, welcome to Franz", 177 "service.errorHandler.editAction": "Upravit {name}",
178 "pricing.trial.intro.happyMessaging" : "Happy messaging,", 178 "service.errorHandler.headline": "Ale ne!",
179 "pricing.trial.intro.specialTreat" : "We have a special treat for you.", 179 "service.errorHandler.message": "Chyba",
180 "pricing.trial.intro.tryPro" : "Enjoy the full Franz Professional experience completely free for 14 days.", 180 "service.errorHandler.text": "{name} se nepodařilo načíst.",
181 "pricing.trial.terms.automaticTrialEnd" : "Your free trial ends automatically after 14 days", 181 "service.restrictedHandler.action": "Upgrade Account",
182 "pricing.trial.terms.headline" : "No strings attached", 182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "pricing.trial.terms.noCreditCard" : "No credit card required", 183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "pricing.trial.terms.trialWorth" : "Free trial (normally {currency}{price} per month)", 184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.crashHandler.action" : "Načíst znovu {name}", 185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.crashHandler.autoReload" : "Pokus o automatické obnovení {name} za {seconds} sekund", 186 "service.webviewLoader.loading": "Loading",
187 "service.crashHandler.headline" : "Ale ne!", 187 "services.getStarted": "Začněme",
188 "service.crashHandler.text" : "{name} způsobil chybu.", 188 "services.login": "Please login to use Ferdi.",
189 "service.disabledHandler.action" : "Zapnout {name}", 189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "service.disabledHandler.headline" : "{name} je vypnutý", 190 "services.serverless": "Use Ferdi without an Account",
191 "service.errorHandler.action" : "Načíst znovu {name}", 191 "services.welcome": "Vítejte v programu Ferdi",
192 "service.errorHandler.editAction" : "Upravit {name}", 192 "settings.account.account.editButton": "Upravit účet",
193 "service.errorHandler.headline" : "Ale ne!", 193 "settings.account.accountType.basic": "Základní účet",
194 "service.errorHandler.message" : "Chyba", 194 "settings.account.accountType.premium": "Prémiový účet podporovatele",
195 "service.errorHandler.text" : "{name} se nepodařilo načíst.", 195 "settings.account.buttonSave": "Aktualizovat profil",
196 "service.restrictedHandler.action" : "Změnit typ účtu", 196 "settings.account.deleteAccount": "Smazat účet",
197 "service.restrictedHandler.customUrl.headline" : "Franz Professional Plan required", 197 "settings.account.deleteEmailSent": "Na váš mail byl odeslán email s odkazem pro potvrzení smazání účtu. Váš účet a data poté nepůjde obnovit!",
198 "service.restrictedHandler.customUrl.text" : "Please upgrade to the Franz Professional plan to use custom urls & self hosted services.", 198 "settings.account.deleteInfo": "Pokud již nepotřebujete váš Ferdi účet, můžete zde váš účet, a všechna data v něm, smazat.",
199 "service.restrictedHandler.serviceLimit.headline" : "You have reached your service limit.", 199 "settings.account.headline": "Účet",
200 "service.restrictedHandler.serviceLimit.text" : "Please upgrade your account to use more than {count} services.", 200 "settings.account.headlineAccount": "Informace o účtu",
201 "service.webviewLoader.loading" : "Loading", 201 "settings.account.headlineDangerZone": "Nebezpečná zóna",
202 "services.getStarted" : "Začněme", 202 "settings.account.headlineInvoices": "Faktury",
203 "services.welcome" : "Vítejte v programu Franz", 203 "settings.account.headlinePassword": "Změnit heslo",
204 "settings.account.account.editButton" : "Upravit účet", 204 "settings.account.headlineProfile": "Aktualizovat profil",
205 "settings.account.accountType.basic" : "Základní účet", 205 "settings.account.headlineSubscription": "Vaše předplatné",
206 "settings.account.accountType.premium" : "Prémiový účet podporovatele", 206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.buttonSave" : "Aktualizovat profil", 207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.deleteAccount" : "Smazat účet", 208 "settings.account.invoiceDownload": "Stáhnout",
209 "settings.account.deleteEmailSent" : "Na váš mail byl odeslán email s odkazem pro potvrzení smazání účtu. Váš účet a data poté nepůjde obnovit!", 209 "settings.account.manageSubscription.label": "Spravovat vaše předplatné",
210 "settings.account.deleteInfo" : "Pokud již nepotřebujete váš Franz účet, můžete zde váš účet, a všechna data v něm, smazat.", 210 "settings.account.successInfo": "Vaše změny byly uloženy",
211 "settings.account.headline" : "Účet", 211 "settings.account.trial": "Free Trial",
212 "settings.account.headlineAccount" : "Informace o účtu", 212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.headlineDangerZone" : "Nebezpečná zóna", 213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.headlineInvoices" : "Faktury", 214 "settings.account.tryReloadServices": "Zkusit opět",
215 "settings.account.headlinePassword" : "Změnit heslo", 215 "settings.account.tryReloadUserInfoRequest": "Zkusit opět",
216 "settings.account.headlineProfile" : "Aktualizovat profil", 216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.headlineSubscription" : "Vaše předplatné", 217 "settings.account.userInfoRequestFailed": "Nelze načíst informace o uživateli.",
218 "settings.account.headlineTrialUpgrade" : "Get the free 14 day Franz Professional Trial", 218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.account.headlineUpgradeAccount" : "Upgrade your account & get the full Franz experience", 219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.account.invoiceDownload" : "Stáhnout", 220 "settings.app.buttonClearAllCache": "Vyprázdnit mezipaměti",
221 "settings.account.manageSubscription.label" : "Spravovat vaše předplatné", 221 "settings.app.buttonInstallUpdate": "Restartovat a nainstalovat aktualizace",
222 "settings.account.successInfo" : "Vaše změny byly uloženy", 222 "settings.app.buttonSearchForUpdate": "Zkontrolovat aktualizace",
223 "settings.account.trial" : "Free Trial", 223 "settings.app.cacheInfo": "Ferdi momentálně používá {size} místa na disku.",
224 "settings.account.trialEndsIn" : "Your free trial ends in {duration}.", 224 "settings.app.currentVersion": "Aktuální verze:",
225 "settings.account.trialUpdateBillingInfo" : "Please update your billing info to continue using {license} after your trial period.", 225 "settings.app.form.accentColor": "Accent color",
226 "settings.account.tryReloadServices" : "Zkusit opět", 226 "settings.app.form.autoLaunchInBackground": "Spustit na pozadí",
227 "settings.account.tryReloadUserInfoRequest" : "Zkusit znovu", 227 "settings.app.form.autoLaunchOnStart": "Spustit Ferdi při startu",
228 "settings.account.upgradeToPro.label" : "Změnit účet na Franz Professional", 228 "settings.app.form.beta": "Zahrnout beta verze",
229 "settings.account.userInfoRequestFailed" : "Nelze načíst informace o uživateli.", 229 "settings.app.form.darkMode": "Připoj se k Temné straně",
230 "settings.account.yourLicense" : "Your Franz License", 230 "settings.app.form.enableGPUAcceleration": "Aktivovat GPU zrychlení",
231 "settings.app.buttonClearAllCache" : "Vyprázdnit mezipaměti", 231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.buttonInstallUpdate" : "Restartovat a nainstalovat aktualizace", 232 "settings.app.form.enableSpellchecking": "Zapnout kontrolu pravopisu",
233 "settings.app.buttonSearchForUpdate" : "Zkontrolovat aktualizace", 233 "settings.app.form.enableSystemTray": "Zobrazit Ferdi v systémové liště",
234 "settings.app.cacheInfo" : "Franz momentálně používá {size} místa na disku.", 234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.currentVersion" : "Aktuální verze:", 235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.autoLaunchInBackground" : "Spustit na pozadí", 236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.autoLaunchOnStart" : "Spustit Franz při startu", 237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.beta" : "Zahrnout beta verze", 238 "settings.app.form.language": "Jazyk",
239 "settings.app.form.darkMode" : "Připoj se k Temné straně", 239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.enableGPUAcceleration" : "Aktivovat GPU zrychlení", 240 "settings.app.form.minimizeToSystemTray": "Minimalizovat Ferdi do systémové lišty",
241 "settings.app.form.enableSpellchecking" : "Zapnout kontrolu pravopisu", 241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.enableSystemTray" : "Zobrazit Franz v systémové liště", 242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.enableTodos" : "Enable Franz Todos", 243 "settings.app.form.runInBackground": "Ponechat Ferdie v pozadí při zavírání okna",
244 "settings.app.form.keepAllWorkspacesLoaded" : "Keep all workspaces loaded", 244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.language" : "Jazyk", 245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.minimizeToSystemTray" : "Minimalizovat Franz do systémové lišty", 246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.runInBackground" : "Ponechat Franze v pozadí při zavírání okna", 247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices" : "Zobrazit záložky vypnutých služeb", 248 "settings.app.form.showDisabledServices": "Zobrazit záložky vypnutých služeb",
249 "settings.app.form.showMessagesBadgesWhenMuted" : "Zobrazit odznak pro nepřečtené zprávy když jsou upozornění vypnutá", 249 "settings.app.form.showMessagesBadgesWhenMuted": "Zobrazit odznak pro nepřečtené zprávy když jsou upozornění vypnutá",
250 "settings.app.headline" : "Nastavení", 250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.headlineAdvanced" : "Pokročilé", 251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.headlineAppearance" : "Vzhled", 252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headlineGeneral" : "Obecné", 253 "settings.app.headline": "Nastavení",
254 "settings.app.headlineLanguage" : "Jazyk", 254 "settings.app.headlineAdvanced": "Pokročilé",
255 "settings.app.headlineUpdates" : "Aktualizace", 255 "settings.app.headlineAppearance": "Vzhled",
256 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.", 256 "settings.app.headlineGeneral": "Obecné",
257 "settings.app.restartRequired" : "Změny vyžadují restart", 257 "settings.app.headlineLanguage": "Jazyk",
258 "settings.app.subheadlineCache" : "Mezipaměť", 258 "settings.app.headlineUpdates": "Aktualizace",
259 "settings.app.translationHelp" : "Pomozte nám přeložit Franz do svého jazyka.", 259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.updateStatusAvailable" : "Aktualizace k dispozici, stahování...", 260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.updateStatusSearching" : "Hledá aktualizace", 261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.updateStatusUpToDate" : "Používáte nejnovější verzi programu Franz", 262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.invite.headline" : "Pozvi přátele", 263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.navigation.account" : "Účet", 264 "settings.app.restartRequired": "Změny vyžadují restart",
265 "settings.navigation.availableServices" : "Dostupné služby", 265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.navigation.inviteFriends" : "Pozvi přátele", 266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.navigation.logout" : "Odhlásit", 267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.navigation.settings" : "Nastavení", 268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.navigation.team" : "Manage Team", 269 "settings.app.subheadlineCache": "Mezipaměť",
270 "settings.navigation.yourServices" : "Vaše služby", 270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.navigation.yourWorkspaces" : "Your workspaces", 271 "settings.app.translationHelp": "Pomozte nám přeložit Ferdi do svého jazyka.",
272 "settings.recipes.all" : "Všechny služby", 272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.recipes.custom" : "Custom Services", 273 "settings.app.updateStatusAvailable": "Aktualizace k dispozici, stahování...",
274 "settings.recipes.customService.headline.communityRecipes" : "Community 3rd Party Recipes", 274 "settings.app.updateStatusSearching": "Hledá aktualizace",
275 "settings.recipes.customService.headline.customRecipes" : "Custom 3rd Party Recipes", 275 "settings.app.updateStatusUpToDate": "Používáte nejnovější verzi programu Ferdi",
276 "settings.recipes.customService.headline.devRecipes" : "Your Development Service Recipes", 276 "settings.invite.headline": "Pozvi přátele",
277 "settings.recipes.customService.intro" : "To add a custom service, copy the service recipe to:", 277 "settings.navigation.account": "Účet",
278 "settings.recipes.customService.openDevDocs" : "Developer Documentation", 278 "settings.navigation.availableServices": "Dostupné služby",
279 "settings.recipes.customService.openFolder" : "Open folder", 279 "settings.navigation.logout": "Odhlásit",
280 "settings.recipes.headline" : "Dostupné služby", 280 "settings.navigation.settings": "Nastavení",
281 "settings.recipes.missingService" : "Chybějící služba?", 281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.recipes.mostPopular" : "Nejpopulárnější", 282 "settings.navigation.team": "Manage Team",
283 "settings.recipes.nothingFound" : "Je nám líto, ale žádná služba neodpovídá vašemu hledanému výrazu.", 283 "settings.navigation.yourServices": "Vaše služby",
284 "settings.recipes.servicesSuccessfulAddedInfo" : "Služba byla úspěšně přidána", 284 "settings.navigation.yourWorkspaces": "Your workspaces",
285 "settings.searchService" : "Vyhledat službu", 285 "settings.recipes.all": "Všechny služby",
286 "settings.service.error.goBack" : "Zpět na služby", 286 "settings.recipes.custom": "Custom Services",
287 "settings.service.error.headline" : "Chyba", 287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.service.error.message" : "Nelze načíst službu.", 288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.service.form.addServiceHeadline" : "Přidat {name}", 289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.service.form.availableServices" : "Dostupné služby", 290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.service.form.customUrl" : "Vlastní server", 291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.service.form.customUrlPremiumInfo" : "Chcete-li přidat vlastní hostované služby, potřebujete účet Franz Premium Supporter.", 292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.service.form.customUrlUpgradeAccount" : "Aktualizujte svůj účet", 293 "settings.recipes.headline": "Dostupné služby",
294 "settings.service.form.customUrlValidationError" : "Nepodařilo se ověřit vlastní server {name}.", 294 "settings.recipes.missingService": "Chybějící služba?",
295 "settings.service.form.deleteButton" : "Odstranit službu", 295 "settings.recipes.mostPopular": "Nejpopulárnější",
296 "settings.service.form.editServiceHeadline" : "Upravit {name}", 296 "settings.recipes.nothingFound": "Je nám líto, ale žádná služba neodpovídá vašemu hledanému výrazu.",
297 "settings.service.form.enableAudio" : "Zapnout zvuk", 297 "settings.recipes.servicesSuccessfulAddedInfo": "Služba byla úspěšně přidána",
298 "settings.service.form.enableBadge" : "Ukázat odznaky nepřečtených zpráv", 298 "settings.searchService": "Vyhledat službu",
299 "settings.service.form.enableDarkMode" : "Povolit Tmavý vzhled", 299 "settings.service.error.goBack": "Zpět na služby",
300 "settings.service.form.enableNotification" : "Povolit upozornění", 300 "settings.service.error.headline": "Chyba",
301 "settings.service.form.enableService" : "Povolit službu", 301 "settings.service.error.message": "Nelze načíst službu.",
302 "settings.service.form.headlineBadges" : "Odznaky nepřečtených zpráv", 302 "settings.service.form.addServiceHeadline": "Přidat {name}",
303 "settings.service.form.headlineGeneral" : "Obecné", 303 "settings.service.form.availableServices": "Dostupné služby",
304 "settings.service.form.headlineNotifications" : "Upozornění", 304 "settings.service.form.customUrl": "Vlastní server",
305 "settings.service.form.icon" : "Vlastní ikona", 305 "settings.service.form.customUrlPremiumInfo": "Chcete-li přidat vlastní hostované služby, potřebujete účet Ferdi Premium Supporter.",
306 "settings.service.form.iconDelete" : "Smazat", 306 "settings.service.form.customUrlUpgradeAccount": "Aktualizujte svůj účet",
307 "settings.service.form.iconUpload" : "Přesuňte váš obrázek, nebo klepněte sem", 307 "settings.service.form.customUrlValidationError": "Nepodařilo se ověřit vlastní server {name}.",
308 "settings.service.form.indirectMessageInfo" : "Budete informováni o všech nových zprávách v kanálu, nikoliv pouze @název, @kanál, @kde, ...", 308 "settings.service.form.deleteButton": "Odstranit službu",
309 "settings.service.form.indirectMessages" : "Zobrazovat znak zprávy pro všechny nové zprávy", 309 "settings.service.form.editServiceHeadline": "Upravit {name}",
310 "settings.service.form.isMutedInfo" : "Pokud je vypnuto, všechny zvuky notifikací a jiného audia budou ztišeny", 310 "settings.service.form.enableAudio": "Zapnout zvuk",
311 "settings.service.form.name" : "Jméno", 311 "settings.service.form.enableBadge": "Ukázat odznaky nepřečtených zpráv",
312 "settings.service.form.proxy.headline" : "Nastavení HTTP\/HTTPS Proxy", 312 "settings.service.form.enableDarkMode": "Povolit Tmavý vzhled",
313 "settings.service.form.proxy.host" : "Proxy Host\/IP", 313 "settings.service.form.enableNotification": "Povolit upozornění",
314 "settings.service.form.proxy.info" : "Proxy settings will not synced with the Franz servers.", 314 "settings.service.form.enableService": "Povolit službu",
315 "settings.service.form.proxy.isEnabled" : "Use Proxy", 315 "settings.service.form.headlineBadges": "Odznaky nepřečtených zpráv",
316 "settings.service.form.proxy.password" : "Password (optional)", 316 "settings.service.form.headlineGeneral": "Obecné",
317 "settings.service.form.proxy.port" : "Port", 317 "settings.service.form.headlineNotifications": "Upozornění",
318 "settings.service.form.proxy.restartInfo" : "Please restart Franz after changing proxy Settings.", 318 "settings.service.form.icon": "Vlastní ikona",
319 "settings.service.form.proxy.user" : "User (optional)", 319 "settings.service.form.iconDelete": "Smazat",
320 "settings.service.form.saveButton" : "Uložit službu", 320 "settings.service.form.iconUpload": "Přesuňte váš obrázek, nebo klepněte sem",
321 "settings.service.form.tabHosted" : "Hostováno", 321 "settings.service.form.indirectMessageInfo": "Budete informováni o všech nových zprávách v kanálu, nikoliv pouze @název, @kanál, @kde, ...",
322 "settings.service.form.tabOnPremise" : "Samostatně hostované ⭐️", 322 "settings.service.form.indirectMessages": "Zobrazovat znak zprávy pro všechny nové zprávy",
323 "settings.service.form.team" : "Tým", 323 "settings.service.form.isMutedInfo": "Pokud je vypnuto, všechny zvuky notifikací a jiného audia budou ztišeny",
324 "settings.service.form.useHostedService" : "Použijte hostovanou {name} službu.", 324 "settings.service.form.name": "Jméno",
325 "settings.service.form.yourServices" : "Vaše služby", 325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.services.deletedInfo" : "Služba byla odstraněna", 326 "settings.service.form.proxy.headline": "Nastavení HTTP/HTTPS Proxy",
327 "settings.services.discoverServices" : "Objevte služby", 327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.services.headline" : "Vaše služby", 328 "settings.service.form.proxy.info": "Proxy settings will not synced with the Ferdi servers.",
329 "settings.services.noServicesAdded" : "Doposud jste nepřidali žádné služby.", 329 "settings.service.form.proxy.isEnabled": "Use Proxy",
330 "settings.services.servicesRequestFailed" : "Could not load your services", 330 "settings.service.form.proxy.password": "Password (optional)",
331 "settings.services.tooltip.isDisabled" : "Služba je zakázána", 331 "settings.service.form.proxy.port": "Port",
332 "settings.services.tooltip.isMuted" : "Všechny zvuky jsou ztišeny", 332 "settings.service.form.proxy.restartInfo": "Please restart Ferdi after changing proxy Settings.",
333 "settings.services.tooltip.notificationsDisabled" : "Oznámení jsou zakázána", 333 "settings.service.form.proxy.user": "User (optional)",
334 "settings.services.updatedInfo" : "Vaše změny byly uloženy", 334 "settings.service.form.saveButton": "Uložit službu",
335 "settings.team.contentHeadline" : "Franz for Teams", 335 "settings.service.form.tabHosted": "Hostováno",
336 "settings.team.copy" : "Franz for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!", 336 "settings.service.form.tabOnPremise": "Samostatně hostované ⭐️",
337 "settings.team.headline" : "Tým", 337 "settings.service.form.team": "Tým",
338 "settings.team.intro" : "You and your team use Franz? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.", 338 "settings.service.form.useHostedService": "Použijte hostovanou {name} službu.",
339 "settings.team.manageAction" : "Manage your Team on meetfranz.com", 339 "settings.service.form.yourServices": "Vaše služby",
340 "settings.team.upgradeAction" : "Upgrade your Account", 340 "settings.services.deletedInfo": "Služba byla odstraněna",
341 "settings.user.form.accountType.company" : "Společnost", 341 "settings.services.discoverServices": "Objevte služby",
342 "settings.user.form.accountType.individual" : "Jednotlivec", 342 "settings.services.headline": "Vaše služby",
343 "settings.user.form.accountType.label" : "Druh účtu", 343 "settings.services.noServicesAdded": "Doposud jste nepřidali žádné služby.",
344 "settings.user.form.accountType.non-profit" : "Nezisková organizace", 344 "settings.services.servicesRequestFailed": "Could not load your services",
345 "settings.user.form.currentPassword" : "Aktuální heslo", 345 "settings.services.tooltip.isDisabled": "Služba je zakázána",
346 "settings.user.form.email" : "Email", 346 "settings.services.tooltip.isMuted": "Všechny zvuky jsou ztišeny",
347 "settings.user.form.firstname" : "Jméno", 347 "settings.services.tooltip.notificationsDisabled": "Oznámení jsou zakázána",
348 "settings.user.form.lastname" : "Příjmení", 348 "settings.services.updatedInfo": "Vaše změny byly uloženy",
349 "settings.user.form.newPassword" : "Nové heslo", 349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.workspace.add.form.name" : "Jméno", 350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.workspace.add.form.submitButton" : "Create workspace", 351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.workspace.form.buttonDelete" : "Delete workspace", 352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.workspace.form.buttonSave" : "Save workspace", 353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.workspace.form.name" : "Jméno", 354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace", 355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.workspace.form.yourWorkspaces" : "Your workspaces", 356 "settings.team.headline": "Tým",
357 "settings.workspaces.deletedInfo" : "Workspace has been deleted", 357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.workspaces.headline" : "Your workspaces", 358 "settings.team.manageAction": "Manage your Team on getferdi.com",
359 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.", 359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.workspaces.tryReloadWorkspaces" : "Zkusit znovu", 360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.workspaces.updatedInfo" : "Vaše změny byly uloženy", 361 "settings.team.upgradeAction": "Upgrade your Account",
362 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces", 362 "settings.user.form.accountType.company": "Společnost",
363 "settings.workspaces.workspaceFeatureInfo" : "Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.", 363 "settings.user.form.accountType.individual": "Jednotlivec",
364 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces", 364 "settings.user.form.accountType.label": "Druh účtu",
365 "sidebar.addNewService" : "Přidat novou službu", 365 "settings.user.form.accountType.non-profit": "Nezisková organizace",
366 "sidebar.closeTodosDrawer" : "Close Franz Todos", 366 "settings.user.form.currentPassword": "Aktuální heslo",
367 "sidebar.closeWorkspaceDrawer" : "Zavřít záložku pracovní plochy", 367 "settings.user.form.email": "Email",
368 "sidebar.muteApp" : "Vypnout upozornění a zvuky", 368 "settings.user.form.firstname": "Jméno",
369 "sidebar.openTodosDrawer" : "Open Franz Todos", 369 "settings.user.form.lastname": "Příjmení",
370 "sidebar.openWorkspaceDrawer" : "Otevřít záložku pracovní plochy", 370 "settings.user.form.newPassword": "Nové heslo",
371 "sidebar.settings" : "Nastavení", 371 "settings.workspace.add.form.name": "Jméno",
372 "sidebar.unmuteApp" : "Zapnout upozornění a zvuky", 372 "settings.workspace.add.form.submitButton": "Create workspace",
373 "signup.email.label" : "Emailová adresa", 373 "settings.workspace.form.buttonDelete": "Delete workspace",
374 "signup.emailDuplicate" : "Uživatel s touto emailovou adresou již existuje", 374 "settings.workspace.form.buttonSave": "Save workspace",
375 "signup.firstname.label" : "Jméno", 375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "signup.headline" : "Přihlásit se", 376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "signup.lastname.label" : "Příjmení", 377 "settings.workspace.form.name": "Jméno",
378 "signup.legal.info" : "Vytvořením účtu Franz souhlasíte s", 378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "signup.legal.privacy" : "Prohlášení o ochraně soukromí", 379 "settings.workspace.form.yourWorkspaces": "Your workspaces",
380 "signup.legal.terms" : "Podmínky služby", 380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "signup.link.login" : "Již máte účet, přihlásit se?", 381 "settings.workspaces.headline": "Your workspaces",
382 "signup.password.label" : "Heslo", 382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "signup.submit.label" : "Vytvořit účet", 383 "settings.workspaces.tryReloadWorkspaces": "Zkusit opět",
384 "subscription.bestValue" : "Best value", 384 "settings.workspaces.updatedInfo": "Vaše změny byly uloženy",
385 "subscription.cta.activateTrial" : "Yes, start the free Franz Professional trial", 385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
386 "subscription.cta.allOptions" : "See all options", 386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "subscription.cta.choosePlan" : "Choose your plan", 387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "subscription.includedProFeatures" : "The Franz Professional Plan includes:", 388 "sidebar.addNewService": "Přidat novou službu",
389 "subscription.interval.per" : "per {interval}", 389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "subscription.interval.perMonth" : "per month", 390 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
391 "subscription.interval.perMonthPerUser" : "per month & user", 391 "sidebar.lockFerdi": "Lock Ferdi",
392 "subscription.planItem.upgradeAccount" : "Změnit typ účtu", 392 "sidebar.muteApp": "Vypnout upozornění a zvuky",
393 "subscription.teaser.includedFeatures" : "Paid Franz Plans include:", 393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "subscription.teaser.intro" : "Franz 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!", 394 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
395 "subscriptionPopup.buttonCancel" : "Zrušit", 395 "sidebar.settings": "Nastavení",
396 "subscriptionPopup.buttonDone" : "Dokončit", 396 "sidebar.unmuteApp": "Zapnout upozornění a zvuky",
397 "tabs.item.deleteService" : "Odstranit službu", 397 "signup.email.label": "E-mailová adresa",
398 "tabs.item.disableAudio" : "Vypnout zvuk", 398 "signup.emailDuplicate": "Uživatel s touto emailovou adresou již existuje",
399 "tabs.item.disableNotifications" : "Zakázat upozornění", 399 "signup.firstname.label": "Jméno",
400 "tabs.item.disableService" : "Zakázat službu", 400 "signup.headline": "Přihlásit se",
401 "tabs.item.edit" : "Upravit", 401 "signup.lastname.label": "Příjmení",
402 "tabs.item.enableAudio" : "Zapnout zvuk", 402 "signup.legal.info": "Vytvořením účtu Ferdi souhlasíte s",
403 "tabs.item.enableNotification" : "Povolit oznamování", 403 "signup.legal.privacy": "Prohlášení o ochraně soukromí",
404 "tabs.item.enableService" : "Zapnout službu", 404 "signup.legal.terms": "Podmínky služby",
405 "tabs.item.reload" : "Obnovit", 405 "signup.link.login": "Již máte účet, přihlásit se?",
406 "validation.email" : "{field} není validní", 406 "signup.password.label": "Password",
407 "validation.minLength" : "{field} musí být alespoň {length} znaků dlouhé", 407 "signup.submit.label": "Vytvořit účet",
408 "validation.oneRequired" : "At least one is required", 408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "validation.required" : "{field} je povinné", 409 "subscription.cta.allOptions": "See all options",
410 "validation.url" : "{field} není validní URL", 410 "subscription.cta.choosePlan": "Choose your plan",
411 "webControls.back" : "Back", 411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "webControls.forward" : "Forward", 412 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:",
413 "webControls.goHome" : "Home", 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!",
414 "webControls.openInBrowser" : "Open in Browser", 414 "subscriptionPopup.buttonCancel": "Zrušit",
415 "webControls.reload" : "Obnovit", 415 "subscriptionPopup.buttonDone": "Dokončit",
416 "welcome.loginButton" : "Přihlášení do vašeho účtu", 416 "tabs.item.deleteService": "Odstranit službu",
417 "welcome.signupButton" : "Vytvořit účet zdarma", 417 "tabs.item.disableAudio": "Vypnout zvuk",
418 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace", 418 "tabs.item.disableNotifications": "Zakázat upozornění",
419 "workspaceDrawer.allServices" : "Všechny služby", 419 "tabs.item.disableService": "Zakázat službu",
420 "workspaceDrawer.headline" : "Pracovní plochy", 420 "tabs.item.edit": "Upravit",
421 "workspaceDrawer.item.contextMenuEdit" : "edit", 421 "tabs.item.enableAudio": "Zapnout zvuk",
422 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet", 422 "tabs.item.enableNotification": "Povolit upozornění",
423 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace", 423 "tabs.item.enableService": "Povolit službu",
424 "workspaceDrawer.proFeatureBadge" : "Premium feature", 424 "tabs.item.reload": "Obnovit",
425 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account", 425 "validation.email": "{field} není validní",
426 "workspaceDrawer.workspaceFeatureInfo" : "<p>Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.<\/p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.<\/p>", 426 "validation.minLength": "{field} musí být alespoň {length} znaků dlouhé",
427 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings", 427 "validation.oneRequired": "At least one is required",
428 "workspaces.switchingIndicator.switchingTo" : "Switching to" 428 "validation.required": "{field} je povinné",
429 "validation.url": "{field} není validní URL",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Obnovit",
435 "welcome.loginButton": "Přihlášení do vašeho účtu",
436 "welcome.signupButton": "Vytvořit uživatelský účet zdarma",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "Všechny služby",
439 "workspaceDrawer.headline": "Workspaces",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
429} 448}
diff --git a/src/i18n/locales/da.json b/src/i18n/locales/da.json
new file mode 100644
index 000000000..628880d9f
--- /dev/null
+++ b/src/i18n/locales/da.json
@@ -0,0 +1,448 @@
1{
2 "app.errorHandler.action": "Reload",
3 "app.errorHandler.headline": "Something went wrong",
4 "feature.announcements.changelog.headline": "Changes in Ferdi {version}",
5 "feature.delayApp.headline": "Please purchase a Ferdi Supporter License to skip waiting",
6 "feature.delayApp.text": "Ferdi will continue in {seconds} seconds.",
7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
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",
11 "feature.delayApp.upgrade.actionShort": "Upgrade account",
12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.quickSwitch.search": "Search...",
14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.shareFranz.action.email": "Send as email",
17 "feature.shareFranz.action.facebook": "Share on Facebook",
18 "feature.shareFranz.action.twitter": "Share on Twitter",
19 "feature.shareFranz.headline": "Ferdi is better together!",
20 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
23 "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.",
25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "global.api.unhealthy": "Can't connect to Ferdi online services",
27 "global.franzProRequired": "Ferdi Professional Required",
28 "global.notConnectedToTheInternet": "You are not connected to the internet.",
29 "global.spellchecker.useDefault": "Use System Default ({default})",
30 "global.spellchecking.autodetect": "Detect language automatically",
31 "global.spellchecking.autodetect.short": "Automatic",
32 "global.spellchecking.language": "Spell checking language",
33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "import.headline": "Import your Ferdi 4 services",
35 "import.notSupportedHeadline": "Services not yet supported in Ferdi 5",
36 "import.skip.label": "I want to add services manually",
37 "import.submit.label": "Import services",
38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "infobar.buttonChangelog": "What is new?",
40 "infobar.buttonInstallUpdate": "Restart & install update",
41 "infobar.buttonReloadServices": "Reload services",
42 "infobar.requiredRequestsFailed": "Could not load services and user information",
43 "infobar.servicesUpdated": "Your services have been updated.",
44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "infobar.updateAvailable": "A new update for Ferdi is available.",
46 "invite.email.label": "Email address",
47 "invite.headline.friends": "Invite 3 of your friends or colleagues",
48 "invite.name.label": "Name",
49 "invite.skip.label": "I want to do this later",
50 "invite.submit.label": "Send invites",
51 "invite.successInfo": "Invitations sent successfully",
52 "locked.headline": "Locked",
53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "locked.invalidCredentials": "Password invalid",
55 "locked.password.label": "Password",
56 "locked.submit.label": "Unlock",
57 "login.changeServer": "Change server",
58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "login.customServerSuggestion": "Try importing your Franz account",
60 "login.email.label": "Email address",
61 "login.headline": "Sign in",
62 "login.invalidCredentials": "Email or password not valid",
63 "login.link.password": "Reset password",
64 "login.link.signup": "Create a free account",
65 "login.password.label": "Password",
66 "login.serverLogout": "Your session expired, please login again.",
67 "login.submit.label": "Sign in",
68 "login.tokenExpired": "Your session expired, please login again.",
69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "menu.app.about": "About Ferdi",
72 "menu.app.announcement": "What's new?",
73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "menu.app.checkForUpdates": "Check for updates",
75 "menu.app.hide": "Hide",
76 "menu.app.hideOthers": "Hide Others",
77 "menu.app.quit": "Quit",
78 "menu.app.settings": "Settings",
79 "menu.app.unhide": "Unhide",
80 "menu.edit": "Edit",
81 "menu.edit.copy": "Copy",
82 "menu.edit.cut": "Cut",
83 "menu.edit.delete": "Delete",
84 "menu.edit.emojiSymbols": "Emoji & Symbols",
85 "menu.edit.paste": "Paste",
86 "menu.edit.pasteAndMatchStyle": "Paste And Match Style",
87 "menu.edit.redo": "Redo",
88 "menu.edit.selectAll": "Select All",
89 "menu.edit.speech": "Speech",
90 "menu.edit.startDictation": "Start Dictation",
91 "menu.edit.startSpeaking": "Start Speaking",
92 "menu.edit.stopSpeaking": "Stop Speaking",
93 "menu.edit.undo": "Undo",
94 "menu.file": "File",
95 "menu.help": "Help",
96 "menu.help.changelog": "Changelog",
97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.help.learnMore": "Learn More",
101 "menu.help.privacy": "Privacy Statement",
102 "menu.help.support": "Support",
103 "menu.help.tos": "Terms of Service",
104 "menu.services": "Services",
105 "menu.services.activatePreviousService": "Activate previous service",
106 "menu.services.addNewService": "Add New Service...",
107 "menu.services.goHome": "Home",
108 "menu.services.setNextServiceActive": "Activate next service",
109 "menu.todos": "Todos",
110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.view": "View",
112 "menu.view.back": "Back",
113 "menu.view.enterFullScreen": "Enter Full Screen",
114 "menu.view.exitFullScreen": "Exit Full Screen",
115 "menu.view.forward": "Forward",
116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.view.reloadFranz": "Reload Ferdi",
119 "menu.view.reloadService": "Reload Service",
120 "menu.view.resetZoom": "Actual Size",
121 "menu.view.toggleDevTools": "Toggle Developer Tools",
122 "menu.view.toggleFullScreen": "Toggle Full Screen",
123 "menu.view.toggleServiceDevTools": "Toggle Service Developer Tools",
124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.zoomIn": "Zoom In",
126 "menu.view.zoomOut": "Zoom Out",
127 "menu.window": "Window",
128 "menu.window.close": "Close",
129 "menu.window.minimize": "Minimize",
130 "menu.workspaces": "Workspaces",
131 "menu.workspaces.addNewWorkspace": "Add New Workspace...",
132 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
133 "menu.workspaces.defaultWorkspace": "All services",
134 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
135 "password.email.label": "Email address",
136 "password.headline": "Reset password",
137 "password.link.login": "Sign in to your account",
138 "password.link.signup": "Create a free account",
139 "password.noUser": "No user with that email address was found",
140 "password.submit.label": "Submit",
141 "password.successInfo": "Please check your email",
142 "premiumFeature.button.upgradeAccount": "Upgrade account",
143 "pricing.features.adFree": "Forever ad-free",
144 "pricing.features.appDelays": "No Waiting Screens",
145 "pricing.features.customWebsites": "Add Custom Websites",
146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "pricing.features.serviceProxies": "Service Proxies",
148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.workspaces": "Workspaces",
153 "pricing.plan.free": "Ferdi Free",
154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "service.crashHandler.action": "Reload {name}",
171 "service.crashHandler.autoReload": "Trying to automatically restore {name} in {seconds} seconds",
172 "service.crashHandler.headline": "Oh no!",
173 "service.crashHandler.text": "{name} has caused an error.",
174 "service.disabledHandler.action": "Enable {name}",
175 "service.disabledHandler.headline": "{name} is disabled",
176 "service.errorHandler.action": "Reload {name}",
177 "service.errorHandler.editAction": "Edit {name}",
178 "service.errorHandler.headline": "Oh no!",
179 "service.errorHandler.message": "Error",
180 "service.errorHandler.text": "{name} has failed to load.",
181 "service.restrictedHandler.action": "Upgrade Account",
182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.webviewLoader.loading": "Loading",
187 "services.getStarted": "Get started",
188 "services.login": "Please login to use Ferdi.",
189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "services.serverless": "Use Ferdi without an Account",
191 "services.welcome": "Welcome to Ferdi",
192 "settings.account.account.editButton": "Edit account",
193 "settings.account.accountType.basic": "Basic Account",
194 "settings.account.accountType.premium": "Premium Supporter Account",
195 "settings.account.buttonSave": "Update profile",
196 "settings.account.deleteAccount": "Delete account",
197 "settings.account.deleteEmailSent": "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!",
198 "settings.account.deleteInfo": "If you don't need your Ferdi account any longer, you can delete your account and all related data here.",
199 "settings.account.headline": "Account",
200 "settings.account.headlineAccount": "Account information",
201 "settings.account.headlineDangerZone": "Danger Zone",
202 "settings.account.headlineInvoices": "Invoices",
203 "settings.account.headlinePassword": "Change password",
204 "settings.account.headlineProfile": "Update profile",
205 "settings.account.headlineSubscription": "Your subscription",
206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.invoiceDownload": "Download",
209 "settings.account.manageSubscription.label": "Manage your subscription",
210 "settings.account.successInfo": "Your changes have been saved",
211 "settings.account.trial": "Free Trial",
212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.tryReloadServices": "Try again",
215 "settings.account.tryReloadUserInfoRequest": "Try again",
216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.userInfoRequestFailed": "Could not load user information",
218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.app.buttonClearAllCache": "Clear cache",
221 "settings.app.buttonInstallUpdate": "Restart & install update",
222 "settings.app.buttonSearchForUpdate": "Check for updates",
223 "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.",
224 "settings.app.currentVersion": "Current version:",
225 "settings.app.form.accentColor": "Accent color",
226 "settings.app.form.autoLaunchInBackground": "Open in background",
227 "settings.app.form.autoLaunchOnStart": "Launch Ferdi on start",
228 "settings.app.form.beta": "Include beta versions",
229 "settings.app.form.darkMode": "Join the Dark Side",
230 "settings.app.form.enableGPUAcceleration": "Enable GPU Acceleration",
231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.form.enableSpellchecking": "Enable spell checking",
233 "settings.app.form.enableSystemTray": "Show Ferdi in system tray",
234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.language": "Language",
239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.minimizeToSystemTray": "Minimize Ferdi to system tray",
241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.runInBackground": "Keep Ferdi in background when closing the window",
244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices": "Display disabled services tabs",
249 "settings.app.form.showMessagesBadgesWhenMuted": "Show unread message badge when notifications are disabled",
250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headline": "Settings",
254 "settings.app.headlineAdvanced": "Advanced",
255 "settings.app.headlineAppearance": "Appearance",
256 "settings.app.headlineGeneral": "General",
257 "settings.app.headlineLanguage": "Language",
258 "settings.app.headlineUpdates": "Updates",
259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.app.restartRequired": "Changes require restart",
265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.app.subheadlineCache": "Cache",
270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.app.translationHelp": "Help us to translate Ferdi into your language.",
272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.app.updateStatusAvailable": "Update available, downloading...",
274 "settings.app.updateStatusSearching": "Is searching for update",
275 "settings.app.updateStatusUpToDate": "You are using the latest version of Ferdi",
276 "settings.invite.headline": "Invite Friends",
277 "settings.navigation.account": "Account",
278 "settings.navigation.availableServices": "Available services",
279 "settings.navigation.logout": "Logout",
280 "settings.navigation.settings": "Settings",
281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.navigation.team": "Manage Team",
283 "settings.navigation.yourServices": "Your services",
284 "settings.navigation.yourWorkspaces": "Your workspaces",
285 "settings.recipes.all": "All services",
286 "settings.recipes.custom": "Custom Services",
287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.recipes.headline": "Available services",
294 "settings.recipes.missingService": "Missing a service?",
295 "settings.recipes.mostPopular": "Most popular",
296 "settings.recipes.nothingFound": "Sorry, but no service matched your search term.",
297 "settings.recipes.servicesSuccessfulAddedInfo": "Service successfully added",
298 "settings.searchService": "Search service",
299 "settings.service.error.goBack": "Back to services",
300 "settings.service.error.headline": "Error",
301 "settings.service.error.message": "Could not load service recipe.",
302 "settings.service.form.addServiceHeadline": "Add {name}",
303 "settings.service.form.availableServices": "Available services",
304 "settings.service.form.customUrl": "Custom server",
305 "settings.service.form.customUrlPremiumInfo": "To add self hosted services, you need a Ferdi Premium Supporter Account.",
306 "settings.service.form.customUrlUpgradeAccount": "Upgrade your account",
307 "settings.service.form.customUrlValidationError": "Could not validate custom {name} server.",
308 "settings.service.form.deleteButton": "Delete service",
309 "settings.service.form.editServiceHeadline": "Edit {name}",
310 "settings.service.form.enableAudio": "Enable audio",
311 "settings.service.form.enableBadge": "Show unread message badges",
312 "settings.service.form.enableDarkMode": "Enable Dark Mode",
313 "settings.service.form.enableNotification": "Enable notifications",
314 "settings.service.form.enableService": "Enable service",
315 "settings.service.form.headlineBadges": "Unread message badges",
316 "settings.service.form.headlineGeneral": "General",
317 "settings.service.form.headlineNotifications": "Notifications",
318 "settings.service.form.icon": "Custom icon",
319 "settings.service.form.iconDelete": "Delete",
320 "settings.service.form.iconUpload": "Drop your image, or click here",
321 "settings.service.form.indirectMessageInfo": "You will be notified about all new messages in a channel, not just @username, @channel, @here, ...",
322 "settings.service.form.indirectMessages": "Show message badge for all new messages",
323 "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted",
324 "settings.service.form.name": "Name",
325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings",
327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.service.form.proxy.info": "Proxy settings will not synced with the Ferdi servers.",
329 "settings.service.form.proxy.isEnabled": "Use Proxy",
330 "settings.service.form.proxy.password": "Password (optional)",
331 "settings.service.form.proxy.port": "Port",
332 "settings.service.form.proxy.restartInfo": "Please restart Ferdi after changing proxy Settings.",
333 "settings.service.form.proxy.user": "User (optional)",
334 "settings.service.form.saveButton": "Save service",
335 "settings.service.form.tabHosted": "Hosted",
336 "settings.service.form.tabOnPremise": "Self hosted ⭐️",
337 "settings.service.form.team": "Team",
338 "settings.service.form.useHostedService": "Use the hosted {name} service.",
339 "settings.service.form.yourServices": "Your services",
340 "settings.services.deletedInfo": "Service has been deleted",
341 "settings.services.discoverServices": "Discover services",
342 "settings.services.headline": "Your services",
343 "settings.services.noServicesAdded": "You haven't added any services yet.",
344 "settings.services.servicesRequestFailed": "Could not load your services",
345 "settings.services.tooltip.isDisabled": "Service is disabled",
346 "settings.services.tooltip.isMuted": "All sounds are muted",
347 "settings.services.tooltip.notificationsDisabled": "Notifications are disabled",
348 "settings.services.updatedInfo": "Your changes have been saved",
349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.team.headline": "Team",
357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.team.manageAction": "Manage your Team on getferdi.com",
359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.team.upgradeAction": "Upgrade your Account",
362 "settings.user.form.accountType.company": "Company",
363 "settings.user.form.accountType.individual": "Individual",
364 "settings.user.form.accountType.label": "Account type",
365 "settings.user.form.accountType.non-profit": "Non-Profit",
366 "settings.user.form.currentPassword": "Current password",
367 "settings.user.form.email": "Email",
368 "settings.user.form.firstname": "First Name",
369 "settings.user.form.lastname": "Last Name",
370 "settings.user.form.newPassword": "New password",
371 "settings.workspace.add.form.name": "Name",
372 "settings.workspace.add.form.submitButton": "Create workspace",
373 "settings.workspace.form.buttonDelete": "Delete workspace",
374 "settings.workspace.form.buttonSave": "Save workspace",
375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "settings.workspace.form.name": "Name",
378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "settings.workspace.form.yourWorkspaces": "Your workspaces",
380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "settings.workspaces.headline": "Your workspaces",
382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "settings.workspaces.tryReloadWorkspaces": "Try again",
384 "settings.workspaces.updatedInfo": "Your changes have been saved",
385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "sidebar.addNewService": "Add new service",
389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
391 "sidebar.lockFerdi": "Lock Ferdi",
392 "sidebar.muteApp": "Disable notifications & audio",
393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
395 "sidebar.settings": "Settings",
396 "sidebar.unmuteApp": "Enable notifications & audio",
397 "signup.email.label": "Email address",
398 "signup.emailDuplicate": "A user with that email address already exists",
399 "signup.firstname.label": "First Name",
400 "signup.headline": "Sign up",
401 "signup.lastname.label": "Last Name",
402 "signup.legal.info": "By creating a Ferdi account you accept the",
403 "signup.legal.privacy": "Privacy Statement",
404 "signup.legal.terms": "Terms of service",
405 "signup.link.login": "Already have an account, sign in?",
406 "signup.password.label": "Password",
407 "signup.submit.label": "Create account",
408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "subscription.cta.allOptions": "See all options",
410 "subscription.cta.choosePlan": "Choose your plan",
411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "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!",
414 "subscriptionPopup.buttonCancel": "Cancel",
415 "subscriptionPopup.buttonDone": "Done",
416 "tabs.item.deleteService": "Delete service",
417 "tabs.item.disableAudio": "Disable audio",
418 "tabs.item.disableNotifications": "Disable notifications",
419 "tabs.item.disableService": "Disable service",
420 "tabs.item.edit": "Edit",
421 "tabs.item.enableAudio": "Enable audio",
422 "tabs.item.enableNotification": "Enable notifications",
423 "tabs.item.enableService": "Enable service",
424 "tabs.item.reload": "Reload",
425 "validation.email": "{field} is not valid",
426 "validation.minLength": "{field} should be at least {length} characters long",
427 "validation.oneRequired": "At least one is required",
428 "validation.required": "{field} is required",
429 "validation.url": "{field} is not a valid URL",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Reload",
435 "welcome.loginButton": "Login to your account",
436 "welcome.signupButton": "Create a free account",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "All services",
439 "workspaceDrawer.headline": "Workspaces",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
448}
diff --git a/src/i18n/locales/de.json b/src/i18n/locales/de.json
index dd2fa5554..6b7ac8a35 100644
--- a/src/i18n/locales/de.json
+++ b/src/i18n/locales/de.json
@@ -1,429 +1,448 @@
1{ 1{
2 "app.errorHandler.action" : "Neu laden", 2 "app.errorHandler.action": "Neu laden",
3 "app.errorHandler.headline" : "Es ist ein Fehler aufgetreten", 3 "app.errorHandler.headline": "Es ist ein Fehler aufgetreten",
4 "feature.announcements.changelog.headline" : "Was ist neu in Franz {version}", 4 "feature.announcements.changelog.headline": "Was ist neu in Ferdi {version}",
5 "feature.delayApp.headline" : "Führe ein Upgrade deines Accounts durch, um nicht mehr warten zu müssen", 5 "feature.delayApp.headline": "Bitte kaufe eine Ferdi Supporter Lizenz, um das Warten zu überspringen",
6 "feature.delayApp.text" : "In {seconds} Sekunden geht's weiter!", 6 "feature.delayApp.text": "In {seconds} Sekunden geht's weiter!",
7 "feature.delayApp.trial.action" : "Ja, ich möchte Franz Professional 14 Tage gratis testen", 7 "feature.delayApp.trial.action": "Ja, ich möchte Ferdi Professional 14 Tage gratis testen",
8 "feature.delayApp.trial.actionShort" : "Aktiviere die kostenlose Franz Professional Testlizenz", 8 "feature.delayApp.trial.actionShort": "Aktiviere die kostenlose Ferdi Professional Testlizenz",
9 "feature.delayApp.trial.headline" : "Hol dir eine 14-tägige kostenlose Franz Professional Testlizenz und überspringe die Wartezeit", 9 "feature.delayApp.trial.headline": "Hol dir die kostenlose Ferdi Professional Testlizenz und es geht ohne Warten weiter",
10 "feature.delayApp.upgrade.action" : "Franz Upgrade durchführen", 10 "feature.delayApp.upgrade.action": "Hol dir Ferdi Premium",
11 "feature.delayApp.upgrade.actionShort" : "Account upgraden", 11 "feature.delayApp.upgrade.actionShort": "Account erweitern",
12 "feature.planSelection.cta.ctaDowngradeFree" : "Downgrade zu Free", 12 "feature.quickSwitch.info": "Wähle einen Service mit TAB, ↑ und ↓. Um einen Service zu öffnen, drücke ENTER.",
13 "feature.planSelection.cta.stayOnFree" : "Ich bleibe bei Free", 13 "feature.quickSwitch.search": "Suchen...",
14 "feature.planSelection.cta.trial" : "Starte meine 14-tägige kostenlose Testlizenz", 14 "feature.quickSwitch.title": "Schnellauswahl",
15 "feature.planSelection.cta.upgradePersonal" : "Ich will Franz Personal", 15 "feature.serviceLimit.limitReached": "Du hast {amount} von {limit} in deiner Lizenz inkludierten Services hinzugefügt. Bitte führe ein Upgrade deines Accounts durch, um mehr Services hinzuzufügen.",
16 "feature.planSelection.cta.upgradePro" : "Ich will Franz Professional", 16 "feature.shareFranz.action.email": "Als E-Mail senden",
17 "feature.planSelection.free.text" : "Das Minimum", 17 "feature.shareFranz.action.facebook": "Auf Facebook teilen",
18 "feature.planSelection.fullFeatureList" : "Alle Lizenzen im Vergleich", 18 "feature.shareFranz.action.twitter": "Auf Twitter teilen",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade" : "Downgrade zu Free", 19 "feature.shareFranz.headline": "Gemeinsam ist Ferdi noch besser!",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade" : "Ich will Franz Personal", 20 "feature.shareFranz.shareText.email": "Ich habe {count} Services zu Ferdi hinzugefügt! Hol dir jetzt die kostenlose App für WhatsApp, Messenger, Slack, Skype und viele mehr auf www.getferdi.com",
21 "feature.planSelection.fullscreen.dialog.message" : "Dein Account wird auf Free herabgestuft - bist du sicher? Klicke hier für mehr Services und Funktionen für nur {currency}{price} pro Monat.", 21 "feature.shareFranz.shareText.twitter": "Ich habe {count} Services zu Ferdi hinzugefügt! Hol dir die kostenlose App für WhatsApp, Messenger, Slack, Skype und viele mehr auf www.getferdi.com /cc @FerdiMessenger",
22 "feature.planSelection.fullscreen.dialog.title" : "Downgrade deines Franz Accounts", 22 "feature.shareFranz.text": "Bitte erzähle deinen Freunden und Kolleginnen, warum du Ferdi toll findest.",
23 "feature.planSelection.fullscreen.subheadline" : "Es ist Zeit für eine Entscheidung! Mit Personal und Professional holst du das Beste aus Franz heraus. Hier ist ein Überblick für dich, wähle aus was zu dir passt.", 23 "feature.todos.premium.info": "Ferdi Todos sind jetzt für Premium User verfügbar!",
24 "feature.planSelection.fullscreen.welcome" : "{name}, bist du bereit?", 24 "feature.todos.premium.rollout": "Alle anderen müssen sich noch ein wenig gedulden.",
25 "feature.planSelection.personal.text" : "Mehr Services, kein Warten - ideal für private Nutzung.", 25 "feature.todos.premium.upgrade": "Account Upgrade",
26 "feature.planSelection.pricesBasedOnAnnualPayment" : "All prices based on yearly payment", 26 "global.api.unhealthy": "Verbindung zu den Ferdi Online Services fehlgeschlagen",
27 "feature.planSelection.pro.text" : "Unlimitierte Services und alle Features für dich - und dein Team.", 27 "global.franzProRequired": "Ferdi Professional benötigt",
28 "feature.serviceLimit.limitReached" : "Du hast {amount} von {limit} in deiner Lizenz inkludierten Services hinzugefügt. Bitte führe ein Upgrade deines Accounts durch, um mehr Services hinzuzufügen.", 28 "global.notConnectedToTheInternet": "Du bist nicht mit dem Internet verbunden.",
29 "feature.shareFranz.action.email" : "Als E-Mail senden", 29 "global.spellchecker.useDefault": "Standard benutzen ({default})",
30 "feature.shareFranz.action.facebook" : "Auf Facebook teilen", 30 "global.spellchecking.autodetect": "Sprache automatisch erkennen",
31 "feature.shareFranz.action.twitter" : "Auf Twitter teilen", 31 "global.spellchecking.autodetect.short": "Automatisch",
32 "feature.shareFranz.headline" : "Gemeinsam ist Franz noch besser!", 32 "global.spellchecking.language": "Sprache für Rechtschreibprüfung",
33 "feature.shareFranz.shareText.email" : "Ich habe {count} Services zu Franz hinzugefügt! Hol dir jetzt die kostenlose App für WhatsApp, Messenger, Slack, Skype und viele mehr auf www.meetfranz.com", 33 "global.upgradeButton.upgradeToPro": "Upgrade zu Ferdi Professional",
34 "feature.shareFranz.shareText.twitter" : "Ich habe {count} Services zu Franz hinzugefügt! Hol dir die kostenlose App für WhatsApp, Messenger, Slack, Skype und viele mehr auf www.meetfranz.com \/cc @FranzMessenger", 34 "import.headline": "Deine Ferdi-4-Dienste importieren",
35 "feature.shareFranz.text" : "Bitte erzähle deinen Freunden und Kolleginnen, warum du Franz toll findest.", 35 "import.notSupportedHeadline": "Dienste, die noch nicht von Ferdi 5 unterstützt werden",
36 "feature.todos.premium.info" : "Franz ToDos sind jetzt für Premium User verfügbar!", 36 "import.skip.label": "Ich möchte Dienste selbst hinzufügen",
37 "feature.todos.premium.rollout" : "Alle anderen müssen sich noch ein wenig gedulden.", 37 "import.submit.label": "Dienste importieren",
38 "feature.todos.premium.upgrade" : "Account Upgrade", 38 "infobar.authRequestFailed": "Es sind Fehler während einem authentifizierten Anfrage an den Ferdi Server aufgetreten. Sollte dieser Fehler bestehen, logge dich bitte aus und wieder ein.",
39 "feature.trialStatusBar.cta" : "Upgrade jetzt durchführen", 39 "infobar.buttonChangelog": "Was gibt es Neues?",
40 "feature.trialStatusBar.expired" : "Deine kostenlose Franz {plan} Testlizenz ist abgelaufen, bitte führe ein Upgrade deines Accounts durch.", 40 "infobar.buttonInstallUpdate": "Neu starten & Update installieren",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade" : "Downgrade zu Free", 41 "infobar.buttonReloadServices": "Dienste neu laden",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade" : "Ich will Franz Personal", 42 "infobar.requiredRequestsFailed": "Dienste und Benutzerinformationen konnten nicht geladen werden",
43 "feature.trialStatusBar.fullscreen.dialog.message" : "Dein Account wird zu Free herabgestuft, bist du sicher? Klicke hier für mehr Services und Funktionen für nur {currency}{price} im Monat.", 43 "infobar.servicesUpdated": "Deine Dienste wurden aktualisiert.",
44 "feature.trialStatusBar.fullscreen.dialog.title" : "Downgrade durchführen", 44 "infobar.trialActivated": "Deine kostenlose Testlizenz wurde erfolgreich aktiviert. Viel Spaß!",
45 "feature.trialStatusBar.restTime" : "Deine kostenlose Franz {plan} Testlizenz endet in {time}.", 45 "infobar.updateAvailable": "Eine neue Version von Ferdi ist verfügbar.",
46 "global.api.unhealthy" : "Verbindung zum Franz-Online-Service fehlgeschlagen", 46 "invite.email.label": "E-Mail-Adresse",
47 "global.franzProRequired" : "Franz Professional benötigt", 47 "invite.headline.friends": "Lade drei Freunde oder Kolleginnen ein",
48 "global.notConnectedToTheInternet" : "Du bist nicht mit dem Internet verbunden.", 48 "invite.name.label": "Name",
49 "global.spellchecker.useDefault" : "Standard benutzen ({default})", 49 "invite.skip.label": "Ich möchte das später tun",
50 "global.spellchecking.autodetect" : "Sprache automatisch erkennen", 50 "invite.submit.label": "Einladungen schicken",
51 "global.spellchecking.autodetect.short" : "Automatisch", 51 "invite.successInfo": "Die Einladungen wurden erfolgreich versendet",
52 "global.spellchecking.language" : "Sprache für Rechtschreibprüfung", 52 "locked.headline": "Gesperrt",
53 "global.upgradeButton.upgradeToPro" : "Upgrade zu Franz Professional", 53 "locked.info": "Ferdi ist zur Zeit gesperrt. Bitte entsperre Ferdi mit deinem Passwort, um deine Nachrichten zu sehen.",
54 "import.headline" : "Deine Franz-4-Dienste importieren", 54 "locked.invalidCredentials": "Passwort ungültig",
55 "import.notSupportedHeadline" : "Dienste, die noch nicht von Franz 5 unterstützt werden", 55 "locked.password.label": "Passwort",
56 "import.skip.label" : "Ich möchte Dienste selbst hinzufügen", 56 "locked.submit.label": "Entsperren",
57 "import.submit.label" : "Dienste importieren", 57 "login.changeServer": "Server wechseln",
58 "infobar.buttonChangelog" : "Was gibt es Neues?", 58 "login.customServerQuestion": "Du benutzt einen Franz Account zum anmelden?",
59 "infobar.buttonInstallUpdate" : "Neu starten & Update installieren", 59 "login.customServerSuggestion": "Versuche, deinen Franz account zu importieren",
60 "infobar.buttonReloadServices" : "Dienste neu laden", 60 "login.email.label": "E-Mail-Adresse",
61 "infobar.requiredRequestsFailed" : "Dienste und Benutzerinformationen konnten nicht geladen werden", 61 "login.headline": "Anmelden",
62 "infobar.servicesUpdated" : "Deine Dienste wurden aktualisiert.", 62 "login.invalidCredentials": "E-Mail-Adresse oder Passwort ungültig",
63 "infobar.trialActivated" : "Deine kostenlose Testlizenz wurde erfolgreich aktiviert. Viel Spaß!", 63 "login.link.password": "Passwort zurücksetzen",
64 "infobar.updateAvailable" : "Eine neue Version von Franz ist verfügbar!", 64 "login.link.signup": "Kostenloses Konto erstellen",
65 "invite.email.label" : "E-Mail-Adresse", 65 "login.password.label": "Passwort",
66 "invite.headline.friends" : "Lade drei Freunde oder Kolleginnen ein!", 66 "login.serverLogout": "Deine Sitzung ist abgelaufen, bitte melde Dich erneut an.",
67 "invite.name.label" : "Name", 67 "login.submit.label": "Anmelden",
68 "invite.skip.label" : "Jetzt nicht! Ich möchte das später tun.", 68 "login.tokenExpired": "Deine Sitzung ist abgelaufen, bitte melde Dich erneut an.",
69 "invite.submit.label" : "Einladungen schicken", 69 "menu.Todoss.closeTodosDrawer": "Todos schließen",
70 "invite.successInfo" : "Die Einladungen wurden erfolgreich versendet.", 70 "menu.Todoss.openTodosDrawer": "Todos öffnen",
71 "login.email.label" : "E-Mail-Adresse", 71 "menu.app.about": "Über Ferdi",
72 "login.headline" : "Anmelden", 72 "menu.app.announcement": "Was ist neu?",
73 "login.invalidCredentials" : "E-Mail-Adresse oder Passwort ungültig", 73 "menu.app.autohideMenuBar": "Menü automatisch verstecken",
74 "login.link.password" : "Passwort zurücksetzen", 74 "menu.app.checkForUpdates": "Nach Updates suchen",
75 "login.link.signup" : "Kostenloses Konto erstellen", 75 "menu.app.hide": "Ausblenden",
76 "login.password.label" : "Passwort", 76 "menu.app.hideOthers": "Andere ausblenden",
77 "login.serverLogout" : "Deine Sitzung ist abgelaufen, bitte melde Dich erneut an.", 77 "menu.app.quit": "Beenden",
78 "login.submit.label" : "Anmelden", 78 "menu.app.settings": "Einstellungen",
79 "login.tokenExpired" : "Deine Sitzung ist abgelaufen, bitte melde Dich erneut an.", 79 "menu.app.unhide": "Einblenden",
80 "menu.Todoss.closeTodosDrawer" : "ToDos schließen", 80 "menu.edit": "Bearbeiten",
81 "menu.Todoss.openTodosDrawer" : "ToDos öffnen", 81 "menu.edit.copy": "Kopieren",
82 "menu.app.about" : "Über Franz", 82 "menu.edit.cut": "Ausschneiden",
83 "menu.app.announcement" : "Was ist neu?", 83 "menu.edit.delete": "Löschen",
84 "menu.app.checkForUpdates" : "Nach Updates suchen", 84 "menu.edit.emojiSymbols": "Emoji & Symbole",
85 "menu.app.hide" : "Ausblenden", 85 "menu.edit.paste": "Einfügen",
86 "menu.app.hideOthers" : "Andere ausblenden", 86 "menu.edit.pasteAndMatchStyle": "Einfügen und Stil anpassen",
87 "menu.app.quit" : "Beenden", 87 "menu.edit.redo": "Wiederholen",
88 "menu.app.settings" : "Einstellungen", 88 "menu.edit.selectAll": "Alle auswählen",
89 "menu.app.unhide" : "Einblenden", 89 "menu.edit.speech": "Sprachausgabe",
90 "menu.edit" : "Bearbeiten", 90 "menu.edit.startDictation": "Diktat starten",
91 "menu.edit.copy" : "Kopieren", 91 "menu.edit.startSpeaking": "Sprachausgabe starten",
92 "menu.edit.cut" : "Ausschneiden", 92 "menu.edit.stopSpeaking": "Sprachausgabe stoppen",
93 "menu.edit.delete" : "Löschen", 93 "menu.edit.undo": "Rückgängig",
94 "menu.edit.emojiSymbols" : "Emoji & Symbole", 94 "menu.file": "Datei",
95 "menu.edit.paste" : "Einfügen", 95 "menu.help": "Hilfe",
96 "menu.edit.pasteAndMatchStyle" : "Einfügen und Stil anpassen", 96 "menu.help.changelog": "Änderungsprotokoll",
97 "menu.edit.redo" : "Wiederholen", 97 "menu.help.debugInfo": "Debugging-Information anzeigen",
98 "menu.edit.selectAll" : "Alle auswählen", 98 "menu.help.debugInfoCopiedBody": "Deine Debugging-Information wurde in die Zwischenablage kopiert.",
99 "menu.edit.speech" : "Sprachausgabe", 99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debugging-Information",
100 "menu.edit.startDictation" : "Diktat starten", 100 "menu.help.learnMore": "Mehr erfahren",
101 "menu.edit.startSpeaking" : "Sprachausgabe starten", 101 "menu.help.privacy": "Datenschutzerklärung",
102 "menu.edit.stopSpeaking" : "Sprachausgabe stoppen", 102 "menu.help.support": "Hilfe",
103 "menu.edit.undo" : "Rückgängig", 103 "menu.help.tos": "Nutzungsbedingungen",
104 "menu.file" : "Datei", 104 "menu.services": "Dienste",
105 "menu.help" : "Hilfe", 105 "menu.services.activatePreviousService": "Vorheriger Dienst",
106 "menu.help.changelog" : "Changelog", 106 "menu.services.addNewService": "Dienst hinzufügen...",
107 "menu.help.debugInfo" : "Debugging-Information anzeigen", 107 "menu.services.goHome": "Startseite",
108 "menu.help.debugInfoCopiedBody" : "Deine Debugging-Information wurde in die Zwischenablage kopiert.", 108 "menu.services.setNextServiceActive": "Nächster Dienst",
109 "menu.help.debugInfoCopiedHeadline" : "Franz Debugging-Information", 109 "menu.todos": "Todos",
110 "menu.help.learnMore" : "Mehr erfahren", 110 "menu.todos.enableTodos": "Todos aktivieren",
111 "menu.help.privacy" : "Datenschutzerklärung", 111 "menu.view": "Darstellung",
112 "menu.help.support" : "Hilfe", 112 "menu.view.back": "Zurück",
113 "menu.help.tos" : "Nutzungsbedingungen", 113 "menu.view.enterFullScreen": "Vollbildmodus",
114 "menu.services" : "Dienste", 114 "menu.view.exitFullScreen": "Vollbildmodus aus",
115 "menu.services.activatePreviousService" : "Vorheriger Dienst", 115 "menu.view.forward": "Vorwärts",
116 "menu.services.addNewService" : "Dienst hinzufügen", 116 "menu.view.lockFerdi": "Ferdi sperren",
117 "menu.services.goHome" : "Home", 117 "menu.view.openQuickSwitch": "Quick Switch öffnen",
118 "menu.services.setNextServiceActive" : "Nächster Dienst", 118 "menu.view.reloadFranz": "Ferdi neu laden",
119 "menu.todos" : "ToDos", 119 "menu.view.reloadService": "Dienst neu laden",
120 "menu.todos.enableTodos" : "Todos aktivieren", 120 "menu.view.resetZoom": "Originalgröße",
121 "menu.view" : "Darstellung", 121 "menu.view.toggleDevTools": "Entwicklertools anzeigen",
122 "menu.view.enterFullScreen" : "Vollbildmodus", 122 "menu.view.toggleFullScreen": "Vollbildmodus umschalten",
123 "menu.view.exitFullScreen" : "Vollbildmodus aus", 123 "menu.view.toggleServiceDevTools": "Entwicklertools für Dienst anzeigen",
124 "menu.view.reloadFranz" : "Franz neu laden", 124 "menu.view.toggleTodosDevTools": "Todos Developer Tools umschalten",
125 "menu.view.reloadService" : "Dienst neu laden", 125 "menu.view.zoomIn": "Vergrößern",
126 "menu.view.resetZoom" : "Originalgröße", 126 "menu.view.zoomOut": "Verkleinern",
127 "menu.view.toggleDevTools" : "Entwicklertools anzeigen", 127 "menu.window": "Fenster",
128 "menu.view.toggleFullScreen" : "Vollbildmodus umschalten", 128 "menu.window.close": "Schließen",
129 "menu.view.toggleServiceDevTools" : "Entwicklertools für Dienst anzeigen", 129 "menu.window.minimize": "Minimieren",
130 "menu.view.toggleTodosDevTools" : "ToDos Developer Tools umschalten", 130 "menu.workspaces": "Arbeitsbereiche",
131 "menu.view.zoomIn" : "Vergrößern", 131 "menu.workspaces.addNewWorkspace": "Neuen Workspace hinzufügen...",
132 "menu.view.zoomOut" : "Verkleinern", 132 "menu.workspaces.closeWorkspaceDrawer": "Workspaces öffnen",
133 "menu.window" : "Fenster", 133 "menu.workspaces.defaultWorkspace": "Alle Dienste",
134 "menu.window.close" : "Schließen", 134 "menu.workspaces.openWorkspaceDrawer": "Workspaces schließen",
135 "menu.window.minimize" : "Minimieren", 135 "password.email.label": "E-Mail-Adresse",
136 "menu.workspaces" : "Workspaces", 136 "password.headline": "Passwort zurücksetzen",
137 "menu.workspaces.addNewWorkspace" : "Neuen Workspace hinzufügen", 137 "password.link.login": "Mit deinem Konto anmelden",
138 "menu.workspaces.closeWorkspaceDrawer" : "Workspaces öffnen", 138 "password.link.signup": "Kostenloses Konto erstellen",
139 "menu.workspaces.defaultWorkspace" : "Alle Dienste", 139 "password.noUser": "Es wurde kein Benutzer mit dieser E-Mail-Adresse gefunden",
140 "menu.workspaces.openWorkspaceDrawer" : "Workspaces schließen", 140 "password.submit.label": "Absenden",
141 "password.email.label" : "E-Mail-Adresse", 141 "password.successInfo": "Wir haben Dir eine E-Mail mit weiteren Anweisungen geschickt",
142 "password.headline" : "Passwort zurücksetzen", 142 "premiumFeature.button.upgradeAccount": "Account erweitern",
143 "password.link.login" : "Mit deinem Konto anmelden", 143 "pricing.features.adFree": "Keine Werbung",
144 "password.link.signup" : "Kostenloses Konto erstellen", 144 "pricing.features.appDelays": "Keine unnötigen Unterbrechungen",
145 "password.noUser" : "Es wurde kein Benutzer mit dieser E-Mail-Adresse gefunden.", 145 "pricing.features.customWebsites": "Hinzufügen von eigenen Websites",
146 "password.submit.label" : "Absenden", 146 "pricing.features.onPremise": "On-premise & andere Hosted Services",
147 "password.successInfo" : "Wir haben Dir eine E-Mail mit weiteren Anweisungen geschickt.", 147 "pricing.features.serviceProxies": "Service-Proxies",
148 "premiumFeature.button.upgradeAccount" : "Account upgraden", 148 "pricing.features.spellchecker": "Rechtschreibprüfung",
149 "pricing.features.accountSync" : "Account Synchronisierung", 149 "pricing.features.teamManagement": "Team-Management",
150 "pricing.features.adFree" : "Keine Werbung", 150 "pricing.features.thirdPartyServices": "Integration von Services über Drittanbieter",
151 "pricing.features.appDelays" : "Keine unnötigen Unterbrechungen", 151 "pricing.features.unlimitedServices": "Unbegrenztes hinzufügen von Services",
152 "pricing.features.customWebsites" : "Hinzufügen von eigenen Websites", 152 "pricing.features.workspaces": "Arbeitsbereiche",
153 "pricing.features.desktopNotifications" : "Desktop Benachrichtigungen", 153 "pricing.plan.free": "Ferdi kostenlos",
154 "pricing.features.onPremise" : "On-premise & andere Hosted Services", 154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.features.recipes" : "Wähle aus über 70 Services", 155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.features.serviceProxies" : "Service Proxies", 156 "pricing.plan.personal-monthly": "Ferdi Personal monatlich",
157 "pricing.features.spellchecker" : "Rechtschreibprüfung", 157 "pricing.plan.personal-yearly": "Ferdi Personal jährlich",
158 "pricing.features.teamManagement" : "Team Management", 158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.features.thirdPartyServices" : "Integration von Services über Drittanbieter", 159 "pricing.plan.pro-monthly": "Ferdi Professional monatlich",
160 "pricing.features.unlimitedServices" : "Unbegrenztes hinzufügen von Services", 160 "pricing.plan.pro-yearly": "Ferdi Professional jährlich",
161 "pricing.features.upToSixServices" : "Füge bis zu 6 Services hinzu", 161 "pricing.trial.cta.accept": "Ja, Upgrade zu Ferdi Professional durchführen",
162 "pricing.features.upToThreeServices" : "Füge bis zu 3 Services hinzu", 162 "pricing.trial.cta.skip": "Weiter zu Ferdi",
163 "pricing.features.workspaces" : "Workspaces", 163 "pricing.trial.error": "Tut uns leid, wir konnten deine kostenlose Testlizenz nicht aktivieren!",
164 "pricing.plan.free" : "Free", 164 "pricing.trial.features.headline": "Ferdi Professional beinhaltet:",
165 "pricing.plan.legacy" : "Premium", 165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.plan.personal" : "Personal", 166 "pricing.trial.subheadline": "Dein persönliches Willkommensangebot:",
167 "pricing.plan.personal-monthly" : "Personal monatlich", 167 "pricing.trial.terms.automaticTrialEnd": "Deine kostenlose Testlizenz endet automatisch nach 14 Tagen",
168 "pricing.plan.personal-yearly" : "Personal jährlich", 168 "pricing.trial.terms.headline": "Ohne Bindung, ohne Haken",
169 "pricing.plan.pro" : "Professional", 169 "pricing.trial.terms.noCreditCard": "Keine Kreditkarte notwendig",
170 "pricing.plan.pro-monthly" : "Professional monatlich", 170 "service.crashHandler.action": "{name} neu laden",
171 "pricing.plan.pro-yearly" : "Professional jährlich", 171 "service.crashHandler.autoReload": "{name} wird in {seconds} Sekunden automatisch wiederhergestellt",
172 "pricing.trial.cta.accept" : "Starte meine 14-tägige Franz Professional Testlizenz", 172 "service.crashHandler.headline": "Oh nein!",
173 "pricing.trial.cta.skip" : "Weiter zu Franz!", 173 "service.crashHandler.text": "{name} hat einen Fehler verursacht.",
174 "pricing.trial.cta.start" : "Los geht's mit Franz!", 174 "service.disabledHandler.action": "{name} aktivieren",
175 "pricing.trial.error" : "Tut uns leid, wir konnten deine kostenlose Testlizenz nicht aktivieren.", 175 "service.disabledHandler.headline": "{name} ist deaktiviert",
176 "pricing.trial.features.headline" : "Franz Professional beinhaltet:", 176 "service.errorHandler.action": "{name} neu laden",
177 "pricing.trial.headline.pro" : "Hi {name}, willkommen bei Franz", 177 "service.errorHandler.editAction": "{name} bearbeiten",
178 "pricing.trial.intro.happyMessaging" : "Viel Spaß,", 178 "service.errorHandler.headline": "Oh nein!",
179 "pricing.trial.intro.specialTreat" : "Wir haben ein besonderes Geschenk für dich.", 179 "service.errorHandler.message": "Fehler",
180 "pricing.trial.intro.tryPro" : "Hol dir Franz Professional kostenlos für 14 Tage.", 180 "service.errorHandler.text": "{name} konnte nicht geladen werden.",
181 "pricing.trial.terms.automaticTrialEnd" : "Deine kostenlose Testlizenz endet automatisch nach 14 Tagen", 181 "service.restrictedHandler.action": "Account Upgrade",
182 "pricing.trial.terms.headline" : "Ohne Bindung, ohne Haken", 182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional benötigt",
183 "pricing.trial.terms.noCreditCard" : "Keine Kreditkarte notwendig", 183 "service.restrictedHandler.customUrl.text": "Bitte ein Upgrade zu Ferdi Professional durchführen um benutzerdefinierte URLs und Self Hosted Services verwenden zu können.",
184 "pricing.trial.terms.trialWorth" : "Kostenlose Testlizenz (sonst {currency}{price} im Monat)", 184 "service.restrictedHandler.serviceLimit.headline": "Du hast deine maximale Anzahl an Services erreicht.",
185 "service.crashHandler.action" : "{name} neu laden", 185 "service.restrictedHandler.serviceLimit.text": "Bitte führe eine Upgrade deines Accounts durch um mehr als {count} Services verwenden zu können.",
186 "service.crashHandler.autoReload" : "{name} wird in {seconds} Sekunden automatisch wiederhergestellt", 186 "service.webviewLoader.loading": "Lade",
187 "service.crashHandler.headline" : "Oh nein!", 187 "services.getStarted": "Los geht's!",
188 "service.crashHandler.text" : "{name} hat einen Fehler verursacht.", 188 "services.login": "Bitte melde dich an, um Ferdi zu benutzen.",
189 "service.disabledHandler.action" : "{name} aktivieren", 189 "services.serverInfo": "Optional können Sie Ihren Ferdi-Server durch Klicken auf das Zahnrad unten-links ändern.",
190 "service.disabledHandler.headline" : "{name} ist deaktiviert", 190 "services.serverless": "Ferdi ohne einen Account verwenden",
191 "service.errorHandler.action" : "{name} neu laden", 191 "services.welcome": "Willkommen bei Ferdi!",
192 "service.errorHandler.editAction" : "{name} bearbeiten", 192 "settings.account.account.editButton": "Konto bearbeiten",
193 "service.errorHandler.headline" : "Oh nein!", 193 "settings.account.accountType.basic": "Basis-Konto",
194 "service.errorHandler.message" : "Fehler", 194 "settings.account.accountType.premium": "Premium Lizenz",
195 "service.errorHandler.text" : "{name} konnte nicht geladen werden.", 195 "settings.account.buttonSave": "Profil aktualisieren",
196 "service.restrictedHandler.action" : "Account Upgrade", 196 "settings.account.deleteAccount": "Benutzerkonto löschen",
197 "service.restrictedHandler.customUrl.headline" : "Franz Professional benötigt", 197 "settings.account.deleteEmailSent": "Du hast eine E-Mail zur Bestätigung der Löschung Deines Benutzerkontos erhalten. Dein Benutzerkonto und Deine Daten können nach der Löschung nicht wiederhergestellt werden!",
198 "service.restrictedHandler.customUrl.text" : "Bitte ein Upgrade zu Franz Professional durchführen um benutzerdefinierte URLs und Self Hosted Services verwenden zu können.", 198 "settings.account.deleteInfo": "Wenn du dein Ferdi-Benutzerkonto nicht mehr länger benötigst, kannst du es hier mit allen dazugehörigen Daten löschen.",
199 "service.restrictedHandler.serviceLimit.headline" : "Du hast deine maximale Anzahl an Services erreicht.", 199 "settings.account.headline": "Konto",
200 "service.restrictedHandler.serviceLimit.text" : "Bitte führe eine Upgrade deines Accounts durch um mehr als {count} Services verwenden zu können.", 200 "settings.account.headlineAccount": "Konto-Informationen",
201 "service.webviewLoader.loading" : "Lade", 201 "settings.account.headlineDangerZone": "Benutzerkonto löschen",
202 "services.getStarted" : "Los geht's!", 202 "settings.account.headlineInvoices": "Rechnungen",
203 "services.welcome" : "Willkommen bei Franz!", 203 "settings.account.headlinePassword": "Passwort ändern",
204 "settings.account.account.editButton" : "Konto bearbeiten", 204 "settings.account.headlineProfile": "Profil aktualisieren",
205 "settings.account.accountType.basic" : "Basis-Konto", 205 "settings.account.headlineSubscription": "Dein Abonnement",
206 "settings.account.accountType.premium" : "Premium Lizenz", 206 "settings.account.headlineTrialUpgrade": "Hol dir die kostenlose 14-tägige Ferdi Professional Testlizenz!",
207 "settings.account.buttonSave" : "Profil aktualisieren", 207 "settings.account.headlineUpgradeAccount": "Hol dir ein Upgrade deines Accounts und bekomme alle Features von Ferdi!",
208 "settings.account.deleteAccount" : "Benutzerkonto löschen", 208 "settings.account.invoiceDownload": "Herunterladen",
209 "settings.account.deleteEmailSent" : "Du hast eine E-Mail zur Bestätigung der Löschung Deines Benutzerkontos erhalten. Dein Benutzerkonto und Deine Daten können nach der Löschung nicht wiederhergestellt werden!", 209 "settings.account.manageSubscription.label": "Dein Abonnement verwalten",
210 "settings.account.deleteInfo" : "Wenn du dein Franz-Benutzerkonto nicht mehr länger benötigst, kannst du es hier mit allen dazugehörigen Daten löschen.", 210 "settings.account.successInfo": "Deine Änderungen wurden gespeichert",
211 "settings.account.headline" : "Konto", 211 "settings.account.trial": "Kostenlose Testlizenz",
212 "settings.account.headlineAccount" : "Konto-Informationen", 212 "settings.account.trialEndsIn": "Deine kostenlose Testlizenz endet in {duration}.",
213 "settings.account.headlineDangerZone" : "Benutzerkonto löschen", 213 "settings.account.trialUpdateBillingInfo": "Bitte aktualisiere deine Zahlungsinformation damit du {license} nach der kostenlosen Testphase weiter nutzen kannst.",
214 "settings.account.headlineInvoices" : "Rechnungen", 214 "settings.account.tryReloadServices": "Erneut versuchen",
215 "settings.account.headlinePassword" : "Passwort ändern", 215 "settings.account.tryReloadUserInfoRequest": "Erneut versuchen",
216 "settings.account.headlineProfile" : "Profil aktualisieren", 216 "settings.account.upgradeToPro.label": "Upgrade zu Ferdi Professional",
217 "settings.account.headlineSubscription" : "Dein Abonnement", 217 "settings.account.userInfoRequestFailed": "Benutzerinformationen konnten nicht geladen werden",
218 "settings.account.headlineTrialUpgrade" : "Hol dir die kostenlose 14-tägige Franz Professional Testlizenz!", 218 "settings.account.yourLicense": "Deine Ferdi Lizenz",
219 "settings.account.headlineUpgradeAccount" : "Hol dir ein Upgrade deines Accounts und bekomme alle Features von Franz!", 219 "settings.app.accentColorInfo": "Schreibe deine Akzentfarbe in einem CSS-kompatiblen Format. (Standard: #7367f0)",
220 "settings.account.invoiceDownload" : "Herunterladen", 220 "settings.app.buttonClearAllCache": "Cache leeren",
221 "settings.account.manageSubscription.label" : "Dein Abonnement verwalten", 221 "settings.app.buttonInstallUpdate": "Neu starten & Update installieren",
222 "settings.account.successInfo" : "Deine Änderungen wurden gespeichert", 222 "settings.app.buttonSearchForUpdate": "Nach Updates suchen",
223 "settings.account.trial" : "Kostenlose Testlizenz", 223 "settings.app.cacheInfo": "Der Ferdi Cache belegt derzeit {size}.",
224 "settings.account.trialEndsIn" : "Deine kostenlose Testlizenz endet in {duration}.", 224 "settings.app.currentVersion": "Aktuelle Version:",
225 "settings.account.trialUpdateBillingInfo" : "Bitte aktualisiere deine Zahlungsinformation damit du {license} nach der kostenlosen Testphase weiter nutzen kannst.", 225 "settings.app.form.accentColor": "Akzentfarbe",
226 "settings.account.tryReloadServices" : "Erneut versuchen", 226 "settings.app.form.autoLaunchInBackground": "Im Hintergrund öffnen",
227 "settings.account.tryReloadUserInfoRequest" : "Erneut versuchen", 227 "settings.app.form.autoLaunchOnStart": "Ferdi beim Systemstart ausführen",
228 "settings.account.upgradeToPro.label" : "Upgrade zu Franz Professional", 228 "settings.app.form.beta": "Beta-Versionen einbeziehen",
229 "settings.account.userInfoRequestFailed" : "Benutzerinformationen konnten nicht geladen werden", 229 "settings.app.form.darkMode": "Die dunkle Seite erwartet dich! (Dark Mode)",
230 "settings.account.yourLicense" : "Deine Franz Lizenz", 230 "settings.app.form.enableGPUAcceleration": "Hardwarebeschleunigung aktivieren",
231 "settings.app.buttonClearAllCache" : "Cache leeren", 231 "settings.app.form.enableLock": "Passwort Sperre aktivieren",
232 "settings.app.buttonInstallUpdate" : "Neu starten & Update installieren", 232 "settings.app.form.enableSpellchecking": "Rechtschreibprüfung aktivieren",
233 "settings.app.buttonSearchForUpdate" : "Nach Updates suchen", 233 "settings.app.form.enableSystemTray": "Ferdi im Infobereich anzeigen",
234 "settings.app.cacheInfo" : "Der Franz Cache belegt derzeit {size}.", 234 "settings.app.form.enableTodos": "Ferdi Todos aktivieren",
235 "settings.app.currentVersion" : "Aktuelle Version:", 235 "settings.app.form.hibernate": "\"Service Hibernation\" aktivieren",
236 "settings.app.form.autoLaunchInBackground" : "Im Hintergrund öffnen", 236 "settings.app.form.hibernationStrategy": "\"Service Hibernation\" Zeit",
237 "settings.app.form.autoLaunchOnStart" : "Franz beim Systemstart ausführen", 237 "settings.app.form.keepAllWorkspacesLoaded": "Alle Arbeitsbereiche geladen lassen",
238 "settings.app.form.beta" : "Beta-Versionen einbeziehen", 238 "settings.app.form.language": "Sprache",
239 "settings.app.form.darkMode" : "Die dunkle Seite erwartet dich! (Dark Mode)", 239 "settings.app.form.lockPassword": "Passwort für die Passwort-Sperre",
240 "settings.app.form.enableGPUAcceleration" : "Hardwarebeschleunigung aktivieren", 240 "settings.app.form.minimizeToSystemTray": "Ferdi in den Infobereich minimieren",
241 "settings.app.form.enableSpellchecking" : "Rechtschreibprüfung aktivieren", 241 "settings.app.form.noUpdates": "Updates deaktivieren",
242 "settings.app.form.enableSystemTray" : "Franz im Infobereich anzeigen", 242 "settings.app.form.privateNotifications": "Nachrichteninhalt nicht in Benachrichtigungen anzeigen",
243 "settings.app.form.enableTodos" : "Franz Todos aktivieren", 243 "settings.app.form.runInBackground": "Ferdi im Hintergrund behalten, wenn das Fenster geschlossen wird",
244 "settings.app.form.keepAllWorkspacesLoaded" : "Alle Dienste in den Workspaces aktiv lassen", 244 "settings.app.form.scheduledDNDEnabled": "Geplante \"Nicht-stören\"-Funktion aktivieren",
245 "settings.app.form.language" : "Sprache", 245 "settings.app.form.scheduledDNDEnd": "Von",
246 "settings.app.form.minimizeToSystemTray" : "Franz in den Infobereich minimieren", 246 "settings.app.form.scheduledDNDStart": "Bis",
247 "settings.app.form.runInBackground" : "Franz im Hintergrund behalten, wenn das Fenster geschlossen wird", 247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices" : "Deaktivierte Services-Tabs anzeigen", 248 "settings.app.form.showDisabledServices": "Deaktivierte Services-Tabs anzeigen",
249 "settings.app.form.showMessagesBadgesWhenMuted" : "Ungelesene Nachrichten zeigen, wenn die Benachrichtigungen deaktiviert sind", 249 "settings.app.form.showMessagesBadgesWhenMuted": "Ungelesene Nachrichten zeigen, wenn die Benachrichtigungen deaktiviert sind",
250 "settings.app.headline" : "Einstellungen", 250 "settings.app.form.showServiceNavigationBar": "Navigationsleiste immer anzeigen",
251 "settings.app.headlineAdvanced" : "Erweitert", 251 "settings.app.form.todoServer": "Todo-Server",
252 "settings.app.headlineAppearance" : "Darstellung", 252 "settings.app.form.universalDarkMode": "Universellen Dark Mode aktivieren",
253 "settings.app.headlineGeneral" : "Allgemeines", 253 "settings.app.headline": "Einstellungen",
254 "settings.app.headlineLanguage" : "Sprache", 254 "settings.app.headlineAdvanced": "Erweitert",
255 "settings.app.headlineUpdates" : "Updates", 255 "settings.app.headlineAppearance": "Darstellung",
256 "settings.app.languageDisclaimer" : "Offizielle Übersetzungen: Englisch & Deutsch. Alle anderen Sprachen sind Übersetzungen der Franz Community.", 256 "settings.app.headlineGeneral": "Allgemeines",
257 "settings.app.restartRequired" : "Änderungen werden erst nach einem Neustart wirksam.", 257 "settings.app.headlineLanguage": "Sprache",
258 "settings.app.subheadlineCache" : "Cache", 258 "settings.app.headlineUpdates": "Updates",
259 "settings.app.translationHelp" : "Hilf uns, Franz in Deine Sprache zu übersetzen.", 259 "settings.app.hibernateInfo": "Standardmäßig öffnet Ferdi alle Ihre Dienste im Hintergrund, so dass diese bereit sind, wenn du sie verwenden möchtest. Service Hibernation wird Ihre Dienste nach einer bestimmten Zeitspanne schließen. Dies ist nützlich, um RAM zu speichern oder Dienste davon abzuhalten, deinen Computer zu verlangsamen.",
260 "settings.app.updateStatusAvailable" : "Update verfügbar, lädt herunter ...", 260 "settings.app.languageDisclaimer": "Offizielle Übersetzungen: Englisch & Deutsch. Alle anderen Sprachen sind Übersetzungen der Ferdi Community.",
261 "settings.app.updateStatusSearching" : "Suche nach Updates", 261 "settings.app.lockInfo": "Die Ferdi Passwort-Sperre erlaubt es dir, deine Nachrichten zu schützen.\nMit der Ferdi Passwort-Sperre wirst du beim Starten den Programms und, wenn du das Programm manuell sperrst, darum gebeten, dein Passwort einzugeben.\nDu kannst Ferdi über das Sperrsymbol in der unteren linken Ecke oder dem Shortcut CMD/CTRL+Shift+L sperren.",
262 "settings.app.updateStatusUpToDate" : "Du nutzt die aktuellste Version von Franz", 262 "settings.app.lockedPassword": "Passwort für die Passwort-Sperre",
263 "settings.invite.headline" : "Lade drei Deiner Freunde ein", 263 "settings.app.lockedPasswordInfo": "Bitte stelle sicher, dass du ein Passwort setzt, an welches du dich erinnern kannst.\nSolltest du dieses Passwort vergessen, musst du Ferdi neu installieren.",
264 "settings.navigation.account" : "Konto", 264 "settings.app.restartRequired": "Änderungen werden erst nach einem Neustart wirksam.",
265 "settings.navigation.availableServices" : "Verfügbare Dienste", 265 "settings.app.scheduledDNDInfo": "Die geplante \"Nicht-stören\"-Funktion erlaubt es dir eine Zeitspanne festzulegen, in der du keine Benachrichtigungen von Ferdi erhalten möchtest.",
266 "settings.navigation.inviteFriends" : "Freunde einladen", 266 "settings.app.scheduledDNDTimeInfo": "Zeiten im 24-Stunden-Format (z.B. 18:00). Endzeit kann vor Beginn der Startzeit sein (z.B. 17:00 Uhr, Ende 09:00), um die Funktion über Nacht zu aktivieren.",
267 "settings.navigation.logout" : "Abmelden", 267 "settings.app.serverInfo": "Wir empfehlen dir, dich nach dem Ändern des Servers abzumelden, da Ihre Einstellungen möglicherweise sonst nicht auf dem Server gespeichert werden können.",
268 "settings.navigation.settings" : "Einstellungen", 268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.navigation.team" : "Team verwalten", 269 "settings.app.subheadlineCache": "Cache",
270 "settings.navigation.yourServices" : "Deine Dienste", 270 "settings.app.todoServerInfo": "Dieser Server wird für die Funktion \"Ferdi Todo\" verwendet. (Standard: https://app.franztodos.com)",
271 "settings.navigation.yourWorkspaces" : "Deine Workspaces", 271 "settings.app.translationHelp": "Hilf uns, Ferdi in Deine Sprache zu übersetzen.",
272 "settings.recipes.all" : "Alle Dienste", 272 "settings.app.universalDarkModeInfo": "Universeller Dark Mode versucht dynamisch Dienste abzudunkeln, die vom normalen Dark Mode noch nicht unterstützt werden.",
273 "settings.recipes.custom" : "Eigene Services", 273 "settings.app.updateStatusAvailable": "Update verfügbar, lädt herunter ...",
274 "settings.recipes.customService.headline.communityRecipes" : "Community Recipes", 274 "settings.app.updateStatusSearching": "Suche nach Updates",
275 "settings.recipes.customService.headline.customRecipes" : "Benutzerdefinierte Recipes", 275 "settings.app.updateStatusUpToDate": "Du nutzt die aktuellste Version von Ferdi",
276 "settings.recipes.customService.headline.devRecipes" : "Eigene Recipes", 276 "settings.invite.headline": "Lade drei Deiner Freunde ein",
277 "settings.recipes.customService.intro" : "Um ein benutzerdefiniertes Service hinzuzufügen, kopiere das Service Recipe nach:", 277 "settings.navigation.account": "Konto",
278 "settings.recipes.customService.openDevDocs" : "Entwicklerdokumentation", 278 "settings.navigation.availableServices": "Verfügbare Dienste",
279 "settings.recipes.customService.openFolder" : "Ordner öffnen", 279 "settings.navigation.logout": "Abmelden",
280 "settings.recipes.headline" : "Verfügbare Dienste", 280 "settings.navigation.settings": "Einstellungen",
281 "settings.recipes.missingService" : "Fehlt ein Dienst?", 281 "settings.navigation.supportFerdi": "Unterstütze Ferdi",
282 "settings.recipes.mostPopular" : "Am beliebtesten", 282 "settings.navigation.team": "Team verwalten",
283 "settings.recipes.nothingFound" : "Entschuldigung, der gesuchte Dienst konnte nicht gefunden werden.", 283 "settings.navigation.yourServices": "Deine Dienste",
284 "settings.recipes.servicesSuccessfulAddedInfo" : "Dienst erfolgreich hinzugefügt", 284 "settings.navigation.yourWorkspaces": "Deine Workspaces",
285 "settings.searchService" : "Dienst suchen", 285 "settings.recipes.all": "Alle Dienste",
286 "settings.service.error.goBack" : "Zurück zu den Diensten", 286 "settings.recipes.custom": "Eigene Services",
287 "settings.service.error.headline" : "Fehler", 287 "settings.recipes.customService.headline.communityRecipes": "Community Recipes",
288 "settings.service.error.message" : "Das Dienst-Rezept konnte nicht geladen werden.", 288 "settings.recipes.customService.headline.customRecipes": "Benutzerdefinierte Recipes",
289 "settings.service.form.addServiceHeadline" : "{name} hinzufügen", 289 "settings.recipes.customService.headline.devRecipes": "Eigene Recipes",
290 "settings.service.form.availableServices" : "Verfügbare Dienste", 290 "settings.recipes.customService.intro": "Um ein benutzerdefiniertes Service hinzuzufügen, kopiere das Service Recipe nach:",
291 "settings.service.form.customUrl" : "Eigener Server", 291 "settings.recipes.customService.openDevDocs": "Entwicklerdokumentation",
292 "settings.service.form.customUrlPremiumInfo" : "Um einen selbst gehosteten Dienst hinzuzufügen, brauchst Du ein Franz Premium Konto.", 292 "settings.recipes.customService.openFolder": "Ordner öffnen",
293 "settings.service.form.customUrlUpgradeAccount" : "Dein Konto upgraden", 293 "settings.recipes.headline": "Verfügbare Dienste",
294 "settings.service.form.customUrlValidationError" : "Dein {name}-Server konnte nicht verifiziert werden.", 294 "settings.recipes.missingService": "Fehlt ein Dienst?",
295 "settings.service.form.deleteButton" : "Dienst löschen", 295 "settings.recipes.mostPopular": "Am beliebtesten",
296 "settings.service.form.editServiceHeadline" : "{name} bearbeiten", 296 "settings.recipes.nothingFound": "Entschuldigung, der gesuchte Dienst konnte nicht gefunden werden.",
297 "settings.service.form.enableAudio" : "Audio aktivieren", 297 "settings.recipes.servicesSuccessfulAddedInfo": "Dienst erfolgreich hinzugefügt",
298 "settings.service.form.enableBadge" : "Nachrichten-Badge anzeigen", 298 "settings.searchService": "Dienst suchen",
299 "settings.service.form.enableDarkMode" : "Dark Mode aktivieren", 299 "settings.service.error.goBack": "Zurück zu den Diensten",
300 "settings.service.form.enableNotification" : "Benachrichtigungen aktivieren", 300 "settings.service.error.headline": "Fehler",
301 "settings.service.form.enableService" : "Dienst aktivieren", 301 "settings.service.error.message": "Das Dienst-Rezept konnte nicht geladen werden.",
302 "settings.service.form.headlineBadges" : "Nachrichten-Badge", 302 "settings.service.form.addServiceHeadline": "{name} hinzufügen",
303 "settings.service.form.headlineGeneral" : "Allgemeines", 303 "settings.service.form.availableServices": "Verfügbare Dienste",
304 "settings.service.form.headlineNotifications" : "Benachrichtigungen", 304 "settings.service.form.customUrl": "Eigener Server",
305 "settings.service.form.icon" : "Icon", 305 "settings.service.form.customUrlPremiumInfo": "Um einen selbst gehosteten Dienst hinzuzufügen, brauchst Du ein Ferdi Premium Konto.",
306 "settings.service.form.iconDelete" : "Löschen", 306 "settings.service.form.customUrlUpgradeAccount": "Dein Konto upgraden",
307 "settings.service.form.iconUpload" : "Klicken oder Bild hierher ziehen", 307 "settings.service.form.customUrlValidationError": "Dein {name}-Server konnte nicht verifiziert werden.",
308 "settings.service.form.indirectMessageInfo" : "Du wirst über alle neuen Nachrichten in einem Kanal informiert, nicht nur @username, @channel, @here, ...", 308 "settings.service.form.deleteButton": "Dienst löschen",
309 "settings.service.form.indirectMessages" : "Nachrichten-Badge für alle neuen Nachrichten anzeigen", 309 "settings.service.form.editServiceHeadline": "{name} bearbeiten",
310 "settings.service.form.isMutedInfo" : "Sämtliche Wiedergabe von Tönen wird deaktiviert", 310 "settings.service.form.enableAudio": "Audio aktivieren",
311 "settings.service.form.name" : "Name", 311 "settings.service.form.enableBadge": "Nachrichten-Badge anzeigen",
312 "settings.service.form.proxy.headline" : "HTTP-\/HTTPS-Proxy-Einstellungen", 312 "settings.service.form.enableDarkMode": "Dark Mode aktivieren",
313 "settings.service.form.proxy.host" : "Proxy Host\/IP", 313 "settings.service.form.enableNotification": "Benachrichtigungen aktivieren",
314 "settings.service.form.proxy.info" : "Proxy-Einstellungen werden nicht mit den Franz Servern synchronisiert.", 314 "settings.service.form.enableService": "Dienst aktivieren",
315 "settings.service.form.proxy.isEnabled" : "Proxy-Server verwenden", 315 "settings.service.form.headlineBadges": "Nachrichten-Badge",
316 "settings.service.form.proxy.password" : "Passwort (optional)", 316 "settings.service.form.headlineGeneral": "Allgemeines",
317 "settings.service.form.proxy.port" : "Port", 317 "settings.service.form.headlineNotifications": "Benachrichtigungen",
318 "settings.service.form.proxy.restartInfo" : "Bitte starte Franz nach dem Ändern der Proxy-Einstellungen neu.", 318 "settings.service.form.icon": "Icon",
319 "settings.service.form.proxy.user" : "Benutzer (optional)", 319 "settings.service.form.iconDelete": "Löschen",
320 "settings.service.form.saveButton" : "Dienst speichern", 320 "settings.service.form.iconUpload": "Klicken oder Bild hierher ziehen",
321 "settings.service.form.tabHosted" : "Gehostet", 321 "settings.service.form.indirectMessageInfo": "Du wirst über alle neuen Nachrichten in einem Kanal informiert, nicht nur @username, @channel, @here, ...",
322 "settings.service.form.tabOnPremise" : "Selbst gehostet ⭐️", 322 "settings.service.form.indirectMessages": "Nachrichten-Badge für alle neuen Nachrichten anzeigen",
323 "settings.service.form.team" : "Team", 323 "settings.service.form.isMutedInfo": "Sämtliche Wiedergabe von Tönen wird deaktiviert",
324 "settings.service.form.useHostedService" : "Hosted {name} verwenden.", 324 "settings.service.form.name": "Name",
325 "settings.service.form.yourServices" : "Deine Dienste", 325 "settings.service.form.openDarkmodeCss": "Öffne darkmode.css",
326 "settings.services.deletedInfo" : "Dienst wurde gelöscht", 326 "settings.service.form.proxy.headline": "HTTP-/HTTPS-Proxy-Einstellungen",
327 "settings.services.discoverServices" : "Dienste entdecken", 327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.services.headline" : "Deine Dienste", 328 "settings.service.form.proxy.info": "Proxy-Einstellungen werden nicht mit den Ferdi Servern synchronisiert.",
329 "settings.services.noServicesAdded" : "Du hast noch keine Dienste hinzugefügt.", 329 "settings.service.form.proxy.isEnabled": "Proxy-Server verwenden",
330 "settings.services.servicesRequestFailed" : "Dienste konnten nicht geladen werden", 330 "settings.service.form.proxy.password": "Passwort (optional)",
331 "settings.services.tooltip.isDisabled" : "Dienst ist deaktiviert", 331 "settings.service.form.proxy.port": "Port",
332 "settings.services.tooltip.isMuted" : "Alle Töne sind deaktiviert", 332 "settings.service.form.proxy.restartInfo": "Bitte starte Ferdi nach dem Ändern der Proxy-Einstellungen neu.",
333 "settings.services.tooltip.notificationsDisabled" : "Benachrichtigungen deaktiviert", 333 "settings.service.form.proxy.user": "Benutzer (optional)",
334 "settings.services.updatedInfo" : "Deine Änderungen wurden gespeichert", 334 "settings.service.form.saveButton": "Dienst speichern",
335 "settings.team.contentHeadline" : "Franz für Teams", 335 "settings.service.form.tabHosted": "Gehostet",
336 "settings.team.copy" : "Mit Franz für Teams kannst du Kolleginnen und Kollegen per Email-Invite in dein Team einladen und ihre Abonnments in den Einstellungen deines Accounts verwalten. Verschwende keine Zeit mehr damit, Lizenzen für jedes Teammitglied einzeln einzurichten, vergiss mehrfache Rechnungen und unterschiedliche Abrechnungszeiträume - alles unter einem Dach.", 336 "settings.service.form.tabOnPremise": "Selbst gehostet ⭐️",
337 "settings.team.headline" : "Team", 337 "settings.service.form.team": "Team",
338 "settings.team.intro" : "Mit Franz für Teams kannst du Premium Lizenzen für Kolleginnen und Kollegen oder Freunde und Familienmitglieder kaufen und verwalten - so viele du willst.", 338 "settings.service.form.useHostedService": "Hosted {name} verwenden.",
339 "settings.team.manageAction" : "Verwalte dein Team auf meetfranz.com", 339 "settings.service.form.yourServices": "Deine Dienste",
340 "settings.team.upgradeAction" : "Account Upgrade durchführen", 340 "settings.services.deletedInfo": "Dienst wurde gelöscht",
341 "settings.user.form.accountType.company" : "Firma", 341 "settings.services.discoverServices": "Dienste entdecken",
342 "settings.user.form.accountType.individual" : "Einzelperson", 342 "settings.services.headline": "Deine Dienste",
343 "settings.user.form.accountType.label" : "Konto-Typ", 343 "settings.services.noServicesAdded": "Du hast noch keine Dienste hinzugefügt.",
344 "settings.user.form.accountType.non-profit" : "Non-Profit", 344 "settings.services.servicesRequestFailed": "Dienste konnten nicht geladen werden",
345 "settings.user.form.currentPassword" : "Aktuelles Passwort", 345 "settings.services.tooltip.isDisabled": "Dienst ist deaktiviert",
346 "settings.user.form.email" : "E-Mail", 346 "settings.services.tooltip.isMuted": "Alle Töne sind deaktiviert",
347 "settings.user.form.firstname" : "Vorname", 347 "settings.services.tooltip.notificationsDisabled": "Benachrichtigungen deaktiviert",
348 "settings.user.form.lastname" : "Nachname", 348 "settings.services.updatedInfo": "Deine Änderungen wurden gespeichert",
349 "settings.user.form.newPassword" : "Neues Passwort", 349 "settings.supportFerdi.github": "Auf GitHub mit Stern versehen",
350 "settings.workspace.add.form.name" : "Name", 350 "settings.supportFerdi.headline": "Unterstütze Ferdi",
351 "settings.workspace.add.form.submitButton" : "Workspace erstellen", 351 "settings.supportFerdi.openCollective": "Unterstütze unsere Open Collective Kampagne",
352 "settings.workspace.form.buttonDelete" : "Workspace löschen", 352 "settings.supportFerdi.share": "Sag es deinen Freunden",
353 "settings.workspace.form.buttonSave" : "Workspace speichern", 353 "settings.supportFerdi.title": "Magst du Ferdi? Teile die Liebe!",
354 "settings.workspace.form.name" : "Name", 354 "settings.team.contentHeadline": "Ferdi für Teams",
355 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in diesem Workspace", 355 "settings.team.copy": "Mit Ferdi für Teams kannst du Kolleginnen und Kollegen per Email-Invite in dein Team einladen und ihre Abonnments in den Einstellungen deines Accounts verwalten. Verschwende keine Zeit mehr damit, Lizenzen für jedes Teammitglied einzeln einzurichten, vergiss mehrfache Rechnungen und unterschiedliche Abrechnungszeiträume - alles unter einem Dach.",
356 "settings.workspace.form.yourWorkspaces" : "Deine Workspaces", 356 "settings.team.headline": "Team",
357 "settings.workspaces.deletedInfo" : "Workspace wurde gelöscht", 357 "settings.team.intro": "Mit Ferdi für Teams kannst du Premium Lizenzen für Kolleginnen und Kollegen oder Freunde und Familienmitglieder kaufen und verwalten - so viele du willst.",
358 "settings.workspaces.headline" : "Deine Workspaces", 358 "settings.team.manageAction": "Verwalte dein Team auf getferdi.com",
359 "settings.workspaces.noWorkspacesAdded" : "Du hast noch keine Workspaces hinzugefügt", 359 "settings.team.teamsUnavailable": "Teams sind nicht verfügbar",
360 "settings.workspaces.tryReloadWorkspaces" : "Erneut versuchen", 360 "settings.team.teamsUnavailableInfo": "Teams sind derzeit nur bei der Verwendung des Franz Servers und nach der Zahlung für Franz Professional verfügbar.\nBitte ändern Sie Ihren Server auf https://api.franzinfra.com, um Teams zu verwenden.",
361 "settings.workspaces.updatedInfo" : "Deine Änderungen wurden gespeichert", 361 "settings.team.upgradeAction": "Account Upgrade durchführen",
362 "settings.workspaces.workspaceFeatureHeadline" : "Weniger ist mehr: Franz Workspaces", 362 "settings.user.form.accountType.company": "Firma",
363 "settings.workspaces.workspaceFeatureInfo" : "Mit Franz Workspaces hast du alles im Blick, was gerade wichtig ist - und nur das. Erstelle unterschiedliche Sets von Services, und wechsle jederzeit zwischen ihnen hin und her. Du entscheidest welche Services du wann und wo brauchst, um ungestört arbeiten zu können - oder zu Hause besser abzuschalten.", 363 "settings.user.form.accountType.individual": "Einzelperson",
364 "settings.workspaces.workspacesRequestFailed" : "Workspaces konnte nicht geladen werden", 364 "settings.user.form.accountType.label": "Konto-Typ",
365 "sidebar.addNewService" : "Neuen Dienst hinzufügen", 365 "settings.user.form.accountType.non-profit": "Non-Profit",
366 "sidebar.closeTodosDrawer" : "Franz Todos schließen", 366 "settings.user.form.currentPassword": "Aktuelles Passwort",
367 "sidebar.closeWorkspaceDrawer" : "Workspaces schließen", 367 "settings.user.form.email": "E-Mail",
368 "sidebar.muteApp" : "Benachrichtigungen & Audio deaktivieren", 368 "settings.user.form.firstname": "Vorname",
369 "sidebar.openTodosDrawer" : "Franz Todos öffnen", 369 "settings.user.form.lastname": "Nachname",
370 "sidebar.openWorkspaceDrawer" : "Workspaces öffnen", 370 "settings.user.form.newPassword": "Neues Passwort",
371 "sidebar.settings" : "Einstellungen", 371 "settings.workspace.add.form.name": "Name",
372 "sidebar.unmuteApp" : "Benachrichtigungen & Audio aktivieren", 372 "settings.workspace.add.form.submitButton": "Workspace erstellen",
373 "signup.email.label" : "E-Mail-Adresse", 373 "settings.workspace.form.buttonDelete": "Workspace löschen",
374 "signup.emailDuplicate" : "Es existiert bereits ein Benutzer mit dieser E-Mail Adresse.", 374 "settings.workspace.form.buttonSave": "Workspace speichern",
375 "signup.firstname.label" : "Vorname", 375 "settings.workspace.form.keepLoaded": "Diesen Arbeitsbereich geladen lassen*",
376 "signup.headline" : "Anmelden", 376 "settings.workspace.form.keepLoadedInfo": "*Diese Option wird durch die globale Option \"Alle Arbeitsbereiche geladen lassen\" überschrieben.",
377 "signup.lastname.label" : "Nachname", 377 "settings.workspace.form.name": "Name",
378 "signup.legal.info" : "Mit der Erstellung eines Franz-Kontos akzeptierst Du die", 378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in diesem Workspace",
379 "signup.legal.privacy" : "Datenschutzerklärung", 379 "settings.workspace.form.yourWorkspaces": "Deine Workspaces",
380 "signup.legal.terms" : "Nutzungsbedingungen", 380 "settings.workspaces.deletedInfo": "Workspace wurde gelöscht",
381 "signup.link.login" : "Du hast bereits ein Konto? Melde Dich an.", 381 "settings.workspaces.headline": "Deine Workspaces",
382 "signup.password.label" : "Passwort", 382 "settings.workspaces.noWorkspacesAdded": "Du hast noch keine Workspaces hinzugefügt",
383 "signup.submit.label" : "Konto erstellen", 383 "settings.workspaces.tryReloadWorkspaces": "Erneut versuchen",
384 "subscription.bestValue" : "Bester Preis", 384 "settings.workspaces.updatedInfo": "Deine Änderungen wurden gespeichert",
385 "subscription.cta.activateTrial" : "Ja, kostenlose Franz Professional Testlizenz starten", 385 "settings.workspaces.workspaceFeatureHeadline": "Weniger ist mehr: Ferdi Workspaces",
386 "subscription.cta.allOptions" : "Alle Optionen anzeigen", 386 "settings.workspaces.workspaceFeatureInfo": "Mit Ferdi Workspaces hast du alles im Blick, was gerade wichtig ist - und nur das. Erstelle unterschiedliche Sets von Services, und wechsle jederzeit zwischen ihnen hin und her. Du entscheidest welche Services du wann und wo brauchst, um ungestört arbeiten zu können - oder zu Hause besser abzuschalten.",
387 "subscription.cta.choosePlan" : "Wähle deine Lizenz", 387 "settings.workspaces.workspacesRequestFailed": "Workspaces konnte nicht geladen werden",
388 "subscription.includedProFeatures" : "Die Franz Professional Lizenz beinhaltet:", 388 "sidebar.addNewService": "Neuen Dienst hinzufügen",
389 "subscription.interval.per" : "pro {interval}", 389 "sidebar.closeTodosDrawer": "Ferdi Todos schließen",
390 "subscription.interval.perMonth" : "pro Monat", 390 "sidebar.closeWorkspaceDrawer": "Workspaces öffnen",
391 "subscription.interval.perMonthPerUser" : "pro Monat & User", 391 "sidebar.lockFerdi": "Ferdi sperren",
392 "subscription.planItem.upgradeAccount" : "Account Upgrade", 392 "sidebar.muteApp": "Benachrichtigungen & Audio deaktivieren",
393 "subscription.teaser.includedFeatures" : "Bezahlte Franz Lizenzen beinhalten:", 393 "sidebar.openTodosDrawer": "Ferdi Todos öffnen",
394 "subscription.teaser.intro" : "Franz 5 ist voll gepackt mit vielen neuen Features, damit du für jegliche kommunikative Eventualität gerüstet bist. Nimm dir was du brauchst und leg los!", 394 "sidebar.openWorkspaceDrawer": "Workspaces schließen",
395 "subscriptionPopup.buttonCancel" : "Abbrechen", 395 "sidebar.settings": "Einstellungen",
396 "subscriptionPopup.buttonDone" : "Fertig", 396 "sidebar.unmuteApp": "Benachrichtigungen & Audio aktivieren",
397 "tabs.item.deleteService" : "Dienst löschen", 397 "signup.email.label": "E-Mail-Adresse",
398 "tabs.item.disableAudio" : "Audio deaktivieren", 398 "signup.emailDuplicate": "Es existiert bereits ein Benutzer mit dieser E-Mail Adresse.",
399 "tabs.item.disableNotifications" : "Benachrichtigungen deaktivieren", 399 "signup.firstname.label": "Vorname",
400 "tabs.item.disableService" : "Dienst deaktivieren", 400 "signup.headline": "Anmelden",
401 "tabs.item.edit" : "Bearbeiten", 401 "signup.lastname.label": "Nachname",
402 "tabs.item.enableAudio" : "Audio aktivieren", 402 "signup.legal.info": "Mit der Erstellung eines Ferdi-Kontos akzeptierst Du die",
403 "tabs.item.enableNotification" : "Benachrichtigungen aktivieren", 403 "signup.legal.privacy": "Datenschutzerklärung",
404 "tabs.item.enableService" : "Dienst aktivieren", 404 "signup.legal.terms": "Nutzungsbedingungen",
405 "tabs.item.reload" : "Neu laden", 405 "signup.link.login": "Du hast bereits ein Konto? Melde Dich an.",
406 "validation.email" : "{field} ist ungültig", 406 "signup.password.label": "Passwort",
407 "validation.minLength" : "{field} muss mindestens {length} Zeichen enthalten", 407 "signup.submit.label": "Konto erstellen",
408 "validation.oneRequired" : "Mindestens ein Wert wird benötigt", 408 "subscription.cta.activateTrial": "Ja, kostenlose Ferdi Professional Testlizenz starten",
409 "validation.required" : "{field} wird benötigt", 409 "subscription.cta.allOptions": "Alle Optionen anzeigen",
410 "validation.url" : "{field} ist keine gültige URL", 410 "subscription.cta.choosePlan": "Wähle deine Lizenz",
411 "webControls.back" : "Zurück", 411 "subscription.includedProFeatures": "Die Ferdi Professional Lizenz beinhaltet:",
412 "webControls.forward" : "Weiter", 412 "subscription.teaser.includedFeatures": "Bezahlte Ferdi Lizenzen beinhalten:",
413 "webControls.goHome" : "Home", 413 "subscription.teaser.intro": "Ferdi 5 ist voll gepackt mit vielen neuen Features, damit du für jegliche kommunikative Eventualität gerüstet bist. Nimm dir was du brauchst und leg los!",
414 "webControls.openInBrowser" : "Im Browser öffnen", 414 "subscriptionPopup.buttonCancel": "Abbrechen",
415 "webControls.reload" : "Neu laden", 415 "subscriptionPopup.buttonDone": "Fertig",
416 "welcome.loginButton" : "Bei Franz einloggen", 416 "tabs.item.deleteService": "Dienst löschen",
417 "welcome.signupButton" : "Kostenloses Konto erstellen", 417 "tabs.item.disableAudio": "Audio deaktivieren",
418 "workspaceDrawer.addNewWorkspaceLabel" : "Neuen Workspace hinzufügen", 418 "tabs.item.disableNotifications": "Benachrichtigungen deaktivieren",
419 "workspaceDrawer.allServices" : "Alle Dienste", 419 "tabs.item.disableService": "Dienst deaktivieren",
420 "workspaceDrawer.headline" : "Workspaces", 420 "tabs.item.edit": "Bearbeiten",
421 "workspaceDrawer.item.contextMenuEdit" : "Bearbeiten", 421 "tabs.item.enableAudio": "Audio aktivieren",
422 "workspaceDrawer.item.noServicesAddedYet" : "Noch keine Services hinzugefügt", 422 "tabs.item.enableNotification": "Benachrichtigungen aktivieren",
423 "workspaceDrawer.premiumCtaButtonLabel" : "Erstelle deinen ersten Workspace", 423 "tabs.item.enableService": "Dienst aktivieren",
424 "workspaceDrawer.proFeatureBadge" : "Premium Feature", 424 "tabs.item.reload": "Neu laden",
425 "workspaceDrawer.reactivatePremiumAccountLabel" : "Premium Account aktivieren", 425 "validation.email": "{field} ist ungültig",
426 "workspaceDrawer.workspaceFeatureInfo" : "Mit Franz Workspaces hast du alles im Blick, was gerade wichtig ist - und nur das. Erstelle unterschiedliche Sets von Services, und wechsle jederzeit zwischen ihnen hin und her. Du entscheidest welche Services du wann und wo brauchst, um ungestört arbeiten zu können - oder zu Hause besser abzuschalten.", 426 "validation.minLength": "{field} muss mindestens {length} Zeichen enthalten",
427 "workspaceDrawer.workspacesSettingsTooltip" : "Workspaces bearbeiten", 427 "validation.oneRequired": "Mindestens ein Wert wird benötigt",
428 "workspaces.switchingIndicator.switchingTo" : "Wechsle zu" 428 "validation.required": "{field} wird benötigt",
429 "validation.url": "{field} ist keine gültige URL",
430 "webControls.back": "Zurück",
431 "webControls.forward": "Vorwärts",
432 "webControls.goHome": "Startseite",
433 "webControls.openInBrowser": "Im Browser öffnen",
434 "webControls.reload": "Neu laden",
435 "welcome.loginButton": "Bei Ferdi einloggen",
436 "welcome.signupButton": "Kostenloses Konto erstellen",
437 "workspaceDrawer.addNewWorkspaceLabel": "Neuen Workspace hinzufügen",
438 "workspaceDrawer.allServices": "Alle Dienste",
439 "workspaceDrawer.headline": "Arbeitsbereiche",
440 "workspaceDrawer.item.contextMenuEdit": "Bearbeiten",
441 "workspaceDrawer.item.noServicesAddedYet": "Noch keine Services hinzugefügt",
442 "workspaceDrawer.premiumCtaButtonLabel": "Erstelle deinen ersten Workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium Feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Premium Account aktivieren",
445 "workspaceDrawer.workspaceFeatureInfo": "Mit Ferdi Workspaces hast du alles im Blick, was gerade wichtig ist - und nur das. Erstelle unterschiedliche Sets von Services, und wechsle jederzeit zwischen ihnen hin und her. Du entscheidest welche Services du wann und wo brauchst, um ungestört arbeiten zu können - oder zu Hause besser abzuschalten.",
446 "workspaceDrawer.workspacesSettingsTooltip": "Workspaces bearbeiten",
447 "workspaces.switchingIndicator.switchingTo": "Wechsle zu"
429} 448}
diff --git a/src/i18n/locales/defaultMessages.json b/src/i18n/locales/defaultMessages.json
index 9cfeaed42..b056f0d1b 100644
--- a/src/i18n/locales/defaultMessages.json
+++ b/src/i18n/locales/defaultMessages.json
@@ -2,7 +2,7 @@
2 { 2 {
3 "descriptors": [ 3 "descriptors": [
4 { 4 {
5 "defaultMessage": "!!!A new update for Franz is available.", 5 "defaultMessage": "!!!A new update for Ferdi is available.",
6 "end": { 6 "end": {
7 "column": 3, 7 "column": 3,
8 "line": 12 8 "line": 12
@@ -46,7 +46,7 @@
46 { 46 {
47 "descriptors": [ 47 "descriptors": [
48 { 48 {
49 "defaultMessage": "!!!Import your Franz 4 services", 49 "defaultMessage": "!!!Import your Ferdi 4 services",
50 "end": { 50 "end": {
51 "column": 3, 51 "column": 3,
52 "line": 16 52 "line": 16
@@ -59,7 +59,7 @@
59 } 59 }
60 }, 60 },
61 { 61 {
62 "defaultMessage": "!!!Services not yet supported in Franz 5", 62 "defaultMessage": "!!!Services not yet supported in Ferdi 5",
63 "end": { 63 "end": {
64 "column": 3, 64 "column": 3,
65 "line": 20 65 "line": 20
@@ -199,120 +199,242 @@
199 { 199 {
200 "descriptors": [ 200 "descriptors": [
201 { 201 {
202 "defaultMessage": "!!!Locked",
203 "end": {
204 "column": 3,
205 "line": 18
206 },
207 "file": "src/components/auth/Locked.js",
208 "id": "locked.headline",
209 "start": {
210 "column": 12,
211 "line": 15
212 }
213 },
214 {
215 "defaultMessage": "!!!Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
216 "end": {
217 "column": 3,
218 "line": 22
219 },
220 "file": "src/components/auth/Locked.js",
221 "id": "locked.info",
222 "start": {
223 "column": 8,
224 "line": 19
225 }
226 },
227 {
228 "defaultMessage": "!!!Password",
229 "end": {
230 "column": 3,
231 "line": 26
232 },
233 "file": "src/components/auth/Locked.js",
234 "id": "locked.password.label",
235 "start": {
236 "column": 17,
237 "line": 23
238 }
239 },
240 {
241 "defaultMessage": "!!!Unlock",
242 "end": {
243 "column": 3,
244 "line": 30
245 },
246 "file": "src/components/auth/Locked.js",
247 "id": "locked.submit.label",
248 "start": {
249 "column": 21,
250 "line": 27
251 }
252 },
253 {
254 "defaultMessage": "!!!Password invalid",
255 "end": {
256 "column": 3,
257 "line": 34
258 },
259 "file": "src/components/auth/Locked.js",
260 "id": "locked.invalidCredentials",
261 "start": {
262 "column": 22,
263 "line": 31
264 }
265 }
266 ],
267 "path": "src/components/auth/Locked.json"
268 },
269 {
270 "descriptors": [
271 {
202 "defaultMessage": "!!!Sign in", 272 "defaultMessage": "!!!Sign in",
203 "end": { 273 "end": {
204 "column": 3, 274 "column": 3,
205 "line": 20 275 "line": 22
206 }, 276 },
207 "file": "src/components/auth/Login.js", 277 "file": "src/components/auth/Login.js",
208 "id": "login.headline", 278 "id": "login.headline",
209 "start": { 279 "start": {
210 "column": 12, 280 "column": 12,
211 "line": 17 281 "line": 19
212 } 282 }
213 }, 283 },
214 { 284 {
215 "defaultMessage": "!!!Email address", 285 "defaultMessage": "!!!Email address",
216 "end": { 286 "end": {
217 "column": 3, 287 "column": 3,
218 "line": 24 288 "line": 26
219 }, 289 },
220 "file": "src/components/auth/Login.js", 290 "file": "src/components/auth/Login.js",
221 "id": "login.email.label", 291 "id": "login.email.label",
222 "start": { 292 "start": {
223 "column": 14, 293 "column": 14,
224 "line": 21 294 "line": 23
225 } 295 }
226 }, 296 },
227 { 297 {
228 "defaultMessage": "!!!Password", 298 "defaultMessage": "!!!Password",
229 "end": { 299 "end": {
230 "column": 3, 300 "column": 3,
231 "line": 28 301 "line": 30
232 }, 302 },
233 "file": "src/components/auth/Login.js", 303 "file": "src/components/auth/Login.js",
234 "id": "login.password.label", 304 "id": "login.password.label",
235 "start": { 305 "start": {
236 "column": 17, 306 "column": 17,
237 "line": 25 307 "line": 27
238 } 308 }
239 }, 309 },
240 { 310 {
241 "defaultMessage": "!!!Sign in", 311 "defaultMessage": "!!!Sign in",
242 "end": { 312 "end": {
243 "column": 3, 313 "column": 3,
244 "line": 32 314 "line": 34
245 }, 315 },
246 "file": "src/components/auth/Login.js", 316 "file": "src/components/auth/Login.js",
247 "id": "login.submit.label", 317 "id": "login.submit.label",
248 "start": { 318 "start": {
249 "column": 21, 319 "column": 21,
250 "line": 29 320 "line": 31
251 } 321 }
252 }, 322 },
253 { 323 {
254 "defaultMessage": "!!!Email or password not valid", 324 "defaultMessage": "!!!Email or password not valid",
255 "end": { 325 "end": {
256 "column": 3, 326 "column": 3,
257 "line": 36 327 "line": 38
258 }, 328 },
259 "file": "src/components/auth/Login.js", 329 "file": "src/components/auth/Login.js",
260 "id": "login.invalidCredentials", 330 "id": "login.invalidCredentials",
261 "start": { 331 "start": {
262 "column": 22, 332 "column": 22,
263 "line": 33 333 "line": 35
334 }
335 },
336 {
337 "defaultMessage": "!!!Using a Franz account to log in?",
338 "end": {
339 "column": 3,
340 "line": 42
341 },
342 "file": "src/components/auth/Login.js",
343 "id": "login.customServerQuestion",
344 "start": {
345 "column": 24,
346 "line": 39
347 }
348 },
349 {
350 "defaultMessage": "!!!Try importing your Franz account into Ferdi",
351 "end": {
352 "column": 3,
353 "line": 46
354 },
355 "file": "src/components/auth/Login.js",
356 "id": "login.customServerSuggestion",
357 "start": {
358 "column": 26,
359 "line": 43
264 } 360 }
265 }, 361 },
266 { 362 {
267 "defaultMessage": "!!!Your session expired, please login again.", 363 "defaultMessage": "!!!Your session expired, please login again.",
268 "end": { 364 "end": {
269 "column": 3, 365 "column": 3,
270 "line": 40 366 "line": 50
271 }, 367 },
272 "file": "src/components/auth/Login.js", 368 "file": "src/components/auth/Login.js",
273 "id": "login.tokenExpired", 369 "id": "login.tokenExpired",
274 "start": { 370 "start": {
275 "column": 16, 371 "column": 16,
276 "line": 37 372 "line": 47
277 } 373 }
278 }, 374 },
279 { 375 {
280 "defaultMessage": "!!!Your session expired, please login again.", 376 "defaultMessage": "!!!Your session expired, please login again.",
281 "end": { 377 "end": {
282 "column": 3, 378 "column": 3,
283 "line": 44 379 "line": 54
284 }, 380 },
285 "file": "src/components/auth/Login.js", 381 "file": "src/components/auth/Login.js",
286 "id": "login.serverLogout", 382 "id": "login.serverLogout",
287 "start": { 383 "start": {
288 "column": 16, 384 "column": 16,
289 "line": 41 385 "line": 51
290 } 386 }
291 }, 387 },
292 { 388 {
293 "defaultMessage": "!!!Create a free account", 389 "defaultMessage": "!!!Create a free account",
294 "end": { 390 "end": {
295 "column": 3, 391 "column": 3,
296 "line": 48 392 "line": 58
297 }, 393 },
298 "file": "src/components/auth/Login.js", 394 "file": "src/components/auth/Login.js",
299 "id": "login.link.signup", 395 "id": "login.link.signup",
300 "start": { 396 "start": {
301 "column": 14, 397 "column": 14,
302 "line": 45 398 "line": 55
399 }
400 },
401 {
402 "defaultMessage": "!!!Change server",
403 "end": {
404 "column": 3,
405 "line": 62
406 },
407 "file": "src/components/auth/Login.js",
408 "id": "login.changeServer",
409 "start": {
410 "column": 16,
411 "line": 59
412 }
413 },
414 {
415 "defaultMessage": "!!!Use Ferdi without an Account",
416 "end": {
417 "column": 3,
418 "line": 66
419 },
420 "file": "src/components/auth/Login.js",
421 "id": "services.serverless",
422 "start": {
423 "column": 14,
424 "line": 63
303 } 425 }
304 }, 426 },
305 { 427 {
306 "defaultMessage": "!!!Forgot password", 428 "defaultMessage": "!!!Forgot password",
307 "end": { 429 "end": {
308 "column": 3, 430 "column": 3,
309 "line": 52 431 "line": 70
310 }, 432 },
311 "file": "src/components/auth/Login.js", 433 "file": "src/components/auth/Login.js",
312 "id": "login.link.password", 434 "id": "login.link.password",
313 "start": { 435 "start": {
314 "column": 16, 436 "column": 16,
315 "line": 49 437 "line": 67
316 } 438 }
317 } 439 }
318 ], 440 ],
@@ -417,172 +539,120 @@
417 { 539 {
418 "descriptors": [ 540 "descriptors": [
419 { 541 {
420 "defaultMessage": "!!!Hi {name}, welcome to Franz", 542 "defaultMessage": "!!!Franz Professional",
421 "end": { 543 "end": {
422 "column": 3, 544 "column": 3,
423 "line": 18 545 "line": 18
424 }, 546 },
425 "file": "src/components/auth/Pricing.js", 547 "file": "src/components/auth/Pricing.js",
426 "id": "pricing.trial.headline.pro", 548 "id": "pricing.trial.headline",
427 "start": { 549 "start": {
428 "column": 12, 550 "column": 12,
429 "line": 15 551 "line": 15
430 } 552 }
431 }, 553 },
432 { 554 {
433 "defaultMessage": "!!!We have a special treat for you.", 555 "defaultMessage": "!!!Your personal welcome offer:",
434 "end": { 556 "end": {
435 "column": 3, 557 "column": 3,
436 "line": 22 558 "line": 22
437 }, 559 },
438 "file": "src/components/auth/Pricing.js", 560 "file": "src/components/auth/Pricing.js",
439 "id": "pricing.trial.intro.specialTreat", 561 "id": "pricing.trial.subheadline",
440 "start": { 562 "start": {
441 "column": 16, 563 "column": 17,
442 "line": 19 564 "line": 19
443 } 565 }
444 }, 566 },
445 { 567 {
446 "defaultMessage": "!!!Enjoy the full Franz Professional experience completely free for 14 days.",
447 "end": {
448 "column": 3,
449 "line": 26
450 },
451 "file": "src/components/auth/Pricing.js",
452 "id": "pricing.trial.intro.tryPro",
453 "start": {
454 "column": 10,
455 "line": 23
456 }
457 },
458 {
459 "defaultMessage": "!!!Happy messaging,",
460 "end": {
461 "column": 3,
462 "line": 30
463 },
464 "file": "src/components/auth/Pricing.js",
465 "id": "pricing.trial.intro.happyMessaging",
466 "start": {
467 "column": 18,
468 "line": 27
469 }
470 },
471 {
472 "defaultMessage": "!!!No strings attached", 568 "defaultMessage": "!!!No strings attached",
473 "end": { 569 "end": {
474 "column": 3, 570 "column": 3,
475 "line": 34 571 "line": 26
476 }, 572 },
477 "file": "src/components/auth/Pricing.js", 573 "file": "src/components/auth/Pricing.js",
478 "id": "pricing.trial.terms.headline", 574 "id": "pricing.trial.terms.headline",
479 "start": { 575 "start": {
480 "column": 29, 576 "column": 29,
481 "line": 31 577 "line": 23
482 } 578 }
483 }, 579 },
484 { 580 {
485 "defaultMessage": "!!!No credit card required", 581 "defaultMessage": "!!!No credit card required",
486 "end": { 582 "end": {
487 "column": 3, 583 "column": 3,
488 "line": 38 584 "line": 30
489 }, 585 },
490 "file": "src/components/auth/Pricing.js", 586 "file": "src/components/auth/Pricing.js",
491 "id": "pricing.trial.terms.noCreditCard", 587 "id": "pricing.trial.terms.noCreditCard",
492 "start": { 588 "start": {
493 "column": 16, 589 "column": 16,
494 "line": 35 590 "line": 27
495 } 591 }
496 }, 592 },
497 { 593 {
498 "defaultMessage": "!!!Your free trial ends automatically after 14 days", 594 "defaultMessage": "!!!Your free trial ends automatically after 14 days",
499 "end": { 595 "end": {
500 "column": 3, 596 "column": 3,
501 "line": 42 597 "line": 34
502 }, 598 },
503 "file": "src/components/auth/Pricing.js", 599 "file": "src/components/auth/Pricing.js",
504 "id": "pricing.trial.terms.automaticTrialEnd", 600 "id": "pricing.trial.terms.automaticTrialEnd",
505 "start": { 601 "start": {
506 "column": 21, 602 "column": 21,
507 "line": 39 603 "line": 31
508 }
509 },
510 {
511 "defaultMessage": "!!!Free trial (normally {currency}{price} per month)",
512 "end": {
513 "column": 3,
514 "line": 46
515 },
516 "file": "src/components/auth/Pricing.js",
517 "id": "pricing.trial.terms.trialWorth",
518 "start": {
519 "column": 14,
520 "line": 43
521 } 604 }
522 }, 605 },
523 { 606 {
524 "defaultMessage": "!!!Sorry, we could not activate your trial!", 607 "defaultMessage": "!!!Sorry, we could not activate your trial!",
525 "end": { 608 "end": {
526 "column": 3, 609 "column": 3,
527 "line": 50 610 "line": 38
528 }, 611 },
529 "file": "src/components/auth/Pricing.js", 612 "file": "src/components/auth/Pricing.js",
530 "id": "pricing.trial.error", 613 "id": "pricing.trial.error",
531 "start": { 614 "start": {
532 "column": 19, 615 "column": 19,
533 "line": 47 616 "line": 35
534 } 617 }
535 }, 618 },
536 { 619 {
537 "defaultMessage": "!!!Start my 14-day Franz Professional Trial", 620 "defaultMessage": "!!!Yes, upgrade my account to Franz Professional",
538 "end": { 621 "end": {
539 "column": 3, 622 "column": 3,
540 "line": 54 623 "line": 42
541 }, 624 },
542 "file": "src/components/auth/Pricing.js", 625 "file": "src/components/auth/Pricing.js",
543 "id": "pricing.trial.cta.accept", 626 "id": "pricing.trial.cta.accept",
544 "start": { 627 "start": {
545 "column": 13, 628 "column": 13,
546 "line": 51 629 "line": 39
547 }
548 },
549 {
550 "defaultMessage": "!!!Start using Franz",
551 "end": {
552 "column": 3,
553 "line": 58
554 },
555 "file": "src/components/auth/Pricing.js",
556 "id": "pricing.trial.cta.start",
557 "start": {
558 "column": 12,
559 "line": 55
560 } 630 }
561 }, 631 },
562 { 632 {
563 "defaultMessage": "!!!Continue to Franz", 633 "defaultMessage": "!!!Continue to Ferdi",
564 "end": { 634 "end": {
565 "column": 3, 635 "column": 3,
566 "line": 62 636 "line": 46
567 }, 637 },
568 "file": "src/components/auth/Pricing.js", 638 "file": "src/components/auth/Pricing.js",
569 "id": "pricing.trial.cta.skip", 639 "id": "pricing.trial.cta.skip",
570 "start": { 640 "start": {
571 "column": 11, 641 "column": 11,
572 "line": 59 642 "line": 43
573 } 643 }
574 }, 644 },
575 { 645 {
576 "defaultMessage": "!!!Franz Professional includes:", 646 "defaultMessage": "!!!Franz Professional includes:",
577 "end": { 647 "end": {
578 "column": 3, 648 "column": 3,
579 "line": 66 649 "line": 50
580 }, 650 },
581 "file": "src/components/auth/Pricing.js", 651 "file": "src/components/auth/Pricing.js",
582 "id": "pricing.trial.features.headline", 652 "id": "pricing.trial.features.headline",
583 "start": { 653 "start": {
584 "column": 20, 654 "column": 20,
585 "line": 63 655 "line": 47
586 } 656 }
587 } 657 }
588 ], 658 ],
@@ -594,143 +664,169 @@
594 "defaultMessage": "!!!Sign up", 664 "defaultMessage": "!!!Sign up",
595 "end": { 665 "end": {
596 "column": 3, 666 "column": 3,
597 "line": 20 667 "line": 22
598 }, 668 },
599 "file": "src/components/auth/Signup.js", 669 "file": "src/components/auth/Signup.js",
600 "id": "signup.headline", 670 "id": "signup.headline",
601 "start": { 671 "start": {
602 "column": 12, 672 "column": 12,
603 "line": 17 673 "line": 19
604 } 674 }
605 }, 675 },
606 { 676 {
607 "defaultMessage": "!!!Firstname", 677 "defaultMessage": "!!!Firstname",
608 "end": { 678 "end": {
609 "column": 3, 679 "column": 3,
610 "line": 24 680 "line": 26
611 }, 681 },
612 "file": "src/components/auth/Signup.js", 682 "file": "src/components/auth/Signup.js",
613 "id": "signup.firstname.label", 683 "id": "signup.firstname.label",
614 "start": { 684 "start": {
615 "column": 18, 685 "column": 18,
616 "line": 21 686 "line": 23
617 } 687 }
618 }, 688 },
619 { 689 {
620 "defaultMessage": "!!!Lastname", 690 "defaultMessage": "!!!Lastname",
621 "end": { 691 "end": {
622 "column": 3, 692 "column": 3,
623 "line": 28 693 "line": 30
624 }, 694 },
625 "file": "src/components/auth/Signup.js", 695 "file": "src/components/auth/Signup.js",
626 "id": "signup.lastname.label", 696 "id": "signup.lastname.label",
627 "start": { 697 "start": {
628 "column": 17, 698 "column": 17,
629 "line": 25 699 "line": 27
630 } 700 }
631 }, 701 },
632 { 702 {
633 "defaultMessage": "!!!Email address", 703 "defaultMessage": "!!!Email address",
634 "end": { 704 "end": {
635 "column": 3, 705 "column": 3,
636 "line": 32 706 "line": 34
637 }, 707 },
638 "file": "src/components/auth/Signup.js", 708 "file": "src/components/auth/Signup.js",
639 "id": "signup.email.label", 709 "id": "signup.email.label",
640 "start": { 710 "start": {
641 "column": 14, 711 "column": 14,
642 "line": 29 712 "line": 31
643 } 713 }
644 }, 714 },
645 { 715 {
646 "defaultMessage": "!!!Password", 716 "defaultMessage": "!!!Password",
647 "end": { 717 "end": {
648 "column": 3, 718 "column": 3,
649 "line": 40 719 "line": 42
650 }, 720 },
651 "file": "src/components/auth/Signup.js", 721 "file": "src/components/auth/Signup.js",
652 "id": "signup.password.label", 722 "id": "signup.password.label",
653 "start": { 723 "start": {
654 "column": 17, 724 "column": 17,
655 "line": 37 725 "line": 39
656 } 726 }
657 }, 727 },
658 { 728 {
659 "defaultMessage": "!!!By creating a Franz account you accept the", 729 "defaultMessage": "!!!By creating a Ferdi account you accept the",
660 "end": { 730 "end": {
661 "column": 3, 731 "column": 3,
662 "line": 44 732 "line": 46
663 }, 733 },
664 "file": "src/components/auth/Signup.js", 734 "file": "src/components/auth/Signup.js",
665 "id": "signup.legal.info", 735 "id": "signup.legal.info",
666 "start": { 736 "start": {
667 "column": 13, 737 "column": 13,
668 "line": 41 738 "line": 43
669 } 739 }
670 }, 740 },
671 { 741 {
672 "defaultMessage": "!!!Terms of service", 742 "defaultMessage": "!!!Terms of service",
673 "end": { 743 "end": {
674 "column": 3, 744 "column": 3,
675 "line": 48 745 "line": 50
676 }, 746 },
677 "file": "src/components/auth/Signup.js", 747 "file": "src/components/auth/Signup.js",
678 "id": "signup.legal.terms", 748 "id": "signup.legal.terms",
679 "start": { 749 "start": {
680 "column": 9, 750 "column": 9,
681 "line": 45 751 "line": 47
682 } 752 }
683 }, 753 },
684 { 754 {
685 "defaultMessage": "!!!Privacy Statement", 755 "defaultMessage": "!!!Privacy Statement",
686 "end": { 756 "end": {
687 "column": 3, 757 "column": 3,
688 "line": 52 758 "line": 54
689 }, 759 },
690 "file": "src/components/auth/Signup.js", 760 "file": "src/components/auth/Signup.js",
691 "id": "signup.legal.privacy", 761 "id": "signup.legal.privacy",
692 "start": { 762 "start": {
693 "column": 11, 763 "column": 11,
694 "line": 49 764 "line": 51
695 } 765 }
696 }, 766 },
697 { 767 {
698 "defaultMessage": "!!!Create account", 768 "defaultMessage": "!!!Create account",
699 "end": { 769 "end": {
700 "column": 3, 770 "column": 3,
701 "line": 56 771 "line": 58
702 }, 772 },
703 "file": "src/components/auth/Signup.js", 773 "file": "src/components/auth/Signup.js",
704 "id": "signup.submit.label", 774 "id": "signup.submit.label",
705 "start": { 775 "start": {
706 "column": 21, 776 "column": 21,
707 "line": 53 777 "line": 55
708 } 778 }
709 }, 779 },
710 { 780 {
711 "defaultMessage": "!!!Already have an account, sign in?", 781 "defaultMessage": "!!!Already have an account, sign in?",
712 "end": { 782 "end": {
713 "column": 3, 783 "column": 3,
714 "line": 60 784 "line": 62
715 }, 785 },
716 "file": "src/components/auth/Signup.js", 786 "file": "src/components/auth/Signup.js",
717 "id": "signup.link.login", 787 "id": "signup.link.login",
718 "start": { 788 "start": {
719 "column": 13, 789 "column": 13,
720 "line": 57 790 "line": 59
791 }
792 },
793 {
794 "defaultMessage": "!!!Change server",
795 "end": {
796 "column": 3,
797 "line": 66
798 },
799 "file": "src/components/auth/Signup.js",
800 "id": "login.changeServer",
801 "start": {
802 "column": 16,
803 "line": 63
804 }
805 },
806 {
807 "defaultMessage": "!!!Use Ferdi without an Account",
808 "end": {
809 "column": 3,
810 "line": 70
811 },
812 "file": "src/components/auth/Signup.js",
813 "id": "services.serverless",
814 "start": {
815 "column": 14,
816 "line": 67
721 } 817 }
722 }, 818 },
723 { 819 {
724 "defaultMessage": "!!!A user with that email address already exists", 820 "defaultMessage": "!!!A user with that email address already exists",
725 "end": { 821 "end": {
726 "column": 3, 822 "column": 3,
727 "line": 64 823 "line": 74
728 }, 824 },
729 "file": "src/components/auth/Signup.js", 825 "file": "src/components/auth/Signup.js",
730 "id": "signup.emailDuplicate", 826 "id": "signup.emailDuplicate",
731 "start": { 827 "start": {
732 "column": 18, 828 "column": 18,
733 "line": 61 829 "line": 71
734 } 830 }
735 } 831 }
736 ], 832 ],
@@ -742,26 +838,39 @@
742 "defaultMessage": "!!!Create a free account", 838 "defaultMessage": "!!!Create a free account",
743 "end": { 839 "end": {
744 "column": 3, 840 "column": 3,
745 "line": 12 841 "line": 14
746 }, 842 },
747 "file": "src/components/auth/Welcome.js", 843 "file": "src/components/auth/Welcome.js",
748 "id": "welcome.signupButton", 844 "id": "welcome.signupButton",
749 "start": { 845 "start": {
750 "column": 16, 846 "column": 16,
751 "line": 9 847 "line": 11
752 } 848 }
753 }, 849 },
754 { 850 {
755 "defaultMessage": "!!!Login to your account", 851 "defaultMessage": "!!!Login to your account",
756 "end": { 852 "end": {
757 "column": 3, 853 "column": 3,
758 "line": 16 854 "line": 18
759 }, 855 },
760 "file": "src/components/auth/Welcome.js", 856 "file": "src/components/auth/Welcome.js",
761 "id": "welcome.loginButton", 857 "id": "welcome.loginButton",
762 "start": { 858 "start": {
763 "column": 15, 859 "column": 15,
764 "line": 13 860 "line": 15
861 }
862 },
863 {
864 "defaultMessage": "!!!Use Ferdi without an Account",
865 "end": {
866 "column": 3,
867 "line": 22
868 },
869 "file": "src/components/auth/Welcome.js",
870 "id": "services.serverless",
871 "start": {
872 "column": 14,
873 "line": 19
765 } 874 }
766 } 875 }
767 ], 876 ],
@@ -773,39 +882,52 @@
773 "defaultMessage": "!!!Your services have been updated.", 882 "defaultMessage": "!!!Your services have been updated.",
774 "end": { 883 "end": {
775 "column": 3, 884 "column": 3,
776 "line": 33 885 "line": 31
777 }, 886 },
778 "file": "src/components/layout/AppLayout.js", 887 "file": "src/components/layout/AppLayout.js",
779 "id": "infobar.servicesUpdated", 888 "id": "infobar.servicesUpdated",
780 "start": { 889 "start": {
781 "column": 19, 890 "column": 19,
782 "line": 30 891 "line": 28
783 } 892 }
784 }, 893 },
785 { 894 {
786 "defaultMessage": "!!!Reload services", 895 "defaultMessage": "!!!Reload services",
787 "end": { 896 "end": {
788 "column": 3, 897 "column": 3,
789 "line": 37 898 "line": 35
790 }, 899 },
791 "file": "src/components/layout/AppLayout.js", 900 "file": "src/components/layout/AppLayout.js",
792 "id": "infobar.buttonReloadServices", 901 "id": "infobar.buttonReloadServices",
793 "start": { 902 "start": {
794 "column": 24, 903 "column": 24,
795 "line": 34 904 "line": 32
796 } 905 }
797 }, 906 },
798 { 907 {
799 "defaultMessage": "!!!Could not load services and user information", 908 "defaultMessage": "!!!Could not load services and user information",
800 "end": { 909 "end": {
801 "column": 3, 910 "column": 3,
802 "line": 41 911 "line": 39
803 }, 912 },
804 "file": "src/components/layout/AppLayout.js", 913 "file": "src/components/layout/AppLayout.js",
805 "id": "infobar.requiredRequestsFailed", 914 "id": "infobar.requiredRequestsFailed",
806 "start": { 915 "start": {
807 "column": 26, 916 "column": 26,
808 "line": 38 917 "line": 36
918 }
919 },
920 {
921 "defaultMessage": "!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
922 "end": {
923 "column": 3,
924 "line": 43
925 },
926 "file": "src/components/layout/AppLayout.js",
927 "id": "infobar.authRequestFailed",
928 "start": {
929 "column": 21,
930 "line": 40
809 } 931 }
810 } 932 }
811 ], 933 ],
@@ -916,6 +1038,19 @@
916 "column": 20, 1038 "column": 20,
917 "line": 43 1039 "line": 43
918 } 1040 }
1041 },
1042 {
1043 "defaultMessage": "!!!Lock Ferdi",
1044 "end": {
1045 "column": 3,
1046 "line": 50
1047 },
1048 "file": "src/components/layout/Sidebar.js",
1049 "id": "sidebar.lockFerdi",
1050 "start": {
1051 "column": 13,
1052 "line": 47
1053 }
919 } 1054 }
920 ], 1055 ],
921 "path": "src/components/layout/Sidebar.json" 1056 "path": "src/components/layout/Sidebar.json"
@@ -1094,29 +1229,68 @@
1094 { 1229 {
1095 "descriptors": [ 1230 "descriptors": [
1096 { 1231 {
1097 "defaultMessage": "!!!Welcome to Franz", 1232 "defaultMessage": "!!!Welcome to Ferdi",
1098 "end": { 1233 "end": {
1099 "column": 3, 1234 "column": 3,
1100 "line": 17 1235 "line": 18
1101 }, 1236 },
1102 "file": "src/components/services/content/Services.js", 1237 "file": "src/components/services/content/Services.js",
1103 "id": "services.welcome", 1238 "id": "services.welcome",
1104 "start": { 1239 "start": {
1105 "column": 11, 1240 "column": 11,
1106 "line": 14 1241 "line": 15
1107 } 1242 }
1108 }, 1243 },
1109 { 1244 {
1110 "defaultMessage": "!!!Get started", 1245 "defaultMessage": "!!!Get started",
1111 "end": { 1246 "end": {
1112 "column": 3, 1247 "column": 3,
1113 "line": 21 1248 "line": 22
1114 }, 1249 },
1115 "file": "src/components/services/content/Services.js", 1250 "file": "src/components/services/content/Services.js",
1116 "id": "services.getStarted", 1251 "id": "services.getStarted",
1117 "start": { 1252 "start": {
1118 "column": 14, 1253 "column": 14,
1119 "line": 18 1254 "line": 19
1255 }
1256 },
1257 {
1258 "defaultMessage": "!!!Please login to use Ferdi.",
1259 "end": {
1260 "column": 3,
1261 "line": 26
1262 },
1263 "file": "src/components/services/content/Services.js",
1264 "id": "services.login",
1265 "start": {
1266 "column": 9,
1267 "line": 23
1268 }
1269 },
1270 {
1271 "defaultMessage": "!!!Use Ferdi without an Account",
1272 "end": {
1273 "column": 3,
1274 "line": 30
1275 },
1276 "file": "src/components/services/content/Services.js",
1277 "id": "services.serverless",
1278 "start": {
1279 "column": 14,
1280 "line": 27
1281 }
1282 },
1283 {
1284 "defaultMessage": "!!!Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
1285 "end": {
1286 "column": 3,
1287 "line": 34
1288 },
1289 "file": "src/components/services/content/Services.js",
1290 "id": "services.serverInfo",
1291 "start": {
1292 "column": 14,
1293 "line": 31
1120 } 1294 }
1121 } 1295 }
1122 ], 1296 ],
@@ -1473,7 +1647,7 @@
1473 } 1647 }
1474 }, 1648 },
1475 { 1649 {
1476 "defaultMessage": "!!!If you don't need your Franz account any longer, you can delete your account and all related data here.", 1650 "defaultMessage": "!!!If you don't need your Ferdi account any longer, you can delete your account and all related data here.",
1477 "end": { 1651 "end": {
1478 "column": 3, 1652 "column": 3,
1479 "line": 73 1653 "line": 73
@@ -1559,104 +1733,104 @@
1559 "defaultMessage": "!!!Available services", 1733 "defaultMessage": "!!!Available services",
1560 "end": { 1734 "end": {
1561 "column": 3, 1735 "column": 3,
1562 "line": 17 1736 "line": 20
1563 }, 1737 },
1564 "file": "src/components/settings/navigation/SettingsNavigation.js", 1738 "file": "src/components/settings/navigation/SettingsNavigation.js",
1565 "id": "settings.navigation.availableServices", 1739 "id": "settings.navigation.availableServices",
1566 "start": { 1740 "start": {
1567 "column": 21, 1741 "column": 21,
1568 "line": 14 1742 "line": 17
1569 } 1743 }
1570 }, 1744 },
1571 { 1745 {
1572 "defaultMessage": "!!!Your services", 1746 "defaultMessage": "!!!Your services",
1573 "end": { 1747 "end": {
1574 "column": 3, 1748 "column": 3,
1575 "line": 21 1749 "line": 24
1576 }, 1750 },
1577 "file": "src/components/settings/navigation/SettingsNavigation.js", 1751 "file": "src/components/settings/navigation/SettingsNavigation.js",
1578 "id": "settings.navigation.yourServices", 1752 "id": "settings.navigation.yourServices",
1579 "start": { 1753 "start": {
1580 "column": 16, 1754 "column": 16,
1581 "line": 18 1755 "line": 21
1582 } 1756 }
1583 }, 1757 },
1584 { 1758 {
1585 "defaultMessage": "!!!Your workspaces", 1759 "defaultMessage": "!!!Your workspaces",
1586 "end": { 1760 "end": {
1587 "column": 3, 1761 "column": 3,
1588 "line": 25 1762 "line": 28
1589 }, 1763 },
1590 "file": "src/components/settings/navigation/SettingsNavigation.js", 1764 "file": "src/components/settings/navigation/SettingsNavigation.js",
1591 "id": "settings.navigation.yourWorkspaces", 1765 "id": "settings.navigation.yourWorkspaces",
1592 "start": { 1766 "start": {
1593 "column": 18, 1767 "column": 18,
1594 "line": 22 1768 "line": 25
1595 } 1769 }
1596 }, 1770 },
1597 { 1771 {
1598 "defaultMessage": "!!!Account", 1772 "defaultMessage": "!!!Account",
1599 "end": { 1773 "end": {
1600 "column": 3, 1774 "column": 3,
1601 "line": 29 1775 "line": 32
1602 }, 1776 },
1603 "file": "src/components/settings/navigation/SettingsNavigation.js", 1777 "file": "src/components/settings/navigation/SettingsNavigation.js",
1604 "id": "settings.navigation.account", 1778 "id": "settings.navigation.account",
1605 "start": { 1779 "start": {
1606 "column": 11, 1780 "column": 11,
1607 "line": 26 1781 "line": 29
1608 } 1782 }
1609 }, 1783 },
1610 { 1784 {
1611 "defaultMessage": "!!!Manage Team", 1785 "defaultMessage": "!!!Manage Team",
1612 "end": { 1786 "end": {
1613 "column": 3, 1787 "column": 3,
1614 "line": 33 1788 "line": 36
1615 }, 1789 },
1616 "file": "src/components/settings/navigation/SettingsNavigation.js", 1790 "file": "src/components/settings/navigation/SettingsNavigation.js",
1617 "id": "settings.navigation.team", 1791 "id": "settings.navigation.team",
1618 "start": { 1792 "start": {
1619 "column": 8, 1793 "column": 8,
1620 "line": 30 1794 "line": 33
1621 } 1795 }
1622 }, 1796 },
1623 { 1797 {
1624 "defaultMessage": "!!!Settings", 1798 "defaultMessage": "!!!Settings",
1625 "end": { 1799 "end": {
1626 "column": 3, 1800 "column": 3,
1627 "line": 37 1801 "line": 40
1628 }, 1802 },
1629 "file": "src/components/settings/navigation/SettingsNavigation.js", 1803 "file": "src/components/settings/navigation/SettingsNavigation.js",
1630 "id": "settings.navigation.settings", 1804 "id": "settings.navigation.settings",
1631 "start": { 1805 "start": {
1632 "column": 12, 1806 "column": 12,
1633 "line": 34 1807 "line": 37
1634 } 1808 }
1635 }, 1809 },
1636 { 1810 {
1637 "defaultMessage": "!!!Invite Friends", 1811 "defaultMessage": "!!!Support Ferdi",
1638 "end": { 1812 "end": {
1639 "column": 3, 1813 "column": 3,
1640 "line": 41 1814 "line": 44
1641 }, 1815 },
1642 "file": "src/components/settings/navigation/SettingsNavigation.js", 1816 "file": "src/components/settings/navigation/SettingsNavigation.js",
1643 "id": "settings.navigation.inviteFriends", 1817 "id": "settings.navigation.supportFerdi",
1644 "start": { 1818 "start": {
1645 "column": 17, 1819 "column": 16,
1646 "line": 38 1820 "line": 41
1647 } 1821 }
1648 }, 1822 },
1649 { 1823 {
1650 "defaultMessage": "!!!Logout", 1824 "defaultMessage": "!!!Logout",
1651 "end": { 1825 "end": {
1652 "column": 3, 1826 "column": 3,
1653 "line": 45 1827 "line": 48
1654 }, 1828 },
1655 "file": "src/components/settings/navigation/SettingsNavigation.js", 1829 "file": "src/components/settings/navigation/SettingsNavigation.js",
1656 "id": "settings.navigation.logout", 1830 "id": "settings.navigation.logout",
1657 "start": { 1831 "start": {
1658 "column": 10, 1832 "column": 10,
1659 "line": 42 1833 "line": 45
1660 } 1834 }
1661 } 1835 }
1662 ], 1836 ],
@@ -1878,263 +2052,276 @@
1878 } 2052 }
1879 }, 2053 },
1880 { 2054 {
1881 "defaultMessage": "!!!Available services", 2055 "defaultMessage": "!!!Open darkmode.css",
1882 "end": { 2056 "end": {
1883 "column": 3, 2057 "column": 3,
1884 "line": 35 2058 "line": 35
1885 }, 2059 },
1886 "file": "src/components/settings/services/EditServiceForm.js", 2060 "file": "src/components/settings/services/EditServiceForm.js",
2061 "id": "settings.service.form.openDarkmodeCss",
2062 "start": {
2063 "column": 19,
2064 "line": 32
2065 }
2066 },
2067 {
2068 "defaultMessage": "!!!Available services",
2069 "end": {
2070 "column": 3,
2071 "line": 39
2072 },
2073 "file": "src/components/settings/services/EditServiceForm.js",
1887 "id": "settings.service.form.availableServices", 2074 "id": "settings.service.form.availableServices",
1888 "start": { 2075 "start": {
1889 "column": 21, 2076 "column": 21,
1890 "line": 32 2077 "line": 36
1891 } 2078 }
1892 }, 2079 },
1893 { 2080 {
1894 "defaultMessage": "!!!Your services", 2081 "defaultMessage": "!!!Your services",
1895 "end": { 2082 "end": {
1896 "column": 3, 2083 "column": 3,
1897 "line": 39 2084 "line": 43
1898 }, 2085 },
1899 "file": "src/components/settings/services/EditServiceForm.js", 2086 "file": "src/components/settings/services/EditServiceForm.js",
1900 "id": "settings.service.form.yourServices", 2087 "id": "settings.service.form.yourServices",
1901 "start": { 2088 "start": {
1902 "column": 16, 2089 "column": 16,
1903 "line": 36 2090 "line": 40
1904 } 2091 }
1905 }, 2092 },
1906 { 2093 {
1907 "defaultMessage": "!!!Add {name}", 2094 "defaultMessage": "!!!Add {name}",
1908 "end": { 2095 "end": {
1909 "column": 3, 2096 "column": 3,
1910 "line": 43 2097 "line": 47
1911 }, 2098 },
1912 "file": "src/components/settings/services/EditServiceForm.js", 2099 "file": "src/components/settings/services/EditServiceForm.js",
1913 "id": "settings.service.form.addServiceHeadline", 2100 "id": "settings.service.form.addServiceHeadline",
1914 "start": { 2101 "start": {
1915 "column": 22, 2102 "column": 22,
1916 "line": 40 2103 "line": 44
1917 } 2104 }
1918 }, 2105 },
1919 { 2106 {
1920 "defaultMessage": "!!!Edit {name}", 2107 "defaultMessage": "!!!Edit {name}",
1921 "end": { 2108 "end": {
1922 "column": 3, 2109 "column": 3,
1923 "line": 47 2110 "line": 51
1924 }, 2111 },
1925 "file": "src/components/settings/services/EditServiceForm.js", 2112 "file": "src/components/settings/services/EditServiceForm.js",
1926 "id": "settings.service.form.editServiceHeadline", 2113 "id": "settings.service.form.editServiceHeadline",
1927 "start": { 2114 "start": {
1928 "column": 23, 2115 "column": 23,
1929 "line": 44 2116 "line": 48
1930 } 2117 }
1931 }, 2118 },
1932 { 2119 {
1933 "defaultMessage": "!!!Hosted", 2120 "defaultMessage": "!!!Hosted",
1934 "end": { 2121 "end": {
1935 "column": 3, 2122 "column": 3,
1936 "line": 51 2123 "line": 55
1937 }, 2124 },
1938 "file": "src/components/settings/services/EditServiceForm.js", 2125 "file": "src/components/settings/services/EditServiceForm.js",
1939 "id": "settings.service.form.tabHosted", 2126 "id": "settings.service.form.tabHosted",
1940 "start": { 2127 "start": {
1941 "column": 13, 2128 "column": 13,
1942 "line": 48 2129 "line": 52
1943 } 2130 }
1944 }, 2131 },
1945 { 2132 {
1946 "defaultMessage": "!!!Self hosted ⭐️", 2133 "defaultMessage": "!!!Self hosted ⭐️",
1947 "end": { 2134 "end": {
1948 "column": 3, 2135 "column": 3,
1949 "line": 55 2136 "line": 59
1950 }, 2137 },
1951 "file": "src/components/settings/services/EditServiceForm.js", 2138 "file": "src/components/settings/services/EditServiceForm.js",
1952 "id": "settings.service.form.tabOnPremise", 2139 "id": "settings.service.form.tabOnPremise",
1953 "start": { 2140 "start": {
1954 "column": 16, 2141 "column": 16,
1955 "line": 52 2142 "line": 56
1956 } 2143 }
1957 }, 2144 },
1958 { 2145 {
1959 "defaultMessage": "!!!Use the hosted {name} service.", 2146 "defaultMessage": "!!!Use the hosted {name} service.",
1960 "end": { 2147 "end": {
1961 "column": 3, 2148 "column": 3,
1962 "line": 59 2149 "line": 63
1963 }, 2150 },
1964 "file": "src/components/settings/services/EditServiceForm.js", 2151 "file": "src/components/settings/services/EditServiceForm.js",
1965 "id": "settings.service.form.useHostedService", 2152 "id": "settings.service.form.useHostedService",
1966 "start": { 2153 "start": {
1967 "column": 20, 2154 "column": 20,
1968 "line": 56 2155 "line": 60
1969 } 2156 }
1970 }, 2157 },
1971 { 2158 {
1972 "defaultMessage": "!!!Could not validate custom {name} server.", 2159 "defaultMessage": "!!!Could not validate custom {name} server.",
1973 "end": { 2160 "end": {
1974 "column": 3, 2161 "column": 3,
1975 "line": 63 2162 "line": 67
1976 }, 2163 },
1977 "file": "src/components/settings/services/EditServiceForm.js", 2164 "file": "src/components/settings/services/EditServiceForm.js",
1978 "id": "settings.service.form.customUrlValidationError", 2165 "id": "settings.service.form.customUrlValidationError",
1979 "start": { 2166 "start": {
1980 "column": 28, 2167 "column": 28,
1981 "line": 60 2168 "line": 64
1982 } 2169 }
1983 }, 2170 },
1984 { 2171 {
1985 "defaultMessage": "!!!To add self hosted services, you need a Franz Premium Supporter Account.", 2172 "defaultMessage": "!!!To add self hosted services, you need a Ferdi Premium Supporter Account.",
1986 "end": { 2173 "end": {
1987 "column": 3, 2174 "column": 3,
1988 "line": 67 2175 "line": 71
1989 }, 2176 },
1990 "file": "src/components/settings/services/EditServiceForm.js", 2177 "file": "src/components/settings/services/EditServiceForm.js",
1991 "id": "settings.service.form.customUrlPremiumInfo", 2178 "id": "settings.service.form.customUrlPremiumInfo",
1992 "start": { 2179 "start": {
1993 "column": 24, 2180 "column": 24,
1994 "line": 64 2181 "line": 68
1995 } 2182 }
1996 }, 2183 },
1997 { 2184 {
1998 "defaultMessage": "!!!Upgrade your account", 2185 "defaultMessage": "!!!Upgrade your account",
1999 "end": { 2186 "end": {
2000 "column": 3, 2187 "column": 3,
2001 "line": 71 2188 "line": 75
2002 }, 2189 },
2003 "file": "src/components/settings/services/EditServiceForm.js", 2190 "file": "src/components/settings/services/EditServiceForm.js",
2004 "id": "settings.service.form.customUrlUpgradeAccount", 2191 "id": "settings.service.form.customUrlUpgradeAccount",
2005 "start": { 2192 "start": {
2006 "column": 27, 2193 "column": 27,
2007 "line": 68 2194 "line": 72
2008 } 2195 }
2009 }, 2196 },
2010 { 2197 {
2011 "defaultMessage": "!!!You will be notified about all new messages in a channel, not just @username, @channel, @here, ...", 2198 "defaultMessage": "!!!You will be notified about all new messages in a channel, not just @username, @channel, @here, ...",
2012 "end": { 2199 "end": {
2013 "column": 3, 2200 "column": 3,
2014 "line": 75 2201 "line": 79
2015 }, 2202 },
2016 "file": "src/components/settings/services/EditServiceForm.js", 2203 "file": "src/components/settings/services/EditServiceForm.js",
2017 "id": "settings.service.form.indirectMessageInfo", 2204 "id": "settings.service.form.indirectMessageInfo",
2018 "start": { 2205 "start": {
2019 "column": 23, 2206 "column": 23,
2020 "line": 72 2207 "line": 76
2021 } 2208 }
2022 }, 2209 },
2023 { 2210 {
2024 "defaultMessage": "!!!When disabled, all notification sounds and audio playback are muted", 2211 "defaultMessage": "!!!When disabled, all notification sounds and audio playback are muted",
2025 "end": { 2212 "end": {
2026 "column": 3, 2213 "column": 3,
2027 "line": 79 2214 "line": 83
2028 }, 2215 },
2029 "file": "src/components/settings/services/EditServiceForm.js", 2216 "file": "src/components/settings/services/EditServiceForm.js",
2030 "id": "settings.service.form.isMutedInfo", 2217 "id": "settings.service.form.isMutedInfo",
2031 "start": { 2218 "start": {
2032 "column": 15, 2219 "column": 15,
2033 "line": 76 2220 "line": 80
2034 } 2221 }
2035 }, 2222 },
2036 { 2223 {
2037 "defaultMessage": "!!!Notifications", 2224 "defaultMessage": "!!!Notifications",
2038 "end": { 2225 "end": {
2039 "column": 3, 2226 "column": 3,
2040 "line": 83 2227 "line": 87
2041 }, 2228 },
2042 "file": "src/components/settings/services/EditServiceForm.js", 2229 "file": "src/components/settings/services/EditServiceForm.js",
2043 "id": "settings.service.form.headlineNotifications", 2230 "id": "settings.service.form.headlineNotifications",
2044 "start": { 2231 "start": {
2045 "column": 25, 2232 "column": 25,
2046 "line": 80 2233 "line": 84
2047 } 2234 }
2048 }, 2235 },
2049 { 2236 {
2050 "defaultMessage": "!!!Unread message badges", 2237 "defaultMessage": "!!!Unread message badges",
2051 "end": { 2238 "end": {
2052 "column": 3, 2239 "column": 3,
2053 "line": 87 2240 "line": 91
2054 }, 2241 },
2055 "file": "src/components/settings/services/EditServiceForm.js", 2242 "file": "src/components/settings/services/EditServiceForm.js",
2056 "id": "settings.service.form.headlineBadges", 2243 "id": "settings.service.form.headlineBadges",
2057 "start": { 2244 "start": {
2058 "column": 18, 2245 "column": 18,
2059 "line": 84 2246 "line": 88
2060 } 2247 }
2061 }, 2248 },
2062 { 2249 {
2063 "defaultMessage": "!!!General", 2250 "defaultMessage": "!!!General",
2064 "end": { 2251 "end": {
2065 "column": 3, 2252 "column": 3,
2066 "line": 91 2253 "line": 95
2067 }, 2254 },
2068 "file": "src/components/settings/services/EditServiceForm.js", 2255 "file": "src/components/settings/services/EditServiceForm.js",
2069 "id": "settings.service.form.headlineGeneral", 2256 "id": "settings.service.form.headlineGeneral",
2070 "start": { 2257 "start": {
2071 "column": 19, 2258 "column": 19,
2072 "line": 88 2259 "line": 92
2073 } 2260 }
2074 }, 2261 },
2075 { 2262 {
2076 "defaultMessage": "!!!Delete", 2263 "defaultMessage": "!!!Delete",
2077 "end": { 2264 "end": {
2078 "column": 3, 2265 "column": 3,
2079 "line": 95 2266 "line": 99
2080 }, 2267 },
2081 "file": "src/components/settings/services/EditServiceForm.js", 2268 "file": "src/components/settings/services/EditServiceForm.js",
2082 "id": "settings.service.form.iconDelete", 2269 "id": "settings.service.form.iconDelete",
2083 "start": { 2270 "start": {
2084 "column": 14, 2271 "column": 14,
2085 "line": 92 2272 "line": 96
2086 } 2273 }
2087 }, 2274 },
2088 { 2275 {
2089 "defaultMessage": "!!!Drop your image, or click here", 2276 "defaultMessage": "!!!Drop your image, or click here",
2090 "end": { 2277 "end": {
2091 "column": 3, 2278 "column": 3,
2092 "line": 99 2279 "line": 103
2093 }, 2280 },
2094 "file": "src/components/settings/services/EditServiceForm.js", 2281 "file": "src/components/settings/services/EditServiceForm.js",
2095 "id": "settings.service.form.iconUpload", 2282 "id": "settings.service.form.iconUpload",
2096 "start": { 2283 "start": {
2097 "column": 14, 2284 "column": 14,
2098 "line": 96 2285 "line": 100
2099 } 2286 }
2100 }, 2287 },
2101 { 2288 {
2102 "defaultMessage": "!!!HTTP/HTTPS Proxy Settings", 2289 "defaultMessage": "!!!HTTP/HTTPS Proxy Settings",
2103 "end": { 2290 "end": {
2104 "column": 3, 2291 "column": 3,
2105 "line": 103 2292 "line": 107
2106 }, 2293 },
2107 "file": "src/components/settings/services/EditServiceForm.js", 2294 "file": "src/components/settings/services/EditServiceForm.js",
2108 "id": "settings.service.form.proxy.headline", 2295 "id": "settings.service.form.proxy.headline",
2109 "start": { 2296 "start": {
2110 "column": 17, 2297 "column": 17,
2111 "line": 100 2298 "line": 104
2112 } 2299 }
2113 }, 2300 },
2114 { 2301 {
2115 "defaultMessage": "!!!Please restart Franz after changing proxy Settings.", 2302 "defaultMessage": "!!!Please restart Ferdi after changing proxy Settings.",
2116 "end": { 2303 "end": {
2117 "column": 3, 2304 "column": 3,
2118 "line": 107 2305 "line": 111
2119 }, 2306 },
2120 "file": "src/components/settings/services/EditServiceForm.js", 2307 "file": "src/components/settings/services/EditServiceForm.js",
2121 "id": "settings.service.form.proxy.restartInfo", 2308 "id": "settings.service.form.proxy.restartInfo",
2122 "start": { 2309 "start": {
2123 "column": 20, 2310 "column": 20,
2124 "line": 104 2311 "line": 108
2125 } 2312 }
2126 }, 2313 },
2127 { 2314 {
2128 "defaultMessage": "!!!Proxy settings will not be synchronized with the Franz servers.", 2315 "defaultMessage": "!!!Proxy settings will not be synchronized with the Ferdi servers.",
2129 "end": { 2316 "end": {
2130 "column": 3, 2317 "column": 3,
2131 "line": 111 2318 "line": 115
2132 }, 2319 },
2133 "file": "src/components/settings/services/EditServiceForm.js", 2320 "file": "src/components/settings/services/EditServiceForm.js",
2134 "id": "settings.service.form.proxy.info", 2321 "id": "settings.service.form.proxy.info",
2135 "start": { 2322 "start": {
2136 "column": 13, 2323 "column": 13,
2137 "line": 108 2324 "line": 112
2138 } 2325 }
2139 } 2326 }
2140 ], 2327 ],
@@ -2369,234 +2556,377 @@
2369 "defaultMessage": "!!!Settings", 2556 "defaultMessage": "!!!Settings",
2370 "end": { 2557 "end": {
2371 "column": 3, 2558 "column": 3,
2372 "line": 19 2559 "line": 29
2373 }, 2560 },
2374 "file": "src/components/settings/settings/EditSettingsForm.js", 2561 "file": "src/components/settings/settings/EditSettingsForm.js",
2375 "id": "settings.app.headline", 2562 "id": "settings.app.headline",
2376 "start": { 2563 "start": {
2377 "column": 12, 2564 "column": 12,
2378 "line": 16 2565 "line": 26
2379 } 2566 }
2380 }, 2567 },
2381 { 2568 {
2382 "defaultMessage": "!!!General", 2569 "defaultMessage": "!!!General",
2383 "end": { 2570 "end": {
2384 "column": 3, 2571 "column": 3,
2385 "line": 23 2572 "line": 33
2386 }, 2573 },
2387 "file": "src/components/settings/settings/EditSettingsForm.js", 2574 "file": "src/components/settings/settings/EditSettingsForm.js",
2388 "id": "settings.app.headlineGeneral", 2575 "id": "settings.app.headlineGeneral",
2389 "start": { 2576 "start": {
2390 "column": 19, 2577 "column": 19,
2391 "line": 20 2578 "line": 30
2579 }
2580 },
2581 {
2582 "defaultMessage": "!!!By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
2583 "end": {
2584 "column": 3,
2585 "line": 37
2586 },
2587 "file": "src/components/settings/settings/EditSettingsForm.js",
2588 "id": "settings.app.hibernateInfo",
2589 "start": {
2590 "column": 17,
2591 "line": 34
2592 }
2593 },
2594 {
2595 "defaultMessage": "!!!We advice you to logout after changing your server as your settings might not be saved otherwise.",
2596 "end": {
2597 "column": 3,
2598 "line": 41
2599 },
2600 "file": "src/components/settings/settings/EditSettingsForm.js",
2601 "id": "settings.app.serverInfo",
2602 "start": {
2603 "column": 14,
2604 "line": 38
2605 }
2606 },
2607 {
2608 "defaultMessage": "!!!You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
2609 "end": {
2610 "column": 3,
2611 "line": 45
2612 },
2613 "file": "src/components/settings/settings/EditSettingsForm.js",
2614 "id": "settings.app.serverMoneyInfo",
2615 "start": {
2616 "column": 19,
2617 "line": 42
2618 }
2619 },
2620 {
2621 "defaultMessage": "!!!This server will be used for the \"Franz Todo\" feature. (default: https://app.franztodos.com)",
2622 "end": {
2623 "column": 3,
2624 "line": 49
2625 },
2626 "file": "src/components/settings/settings/EditSettingsForm.js",
2627 "id": "settings.app.todoServerInfo",
2628 "start": {
2629 "column": 18,
2630 "line": 46
2631 }
2632 },
2633 {
2634 "defaultMessage": "!!!Ferdi Lock Password",
2635 "end": {
2636 "column": 3,
2637 "line": 53
2638 },
2639 "file": "src/components/settings/settings/EditSettingsForm.js",
2640 "id": "settings.app.lockedPassword",
2641 "start": {
2642 "column": 18,
2643 "line": 50
2644 }
2645 },
2646 {
2647 "defaultMessage": "!!!Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
2648 "end": {
2649 "column": 3,
2650 "line": 57
2651 },
2652 "file": "src/components/settings/settings/EditSettingsForm.js",
2653 "id": "settings.app.lockedPasswordInfo",
2654 "start": {
2655 "column": 22,
2656 "line": 54
2657 }
2658 },
2659 {
2660 "defaultMessage": "!!!Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
2661 "end": {
2662 "column": 3,
2663 "line": 61
2664 },
2665 "file": "src/components/settings/settings/EditSettingsForm.js",
2666 "id": "settings.app.lockInfo",
2667 "start": {
2668 "column": 12,
2669 "line": 58
2670 }
2671 },
2672 {
2673 "defaultMessage": "!!!Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
2674 "end": {
2675 "column": 3,
2676 "line": 65
2677 },
2678 "file": "src/components/settings/settings/EditSettingsForm.js",
2679 "id": "settings.app.scheduledDNDTimeInfo",
2680 "start": {
2681 "column": 24,
2682 "line": 62
2683 }
2684 },
2685 {
2686 "defaultMessage": "!!!Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
2687 "end": {
2688 "column": 3,
2689 "line": 69
2690 },
2691 "file": "src/components/settings/settings/EditSettingsForm.js",
2692 "id": "settings.app.scheduledDNDInfo",
2693 "start": {
2694 "column": 20,
2695 "line": 66
2392 } 2696 }
2393 }, 2697 },
2394 { 2698 {
2395 "defaultMessage": "!!!Language", 2699 "defaultMessage": "!!!Language",
2396 "end": { 2700 "end": {
2397 "column": 3, 2701 "column": 3,
2398 "line": 27 2702 "line": 73
2399 }, 2703 },
2400 "file": "src/components/settings/settings/EditSettingsForm.js", 2704 "file": "src/components/settings/settings/EditSettingsForm.js",
2401 "id": "settings.app.headlineLanguage", 2705 "id": "settings.app.headlineLanguage",
2402 "start": { 2706 "start": {
2403 "column": 20, 2707 "column": 20,
2404 "line": 24 2708 "line": 70
2405 } 2709 }
2406 }, 2710 },
2407 { 2711 {
2408 "defaultMessage": "!!!Updates", 2712 "defaultMessage": "!!!Updates",
2409 "end": { 2713 "end": {
2410 "column": 3, 2714 "column": 3,
2411 "line": 31 2715 "line": 77
2412 }, 2716 },
2413 "file": "src/components/settings/settings/EditSettingsForm.js", 2717 "file": "src/components/settings/settings/EditSettingsForm.js",
2414 "id": "settings.app.headlineUpdates", 2718 "id": "settings.app.headlineUpdates",
2415 "start": { 2719 "start": {
2416 "column": 19, 2720 "column": 19,
2417 "line": 28 2721 "line": 74
2418 } 2722 }
2419 }, 2723 },
2420 { 2724 {
2421 "defaultMessage": "!!!Appearance", 2725 "defaultMessage": "!!!Appearance",
2422 "end": { 2726 "end": {
2423 "column": 3, 2727 "column": 3,
2424 "line": 35 2728 "line": 81
2425 }, 2729 },
2426 "file": "src/components/settings/settings/EditSettingsForm.js", 2730 "file": "src/components/settings/settings/EditSettingsForm.js",
2427 "id": "settings.app.headlineAppearance", 2731 "id": "settings.app.headlineAppearance",
2428 "start": { 2732 "start": {
2429 "column": 22, 2733 "column": 22,
2430 "line": 32 2734 "line": 78
2735 }
2736 },
2737 {
2738 "defaultMessage": "!!!Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
2739 "end": {
2740 "column": 3,
2741 "line": 85
2742 },
2743 "file": "src/components/settings/settings/EditSettingsForm.js",
2744 "id": "settings.app.universalDarkModeInfo",
2745 "start": {
2746 "column": 25,
2747 "line": 82
2748 }
2749 },
2750 {
2751 "defaultMessage": "!!!Write your accent color in a CSS-compatible format. (Default: #7367f0)",
2752 "end": {
2753 "column": 3,
2754 "line": 89
2755 },
2756 "file": "src/components/settings/settings/EditSettingsForm.js",
2757 "id": "settings.app.accentColorInfo",
2758 "start": {
2759 "column": 19,
2760 "line": 86
2431 } 2761 }
2432 }, 2762 },
2433 { 2763 {
2434 "defaultMessage": "!!!Advanced", 2764 "defaultMessage": "!!!Advanced",
2435 "end": { 2765 "end": {
2436 "column": 3, 2766 "column": 3,
2437 "line": 39 2767 "line": 93
2438 }, 2768 },
2439 "file": "src/components/settings/settings/EditSettingsForm.js", 2769 "file": "src/components/settings/settings/EditSettingsForm.js",
2440 "id": "settings.app.headlineAdvanced", 2770 "id": "settings.app.headlineAdvanced",
2441 "start": { 2771 "start": {
2442 "column": 20, 2772 "column": 20,
2443 "line": 36 2773 "line": 90
2444 } 2774 }
2445 }, 2775 },
2446 { 2776 {
2447 "defaultMessage": "!!!Help us to translate Franz into your language.", 2777 "defaultMessage": "!!!Help us to translate Ferdi into your language.",
2448 "end": { 2778 "end": {
2449 "column": 3, 2779 "column": 3,
2450 "line": 43 2780 "line": 97
2451 }, 2781 },
2452 "file": "src/components/settings/settings/EditSettingsForm.js", 2782 "file": "src/components/settings/settings/EditSettingsForm.js",
2453 "id": "settings.app.translationHelp", 2783 "id": "settings.app.translationHelp",
2454 "start": { 2784 "start": {
2455 "column": 19, 2785 "column": 19,
2456 "line": 40 2786 "line": 94
2457 } 2787 }
2458 }, 2788 },
2459 { 2789 {
2460 "defaultMessage": "!!!Cache", 2790 "defaultMessage": "!!!Cache",
2461 "end": { 2791 "end": {
2462 "column": 3, 2792 "column": 3,
2463 "line": 47 2793 "line": 101
2464 }, 2794 },
2465 "file": "src/components/settings/settings/EditSettingsForm.js", 2795 "file": "src/components/settings/settings/EditSettingsForm.js",
2466 "id": "settings.app.subheadlineCache", 2796 "id": "settings.app.subheadlineCache",
2467 "start": { 2797 "start": {
2468 "column": 20, 2798 "column": 20,
2469 "line": 44 2799 "line": 98
2470 } 2800 }
2471 }, 2801 },
2472 { 2802 {
2473 "defaultMessage": "!!!Franz cache is currently using {size} of disk space.", 2803 "defaultMessage": "!!!Ferdi cache is currently using {size} of disk space.",
2474 "end": { 2804 "end": {
2475 "column": 3, 2805 "column": 3,
2476 "line": 51 2806 "line": 105
2477 }, 2807 },
2478 "file": "src/components/settings/settings/EditSettingsForm.js", 2808 "file": "src/components/settings/settings/EditSettingsForm.js",
2479 "id": "settings.app.cacheInfo", 2809 "id": "settings.app.cacheInfo",
2480 "start": { 2810 "start": {
2481 "column": 13, 2811 "column": 13,
2482 "line": 48 2812 "line": 102
2483 } 2813 }
2484 }, 2814 },
2485 { 2815 {
2486 "defaultMessage": "!!!Clear cache", 2816 "defaultMessage": "!!!Clear cache",
2487 "end": { 2817 "end": {
2488 "column": 3, 2818 "column": 3,
2489 "line": 55 2819 "line": 109
2490 }, 2820 },
2491 "file": "src/components/settings/settings/EditSettingsForm.js", 2821 "file": "src/components/settings/settings/EditSettingsForm.js",
2492 "id": "settings.app.buttonClearAllCache", 2822 "id": "settings.app.buttonClearAllCache",
2493 "start": { 2823 "start": {
2494 "column": 23, 2824 "column": 23,
2495 "line": 52 2825 "line": 106
2496 } 2826 }
2497 }, 2827 },
2498 { 2828 {
2499 "defaultMessage": "!!!Check for updates", 2829 "defaultMessage": "!!!Check for updates",
2500 "end": { 2830 "end": {
2501 "column": 3, 2831 "column": 3,
2502 "line": 59 2832 "line": 113
2503 }, 2833 },
2504 "file": "src/components/settings/settings/EditSettingsForm.js", 2834 "file": "src/components/settings/settings/EditSettingsForm.js",
2505 "id": "settings.app.buttonSearchForUpdate", 2835 "id": "settings.app.buttonSearchForUpdate",
2506 "start": { 2836 "start": {
2507 "column": 25, 2837 "column": 25,
2508 "line": 56 2838 "line": 110
2509 } 2839 }
2510 }, 2840 },
2511 { 2841 {
2512 "defaultMessage": "!!!Restart & install update", 2842 "defaultMessage": "!!!Restart & install update",
2513 "end": { 2843 "end": {
2514 "column": 3, 2844 "column": 3,
2515 "line": 63 2845 "line": 117
2516 }, 2846 },
2517 "file": "src/components/settings/settings/EditSettingsForm.js", 2847 "file": "src/components/settings/settings/EditSettingsForm.js",
2518 "id": "settings.app.buttonInstallUpdate", 2848 "id": "settings.app.buttonInstallUpdate",
2519 "start": { 2849 "start": {
2520 "column": 23, 2850 "column": 23,
2521 "line": 60 2851 "line": 114
2522 } 2852 }
2523 }, 2853 },
2524 { 2854 {
2525 "defaultMessage": "!!!Is searching for update", 2855 "defaultMessage": "!!!Is searching for update",
2526 "end": { 2856 "end": {
2527 "column": 3, 2857 "column": 3,
2528 "line": 67 2858 "line": 121
2529 }, 2859 },
2530 "file": "src/components/settings/settings/EditSettingsForm.js", 2860 "file": "src/components/settings/settings/EditSettingsForm.js",
2531 "id": "settings.app.updateStatusSearching", 2861 "id": "settings.app.updateStatusSearching",
2532 "start": { 2862 "start": {
2533 "column": 25, 2863 "column": 25,
2534 "line": 64 2864 "line": 118
2535 } 2865 }
2536 }, 2866 },
2537 { 2867 {
2538 "defaultMessage": "!!!Update available, downloading...", 2868 "defaultMessage": "!!!Update available, downloading...",
2539 "end": { 2869 "end": {
2540 "column": 3, 2870 "column": 3,
2541 "line": 71 2871 "line": 125
2542 }, 2872 },
2543 "file": "src/components/settings/settings/EditSettingsForm.js", 2873 "file": "src/components/settings/settings/EditSettingsForm.js",
2544 "id": "settings.app.updateStatusAvailable", 2874 "id": "settings.app.updateStatusAvailable",
2545 "start": { 2875 "start": {
2546 "column": 25, 2876 "column": 25,
2547 "line": 68 2877 "line": 122
2548 } 2878 }
2549 }, 2879 },
2550 { 2880 {
2551 "defaultMessage": "!!!You are using the latest version of Franz", 2881 "defaultMessage": "!!!You are using the latest version of Ferdi",
2552 "end": { 2882 "end": {
2553 "column": 3, 2883 "column": 3,
2554 "line": 75 2884 "line": 129
2555 }, 2885 },
2556 "file": "src/components/settings/settings/EditSettingsForm.js", 2886 "file": "src/components/settings/settings/EditSettingsForm.js",
2557 "id": "settings.app.updateStatusUpToDate", 2887 "id": "settings.app.updateStatusUpToDate",
2558 "start": { 2888 "start": {
2559 "column": 24, 2889 "column": 24,
2560 "line": 72 2890 "line": 126
2561 } 2891 }
2562 }, 2892 },
2563 { 2893 {
2564 "defaultMessage": "!!!Current version:", 2894 "defaultMessage": "!!!Current version:",
2565 "end": { 2895 "end": {
2566 "column": 3, 2896 "column": 3,
2567 "line": 79 2897 "line": 133
2568 }, 2898 },
2569 "file": "src/components/settings/settings/EditSettingsForm.js", 2899 "file": "src/components/settings/settings/EditSettingsForm.js",
2570 "id": "settings.app.currentVersion", 2900 "id": "settings.app.currentVersion",
2571 "start": { 2901 "start": {
2572 "column": 18, 2902 "column": 18,
2573 "line": 76 2903 "line": 130
2574 } 2904 }
2575 }, 2905 },
2576 { 2906 {
2577 "defaultMessage": "!!!Changes require restart", 2907 "defaultMessage": "!!!Changes require restart",
2578 "end": { 2908 "end": {
2579 "column": 3, 2909 "column": 3,
2580 "line": 83 2910 "line": 137
2581 }, 2911 },
2582 "file": "src/components/settings/settings/EditSettingsForm.js", 2912 "file": "src/components/settings/settings/EditSettingsForm.js",
2583 "id": "settings.app.restartRequired", 2913 "id": "settings.app.restartRequired",
2584 "start": { 2914 "start": {
2585 "column": 29, 2915 "column": 29,
2586 "line": 80 2916 "line": 134
2587 } 2917 }
2588 }, 2918 },
2589 { 2919 {
2590 "defaultMessage": "!!!Official translations are English & German. All other languages are community based translations.", 2920 "defaultMessage": "!!!Official translations are English & German. All other languages are community based translations.",
2591 "end": { 2921 "end": {
2592 "column": 3, 2922 "column": 3,
2593 "line": 87 2923 "line": 141
2594 }, 2924 },
2595 "file": "src/components/settings/settings/EditSettingsForm.js", 2925 "file": "src/components/settings/settings/EditSettingsForm.js",
2596 "id": "settings.app.languageDisclaimer", 2926 "id": "settings.app.languageDisclaimer",
2597 "start": { 2927 "start": {
2598 "column": 22, 2928 "column": 22,
2599 "line": 84 2929 "line": 138
2600 } 2930 }
2601 } 2931 }
2602 ], 2932 ],
@@ -2605,6 +2935,76 @@
2605 { 2935 {
2606 "descriptors": [ 2936 "descriptors": [
2607 { 2937 {
2938 "defaultMessage": "!!!Support Ferdi",
2939 "end": {
2940 "column": 3,
2941 "line": 11
2942 },
2943 "file": "src/components/settings/supportFerdi/SupportFerdiDashboard.js",
2944 "id": "settings.supportFerdi.headline",
2945 "start": {
2946 "column": 12,
2947 "line": 8
2948 }
2949 },
2950 {
2951 "defaultMessage": "!!!Do you like Ferdi? Spread the love!",
2952 "end": {
2953 "column": 3,
2954 "line": 15
2955 },
2956 "file": "src/components/settings/supportFerdi/SupportFerdiDashboard.js",
2957 "id": "settings.supportFerdi.title",
2958 "start": {
2959 "column": 9,
2960 "line": 12
2961 }
2962 },
2963 {
2964 "defaultMessage": "!!!Star on GitHub",
2965 "end": {
2966 "column": 3,
2967 "line": 19
2968 },
2969 "file": "src/components/settings/supportFerdi/SupportFerdiDashboard.js",
2970 "id": "settings.supportFerdi.github",
2971 "start": {
2972 "column": 10,
2973 "line": 16
2974 }
2975 },
2976 {
2977 "defaultMessage": "!!!Tell your Friends",
2978 "end": {
2979 "column": 3,
2980 "line": 23
2981 },
2982 "file": "src/components/settings/supportFerdi/SupportFerdiDashboard.js",
2983 "id": "settings.supportFerdi.share",
2984 "start": {
2985 "column": 9,
2986 "line": 20
2987 }
2988 },
2989 {
2990 "defaultMessage": "!!!Support our Open Collective",
2991 "end": {
2992 "column": 3,
2993 "line": 27
2994 },
2995 "file": "src/components/settings/supportFerdi/SupportFerdiDashboard.js",
2996 "id": "settings.supportFerdi.openCollective",
2997 "start": {
2998 "column": 18,
2999 "line": 24
3000 }
3001 }
3002 ],
3003 "path": "src/components/settings/supportFerdi/SupportFerdiDashboard.json"
3004 },
3005 {
3006 "descriptors": [
3007 {
2608 "defaultMessage": "!!!Team", 3008 "defaultMessage": "!!!Team",
2609 "end": { 3009 "end": {
2610 "column": 3, 3010 "column": 3,
@@ -2618,7 +3018,7 @@
2618 } 3018 }
2619 }, 3019 },
2620 { 3020 {
2621 "defaultMessage": "!!!Franz for Teams", 3021 "defaultMessage": "!!!Ferdi for Teams",
2622 "end": { 3022 "end": {
2623 "column": 3, 3023 "column": 3,
2624 "line": 24 3024 "line": 24
@@ -2644,7 +3044,7 @@
2644 } 3044 }
2645 }, 3045 },
2646 { 3046 {
2647 "defaultMessage": "!!!Franz for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!", 3047 "defaultMessage": "!!!Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
2648 "end": { 3048 "end": {
2649 "column": 3, 3049 "column": 3,
2650 "line": 32 3050 "line": 32
@@ -2681,6 +3081,32 @@
2681 "column": 17, 3081 "column": 17,
2682 "line": 37 3082 "line": 37
2683 } 3083 }
3084 },
3085 {
3086 "defaultMessage": "!!!Teams are unavailable",
3087 "end": {
3088 "column": 3,
3089 "line": 44
3090 },
3091 "file": "src/components/settings/team/TeamDashboard.js",
3092 "id": "settings.team.teamsUnavailable",
3093 "start": {
3094 "column": 20,
3095 "line": 41
3096 }
3097 },
3098 {
3099 "defaultMessage": "!!!Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
3100 "end": {
3101 "column": 3,
3102 "line": 48
3103 },
3104 "file": "src/components/settings/team/TeamDashboard.js",
3105 "id": "settings.team.teamsUnavailableInfo",
3106 "start": {
3107 "column": 24,
3108 "line": 45
3109 }
2684 } 3110 }
2685 ], 3111 ],
2686 "path": "src/components/settings/team/TeamDashboard.json" 3112 "path": "src/components/settings/team/TeamDashboard.json"
@@ -2976,91 +3402,91 @@
2976 "defaultMessage": "!!!Get a Franz Supporter License", 3402 "defaultMessage": "!!!Get a Franz Supporter License",
2977 "end": { 3403 "end": {
2978 "column": 3, 3404 "column": 3,
2979 "line": 16 3405 "line": 15
2980 }, 3406 },
2981 "file": "src/components/ui/ActivateTrialButton/index.js", 3407 "file": "src/components/ui/ActivateTrialButton/index.js",
2982 "id": "feature.delayApp.upgrade.action", 3408 "id": "feature.delayApp.upgrade.action",
2983 "start": { 3409 "start": {
2984 "column": 10, 3410 "column": 10,
2985 "line": 13 3411 "line": 12
2986 } 3412 }
2987 }, 3413 },
2988 { 3414 {
2989 "defaultMessage": "!!!Yes, I want the free 14 day trial of Franz Professional", 3415 "defaultMessage": "!!!Yes, I want the free 14 day trial of Franz Professional",
2990 "end": { 3416 "end": {
2991 "column": 3, 3417 "column": 3,
2992 "line": 20 3418 "line": 19
2993 }, 3419 },
2994 "file": "src/components/ui/ActivateTrialButton/index.js", 3420 "file": "src/components/ui/ActivateTrialButton/index.js",
2995 "id": "feature.delayApp.trial.action", 3421 "id": "feature.delayApp.trial.action",
2996 "start": { 3422 "start": {
2997 "column": 15, 3423 "column": 15,
2998 "line": 17 3424 "line": 16
2999 } 3425 }
3000 }, 3426 },
3001 { 3427 {
3002 "defaultMessage": "!!!Upgrade account", 3428 "defaultMessage": "!!!Upgrade account",
3003 "end": { 3429 "end": {
3004 "column": 3, 3430 "column": 3,
3005 "line": 24 3431 "line": 23
3006 }, 3432 },
3007 "file": "src/components/ui/ActivateTrialButton/index.js", 3433 "file": "src/components/ui/ActivateTrialButton/index.js",
3008 "id": "feature.delayApp.upgrade.actionShort", 3434 "id": "feature.delayApp.upgrade.actionShort",
3009 "start": { 3435 "start": {
3010 "column": 15, 3436 "column": 15,
3011 "line": 21 3437 "line": 20
3012 } 3438 }
3013 }, 3439 },
3014 { 3440 {
3015 "defaultMessage": "!!!Activate the free Franz Professional trial", 3441 "defaultMessage": "!!!Activate the free Franz Professional trial",
3016 "end": { 3442 "end": {
3017 "column": 3, 3443 "column": 3,
3018 "line": 28 3444 "line": 27
3019 }, 3445 },
3020 "file": "src/components/ui/ActivateTrialButton/index.js", 3446 "file": "src/components/ui/ActivateTrialButton/index.js",
3021 "id": "feature.delayApp.trial.actionShort", 3447 "id": "feature.delayApp.trial.actionShort",
3022 "start": { 3448 "start": {
3023 "column": 20, 3449 "column": 20,
3024 "line": 25 3450 "line": 24
3025 } 3451 }
3026 }, 3452 },
3027 { 3453 {
3028 "defaultMessage": "!!!No strings attached", 3454 "defaultMessage": "!!!No strings attached",
3029 "end": { 3455 "end": {
3030 "column": 3, 3456 "column": 3,
3031 "line": 32 3457 "line": 31
3032 }, 3458 },
3033 "file": "src/components/ui/ActivateTrialButton/index.js", 3459 "file": "src/components/ui/ActivateTrialButton/index.js",
3034 "id": "pricing.trial.terms.headline", 3460 "id": "pricing.trial.terms.headline",
3035 "start": { 3461 "start": {
3036 "column": 29, 3462 "column": 29,
3037 "line": 29 3463 "line": 28
3038 } 3464 }
3039 }, 3465 },
3040 { 3466 {
3041 "defaultMessage": "!!!No credit card required", 3467 "defaultMessage": "!!!No credit card required",
3042 "end": { 3468 "end": {
3043 "column": 3, 3469 "column": 3,
3044 "line": 36 3470 "line": 35
3045 }, 3471 },
3046 "file": "src/components/ui/ActivateTrialButton/index.js", 3472 "file": "src/components/ui/ActivateTrialButton/index.js",
3047 "id": "pricing.trial.terms.noCreditCard", 3473 "id": "pricing.trial.terms.noCreditCard",
3048 "start": { 3474 "start": {
3049 "column": 16, 3475 "column": 16,
3050 "line": 33 3476 "line": 32
3051 } 3477 }
3052 }, 3478 },
3053 { 3479 {
3054 "defaultMessage": "!!!Your free trial ends automatically after 14 days", 3480 "defaultMessage": "!!!Your free trial ends automatically after 14 days",
3055 "end": { 3481 "end": {
3056 "column": 3, 3482 "column": 3,
3057 "line": 40 3483 "line": 39
3058 }, 3484 },
3059 "file": "src/components/ui/ActivateTrialButton/index.js", 3485 "file": "src/components/ui/ActivateTrialButton/index.js",
3060 "id": "pricing.trial.terms.automaticTrialEnd", 3486 "id": "pricing.trial.terms.automaticTrialEnd",
3061 "start": { 3487 "start": {
3062 "column": 21, 3488 "column": 21,
3063 "line": 37 3489 "line": 36
3064 } 3490 }
3065 } 3491 }
3066 ], 3492 ],
@@ -3069,198 +3495,133 @@
3069 { 3495 {
3070 "descriptors": [ 3496 "descriptors": [
3071 { 3497 {
3072 "defaultMessage": "!!!Choose from more than 70 Services",
3073 "end": {
3074 "column": 3,
3075 "line": 12
3076 },
3077 "file": "src/components/ui/FeatureList.js",
3078 "id": "pricing.features.recipes",
3079 "start": {
3080 "column": 20,
3081 "line": 9
3082 }
3083 },
3084 {
3085 "defaultMessage": "!!!Account Synchronisation",
3086 "end": {
3087 "column": 3,
3088 "line": 16
3089 },
3090 "file": "src/components/ui/FeatureList.js",
3091 "id": "pricing.features.accountSync",
3092 "start": {
3093 "column": 15,
3094 "line": 13
3095 }
3096 },
3097 {
3098 "defaultMessage": "!!!Desktop Notifications",
3099 "end": {
3100 "column": 3,
3101 "line": 20
3102 },
3103 "file": "src/components/ui/FeatureList.js",
3104 "id": "pricing.features.desktopNotifications",
3105 "start": {
3106 "column": 24,
3107 "line": 17
3108 }
3109 },
3110 {
3111 "defaultMessage": "!!!Add unlimited services", 3498 "defaultMessage": "!!!Add unlimited services",
3112 "end": { 3499 "end": {
3113 "column": 3, 3500 "column": 3,
3114 "line": 24 3501 "line": 11
3115 }, 3502 },
3116 "file": "src/components/ui/FeatureList.js", 3503 "file": "src/components/ui/FeatureList.js",
3117 "id": "pricing.features.unlimitedServices", 3504 "id": "pricing.features.unlimitedServices",
3118 "start": { 3505 "start": {
3119 "column": 21, 3506 "column": 21,
3120 "line": 21 3507 "line": 8
3121 }
3122 },
3123 {
3124 "defaultMessage": "!!!Add up to 3 services",
3125 "end": {
3126 "column": 3,
3127 "line": 28
3128 },
3129 "file": "src/components/ui/FeatureList.js",
3130 "id": "pricing.features.upToThreeServices",
3131 "start": {
3132 "column": 21,
3133 "line": 25
3134 }
3135 },
3136 {
3137 "defaultMessage": "!!!Add up to 6 services",
3138 "end": {
3139 "column": 3,
3140 "line": 32
3141 },
3142 "file": "src/components/ui/FeatureList.js",
3143 "id": "pricing.features.upToSixServices",
3144 "start": {
3145 "column": 19,
3146 "line": 29
3147 } 3508 }
3148 }, 3509 },
3149 { 3510 {
3150 "defaultMessage": "!!!Spellchecker support", 3511 "defaultMessage": "!!!Spellchecker support",
3151 "end": { 3512 "end": {
3152 "column": 3, 3513 "column": 3,
3153 "line": 36 3514 "line": 15
3154 }, 3515 },
3155 "file": "src/components/ui/FeatureList.js", 3516 "file": "src/components/ui/FeatureList.js",
3156 "id": "pricing.features.spellchecker", 3517 "id": "pricing.features.spellchecker",
3157 "start": { 3518 "start": {
3158 "column": 16, 3519 "column": 16,
3159 "line": 33 3520 "line": 12
3160 } 3521 }
3161 }, 3522 },
3162 { 3523 {
3163 "defaultMessage": "!!!Workspaces", 3524 "defaultMessage": "!!!Workspaces",
3164 "end": { 3525 "end": {
3165 "column": 3, 3526 "column": 3,
3166 "line": 40 3527 "line": 19
3167 }, 3528 },
3168 "file": "src/components/ui/FeatureList.js", 3529 "file": "src/components/ui/FeatureList.js",
3169 "id": "pricing.features.workspaces", 3530 "id": "pricing.features.workspaces",
3170 "start": { 3531 "start": {
3171 "column": 14, 3532 "column": 14,
3172 "line": 37 3533 "line": 16
3173 } 3534 }
3174 }, 3535 },
3175 { 3536 {
3176 "defaultMessage": "!!!Add Custom Websites", 3537 "defaultMessage": "!!!Add Custom Websites",
3177 "end": { 3538 "end": {
3178 "column": 3, 3539 "column": 3,
3179 "line": 44 3540 "line": 23
3180 }, 3541 },
3181 "file": "src/components/ui/FeatureList.js", 3542 "file": "src/components/ui/FeatureList.js",
3182 "id": "pricing.features.customWebsites", 3543 "id": "pricing.features.customWebsites",
3183 "start": { 3544 "start": {
3184 "column": 18, 3545 "column": 18,
3185 "line": 41 3546 "line": 20
3186 } 3547 }
3187 }, 3548 },
3188 { 3549 {
3189 "defaultMessage": "!!!On-premise & other Hosted Services", 3550 "defaultMessage": "!!!On-premise & other Hosted Services",
3190 "end": { 3551 "end": {
3191 "column": 3, 3552 "column": 3,
3192 "line": 48 3553 "line": 27
3193 }, 3554 },
3194 "file": "src/components/ui/FeatureList.js", 3555 "file": "src/components/ui/FeatureList.js",
3195 "id": "pricing.features.onPremise", 3556 "id": "pricing.features.onPremise",
3196 "start": { 3557 "start": {
3197 "column": 13, 3558 "column": 13,
3198 "line": 45 3559 "line": 24
3199 } 3560 }
3200 }, 3561 },
3201 { 3562 {
3202 "defaultMessage": "!!!Install 3rd party services", 3563 "defaultMessage": "!!!Install 3rd party services",
3203 "end": { 3564 "end": {
3204 "column": 3, 3565 "column": 3,
3205 "line": 52 3566 "line": 31
3206 }, 3567 },
3207 "file": "src/components/ui/FeatureList.js", 3568 "file": "src/components/ui/FeatureList.js",
3208 "id": "pricing.features.thirdPartyServices", 3569 "id": "pricing.features.thirdPartyServices",
3209 "start": { 3570 "start": {
3210 "column": 22, 3571 "column": 22,
3211 "line": 49 3572 "line": 28
3212 } 3573 }
3213 }, 3574 },
3214 { 3575 {
3215 "defaultMessage": "!!!Service Proxies", 3576 "defaultMessage": "!!!Service Proxies",
3216 "end": { 3577 "end": {
3217 "column": 3, 3578 "column": 3,
3218 "line": 56 3579 "line": 35
3219 }, 3580 },
3220 "file": "src/components/ui/FeatureList.js", 3581 "file": "src/components/ui/FeatureList.js",
3221 "id": "pricing.features.serviceProxies", 3582 "id": "pricing.features.serviceProxies",
3222 "start": { 3583 "start": {
3223 "column": 18, 3584 "column": 18,
3224 "line": 53 3585 "line": 32
3225 } 3586 }
3226 }, 3587 },
3227 { 3588 {
3228 "defaultMessage": "!!!Team Management", 3589 "defaultMessage": "!!!Team Management",
3229 "end": { 3590 "end": {
3230 "column": 3, 3591 "column": 3,
3231 "line": 60 3592 "line": 39
3232 }, 3593 },
3233 "file": "src/components/ui/FeatureList.js", 3594 "file": "src/components/ui/FeatureList.js",
3234 "id": "pricing.features.teamManagement", 3595 "id": "pricing.features.teamManagement",
3235 "start": { 3596 "start": {
3236 "column": 18, 3597 "column": 18,
3237 "line": 57 3598 "line": 36
3238 } 3599 }
3239 }, 3600 },
3240 { 3601 {
3241 "defaultMessage": "!!!No Waiting Screens", 3602 "defaultMessage": "!!!No Waiting Screens",
3242 "end": { 3603 "end": {
3243 "column": 3, 3604 "column": 3,
3244 "line": 64 3605 "line": 43
3245 }, 3606 },
3246 "file": "src/components/ui/FeatureList.js", 3607 "file": "src/components/ui/FeatureList.js",
3247 "id": "pricing.features.appDelays", 3608 "id": "pricing.features.appDelays",
3248 "start": { 3609 "start": {
3249 "column": 13, 3610 "column": 13,
3250 "line": 61 3611 "line": 40
3251 } 3612 }
3252 }, 3613 },
3253 { 3614 {
3254 "defaultMessage": "!!!Forever ad-free", 3615 "defaultMessage": "!!!Forever ad-free",
3255 "end": { 3616 "end": {
3256 "column": 3, 3617 "column": 3,
3257 "line": 68 3618 "line": 47
3258 }, 3619 },
3259 "file": "src/components/ui/FeatureList.js", 3620 "file": "src/components/ui/FeatureList.js",
3260 "id": "pricing.features.adFree", 3621 "id": "pricing.features.adFree",
3261 "start": { 3622 "start": {
3262 "column": 10, 3623 "column": 10,
3263 "line": 65 3624 "line": 44
3264 } 3625 }
3265 } 3626 }
3266 ], 3627 ],
@@ -3272,13 +3633,13 @@
3272 "defaultMessage": "!!!Upgrade account", 3633 "defaultMessage": "!!!Upgrade account",
3273 "end": { 3634 "end": {
3274 "column": 3, 3635 "column": 3,
3275 "line": 19 3636 "line": 18
3276 }, 3637 },
3277 "file": "src/components/ui/PremiumFeatureContainer/index.js", 3638 "file": "src/components/ui/PremiumFeatureContainer/index.js",
3278 "id": "premiumFeature.button.upgradeAccount", 3639 "id": "premiumFeature.button.upgradeAccount",
3279 "start": { 3640 "start": {
3280 "column": 10, 3641 "column": 10,
3281 "line": 16 3642 "line": 15
3282 } 3643 }
3283 } 3644 }
3284 ], 3645 ],
@@ -3290,13 +3651,13 @@
3290 "defaultMessage": "!!!Upgrade to Franz Professional", 3651 "defaultMessage": "!!!Upgrade to Franz Professional",
3291 "end": { 3652 "end": {
3292 "column": 3, 3653 "column": 3,
3293 "line": 16 3654 "line": 15
3294 }, 3655 },
3295 "file": "src/components/ui/UpgradeButton/index.js", 3656 "file": "src/components/ui/UpgradeButton/index.js",
3296 "id": "global.upgradeButton.upgradeToPro", 3657 "id": "global.upgradeButton.upgradeToPro",
3297 "start": { 3658 "start": {
3298 "column": 16, 3659 "column": 16,
3299 "line": 13 3660 "line": 12
3300 } 3661 }
3301 } 3662 }
3302 ], 3663 ],
@@ -3554,185 +3915,367 @@
3554 { 3915 {
3555 "descriptors": [ 3916 "descriptors": [
3556 { 3917 {
3557 "defaultMessage": "!!!Launch Franz on start", 3918 "defaultMessage": "!!!Launch Ferdi on start",
3558 "end": { 3919 "end": {
3559 "column": 3, 3920 "column": 3,
3560 "line": 29 3921 "line": 32
3561 }, 3922 },
3562 "file": "src/containers/settings/EditSettingsScreen.js", 3923 "file": "src/containers/settings/EditSettingsScreen.js",
3563 "id": "settings.app.form.autoLaunchOnStart", 3924 "id": "settings.app.form.autoLaunchOnStart",
3564 "start": { 3925 "start": {
3565 "column": 21, 3926 "column": 21,
3566 "line": 26 3927 "line": 29
3567 } 3928 }
3568 }, 3929 },
3569 { 3930 {
3570 "defaultMessage": "!!!Open in background", 3931 "defaultMessage": "!!!Open in background",
3571 "end": { 3932 "end": {
3572 "column": 3, 3933 "column": 3,
3573 "line": 33 3934 "line": 36
3574 }, 3935 },
3575 "file": "src/containers/settings/EditSettingsScreen.js", 3936 "file": "src/containers/settings/EditSettingsScreen.js",
3576 "id": "settings.app.form.autoLaunchInBackground", 3937 "id": "settings.app.form.autoLaunchInBackground",
3577 "start": { 3938 "start": {
3578 "column": 26, 3939 "column": 26,
3579 "line": 30 3940 "line": 33
3580 } 3941 }
3581 }, 3942 },
3582 { 3943 {
3583 "defaultMessage": "!!!Keep Franz in background when closing the window", 3944 "defaultMessage": "!!!Keep Ferdi in background when closing the window",
3584 "end": { 3945 "end": {
3585 "column": 3, 3946 "column": 3,
3586 "line": 37 3947 "line": 40
3587 }, 3948 },
3588 "file": "src/containers/settings/EditSettingsScreen.js", 3949 "file": "src/containers/settings/EditSettingsScreen.js",
3589 "id": "settings.app.form.runInBackground", 3950 "id": "settings.app.form.runInBackground",
3590 "start": { 3951 "start": {
3591 "column": 19, 3952 "column": 19,
3592 "line": 34 3953 "line": 37
3593 } 3954 }
3594 }, 3955 },
3595 { 3956 {
3596 "defaultMessage": "!!!Show Franz in system tray", 3957 "defaultMessage": "!!!Show Ferdi in system tray",
3597 "end": { 3958 "end": {
3598 "column": 3, 3959 "column": 3,
3599 "line": 41 3960 "line": 44
3600 }, 3961 },
3601 "file": "src/containers/settings/EditSettingsScreen.js", 3962 "file": "src/containers/settings/EditSettingsScreen.js",
3602 "id": "settings.app.form.enableSystemTray", 3963 "id": "settings.app.form.enableSystemTray",
3603 "start": { 3964 "start": {
3604 "column": 20, 3965 "column": 20,
3605 "line": 38 3966 "line": 41
3606 } 3967 }
3607 }, 3968 },
3608 { 3969 {
3609 "defaultMessage": "!!!Minimize Franz to system tray", 3970 "defaultMessage": "!!!Minimize Ferdi to system tray",
3610 "end": { 3971 "end": {
3611 "column": 3, 3972 "column": 3,
3612 "line": 45 3973 "line": 48
3613 }, 3974 },
3614 "file": "src/containers/settings/EditSettingsScreen.js", 3975 "file": "src/containers/settings/EditSettingsScreen.js",
3615 "id": "settings.app.form.minimizeToSystemTray", 3976 "id": "settings.app.form.minimizeToSystemTray",
3616 "start": { 3977 "start": {
3617 "column": 24, 3978 "column": 24,
3618 "line": 42 3979 "line": 45
3619 } 3980 }
3620 }, 3981 },
3621 { 3982 {
3622 "defaultMessage": "!!!Language", 3983 "defaultMessage": "!!!Don't show message content in notifications",
3623 "end": { 3984 "end": {
3624 "column": 3, 3985 "column": 3,
3986 "line": 52
3987 },
3988 "file": "src/containers/settings/EditSettingsScreen.js",
3989 "id": "settings.app.form.privateNotifications",
3990 "start": {
3991 "column": 24,
3625 "line": 49 3992 "line": 49
3993 }
3994 },
3995 {
3996 "defaultMessage": "!!!Always show service navigation bar",
3997 "end": {
3998 "column": 3,
3999 "line": 56
4000 },
4001 "file": "src/containers/settings/EditSettingsScreen.js",
4002 "id": "settings.app.form.showServiceNavigationBar",
4003 "start": {
4004 "column": 28,
4005 "line": 53
4006 }
4007 },
4008 {
4009 "defaultMessage": "!!!Enable service hibernation",
4010 "end": {
4011 "column": 3,
4012 "line": 60
4013 },
4014 "file": "src/containers/settings/EditSettingsScreen.js",
4015 "id": "settings.app.form.hibernate",
4016 "start": {
4017 "column": 13,
4018 "line": 57
4019 }
4020 },
4021 {
4022 "defaultMessage": "!!!Hibernation strategy",
4023 "end": {
4024 "column": 3,
4025 "line": 64
4026 },
4027 "file": "src/containers/settings/EditSettingsScreen.js",
4028 "id": "settings.app.form.hibernationStrategy",
4029 "start": {
4030 "column": 23,
4031 "line": 61
4032 }
4033 },
4034 {
4035 "defaultMessage": "!!!Server",
4036 "end": {
4037 "column": 3,
4038 "line": 68
4039 },
4040 "file": "src/containers/settings/EditSettingsScreen.js",
4041 "id": "settings.app.form.server",
4042 "start": {
4043 "column": 10,
4044 "line": 65
4045 }
4046 },
4047 {
4048 "defaultMessage": "!!!Todo Server",
4049 "end": {
4050 "column": 3,
4051 "line": 72
4052 },
4053 "file": "src/containers/settings/EditSettingsScreen.js",
4054 "id": "settings.app.form.todoServer",
4055 "start": {
4056 "column": 14,
4057 "line": 69
4058 }
4059 },
4060 {
4061 "defaultMessage": "!!!Enable Ferdi password lock",
4062 "end": {
4063 "column": 3,
4064 "line": 76
4065 },
4066 "file": "src/containers/settings/EditSettingsScreen.js",
4067 "id": "settings.app.form.enableLock",
4068 "start": {
4069 "column": 14,
4070 "line": 73
4071 }
4072 },
4073 {
4074 "defaultMessage": "!!!Ferdi Lock password",
4075 "end": {
4076 "column": 3,
4077 "line": 80
4078 },
4079 "file": "src/containers/settings/EditSettingsScreen.js",
4080 "id": "settings.app.form.lockPassword",
4081 "start": {
4082 "column": 16,
4083 "line": 77
4084 }
4085 },
4086 {
4087 "defaultMessage": "!!!Enable scheduled Do-not-Disturb",
4088 "end": {
4089 "column": 3,
4090 "line": 84
4091 },
4092 "file": "src/containers/settings/EditSettingsScreen.js",
4093 "id": "settings.app.form.scheduledDNDEnabled",
4094 "start": {
4095 "column": 23,
4096 "line": 81
4097 }
4098 },
4099 {
4100 "defaultMessage": "!!!From",
4101 "end": {
4102 "column": 3,
4103 "line": 88
4104 },
4105 "file": "src/containers/settings/EditSettingsScreen.js",
4106 "id": "settings.app.form.scheduledDNDStart",
4107 "start": {
4108 "column": 21,
4109 "line": 85
4110 }
4111 },
4112 {
4113 "defaultMessage": "!!!To",
4114 "end": {
4115 "column": 3,
4116 "line": 92
4117 },
4118 "file": "src/containers/settings/EditSettingsScreen.js",
4119 "id": "settings.app.form.scheduledDNDEnd",
4120 "start": {
4121 "column": 19,
4122 "line": 89
4123 }
4124 },
4125 {
4126 "defaultMessage": "!!!Language",
4127 "end": {
4128 "column": 3,
4129 "line": 96
3626 }, 4130 },
3627 "file": "src/containers/settings/EditSettingsScreen.js", 4131 "file": "src/containers/settings/EditSettingsScreen.js",
3628 "id": "settings.app.form.language", 4132 "id": "settings.app.form.language",
3629 "start": { 4133 "start": {
3630 "column": 12, 4134 "column": 12,
3631 "line": 46 4135 "line": 93
3632 } 4136 }
3633 }, 4137 },
3634 { 4138 {
3635 "defaultMessage": "!!!Dark Mode", 4139 "defaultMessage": "!!!Dark Mode",
3636 "end": { 4140 "end": {
3637 "column": 3, 4141 "column": 3,
3638 "line": 53 4142 "line": 100
3639 }, 4143 },
3640 "file": "src/containers/settings/EditSettingsScreen.js", 4144 "file": "src/containers/settings/EditSettingsScreen.js",
3641 "id": "settings.app.form.darkMode", 4145 "id": "settings.app.form.darkMode",
3642 "start": { 4146 "start": {
3643 "column": 12, 4147 "column": 12,
3644 "line": 50 4148 "line": 97
4149 }
4150 },
4151 {
4152 "defaultMessage": "!!!Enable universal Dark Mode",
4153 "end": {
4154 "column": 3,
4155 "line": 104
4156 },
4157 "file": "src/containers/settings/EditSettingsScreen.js",
4158 "id": "settings.app.form.universalDarkMode",
4159 "start": {
4160 "column": 21,
4161 "line": 101
4162 }
4163 },
4164 {
4165 "defaultMessage": "!!!Accent color",
4166 "end": {
4167 "column": 3,
4168 "line": 108
4169 },
4170 "file": "src/containers/settings/EditSettingsScreen.js",
4171 "id": "settings.app.form.accentColor",
4172 "start": {
4173 "column": 15,
4174 "line": 105
3645 } 4175 }
3646 }, 4176 },
3647 { 4177 {
3648 "defaultMessage": "!!!Display disabled services tabs", 4178 "defaultMessage": "!!!Display disabled services tabs",
3649 "end": { 4179 "end": {
3650 "column": 3, 4180 "column": 3,
3651 "line": 57 4181 "line": 112
3652 }, 4182 },
3653 "file": "src/containers/settings/EditSettingsScreen.js", 4183 "file": "src/containers/settings/EditSettingsScreen.js",
3654 "id": "settings.app.form.showDisabledServices", 4184 "id": "settings.app.form.showDisabledServices",
3655 "start": { 4185 "start": {
3656 "column": 24, 4186 "column": 24,
3657 "line": 54 4187 "line": 109
3658 } 4188 }
3659 }, 4189 },
3660 { 4190 {
3661 "defaultMessage": "!!!Show unread message badge when notifications are disabled", 4191 "defaultMessage": "!!!Show unread message badge when notifications are disabled",
3662 "end": { 4192 "end": {
3663 "column": 3, 4193 "column": 3,
3664 "line": 61 4194 "line": 116
3665 }, 4195 },
3666 "file": "src/containers/settings/EditSettingsScreen.js", 4196 "file": "src/containers/settings/EditSettingsScreen.js",
3667 "id": "settings.app.form.showMessagesBadgesWhenMuted", 4197 "id": "settings.app.form.showMessagesBadgesWhenMuted",
3668 "start": { 4198 "start": {
3669 "column": 29, 4199 "column": 29,
3670 "line": 58 4200 "line": 113
3671 } 4201 }
3672 }, 4202 },
3673 { 4203 {
3674 "defaultMessage": "!!!Enable spell checking", 4204 "defaultMessage": "!!!Enable spell checking",
3675 "end": { 4205 "end": {
3676 "column": 3, 4206 "column": 3,
3677 "line": 65 4207 "line": 120
3678 }, 4208 },
3679 "file": "src/containers/settings/EditSettingsScreen.js", 4209 "file": "src/containers/settings/EditSettingsScreen.js",
3680 "id": "settings.app.form.enableSpellchecking", 4210 "id": "settings.app.form.enableSpellchecking",
3681 "start": { 4211 "start": {
3682 "column": 23, 4212 "column": 23,
3683 "line": 62 4213 "line": 117
3684 } 4214 }
3685 }, 4215 },
3686 { 4216 {
3687 "defaultMessage": "!!!Enable GPU Acceleration", 4217 "defaultMessage": "!!!Enable GPU Acceleration",
3688 "end": { 4218 "end": {
3689 "column": 3, 4219 "column": 3,
3690 "line": 69 4220 "line": 124
3691 }, 4221 },
3692 "file": "src/containers/settings/EditSettingsScreen.js", 4222 "file": "src/containers/settings/EditSettingsScreen.js",
3693 "id": "settings.app.form.enableGPUAcceleration", 4223 "id": "settings.app.form.enableGPUAcceleration",
3694 "start": { 4224 "start": {
3695 "column": 25, 4225 "column": 25,
3696 "line": 66 4226 "line": 121
3697 } 4227 }
3698 }, 4228 },
3699 { 4229 {
3700 "defaultMessage": "!!!Include beta versions", 4230 "defaultMessage": "!!!Include beta versions",
3701 "end": { 4231 "end": {
3702 "column": 3, 4232 "column": 3,
3703 "line": 73 4233 "line": 128
3704 }, 4234 },
3705 "file": "src/containers/settings/EditSettingsScreen.js", 4235 "file": "src/containers/settings/EditSettingsScreen.js",
3706 "id": "settings.app.form.beta", 4236 "id": "settings.app.form.beta",
3707 "start": { 4237 "start": {
3708 "column": 8, 4238 "column": 8,
3709 "line": 70 4239 "line": 125
4240 }
4241 },
4242 {
4243 "defaultMessage": "!!!Disable updates",
4244 "end": {
4245 "column": 3,
4246 "line": 132
4247 },
4248 "file": "src/containers/settings/EditSettingsScreen.js",
4249 "id": "settings.app.form.noUpdates",
4250 "start": {
4251 "column": 13,
4252 "line": 129
3710 } 4253 }
3711 }, 4254 },
3712 { 4255 {
3713 "defaultMessage": "!!!Enable Franz Todos", 4256 "defaultMessage": "!!!Enable Franz Todos",
3714 "end": { 4257 "end": {
3715 "column": 3, 4258 "column": 3,
3716 "line": 77 4259 "line": 136
3717 }, 4260 },
3718 "file": "src/containers/settings/EditSettingsScreen.js", 4261 "file": "src/containers/settings/EditSettingsScreen.js",
3719 "id": "settings.app.form.enableTodos", 4262 "id": "settings.app.form.enableTodos",
3720 "start": { 4263 "start": {
3721 "column": 15, 4264 "column": 15,
3722 "line": 74 4265 "line": 133
3723 } 4266 }
3724 }, 4267 },
3725 { 4268 {
3726 "defaultMessage": "!!!Keep all workspaces loaded", 4269 "defaultMessage": "!!!Keep all workspaces loaded",
3727 "end": { 4270 "end": {
3728 "column": 3, 4271 "column": 3,
3729 "line": 81 4272 "line": 140
3730 }, 4273 },
3731 "file": "src/containers/settings/EditSettingsScreen.js", 4274 "file": "src/containers/settings/EditSettingsScreen.js",
3732 "id": "settings.app.form.keepAllWorkspacesLoaded", 4275 "id": "settings.app.form.keepAllWorkspacesLoaded",
3733 "start": { 4276 "start": {
3734 "column": 27, 4277 "column": 27,
3735 "line": 78 4278 "line": 137
3736 } 4279 }
3737 } 4280 }
3738 ], 4281 ],
@@ -3863,16 +4406,16 @@
3863 { 4406 {
3864 "descriptors": [ 4407 "descriptors": [
3865 { 4408 {
3866 "defaultMessage": "!!!Changes in Franz {version}", 4409 "defaultMessage": "!!!Changes in Ferdi {version}",
3867 "end": { 4410 "end": {
3868 "column": 3, 4411 "column": 3,
3869 "line": 23 4412 "line": 22
3870 }, 4413 },
3871 "file": "src/features/announcements/components/AnnouncementScreen.js", 4414 "file": "src/features/announcements/components/AnnouncementScreen.js",
3872 "id": "feature.announcements.changelog.headline", 4415 "id": "feature.announcements.changelog.headline",
3873 "start": { 4416 "start": {
3874 "column": 12, 4417 "column": 12,
3875 "line": 20 4418 "line": 19
3876 } 4419 }
3877 } 4420 }
3878 ], 4421 ],
@@ -3884,362 +4427,113 @@
3884 "defaultMessage": "!!!Please purchase license to skip waiting", 4427 "defaultMessage": "!!!Please purchase license to skip waiting",
3885 "end": { 4428 "end": {
3886 "column": 3, 4429 "column": 3,
3887 "line": 20 4430 "line": 17
3888 }, 4431 },
3889 "file": "src/features/delayApp/Component.js", 4432 "file": "src/features/delayApp/Component.js",
3890 "id": "feature.delayApp.headline", 4433 "id": "feature.delayApp.headline",
3891 "start": { 4434 "start": {
3892 "column": 12, 4435 "column": 12,
3893 "line": 17 4436 "line": 14
3894 } 4437 }
3895 }, 4438 },
3896 { 4439 {
3897 "defaultMessage": "!!!Get the free Franz Professional 14 day trial and skip the line", 4440 "defaultMessage": "!!!Get the free Franz Professional 14 day trial and skip the line",
3898 "end": { 4441 "end": {
3899 "column": 3, 4442 "column": 3,
3900 "line": 24 4443 "line": 21
3901 }, 4444 },
3902 "file": "src/features/delayApp/Component.js", 4445 "file": "src/features/delayApp/Component.js",
3903 "id": "feature.delayApp.trial.headline", 4446 "id": "feature.delayApp.trial.headline",
3904 "start": { 4447 "start": {
3905 "column": 17, 4448 "column": 17,
3906 "line": 21 4449 "line": 18
3907 } 4450 }
3908 }, 4451 },
3909 { 4452 {
3910 "defaultMessage": "!!!Upgrade Franz", 4453 "defaultMessage": "!!!Get a Franz Supporter License",
3911 "end": { 4454 "end": {
3912 "column": 3, 4455 "column": 3,
3913 "line": 28 4456 "line": 25
3914 }, 4457 },
3915 "file": "src/features/delayApp/Component.js", 4458 "file": "src/features/delayApp/Component.js",
3916 "id": "feature.delayApp.upgrade.action", 4459 "id": "feature.delayApp.upgrade.action",
3917 "start": { 4460 "start": {
3918 "column": 10, 4461 "column": 10,
3919 "line": 25 4462 "line": 22
3920 } 4463 }
3921 }, 4464 },
3922 { 4465 {
3923 "defaultMessage": "!!!Yes, I want the free 14 day trial of Franz Professional", 4466 "defaultMessage": "!!!Yes, I want the free 14 day trial of Franz Professional",
3924 "end": { 4467 "end": {
3925 "column": 3, 4468 "column": 3,
3926 "line": 32 4469 "line": 29
3927 }, 4470 },
3928 "file": "src/features/delayApp/Component.js", 4471 "file": "src/features/delayApp/Component.js",
3929 "id": "feature.delayApp.trial.action", 4472 "id": "feature.delayApp.trial.action",
3930 "start": { 4473 "start": {
3931 "column": 15, 4474 "column": 15,
3932 "line": 29 4475 "line": 26
3933 } 4476 }
3934 }, 4477 },
3935 { 4478 {
3936 "defaultMessage": "!!!Franz will continue in {seconds} seconds.", 4479 "defaultMessage": "!!!Ferdi will continue in {seconds} seconds.",
3937 "end": { 4480 "end": {
3938 "column": 3, 4481 "column": 3,
3939 "line": 36 4482 "line": 33
3940 }, 4483 },
3941 "file": "src/features/delayApp/Component.js", 4484 "file": "src/features/delayApp/Component.js",
3942 "id": "feature.delayApp.text", 4485 "id": "feature.delayApp.text",
3943 "start": { 4486 "start": {
3944 "column": 8, 4487 "column": 8,
3945 "line": 33
3946 }
3947 }
3948 ],
3949 "path": "src/features/delayApp/Component.json"
3950 },
3951 {
3952 "descriptors": [
3953 {
3954 "defaultMessage": "!!!per month",
3955 "end": {
3956 "column": 3,
3957 "line": 18
3958 },
3959 "file": "src/features/planSelection/components/PlanItem.js",
3960 "id": "subscription.interval.perMonth",
3961 "start": {
3962 "column": 12,
3963 "line": 15
3964 }
3965 },
3966 {
3967 "defaultMessage": "!!!per month & user",
3968 "end": {
3969 "column": 3,
3970 "line": 22
3971 },
3972 "file": "src/features/planSelection/components/PlanItem.js",
3973 "id": "subscription.interval.perMonthPerUser",
3974 "start": {
3975 "column": 19,
3976 "line": 19
3977 }
3978 },
3979 {
3980 "defaultMessage": "!!!Best value",
3981 "end": {
3982 "column": 3,
3983 "line": 26
3984 },
3985 "file": "src/features/planSelection/components/PlanItem.js",
3986 "id": "subscription.bestValue",
3987 "start": {
3988 "column": 13,
3989 "line": 23
3990 }
3991 }
3992 ],
3993 "path": "src/features/planSelection/components/PlanItem.json"
3994 },
3995 {
3996 "descriptors": [
3997 {
3998 "defaultMessage": "!!!Are you ready to choose, {name}",
3999 "end": {
4000 "column": 3,
4001 "line": 21
4002 },
4003 "file": "src/features/planSelection/components/PlanSelection.js",
4004 "id": "feature.planSelection.fullscreen.welcome",
4005 "start": {
4006 "column": 11,
4007 "line": 18
4008 }
4009 },
4010 {
4011 "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.",
4012 "end": {
4013 "column": 3,
4014 "line": 25
4015 },
4016 "file": "src/features/planSelection/components/PlanSelection.js",
4017 "id": "feature.planSelection.fullscreen.subheadline",
4018 "start": {
4019 "column": 15,
4020 "line": 22
4021 }
4022 },
4023 {
4024 "defaultMessage": "!!!Basic functionality",
4025 "end": {
4026 "column": 3,
4027 "line": 29
4028 },
4029 "file": "src/features/planSelection/components/PlanSelection.js",
4030 "id": "feature.planSelection.free.text",
4031 "start": {
4032 "column": 12,
4033 "line": 26
4034 }
4035 },
4036 {
4037 "defaultMessage": "!!!More services, no waiting - ideal for personal use.",
4038 "end": {
4039 "column": 3,
4040 "line": 33
4041 },
4042 "file": "src/features/planSelection/components/PlanSelection.js",
4043 "id": "feature.planSelection.personal.text",
4044 "start": {
4045 "column": 16,
4046 "line": 30 4488 "line": 30
4047 } 4489 }
4048 },
4049 {
4050 "defaultMessage": "!!!Unlimited services and professional features for you - and your team.",
4051 "end": {
4052 "column": 3,
4053 "line": 37
4054 },
4055 "file": "src/features/planSelection/components/PlanSelection.js",
4056 "id": "feature.planSelection.pro.text",
4057 "start": {
4058 "column": 20,
4059 "line": 34
4060 }
4061 },
4062 {
4063 "defaultMessage": "!!!Stay on Free",
4064 "end": {
4065 "column": 3,
4066 "line": 41
4067 },
4068 "file": "src/features/planSelection/components/PlanSelection.js",
4069 "id": "feature.planSelection.cta.stayOnFree",
4070 "start": {
4071 "column": 17,
4072 "line": 38
4073 }
4074 },
4075 {
4076 "defaultMessage": "!!!Downgrade to Free",
4077 "end": {
4078 "column": 3,
4079 "line": 45
4080 },
4081 "file": "src/features/planSelection/components/PlanSelection.js",
4082 "id": "feature.planSelection.cta.ctaDowngradeFree",
4083 "start": {
4084 "column": 20,
4085 "line": 42
4086 }
4087 },
4088 {
4089 "defaultMessage": "!!!Start my free 14-days Trial",
4090 "end": {
4091 "column": 3,
4092 "line": 49
4093 },
4094 "file": "src/features/planSelection/components/PlanSelection.js",
4095 "id": "feature.planSelection.cta.trial",
4096 "start": {
4097 "column": 15,
4098 "line": 46
4099 }
4100 },
4101 {
4102 "defaultMessage": "!!!Choose Personal",
4103 "end": {
4104 "column": 3,
4105 "line": 53
4106 },
4107 "file": "src/features/planSelection/components/PlanSelection.js",
4108 "id": "feature.planSelection.cta.upgradePersonal",
4109 "start": {
4110 "column": 23,
4111 "line": 50
4112 }
4113 },
4114 {
4115 "defaultMessage": "!!!Choose Professional",
4116 "end": {
4117 "column": 3,
4118 "line": 57
4119 },
4120 "file": "src/features/planSelection/components/PlanSelection.js",
4121 "id": "feature.planSelection.cta.upgradePro",
4122 "start": {
4123 "column": 18,
4124 "line": 54
4125 }
4126 },
4127 {
4128 "defaultMessage": "!!!Complete comparison of all plans",
4129 "end": {
4130 "column": 3,
4131 "line": 61
4132 },
4133 "file": "src/features/planSelection/components/PlanSelection.js",
4134 "id": "feature.planSelection.fullFeatureList",
4135 "start": {
4136 "column": 19,
4137 "line": 58
4138 }
4139 },
4140 {
4141 "defaultMessage": "!!!All prices based on yearly payment",
4142 "end": {
4143 "column": 3,
4144 "line": 65
4145 },
4146 "file": "src/features/planSelection/components/PlanSelection.js",
4147 "id": "feature.planSelection.pricesBasedOnAnnualPayment",
4148 "start": {
4149 "column": 30,
4150 "line": 62
4151 }
4152 } 4490 }
4153 ], 4491 ],
4154 "path": "src/features/planSelection/components/PlanSelection.json" 4492 "path": "src/features/delayApp/Component.json"
4155 }, 4493 },
4156 { 4494 {
4157 "descriptors": [ 4495 "descriptors": [
4158 { 4496 {
4159 "defaultMessage": "!!!per {interval}", 4497 "defaultMessage": "!!!QuickSwitch",
4160 "end": { 4498 "end": {
4161 "column": 3, 4499 "column": 3,
4162 "line": 19 4500 "line": 19
4163 }, 4501 },
4164 "file": "src/features/planSelection/components/PlanTeaser.js", 4502 "file": "src/features/quickSwitch/Component.js",
4165 "id": "subscription.interval.per", 4503 "id": "feature.quickSwitch.title",
4166 "start": { 4504 "start": {
4167 "column": 7, 4505 "column": 9,
4168 "line": 16 4506 "line": 16
4169 } 4507 }
4170 }, 4508 },
4171 { 4509 {
4172 "defaultMessage": "!!!Upgrade Account", 4510 "defaultMessage": "!!!Search...",
4173 "end": { 4511 "end": {
4174 "column": 3, 4512 "column": 3,
4175 "line": 23 4513 "line": 23
4176 }, 4514 },
4177 "file": "src/features/planSelection/components/PlanTeaser.js", 4515 "file": "src/features/quickSwitch/Component.js",
4178 "id": "subscription.planItem.upgradeAccount", 4516 "id": "feature.quickSwitch.search",
4179 "start": { 4517 "start": {
4180 "column": 7, 4518 "column": 10,
4181 "line": 20
4182 }
4183 }
4184 ],
4185 "path": "src/features/planSelection/components/PlanTeaser.json"
4186 },
4187 {
4188 "descriptors": [
4189 {
4190 "defaultMessage": "!!!Downgrade your Franz Plan",
4191 "end": {
4192 "column": 3,
4193 "line": 20 4519 "line": 20
4194 },
4195 "file": "src/features/planSelection/containers/PlanSelectionScreen.js",
4196 "id": "feature.planSelection.fullscreen.dialog.title",
4197 "start": {
4198 "column": 15,
4199 "line": 17
4200 }
4201 },
4202 {
4203 "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.",
4204 "end": {
4205 "column": 3,
4206 "line": 24
4207 },
4208 "file": "src/features/planSelection/containers/PlanSelectionScreen.js",
4209 "id": "feature.planSelection.fullscreen.dialog.message",
4210 "start": {
4211 "column": 17,
4212 "line": 21
4213 }
4214 },
4215 {
4216 "defaultMessage": "!!!Downgrade to Free",
4217 "end": {
4218 "column": 3,
4219 "line": 28
4220 },
4221 "file": "src/features/planSelection/containers/PlanSelectionScreen.js",
4222 "id": "feature.planSelection.fullscreen.dialog.cta.downgrade",
4223 "start": {
4224 "column": 22,
4225 "line": 25
4226 } 4520 }
4227 }, 4521 },
4228 { 4522 {
4229 "defaultMessage": "!!!Choose Personal", 4523 "defaultMessage": "!!!Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
4230 "end": { 4524 "end": {
4231 "column": 3, 4525 "column": 3,
4232 "line": 32 4526 "line": 27
4233 }, 4527 },
4234 "file": "src/features/planSelection/containers/PlanSelectionScreen.js", 4528 "file": "src/features/quickSwitch/Component.js",
4235 "id": "feature.planSelection.fullscreen.dialog.cta.upgrade", 4529 "id": "feature.quickSwitch.info",
4236 "start": { 4530 "start": {
4237 "column": 20, 4531 "column": 8,
4238 "line": 29 4532 "line": 24
4239 } 4533 }
4240 } 4534 }
4241 ], 4535 ],
4242 "path": "src/features/planSelection/containers/PlanSelectionScreen.json" 4536 "path": "src/features/quickSwitch/Component.json"
4243 }, 4537 },
4244 { 4538 {
4245 "descriptors": [ 4539 "descriptors": [
@@ -4265,26 +4559,26 @@
4265 "defaultMessage": "!!!You have added {amount} of {limit} services. Please upgrade your account to add more services.", 4559 "defaultMessage": "!!!You have added {amount} of {limit} services. Please upgrade your account to add more services.",
4266 "end": { 4560 "end": {
4267 "column": 3, 4561 "column": 3,
4268 "line": 14 4562 "line": 12
4269 }, 4563 },
4270 "file": "src/features/serviceLimit/components/LimitReachedInfobox.js", 4564 "file": "src/features/serviceLimit/components/LimitReachedInfobox.js",
4271 "id": "feature.serviceLimit.limitReached", 4565 "id": "feature.serviceLimit.limitReached",
4272 "start": { 4566 "start": {
4273 "column": 16, 4567 "column": 16,
4274 "line": 11 4568 "line": 9
4275 } 4569 }
4276 }, 4570 },
4277 { 4571 {
4278 "defaultMessage": "!!!Upgrade account", 4572 "defaultMessage": "!!!Upgrade account",
4279 "end": { 4573 "end": {
4280 "column": 3, 4574 "column": 3,
4281 "line": 18 4575 "line": 16
4282 }, 4576 },
4283 "file": "src/features/serviceLimit/components/LimitReachedInfobox.js", 4577 "file": "src/features/serviceLimit/components/LimitReachedInfobox.js",
4284 "id": "premiumFeature.button.upgradeAccount", 4578 "id": "premiumFeature.button.upgradeAccount",
4285 "start": { 4579 "start": {
4286 "column": 10, 4580 "column": 10,
4287 "line": 15 4581 "line": 13
4288 } 4582 }
4289 } 4583 }
4290 ], 4584 ],
@@ -4293,94 +4587,94 @@
4293 { 4587 {
4294 "descriptors": [ 4588 "descriptors": [
4295 { 4589 {
4296 "defaultMessage": "!!!Franz is better together!", 4590 "defaultMessage": "!!!Ferdi is better together!",
4297 "end": { 4591 "end": {
4298 "column": 3, 4592 "column": 3,
4299 "line": 21 4593 "line": 20
4300 }, 4594 },
4301 "file": "src/features/shareFranz/Component.js", 4595 "file": "src/features/shareFranz/Component.js",
4302 "id": "feature.shareFranz.headline", 4596 "id": "feature.shareFranz.headline",
4303 "start": { 4597 "start": {
4304 "column": 12, 4598 "column": 12,
4305 "line": 18 4599 "line": 17
4306 } 4600 }
4307 }, 4601 },
4308 { 4602 {
4309 "defaultMessage": "!!!Tell your friends and colleagues how awesome Franz is and help us to spread the word.", 4603 "defaultMessage": "!!!Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
4310 "end": { 4604 "end": {
4311 "column": 3, 4605 "column": 3,
4312 "line": 25 4606 "line": 24
4313 }, 4607 },
4314 "file": "src/features/shareFranz/Component.js", 4608 "file": "src/features/shareFranz/Component.js",
4315 "id": "feature.shareFranz.text", 4609 "id": "feature.shareFranz.text",
4316 "start": { 4610 "start": {
4317 "column": 8, 4611 "column": 8,
4318 "line": 22 4612 "line": 21
4319 } 4613 }
4320 }, 4614 },
4321 { 4615 {
4322 "defaultMessage": "!!!Share as email", 4616 "defaultMessage": "!!!Share as email",
4323 "end": { 4617 "end": {
4324 "column": 3, 4618 "column": 3,
4325 "line": 29 4619 "line": 28
4326 }, 4620 },
4327 "file": "src/features/shareFranz/Component.js", 4621 "file": "src/features/shareFranz/Component.js",
4328 "id": "feature.shareFranz.action.email", 4622 "id": "feature.shareFranz.action.email",
4329 "start": { 4623 "start": {
4330 "column": 16, 4624 "column": 16,
4331 "line": 26 4625 "line": 25
4332 } 4626 }
4333 }, 4627 },
4334 { 4628 {
4335 "defaultMessage": "!!!Share on Facebook", 4629 "defaultMessage": "!!!Share on Facebook",
4336 "end": { 4630 "end": {
4337 "column": 3, 4631 "column": 3,
4338 "line": 33 4632 "line": 32
4339 }, 4633 },
4340 "file": "src/features/shareFranz/Component.js", 4634 "file": "src/features/shareFranz/Component.js",
4341 "id": "feature.shareFranz.action.facebook", 4635 "id": "feature.shareFranz.action.facebook",
4342 "start": { 4636 "start": {
4343 "column": 19, 4637 "column": 19,
4344 "line": 30 4638 "line": 29
4345 } 4639 }
4346 }, 4640 },
4347 { 4641 {
4348 "defaultMessage": "!!!Share on Twitter", 4642 "defaultMessage": "!!!Share on Twitter",
4349 "end": { 4643 "end": {
4350 "column": 3, 4644 "column": 3,
4351 "line": 37 4645 "line": 36
4352 }, 4646 },
4353 "file": "src/features/shareFranz/Component.js", 4647 "file": "src/features/shareFranz/Component.js",
4354 "id": "feature.shareFranz.action.twitter", 4648 "id": "feature.shareFranz.action.twitter",
4355 "start": { 4649 "start": {
4356 "column": 18, 4650 "column": 18,
4357 "line": 34 4651 "line": 33
4358 } 4652 }
4359 }, 4653 },
4360 { 4654 {
4361 "defaultMessage": "!!! I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", 4655 "defaultMessage": "!!! I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com",
4362 "end": { 4656 "end": {
4363 "column": 3, 4657 "column": 3,
4364 "line": 41 4658 "line": 40
4365 }, 4659 },
4366 "file": "src/features/shareFranz/Component.js", 4660 "file": "src/features/shareFranz/Component.js",
4367 "id": "feature.shareFranz.shareText.email", 4661 "id": "feature.shareFranz.shareText.email",
4368 "start": { 4662 "start": {
4369 "column": 18, 4663 "column": 18,
4370 "line": 38 4664 "line": 37
4371 } 4665 }
4372 }, 4666 },
4373 { 4667 {
4374 "defaultMessage": "!!! I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com /cc @FranzMessenger", 4668 "defaultMessage": "!!! I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com /cc @FranzMessenger",
4375 "end": { 4669 "end": {
4376 "column": 3, 4670 "column": 3,
4377 "line": 45 4671 "line": 44
4378 }, 4672 },
4379 "file": "src/features/shareFranz/Component.js", 4673 "file": "src/features/shareFranz/Component.js",
4380 "id": "feature.shareFranz.shareText.twitter", 4674 "id": "feature.shareFranz.shareText.twitter",
4381 "start": { 4675 "start": {
4382 "column": 20, 4676 "column": 20,
4383 "line": 42 4677 "line": 41
4384 } 4678 }
4385 } 4679 }
4386 ], 4680 ],
@@ -4392,39 +4686,39 @@
4392 "defaultMessage": "!!!Franz Todos are available to premium users now!", 4686 "defaultMessage": "!!!Franz Todos are available to premium users now!",
4393 "end": { 4687 "end": {
4394 "column": 3, 4688 "column": 3,
4395 "line": 18 4689 "line": 20
4396 }, 4690 },
4397 "file": "src/features/todos/components/TodosWebview.js", 4691 "file": "src/features/todos/components/TodosWebview.js",
4398 "id": "feature.todos.premium.info", 4692 "id": "feature.todos.premium.info",
4399 "start": { 4693 "start": {
4400 "column": 15, 4694 "column": 15,
4401 "line": 15 4695 "line": 17
4402 } 4696 }
4403 }, 4697 },
4404 { 4698 {
4405 "defaultMessage": "!!!Upgrade Account", 4699 "defaultMessage": "!!!Upgrade Account",
4406 "end": { 4700 "end": {
4407 "column": 3, 4701 "column": 3,
4408 "line": 22 4702 "line": 24
4409 }, 4703 },
4410 "file": "src/features/todos/components/TodosWebview.js", 4704 "file": "src/features/todos/components/TodosWebview.js",
4411 "id": "feature.todos.premium.upgrade", 4705 "id": "feature.todos.premium.upgrade",
4412 "start": { 4706 "start": {
4413 "column": 14, 4707 "column": 14,
4414 "line": 19 4708 "line": 21
4415 } 4709 }
4416 }, 4710 },
4417 { 4711 {
4418 "defaultMessage": "!!!Everyone else will have to wait a little longer.", 4712 "defaultMessage": "!!!Everyone else will have to wait a little longer.",
4419 "end": { 4713 "end": {
4420 "column": 3, 4714 "column": 3,
4421 "line": 26 4715 "line": 28
4422 }, 4716 },
4423 "file": "src/features/todos/components/TodosWebview.js", 4717 "file": "src/features/todos/components/TodosWebview.js",
4424 "id": "feature.todos.premium.rollout", 4718 "id": "feature.todos.premium.rollout",
4425 "start": { 4719 "start": {
4426 "column": 15, 4720 "column": 15,
4427 "line": 23 4721 "line": 25
4428 } 4722 }
4429 } 4723 }
4430 ], 4724 ],
@@ -4433,107 +4727,6 @@
4433 { 4727 {
4434 "descriptors": [ 4728 "descriptors": [
4435 { 4729 {
4436 "defaultMessage": "!!!Your Free Franz {plan} Trial ends in {time}.",
4437 "end": {
4438 "column": 3,
4439 "line": 16
4440 },
4441 "file": "src/features/trialStatusBar/components/TrialStatusBar.js",
4442 "id": "feature.trialStatusBar.restTime",
4443 "start": {
4444 "column": 12,
4445 "line": 13
4446 }
4447 },
4448 {
4449 "defaultMessage": "!!!Your free Franz {plan} Trial has expired, please upgrade your account.",
4450 "end": {
4451 "column": 3,
4452 "line": 20
4453 },
4454 "file": "src/features/trialStatusBar/components/TrialStatusBar.js",
4455 "id": "feature.trialStatusBar.expired",
4456 "start": {
4457 "column": 11,
4458 "line": 17
4459 }
4460 },
4461 {
4462 "defaultMessage": "!!!Upgrade now",
4463 "end": {
4464 "column": 3,
4465 "line": 24
4466 },
4467 "file": "src/features/trialStatusBar/components/TrialStatusBar.js",
4468 "id": "feature.trialStatusBar.cta",
4469 "start": {
4470 "column": 7,
4471 "line": 21
4472 }
4473 }
4474 ],
4475 "path": "src/features/trialStatusBar/components/TrialStatusBar.json"
4476 },
4477 {
4478 "descriptors": [
4479 {
4480 "defaultMessage": "!!!Downgrade your Franz Plan",
4481 "end": {
4482 "column": 3,
4483 "line": 19
4484 },
4485 "file": "src/features/trialStatusBar/containers/TrialStatusBarScreen.js",
4486 "id": "feature.trialStatusBar.fullscreen.dialog.title",
4487 "start": {
4488 "column": 15,
4489 "line": 16
4490 }
4491 },
4492 {
4493 "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.",
4494 "end": {
4495 "column": 3,
4496 "line": 23
4497 },
4498 "file": "src/features/trialStatusBar/containers/TrialStatusBarScreen.js",
4499 "id": "feature.trialStatusBar.fullscreen.dialog.message",
4500 "start": {
4501 "column": 17,
4502 "line": 20
4503 }
4504 },
4505 {
4506 "defaultMessage": "!!!Downgrade to Free",
4507 "end": {
4508 "column": 3,
4509 "line": 27
4510 },
4511 "file": "src/features/trialStatusBar/containers/TrialStatusBarScreen.js",
4512 "id": "feature.trialStatusBar.fullscreen.dialog.cta.downgrade",
4513 "start": {
4514 "column": 22,
4515 "line": 24
4516 }
4517 },
4518 {
4519 "defaultMessage": "!!!Choose Personal",
4520 "end": {
4521 "column": 3,
4522 "line": 31
4523 },
4524 "file": "src/features/trialStatusBar/containers/TrialStatusBarScreen.js",
4525 "id": "feature.trialStatusBar.fullscreen.dialog.cta.upgrade",
4526 "start": {
4527 "column": 20,
4528 "line": 28
4529 }
4530 }
4531 ],
4532 "path": "src/features/trialStatusBar/containers/TrialStatusBarScreen.json"
4533 },
4534 {
4535 "descriptors": [
4536 {
4537 "defaultMessage": "!!!Home", 4730 "defaultMessage": "!!!Home",
4538 "end": { 4731 "end": {
4539 "column": 3, 4732 "column": 3,
@@ -4607,26 +4800,26 @@
4607 "defaultMessage": "!!!Create workspace", 4800 "defaultMessage": "!!!Create workspace",
4608 "end": { 4801 "end": {
4609 "column": 3, 4802 "column": 3,
4610 "line": 16 4803 "line": 15
4611 }, 4804 },
4612 "file": "src/features/workspaces/components/CreateWorkspaceForm.js", 4805 "file": "src/features/workspaces/components/CreateWorkspaceForm.js",
4613 "id": "settings.workspace.add.form.submitButton", 4806 "id": "settings.workspace.add.form.submitButton",
4614 "start": { 4807 "start": {
4615 "column": 16, 4808 "column": 16,
4616 "line": 13 4809 "line": 12
4617 } 4810 }
4618 }, 4811 },
4619 { 4812 {
4620 "defaultMessage": "!!!Name", 4813 "defaultMessage": "!!!Name",
4621 "end": { 4814 "end": {
4622 "column": 3, 4815 "column": 3,
4623 "line": 20 4816 "line": 19
4624 }, 4817 },
4625 "file": "src/features/workspaces/components/CreateWorkspaceForm.js", 4818 "file": "src/features/workspaces/components/CreateWorkspaceForm.js",
4626 "id": "settings.workspace.add.form.name", 4819 "id": "settings.workspace.add.form.name",
4627 "start": { 4820 "start": {
4628 "column": 8, 4821 "column": 8,
4629 "line": 17 4822 "line": 16
4630 } 4823 }
4631 } 4824 }
4632 ], 4825 ],
@@ -4638,91 +4831,117 @@
4638 "defaultMessage": "!!!Delete workspace", 4831 "defaultMessage": "!!!Delete workspace",
4639 "end": { 4832 "end": {
4640 "column": 3, 4833 "column": 3,
4641 "line": 22 4834 "line": 24
4642 }, 4835 },
4643 "file": "src/features/workspaces/components/EditWorkspaceForm.js", 4836 "file": "src/features/workspaces/components/EditWorkspaceForm.js",
4644 "id": "settings.workspace.form.buttonDelete", 4837 "id": "settings.workspace.form.buttonDelete",
4645 "start": { 4838 "start": {
4646 "column": 16, 4839 "column": 16,
4647 "line": 19 4840 "line": 21
4648 } 4841 }
4649 }, 4842 },
4650 { 4843 {
4651 "defaultMessage": "!!!Save workspace", 4844 "defaultMessage": "!!!Save workspace",
4652 "end": { 4845 "end": {
4653 "column": 3, 4846 "column": 3,
4654 "line": 26 4847 "line": 28
4655 }, 4848 },
4656 "file": "src/features/workspaces/components/EditWorkspaceForm.js", 4849 "file": "src/features/workspaces/components/EditWorkspaceForm.js",
4657 "id": "settings.workspace.form.buttonSave", 4850 "id": "settings.workspace.form.buttonSave",
4658 "start": { 4851 "start": {
4659 "column": 14, 4852 "column": 14,
4660 "line": 23 4853 "line": 25
4661 } 4854 }
4662 }, 4855 },
4663 { 4856 {
4664 "defaultMessage": "!!!Name", 4857 "defaultMessage": "!!!Name",
4665 "end": { 4858 "end": {
4666 "column": 3, 4859 "column": 3,
4667 "line": 30 4860 "line": 32
4668 }, 4861 },
4669 "file": "src/features/workspaces/components/EditWorkspaceForm.js", 4862 "file": "src/features/workspaces/components/EditWorkspaceForm.js",
4670 "id": "settings.workspace.form.name", 4863 "id": "settings.workspace.form.name",
4671 "start": { 4864 "start": {
4672 "column": 8, 4865 "column": 8,
4673 "line": 27 4866 "line": 29
4674 } 4867 }
4675 }, 4868 },
4676 { 4869 {
4677 "defaultMessage": "!!!Your workspaces", 4870 "defaultMessage": "!!!Your workspaces",
4678 "end": { 4871 "end": {
4679 "column": 3, 4872 "column": 3,
4680 "line": 34 4873 "line": 36
4681 }, 4874 },
4682 "file": "src/features/workspaces/components/EditWorkspaceForm.js", 4875 "file": "src/features/workspaces/components/EditWorkspaceForm.js",
4683 "id": "settings.workspace.form.yourWorkspaces", 4876 "id": "settings.workspace.form.yourWorkspaces",
4684 "start": { 4877 "start": {
4685 "column": 18, 4878 "column": 18,
4686 "line": 31 4879 "line": 33
4880 }
4881 },
4882 {
4883 "defaultMessage": "!!!Keep this workspace loaded*",
4884 "end": {
4885 "column": 3,
4886 "line": 40
4887 },
4888 "file": "src/features/workspaces/components/EditWorkspaceForm.js",
4889 "id": "settings.workspace.form.keepLoaded",
4890 "start": {
4891 "column": 14,
4892 "line": 37
4893 }
4894 },
4895 {
4896 "defaultMessage": "!!!*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
4897 "end": {
4898 "column": 3,
4899 "line": 44
4900 },
4901 "file": "src/features/workspaces/components/EditWorkspaceForm.js",
4902 "id": "settings.workspace.form.keepLoadedInfo",
4903 "start": {
4904 "column": 18,
4905 "line": 41
4687 } 4906 }
4688 }, 4907 },
4689 { 4908 {
4690 "defaultMessage": "!!!Services in this Workspace", 4909 "defaultMessage": "!!!Services in this Workspace",
4691 "end": { 4910 "end": {
4692 "column": 3, 4911 "column": 3,
4693 "line": 38 4912 "line": 48
4694 }, 4913 },
4695 "file": "src/features/workspaces/components/EditWorkspaceForm.js", 4914 "file": "src/features/workspaces/components/EditWorkspaceForm.js",
4696 "id": "settings.workspace.form.servicesInWorkspaceHeadline", 4915 "id": "settings.workspace.form.servicesInWorkspaceHeadline",
4697 "start": { 4916 "start": {
4698 "column": 31, 4917 "column": 31,
4699 "line": 35 4918 "line": 45
4700 } 4919 }
4701 }, 4920 },
4702 { 4921 {
4703 "defaultMessage": "!!!You haven't added any services yet.", 4922 "defaultMessage": "!!!You haven't added any services yet.",
4704 "end": { 4923 "end": {
4705 "column": 3, 4924 "column": 3,
4706 "line": 42 4925 "line": 52
4707 }, 4926 },
4708 "file": "src/features/workspaces/components/EditWorkspaceForm.js", 4927 "file": "src/features/workspaces/components/EditWorkspaceForm.js",
4709 "id": "settings.services.noServicesAdded", 4928 "id": "settings.services.noServicesAdded",
4710 "start": { 4929 "start": {
4711 "column": 19, 4930 "column": 19,
4712 "line": 39 4931 "line": 49
4713 } 4932 }
4714 }, 4933 },
4715 { 4934 {
4716 "defaultMessage": "!!!Discover services", 4935 "defaultMessage": "!!!Discover services",
4717 "end": { 4936 "end": {
4718 "column": 3, 4937 "column": 3,
4719 "line": 46 4938 "line": 56
4720 }, 4939 },
4721 "file": "src/features/workspaces/components/EditWorkspaceForm.js", 4940 "file": "src/features/workspaces/components/EditWorkspaceForm.js",
4722 "id": "settings.services.discoverServices", 4941 "id": "settings.services.discoverServices",
4723 "start": { 4942 "start": {
4724 "column": 20, 4943 "column": 20,
4725 "line": 43 4944 "line": 53
4726 } 4945 }
4727 } 4946 }
4728 ], 4947 ],
@@ -4734,104 +4953,104 @@
4734 "defaultMessage": "!!!Workspaces", 4953 "defaultMessage": "!!!Workspaces",
4735 "end": { 4954 "end": {
4736 "column": 3, 4955 "column": 3,
4737 "line": 20 4956 "line": 19
4738 }, 4957 },
4739 "file": "src/features/workspaces/components/WorkspaceDrawer.js", 4958 "file": "src/features/workspaces/components/WorkspaceDrawer.js",
4740 "id": "workspaceDrawer.headline", 4959 "id": "workspaceDrawer.headline",
4741 "start": { 4960 "start": {
4742 "column": 12, 4961 "column": 12,
4743 "line": 17 4962 "line": 16
4744 } 4963 }
4745 }, 4964 },
4746 { 4965 {
4747 "defaultMessage": "!!!All services", 4966 "defaultMessage": "!!!All services",
4748 "end": { 4967 "end": {
4749 "column": 3, 4968 "column": 3,
4750 "line": 24 4969 "line": 23
4751 }, 4970 },
4752 "file": "src/features/workspaces/components/WorkspaceDrawer.js", 4971 "file": "src/features/workspaces/components/WorkspaceDrawer.js",
4753 "id": "workspaceDrawer.allServices", 4972 "id": "workspaceDrawer.allServices",
4754 "start": { 4973 "start": {
4755 "column": 15, 4974 "column": 15,
4756 "line": 21 4975 "line": 20
4757 } 4976 }
4758 }, 4977 },
4759 { 4978 {
4760 "defaultMessage": "!!!Workspaces settings", 4979 "defaultMessage": "!!!Workspaces settings",
4761 "end": { 4980 "end": {
4762 "column": 3, 4981 "column": 3,
4763 "line": 28 4982 "line": 27
4764 }, 4983 },
4765 "file": "src/features/workspaces/components/WorkspaceDrawer.js", 4984 "file": "src/features/workspaces/components/WorkspaceDrawer.js",
4766 "id": "workspaceDrawer.workspacesSettingsTooltip", 4985 "id": "workspaceDrawer.workspacesSettingsTooltip",
4767 "start": { 4986 "start": {
4768 "column": 29, 4987 "column": 29,
4769 "line": 25 4988 "line": 24
4770 } 4989 }
4771 }, 4990 },
4772 { 4991 {
4773 "defaultMessage": "!!!Info about workspace feature", 4992 "defaultMessage": "!!!Info about workspace feature",
4774 "end": { 4993 "end": {
4775 "column": 3, 4994 "column": 3,
4776 "line": 32 4995 "line": 31
4777 }, 4996 },
4778 "file": "src/features/workspaces/components/WorkspaceDrawer.js", 4997 "file": "src/features/workspaces/components/WorkspaceDrawer.js",
4779 "id": "workspaceDrawer.workspaceFeatureInfo", 4998 "id": "workspaceDrawer.workspaceFeatureInfo",
4780 "start": { 4999 "start": {
4781 "column": 24, 5000 "column": 24,
4782 "line": 29 5001 "line": 28
4783 } 5002 }
4784 }, 5003 },
4785 { 5004 {
4786 "defaultMessage": "!!!Create your first workspace", 5005 "defaultMessage": "!!!Create your first workspace",
4787 "end": { 5006 "end": {
4788 "column": 3, 5007 "column": 3,
4789 "line": 36 5008 "line": 35
4790 }, 5009 },
4791 "file": "src/features/workspaces/components/WorkspaceDrawer.js", 5010 "file": "src/features/workspaces/components/WorkspaceDrawer.js",
4792 "id": "workspaceDrawer.premiumCtaButtonLabel", 5011 "id": "workspaceDrawer.premiumCtaButtonLabel",
4793 "start": { 5012 "start": {
4794 "column": 25, 5013 "column": 25,
4795 "line": 33 5014 "line": 32
4796 } 5015 }
4797 }, 5016 },
4798 { 5017 {
4799 "defaultMessage": "!!!Reactivate premium account", 5018 "defaultMessage": "!!!Reactivate premium account",
4800 "end": { 5019 "end": {
4801 "column": 3, 5020 "column": 3,
4802 "line": 40 5021 "line": 39
4803 }, 5022 },
4804 "file": "src/features/workspaces/components/WorkspaceDrawer.js", 5023 "file": "src/features/workspaces/components/WorkspaceDrawer.js",
4805 "id": "workspaceDrawer.reactivatePremiumAccountLabel", 5024 "id": "workspaceDrawer.reactivatePremiumAccountLabel",
4806 "start": { 5025 "start": {
4807 "column": 28, 5026 "column": 28,
4808 "line": 37 5027 "line": 36
4809 } 5028 }
4810 }, 5029 },
4811 { 5030 {
4812 "defaultMessage": "!!!add new workspace", 5031 "defaultMessage": "!!!add new workspace",
4813 "end": { 5032 "end": {
4814 "column": 3, 5033 "column": 3,
4815 "line": 44 5034 "line": 43
4816 }, 5035 },
4817 "file": "src/features/workspaces/components/WorkspaceDrawer.js", 5036 "file": "src/features/workspaces/components/WorkspaceDrawer.js",
4818 "id": "workspaceDrawer.addNewWorkspaceLabel", 5037 "id": "workspaceDrawer.addNewWorkspaceLabel",
4819 "start": { 5038 "start": {
4820 "column": 24, 5039 "column": 24,
4821 "line": 41 5040 "line": 40
4822 } 5041 }
4823 }, 5042 },
4824 { 5043 {
4825 "defaultMessage": "!!!Premium feature", 5044 "defaultMessage": "!!!Premium feature",
4826 "end": { 5045 "end": {
4827 "column": 3, 5046 "column": 3,
4828 "line": 48 5047 "line": 47
4829 }, 5048 },
4830 "file": "src/features/workspaces/components/WorkspaceDrawer.js", 5049 "file": "src/features/workspaces/components/WorkspaceDrawer.js",
4831 "id": "workspaceDrawer.proFeatureBadge", 5050 "id": "workspaceDrawer.proFeatureBadge",
4832 "start": { 5051 "start": {
4833 "column": 23, 5052 "column": 23,
4834 "line": 45 5053 "line": 44
4835 } 5054 }
4836 } 5055 }
4837 ], 5056 ],
@@ -4874,104 +5093,104 @@
4874 "defaultMessage": "!!!Your workspaces", 5093 "defaultMessage": "!!!Your workspaces",
4875 "end": { 5094 "end": {
4876 "column": 3, 5095 "column": 3,
4877 "line": 23 5096 "line": 22
4878 }, 5097 },
4879 "file": "src/features/workspaces/components/WorkspacesDashboard.js", 5098 "file": "src/features/workspaces/components/WorkspacesDashboard.js",
4880 "id": "settings.workspaces.headline", 5099 "id": "settings.workspaces.headline",
4881 "start": { 5100 "start": {
4882 "column": 12, 5101 "column": 12,
4883 "line": 20 5102 "line": 19
4884 } 5103 }
4885 }, 5104 },
4886 { 5105 {
4887 "defaultMessage": "!!!You haven't added any workspaces yet.", 5106 "defaultMessage": "!!!You haven't added any workspaces yet.",
4888 "end": { 5107 "end": {
4889 "column": 3, 5108 "column": 3,
4890 "line": 27 5109 "line": 26
4891 }, 5110 },
4892 "file": "src/features/workspaces/components/WorkspacesDashboard.js", 5111 "file": "src/features/workspaces/components/WorkspacesDashboard.js",
4893 "id": "settings.workspaces.noWorkspacesAdded", 5112 "id": "settings.workspaces.noWorkspacesAdded",
4894 "start": { 5113 "start": {
4895 "column": 19, 5114 "column": 19,
4896 "line": 24 5115 "line": 23
4897 } 5116 }
4898 }, 5117 },
4899 { 5118 {
4900 "defaultMessage": "!!!Could not load your workspaces", 5119 "defaultMessage": "!!!Could not load your workspaces",
4901 "end": { 5120 "end": {
4902 "column": 3, 5121 "column": 3,
4903 "line": 31 5122 "line": 30
4904 }, 5123 },
4905 "file": "src/features/workspaces/components/WorkspacesDashboard.js", 5124 "file": "src/features/workspaces/components/WorkspacesDashboard.js",
4906 "id": "settings.workspaces.workspacesRequestFailed", 5125 "id": "settings.workspaces.workspacesRequestFailed",
4907 "start": { 5126 "start": {
4908 "column": 27, 5127 "column": 27,
4909 "line": 28 5128 "line": 27
4910 } 5129 }
4911 }, 5130 },
4912 { 5131 {
4913 "defaultMessage": "!!!Try again", 5132 "defaultMessage": "!!!Try again",
4914 "end": { 5133 "end": {
4915 "column": 3, 5134 "column": 3,
4916 "line": 35 5135 "line": 34
4917 }, 5136 },
4918 "file": "src/features/workspaces/components/WorkspacesDashboard.js", 5137 "file": "src/features/workspaces/components/WorkspacesDashboard.js",
4919 "id": "settings.workspaces.tryReloadWorkspaces", 5138 "id": "settings.workspaces.tryReloadWorkspaces",
4920 "start": { 5139 "start": {
4921 "column": 23, 5140 "column": 23,
4922 "line": 32 5141 "line": 31
4923 } 5142 }
4924 }, 5143 },
4925 { 5144 {
4926 "defaultMessage": "!!!Your changes have been saved", 5145 "defaultMessage": "!!!Your changes have been saved",
4927 "end": { 5146 "end": {
4928 "column": 3, 5147 "column": 3,
4929 "line": 39 5148 "line": 38
4930 }, 5149 },
4931 "file": "src/features/workspaces/components/WorkspacesDashboard.js", 5150 "file": "src/features/workspaces/components/WorkspacesDashboard.js",
4932 "id": "settings.workspaces.updatedInfo", 5151 "id": "settings.workspaces.updatedInfo",
4933 "start": { 5152 "start": {
4934 "column": 15, 5153 "column": 15,
4935 "line": 36 5154 "line": 35
4936 } 5155 }
4937 }, 5156 },
4938 { 5157 {
4939 "defaultMessage": "!!!Workspace has been deleted", 5158 "defaultMessage": "!!!Workspace has been deleted",
4940 "end": { 5159 "end": {
4941 "column": 3, 5160 "column": 3,
4942 "line": 43 5161 "line": 42
4943 }, 5162 },
4944 "file": "src/features/workspaces/components/WorkspacesDashboard.js", 5163 "file": "src/features/workspaces/components/WorkspacesDashboard.js",
4945 "id": "settings.workspaces.deletedInfo", 5164 "id": "settings.workspaces.deletedInfo",
4946 "start": { 5165 "start": {
4947 "column": 15, 5166 "column": 15,
4948 "line": 40 5167 "line": 39
4949 } 5168 }
4950 }, 5169 },
4951 { 5170 {
4952 "defaultMessage": "!!!Info about workspace feature", 5171 "defaultMessage": "!!!Info about workspace feature",
4953 "end": { 5172 "end": {
4954 "column": 3, 5173 "column": 3,
4955 "line": 47 5174 "line": 46
4956 }, 5175 },
4957 "file": "src/features/workspaces/components/WorkspacesDashboard.js", 5176 "file": "src/features/workspaces/components/WorkspacesDashboard.js",
4958 "id": "settings.workspaces.workspaceFeatureInfo", 5177 "id": "settings.workspaces.workspaceFeatureInfo",
4959 "start": { 5178 "start": {
4960 "column": 24, 5179 "column": 24,
4961 "line": 44 5180 "line": 43
4962 } 5181 }
4963 }, 5182 },
4964 { 5183 {
4965 "defaultMessage": "!!!Less is More: Introducing Franz Workspaces", 5184 "defaultMessage": "!!!Less is More: Introducing Ferdi Workspaces",
4966 "end": { 5185 "end": {
4967 "column": 3, 5186 "column": 3,
4968 "line": 51 5187 "line": 50
4969 }, 5188 },
4970 "file": "src/features/workspaces/components/WorkspacesDashboard.js", 5189 "file": "src/features/workspaces/components/WorkspacesDashboard.js",
4971 "id": "settings.workspaces.workspaceFeatureHeadline", 5190 "id": "settings.workspaces.workspaceFeatureHeadline",
4972 "start": { 5191 "start": {
4973 "column": 28, 5192 "column": 28,
4974 "line": 48 5193 "line": 47
4975 } 5194 }
4976 } 5195 }
4977 ], 5196 ],
@@ -4998,7 +5217,7 @@
4998 { 5217 {
4999 "descriptors": [ 5218 "descriptors": [
5000 { 5219 {
5001 "defaultMessage": "!!!Professional", 5220 "defaultMessage": "!!!Franz Professional",
5002 "end": { 5221 "end": {
5003 "column": 3, 5222 "column": 3,
5004 "line": 8 5223 "line": 8
@@ -5011,7 +5230,7 @@
5011 } 5230 }
5012 }, 5231 },
5013 { 5232 {
5014 "defaultMessage": "!!!Personal", 5233 "defaultMessage": "!!!Franz Personal",
5015 "end": { 5234 "end": {
5016 "column": 3, 5235 "column": 3,
5017 "line": 12 5236 "line": 12
@@ -5024,7 +5243,7 @@
5024 } 5243 }
5025 }, 5244 },
5026 { 5245 {
5027 "defaultMessage": "!!!Free", 5246 "defaultMessage": "!!!Franz Free",
5028 "end": { 5247 "end": {
5029 "column": 3, 5248 "column": 3,
5030 "line": 16 5249 "line": 16
@@ -5037,7 +5256,7 @@
5037 } 5256 }
5038 }, 5257 },
5039 { 5258 {
5040 "defaultMessage": "!!!Premium", 5259 "defaultMessage": "!!!Franz Premium",
5041 "end": { 5260 "end": {
5042 "column": 3, 5261 "column": 3,
5043 "line": 20 5262 "line": 20
@@ -5208,7 +5427,7 @@
5208 { 5427 {
5209 "descriptors": [ 5428 "descriptors": [
5210 { 5429 {
5211 "defaultMessage": "!!!Can't connect to Franz Online Services", 5430 "defaultMessage": "!!!Can't connect to Ferdi Online Services",
5212 "end": { 5431 "end": {
5213 "column": 3, 5432 "column": 3,
5214 "line": 7 5433 "line": 7
@@ -5307,819 +5526,884 @@
5307 "defaultMessage": "!!!Edit", 5526 "defaultMessage": "!!!Edit",
5308 "end": { 5527 "end": {
5309 "column": 3, 5528 "column": 3,
5310 "line": 21 5529 "line": 20
5311 }, 5530 },
5312 "file": "src/lib/Menu.js", 5531 "file": "src/lib/Menu.js",
5313 "id": "menu.edit", 5532 "id": "menu.edit",
5314 "start": { 5533 "start": {
5315 "column": 8, 5534 "column": 8,
5316 "line": 18 5535 "line": 17
5317 } 5536 }
5318 }, 5537 },
5319 { 5538 {
5320 "defaultMessage": "!!!Undo", 5539 "defaultMessage": "!!!Undo",
5321 "end": { 5540 "end": {
5322 "column": 3, 5541 "column": 3,
5323 "line": 25 5542 "line": 24
5324 }, 5543 },
5325 "file": "src/lib/Menu.js", 5544 "file": "src/lib/Menu.js",
5326 "id": "menu.edit.undo", 5545 "id": "menu.edit.undo",
5327 "start": { 5546 "start": {
5328 "column": 8, 5547 "column": 8,
5329 "line": 22 5548 "line": 21
5330 } 5549 }
5331 }, 5550 },
5332 { 5551 {
5333 "defaultMessage": "!!!Redo", 5552 "defaultMessage": "!!!Redo",
5334 "end": { 5553 "end": {
5335 "column": 3, 5554 "column": 3,
5336 "line": 29 5555 "line": 28
5337 }, 5556 },
5338 "file": "src/lib/Menu.js", 5557 "file": "src/lib/Menu.js",
5339 "id": "menu.edit.redo", 5558 "id": "menu.edit.redo",
5340 "start": { 5559 "start": {
5341 "column": 8, 5560 "column": 8,
5342 "line": 26 5561 "line": 25
5343 } 5562 }
5344 }, 5563 },
5345 { 5564 {
5346 "defaultMessage": "!!!Cut", 5565 "defaultMessage": "!!!Cut",
5347 "end": { 5566 "end": {
5348 "column": 3, 5567 "column": 3,
5349 "line": 33 5568 "line": 32
5350 }, 5569 },
5351 "file": "src/lib/Menu.js", 5570 "file": "src/lib/Menu.js",
5352 "id": "menu.edit.cut", 5571 "id": "menu.edit.cut",
5353 "start": { 5572 "start": {
5354 "column": 7, 5573 "column": 7,
5355 "line": 30 5574 "line": 29
5356 } 5575 }
5357 }, 5576 },
5358 { 5577 {
5359 "defaultMessage": "!!!Copy", 5578 "defaultMessage": "!!!Copy",
5360 "end": { 5579 "end": {
5361 "column": 3, 5580 "column": 3,
5362 "line": 37 5581 "line": 36
5363 }, 5582 },
5364 "file": "src/lib/Menu.js", 5583 "file": "src/lib/Menu.js",
5365 "id": "menu.edit.copy", 5584 "id": "menu.edit.copy",
5366 "start": { 5585 "start": {
5367 "column": 8, 5586 "column": 8,
5368 "line": 34 5587 "line": 33
5369 } 5588 }
5370 }, 5589 },
5371 { 5590 {
5372 "defaultMessage": "!!!Paste", 5591 "defaultMessage": "!!!Paste",
5373 "end": { 5592 "end": {
5374 "column": 3, 5593 "column": 3,
5375 "line": 41 5594 "line": 40
5376 }, 5595 },
5377 "file": "src/lib/Menu.js", 5596 "file": "src/lib/Menu.js",
5378 "id": "menu.edit.paste", 5597 "id": "menu.edit.paste",
5379 "start": { 5598 "start": {
5380 "column": 9, 5599 "column": 9,
5381 "line": 38 5600 "line": 37
5382 } 5601 }
5383 }, 5602 },
5384 { 5603 {
5385 "defaultMessage": "!!!Paste And Match Style", 5604 "defaultMessage": "!!!Paste And Match Style",
5386 "end": { 5605 "end": {
5387 "column": 3, 5606 "column": 3,
5388 "line": 45 5607 "line": 44
5389 }, 5608 },
5390 "file": "src/lib/Menu.js", 5609 "file": "src/lib/Menu.js",
5391 "id": "menu.edit.pasteAndMatchStyle", 5610 "id": "menu.edit.pasteAndMatchStyle",
5392 "start": { 5611 "start": {
5393 "column": 22, 5612 "column": 22,
5394 "line": 42 5613 "line": 41
5395 } 5614 }
5396 }, 5615 },
5397 { 5616 {
5398 "defaultMessage": "!!!Delete", 5617 "defaultMessage": "!!!Delete",
5399 "end": { 5618 "end": {
5400 "column": 3, 5619 "column": 3,
5401 "line": 49 5620 "line": 48
5402 }, 5621 },
5403 "file": "src/lib/Menu.js", 5622 "file": "src/lib/Menu.js",
5404 "id": "menu.edit.delete", 5623 "id": "menu.edit.delete",
5405 "start": { 5624 "start": {
5406 "column": 10, 5625 "column": 10,
5407 "line": 46 5626 "line": 45
5408 } 5627 }
5409 }, 5628 },
5410 { 5629 {
5411 "defaultMessage": "!!!Select All", 5630 "defaultMessage": "!!!Select All",
5412 "end": { 5631 "end": {
5413 "column": 3, 5632 "column": 3,
5414 "line": 53 5633 "line": 52
5415 }, 5634 },
5416 "file": "src/lib/Menu.js", 5635 "file": "src/lib/Menu.js",
5417 "id": "menu.edit.selectAll", 5636 "id": "menu.edit.selectAll",
5418 "start": { 5637 "start": {
5419 "column": 13, 5638 "column": 13,
5420 "line": 50 5639 "line": 49
5421 } 5640 }
5422 }, 5641 },
5423 { 5642 {
5424 "defaultMessage": "!!!Speech", 5643 "defaultMessage": "!!!Speech",
5425 "end": { 5644 "end": {
5426 "column": 3, 5645 "column": 3,
5427 "line": 57 5646 "line": 56
5428 }, 5647 },
5429 "file": "src/lib/Menu.js", 5648 "file": "src/lib/Menu.js",
5430 "id": "menu.edit.speech", 5649 "id": "menu.edit.speech",
5431 "start": { 5650 "start": {
5432 "column": 10, 5651 "column": 10,
5433 "line": 54 5652 "line": 53
5434 } 5653 }
5435 }, 5654 },
5436 { 5655 {
5437 "defaultMessage": "!!!Start Speaking", 5656 "defaultMessage": "!!!Start Speaking",
5438 "end": { 5657 "end": {
5439 "column": 3, 5658 "column": 3,
5440 "line": 61 5659 "line": 60
5441 }, 5660 },
5442 "file": "src/lib/Menu.js", 5661 "file": "src/lib/Menu.js",
5443 "id": "menu.edit.startSpeaking", 5662 "id": "menu.edit.startSpeaking",
5444 "start": { 5663 "start": {
5445 "column": 17, 5664 "column": 17,
5446 "line": 58 5665 "line": 57
5447 } 5666 }
5448 }, 5667 },
5449 { 5668 {
5450 "defaultMessage": "!!!Stop Speaking", 5669 "defaultMessage": "!!!Stop Speaking",
5451 "end": { 5670 "end": {
5452 "column": 3, 5671 "column": 3,
5453 "line": 65 5672 "line": 64
5454 }, 5673 },
5455 "file": "src/lib/Menu.js", 5674 "file": "src/lib/Menu.js",
5456 "id": "menu.edit.stopSpeaking", 5675 "id": "menu.edit.stopSpeaking",
5457 "start": { 5676 "start": {
5458 "column": 16, 5677 "column": 16,
5459 "line": 62 5678 "line": 61
5460 } 5679 }
5461 }, 5680 },
5462 { 5681 {
5463 "defaultMessage": "!!!Start Dictation", 5682 "defaultMessage": "!!!Start Dictation",
5464 "end": { 5683 "end": {
5465 "column": 3, 5684 "column": 3,
5466 "line": 69 5685 "line": 68
5467 }, 5686 },
5468 "file": "src/lib/Menu.js", 5687 "file": "src/lib/Menu.js",
5469 "id": "menu.edit.startDictation", 5688 "id": "menu.edit.startDictation",
5470 "start": { 5689 "start": {
5471 "column": 18, 5690 "column": 18,
5472 "line": 66 5691 "line": 65
5473 } 5692 }
5474 }, 5693 },
5475 { 5694 {
5476 "defaultMessage": "!!!Emoji & Symbols", 5695 "defaultMessage": "!!!Emoji & Symbols",
5477 "end": { 5696 "end": {
5478 "column": 3, 5697 "column": 3,
5479 "line": 73 5698 "line": 72
5480 }, 5699 },
5481 "file": "src/lib/Menu.js", 5700 "file": "src/lib/Menu.js",
5482 "id": "menu.edit.emojiSymbols", 5701 "id": "menu.edit.emojiSymbols",
5483 "start": { 5702 "start": {
5484 "column": 16, 5703 "column": 16,
5485 "line": 70 5704 "line": 69
5486 } 5705 }
5487 }, 5706 },
5488 { 5707 {
5489 "defaultMessage": "!!!Actual Size", 5708 "defaultMessage": "!!!Open Quick Switch",
5490 "end": { 5709 "end": {
5491 "column": 3, 5710 "column": 3,
5711 "line": 76
5712 },
5713 "file": "src/lib/Menu.js",
5714 "id": "menu.view.openQuickSwitch",
5715 "start": {
5716 "column": 19,
5717 "line": 73
5718 }
5719 },
5720 {
5721 "defaultMessage": "!!!Back",
5722 "end": {
5723 "column": 3,
5724 "line": 80
5725 },
5726 "file": "src/lib/Menu.js",
5727 "id": "menu.view.back",
5728 "start": {
5729 "column": 8,
5492 "line": 77 5730 "line": 77
5731 }
5732 },
5733 {
5734 "defaultMessage": "!!!Forward",
5735 "end": {
5736 "column": 3,
5737 "line": 84
5738 },
5739 "file": "src/lib/Menu.js",
5740 "id": "menu.view.forward",
5741 "start": {
5742 "column": 11,
5743 "line": 81
5744 }
5745 },
5746 {
5747 "defaultMessage": "!!!Actual Size",
5748 "end": {
5749 "column": 3,
5750 "line": 88
5493 }, 5751 },
5494 "file": "src/lib/Menu.js", 5752 "file": "src/lib/Menu.js",
5495 "id": "menu.view.resetZoom", 5753 "id": "menu.view.resetZoom",
5496 "start": { 5754 "start": {
5497 "column": 13, 5755 "column": 13,
5498 "line": 74 5756 "line": 85
5499 } 5757 }
5500 }, 5758 },
5501 { 5759 {
5502 "defaultMessage": "!!!Zoom In", 5760 "defaultMessage": "!!!Zoom In",
5503 "end": { 5761 "end": {
5504 "column": 3, 5762 "column": 3,
5505 "line": 81 5763 "line": 92
5506 }, 5764 },
5507 "file": "src/lib/Menu.js", 5765 "file": "src/lib/Menu.js",
5508 "id": "menu.view.zoomIn", 5766 "id": "menu.view.zoomIn",
5509 "start": { 5767 "start": {
5510 "column": 10, 5768 "column": 10,
5511 "line": 78 5769 "line": 89
5512 } 5770 }
5513 }, 5771 },
5514 { 5772 {
5515 "defaultMessage": "!!!Zoom Out", 5773 "defaultMessage": "!!!Zoom Out",
5516 "end": { 5774 "end": {
5517 "column": 3, 5775 "column": 3,
5518 "line": 85 5776 "line": 96
5519 }, 5777 },
5520 "file": "src/lib/Menu.js", 5778 "file": "src/lib/Menu.js",
5521 "id": "menu.view.zoomOut", 5779 "id": "menu.view.zoomOut",
5522 "start": { 5780 "start": {
5523 "column": 11, 5781 "column": 11,
5524 "line": 82 5782 "line": 93
5525 } 5783 }
5526 }, 5784 },
5527 { 5785 {
5528 "defaultMessage": "!!!Enter Full Screen", 5786 "defaultMessage": "!!!Enter Full Screen",
5529 "end": { 5787 "end": {
5530 "column": 3, 5788 "column": 3,
5531 "line": 89 5789 "line": 100
5532 }, 5790 },
5533 "file": "src/lib/Menu.js", 5791 "file": "src/lib/Menu.js",
5534 "id": "menu.view.enterFullScreen", 5792 "id": "menu.view.enterFullScreen",
5535 "start": { 5793 "start": {
5536 "column": 19, 5794 "column": 19,
5537 "line": 86 5795 "line": 97
5538 } 5796 }
5539 }, 5797 },
5540 { 5798 {
5541 "defaultMessage": "!!!Exit Full Screen", 5799 "defaultMessage": "!!!Exit Full Screen",
5542 "end": { 5800 "end": {
5543 "column": 3, 5801 "column": 3,
5544 "line": 93 5802 "line": 104
5545 }, 5803 },
5546 "file": "src/lib/Menu.js", 5804 "file": "src/lib/Menu.js",
5547 "id": "menu.view.exitFullScreen", 5805 "id": "menu.view.exitFullScreen",
5548 "start": { 5806 "start": {
5549 "column": 18, 5807 "column": 18,
5550 "line": 90 5808 "line": 101
5551 } 5809 }
5552 }, 5810 },
5553 { 5811 {
5554 "defaultMessage": "!!!Toggle Full Screen", 5812 "defaultMessage": "!!!Toggle Full Screen",
5555 "end": { 5813 "end": {
5556 "column": 3, 5814 "column": 3,
5557 "line": 97 5815 "line": 108
5558 }, 5816 },
5559 "file": "src/lib/Menu.js", 5817 "file": "src/lib/Menu.js",
5560 "id": "menu.view.toggleFullScreen", 5818 "id": "menu.view.toggleFullScreen",
5561 "start": { 5819 "start": {
5562 "column": 20, 5820 "column": 20,
5563 "line": 94 5821 "line": 105
5564 } 5822 }
5565 }, 5823 },
5566 { 5824 {
5567 "defaultMessage": "!!!Toggle Developer Tools", 5825 "defaultMessage": "!!!Toggle Developer Tools",
5568 "end": { 5826 "end": {
5569 "column": 3, 5827 "column": 3,
5570 "line": 101 5828 "line": 112
5571 }, 5829 },
5572 "file": "src/lib/Menu.js", 5830 "file": "src/lib/Menu.js",
5573 "id": "menu.view.toggleDevTools", 5831 "id": "menu.view.toggleDevTools",
5574 "start": { 5832 "start": {
5575 "column": 18, 5833 "column": 18,
5576 "line": 98 5834 "line": 109
5577 } 5835 }
5578 }, 5836 },
5579 { 5837 {
5580 "defaultMessage": "!!!Toggle Todos Developer Tools", 5838 "defaultMessage": "!!!Toggle Todos Developer Tools",
5581 "end": { 5839 "end": {
5582 "column": 3, 5840 "column": 3,
5583 "line": 105 5841 "line": 116
5584 }, 5842 },
5585 "file": "src/lib/Menu.js", 5843 "file": "src/lib/Menu.js",
5586 "id": "menu.view.toggleTodosDevTools", 5844 "id": "menu.view.toggleTodosDevTools",
5587 "start": { 5845 "start": {
5588 "column": 23, 5846 "column": 23,
5589 "line": 102 5847 "line": 113
5590 } 5848 }
5591 }, 5849 },
5592 { 5850 {
5593 "defaultMessage": "!!!Toggle Service Developer Tools", 5851 "defaultMessage": "!!!Toggle Service Developer Tools",
5594 "end": { 5852 "end": {
5595 "column": 3, 5853 "column": 3,
5596 "line": 109 5854 "line": 120
5597 }, 5855 },
5598 "file": "src/lib/Menu.js", 5856 "file": "src/lib/Menu.js",
5599 "id": "menu.view.toggleServiceDevTools", 5857 "id": "menu.view.toggleServiceDevTools",
5600 "start": { 5858 "start": {
5601 "column": 25, 5859 "column": 25,
5602 "line": 106 5860 "line": 117
5603 } 5861 }
5604 }, 5862 },
5605 { 5863 {
5606 "defaultMessage": "!!!Reload Service", 5864 "defaultMessage": "!!!Reload Service",
5607 "end": { 5865 "end": {
5608 "column": 3, 5866 "column": 3,
5609 "line": 113 5867 "line": 124
5610 }, 5868 },
5611 "file": "src/lib/Menu.js", 5869 "file": "src/lib/Menu.js",
5612 "id": "menu.view.reloadService", 5870 "id": "menu.view.reloadService",
5613 "start": { 5871 "start": {
5614 "column": 17, 5872 "column": 17,
5615 "line": 110 5873 "line": 121
5616 } 5874 }
5617 }, 5875 },
5618 { 5876 {
5619 "defaultMessage": "!!!Reload Franz", 5877 "defaultMessage": "!!!Reload Ferdi",
5620 "end": { 5878 "end": {
5621 "column": 3, 5879 "column": 3,
5622 "line": 117 5880 "line": 128
5623 }, 5881 },
5624 "file": "src/lib/Menu.js", 5882 "file": "src/lib/Menu.js",
5625 "id": "menu.view.reloadFranz", 5883 "id": "menu.view.reloadFranz",
5626 "start": { 5884 "start": {
5627 "column": 15, 5885 "column": 15,
5628 "line": 114 5886 "line": 125
5887 }
5888 },
5889 {
5890 "defaultMessage": "!!!Lock Ferdi",
5891 "end": {
5892 "column": 3,
5893 "line": 132
5894 },
5895 "file": "src/lib/Menu.js",
5896 "id": "menu.view.lockFerdi",
5897 "start": {
5898 "column": 13,
5899 "line": 129
5629 } 5900 }
5630 }, 5901 },
5631 { 5902 {
5632 "defaultMessage": "!!!Minimize", 5903 "defaultMessage": "!!!Minimize",
5633 "end": { 5904 "end": {
5634 "column": 3, 5905 "column": 3,
5635 "line": 121 5906 "line": 136
5636 }, 5907 },
5637 "file": "src/lib/Menu.js", 5908 "file": "src/lib/Menu.js",
5638 "id": "menu.window.minimize", 5909 "id": "menu.window.minimize",
5639 "start": { 5910 "start": {
5640 "column": 12, 5911 "column": 12,
5641 "line": 118 5912 "line": 133
5642 } 5913 }
5643 }, 5914 },
5644 { 5915 {
5645 "defaultMessage": "!!!Close", 5916 "defaultMessage": "!!!Close",
5646 "end": { 5917 "end": {
5647 "column": 3, 5918 "column": 3,
5648 "line": 125 5919 "line": 140
5649 }, 5920 },
5650 "file": "src/lib/Menu.js", 5921 "file": "src/lib/Menu.js",
5651 "id": "menu.window.close", 5922 "id": "menu.window.close",
5652 "start": { 5923 "start": {
5653 "column": 9, 5924 "column": 9,
5654 "line": 122 5925 "line": 137
5655 } 5926 }
5656 }, 5927 },
5657 { 5928 {
5658 "defaultMessage": "!!!Learn More", 5929 "defaultMessage": "!!!Learn More",
5659 "end": { 5930 "end": {
5660 "column": 3, 5931 "column": 3,
5661 "line": 129 5932 "line": 144
5662 }, 5933 },
5663 "file": "src/lib/Menu.js", 5934 "file": "src/lib/Menu.js",
5664 "id": "menu.help.learnMore", 5935 "id": "menu.help.learnMore",
5665 "start": { 5936 "start": {
5666 "column": 13, 5937 "column": 13,
5667 "line": 126 5938 "line": 141
5668 } 5939 }
5669 }, 5940 },
5670 { 5941 {
5671 "defaultMessage": "!!!Changelog", 5942 "defaultMessage": "!!!Changelog",
5672 "end": { 5943 "end": {
5673 "column": 3, 5944 "column": 3,
5674 "line": 133 5945 "line": 148
5675 }, 5946 },
5676 "file": "src/lib/Menu.js", 5947 "file": "src/lib/Menu.js",
5677 "id": "menu.help.changelog", 5948 "id": "menu.help.changelog",
5678 "start": { 5949 "start": {
5679 "column": 13, 5950 "column": 13,
5680 "line": 130 5951 "line": 145
5681 } 5952 }
5682 }, 5953 },
5683 { 5954 {
5684 "defaultMessage": "!!!Support", 5955 "defaultMessage": "!!!Support",
5685 "end": { 5956 "end": {
5686 "column": 3, 5957 "column": 3,
5687 "line": 137 5958 "line": 152
5688 }, 5959 },
5689 "file": "src/lib/Menu.js", 5960 "file": "src/lib/Menu.js",
5690 "id": "menu.help.support", 5961 "id": "menu.help.support",
5691 "start": { 5962 "start": {
5692 "column": 11, 5963 "column": 11,
5693 "line": 134 5964 "line": 149
5694 } 5965 }
5695 }, 5966 },
5696 { 5967 {
5697 "defaultMessage": "!!!Copy Debug Information", 5968 "defaultMessage": "!!!Copy Debug Information",
5698 "end": { 5969 "end": {
5699 "column": 3, 5970 "column": 3,
5700 "line": 141 5971 "line": 156
5701 }, 5972 },
5702 "file": "src/lib/Menu.js", 5973 "file": "src/lib/Menu.js",
5703 "id": "menu.help.debugInfo", 5974 "id": "menu.help.debugInfo",
5704 "start": { 5975 "start": {
5705 "column": 13, 5976 "column": 13,
5706 "line": 138 5977 "line": 153
5707 } 5978 }
5708 }, 5979 },
5709 { 5980 {
5710 "defaultMessage": "!!!Franz Debug Information", 5981 "defaultMessage": "!!!Ferdi Debug Information",
5711 "end": { 5982 "end": {
5712 "column": 3, 5983 "column": 3,
5713 "line": 145 5984 "line": 160
5714 }, 5985 },
5715 "file": "src/lib/Menu.js", 5986 "file": "src/lib/Menu.js",
5716 "id": "menu.help.debugInfoCopiedHeadline", 5987 "id": "menu.help.debugInfoCopiedHeadline",
5717 "start": { 5988 "start": {
5718 "column": 27, 5989 "column": 27,
5719 "line": 142 5990 "line": 157
5720 } 5991 }
5721 }, 5992 },
5722 { 5993 {
5723 "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.", 5994 "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.",
5724 "end": { 5995 "end": {
5725 "column": 3, 5996 "column": 3,
5726 "line": 149 5997 "line": 164
5727 }, 5998 },
5728 "file": "src/lib/Menu.js", 5999 "file": "src/lib/Menu.js",
5729 "id": "menu.help.debugInfoCopiedBody", 6000 "id": "menu.help.debugInfoCopiedBody",
5730 "start": { 6001 "start": {
5731 "column": 23, 6002 "column": 23,
5732 "line": 146 6003 "line": 161
5733 } 6004 }
5734 }, 6005 },
5735 { 6006 {
5736 "defaultMessage": "!!!Terms of Service", 6007 "defaultMessage": "!!!Terms of Service",
5737 "end": { 6008 "end": {
5738 "column": 3, 6009 "column": 3,
5739 "line": 153 6010 "line": 168
5740 }, 6011 },
5741 "file": "src/lib/Menu.js", 6012 "file": "src/lib/Menu.js",
5742 "id": "menu.help.tos", 6013 "id": "menu.help.tos",
5743 "start": { 6014 "start": {
5744 "column": 7, 6015 "column": 7,
5745 "line": 150 6016 "line": 165
5746 } 6017 }
5747 }, 6018 },
5748 { 6019 {
5749 "defaultMessage": "!!!Privacy Statement", 6020 "defaultMessage": "!!!Privacy Statement",
5750 "end": { 6021 "end": {
5751 "column": 3, 6022 "column": 3,
5752 "line": 157 6023 "line": 172
5753 }, 6024 },
5754 "file": "src/lib/Menu.js", 6025 "file": "src/lib/Menu.js",
5755 "id": "menu.help.privacy", 6026 "id": "menu.help.privacy",
5756 "start": { 6027 "start": {
5757 "column": 11, 6028 "column": 11,
5758 "line": 154 6029 "line": 169
5759 } 6030 }
5760 }, 6031 },
5761 { 6032 {
5762 "defaultMessage": "!!!File", 6033 "defaultMessage": "!!!File",
5763 "end": { 6034 "end": {
5764 "column": 3, 6035 "column": 3,
5765 "line": 161 6036 "line": 176
5766 }, 6037 },
5767 "file": "src/lib/Menu.js", 6038 "file": "src/lib/Menu.js",
5768 "id": "menu.file", 6039 "id": "menu.file",
5769 "start": { 6040 "start": {
5770 "column": 8, 6041 "column": 8,
5771 "line": 158 6042 "line": 173
5772 } 6043 }
5773 }, 6044 },
5774 { 6045 {
5775 "defaultMessage": "!!!View", 6046 "defaultMessage": "!!!View",
5776 "end": { 6047 "end": {
5777 "column": 3, 6048 "column": 3,
5778 "line": 165 6049 "line": 180
5779 }, 6050 },
5780 "file": "src/lib/Menu.js", 6051 "file": "src/lib/Menu.js",
5781 "id": "menu.view", 6052 "id": "menu.view",
5782 "start": { 6053 "start": {
5783 "column": 8, 6054 "column": 8,
5784 "line": 162 6055 "line": 177
5785 } 6056 }
5786 }, 6057 },
5787 { 6058 {
5788 "defaultMessage": "!!!Services", 6059 "defaultMessage": "!!!Services",
5789 "end": { 6060 "end": {
5790 "column": 3, 6061 "column": 3,
5791 "line": 169 6062 "line": 184
5792 }, 6063 },
5793 "file": "src/lib/Menu.js", 6064 "file": "src/lib/Menu.js",
5794 "id": "menu.services", 6065 "id": "menu.services",
5795 "start": { 6066 "start": {
5796 "column": 12, 6067 "column": 12,
5797 "line": 166 6068 "line": 181
5798 } 6069 }
5799 }, 6070 },
5800 { 6071 {
5801 "defaultMessage": "!!!Window", 6072 "defaultMessage": "!!!Window",
5802 "end": { 6073 "end": {
5803 "column": 3, 6074 "column": 3,
5804 "line": 173 6075 "line": 188
5805 }, 6076 },
5806 "file": "src/lib/Menu.js", 6077 "file": "src/lib/Menu.js",
5807 "id": "menu.window", 6078 "id": "menu.window",
5808 "start": { 6079 "start": {
5809 "column": 10, 6080 "column": 10,
5810 "line": 170 6081 "line": 185
5811 } 6082 }
5812 }, 6083 },
5813 { 6084 {
5814 "defaultMessage": "!!!Help", 6085 "defaultMessage": "!!!Help",
5815 "end": { 6086 "end": {
5816 "column": 3, 6087 "column": 3,
5817 "line": 177 6088 "line": 192
5818 }, 6089 },
5819 "file": "src/lib/Menu.js", 6090 "file": "src/lib/Menu.js",
5820 "id": "menu.help", 6091 "id": "menu.help",
5821 "start": { 6092 "start": {
5822 "column": 8, 6093 "column": 8,
5823 "line": 174 6094 "line": 189
5824 } 6095 }
5825 }, 6096 },
5826 { 6097 {
5827 "defaultMessage": "!!!About Franz", 6098 "defaultMessage": "!!!About Ferdi",
5828 "end": { 6099 "end": {
5829 "column": 3, 6100 "column": 3,
5830 "line": 181 6101 "line": 196
5831 }, 6102 },
5832 "file": "src/lib/Menu.js", 6103 "file": "src/lib/Menu.js",
5833 "id": "menu.app.about", 6104 "id": "menu.app.about",
5834 "start": { 6105 "start": {
5835 "column": 9, 6106 "column": 9,
5836 "line": 178 6107 "line": 193
5837 } 6108 }
5838 }, 6109 },
5839 { 6110 {
5840 "defaultMessage": "!!!What's new?", 6111 "defaultMessage": "!!!What's new?",
5841 "end": { 6112 "end": {
5842 "column": 3, 6113 "column": 3,
5843 "line": 185 6114 "line": 200
5844 }, 6115 },
5845 "file": "src/lib/Menu.js", 6116 "file": "src/lib/Menu.js",
5846 "id": "menu.app.announcement", 6117 "id": "menu.app.announcement",
5847 "start": { 6118 "start": {
5848 "column": 16, 6119 "column": 16,
5849 "line": 182 6120 "line": 197
5850 } 6121 }
5851 }, 6122 },
5852 { 6123 {
5853 "defaultMessage": "!!!Settings", 6124 "defaultMessage": "!!!Settings",
5854 "end": { 6125 "end": {
5855 "column": 3, 6126 "column": 3,
5856 "line": 189 6127 "line": 204
5857 }, 6128 },
5858 "file": "src/lib/Menu.js", 6129 "file": "src/lib/Menu.js",
5859 "id": "menu.app.settings", 6130 "id": "menu.app.settings",
5860 "start": { 6131 "start": {
5861 "column": 12, 6132 "column": 12,
5862 "line": 186 6133 "line": 201
5863 } 6134 }
5864 }, 6135 },
5865 { 6136 {
5866 "defaultMessage": "!!!Check for updates", 6137 "defaultMessage": "!!!Check for updates",
5867 "end": { 6138 "end": {
5868 "column": 3, 6139 "column": 3,
5869 "line": 193 6140 "line": 208
5870 }, 6141 },
5871 "file": "src/lib/Menu.js", 6142 "file": "src/lib/Menu.js",
5872 "id": "menu.app.checkForUpdates", 6143 "id": "menu.app.checkForUpdates",
5873 "start": { 6144 "start": {
5874 "column": 19, 6145 "column": 19,
5875 "line": 190 6146 "line": 205
5876 } 6147 }
5877 }, 6148 },
5878 { 6149 {
5879 "defaultMessage": "!!!Hide", 6150 "defaultMessage": "!!!Hide",
5880 "end": { 6151 "end": {
5881 "column": 3, 6152 "column": 3,
5882 "line": 197 6153 "line": 212
5883 }, 6154 },
5884 "file": "src/lib/Menu.js", 6155 "file": "src/lib/Menu.js",
5885 "id": "menu.app.hide", 6156 "id": "menu.app.hide",
5886 "start": { 6157 "start": {
5887 "column": 8, 6158 "column": 8,
5888 "line": 194 6159 "line": 209
5889 } 6160 }
5890 }, 6161 },
5891 { 6162 {
5892 "defaultMessage": "!!!Hide Others", 6163 "defaultMessage": "!!!Hide Others",
5893 "end": { 6164 "end": {
5894 "column": 3, 6165 "column": 3,
5895 "line": 201 6166 "line": 216
5896 }, 6167 },
5897 "file": "src/lib/Menu.js", 6168 "file": "src/lib/Menu.js",
5898 "id": "menu.app.hideOthers", 6169 "id": "menu.app.hideOthers",
5899 "start": { 6170 "start": {
5900 "column": 14, 6171 "column": 14,
5901 "line": 198 6172 "line": 213
5902 } 6173 }
5903 }, 6174 },
5904 { 6175 {
5905 "defaultMessage": "!!!Unhide", 6176 "defaultMessage": "!!!Unhide",
5906 "end": { 6177 "end": {
5907 "column": 3, 6178 "column": 3,
5908 "line": 205 6179 "line": 220
5909 }, 6180 },
5910 "file": "src/lib/Menu.js", 6181 "file": "src/lib/Menu.js",
5911 "id": "menu.app.unhide", 6182 "id": "menu.app.unhide",
5912 "start": { 6183 "start": {
5913 "column": 10, 6184 "column": 10,
5914 "line": 202 6185 "line": 217
6186 }
6187 },
6188 {
6189 "defaultMessage": "!!!Auto-hide menu bar",
6190 "end": {
6191 "column": 3,
6192 "line": 224
6193 },
6194 "file": "src/lib/Menu.js",
6195 "id": "menu.app.autohideMenuBar",
6196 "start": {
6197 "column": 19,
6198 "line": 221
5915 } 6199 }
5916 }, 6200 },
5917 { 6201 {
5918 "defaultMessage": "!!!Quit", 6202 "defaultMessage": "!!!Quit",
5919 "end": { 6203 "end": {
5920 "column": 3, 6204 "column": 3,
5921 "line": 209 6205 "line": 228
5922 }, 6206 },
5923 "file": "src/lib/Menu.js", 6207 "file": "src/lib/Menu.js",
5924 "id": "menu.app.quit", 6208 "id": "menu.app.quit",
5925 "start": { 6209 "start": {
5926 "column": 8, 6210 "column": 8,
5927 "line": 206 6211 "line": 225
5928 } 6212 }
5929 }, 6213 },
5930 { 6214 {
5931 "defaultMessage": "!!!Add New Service...", 6215 "defaultMessage": "!!!Add New Service...",
5932 "end": { 6216 "end": {
5933 "column": 3, 6217 "column": 3,
5934 "line": 213 6218 "line": 232
5935 }, 6219 },
5936 "file": "src/lib/Menu.js", 6220 "file": "src/lib/Menu.js",
5937 "id": "menu.services.addNewService", 6221 "id": "menu.services.addNewService",
5938 "start": { 6222 "start": {
5939 "column": 17, 6223 "column": 17,
5940 "line": 210 6224 "line": 229
5941 } 6225 }
5942 }, 6226 },
5943 { 6227 {
5944 "defaultMessage": "!!!Add New Workspace...", 6228 "defaultMessage": "!!!Add New Workspace...",
5945 "end": { 6229 "end": {
5946 "column": 3, 6230 "column": 3,
5947 "line": 217 6231 "line": 236
5948 }, 6232 },
5949 "file": "src/lib/Menu.js", 6233 "file": "src/lib/Menu.js",
5950 "id": "menu.workspaces.addNewWorkspace", 6234 "id": "menu.workspaces.addNewWorkspace",
5951 "start": { 6235 "start": {
5952 "column": 19, 6236 "column": 19,
5953 "line": 214 6237 "line": 233
5954 } 6238 }
5955 }, 6239 },
5956 { 6240 {
5957 "defaultMessage": "!!!Open workspace drawer", 6241 "defaultMessage": "!!!Open workspace drawer",
5958 "end": { 6242 "end": {
5959 "column": 3, 6243 "column": 3,
5960 "line": 221 6244 "line": 240
5961 }, 6245 },
5962 "file": "src/lib/Menu.js", 6246 "file": "src/lib/Menu.js",
5963 "id": "menu.workspaces.openWorkspaceDrawer", 6247 "id": "menu.workspaces.openWorkspaceDrawer",
5964 "start": { 6248 "start": {
5965 "column": 23, 6249 "column": 23,
5966 "line": 218 6250 "line": 237
5967 } 6251 }
5968 }, 6252 },
5969 { 6253 {
5970 "defaultMessage": "!!!Close workspace drawer", 6254 "defaultMessage": "!!!Close workspace drawer",
5971 "end": { 6255 "end": {
5972 "column": 3, 6256 "column": 3,
5973 "line": 225 6257 "line": 244
5974 }, 6258 },
5975 "file": "src/lib/Menu.js", 6259 "file": "src/lib/Menu.js",
5976 "id": "menu.workspaces.closeWorkspaceDrawer", 6260 "id": "menu.workspaces.closeWorkspaceDrawer",
5977 "start": { 6261 "start": {
5978 "column": 24, 6262 "column": 24,
5979 "line": 222 6263 "line": 241
5980 } 6264 }
5981 }, 6265 },
5982 { 6266 {
5983 "defaultMessage": "!!!Activate next service...", 6267 "defaultMessage": "!!!Activate next service...",
5984 "end": { 6268 "end": {
5985 "column": 3, 6269 "column": 3,
5986 "line": 229 6270 "line": 248
5987 }, 6271 },
5988 "file": "src/lib/Menu.js", 6272 "file": "src/lib/Menu.js",
5989 "id": "menu.services.setNextServiceActive", 6273 "id": "menu.services.setNextServiceActive",
5990 "start": { 6274 "start": {
5991 "column": 23, 6275 "column": 23,
5992 "line": 226 6276 "line": 245
5993 } 6277 }
5994 }, 6278 },
5995 { 6279 {
5996 "defaultMessage": "!!!Activate previous service...", 6280 "defaultMessage": "!!!Activate previous service...",
5997 "end": { 6281 "end": {
5998 "column": 3, 6282 "column": 3,
5999 "line": 233 6283 "line": 252
6000 }, 6284 },
6001 "file": "src/lib/Menu.js", 6285 "file": "src/lib/Menu.js",
6002 "id": "menu.services.activatePreviousService", 6286 "id": "menu.services.activatePreviousService",
6003 "start": { 6287 "start": {
6004 "column": 27, 6288 "column": 27,
6005 "line": 230 6289 "line": 249
6006 } 6290 }
6007 }, 6291 },
6008 { 6292 {
6009 "defaultMessage": "!!!Disable notifications & audio", 6293 "defaultMessage": "!!!Disable notifications & audio",
6010 "end": { 6294 "end": {
6011 "column": 3, 6295 "column": 3,
6012 "line": 237 6296 "line": 256
6013 }, 6297 },
6014 "file": "src/lib/Menu.js", 6298 "file": "src/lib/Menu.js",
6015 "id": "sidebar.muteApp", 6299 "id": "sidebar.muteApp",
6016 "start": { 6300 "start": {
6017 "column": 11, 6301 "column": 11,
6018 "line": 234 6302 "line": 253
6019 } 6303 }
6020 }, 6304 },
6021 { 6305 {
6022 "defaultMessage": "!!!Enable notifications & audio", 6306 "defaultMessage": "!!!Enable notifications & audio",
6023 "end": { 6307 "end": {
6024 "column": 3, 6308 "column": 3,
6025 "line": 241 6309 "line": 260
6026 }, 6310 },
6027 "file": "src/lib/Menu.js", 6311 "file": "src/lib/Menu.js",
6028 "id": "sidebar.unmuteApp", 6312 "id": "sidebar.unmuteApp",
6029 "start": { 6313 "start": {
6030 "column": 13, 6314 "column": 13,
6031 "line": 238 6315 "line": 257
6032 } 6316 }
6033 }, 6317 },
6034 { 6318 {
6035 "defaultMessage": "!!!Workspaces", 6319 "defaultMessage": "!!!Workspaces",
6036 "end": { 6320 "end": {
6037 "column": 3, 6321 "column": 3,
6038 "line": 245 6322 "line": 264
6039 }, 6323 },
6040 "file": "src/lib/Menu.js", 6324 "file": "src/lib/Menu.js",
6041 "id": "menu.workspaces", 6325 "id": "menu.workspaces",
6042 "start": { 6326 "start": {
6043 "column": 14, 6327 "column": 14,
6044 "line": 242 6328 "line": 261
6045 } 6329 }
6046 }, 6330 },
6047 { 6331 {
6048 "defaultMessage": "!!!Default", 6332 "defaultMessage": "!!!Default",
6049 "end": { 6333 "end": {
6050 "column": 3, 6334 "column": 3,
6051 "line": 249 6335 "line": 268
6052 }, 6336 },
6053 "file": "src/lib/Menu.js", 6337 "file": "src/lib/Menu.js",
6054 "id": "menu.workspaces.defaultWorkspace", 6338 "id": "menu.workspaces.defaultWorkspace",
6055 "start": { 6339 "start": {
6056 "column": 20, 6340 "column": 20,
6057 "line": 246 6341 "line": 265
6058 } 6342 }
6059 }, 6343 },
6060 { 6344 {
6061 "defaultMessage": "!!!Todos", 6345 "defaultMessage": "!!!Todos",
6062 "end": { 6346 "end": {
6063 "column": 3, 6347 "column": 3,
6064 "line": 253 6348 "line": 272
6065 }, 6349 },
6066 "file": "src/lib/Menu.js", 6350 "file": "src/lib/Menu.js",
6067 "id": "menu.todos", 6351 "id": "menu.todos",
6068 "start": { 6352 "start": {
6069 "column": 9, 6353 "column": 9,
6070 "line": 250 6354 "line": 269
6071 } 6355 }
6072 }, 6356 },
6073 { 6357 {
6074 "defaultMessage": "!!!Open Todos drawer", 6358 "defaultMessage": "!!!Open Todos drawer",
6075 "end": { 6359 "end": {
6076 "column": 3, 6360 "column": 3,
6077 "line": 257 6361 "line": 276
6078 }, 6362 },
6079 "file": "src/lib/Menu.js", 6363 "file": "src/lib/Menu.js",
6080 "id": "menu.Todoss.openTodosDrawer", 6364 "id": "menu.Todoss.openTodosDrawer",
6081 "start": { 6365 "start": {
6082 "column": 19, 6366 "column": 19,
6083 "line": 254 6367 "line": 273
6084 } 6368 }
6085 }, 6369 },
6086 { 6370 {
6087 "defaultMessage": "!!!Close Todos drawer", 6371 "defaultMessage": "!!!Close Todos drawer",
6088 "end": { 6372 "end": {
6089 "column": 3, 6373 "column": 3,
6090 "line": 261 6374 "line": 280
6091 }, 6375 },
6092 "file": "src/lib/Menu.js", 6376 "file": "src/lib/Menu.js",
6093 "id": "menu.Todoss.closeTodosDrawer", 6377 "id": "menu.Todoss.closeTodosDrawer",
6094 "start": { 6378 "start": {
6095 "column": 20, 6379 "column": 20,
6096 "line": 258 6380 "line": 277
6097 } 6381 }
6098 }, 6382 },
6099 { 6383 {
6100 "defaultMessage": "!!!Enable Todos", 6384 "defaultMessage": "!!!Enable Todos",
6101 "end": { 6385 "end": {
6102 "column": 3, 6386 "column": 3,
6103 "line": 265 6387 "line": 284
6104 }, 6388 },
6105 "file": "src/lib/Menu.js", 6389 "file": "src/lib/Menu.js",
6106 "id": "menu.todos.enableTodos", 6390 "id": "menu.todos.enableTodos",
6107 "start": { 6391 "start": {
6108 "column": 15, 6392 "column": 15,
6109 "line": 262 6393 "line": 281
6110 } 6394 }
6111 }, 6395 },
6112 { 6396 {
6113 "defaultMessage": "!!!Home", 6397 "defaultMessage": "!!!Home",
6114 "end": { 6398 "end": {
6115 "column": 3, 6399 "column": 3,
6116 "line": 269 6400 "line": 288
6117 }, 6401 },
6118 "file": "src/lib/Menu.js", 6402 "file": "src/lib/Menu.js",
6119 "id": "menu.services.goHome", 6403 "id": "menu.services.goHome",
6120 "start": { 6404 "start": {
6121 "column": 17, 6405 "column": 17,
6122 "line": 266 6406 "line": 285
6123 } 6407 }
6124 } 6408 }
6125 ], 6409 ],
diff --git a/src/i18n/locales/el.json b/src/i18n/locales/el.json
index dc6d27849..e8c9d1aae 100644
--- a/src/i18n/locales/el.json
+++ b/src/i18n/locales/el.json
@@ -1,429 +1,448 @@
1{ 1{
2 "app.errorHandler.action" : "Επαναφόρτωση", 2 "app.errorHandler.action": "Επαναφόρτωση",
3 "app.errorHandler.headline" : "Κάτι δεν λειτουργεί", 3 "app.errorHandler.headline": "Κάτι δεν λειτουργεί",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}", 4 "feature.announcements.changelog.headline": "Changes in Ferdi {version}",
5 "feature.delayApp.headline" : "Upgrade your Franz plan to skip the wait", 5 "feature.delayApp.headline": "Please purchase a Ferdi Supporter License to skip waiting",
6 "feature.delayApp.text" : "Franz θα συνεχίσει σε {seconds} δευτερόλεπτα.", 6 "feature.delayApp.text": "Ferdi θα συνεχίσει σε {seconds} δευτερόλεπτα.",
7 "feature.delayApp.trial.action" : "Yes, I want the free 14 day trial of Franz Professional", 7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort" : "Activate the free Franz Professional trial", 8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
9 "feature.delayApp.trial.headline" : "Get the free Franz Professional 14-days trial and skip the wait", 9 "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line",
10 "feature.delayApp.upgrade.action" : "Upgrade Franz", 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", 12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.planSelection.cta.stayOnFree" : "Stay on Free", 13 "feature.quickSwitch.search": "Search...",
14 "feature.planSelection.cta.trial" : "Start my free 14-days Trial", 14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.planSelection.cta.upgradePersonal" : "Choose Personal", 15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.planSelection.cta.upgradePro" : "Choose Professional", 16 "feature.shareFranz.action.email": "Send as email",
17 "feature.planSelection.free.text" : "Basic functionality", 17 "feature.shareFranz.action.facebook": "Share on Facebook",
18 "feature.planSelection.fullFeatureList" : "Complete comparison of all plans", 18 "feature.shareFranz.action.twitter": "Share on Twitter",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 19 "feature.shareFranz.headline": "Ferdi is better together!",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade" : "Choose Personal", 20 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
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.", 21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.planSelection.fullscreen.dialog.title" : "Downgrade your Franz Plan", 22 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
23 "feature.planSelection.fullscreen.subheadline" : "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.", 23 "feature.todos.premium.info": "Ferdi Todos are available to premium users now!",
24 "feature.planSelection.fullscreen.welcome" : "Are you ready to choose, {name}?", 24 "feature.todos.premium.rollout": "Everyone else will have to wait a little longer.",
25 "feature.planSelection.personal.text" : "More services, no waiting - ideal for personal use.", 25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "feature.planSelection.pricesBasedOnAnnualPayment" : "All prices based on yearly payment", 26 "global.api.unhealthy": "Δεν είναι δυνατή η σύνδεση με τις ζωντανές υπηρεσίες του Ferdi",
27 "feature.planSelection.pro.text" : "Unlimited services and professional features for you - and your team.", 27 "global.franzProRequired": "Ferdi Professional Required",
28 "feature.serviceLimit.limitReached" : "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.", 28 "global.notConnectedToTheInternet": "Έχετε αποσυνδεθεί από το Διαδίκτυο",
29 "feature.shareFranz.action.email" : "Send as email", 29 "global.spellchecker.useDefault": "Use System Default ({default})",
30 "feature.shareFranz.action.facebook" : "Share on Facebook", 30 "global.spellchecking.autodetect": "Detect language automatically",
31 "feature.shareFranz.action.twitter" : "Share on Twitter", 31 "global.spellchecking.autodetect.short": "Automatic",
32 "feature.shareFranz.headline" : "Franz is better together!", 32 "global.spellchecking.language": "Spell checking language",
33 "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", 33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "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 @FranzMessenger", 34 "import.headline": "Εισαγάγετε τις υπηρεσίες σας Ferdi 4",
35 "feature.shareFranz.text" : "Tell your friends and colleagues how awesome Franz is and help us to spread the word.", 35 "import.notSupportedHeadline": "Υπηρεσίες που δεν υποστηρίζονται ακόμα στο Ferdi 5",
36 "feature.todos.premium.info" : "Franz Todos are available to premium users now!", 36 "import.skip.label": "Θέλω να προσθέσω υπηρεσίες χειροκίνητα",
37 "feature.todos.premium.rollout" : "Everyone else will have to wait a little longer.", 37 "import.submit.label": "Εισαγωγή υπηρεσιών",
38 "feature.todos.premium.upgrade" : "Upgrade Account", 38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "feature.trialStatusBar.cta" : "Upgrade now", 39 "infobar.buttonChangelog": "Τι νέο υπάρχει;",
40 "feature.trialStatusBar.expired" : "Your free Franz {plan} Trial has expired, please upgrade your account.", 40 "infobar.buttonInstallUpdate": "Επανεκκίνηση & εγκατάσταση ενημερώσεων",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 41 "infobar.buttonReloadServices": "Ανανέωση υπηρεσιών",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade" : "Choose Personal", 42 "infobar.requiredRequestsFailed": "Δεν ήταν δυνατή η φόρτωση υπηρεσιών και πληροφοριών χρηστών",
43 "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.", 43 "infobar.servicesUpdated": "Οι υπηρεσίες σας έχουν ενημερωθεί.",
44 "feature.trialStatusBar.fullscreen.dialog.title" : "Downgrade your Franz Plan", 44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "feature.trialStatusBar.restTime" : "Your Free Franz {plan} Trial ends in {time}.", 45 "infobar.updateAvailable": "Υπάρχει διαθέσιμη μια νέα ενημέρωση για τον Ferdi.",
46 "global.api.unhealthy" : "Δεν είναι δυνατή η σύνδεση με τις ζωντανές υπηρεσίες του Franz", 46 "invite.email.label": "Διεύθυνση ηλεκτρονικού ταχυδρομείου",
47 "global.franzProRequired" : "Franz Professional Required", 47 "invite.headline.friends": "Προσκαλέστε 3 από τους φίλους ή τους συναδέλφους σας",
48 "global.notConnectedToTheInternet" : "Έχετε αποσυνδεθεί από το Διαδίκτυο", 48 "invite.name.label": "Όνομα",
49 "global.spellchecker.useDefault" : "Use System Default ({default})", 49 "invite.skip.label": "Θέλω να το κάνω αργότερα",
50 "global.spellchecking.autodetect" : "Detect language automatically", 50 "invite.submit.label": "Αποστολή προσκλήσεων",
51 "global.spellchecking.autodetect.short" : "Automatic", 51 "invite.successInfo": "Επιτυχής αποστολή προσκλήσεων",
52 "global.spellchecking.language" : "Spell checking language", 52 "locked.headline": "Locked",
53 "global.upgradeButton.upgradeToPro" : "Upgrade to Franz Professional", 53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "import.headline" : "Εισαγάγετε τις υπηρεσίες σας Franz 4", 54 "locked.invalidCredentials": "Password invalid",
55 "import.notSupportedHeadline" : "Υπηρεσίες που δεν υποστηρίζονται ακόμα στο Franz 5", 55 "locked.password.label": "Password",
56 "import.skip.label" : "Θέλω να προσθέσω υπηρεσίες χειροκίνητα", 56 "locked.submit.label": "Unlock",
57 "import.submit.label" : "Εισαγωγή υπηρεσιών", 57 "login.changeServer": "Change server",
58 "infobar.buttonChangelog" : "Τι νέο υπάρχει;", 58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "infobar.buttonInstallUpdate" : "Επανεκκίνηση & εγκατάσταση ενημερώσεων", 59 "login.customServerSuggestion": "Try importing your Franz account",
60 "infobar.buttonReloadServices" : "Ανανέωση υπηρεσιών", 60 "login.email.label": "Διεύθυνση ηλεκτρονικού ταχυδρομείου",
61 "infobar.requiredRequestsFailed" : "Δεν ήταν δυνατή η φόρτωση υπηρεσιών και πληροφοριών χρηστών", 61 "login.headline": "Σύνδεση",
62 "infobar.servicesUpdated" : "Οι υπηρεσίες σας έχουν ενημερωθεί.", 62 "login.invalidCredentials": "Το email ή ο κωδικός πρόσβασης δεν είναι έγκυρος",
63 "infobar.trialActivated" : "Your trial was successfully activated. Happy messaging!", 63 "login.link.password": "Επαναφορά κωδικού πρόσβασης",
64 "infobar.updateAvailable" : "Υπάρχει διαθέσιμη μια νέα ενημέρωση για τον Franz.", 64 "login.link.signup": "Δημιουργία δωρεάν λογαριασμού",
65 "invite.email.label" : "Διεύθυνση ηλεκτρονικού ταχυδρομείου", 65 "login.password.label": "Password",
66 "invite.headline.friends" : "Προσκαλέστε 3 από τους φίλους ή τους συναδέλφους σας", 66 "login.serverLogout": "Η συνεδρία σας έληξε, συνδεθείτε ξανά.",
67 "invite.name.label" : "Όνομα", 67 "login.submit.label": "Σύνδεση",
68 "invite.skip.label" : "Θέλω να το κάνω αργότερα", 68 "login.tokenExpired": "Η συνεδρία σας έληξε, συνδεθείτε ξανά.",
69 "invite.submit.label" : "Αποστολή προσκλήσεων", 69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "invite.successInfo" : "Επιτυχής αποστολή προσκλήσεων", 70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "login.email.label" : "Διεύθυνση ηλεκτρονικού ταχυδρομείου", 71 "menu.app.about": "Σχετικά με το Ferdi",
72 "login.headline" : "Σύνδεση", 72 "menu.app.announcement": "What's new?",
73 "login.invalidCredentials" : "Το email ή ο κωδικός πρόσβασης δεν είναι έγκυρος", 73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "login.link.password" : "Επαναφορά κωδικού πρόσβασης", 74 "menu.app.checkForUpdates": "Έλεγχος για ενημερώσεις",
75 "login.link.signup" : "Δημιουργία δωρεάν λογαριασμού", 75 "menu.app.hide": "Απόκρυψη",
76 "login.password.label" : "Κωδικός πρόσβασης", 76 "menu.app.hideOthers": "Απόκρυψη των άλλων",
77 "login.serverLogout" : "Η συνεδρία σας έληξε, συνδεθείτε ξανά.", 77 "menu.app.quit": "Έξοδος",
78 "login.submit.label" : "Σύνδεση", 78 "menu.app.settings": "Ρυθμίσεις",
79 "login.tokenExpired" : "Η συνεδρία σας έληξε, συνδεθείτε ξανά.", 79 "menu.app.unhide": "Εμφάνιση",
80 "menu.Todoss.closeTodosDrawer" : "Close Todos drawer", 80 "menu.edit": "Επεξεργασία",
81 "menu.Todoss.openTodosDrawer" : "Open Todos drawer", 81 "menu.edit.copy": "Αντιγραφή",
82 "menu.app.about" : "Σχετικά με το Franz", 82 "menu.edit.cut": "Αποκοπή",
83 "menu.app.announcement" : "What's new?", 83 "menu.edit.delete": "Διαγραφή",
84 "menu.app.checkForUpdates" : "Έλεγχος για ενημερώσεις", 84 "menu.edit.emojiSymbols": "Emoji & Σύμβολα",
85 "menu.app.hide" : "Απόκρυψη", 85 "menu.edit.paste": "Επικόλληση",
86 "menu.app.hideOthers" : "Απόκρυψη των άλλων", 86 "menu.edit.pasteAndMatchStyle": "Επικόλληση και διατήρηση μορφοποίησης",
87 "menu.app.quit" : "Έξοδος", 87 "menu.edit.redo": "Ακύρωση αναίρεσης",
88 "menu.app.settings" : "Ρυθμίσεις", 88 "menu.edit.selectAll": "Επιλογή Όλων",
89 "menu.app.unhide" : "Εμφάνιση", 89 "menu.edit.speech": "Ομιλία",
90 "menu.edit" : "Επεξεργασία", 90 "menu.edit.startDictation": "Έναρξη φωνητικής πληκτρολόγησης",
91 "menu.edit.copy" : "Αντιγραφή", 91 "menu.edit.startSpeaking": "Έναρξη εκφώνησης",
92 "menu.edit.cut" : "Αποκοπή", 92 "menu.edit.stopSpeaking": "Σταμάτημα εκφώνησης",
93 "menu.edit.delete" : "Διαγραφή", 93 "menu.edit.undo": "Αναίρεση",
94 "menu.edit.emojiSymbols" : "Emoji & Σύμβολα", 94 "menu.file": "Αρχείο",
95 "menu.edit.paste" : "Επικόλληση", 95 "menu.help": "Βοήθεια",
96 "menu.edit.pasteAndMatchStyle" : "Επικόλληση και διατήρηση μορφοποίησης", 96 "menu.help.changelog": "Πρόσφατες αλλαγές",
97 "menu.edit.redo" : "Ακύρωση αναίρεσης", 97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.edit.selectAll" : "Επιλογή Όλων", 98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.edit.speech" : "Ομιλία", 99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.edit.startDictation" : "Έναρξη φωνητικής πληκτρολόγησης", 100 "menu.help.learnMore": "Μάθετε περισσότερα",
101 "menu.edit.startSpeaking" : "Έναρξη εκφώνησης", 101 "menu.help.privacy": "Δήλωση απορρήτου",
102 "menu.edit.stopSpeaking" : "Σταμάτημα εκφώνησης", 102 "menu.help.support": "Υποστήριξη",
103 "menu.edit.undo" : "Αναίρεση", 103 "menu.help.tos": "Όροι Χρήσης",
104 "menu.file" : "Αρχείο", 104 "menu.services": "Υπηρεσίες",
105 "menu.help" : "Βοήθεια", 105 "menu.services.activatePreviousService": "Activate previous service",
106 "menu.help.changelog" : "Πρόσφατες αλλαγές", 106 "menu.services.addNewService": "Νέα Υπηρεσία",
107 "menu.help.debugInfo" : "Copy Debug Information", 107 "menu.services.goHome": "Home",
108 "menu.help.debugInfoCopiedBody" : "Your Debug Information has been copied to your clipboard.", 108 "menu.services.setNextServiceActive": "Activate next service",
109 "menu.help.debugInfoCopiedHeadline" : "Franz Debug Information", 109 "menu.todos": "Todos",
110 "menu.help.learnMore" : "Μάθετε περισσότερα", 110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.help.privacy" : "Δήλωση απορρήτου", 111 "menu.view": "Προβολή",
112 "menu.help.support" : "Υποστήριξη", 112 "menu.view.back": "Back",
113 "menu.help.tos" : "Όροι Χρήσης", 113 "menu.view.enterFullScreen": "Πλήρης Οθόνη",
114 "menu.services" : "Υπηρεσίες", 114 "menu.view.exitFullScreen": "Έξοδος από πλήρη οθόνη",
115 "menu.services.activatePreviousService" : "Activate previous service", 115 "menu.view.forward": "Forward",
116 "menu.services.addNewService" : "Νέα Υπηρεσία", 116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.services.goHome" : "Home", 117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.services.setNextServiceActive" : "Activate next service", 118 "menu.view.reloadFranz": "Ανανέωση Ferdi",
119 "menu.todos" : "Todos", 119 "menu.view.reloadService": "Ανανέωση Υπηρεσίας",
120 "menu.todos.enableTodos" : "Enable Todos", 120 "menu.view.resetZoom": "Πραγματικό μέγεθος",
121 "menu.view" : "Προβολή", 121 "menu.view.toggleDevTools": "Άνοιγμα Εργαλειοθήκη Προγραμματιστών",
122 "menu.view.enterFullScreen" : "Πλήρης Οθόνη", 122 "menu.view.toggleFullScreen": "Λειτουργία πλήρους οθόνης",
123 "menu.view.exitFullScreen" : "Έξοδος από πλήρη οθόνη", 123 "menu.view.toggleServiceDevTools": "Λειτουργεία Υπηρεσίασ Εργαλειοθήκης Προγραμματιστών",
124 "menu.view.reloadFranz" : "Ανανέωση Franz", 124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.reloadService" : "Ανανέωση Υπηρεσίας", 125 "menu.view.zoomIn": "Μεγέθυνση",
126 "menu.view.resetZoom" : "Πραγματικό μέγεθος", 126 "menu.view.zoomOut": "Σμίκρυνση",
127 "menu.view.toggleDevTools" : "Άνοιγμα Εργαλειοθήκη Προγραμματιστών", 127 "menu.window": "Παράθυρο",
128 "menu.view.toggleFullScreen" : "Λειτουργία πλήρους οθόνης", 128 "menu.window.close": "Κλείσιμο",
129 "menu.view.toggleServiceDevTools" : "Λειτουργεία Υπηρεσίασ Εργαλειοθήκης Προγραμματιστών", 129 "menu.window.minimize": "Ελαχιστοποίηση",
130 "menu.view.toggleTodosDevTools" : "Toggle Todos Developer Tools", 130 "menu.workspaces": "Workspaces",
131 "menu.view.zoomIn" : "Μεγέθυνση", 131 "menu.workspaces.addNewWorkspace": "Add New Workspace...",
132 "menu.view.zoomOut" : "Σμίκρυνση", 132 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
133 "menu.window" : "Παράθυρο", 133 "menu.workspaces.defaultWorkspace": "Όλες οι υπηρεσίες",
134 "menu.window.close" : "Κλείσιμο", 134 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
135 "menu.window.minimize" : "Ελαχιστοποίηση", 135 "password.email.label": "Διεύθυνση ηλεκτρονικού ταχυδρομείου",
136 "menu.workspaces" : "Workspaces", 136 "password.headline": "Επαναφορά κωδικού πρόσβασης",
137 "menu.workspaces.addNewWorkspace" : "Add New Workspace...", 137 "password.link.login": "Σύνδεση στο λογαριασμό σας",
138 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer", 138 "password.link.signup": "Δημιουργία δωρεάν λογαριασμού",
139 "menu.workspaces.defaultWorkspace" : "Όλες οι υπηρεσίες", 139 "password.noUser": "Δεν βρέθηκε χρήστης με τη συγκεκριμένη διεύθυνση ηλεκτρονικού ταχυδρομείου",
140 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer", 140 "password.submit.label": "Υποβολή",
141 "password.email.label" : "Διεύθυνση ηλεκτρονικού ταχυδρομείου", 141 "password.successInfo": "Ελέγξτε το email σας",
142 "password.headline" : "Επαναφορά κωδικού πρόσβασης", 142 "premiumFeature.button.upgradeAccount": "Upgrade account",
143 "password.link.login" : "Σύνδεση στο λογαριασμό σας", 143 "pricing.features.adFree": "Forever ad-free",
144 "password.link.signup" : "Δημιουργία δωρεάν λογαριασμού", 144 "pricing.features.appDelays": "No Waiting Screens",
145 "password.noUser" : "Δεν βρέθηκε χρήστης με τη συγκεκριμένη διεύθυνση ηλεκτρονικού ταχυδρομείου", 145 "pricing.features.customWebsites": "Add Custom Websites",
146 "password.submit.label" : "Υποβολή", 146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "password.successInfo" : "Ελέγξτε το email σας", 147 "pricing.features.serviceProxies": "Service Proxies",
148 "premiumFeature.button.upgradeAccount" : "Upgrade account", 148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.accountSync" : "Account Synchronisation", 149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.adFree" : "Forever ad-free", 150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.appDelays" : "No Waiting Screens", 151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.customWebsites" : "Add Custom Websites", 152 "pricing.features.workspaces": "Workspaces",
153 "pricing.features.desktopNotifications" : "Desktop Notifications", 153 "pricing.plan.free": "Ferdi Free",
154 "pricing.features.onPremise" : "On-premise & other Hosted Services", 154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.features.recipes" : "Choose from more than 70 Services", 155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.features.serviceProxies" : "Service Proxies", 156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.features.spellchecker" : "Spellchecker support", 157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.features.teamManagement" : "Team Management", 158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.features.thirdPartyServices" : "Install 3rd party services", 159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.features.unlimitedServices" : "Add unlimited services", 160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.features.upToSixServices" : "Add up to 6 services", 161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.features.upToThreeServices" : "Add up to 3 services", 162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.features.workspaces" : "Workspaces", 163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.plan.free" : "Free", 164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.plan.legacy" : "Premium", 165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.plan.personal" : "Personal", 166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.plan.personal-monthly" : "Personal Monthly", 167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.plan.personal-yearly" : "Personal Yearly", 168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.plan.pro" : "Professional", 169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "pricing.plan.pro-monthly" : "Professional Monthly", 170 "service.crashHandler.action": "Επαναφόρτωση {name}",
171 "pricing.plan.pro-yearly" : "Professional Yearly", 171 "service.crashHandler.autoReload": "Γίνεται προσπάθεια αυτόματης ανάκτησης του {name} σε {seconds} δευτερόλεπτα",
172 "pricing.trial.cta.accept" : "Start my 14-day Franz Professional Trial ", 172 "service.crashHandler.headline": "Ω, όχι!",
173 "pricing.trial.cta.skip" : "Continue to Franz", 173 "service.crashHandler.text": "Το {name} προκάλεσε ένα σφάλμα.",
174 "pricing.trial.cta.start" : "Start using Franz", 174 "service.disabledHandler.action": "Ενεργοποίηση {name}",
175 "pricing.trial.error" : "Sorry, we could not activate your trial!", 175 "service.disabledHandler.headline": "{name} είναι απενεργοποιημένο",
176 "pricing.trial.features.headline" : "Franz Professional includes:", 176 "service.errorHandler.action": "Επαναφόρτωση {name}",
177 "pricing.trial.headline.pro" : "Hi {name}, welcome to Franz", 177 "service.errorHandler.editAction": "Επεξεργασία {name}",
178 "pricing.trial.intro.happyMessaging" : "Happy messaging,", 178 "service.errorHandler.headline": "Ω, όχι!",
179 "pricing.trial.intro.specialTreat" : "We have a special treat for you.", 179 "service.errorHandler.message": "Σφάλμα",
180 "pricing.trial.intro.tryPro" : "Enjoy the full Franz Professional experience completely free for 14 days.", 180 "service.errorHandler.text": "{name} has failed to load.",
181 "pricing.trial.terms.automaticTrialEnd" : "Your free trial ends automatically after 14 days", 181 "service.restrictedHandler.action": "Upgrade Account",
182 "pricing.trial.terms.headline" : "No strings attached", 182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "pricing.trial.terms.noCreditCard" : "No credit card required", 183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "pricing.trial.terms.trialWorth" : "Free trial (normally {currency}{price} per month)", 184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.crashHandler.action" : "Επαναφόρτωση {name}", 185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.crashHandler.autoReload" : "Γίνεται προσπάθεια αυτόματης ανάκτησης του {name} σε {seconds} δευτερόλεπτα", 186 "service.webviewLoader.loading": "Loading",
187 "service.crashHandler.headline" : "Ω, όχι!", 187 "services.getStarted": "Ξεκινήστε",
188 "service.crashHandler.text" : "Το {name} προκάλεσε ένα σφάλμα.", 188 "services.login": "Please login to use Ferdi.",
189 "service.disabledHandler.action" : "Ενεργοποίηση {name}", 189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "service.disabledHandler.headline" : "{name} είναι απενεργοποιημένο", 190 "services.serverless": "Use Ferdi without an Account",
191 "service.errorHandler.action" : "Επαναφόρτωση {name}", 191 "services.welcome": "Καλώς ορίσατε στον Ferdi",
192 "service.errorHandler.editAction" : "Επεξεργασία {name}", 192 "settings.account.account.editButton": "Επεξεργασία λογαριασμού",
193 "service.errorHandler.headline" : "Ω, όχι!", 193 "settings.account.accountType.basic": "Βασικός λογαριασμός",
194 "service.errorHandler.message" : "Σφάλμα", 194 "settings.account.accountType.premium": "Λογαριασμός Premium Υποστηρικτή",
195 "service.errorHandler.text" : "{name} has failed to load.", 195 "settings.account.buttonSave": "Ενημέρωση προφίλ",
196 "service.restrictedHandler.action" : "Upgrade Account", 196 "settings.account.deleteAccount": "Διαγραφή λογαριασμού",
197 "service.restrictedHandler.customUrl.headline" : "Franz Professional Plan required", 197 "settings.account.deleteEmailSent": "Έχετε λάβει ένα email με έναν σύνδεσμο για την επιβεβαίωση της διαγραφής του λογαριασμού σας. Ο λογαριασμός και τα δεδομένα σας δεν μπορούν να ανακτηθούν!",
198 "service.restrictedHandler.customUrl.text" : "Please upgrade to the Franz Professional plan to use custom urls & self hosted services.", 198 "settings.account.deleteInfo": "Εάν δεν χρειάζεστε πλέον το λογαριασμό σας στο Ferdi, μπορείτε να διαγράψετε το λογαριασμό σας και όλα τα δεδομένα που σχετίζονται με αυτόν εδώ.",
199 "service.restrictedHandler.serviceLimit.headline" : "You have reached your service limit.", 199 "settings.account.headline": "Λογαριασμός",
200 "service.restrictedHandler.serviceLimit.text" : "Please upgrade your account to use more than {count} services.", 200 "settings.account.headlineAccount": "Πληροφορίες λογαριασμού",
201 "service.webviewLoader.loading" : "Loading", 201 "settings.account.headlineDangerZone": "Επικίνδυνη Ζώνη",
202 "services.getStarted" : "Ξεκινήστε", 202 "settings.account.headlineInvoices": "Τιμολόγια",
203 "services.welcome" : "Καλώς ορίσατε στον Franz", 203 "settings.account.headlinePassword": "Αλλαγή κωδικού πρόσβασης",
204 "settings.account.account.editButton" : "Επεξεργασία λογαριασμού", 204 "settings.account.headlineProfile": "Ενημέρωση προφίλ",
205 "settings.account.accountType.basic" : "Βασικός λογαριασμός", 205 "settings.account.headlineSubscription": "Η συνδρομή σας",
206 "settings.account.accountType.premium" : "Λογαριασμός Premium Υποστηρικτή", 206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.buttonSave" : "Ενημέρωση προφίλ", 207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.deleteAccount" : "Διαγραφή λογαριασμού", 208 "settings.account.invoiceDownload": "Λήψη",
209 "settings.account.deleteEmailSent" : "Έχετε λάβει ένα email με έναν σύνδεσμο για την επιβεβαίωση της διαγραφής του λογαριασμού σας. Ο λογαριασμός και τα δεδομένα σας δεν μπορούν να ανακτηθούν!", 209 "settings.account.manageSubscription.label": "Διαχείριση της συνδρομής σας",
210 "settings.account.deleteInfo" : "Εάν δεν χρειάζεστε πλέον το λογαριασμό σας στο Franz, μπορείτε να διαγράψετε το λογαριασμό σας και όλα τα δεδομένα που σχετίζονται με αυτόν εδώ.", 210 "settings.account.successInfo": "Οι αλλαγές σας έχουν αποθηκευτεί",
211 "settings.account.headline" : "Λογαριασμός", 211 "settings.account.trial": "Free Trial",
212 "settings.account.headlineAccount" : "Πληροφορίες λογαριασμού", 212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.headlineDangerZone" : "Επικίνδυνη Ζώνη", 213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.headlineInvoices" : "Τιμολόγια", 214 "settings.account.tryReloadServices": "Δοκιμάστε ξανά",
215 "settings.account.headlinePassword" : "Αλλαγή κωδικού πρόσβασης", 215 "settings.account.tryReloadUserInfoRequest": "Δοκιμάστε ξανά",
216 "settings.account.headlineProfile" : "Ενημέρωση προφίλ", 216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.headlineSubscription" : "Η συνδρομή σας", 217 "settings.account.userInfoRequestFailed": "Δεν ήταν δυνατή η φόρτωση πληροφοριών χρήστη",
218 "settings.account.headlineTrialUpgrade" : "Get the free 14 day Franz Professional Trial", 218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.account.headlineUpgradeAccount" : "Upgrade your account & get the full Franz experience", 219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.account.invoiceDownload" : "Λήψη", 220 "settings.app.buttonClearAllCache": "Καθαρισμός λανθάνουσας μνήμης",
221 "settings.account.manageSubscription.label" : "Διαχείριση της συνδρομής σας", 221 "settings.app.buttonInstallUpdate": "Επανεκκίνηση & εγκατάσταση ενημερώσεων",
222 "settings.account.successInfo" : "Οι αλλαγές σας έχουν αποθηκευτεί", 222 "settings.app.buttonSearchForUpdate": "Έλεγχος για ενημερώσεις",
223 "settings.account.trial" : "Free Trial", 223 "settings.app.cacheInfo": "Το Ferdi χρησιμοποιεί αυτήν τη στιγμή {size} χώρου στο δίσκο.",
224 "settings.account.trialEndsIn" : "Your free trial ends in {duration}.", 224 "settings.app.currentVersion": "Τρέχουσα έκδοση:",
225 "settings.account.trialUpdateBillingInfo" : "Please update your billing info to continue using {license} after your trial period.", 225 "settings.app.form.accentColor": "Accent color",
226 "settings.account.tryReloadServices" : "Δοκιμάστε ξανά", 226 "settings.app.form.autoLaunchInBackground": "Άνοιγμα στο παρασκήνιο",
227 "settings.account.tryReloadUserInfoRequest" : "Δοκιμάστε ξανά", 227 "settings.app.form.autoLaunchOnStart": "Εκκίνηση του Ferdi κατά την εκκίνηση του συστήματος",
228 "settings.account.upgradeToPro.label" : "Upgrade to Franz Professional", 228 "settings.app.form.beta": "Συμπεριλάβετε εκδόσεις beta",
229 "settings.account.userInfoRequestFailed" : "Δεν ήταν δυνατή η φόρτωση πληροφοριών χρήστη", 229 "settings.app.form.darkMode": "Join the Dark Side",
230 "settings.account.yourLicense" : "Your Franz License", 230 "settings.app.form.enableGPUAcceleration": "Ενεργοποιήση Ενίσχυσης GPU ",
231 "settings.app.buttonClearAllCache" : "Καθαρισμός λανθάνουσας μνήμης", 231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.buttonInstallUpdate" : "Επανεκκίνηση & εγκατάσταση ενημερώσεων", 232 "settings.app.form.enableSpellchecking": "Ενεργοποίηση ορθογραφικού ελέγχου",
233 "settings.app.buttonSearchForUpdate" : "Έλεγχος για ενημερώσεις", 233 "settings.app.form.enableSystemTray": "Εμφάνιση του Ferdi στη γραμμή ειδοποιήσεων",
234 "settings.app.cacheInfo" : "Το Franz χρησιμοποιεί αυτήν τη στιγμή {size} χώρου στο δίσκο.", 234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.currentVersion" : "Τρέχουσα έκδοση:", 235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.autoLaunchInBackground" : "Άνοιγμα στο παρασκήνιο", 236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.autoLaunchOnStart" : "Εκκίνηση του Franz κατά την εκκίνηση του συστήματος", 237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.beta" : "Συμπεριλάβετε εκδόσεις beta", 238 "settings.app.form.language": "Γλώσσα",
239 "settings.app.form.darkMode" : "Join the Dark Side", 239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.enableGPUAcceleration" : "Ενεργοποιήση Ενίσχυσης GPU ", 240 "settings.app.form.minimizeToSystemTray": "Ελαχιστοποίηση του Ferdi στη γραμμή ειδοποιήσεων",
241 "settings.app.form.enableSpellchecking" : "Ενεργοποίηση ορθογραφικού ελέγχου", 241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.enableSystemTray" : "Εμφάνιση του Franz στη γραμμή ειδοποιήσεων", 242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.enableTodos" : "Enable Franz Todos", 243 "settings.app.form.runInBackground": "Κρατήστε το Ferdi στο παρασκήνιο κατά το κλείσιμο του παραθύρου",
244 "settings.app.form.keepAllWorkspacesLoaded" : "Keep all workspaces loaded", 244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.language" : "Γλώσσα", 245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.minimizeToSystemTray" : "Ελαχιστοποίηση του Franz στη γραμμή ειδοποιήσεων", 246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.runInBackground" : "Κρατήστε το Franz στο παρασκήνιο κατά το κλείσιμο του παραθύρου", 247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices" : "Προβολή καρτελών των απενεργοποιημένων υπηρεσιών", 248 "settings.app.form.showDisabledServices": "Προβολή καρτελών των απενεργοποιημένων υπηρεσιών",
249 "settings.app.form.showMessagesBadgesWhenMuted" : "Προβολή του εικονιδίου μη αναγνωσμένου μηνύματος όταν οι ειδοποιήσεις είναι απενεργοποιημένες", 249 "settings.app.form.showMessagesBadgesWhenMuted": "Προβολή του εικονιδίου μη αναγνωσμένου μηνύματος όταν οι ειδοποιήσεις είναι απενεργοποιημένες",
250 "settings.app.headline" : "Ρυθμίσεις", 250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.headlineAdvanced" : "Για προχωρημένους", 251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.headlineAppearance" : "Εμφάνιση", 252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headlineGeneral" : "Γενικά", 253 "settings.app.headline": "Ρυθμίσεις",
254 "settings.app.headlineLanguage" : "Γλώσσα", 254 "settings.app.headlineAdvanced": "Για προχωρημένους",
255 "settings.app.headlineUpdates" : "Ενημερώσεις", 255 "settings.app.headlineAppearance": "Εμφάνιση",
256 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.", 256 "settings.app.headlineGeneral": "Γενικά",
257 "settings.app.restartRequired" : "Οι αλλαγές απαιτούν επανεκκίνηση", 257 "settings.app.headlineLanguage": "Γλώσσα",
258 "settings.app.subheadlineCache" : "Λανθάνουσα μνήμη", 258 "settings.app.headlineUpdates": "Ενημερώσεις",
259 "settings.app.translationHelp" : "Βοηθήστε μας να μεταφράσουμε το Franz στη δική σας γλώσσα.", 259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.updateStatusAvailable" : "Υπάρχει διαθέσιμη ενημέρωση, γίνεται λήψη...", 260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.updateStatusSearching" : " Γίνεται αναζήτηση για ενημέρωση", 261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.updateStatusUpToDate" : "Χρησιμοποιείτε την τελευταία έκδοση του Franz", 262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.invite.headline" : "Προσκαλέστε Φίλους", 263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.navigation.account" : "Λογαριασμός", 264 "settings.app.restartRequired": "Οι αλλαγές απαιτούν επανεκκίνηση",
265 "settings.navigation.availableServices" : "Διαθέσιμες υπηρεσίες", 265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.navigation.inviteFriends" : "Πρασκαλέστε Φίλους", 266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.navigation.logout" : "Αποσύνδεση", 267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.navigation.settings" : "Ρυθμίσεις", 268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.navigation.team" : "Manage Team", 269 "settings.app.subheadlineCache": "Λανθάνουσα μνήμη",
270 "settings.navigation.yourServices" : "Οι υπηρεσίες σας", 270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.navigation.yourWorkspaces" : "Your workspaces", 271 "settings.app.translationHelp": "Βοηθήστε μας να μεταφράσουμε το Ferdi στη δική σας γλώσσα.",
272 "settings.recipes.all" : "Όλες οι υπηρεσίες", 272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.recipes.custom" : "Custom Services", 273 "settings.app.updateStatusAvailable": "Υπάρχει διαθέσιμη ενημέρωση, γίνεται λήψη...",
274 "settings.recipes.customService.headline.communityRecipes" : "Community 3rd Party Recipes", 274 "settings.app.updateStatusSearching": " Γίνεται αναζήτηση για ενημέρωση",
275 "settings.recipes.customService.headline.customRecipes" : "Custom 3rd Party Recipes", 275 "settings.app.updateStatusUpToDate": "Χρησιμοποιείτε την τελευταία έκδοση του Ferdi",
276 "settings.recipes.customService.headline.devRecipes" : "Your Development Service Recipes", 276 "settings.invite.headline": "Προσκαλέστε Φίλους",
277 "settings.recipes.customService.intro" : "To add a custom service, copy the service recipe to:", 277 "settings.navigation.account": "Λογαριασμός",
278 "settings.recipes.customService.openDevDocs" : "Developer Documentation", 278 "settings.navigation.availableServices": "Διαθέσιμες υπηρεσίες",
279 "settings.recipes.customService.openFolder" : "Open folder", 279 "settings.navigation.logout": "Αποσύνδεση",
280 "settings.recipes.headline" : "Διαθέσιμες υπηρεσίες", 280 "settings.navigation.settings": "Ρυθμίσεις",
281 "settings.recipes.missingService" : "Λείπει κάποια υπηρεσία;", 281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.recipes.mostPopular" : "Τα πιο δημοφιλή", 282 "settings.navigation.team": "Manage Team",
283 "settings.recipes.nothingFound" : "Λυπούμαστε αλλά καμία υπηρεσία δεν ταιριάζει με τον όρο αναζήτησης.", 283 "settings.navigation.yourServices": "Οι υπηρεσίες σας",
284 "settings.recipes.servicesSuccessfulAddedInfo" : "Η υπηρεσία προστέθηκε με επιτυχία", 284 "settings.navigation.yourWorkspaces": "Your workspaces",
285 "settings.searchService" : "Αναζήτηση υπηρεσίας", 285 "settings.recipes.all": "Όλες οι υπηρεσίες",
286 "settings.service.error.goBack" : "Επιστροφή στις υπηρεσίες", 286 "settings.recipes.custom": "Custom Services",
287 "settings.service.error.headline" : "Σφάλμα", 287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.service.error.message" : "Δεν ήταν δυνατή η φόρτωση της συνταγής υπηρεσίας.", 288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.service.form.addServiceHeadline" : "Προσθήκη {name}", 289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.service.form.availableServices" : "Διαθέσιμες υπηρεσίες", 290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.service.form.customUrl" : "Προσαρμοσμένος διακομιστής", 291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.service.form.customUrlPremiumInfo" : "Για να προσθέσετε υπηρεσίες που φιλοξενούνται μόνος σας, χρειάζεστε έναν λογαριασμό υποστήριξης Premium Franz.", 292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.service.form.customUrlUpgradeAccount" : "Αναβάθμιση του λογαριασμού σας", 293 "settings.recipes.headline": "Διαθέσιμες υπηρεσίες",
294 "settings.service.form.customUrlValidationError" : "Δεν ήταν δυνατή η επικύρωση του προσαρμοσμένου διακομιστή {name}.", 294 "settings.recipes.missingService": "Λείπει κάποια υπηρεσία;",
295 "settings.service.form.deleteButton" : "Διαγραφή υπηρεσίας", 295 "settings.recipes.mostPopular": "Τα πιο δημοφιλή",
296 "settings.service.form.editServiceHeadline" : "Επεξεργασία {name}", 296 "settings.recipes.nothingFound": "Λυπούμαστε αλλά καμία υπηρεσία δεν ταιριάζει με τον όρο αναζήτησης.",
297 "settings.service.form.enableAudio" : "Ενεργοποίηση ήχου", 297 "settings.recipes.servicesSuccessfulAddedInfo": "Η υπηρεσία προστέθηκε με επιτυχία",
298 "settings.service.form.enableBadge" : "Εμφάνιση εικονιδίων μη αναγνωσμένου μηνύματος", 298 "settings.searchService": "Αναζήτηση υπηρεσίας",
299 "settings.service.form.enableDarkMode" : "Enable Dark Mode", 299 "settings.service.error.goBack": "Επιστροφή στις υπηρεσίες",
300 "settings.service.form.enableNotification" : "Ενεργοποίηση ειδοποιήσεων", 300 "settings.service.error.headline": "Σφάλμα",
301 "settings.service.form.enableService" : "Ενεργοποίηση υπηρεσίας", 301 "settings.service.error.message": "Δεν ήταν δυνατή η φόρτωση της συνταγής υπηρεσίας.",
302 "settings.service.form.headlineBadges" : "Εικονίδια μη αναγνωσμένου μηνύματος", 302 "settings.service.form.addServiceHeadline": "Προσθήκη {name}",
303 "settings.service.form.headlineGeneral" : "Γενικά", 303 "settings.service.form.availableServices": "Διαθέσιμες υπηρεσίες",
304 "settings.service.form.headlineNotifications" : "Ειδοποιήσεις", 304 "settings.service.form.customUrl": "Προσαρμοσμένος διακομιστής",
305 "settings.service.form.icon" : "Προσαρμοσμένο εικονίδιο", 305 "settings.service.form.customUrlPremiumInfo": "Για να προσθέσετε υπηρεσίες που φιλοξενούνται μόνος σας, χρειάζεστε έναν λογαριασμό υποστήριξης Premium Ferdi.",
306 "settings.service.form.iconDelete" : "Διαγραφή", 306 "settings.service.form.customUrlUpgradeAccount": "Αναβάθμιση του λογαριασμού σας",
307 "settings.service.form.iconUpload" : "Σύρετε την εικόνα σας, ή κάντε κλικ εδώ", 307 "settings.service.form.customUrlValidationError": "Δεν ήταν δυνατή η επικύρωση του προσαρμοσμένου διακομιστή {name}.",
308 "settings.service.form.indirectMessageInfo" : "Θα ειδοποιηθείτε για όλα τα νέα μηνύματα σε ένα κανάλι, όχι μόνο @username, @channel, @here, ...", 308 "settings.service.form.deleteButton": "Διαγραφή υπηρεσίας",
309 "settings.service.form.indirectMessages" : "Εμφάνιση ειδοποίησης μηνύματος για όλα τα νέα μηνύματα", 309 "settings.service.form.editServiceHeadline": "Επεξεργασία {name}",
310 "settings.service.form.isMutedInfo" : "Όλοι οι ήχοι καθώς και η αναπαραγωγή ήχου θα απενεργοποιηθούν", 310 "settings.service.form.enableAudio": "Ενεργοποίηση ήχου",
311 "settings.service.form.name" : "Όνομα", 311 "settings.service.form.enableBadge": "Εμφάνιση εικονιδίων μη αναγνωσμένου μηνύματος",
312 "settings.service.form.proxy.headline" : "HTTP\/HTTPS Proxy Settings", 312 "settings.service.form.enableDarkMode": "Enable Dark Mode",
313 "settings.service.form.proxy.host" : "Proxy Host\/IP", 313 "settings.service.form.enableNotification": "Ενεργοποίηση ειδοποιήσεων",
314 "settings.service.form.proxy.info" : "Proxy settings will not synced with the Franz servers.", 314 "settings.service.form.enableService": "Ενεργοποίηση υπηρεσίας",
315 "settings.service.form.proxy.isEnabled" : "Use Proxy", 315 "settings.service.form.headlineBadges": "Εικονίδια μη αναγνωσμένου μηνύματος",
316 "settings.service.form.proxy.password" : "Password (optional)", 316 "settings.service.form.headlineGeneral": "Γενικά",
317 "settings.service.form.proxy.port" : "Port", 317 "settings.service.form.headlineNotifications": "Ειδοποιήσεις",
318 "settings.service.form.proxy.restartInfo" : "Please restart Franz after changing proxy Settings.", 318 "settings.service.form.icon": "Προσαρμοσμένο εικονίδιο",
319 "settings.service.form.proxy.user" : "User (optional)", 319 "settings.service.form.iconDelete": "Διαγραφή",
320 "settings.service.form.saveButton" : "Αποθήκευση υπηρεσίας", 320 "settings.service.form.iconUpload": "Σύρετε την εικόνα σας, ή κάντε κλικ εδώ",
321 "settings.service.form.tabHosted" : "Φιλοξενείται", 321 "settings.service.form.indirectMessageInfo": "Θα ειδοποιηθείτε για όλα τα νέα μηνύματα σε ένα κανάλι, όχι μόνο @username, @channel, @here, ...",
322 "settings.service.form.tabOnPremise" : "Αυτο-φιλοξενείται ⭐️", 322 "settings.service.form.indirectMessages": "Εμφάνιση ειδοποίησης μηνύματος για όλα τα νέα μηνύματα",
323 "settings.service.form.team" : "Ομάδα", 323 "settings.service.form.isMutedInfo": "Όλοι οι ήχοι καθώς και η αναπαραγωγή ήχου θα απενεργοποιηθούν",
324 "settings.service.form.useHostedService" : "Χρήση της φιλοξενούμενης υπηρεσίας {name}", 324 "settings.service.form.name": "Όνομα",
325 "settings.service.form.yourServices" : "Οι υπηρεσίες σας", 325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.services.deletedInfo" : "Η υπηρεσία έχει διαγραφεί", 326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings",
327 "settings.services.discoverServices" : "Ανακαλύψτε υπηρεσίες", 327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.services.headline" : "Οι υπηρεσίες σας", 328 "settings.service.form.proxy.info": "Proxy settings will not synced with the Ferdi servers.",
329 "settings.services.noServicesAdded" : "Δεν έχετε προσθέσει ακόμα υπηρεσίες.", 329 "settings.service.form.proxy.isEnabled": "Use Proxy",
330 "settings.services.servicesRequestFailed" : "Could not load your services", 330 "settings.service.form.proxy.password": "Password (optional)",
331 "settings.services.tooltip.isDisabled" : "Η υπηρεσία είναι απενεργοποιημένη", 331 "settings.service.form.proxy.port": "Port",
332 "settings.services.tooltip.isMuted" : "Όλοι οι ήχοι είναι απενεργοποιημένοι", 332 "settings.service.form.proxy.restartInfo": "Please restart Ferdi after changing proxy Settings.",
333 "settings.services.tooltip.notificationsDisabled" : "Οι ειδοποιήσεις είναι απενεργοποιημένες", 333 "settings.service.form.proxy.user": "User (optional)",
334 "settings.services.updatedInfo" : "Οι αλλαγές σας έχουν αποθηκευτεί", 334 "settings.service.form.saveButton": "Αποθήκευση υπηρεσίας",
335 "settings.team.contentHeadline" : "Franz for Teams", 335 "settings.service.form.tabHosted": "Φιλοξενείται",
336 "settings.team.copy" : "Franz for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!", 336 "settings.service.form.tabOnPremise": "Αυτο-φιλοξενείται ⭐️",
337 "settings.team.headline" : "Ομάδα", 337 "settings.service.form.team": "Ομάδα",
338 "settings.team.intro" : "You and your team use Franz? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.", 338 "settings.service.form.useHostedService": "Χρήση της φιλοξενούμενης υπηρεσίας {name}",
339 "settings.team.manageAction" : "Manage your Team on meetfranz.com", 339 "settings.service.form.yourServices": "Οι υπηρεσίες σας",
340 "settings.team.upgradeAction" : "Upgrade your Account", 340 "settings.services.deletedInfo": "Η υπηρεσία έχει διαγραφεί",
341 "settings.user.form.accountType.company" : "Εταιρεία", 341 "settings.services.discoverServices": "Ανακαλύψτε υπηρεσίες",
342 "settings.user.form.accountType.individual" : "Ατομικός", 342 "settings.services.headline": "Οι υπηρεσίες σας",
343 "settings.user.form.accountType.label" : "Τύπος λογαριασμού", 343 "settings.services.noServicesAdded": "Δεν έχετε προσθέσει ακόμα υπηρεσίες.",
344 "settings.user.form.accountType.non-profit" : "Μη κερδοσκοπικός", 344 "settings.services.servicesRequestFailed": "Could not load your services",
345 "settings.user.form.currentPassword" : "Τρέχων κωδικός πρόσβασης", 345 "settings.services.tooltip.isDisabled": "Η υπηρεσία είναι απενεργοποιημένη",
346 "settings.user.form.email" : "Email", 346 "settings.services.tooltip.isMuted": "Όλοι οι ήχοι είναι απενεργοποιημένοι",
347 "settings.user.form.firstname" : "Όνομα", 347 "settings.services.tooltip.notificationsDisabled": "Οι ειδοποιήσεις είναι απενεργοποιημένες",
348 "settings.user.form.lastname" : "Επίθετο", 348 "settings.services.updatedInfo": "Οι αλλαγές σας έχουν αποθηκευτεί",
349 "settings.user.form.newPassword" : "Νέος κωδικός πρόσβασης", 349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.workspace.add.form.name" : "Όνομα", 350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.workspace.add.form.submitButton" : "Create workspace", 351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.workspace.form.buttonDelete" : "Delete workspace", 352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.workspace.form.buttonSave" : "Save workspace", 353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.workspace.form.name" : "Όνομα", 354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace", 355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.workspace.form.yourWorkspaces" : "Your workspaces", 356 "settings.team.headline": "Ομάδα",
357 "settings.workspaces.deletedInfo" : "Workspace has been deleted", 357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.workspaces.headline" : "Your workspaces", 358 "settings.team.manageAction": "Manage your Team on getferdi.com",
359 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.", 359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.workspaces.tryReloadWorkspaces" : "Δοκιμάστε ξανά", 360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.workspaces.updatedInfo" : "Οι αλλαγές σας έχουν αποθηκευτεί", 361 "settings.team.upgradeAction": "Upgrade your Account",
362 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces", 362 "settings.user.form.accountType.company": "Εταιρεία",
363 "settings.workspaces.workspaceFeatureInfo" : "Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.", 363 "settings.user.form.accountType.individual": "Ατομικός",
364 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces", 364 "settings.user.form.accountType.label": "Τύπος λογαριασμού",
365 "sidebar.addNewService" : "Προσθήκη νέας υπηρεσίας", 365 "settings.user.form.accountType.non-profit": "Μη κερδοσκοπικός",
366 "sidebar.closeTodosDrawer" : "Close Franz Todos", 366 "settings.user.form.currentPassword": "Τρέχων κωδικός πρόσβασης",
367 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer", 367 "settings.user.form.email": "Email",
368 "sidebar.muteApp" : "Απενεργοποίηση ειδοποιήσεων & ήχου", 368 "settings.user.form.firstname": "Όνομα",
369 "sidebar.openTodosDrawer" : "Open Franz Todos", 369 "settings.user.form.lastname": "Επίθετο",
370 "sidebar.openWorkspaceDrawer" : "Open workspace drawer", 370 "settings.user.form.newPassword": "Νέος κωδικός πρόσβασης",
371 "sidebar.settings" : "Ρυθμίσεις", 371 "settings.workspace.add.form.name": "Όνομα",
372 "sidebar.unmuteApp" : "Ενεργοποίηση ειδοποιήσεων & ήχου", 372 "settings.workspace.add.form.submitButton": "Create workspace",
373 "signup.email.label" : "Διεύθυνση ηλεκτρονικού ταχυδρομείου", 373 "settings.workspace.form.buttonDelete": "Delete workspace",
374 "signup.emailDuplicate" : "Ένας χρήστης με τη συγκεκριμένη διεύθυνση ηλεκτρονικού ταχυδρομείου υπάρχει ήδη", 374 "settings.workspace.form.buttonSave": "Save workspace",
375 "signup.firstname.label" : "Όνομα", 375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "signup.headline" : "Εγγραφή", 376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "signup.lastname.label" : "Επίθετο", 377 "settings.workspace.form.name": "Όνομα",
378 "signup.legal.info" : "Δημιουργώντας έναν λογαριασμό Franz αποδέχεστε τους", 378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "signup.legal.privacy" : "Δήλωση απορρήτου", 379 "settings.workspace.form.yourWorkspaces": "Your workspaces",
380 "signup.legal.terms" : "Όροι υπηρεσίας", 380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "signup.link.login" : "Έχετε ήδη λογαριασμό? Συνδεθείτε.", 381 "settings.workspaces.headline": "Your workspaces",
382 "signup.password.label" : "Κωδικός πρόσβασης", 382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "signup.submit.label" : "Δημιουργία λογαριασμού", 383 "settings.workspaces.tryReloadWorkspaces": "Δοκιμάστε ξανά",
384 "subscription.bestValue" : "Best value", 384 "settings.workspaces.updatedInfo": "Οι αλλαγές σας έχουν αποθηκευτεί",
385 "subscription.cta.activateTrial" : "Yes, start the free Franz Professional trial", 385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
386 "subscription.cta.allOptions" : "See all options", 386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "subscription.cta.choosePlan" : "Choose your plan", 387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "subscription.includedProFeatures" : "The Franz Professional Plan includes:", 388 "sidebar.addNewService": "Προσθήκη νέας υπηρεσίας",
389 "subscription.interval.per" : "per {interval}", 389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "subscription.interval.perMonth" : "per month", 390 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
391 "subscription.interval.perMonthPerUser" : "per month & user", 391 "sidebar.lockFerdi": "Lock Ferdi",
392 "subscription.planItem.upgradeAccount" : "Upgrade Account", 392 "sidebar.muteApp": "Απενεργοποίηση ειδοποιήσεων & ήχου",
393 "subscription.teaser.includedFeatures" : "Paid Franz Plans include:", 393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "subscription.teaser.intro" : "Franz 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!", 394 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
395 "subscriptionPopup.buttonCancel" : "Ακύρωση", 395 "sidebar.settings": "Ρυθμίσεις",
396 "subscriptionPopup.buttonDone" : "Έγινε", 396 "sidebar.unmuteApp": "Ενεργοποίηση ειδοποιήσεων & ήχου",
397 "tabs.item.deleteService" : "Διαγραφή υπηρεσίας", 397 "signup.email.label": "Διεύθυνση ηλεκτρονικού ταχυδρομείου",
398 "tabs.item.disableAudio" : "Απενεργοποίηση ήχου", 398 "signup.emailDuplicate": "Ένας χρήστης με τη συγκεκριμένη διεύθυνση ηλεκτρονικού ταχυδρομείου υπάρχει ήδη",
399 "tabs.item.disableNotifications" : "Απενεργοποίηση ειδοποιήσεων", 399 "signup.firstname.label": "Όνομα",
400 "tabs.item.disableService" : "Απενεργοποίηση υπηρεσίας", 400 "signup.headline": "Εγγραφή",
401 "tabs.item.edit" : "Επεξεργασία", 401 "signup.lastname.label": "Επίθετο",
402 "tabs.item.enableAudio" : "Ενεργοποίηση ήχου", 402 "signup.legal.info": "Δημιουργώντας έναν λογαριασμό Ferdi αποδέχεστε τους",
403 "tabs.item.enableNotification" : "Ενεργοποίηση ειδοποιήσεων", 403 "signup.legal.privacy": "Δήλωση απορρήτου",
404 "tabs.item.enableService" : "Ενεργοποίηση υπηρεσίας", 404 "signup.legal.terms": "Όροι υπηρεσίας",
405 "tabs.item.reload" : "Επαναφόρτωση", 405 "signup.link.login": "Έχετε ήδη λογαριασμό? Συνδεθείτε.",
406 "validation.email" : "{field} δεν είναι έγκυρο", 406 "signup.password.label": "Password",
407 "validation.minLength" : "{field} πρέπει να είναι τουλάχιστον {length} χαρακτήρες", 407 "signup.submit.label": "Δημιουργία λογαριασμού",
408 "validation.oneRequired" : "At least one is required", 408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "validation.required" : "{field} είναι υποχρεωτικό", 409 "subscription.cta.allOptions": "See all options",
410 "validation.url" : "{field} δεν είναι έγκυρος σύνδεσμος URL", 410 "subscription.cta.choosePlan": "Choose your plan",
411 "webControls.back" : "Back", 411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "webControls.forward" : "Forward", 412 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:",
413 "webControls.goHome" : "Home", 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!",
414 "webControls.openInBrowser" : "Open in Browser", 414 "subscriptionPopup.buttonCancel": "Ακύρωση",
415 "webControls.reload" : "Επαναφόρτωση", 415 "subscriptionPopup.buttonDone": "Έγινε",
416 "welcome.loginButton" : "Σύνδεση στο λογαριασμό σας", 416 "tabs.item.deleteService": "Διαγραφή υπηρεσίας",
417 "welcome.signupButton" : "Δημιουργία δωρεάν λογαριασμού", 417 "tabs.item.disableAudio": "Απενεργοποίηση ήχου",
418 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace", 418 "tabs.item.disableNotifications": "Απενεργοποίηση ειδοποιήσεων",
419 "workspaceDrawer.allServices" : "Όλες οι υπηρεσίες", 419 "tabs.item.disableService": "Απενεργοποίηση υπηρεσίας",
420 "workspaceDrawer.headline" : "Workspaces", 420 "tabs.item.edit": "Επεξεργασία",
421 "workspaceDrawer.item.contextMenuEdit" : "edit", 421 "tabs.item.enableAudio": "Ενεργοποίηση ήχου",
422 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet", 422 "tabs.item.enableNotification": "Ενεργοποίηση ειδοποιήσεων",
423 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace", 423 "tabs.item.enableService": "Ενεργοποίηση υπηρεσίας",
424 "workspaceDrawer.proFeatureBadge" : "Premium feature", 424 "tabs.item.reload": "Επαναφόρτωση",
425 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account", 425 "validation.email": "{field} δεν είναι έγκυρο",
426 "workspaceDrawer.workspaceFeatureInfo" : "<p>Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.<\/p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.<\/p>", 426 "validation.minLength": "{field} πρέπει να είναι τουλάχιστον {length} χαρακτήρες",
427 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings", 427 "validation.oneRequired": "At least one is required",
428 "workspaces.switchingIndicator.switchingTo" : "Switching to" 428 "validation.required": "{field} είναι υποχρεωτικό",
429 "validation.url": "{field} δεν είναι έγκυρος σύνδεσμος URL",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Επαναφόρτωση",
435 "welcome.loginButton": "Σύνδεση στο λογαριασμό σας",
436 "welcome.signupButton": "Δημιουργία δωρεάν λογαριασμού",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "Όλες οι υπηρεσίες",
439 "workspaceDrawer.headline": "Workspaces",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
429} 448}
diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json
index a701836dc..477bdf43c 100644
--- a/src/i18n/locales/en-US.json
+++ b/src/i18n/locales/en-US.json
@@ -1,73 +1,62 @@
1{ 1{
2 "app.errorHandler.action": "Reload", 2 "app.errorHandler.action": "Reload",
3 "app.errorHandler.headline": "Something went wrong", 3 "app.errorHandler.headline": "Something went wrong",
4 "feature.announcements.changelog.headline": "Changes in Franz {version}", 4 "feature.announcements.changelog.headline": "Changes in Ferdi {version}",
5 "feature.delayApp.headline": "Upgrade your Franz plan to skip the wait", 5 "feature.delayApp.headline": "Please purchase a Ferdi Supporter License to skip waiting",
6 "feature.delayApp.text": "Franz will continue in {seconds} seconds.", 6 "feature.delayApp.text": "Ferdi will continue in {seconds} seconds.",
7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Franz Professional", 7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort": "Activate the free Franz Professional trial", 8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
9 "feature.delayApp.trial.headline": "Get the free Franz Professional 14-days trial and skip the wait", 9 "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line",
10 "feature.delayApp.upgrade.action": "Upgrade Franz", 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", 12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.planSelection.cta.stayOnFree": "Stay on Free", 13 "feature.quickSwitch.search": "Search...",
14 "feature.planSelection.cta.trial": "Start my free 14-days Trial", 14 "feature.quickSwitch.title": "QuickSwitch",
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 Franz Plan",
23 "feature.planSelection.fullscreen.subheadline": "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.",
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.",
28 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.", 15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
29 "feature.shareFranz.action.email": "Send as email", 16 "feature.shareFranz.action.email": "Send as email",
30 "feature.shareFranz.action.facebook": "Share on Facebook", 17 "feature.shareFranz.action.facebook": "Share on Facebook",
31 "feature.shareFranz.action.twitter": "Share on Twitter", 18 "feature.shareFranz.action.twitter": "Share on Twitter",
32 "feature.shareFranz.headline": "Franz is better together!", 19 "feature.shareFranz.headline": "Ferdi is better together!",
33 "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", 20 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
34 "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 @FranzMessenger", 21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
35 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Franz is and help us to spread the word.", 22 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
36 "feature.todos.premium.info": "Franz Todos are available to premium users now!", 23 "feature.todos.premium.info": "Ferdi Todos are available to premium users now!",
37 "feature.todos.premium.rollout": "Everyone else will have to wait a little longer.", 24 "feature.todos.premium.rollout": "Everyone else will have to wait a little longer.",
38 "feature.todos.premium.upgrade": "Upgrade Account", 25 "feature.todos.premium.upgrade": "Upgrade Account",
39 "feature.trialStatusBar.cta": "Upgrade now", 26 "global.api.unhealthy": "Can't connect to Ferdi online services",
40 "feature.trialStatusBar.expired": "Your free Franz {plan} Trial has expired, please upgrade your account.", 27 "global.franzProRequired": "Ferdi Professional Required",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade": "Downgrade to Free",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade": "Choose Personal",
43 "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.",
44 "feature.trialStatusBar.fullscreen.dialog.title": "Downgrade your Franz Plan",
45 "feature.trialStatusBar.restTime": "Your Free Franz {plan} Trial ends in {time}.",
46 "global.api.unhealthy": "Can't connect to Franz online services",
47 "global.franzProRequired": "Franz Professional Required",
48 "global.notConnectedToTheInternet": "You are not connected to the internet.", 28 "global.notConnectedToTheInternet": "You are not connected to the internet.",
49 "global.spellchecker.useDefault": "Use System Default ({default})", 29 "global.spellchecker.useDefault": "Use System Default ({default})",
50 "global.spellchecking.autodetect": "Detect language automatically", 30 "global.spellchecking.autodetect": "Detect language automatically",
51 "global.spellchecking.autodetect.short": "Automatic", 31 "global.spellchecking.autodetect.short": "Automatic",
52 "global.spellchecking.language": "Spell checking language", 32 "global.spellchecking.language": "Spell checking language",
53 "global.upgradeButton.upgradeToPro": "Upgrade to Franz Professional", 33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
54 "import.headline": "Import your Franz 4 services", 34 "import.headline": "Import your Ferdi 4 services",
55 "import.notSupportedHeadline": "Services not yet supported in Franz 5", 35 "import.notSupportedHeadline": "Services not yet supported in Ferdi 5",
56 "import.skip.label": "I want to add services manually", 36 "import.skip.label": "I want to add services manually",
57 "import.submit.label": "Import services", 37 "import.submit.label": "Import services",
38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
58 "infobar.buttonChangelog": "What is new?", 39 "infobar.buttonChangelog": "What is new?",
59 "infobar.buttonInstallUpdate": "Restart & install update", 40 "infobar.buttonInstallUpdate": "Restart & install update",
60 "infobar.buttonReloadServices": "Reload services", 41 "infobar.buttonReloadServices": "Reload services",
61 "infobar.requiredRequestsFailed": "Could not load services and user information", 42 "infobar.requiredRequestsFailed": "Could not load services and user information",
62 "infobar.servicesUpdated": "Your services have been updated.", 43 "infobar.servicesUpdated": "Your services have been updated.",
63 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!", 44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
64 "infobar.updateAvailable": "A new update for Franz is available.", 45 "infobar.updateAvailable": "A new update for Ferdi is available.",
65 "invite.email.label": "Email address", 46 "invite.email.label": "Email address",
66 "invite.headline.friends": "Invite 3 of your friends or colleagues", 47 "invite.headline.friends": "Invite 3 of your friends or colleagues",
67 "invite.name.label": "Name", 48 "invite.name.label": "Name",
68 "invite.skip.label": "I want to do this later", 49 "invite.skip.label": "I want to do this later",
69 "invite.submit.label": "Send invites", 50 "invite.submit.label": "Send invites",
70 "invite.successInfo": "Invitations sent successfully", 51 "invite.successInfo": "Invitations sent successfully",
52 "locked.headline": "Locked",
53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "locked.invalidCredentials": "Password invalid",
55 "locked.password.label": "Password",
56 "locked.submit.label": "Unlock",
57 "login.changeServer": "Change server",
58 "login.customServerQuestion": "Using a Franz account to log in?",
59 "login.customServerSuggestion": "Try importing your Franz account into Ferdi",
71 "login.email.label": "Email address", 60 "login.email.label": "Email address",
72 "login.headline": "Sign in", 61 "login.headline": "Sign in",
73 "login.invalidCredentials": "Email or password not valid", 62 "login.invalidCredentials": "Email or password not valid",
@@ -79,8 +68,9 @@
79 "login.tokenExpired": "Your session expired, please login again.", 68 "login.tokenExpired": "Your session expired, please login again.",
80 "menu.Todoss.closeTodosDrawer": "Close Todos drawer", 69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
81 "menu.Todoss.openTodosDrawer": "Open Todos drawer", 70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
82 "menu.app.about": "About Franz", 71 "menu.app.about": "About Ferdi",
83 "menu.app.announcement": "What's new?", 72 "menu.app.announcement": "What's new?",
73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
84 "menu.app.checkForUpdates": "Check for updates", 74 "menu.app.checkForUpdates": "Check for updates",
85 "menu.app.hide": "Hide", 75 "menu.app.hide": "Hide",
86 "menu.app.hideOthers": "Hide Others", 76 "menu.app.hideOthers": "Hide Others",
@@ -106,7 +96,7 @@
106 "menu.help.changelog": "Changelog", 96 "menu.help.changelog": "Changelog",
107 "menu.help.debugInfo": "Copy Debug Information", 97 "menu.help.debugInfo": "Copy Debug Information",
108 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.", 98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
109 "menu.help.debugInfoCopiedHeadline": "Franz Debug Information", 99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
110 "menu.help.learnMore": "Learn More", 100 "menu.help.learnMore": "Learn More",
111 "menu.help.privacy": "Privacy Statement", 101 "menu.help.privacy": "Privacy Statement",
112 "menu.help.support": "Support", 102 "menu.help.support": "Support",
@@ -119,9 +109,13 @@
119 "menu.todos": "Todos", 109 "menu.todos": "Todos",
120 "menu.todos.enableTodos": "Enable Todos", 110 "menu.todos.enableTodos": "Enable Todos",
121 "menu.view": "View", 111 "menu.view": "View",
112 "menu.view.back": "Back",
122 "menu.view.enterFullScreen": "Enter Full Screen", 113 "menu.view.enterFullScreen": "Enter Full Screen",
123 "menu.view.exitFullScreen": "Exit Full Screen", 114 "menu.view.exitFullScreen": "Exit Full Screen",
124 "menu.view.reloadFranz": "Reload Franz", 115 "menu.view.forward": "Forward",
116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.view.reloadFranz": "Reload Ferdi",
125 "menu.view.reloadService": "Reload Service", 119 "menu.view.reloadService": "Reload Service",
126 "menu.view.resetZoom": "Actual Size", 120 "menu.view.resetZoom": "Actual Size",
127 "menu.view.toggleDevTools": "Toggle Developer Tools", 121 "menu.view.toggleDevTools": "Toggle Developer Tools",
@@ -146,42 +140,33 @@
146 "password.submit.label": "Submit", 140 "password.submit.label": "Submit",
147 "password.successInfo": "Please check your email", 141 "password.successInfo": "Please check your email",
148 "premiumFeature.button.upgradeAccount": "Upgrade account", 142 "premiumFeature.button.upgradeAccount": "Upgrade account",
149 "pricing.features.accountSync": "Account Synchronisation",
150 "pricing.features.adFree": "Forever ad-free", 143 "pricing.features.adFree": "Forever ad-free",
151 "pricing.features.appDelays": "No Waiting Screens", 144 "pricing.features.appDelays": "No Waiting Screens",
152 "pricing.features.customWebsites": "Add Custom Websites", 145 "pricing.features.customWebsites": "Add Custom Websites",
153 "pricing.features.desktopNotifications": "Desktop Notifications",
154 "pricing.features.onPremise": "On-premise & other Hosted Services", 146 "pricing.features.onPremise": "On-premise & other Hosted Services",
155 "pricing.features.recipes": "Choose from more than 70 Services",
156 "pricing.features.serviceProxies": "Service Proxies", 147 "pricing.features.serviceProxies": "Service Proxies",
157 "pricing.features.spellchecker": "Spellchecker support", 148 "pricing.features.spellchecker": "Spellchecker support",
158 "pricing.features.teamManagement": "Team Management", 149 "pricing.features.teamManagement": "Team Management",
159 "pricing.features.thirdPartyServices": "Install 3rd party services", 150 "pricing.features.thirdPartyServices": "Install 3rd party services",
160 "pricing.features.unlimitedServices": "Add unlimited services", 151 "pricing.features.unlimitedServices": "Add unlimited services",
161 "pricing.features.upToSixServices": "Add up to 6 services",
162 "pricing.features.upToThreeServices": "Add up to 3 services",
163 "pricing.features.workspaces": "Workspaces", 152 "pricing.features.workspaces": "Workspaces",
164 "pricing.plan.free": "Free", 153 "pricing.plan.free": "Ferdi Free",
165 "pricing.plan.legacy": "Premium", 154 "pricing.plan.legacy": "Ferdi Premium",
166 "pricing.plan.personal": "Personal", 155 "pricing.plan.personal": "Ferdi Personal",
167 "pricing.plan.personal-monthly": "Personal Monthly", 156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
168 "pricing.plan.personal-yearly": "Personal Yearly", 157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
169 "pricing.plan.pro": "Professional", 158 "pricing.plan.pro": "Ferdi Professional",
170 "pricing.plan.pro-monthly": "Professional Monthly", 159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
171 "pricing.plan.pro-yearly": "Professional Yearly", 160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
172 "pricing.trial.cta.accept": "Start my 14-day Franz Professional Trial ", 161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
173 "pricing.trial.cta.skip": "Continue to Franz", 162 "pricing.trial.cta.skip": "Continue to Ferdi",
174 "pricing.trial.cta.start": "Start using Franz",
175 "pricing.trial.error": "Sorry, we could not activate your trial!", 163 "pricing.trial.error": "Sorry, we could not activate your trial!",
176 "pricing.trial.features.headline": "Franz Professional includes:", 164 "pricing.trial.features.headline": "Ferdi Professional includes:",
177 "pricing.trial.headline.pro": "Hi {name}, welcome to Franz", 165 "pricing.trial.headline": "Ferdi Professional",
178 "pricing.trial.intro.happyMessaging": "Happy messaging,", 166 "pricing.trial.subheadline": "Your personal welcome offer:",
179 "pricing.trial.intro.specialTreat": "We have a special treat for you.",
180 "pricing.trial.intro.tryPro": "Enjoy the full Franz Professional experience completely free for 14 days.",
181 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days", 167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
182 "pricing.trial.terms.headline": "No strings attached", 168 "pricing.trial.terms.headline": "No strings attached",
183 "pricing.trial.terms.noCreditCard": "No credit card required", 169 "pricing.trial.terms.noCreditCard": "No credit card required",
184 "pricing.trial.terms.trialWorth": "Free trial (normally {currency}{price} per month)",
185 "service.crashHandler.action": "Reload {name}", 170 "service.crashHandler.action": "Reload {name}",
186 "service.crashHandler.autoReload": "Trying to automatically restore {name} in {seconds} seconds", 171 "service.crashHandler.autoReload": "Trying to automatically restore {name} in {seconds} seconds",
187 "service.crashHandler.headline": "Oh no!", 172 "service.crashHandler.headline": "Oh no!",
@@ -194,20 +179,23 @@
194 "service.errorHandler.message": "Error", 179 "service.errorHandler.message": "Error",
195 "service.errorHandler.text": "{name} has failed to load.", 180 "service.errorHandler.text": "{name} has failed to load.",
196 "service.restrictedHandler.action": "Upgrade Account", 181 "service.restrictedHandler.action": "Upgrade Account",
197 "service.restrictedHandler.customUrl.headline": "Franz Professional Plan required", 182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
198 "service.restrictedHandler.customUrl.text": "Please upgrade to the Franz Professional plan to use custom urls & self hosted services.", 183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
199 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.", 184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
200 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.", 185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
201 "service.webviewLoader.loading": "Loading", 186 "service.webviewLoader.loading": "Loading",
202 "services.getStarted": "Get started", 187 "services.getStarted": "Get started",
203 "services.welcome": "Welcome to Franz", 188 "services.login": "Please login to use Ferdi.",
189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "services.serverless": "Use Ferdi without an Account",
191 "services.welcome": "Welcome to Ferdi",
204 "settings.account.account.editButton": "Edit account", 192 "settings.account.account.editButton": "Edit account",
205 "settings.account.accountType.basic": "Basic Account", 193 "settings.account.accountType.basic": "Basic Account",
206 "settings.account.accountType.premium": "Premium Supporter Account", 194 "settings.account.accountType.premium": "Premium Supporter Account",
207 "settings.account.buttonSave": "Update profile", 195 "settings.account.buttonSave": "Update profile",
208 "settings.account.deleteAccount": "Delete account", 196 "settings.account.deleteAccount": "Delete account",
209 "settings.account.deleteEmailSent": "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!", 197 "settings.account.deleteEmailSent": "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!",
210 "settings.account.deleteInfo": "If you don't need your Franz account any longer, you can delete your account and all related data here.", 198 "settings.account.deleteInfo": "If you don't need your Ferdi account any longer, you can delete your account and all related data here.",
211 "settings.account.headline": "Account", 199 "settings.account.headline": "Account",
212 "settings.account.headlineAccount": "Account information", 200 "settings.account.headlineAccount": "Account information",
213 "settings.account.headlineDangerZone": "Danger Zone", 201 "settings.account.headlineDangerZone": "Danger Zone",
@@ -215,8 +203,8 @@
215 "settings.account.headlinePassword": "Change password", 203 "settings.account.headlinePassword": "Change password",
216 "settings.account.headlineProfile": "Update profile", 204 "settings.account.headlineProfile": "Update profile",
217 "settings.account.headlineSubscription": "Your subscription", 205 "settings.account.headlineSubscription": "Your subscription",
218 "settings.account.headlineTrialUpgrade": "Get the free 14 day Franz Professional Trial", 206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
219 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Franz experience", 207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
220 "settings.account.invoiceDownload": "Download", 208 "settings.account.invoiceDownload": "Download",
221 "settings.account.manageSubscription.label": "Manage your subscription", 209 "settings.account.manageSubscription.label": "Manage your subscription",
222 "settings.account.successInfo": "Your changes have been saved", 210 "settings.account.successInfo": "Your changes have been saved",
@@ -225,47 +213,72 @@
225 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.", 213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
226 "settings.account.tryReloadServices": "Try again", 214 "settings.account.tryReloadServices": "Try again",
227 "settings.account.tryReloadUserInfoRequest": "Try again", 215 "settings.account.tryReloadUserInfoRequest": "Try again",
228 "settings.account.upgradeToPro.label": "Upgrade to Franz Professional", 216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
229 "settings.account.userInfoRequestFailed": "Could not load user information", 217 "settings.account.userInfoRequestFailed": "Could not load user information",
230 "settings.account.yourLicense": "Your Franz License", 218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
231 "settings.app.buttonClearAllCache": "Clear cache", 220 "settings.app.buttonClearAllCache": "Clear cache",
232 "settings.app.buttonInstallUpdate": "Restart & install update", 221 "settings.app.buttonInstallUpdate": "Restart & install update",
233 "settings.app.buttonSearchForUpdate": "Check for updates", 222 "settings.app.buttonSearchForUpdate": "Check for updates",
234 "settings.app.cacheInfo": "Franz cache is currently using {size} of disk space.", 223 "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.",
235 "settings.app.currentVersion": "Current version:", 224 "settings.app.currentVersion": "Current version:",
225 "settings.app.form.accentColor": "Accent color",
236 "settings.app.form.autoLaunchInBackground": "Open in background", 226 "settings.app.form.autoLaunchInBackground": "Open in background",
237 "settings.app.form.autoLaunchOnStart": "Launch Franz on start", 227 "settings.app.form.autoLaunchOnStart": "Launch Ferdi on start",
238 "settings.app.form.beta": "Include beta versions", 228 "settings.app.form.beta": "Include beta versions",
239 "settings.app.form.darkMode": "Join the Dark Side", 229 "settings.app.form.darkMode": "Join the Dark Side",
240 "settings.app.form.enableGPUAcceleration": "Enable GPU Acceleration", 230 "settings.app.form.enableGPUAcceleration": "Enable GPU Acceleration",
231 "settings.app.form.enableLock": "Enable Ferdi password lock",
241 "settings.app.form.enableSpellchecking": "Enable spell checking", 232 "settings.app.form.enableSpellchecking": "Enable spell checking",
242 "settings.app.form.enableSystemTray": "Show Franz in system tray", 233 "settings.app.form.enableSystemTray": "Show Ferdi in system tray",
243 "settings.app.form.enableTodos": "Enable Franz Todos", 234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
244 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded", 237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
245 "settings.app.form.language": "Language", 238 "settings.app.form.language": "Language",
246 "settings.app.form.minimizeToSystemTray": "Minimize Franz to system tray", 239 "settings.app.form.lockPassword": "Ferdi Lock password",
247 "settings.app.form.runInBackground": "Keep Franz in background when closing the window", 240 "settings.app.form.minimizeToSystemTray": "Minimize Ferdi to system tray",
241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.runInBackground": "Keep Ferdi in background when closing the window",
244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices": "Display disabled services tabs", 248 "settings.app.form.showDisabledServices": "Display disabled services tabs",
249 "settings.app.form.showMessagesBadgesWhenMuted": "Show unread message badge when notifications are disabled", 249 "settings.app.form.showMessagesBadgesWhenMuted": "Show unread message badge when notifications are disabled",
250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
250 "settings.app.headline": "Settings", 253 "settings.app.headline": "Settings",
251 "settings.app.headlineAdvanced": "Advanced", 254 "settings.app.headlineAdvanced": "Advanced",
252 "settings.app.headlineAppearance": "Appearance", 255 "settings.app.headlineAppearance": "Appearance",
253 "settings.app.headlineGeneral": "General", 256 "settings.app.headlineGeneral": "General",
254 "settings.app.headlineLanguage": "Language", 257 "settings.app.headlineLanguage": "Language",
255 "settings.app.headlineUpdates": "Updates", 258 "settings.app.headlineUpdates": "Updates",
259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
256 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.", 260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
257 "settings.app.restartRequired": "Changes require restart", 264 "settings.app.restartRequired": "Changes require restart",
265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
258 "settings.app.subheadlineCache": "Cache", 269 "settings.app.subheadlineCache": "Cache",
259 "settings.app.translationHelp": "Help us to translate Franz into your language.", 270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.app.translationHelp": "Help us to translate Ferdi into your language.",
272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
260 "settings.app.updateStatusAvailable": "Update available, downloading...", 273 "settings.app.updateStatusAvailable": "Update available, downloading...",
261 "settings.app.updateStatusSearching": "Is searching for update", 274 "settings.app.updateStatusSearching": "Is searching for update",
262 "settings.app.updateStatusUpToDate": "You are using the latest version of Franz", 275 "settings.app.updateStatusUpToDate": "You are using the latest version of Ferdi",
263 "settings.invite.headline": "Invite Friends", 276 "settings.invite.headline": "Invite Friends",
264 "settings.navigation.account": "Account", 277 "settings.navigation.account": "Account",
265 "settings.navigation.availableServices": "Available services", 278 "settings.navigation.availableServices": "Available services",
266 "settings.navigation.inviteFriends": "Invite Friends",
267 "settings.navigation.logout": "Logout", 279 "settings.navigation.logout": "Logout",
268 "settings.navigation.settings": "Settings", 280 "settings.navigation.settings": "Settings",
281 "settings.navigation.supportFerdi": "Support Ferdi",
269 "settings.navigation.team": "Manage Team", 282 "settings.navigation.team": "Manage Team",
270 "settings.navigation.yourServices": "Your services", 283 "settings.navigation.yourServices": "Your services",
271 "settings.navigation.yourWorkspaces": "Your workspaces", 284 "settings.navigation.yourWorkspaces": "Your workspaces",
@@ -289,7 +302,7 @@
289 "settings.service.form.addServiceHeadline": "Add {name}", 302 "settings.service.form.addServiceHeadline": "Add {name}",
290 "settings.service.form.availableServices": "Available services", 303 "settings.service.form.availableServices": "Available services",
291 "settings.service.form.customUrl": "Custom server", 304 "settings.service.form.customUrl": "Custom server",
292 "settings.service.form.customUrlPremiumInfo": "To add self hosted services, you need a Franz Premium Supporter Account.", 305 "settings.service.form.customUrlPremiumInfo": "To add self hosted services, you need a Ferdi Premium Supporter Account.",
293 "settings.service.form.customUrlUpgradeAccount": "Upgrade your account", 306 "settings.service.form.customUrlUpgradeAccount": "Upgrade your account",
294 "settings.service.form.customUrlValidationError": "Could not validate custom {name} server.", 307 "settings.service.form.customUrlValidationError": "Could not validate custom {name} server.",
295 "settings.service.form.deleteButton": "Delete service", 308 "settings.service.form.deleteButton": "Delete service",
@@ -309,13 +322,14 @@
309 "settings.service.form.indirectMessages": "Show message badge for all new messages", 322 "settings.service.form.indirectMessages": "Show message badge for all new messages",
310 "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted", 323 "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted",
311 "settings.service.form.name": "Name", 324 "settings.service.form.name": "Name",
325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
312 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings", 326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings",
313 "settings.service.form.proxy.host": "Proxy Host/IP", 327 "settings.service.form.proxy.host": "Proxy Host/IP",
314 "settings.service.form.proxy.info": "Proxy settings will not synced with the Franz servers.", 328 "settings.service.form.proxy.info": "Proxy settings will not synced with the Ferdi servers.",
315 "settings.service.form.proxy.isEnabled": "Use Proxy", 329 "settings.service.form.proxy.isEnabled": "Use Proxy",
316 "settings.service.form.proxy.password": "Password (optional)", 330 "settings.service.form.proxy.password": "Password (optional)",
317 "settings.service.form.proxy.port": "Port", 331 "settings.service.form.proxy.port": "Port",
318 "settings.service.form.proxy.restartInfo": "Please restart Franz after changing proxy Settings.", 332 "settings.service.form.proxy.restartInfo": "Please restart Ferdi after changing proxy Settings.",
319 "settings.service.form.proxy.user": "User (optional)", 333 "settings.service.form.proxy.user": "User (optional)",
320 "settings.service.form.saveButton": "Save service", 334 "settings.service.form.saveButton": "Save service",
321 "settings.service.form.tabHosted": "Hosted", 335 "settings.service.form.tabHosted": "Hosted",
@@ -332,11 +346,18 @@
332 "settings.services.tooltip.isMuted": "All sounds are muted", 346 "settings.services.tooltip.isMuted": "All sounds are muted",
333 "settings.services.tooltip.notificationsDisabled": "Notifications are disabled", 347 "settings.services.tooltip.notificationsDisabled": "Notifications are disabled",
334 "settings.services.updatedInfo": "Your changes have been saved", 348 "settings.services.updatedInfo": "Your changes have been saved",
335 "settings.team.contentHeadline": "Franz for Teams", 349 "settings.supportFerdi.github": "Star on GitHub",
336 "settings.team.copy": "Franz for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!", 350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
337 "settings.team.headline": "Team", 356 "settings.team.headline": "Team",
338 "settings.team.intro": "You and your team use Franz? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.", 357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
339 "settings.team.manageAction": "Manage your Team on meetfranz.com", 358 "settings.team.manageAction": "Manage your Team on getferdi.com",
359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
340 "settings.team.upgradeAction": "Upgrade your Account", 361 "settings.team.upgradeAction": "Upgrade your Account",
341 "settings.user.form.accountType.company": "Company", 362 "settings.user.form.accountType.company": "Company",
342 "settings.user.form.accountType.individual": "Individual", 363 "settings.user.form.accountType.individual": "Individual",
@@ -351,6 +372,8 @@
351 "settings.workspace.add.form.submitButton": "Create workspace", 372 "settings.workspace.add.form.submitButton": "Create workspace",
352 "settings.workspace.form.buttonDelete": "Delete workspace", 373 "settings.workspace.form.buttonDelete": "Delete workspace",
353 "settings.workspace.form.buttonSave": "Save workspace", 374 "settings.workspace.form.buttonSave": "Save workspace",
375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
354 "settings.workspace.form.name": "Name", 377 "settings.workspace.form.name": "Name",
355 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace", 378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
356 "settings.workspace.form.yourWorkspaces": "Your workspaces", 379 "settings.workspace.form.yourWorkspaces": "Your workspaces",
@@ -359,14 +382,15 @@
359 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.", 382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
360 "settings.workspaces.tryReloadWorkspaces": "Try again", 383 "settings.workspaces.tryReloadWorkspaces": "Try again",
361 "settings.workspaces.updatedInfo": "Your changes have been saved", 384 "settings.workspaces.updatedInfo": "Your changes have been saved",
362 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Franz Workspaces", 385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
363 "settings.workspaces.workspaceFeatureInfo": "Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.", 386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
364 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces", 387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
365 "sidebar.addNewService": "Add new service", 388 "sidebar.addNewService": "Add new service",
366 "sidebar.closeTodosDrawer": "Close Franz Todos", 389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
367 "sidebar.closeWorkspaceDrawer": "Close workspace drawer", 390 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
391 "sidebar.lockFerdi": "Lock Ferdi",
368 "sidebar.muteApp": "Disable notifications & audio", 392 "sidebar.muteApp": "Disable notifications & audio",
369 "sidebar.openTodosDrawer": "Open Franz Todos", 393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
370 "sidebar.openWorkspaceDrawer": "Open workspace drawer", 394 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
371 "sidebar.settings": "Settings", 395 "sidebar.settings": "Settings",
372 "sidebar.unmuteApp": "Enable notifications & audio", 396 "sidebar.unmuteApp": "Enable notifications & audio",
@@ -375,23 +399,18 @@
375 "signup.firstname.label": "First Name", 399 "signup.firstname.label": "First Name",
376 "signup.headline": "Sign up", 400 "signup.headline": "Sign up",
377 "signup.lastname.label": "Last Name", 401 "signup.lastname.label": "Last Name",
378 "signup.legal.info": "By creating a Franz account you accept the", 402 "signup.legal.info": "By creating a Ferdi account you accept the",
379 "signup.legal.privacy": "Privacy Statement", 403 "signup.legal.privacy": "Privacy Statement",
380 "signup.legal.terms": "Terms of service", 404 "signup.legal.terms": "Terms of service",
381 "signup.link.login": "Already have an account, sign in?", 405 "signup.link.login": "Already have an account, sign in?",
382 "signup.password.label": "Password", 406 "signup.password.label": "Password",
383 "signup.submit.label": "Create account", 407 "signup.submit.label": "Create account",
384 "subscription.bestValue": "Best value", 408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
385 "subscription.cta.activateTrial": "Yes, start the free Franz Professional trial",
386 "subscription.cta.allOptions": "See all options", 409 "subscription.cta.allOptions": "See all options",
387 "subscription.cta.choosePlan": "Choose your plan", 410 "subscription.cta.choosePlan": "Choose your plan",
388 "subscription.includedProFeatures": "The Franz Professional Plan includes:", 411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
389 "subscription.interval.per": "per {interval}", 412 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:",
390 "subscription.interval.perMonth": "per month", 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!",
391 "subscription.interval.perMonthPerUser": "per month & user",
392 "subscription.planItem.upgradeAccount": "Upgrade Account",
393 "subscription.teaser.includedFeatures": "Paid Franz Plans include:",
394 "subscription.teaser.intro": "Franz 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!",
395 "subscriptionPopup.buttonCancel": "Cancel", 414 "subscriptionPopup.buttonCancel": "Cancel",
396 "subscriptionPopup.buttonDone": "Done", 415 "subscriptionPopup.buttonDone": "Done",
397 "tabs.item.deleteService": "Delete service", 416 "tabs.item.deleteService": "Delete service",
@@ -423,7 +442,7 @@
423 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace", 442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
424 "workspaceDrawer.proFeatureBadge": "Premium feature", 443 "workspaceDrawer.proFeatureBadge": "Premium feature",
425 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account", 444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
426 "workspaceDrawer.workspaceFeatureInfo": "<p>Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>", 445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
427 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings", 446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
428 "workspaces.switchingIndicator.switchingTo": "Switching to" 447 "workspaces.switchingIndicator.switchingTo": "Switching to"
429} \ No newline at end of file 448}
diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json
new file mode 100644
index 000000000..1fdc74380
--- /dev/null
+++ b/src/i18n/locales/en.json
@@ -0,0 +1,428 @@
1{
2 "app.errorHandler.action": "Athlódáil",
3 "app.errorHandler.headline": "Something went wrong",
4 "feature.announcements.changelog.headline": "Changes in Ferdi {version}",
5 "feature.delayApp.headline": "Please purchase a Ferdi Supporter License to skip waiting",
6 "feature.delayApp.text": "Ferdi will continue in {seconds} seconds.",
7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
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",
11 "feature.delayApp.upgrade.actionShort": "Upgrade account",
12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.quickSwitch.search": "Search...",
14 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
15 "feature.shareFranz.action.email": "Send as email",
16 "feature.shareFranz.action.facebook": "Share on Facebook",
17 "feature.shareFranz.action.twitter": "Share on Twitter",
18 "feature.shareFranz.headline": "Ferdi is better together!",
19 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
20 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
21 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
22 "feature.todos.premium.info": "Ferdi Todos are available to premium users now!",
23 "feature.todos.premium.rollout": "Everyone else will have to wait a little longer.",
24 "feature.todos.premium.upgrade": "Upgrade Account",
25 "global.api.unhealthy": "Ní féidir nascadh le seirbhísí Ferdi ar líne",
26 "global.franzProRequired": "Ferdi Professional Required",
27 "global.notConnectedToTheInternet": "Níl tú nasctha leis an Idirlíon.",
28 "global.spellchecker.useDefault": "Use System Default ({default})",
29 "global.spellchecking.autodetect": "Detect language automatically",
30 "global.spellchecking.autodetect.short": "Automatic",
31 "global.spellchecking.language": "Spell checking language",
32 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
33 "import.headline": "Iompórtáil do sheirbhísí Ferdi 4",
34 "import.notSupportedHeadline": "Níl na seirbhísí seo taca ag Ferdi 5 go fóill",
35 "import.skip.label": "Ba mhaith liom seirbhísí a chur de láimh",
36 "import.submit.label": "Iompórtáil seirbhísí",
37 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
38 "infobar.buttonChangelog": "Cad atá nua?",
39 "infobar.buttonInstallUpdate": "Atosaigh ⁊ suiteáil nuashonrú",
40 "infobar.buttonReloadServices": "Athlódáil seirbhísí",
41 "infobar.requiredRequestsFailed": "Ní féidir seirbhísí agus eolas úsáideora a lódáil",
42 "infobar.servicesUpdated": "Nuashonraíodh do sheirbhísí.",
43 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
44 "infobar.updateAvailable": "Tá nuashonrú nua do Ferdi ar fáil.",
45 "invite.email.label": "Seoladh ríomhphoist",
46 "invite.headline.friends": "Tabhair cuireadh do thriúr chara nó chomhghleacaí",
47 "invite.name.label": "Ainm",
48 "invite.skip.label": "Ba mhaith liom é seo a dhéanamh níos deireanaí",
49 "invite.submit.label": "Seol cuirí",
50 "invite.successInfo": "Cuirí seolta go rathúil",
51 "locked.headline": "Locked",
52 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
53 "locked.invalidCredentials": "Password invalid",
54 "locked.password.label": "Password",
55 "locked.submit.label": "Unlock",
56 "login.customServerQuestion": "Using a custom Ferdi server?",
57 "login.customServerSuggestion": "Try importing your Franz account",
58 "login.email.label": "Seoladh ríomhphoist",
59 "login.headline": "Logáil isteach",
60 "login.invalidCredentials": "Seoladh ríomhphoist nó pasfhocal neamhbhailí",
61 "login.link.password": "Athshocraigh pasfhocal",
62 "login.link.signup": "Cruthaigh cuntas saor in aisce",
63 "login.password.label": "Password",
64 "login.serverLogout": "D'éag do sheisiún, logáil isteach arís le do thoil.",
65 "login.submit.label": "Logáil isteach",
66 "login.tokenExpired": "D'éag do sheisiún, logáil isteach arís le do thoil.",
67 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
68 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
69 "menu.app.about": "Faoi Ferdi",
70 "menu.app.announcement": "What's new?",
71 "menu.app.autohideMenuBar": "Auto-hide menu bar",
72 "menu.app.checkForUpdates": "Cuardaigh le nuashonruithe",
73 "menu.app.hide": "Cuir Ferdi i bhfolach",
74 "menu.app.hideOthers": "Folaigh feidhmchláir eile",
75 "menu.app.quit": "Scoir",
76 "menu.app.settings": "Socruithe",
77 "menu.app.unhide": "Taispeáin",
78 "menu.edit": "Cuir in eagar",
79 "menu.edit.copy": "Cóipeáil",
80 "menu.edit.cut": "Gearr",
81 "menu.edit.delete": "Scrios",
82 "menu.edit.emojiSymbols": "Straoiseoga ⁊ siombailí",
83 "menu.edit.paste": "Greamaigh",
84 "menu.edit.pasteAndMatchStyle": "Greamaigh agus cuir stíl in oiriúint",
85 "menu.edit.redo": "Athdhéan",
86 "menu.edit.selectAll": "Roghnaigh gach rud",
87 "menu.edit.speech": "Caint",
88 "menu.edit.startDictation": "Tosaigh deachtú",
89 "menu.edit.startSpeaking": "Tosaigh ag caint",
90 "menu.edit.stopSpeaking": "Stad ag caint",
91 "menu.edit.undo": "Cealaigh",
92 "menu.file": "Comhad",
93 "menu.help": "Cabhair",
94 "menu.help.changelog": "Athruithe",
95 "menu.help.debugInfo": "Copy Debug Information",
96 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
97 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
98 "menu.help.learnMore": "Tuilleadh eolais",
99 "menu.help.privacy": "Ráiteas phríobháideachais",
100 "menu.help.support": "Tacaíocht",
101 "menu.help.tos": "Téarmaí tagartha",
102 "menu.services": "Seirbhísí",
103 "menu.services.activatePreviousService": "Activate previous service",
104 "menu.services.addNewService": "Cuir seirbhís nua leis",
105 "menu.services.setNextServiceActive": "Activate next service",
106 "menu.todos": "Todos",
107 "menu.todos.enableTodos": "Enable Todos",
108 "menu.view": "Amharc",
109 "menu.view.back": "Back",
110 "menu.view.enterFullScreen": "Cuir isteach mód lánscáileáin",
111 "menu.view.exitFullScreen": "Scoir mód lánscáileáin",
112 "menu.view.forward": "Forward",
113 "menu.view.lockFerdi": "Lock Ferdi",
114 "menu.view.openQuickSwitch": "Open Quick Switch",
115 "menu.view.reloadFranz": "Athlódáil Ferdi",
116 "menu.view.reloadService": "Athlódáil seirbhís",
117 "menu.view.resetZoom": "Fíormhéid",
118 "menu.view.toggleDevTools": "Scoránaigh uirlis forbróra",
119 "menu.view.toggleFullScreen": "Scoránaigh mód lánscáileáin",
120 "menu.view.toggleServiceDevTools": "Scoránaigh uirlis forbróra seirbhíse",
121 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
122 "menu.view.zoomIn": "Zúmáil isteach",
123 "menu.view.zoomOut": "Zúmáil amach",
124 "menu.window": "Fuinneog",
125 "menu.window.close": "Dún",
126 "menu.window.minimize": "Íoslaghdaigh",
127 "menu.workspaces": "Workspaces",
128 "menu.workspaces.addNewWorkspace": "Add New Workspace...",
129 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
130 "menu.workspaces.defaultWorkspace": "Gach seirbhís",
131 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
132 "password.email.label": "Seoladh ríomhphoist",
133 "password.headline": "Athshocraigh pasfhocal",
134 "password.link.login": "Logáil isteach i do chuntas",
135 "password.link.signup": "Cruthaigh cuntas saor in aisce",
136 "password.noUser": "Níor aimsíodh úsáideoir leis an seoladh ríomhphoist seo",
137 "password.submit.label": "Cuir isteach",
138 "password.successInfo": "Seiceáil do chuid ríomhphoist le do thoil",
139 "premiumFeature.button.upgradeAccount": "Upgrade account",
140 "pricing.features.adFree": "Forever ad-free",
141 "pricing.features.appDelays": "No Waiting Screens",
142 "pricing.features.customWebsites": "Add Custom Websites",
143 "pricing.features.onPremise": "On-premise & other Hosted Services",
144 "pricing.features.serviceProxies": "Service Proxies",
145 "pricing.features.spellchecker": "Spellchecker support",
146 "pricing.features.teamManagement": "Team Management",
147 "pricing.features.thirdPartyServices": "Install 3rd party services",
148 "pricing.features.unlimitedServices": "Add unlimited services",
149 "pricing.features.workspaces": "Workspaces",
150 "pricing.plan.free": "Ferdi Free",
151 "pricing.plan.legacy": "Ferdi Premium",
152 "pricing.plan.personal": "Ferdi Personal",
153 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
154 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
155 "pricing.plan.pro": "Ferdi Professional",
156 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
157 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
158 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
159 "pricing.trial.cta.skip": "Continue to Ferdi",
160 "pricing.trial.error": "Sorry, we could not activate your trial!",
161 "pricing.trial.features.headline": "Ferdi Professional includes:",
162 "pricing.trial.headline": "Ferdi Professional",
163 "pricing.trial.subheadline": "Your personal welcome offer:",
164 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
165 "pricing.trial.terms.headline": "No strings attached",
166 "pricing.trial.terms.noCreditCard": "No credit card required",
167 "service.crashHandler.action": "Athlódáil {name}",
168 "service.crashHandler.autoReload": "Ag iarraidh {name} a thabhairt ar ais go huathoibríoch i gceann {seconds} shoicind",
169 "service.crashHandler.headline": "Oró, ní hea!",
170 "service.crashHandler.text": "Tá {name} tar éis earráid a dhéanamh.",
171 "service.disabledHandler.action": "Cumasaigh {name}",
172 "service.disabledHandler.headline": "Tá {name} díchumasaithe",
173 "service.errorHandler.action": "Athlódáil {name}",
174 "service.errorHandler.editAction": "Cuir {name} in eagar",
175 "service.errorHandler.headline": "Oró, ní hea!",
176 "service.errorHandler.message": "Earráid",
177 "service.errorHandler.text": "{name} has failed to load.",
178 "service.restrictedHandler.action": "Upgrade Account",
179 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
180 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
181 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
182 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
183 "service.webviewLoader.loading": "Loading",
184 "services.getStarted": "Cuir tús",
185 "services.login": "Please login to use Ferdi.",
186 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
187 "services.welcome": "Fáilte go Ferdi",
188 "settings.account.account.editButton": "Cuir cuntas in eagar",
189 "settings.account.accountType.basic": "Bunchuntas",
190 "settings.account.accountType.premium": "Cuntas Phŕeimhthacadóra Ferdi",
191 "settings.account.buttonSave": "Nuashonraigh próifíl",
192 "settings.account.deleteAccount": "Scrios cuntas",
193 "settings.account.deleteEmailSent": "Fuair tú ríomhphost chun scriosadh do chuntais a dheimhniú. Ní féidir do chuntas agus do chuid sonraí a thabhairt ar ais!",
194 "settings.account.deleteInfo": "Más rud é nár ghá cuntas Ferdi a bheith agat a thuilleadh, is féidir do chuntas agus gach sonraí riachtanach a scriosadh anseo.",
195 "settings.account.headline": "Cuntas",
196 "settings.account.headlineAccount": "Eolas faoin gcuntas",
197 "settings.account.headlineDangerZone": "Scrios cuntas",
198 "settings.account.headlineInvoices": "Sonraisc",
199 "settings.account.headlinePassword": "Athraigh pasfhocal",
200 "settings.account.headlineProfile": "Nuashonraigh próifíl",
201 "settings.account.headlineSubscription": "Do shíntiús",
202 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
203 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
204 "settings.account.invoiceDownload": "Íoslódáil",
205 "settings.account.manageSubscription.label": "Bainistigh do shíntiús",
206 "settings.account.successInfo": "Sábháladh do chuid athruithe",
207 "settings.account.trial": "Free Trial",
208 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
209 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
210 "settings.account.tryReloadServices": "Atriail",
211 "settings.account.tryReloadUserInfoRequest": "Atriail",
212 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
213 "settings.account.userInfoRequestFailed": "Ní féidir eolas úsáideora a lódáil",
214 "settings.account.yourLicense": "Your Ferdi License",
215 "settings.app.buttonClearAllCache": "Glan taisce",
216 "settings.app.buttonInstallUpdate": "Atosaigh ⁊ suiteáil nuashonrú",
217 "settings.app.buttonSearchForUpdate": "Cuardaigh le nuashonruithe",
218 "settings.app.cacheInfo": "Tá taisce Ferdi ag baint úsáid as {size} den spás diosca.",
219 "settings.app.currentVersion": "Leagan reatha:",
220 "settings.app.form.autoLaunchInBackground": "Oscail sa chúlra",
221 "settings.app.form.autoLaunchOnStart": "Láinseáil Ferdi ón tús",
222 "settings.app.form.beta": "Cuir leagain béite san áireamh",
223 "settings.app.form.darkMode": "Join the Dark Side",
224 "settings.app.form.enableGPUAcceleration": "Cumasaigh luasghéarú APG",
225 "settings.app.form.enableLock": "Enable Ferdi password lock",
226 "settings.app.form.enableSpellchecking": "Cumasaigh seiceáil litrithe",
227 "settings.app.form.enableSystemTray": "Taispeáin Ferdi i dtráidire an chórais",
228 "settings.app.form.enableTodos": "Enable Ferdi Todos",
229 "settings.app.form.hibernate": "Enable service hibernation",
230 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
231 "settings.app.form.language": "Teanga",
232 "settings.app.form.lockPassword": "Ferdi Lock password",
233 "settings.app.form.minimizeToSystemTray": "Íoslaghdaigh Ferdi chuig tráidire an chórais",
234 "settings.app.form.privateNotifications": "Don't show message content in notifications",
235 "settings.app.form.runInBackground": "Coimeád Ferdi sa chúlra nuair a dhúntar an fhuinneog",
236 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
237 "settings.app.form.scheduledDNDEnd": "To",
238 "settings.app.form.scheduledDNDStart": "From",
239 "settings.app.form.server": "Server",
240 "settings.app.form.showDisabledServices": "Taispeáin tabanna do sheirbhísí dhíchumasaithe",
241 "settings.app.form.showMessagesBadgesWhenMuted": "Taispeáin teachtaireachtaí neamhléite, nuair a dhíchumasaítear fógraí",
242 "settings.app.form.todoServer": "Todo Server",
243 "settings.app.headline": "Socruithe",
244 "settings.app.headlineAdvanced": "Casta",
245 "settings.app.headlineAppearance": "Dealramh",
246 "settings.app.headlineGeneral": "Ginearálta",
247 "settings.app.headlineLanguage": "Teanga",
248 "settings.app.headlineUpdates": "Nuashonruithe",
249 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
250 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
251 "settings.app.lockedPassword": "Ferdi Lock Password",
252 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
253 "settings.app.restartRequired": "Ní gá atosú chun athruithe a chur i bhfeidhm.",
254 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
255 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
256 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
257 "settings.app.serverMoneyInfo": "You are using the official Ferdi Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Ferdi's server resources - which Ferdi's creator has to pay for.\nPlease still consider [Link 1]paying for a Ferdi account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Ferdi's recipe store, server resources and its development.",
258 "settings.app.subheadlineCache": "Taisce",
259 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
260 "settings.app.translationHelp": "Cabhraigh linn Ferdi a aistriú i do theanga.",
261 "settings.app.updateStatusAvailable": "Nuashonrú le fáil, ag íoslódáil...",
262 "settings.app.updateStatusSearching": "Ag cuardach le nuashonruithe",
263 "settings.app.updateStatusUpToDate": "Tá tú ag baint úsáid as an leagan is deireanaí de Ferdi",
264 "settings.invite.headline": "Tabhair cuireadh do thriúr chara",
265 "settings.navigation.account": "Cuntas",
266 "settings.navigation.availableServices": "Seirbhísí le fáil",
267 "settings.navigation.logout": "Logáil amach",
268 "settings.navigation.settings": "Socruithe",
269 "settings.navigation.supportFerdi": "Support Ferdi",
270 "settings.navigation.team": "Manage Team",
271 "settings.navigation.yourServices": "Do sheirbhísí",
272 "settings.navigation.yourWorkspaces": "Your workspaces",
273 "settings.recipes.all": "Gach seirbhís",
274 "settings.recipes.custom": "Custom Services",
275 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
276 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
277 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
278 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
279 "settings.recipes.customService.openDevDocs": "Developer Documentation",
280 "settings.recipes.customService.openFolder": "Open folder",
281 "settings.recipes.headline": "Seirbhísí le fáil",
282 "settings.recipes.missingService": "Seirbhís ar iarraidh?",
283 "settings.recipes.mostPopular": "Is coitianta",
284 "settings.recipes.nothingFound": "Tá brón orm, ach níl seirbhís ar bith ag teacht le do théarma chuardach.",
285 "settings.recipes.servicesSuccessfulAddedInfo": "Seirbhís curtha go rathúil",
286 "settings.searchService": "Cuardaigh seirbhís",
287 "settings.service.error.goBack": "Ar ais chuig seirbhísí",
288 "settings.service.error.headline": "Earráid",
289 "settings.service.error.message": "Ní féidir an oideas seirbhíse a lódáil.",
290 "settings.service.form.addServiceHeadline": "Cuir {name} leis",
291 "settings.service.form.availableServices": "Seirbhísí le fáil",
292 "settings.service.form.customUrl": "Freastalaí saincheaptha",
293 "settings.service.form.customUrlPremiumInfo": "Chun seirbhísí féinóstáilte a chur le Ferdi, ní gá Cuntas Phŕeimhthacadóra Ferdi a bheith agat.",
294 "settings.service.form.customUrlUpgradeAccount": "Uasghrádaigh do chuntas",
295 "settings.service.form.customUrlValidationError": "Ní féidir seirbhís {name} saincheaptha a dheimhniú",
296 "settings.service.form.deleteButton": "Scrios seirbhís",
297 "settings.service.form.editServiceHeadline": "Cuir {name} in eagar",
298 "settings.service.form.enableAudio": "Cumasaigh fuaim",
299 "settings.service.form.enableBadge": "Taispeáin comhartha do theachtaireachtaí neamhléite",
300 "settings.service.form.enableDarkMode": "Enable Dark Mode",
301 "settings.service.form.enableNotification": "Cumasaigh fógraí",
302 "settings.service.form.enableService": "Cumasaigh seirbhís",
303 "settings.service.form.headlineBadges": "Comhartha do theachtaireachtaí neamhléite",
304 "settings.service.form.headlineGeneral": "Ginearálta",
305 "settings.service.form.headlineNotifications": "Fógraí",
306 "settings.service.form.icon": "Deilbhín saincheaptha",
307 "settings.service.form.iconDelete": "Scrios",
308 "settings.service.form.iconUpload": "Scaoil d'íomhá nó cliceáil anseo",
309 "settings.service.form.indirectMessageInfo": "Gheobhaidh tú fógraí faoi gach teachtaireacht nua i mbealach, ní amháin @username, @channel, @here, ...",
310 "settings.service.form.indirectMessages": "Taispeáin comhartha theachtaireachta do gach teachtaireacht nua",
311 "settings.service.form.isMutedInfo": "Tachtar gach fuaim fógraí agus athchasadh fuaime",
312 "settings.service.form.name": "Ainm",
313 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings",
314 "settings.service.form.proxy.host": "Proxy Host/IP",
315 "settings.service.form.proxy.info": "Proxy settings will not synced with the Ferdi servers.",
316 "settings.service.form.proxy.isEnabled": "Use Proxy",
317 "settings.service.form.proxy.password": "Password (optional)",
318 "settings.service.form.proxy.port": "Port",
319 "settings.service.form.proxy.restartInfo": "Please restart Ferdi after changing proxy Settings.",
320 "settings.service.form.proxy.user": "User (optional)",
321 "settings.service.form.saveButton": "Sábháil seirbhís",
322 "settings.service.form.tabHosted": "Óstáilte",
323 "settings.service.form.tabOnPremise": "Féinóstáilte ⭐️",
324 "settings.service.form.team": "Foireann",
325 "settings.service.form.useHostedService": "Bain úsáid as an seirbhís óstáilte {name}.",
326 "settings.service.form.yourServices": "Do sheirbhísí",
327 "settings.services.deletedInfo": "Seirbhís scriosta",
328 "settings.services.discoverServices": "Aimsigh seirbhísí",
329 "settings.services.headline": "Do sheirbhísí",
330 "settings.services.noServicesAdded": "Níl aon seirbhís curtha agat go fóill.",
331 "settings.services.servicesRequestFailed": "Could not load your services",
332 "settings.services.tooltip.isDisabled": "Seirbhís díchumasaithe",
333 "settings.services.tooltip.isMuted": "Tachtar gach fuaim",
334 "settings.services.tooltip.notificationsDisabled": "Fógraí dhíchumasaithe",
335 "settings.services.updatedInfo": "Sábháladh do chuid athruithe",
336 "settings.supportFerdi.github": "Star on GitHub",
337 "settings.supportFerdi.headline": "Support Ferdi",
338 "settings.supportFerdi.openCollective": "Support our Open Collective",
339 "settings.supportFerdi.share": "Tell your Friends",
340 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
341 "settings.team.contentHeadline": "Ferdi for Teams",
342 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
343 "settings.team.headline": "Foireann",
344 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
345 "settings.team.manageAction": "Manage your Team on getferdi.com",
346 "settings.team.upgradeAction": "Upgrade your Account",
347 "settings.user.form.accountType.company": "Comhlacht",
348 "settings.user.form.accountType.individual": "Ar leith",
349 "settings.user.form.accountType.label": "Cineál chuntais",
350 "settings.user.form.accountType.non-profit": "Neamhbhrabúis",
351 "settings.user.form.currentPassword": "Pasfhocal reatha",
352 "settings.user.form.email": "Ríomhphost",
353 "settings.user.form.firstname": "Céadainm",
354 "settings.user.form.lastname": "Sloinne",
355 "settings.user.form.newPassword": "Pasfhocal nua",
356 "settings.workspace.add.form.name": "Ainm",
357 "settings.workspace.add.form.submitButton": "Create workspace",
358 "settings.workspace.form.buttonDelete": "Delete workspace",
359 "settings.workspace.form.buttonSave": "Save workspace",
360 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
361 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
362 "settings.workspace.form.name": "Ainm",
363 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
364 "settings.workspace.form.yourWorkspaces": "Your workspaces",
365 "settings.workspaces.deletedInfo": "Workspace has been deleted",
366 "settings.workspaces.headline": "Your workspaces",
367 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
368 "settings.workspaces.tryReloadWorkspaces": "Atriail",
369 "settings.workspaces.updatedInfo": "Sábháladh do chuid athruithe",
370 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
371 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
372 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
373 "sidebar.addNewService": "Cuir seirbhís nua leis",
374 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
375 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
376 "sidebar.lockFerdi": "Lock Ferdi",
377 "sidebar.muteApp": "Díchumasaigh fógraí ⁊ fuaim",
378 "sidebar.openTodosDrawer": "Open Ferdi Todos",
379 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
380 "sidebar.settings": "Socruithe",
381 "sidebar.unmuteApp": "Cumasaigh fógraí ⁊ fuaim",
382 "signup.email.label": "Seoladh ríomhphoist",
383 "signup.emailDuplicate": "Tá úsáideoir leis an seoladh ríomhphoist sin cheana féin",
384 "signup.firstname.label": "Céadainm",
385 "signup.headline": "Cláraigh",
386 "signup.lastname.label": "Sloinne",
387 "signup.legal.info": "Agus tú ag cruthú cuntas Ferdi glacann tú le",
388 "signup.legal.privacy": "Ráiteas phríobháideachais",
389 "signup.legal.terms": "Tearmaí seirbhíse",
390 "signup.link.login": "Cuntas agat cheana féin, logáil isteach?",
391 "signup.password.label": "Password",
392 "signup.submit.label": "Cruthaigh cuntas",
393 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
394 "subscription.cta.allOptions": "See all options",
395 "subscription.cta.choosePlan": "Choose your plan",
396 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
397 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:",
398 "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!",
399 "subscriptionPopup.buttonCancel": "Cealaigh",
400 "subscriptionPopup.buttonDone": "Déanta",
401 "tabs.item.deleteService": "Scrios seirbhís",
402 "tabs.item.disableAudio": "Díchumasaigh fuaim",
403 "tabs.item.disableNotifications": "Díchumasaigh fógraí",
404 "tabs.item.disableService": "Díchumasaigh seirbhís",
405 "tabs.item.edit": "Cuir in eagar",
406 "tabs.item.enableAudio": "Cumasaigh fuaim",
407 "tabs.item.enableNotification": "Cumasaigh fógraí",
408 "tabs.item.enableService": "Cumasaigh seirbhís",
409 "tabs.item.reload": "Athlódáil",
410 "validation.email": "Níl {field} neamhbhailí",
411 "validation.minLength": "Ba cheart go mbeadh {field} ar a laghad {length} charactar fada",
412 "validation.oneRequired": "At least one is required",
413 "validation.required": "Tá {field} de dhíth",
414 "validation.url": "Ní AAA bhailí é {field}",
415 "welcome.loginButton": "Logáil isteach i do chuntas",
416 "welcome.signupButton": "Cruthaigh cuntas saor in aisce",
417 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
418 "workspaceDrawer.allServices": "Gach seirbhís",
419 "workspaceDrawer.headline": "Workspaces",
420 "workspaceDrawer.item.contextMenuEdit": "edit",
421 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
422 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
423 "workspaceDrawer.proFeatureBadge": "Premium feature",
424 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
425 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
426 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
427 "workspaces.switchingIndicator.switchingTo": "Switching to"
428}
diff --git a/src/i18n/locales/es.json b/src/i18n/locales/es.json
index 0b5f60ef7..178dcfc51 100644
--- a/src/i18n/locales/es.json
+++ b/src/i18n/locales/es.json
@@ -1,429 +1,448 @@
1{ 1{
2 "app.errorHandler.action" : "Volver a cargar", 2 "app.errorHandler.action": "Volver a cargar",
3 "app.errorHandler.headline" : "Algo salió mal.", 3 "app.errorHandler.headline": "Algo salió mal.",
4 "feature.announcements.changelog.headline" : "Cambios en Franz {version}", 4 "feature.announcements.changelog.headline": "Cambios en Ferdi {version}",
5 "feature.delayApp.headline" : "Upgrade your Franz plan to skip the wait", 5 "feature.delayApp.headline": "Por favor compra una Licencia de Soporte de Ferdi para omitir la espera",
6 "feature.delayApp.text" : "Franz continuará en {seconds} segundos.", 6 "feature.delayApp.text": "Ferdi continuará en {seconds} segundos.",
7 "feature.delayApp.trial.action" : "Si! Quiero probar Franz Profesional por 14 días, gratis!", 7 "feature.delayApp.trial.action": "Si! Quiero probar Ferdi Profesional por 14 días, gratis!",
8 "feature.delayApp.trial.actionShort" : "Activar el período de prueba de Franz Profesional", 8 "feature.delayApp.trial.actionShort": "Activar el período de prueba de Ferdi Profesional",
9 "feature.delayApp.trial.headline" : "Prueba gratuitamente Franz Professional por 14 días", 9 "feature.delayApp.trial.headline": "Empieza el periodo de prueba de Ferdi Profesional por 14 días y cruza la linea.",
10 "feature.delayApp.upgrade.action" : "Actualizar Franz", 10 "feature.delayApp.upgrade.action": "Consigue una Licencia de Soporte de Ferdi",
11 "feature.delayApp.upgrade.actionShort" : "Mejora tu cuenta", 11 "feature.delayApp.upgrade.actionShort": "Mejora tu cuenta",
12 "feature.planSelection.cta.ctaDowngradeFree" : "Downgrade to Free", 12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.planSelection.cta.stayOnFree" : "Stay on Free", 13 "feature.quickSwitch.search": "Search...",
14 "feature.planSelection.cta.trial" : "Start my free 14-days Trial", 14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.planSelection.cta.upgradePersonal" : "Choose Personal", 15 "feature.serviceLimit.limitReached": "Has sumado {amount} servicios más de los que están incluídos en tu plan. Por favor mejora tu cuenta para sumar más servicios.",
16 "feature.planSelection.cta.upgradePro" : "Choose Professional", 16 "feature.shareFranz.action.email": "Enviar como correo",
17 "feature.planSelection.free.text" : "Basic functionality", 17 "feature.shareFranz.action.facebook": "Compartir en Facebook",
18 "feature.planSelection.fullFeatureList" : "Complete comparison of all plans", 18 "feature.shareFranz.action.twitter": "Compartir en Twitter",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 19 "feature.shareFranz.headline": "¡Juntos mejoramos Ferdi!",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade" : "Choose Personal", 20 "feature.shareFranz.shareText.email": "¡He añadido {count} servicios a Ferdi! Obtén la aplicación gratuita para WhatsApp, Messenger, Slack, Skype en www.getferdi.com",
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.", 21 "feature.shareFranz.shareText.twitter": "He agregado {count} servicios a Ferdi! Obtené la aplicación gratuita de WhatsApp, Messenger, Slack, Skype y co en www.getferdi.com/cc @FerdiMessenger",
22 "feature.planSelection.fullscreen.dialog.title" : "Downgrade your Franz Plan", 22 "feature.shareFranz.text": "Dile a tus amigos y colegas lo asombroso que es Ferdi y ayúdanos a correr la voz.",
23 "feature.planSelection.fullscreen.subheadline" : "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.", 23 "feature.todos.premium.info": "Todos de Ferdi está disponible para usuarios premium ahora!",
24 "feature.planSelection.fullscreen.welcome" : "Are you ready to choose, {name}?", 24 "feature.todos.premium.rollout": "El resto de los usuarios deberán esperar un poco más de tiempo.",
25 "feature.planSelection.personal.text" : "More services, no waiting - ideal for personal use.", 25 "feature.todos.premium.upgrade": "Actualizar cuenta",
26 "feature.planSelection.pricesBasedOnAnnualPayment" : "All prices based on yearly payment", 26 "global.api.unhealthy": "No es posible conectarse a los servicios en línea de Ferdi.",
27 "feature.planSelection.pro.text" : "Unlimited services and professional features for you - and your team.", 27 "global.franzProRequired": "Se requiere una cuenta Ferdi Profesional",
28 "feature.serviceLimit.limitReached" : "Has sumado {amount} servicios más de los que están incluídos en tu plan. Por favor mejora tu cuenta para sumar más servicios.", 28 "global.notConnectedToTheInternet": "No estás conectado a Internet",
29 "feature.shareFranz.action.email" : "Enviar como correo", 29 "global.spellchecker.useDefault": "Utilizar estándar del sistema ({default})",
30 "feature.shareFranz.action.facebook" : "Compartir en Facebook", 30 "global.spellchecking.autodetect": "Detectar el idioma automáticamente",
31 "feature.shareFranz.action.twitter" : "Compartir en Twitter", 31 "global.spellchecking.autodetect.short": "Automático",
32 "feature.shareFranz.headline" : "¡Juntos mejoramos Franz!", 32 "global.spellchecking.language": "Corrector de ortografía",
33 "feature.shareFranz.shareText.email" : "¡He añadido {count} servicios a Franz! Obtén la aplicación gratuita para WhatsApp, Messenger, Slack, Skype en www.meetfranz.com", 33 "global.upgradeButton.upgradeToPro": "Actualiza a Ferdi Profesional",
34 "feature.shareFranz.shareText.twitter" : "He agregado {count} servicios a Franz! Obtené la aplicación gratuita de WhatsApp, Messenger, Slack, Skype y co en www.meetfranz.com\/cc @FranzMessenger", 34 "import.headline": "Importa tus servicios de Ferdi 4",
35 "feature.shareFranz.text" : "Dile a tus amigos y colegas lo asombroso que es Franz y ayúdanos a correr la voz.", 35 "import.notSupportedHeadline": "Servicios aún no admitidos en Ferdi 5",
36 "feature.todos.premium.info" : "Todos de Franz está disponible para usuarios premium ahora!", 36 "import.skip.label": "Quiero agregar servicios manualmente",
37 "feature.todos.premium.rollout" : "El resto de los usuarios deberán esperar un poco más de tiempo.", 37 "import.submit.label": "Importar servicios",
38 "feature.todos.premium.upgrade" : "Actualizar cuenta", 38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "feature.trialStatusBar.cta" : "Upgrade now", 39 "infobar.buttonChangelog": "¿Qué hay de nuevo?",
40 "feature.trialStatusBar.expired" : "Your free Franz {plan} Trial has expired, please upgrade your account.", 40 "infobar.buttonInstallUpdate": "Reiniciar e instalar actualización",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 41 "infobar.buttonReloadServices": "Recargar servicios",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade" : "Choose Personal", 42 "infobar.requiredRequestsFailed": "No se han podido cargar los servicios ni la información de usuario",
43 "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.", 43 "infobar.servicesUpdated": "Tus servicios han sido actualizados.",
44 "feature.trialStatusBar.fullscreen.dialog.title" : "Downgrade your Franz Plan", 44 "infobar.trialActivated": "Tu periodo de prueba ha sido activado exitosamente. Que disfrutes tus mensajes!",
45 "feature.trialStatusBar.restTime" : "Your Free Franz {plan} Trial ends in {time}.", 45 "infobar.updateAvailable": "Una nueva actualización de Ferdi está disponible",
46 "global.api.unhealthy" : "No es posible conectarse a los servicios en línea de Franz.", 46 "invite.email.label": "Dirección de correo electrónico",
47 "global.franzProRequired" : "Se requiere una cuenta Franz Profesional", 47 "invite.headline.friends": "Invita a 3 de tus amigos o compañeros",
48 "global.notConnectedToTheInternet" : "No estás conectado a Internet", 48 "invite.name.label": "Nombre",
49 "global.spellchecker.useDefault" : "Utilizar estándar del sistema ({default})", 49 "invite.skip.label": "Lo haré más tarde",
50 "global.spellchecking.autodetect" : "Detectar el idioma automáticamente", 50 "invite.submit.label": "Enviar invitaciones",
51 "global.spellchecking.autodetect.short" : "Automático", 51 "invite.successInfo": "Invitaciones enviadas correctamente",
52 "global.spellchecking.language" : "Corrector de ortografía", 52 "locked.headline": "Locked",
53 "global.upgradeButton.upgradeToPro" : "Actualiza a Franz Profesional", 53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "import.headline" : "Importa tus servicios de Franz 4", 54 "locked.invalidCredentials": "Password invalid",
55 "import.notSupportedHeadline" : "Servicios aún no admitidos en Franz 5", 55 "locked.password.label": "Password",
56 "import.skip.label" : "Quiero agregar servicios manualmente", 56 "locked.submit.label": "Unlock",
57 "import.submit.label" : "Importar servicios", 57 "login.changeServer": "Change server",
58 "infobar.buttonChangelog" : "¿Qué hay de nuevo?", 58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "infobar.buttonInstallUpdate" : "Reiniciar e instalar actualización", 59 "login.customServerSuggestion": "Try importing your Franz account",
60 "infobar.buttonReloadServices" : "Recargar servicios", 60 "login.email.label": "Dirección de correo electrónico",
61 "infobar.requiredRequestsFailed" : "No se han podido cargar los servicios ni la información de usuario", 61 "login.headline": "Iniciar sesión",
62 "infobar.servicesUpdated" : "Tus servicios han sido actualizados.", 62 "login.invalidCredentials": "Correo electrónico o contraseña no válidos ",
63 "infobar.trialActivated" : "Tu periodo de prueba ha sido activado exitosamente. Que disfrutes tus mensajes!", 63 "login.link.password": "Restablecer contraseña",
64 "infobar.updateAvailable" : "Una nueva actualización de Franz está disponible", 64 "login.link.signup": "Crear una cuenta gratuita",
65 "invite.email.label" : "Dirección de correo electrónico", 65 "login.password.label": "Password",
66 "invite.headline.friends" : "Invita a 3 de tus amigos o compañeros", 66 "login.serverLogout": "Tu sesión ha expirado, por favor inicia la sesión de nuevo.",
67 "invite.name.label" : "Nombre", 67 "login.submit.label": "Iniciar sesión",
68 "invite.skip.label" : "Lo haré más tarde", 68 "login.tokenExpired": "Tu sesión ha expirado, por favor inicia la sesión de nuevo.",
69 "invite.submit.label" : "Enviar invitaciones", 69 "menu.Todoss.closeTodosDrawer": "Cerrar la pestaña de Tareas",
70 "invite.successInfo" : "Invitaciones enviadas correctamente", 70 "menu.Todoss.openTodosDrawer": "Abrir la pestaña de tareas",
71 "login.email.label" : "Dirección de correo electrónico", 71 "menu.app.about": "Acerca de Ferdi",
72 "login.headline" : "Iniciar sesión", 72 "menu.app.announcement": "¿Qué hay de nuevo?",
73 "login.invalidCredentials" : "Correo electrónico o contraseña no válidos ", 73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "login.link.password" : "Restablecer contraseña", 74 "menu.app.checkForUpdates": "Comprobar actualizaciones",
75 "login.link.signup" : "Crear una cuenta gratuita", 75 "menu.app.hide": "Ocultar",
76 "login.password.label" : "Contraseña", 76 "menu.app.hideOthers": "Ocultar otros",
77 "login.serverLogout" : "Tu sesión ha expirado, por favor inicia la sesión de nuevo.", 77 "menu.app.quit": "Salir",
78 "login.submit.label" : "Iniciar sesión", 78 "menu.app.settings": "Configuración",
79 "login.tokenExpired" : "Tu sesión ha expirado, por favor inicia sesión de nuevo.", 79 "menu.app.unhide": "Mostrar",
80 "menu.Todoss.closeTodosDrawer" : "Cerrar la pestaña de Tareas", 80 "menu.edit": "Editar",
81 "menu.Todoss.openTodosDrawer" : "Abrir la pestaña de tareas", 81 "menu.edit.copy": "Copiar",
82 "menu.app.about" : "Acerca de Franz", 82 "menu.edit.cut": "Cortar",
83 "menu.app.announcement" : "¿Qué hay de nuevo?", 83 "menu.edit.delete": "Borrar",
84 "menu.app.checkForUpdates" : "Comprobar actualizaciones", 84 "menu.edit.emojiSymbols": "Emoji y Símbolos",
85 "menu.app.hide" : "Ocultar", 85 "menu.edit.paste": "Pegar",
86 "menu.app.hideOthers" : "Ocultar otros", 86 "menu.edit.pasteAndMatchStyle": "Pegar con el mismo estilo",
87 "menu.app.quit" : "Salir", 87 "menu.edit.redo": "Rehacer",
88 "menu.app.settings" : "Configuración", 88 "menu.edit.selectAll": "Seleccionar todo",
89 "menu.app.unhide" : "Mostrar", 89 "menu.edit.speech": "Leer",
90 "menu.edit" : "Editar", 90 "menu.edit.startDictation": "Empezar dictado",
91 "menu.edit.copy" : "Copiar", 91 "menu.edit.startSpeaking": "Empezar lectura",
92 "menu.edit.cut" : "Cortar", 92 "menu.edit.stopSpeaking": "Detener lectura",
93 "menu.edit.delete" : "Borrar", 93 "menu.edit.undo": "Deshacer",
94 "menu.edit.emojiSymbols" : "Emoji y Símbolos", 94 "menu.file": "Archivo",
95 "menu.edit.paste" : "Pegar", 95 "menu.help": "Ayuda",
96 "menu.edit.pasteAndMatchStyle" : "Pegar con el mismo estilo", 96 "menu.help.changelog": "Registro de cambios",
97 "menu.edit.redo" : "Rehacer", 97 "menu.help.debugInfo": "Copiar información de depuración",
98 "menu.edit.selectAll" : "Seleccionar todo", 98 "menu.help.debugInfoCopiedBody": "Tu información de depuración ha sido copiada a tu portapapeles",
99 "menu.edit.speech" : "Leer", 99 "menu.help.debugInfoCopiedHeadline": "Información de depurador de Ferdi",
100 "menu.edit.startDictation" : "Empezar dictado", 100 "menu.help.learnMore": "Conocer más",
101 "menu.edit.startSpeaking" : "Empezar lectura", 101 "menu.help.privacy": "Declaración de privacidad",
102 "menu.edit.stopSpeaking" : "Detener lectura", 102 "menu.help.support": "Soporte",
103 "menu.edit.undo" : "Deshacer", 103 "menu.help.tos": "Términos del Servicio",
104 "menu.file" : "Archivo", 104 "menu.services": "Servicios",
105 "menu.help" : "Ayuda", 105 "menu.services.activatePreviousService": "Activa el servicio previo",
106 "menu.help.changelog" : "Registro de cambios", 106 "menu.services.addNewService": "Añadir Nuevo Servicio...",
107 "menu.help.debugInfo" : "Copiar información de depuración", 107 "menu.services.goHome": "Home",
108 "menu.help.debugInfoCopiedBody" : "Tu información de depuración ha sido copiada a tu portapapeles", 108 "menu.services.setNextServiceActive": "Activa el siguiente servicio",
109 "menu.help.debugInfoCopiedHeadline" : "Información de depurador de Franz", 109 "menu.todos": "Tareas pendientes",
110 "menu.help.learnMore" : "Conocer más", 110 "menu.todos.enableTodos": "Habilitar Tareas pendientes",
111 "menu.help.privacy" : "Declaración de privacidad", 111 "menu.view": "Mostrar",
112 "menu.help.support" : "Soporte", 112 "menu.view.back": "Back",
113 "menu.help.tos" : "Términos del Servicio", 113 "menu.view.enterFullScreen": "Pasar a pantalla completa",
114 "menu.services" : "Servicios", 114 "menu.view.exitFullScreen": "Salir de Pantalla Completa",
115 "menu.services.activatePreviousService" : "Activa el servicio previo", 115 "menu.view.forward": "Forward",
116 "menu.services.addNewService" : "Añadir Nuevo Servicio...", 116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.services.goHome" : "Home", 117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.services.setNextServiceActive" : "Activa el siguiente servicio", 118 "menu.view.reloadFranz": "Recargar Ferdi",
119 "menu.todos" : "Tareas pendientes", 119 "menu.view.reloadService": "Recargar Servicio",
120 "menu.todos.enableTodos" : "Habilitar Herramientas", 120 "menu.view.resetZoom": "Tamaño Actual",
121 "menu.view" : "Mostrar", 121 "menu.view.toggleDevTools": "Activar las Herramientas para Desarrolladores",
122 "menu.view.enterFullScreen" : "Pasar a pantalla completa", 122 "menu.view.toggleFullScreen": "Cambiar a Pantalla Completa",
123 "menu.view.exitFullScreen" : "Salir de Pantalla Completa", 123 "menu.view.toggleServiceDevTools": "Mostrar Herramientas de Servicios para Desarrolladores",
124 "menu.view.reloadFranz" : "Recargar Franz", 124 "menu.view.toggleTodosDevTools": "Tareas pendientes: Herramientas para desarrolladores",
125 "menu.view.reloadService" : "Recargar Servicio", 125 "menu.view.zoomIn": "Ampliar",
126 "menu.view.resetZoom" : "Tamaño Actual", 126 "menu.view.zoomOut": "Reducir",
127 "menu.view.toggleDevTools" : "Activar las Herramientas para Desarrolladores", 127 "menu.window": "Ventana",
128 "menu.view.toggleFullScreen" : "Cambiar a Pantalla Completa", 128 "menu.window.close": "Cerrar",
129 "menu.view.toggleServiceDevTools" : "Mostrar Herramientas de Servicios para Desarrolladores", 129 "menu.window.minimize": "Minimizar",
130 "menu.view.toggleTodosDevTools" : "Tareas pendientes: Herramientas para desarrolladores", 130 "menu.workspaces": "Espacios de trabajo",
131 "menu.view.zoomIn" : "Ampliar", 131 "menu.workspaces.addNewWorkspace": "Añadir nuevo espacio de trabajo...",
132 "menu.view.zoomOut" : "Reducir", 132 "menu.workspaces.closeWorkspaceDrawer": "Cerrar cajón de espacio de trabajo",
133 "menu.window" : "Ventana", 133 "menu.workspaces.defaultWorkspace": "Todos los servicios",
134 "menu.window.close" : "Cerrar", 134 "menu.workspaces.openWorkspaceDrawer": "Abrir diseñador de espacios de trabajo",
135 "menu.window.minimize" : "Minimizar", 135 "password.email.label": "Dirección de correo electrónico",
136 "menu.workspaces" : "Espacios de trabajo", 136 "password.headline": "Restablecer contraseña",
137 "menu.workspaces.addNewWorkspace" : "Añadir nuevo espacio de trabajo...", 137 "password.link.login": "Inicia sesión en tu cuenta",
138 "menu.workspaces.closeWorkspaceDrawer" : "Cerrar cajón de espacio de trabajo", 138 "password.link.signup": "Crear una cuenta gratuita",
139 "menu.workspaces.defaultWorkspace" : "Todos los servicios", 139 "password.noUser": "No se encontró un usuario con esa dirección de correo electrónico",
140 "menu.workspaces.openWorkspaceDrawer" : "Abrir diseñador de espacios de trabajo", 140 "password.submit.label": "Enviar",
141 "password.email.label" : "Dirección de correo electrónico", 141 "password.successInfo": "Por favor revisa tu correo electrónico",
142 "password.headline" : "Restablecer contraseña", 142 "premiumFeature.button.upgradeAccount": "Mejora tu cuenta",
143 "password.link.login" : "Inicia sesión en tu cuenta", 143 "pricing.features.adFree": "Sin anuncios para siempre!",
144 "password.link.signup" : "Crear una cuenta gratuita", 144 "pricing.features.appDelays": "Sin pantallas de espera",
145 "password.noUser" : "No se encontró un usuario con esa dirección de correo electrónico", 145 "pricing.features.customWebsites": "Agregue sitios personalizados",
146 "password.submit.label" : "Enviar", 146 "pricing.features.onPremise": "En sitio y otros servicios alojados",
147 "password.successInfo" : "Por favor revisa tu correo electrónico", 147 "pricing.features.serviceProxies": "Apoderados de Servicio",
148 "premiumFeature.button.upgradeAccount" : "Mejorar cuenta", 148 "pricing.features.spellchecker": "Soporte de corrector ortográfico",
149 "pricing.features.accountSync" : "Account Synchronisation", 149 "pricing.features.teamManagement": "Administración de Equipo",
150 "pricing.features.adFree" : "Sin anuncios para siempre!", 150 "pricing.features.thirdPartyServices": "Instalar servicios de terceros",
151 "pricing.features.appDelays" : "Sin pantallas de espera", 151 "pricing.features.unlimitedServices": "Agregar servicios ilimitados",
152 "pricing.features.customWebsites" : "Agregue sitios personalizados", 152 "pricing.features.workspaces": "Espacios de trabajo",
153 "pricing.features.desktopNotifications" : "Desktop Notifications", 153 "pricing.plan.free": "Ferdi gratis",
154 "pricing.features.onPremise" : "En sitio y otros servicios alojados", 154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.features.recipes" : "Choose from more than 70 Services", 155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.features.serviceProxies" : "Apoderados de Servicio", 156 "pricing.plan.personal-monthly": "Ferdi Personal Mensual",
157 "pricing.features.spellchecker" : "Soporte de corrector ortográfico", 157 "pricing.plan.personal-yearly": "Ferdi Personal Anual",
158 "pricing.features.teamManagement" : "Gestión de equipos", 158 "pricing.plan.pro": "Ferdi Profesional",
159 "pricing.features.thirdPartyServices" : "Instalar servicios de terceros", 159 "pricing.plan.pro-monthly": "Ferdi Profesional Mensual",
160 "pricing.features.unlimitedServices" : "Agregar servicios ilimitados", 160 "pricing.plan.pro-yearly": "Ferdi Profesional Anual",
161 "pricing.features.upToSixServices" : "Add up to 6 services", 161 "pricing.trial.cta.accept": "Si, actualizar mi cuenta a Ferdi Profesional",
162 "pricing.features.upToThreeServices" : "Add up to 3 services", 162 "pricing.trial.cta.skip": "Continuar a Ferdi",
163 "pricing.features.workspaces" : "Áreas de trabajo", 163 "pricing.trial.error": "Disculpe, no pudimos activar su prueba!",
164 "pricing.plan.free" : "Free", 164 "pricing.trial.features.headline": "Ferdi Profesional incluye:",
165 "pricing.plan.legacy" : "Premium", 165 "pricing.trial.headline": "Ferdi Profesional",
166 "pricing.plan.personal" : "Personal", 166 "pricing.trial.subheadline": "Su oferta de bienvenida personal",
167 "pricing.plan.personal-monthly" : "Personal Monthly", 167 "pricing.trial.terms.automaticTrialEnd": "Su prueba gratis finaliza automáticamente después de 14 días",
168 "pricing.plan.personal-yearly" : "Personal Yearly", 168 "pricing.trial.terms.headline": "Sin condiciones",
169 "pricing.plan.pro" : "Professional", 169 "pricing.trial.terms.noCreditCard": "No necesita tarjeta de crédito",
170 "pricing.plan.pro-monthly" : "Professional Monthly", 170 "service.crashHandler.action": "Recargar {name}",
171 "pricing.plan.pro-yearly" : "Professional Yearly", 171 "service.crashHandler.autoReload": "Intentando recuperar automáticamente {name} en {seconds} segundos",
172 "pricing.trial.cta.accept" : "Start my 14-day Franz Professional Trial ", 172 "service.crashHandler.headline": "¡Oh, no!",
173 "pricing.trial.cta.skip" : "Continuar a Franz", 173 "service.crashHandler.text": "{name} ha causado un error.",
174 "pricing.trial.cta.start" : "Start using Franz", 174 "service.disabledHandler.action": "Activar {name}",
175 "pricing.trial.error" : "Disculpe, no pudimos activar su prueba!", 175 "service.disabledHandler.headline": "{name} está desactivado",
176 "pricing.trial.features.headline" : "Franz Profesional incluye:", 176 "service.errorHandler.action": "Recargar {name}",
177 "pricing.trial.headline.pro" : "Hi {name}, welcome to Franz", 177 "service.errorHandler.editAction": "Editar {name}",
178 "pricing.trial.intro.happyMessaging" : "Happy messaging,", 178 "service.errorHandler.headline": "¡Oh, no!",
179 "pricing.trial.intro.specialTreat" : "We have a special treat for you.", 179 "service.errorHandler.message": "Error",
180 "pricing.trial.intro.tryPro" : "Enjoy the full Franz Professional experience completely free for 14 days.", 180 "service.errorHandler.text": "{name} ha fallado la carga",
181 "pricing.trial.terms.automaticTrialEnd" : "Su prueba gratis finaliza automáticamente después de 14 días", 181 "service.restrictedHandler.action": "Actualizar cuenta",
182 "pricing.trial.terms.headline" : "Sin condiciones", 182 "service.restrictedHandler.customUrl.headline": "Necesita el Plan Ferdi Profesional",
183 "pricing.trial.terms.noCreditCard" : "No necesita tarjeta de crédito", 183 "service.restrictedHandler.customUrl.text": "Por favor suscribase al Plan Ferdi Profesional para utilizar urls personalizadas y servicios auto alojados.",
184 "pricing.trial.terms.trialWorth" : "Free trial (normally {currency}{price} per month)", 184 "service.restrictedHandler.serviceLimit.headline": "Ha llegado al límite del servicio.",
185 "service.crashHandler.action" : "Recargar {name}", 185 "service.restrictedHandler.serviceLimit.text": "Por favor mejore su cuenta para poder utilizar más de {count} servicios.",
186 "service.crashHandler.autoReload" : "Intentando recuperar automáticamente {name} en {seconds} segundos", 186 "service.webviewLoader.loading": "Cargando",
187 "service.crashHandler.headline" : "¡Oh, no!", 187 "services.getStarted": "Primeros pasos",
188 "service.crashHandler.text" : "{name} ha causado un error.", 188 "services.login": "Please login to use Ferdi.",
189 "service.disabledHandler.action" : "Activar {name}", 189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "service.disabledHandler.headline" : "{name} está desactivado", 190 "services.serverless": "Use Ferdi without an Account",
191 "service.errorHandler.action" : "Recargar {name}", 191 "services.welcome": "Bienvenido a Ferdi",
192 "service.errorHandler.editAction" : "Editar {name}", 192 "settings.account.account.editButton": "Editar cuenta",
193 "service.errorHandler.headline" : "¡Oh, no!", 193 "settings.account.accountType.basic": "Cuenta Básica",
194 "service.errorHandler.message" : "Error", 194 "settings.account.accountType.premium": "Cuenta Colaborador Premium",
195 "service.errorHandler.text" : "{name} ha fallado la carga", 195 "settings.account.buttonSave": "Actualizar perfil",
196 "service.restrictedHandler.action" : "Mejore su cuenta", 196 "settings.account.deleteAccount": "Eliminar cuenta",
197 "service.restrictedHandler.customUrl.headline" : "Necesita el Plan Franz Profesional", 197 "settings.account.deleteEmailSent": "Has recibido un correo electrónico con un enlace para confirmar la eliminación de su cuenta. ¡Tu cuenta y datos no podrán ser restaurados!",
198 "service.restrictedHandler.customUrl.text" : "Por favor suscribase al Plan Franz Profesional para utilizar urls personalizadas y servicios auto alojados.", 198 "settings.account.deleteInfo": "Si ya no necesitas tu cuenta de Ferdi, puedes eliminarla junto a todos los datos aquí relacionados.",
199 "service.restrictedHandler.serviceLimit.headline" : "Ha llegado al límite del servicio.", 199 "settings.account.headline": "Cuenta",
200 "service.restrictedHandler.serviceLimit.text" : "Por favor mejore su cuenta para poder utilizar más de {count} servicios.", 200 "settings.account.headlineAccount": "Información de la cuenta",
201 "service.webviewLoader.loading" : "Cargando", 201 "settings.account.headlineDangerZone": "Zona Peligrosa",
202 "services.getStarted" : "Primeros pasos", 202 "settings.account.headlineInvoices": "Facturas",
203 "services.welcome" : "Bienvenido a Franz", 203 "settings.account.headlinePassword": "Cambiar contraseña",
204 "settings.account.account.editButton" : "Editar cuenta", 204 "settings.account.headlineProfile": "Actualizar perfil",
205 "settings.account.accountType.basic" : "Cuenta Básica", 205 "settings.account.headlineSubscription": "Tu suscripción",
206 "settings.account.accountType.premium" : "Cuenta Colaborador Premium", 206 "settings.account.headlineTrialUpgrade": "Consiga 14 días de prueba gratis de Ferdi Profesional ",
207 "settings.account.buttonSave" : "Actualizar perfil", 207 "settings.account.headlineUpgradeAccount": "Mejore su cuenta y reciba la experiencia completa de Ferdi",
208 "settings.account.deleteAccount" : "Eliminar cuenta", 208 "settings.account.invoiceDownload": "Descargar",
209 "settings.account.deleteEmailSent" : "Has recibido un correo electrónico con un enlace para confirmar la eliminación de su cuenta. ¡Tu cuenta y datos no podrán ser restaurados!", 209 "settings.account.manageSubscription.label": "Administra tu suscripción",
210 "settings.account.deleteInfo" : "Si ya no necesitas tu cuenta de Franz, puedes eliminarla junto a todos los datos aquí relacionados.", 210 "settings.account.successInfo": "Tus cambios han sido guardados",
211 "settings.account.headline" : "Cuenta", 211 "settings.account.trial": "Prueba Gratis",
212 "settings.account.headlineAccount" : "Información de la cuenta", 212 "settings.account.trialEndsIn": "Su prueba gratis finaliza en {duration}.",
213 "settings.account.headlineDangerZone" : "Zona Peligrosa", 213 "settings.account.trialUpdateBillingInfo": "Por favor actualice su información de facturación para continuar utilizando {license} luego del periodo de prueba.",
214 "settings.account.headlineInvoices" : "Facturas", 214 "settings.account.tryReloadServices": "Intentar de nuevo",
215 "settings.account.headlinePassword" : "Cambiar contraseña", 215 "settings.account.tryReloadUserInfoRequest": "Intentar de nuevo",
216 "settings.account.headlineProfile" : "Actualizar perfil", 216 "settings.account.upgradeToPro.label": "Actualiza a Ferdi Profesional",
217 "settings.account.headlineSubscription" : "Tu suscripción", 217 "settings.account.userInfoRequestFailed": "No se pudo cargar la información de usuario",
218 "settings.account.headlineTrialUpgrade" : "Consiga 14 días de prueba gratis de Franz Profesional ", 218 "settings.account.yourLicense": "Su Licencia Ferdi",
219 "settings.account.headlineUpgradeAccount" : "Mejore su cuenta y reciba la experiencia completa de Franz", 219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.account.invoiceDownload" : "Descargar", 220 "settings.app.buttonClearAllCache": "Limpiar caché",
221 "settings.account.manageSubscription.label" : "Administra tu suscripción", 221 "settings.app.buttonInstallUpdate": "Reiniciar e instalar actualización",
222 "settings.account.successInfo" : "Tus cambios han sido guardados", 222 "settings.app.buttonSearchForUpdate": "Comprobar actualizaciones",
223 "settings.account.trial" : "Prueba Gratis", 223 "settings.app.cacheInfo": "El cache de Ferdi actualmente usa {size} de espacio en disco.",
224 "settings.account.trialEndsIn" : "Su prueba gratis finaliza en {duration}.", 224 "settings.app.currentVersion": "Versión actual:",
225 "settings.account.trialUpdateBillingInfo" : "Por favor actualice su información de facturación para continuar utilizando {license} luego del periodo de prueba.", 225 "settings.app.form.accentColor": "Accent color",
226 "settings.account.tryReloadServices" : "Intentar de nuevo", 226 "settings.app.form.autoLaunchInBackground": "Abrir en segundo plano",
227 "settings.account.tryReloadUserInfoRequest" : "Intenta de nuevo", 227 "settings.app.form.autoLaunchOnStart": "Iniciar Ferdi al iniciar",
228 "settings.account.upgradeToPro.label" : "Mejora a Franz Profesional", 228 "settings.app.form.beta": "Incluir versiones beta",
229 "settings.account.userInfoRequestFailed" : "No se pudo cargar la información de usuario", 229 "settings.app.form.darkMode": "Únete al Lado Oscuro",
230 "settings.account.yourLicense" : "Su Licencia Franz", 230 "settings.app.form.enableGPUAcceleration": "Habilitar aceleración de GPU",
231 "settings.app.buttonClearAllCache" : "Limpiar caché", 231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.buttonInstallUpdate" : "Reiniciar e instalar actualizaciones", 232 "settings.app.form.enableSpellchecking": "Activar corrección ortográfica",
233 "settings.app.buttonSearchForUpdate" : "Buscar actualizaciones", 233 "settings.app.form.enableSystemTray": "Mostrar Ferdi en la bandeja del sistema",
234 "settings.app.cacheInfo" : "El cache de Franz actualmente usa {size} de espacio en disco.", 234 "settings.app.form.enableTodos": "Activar Ferdi Todos",
235 "settings.app.currentVersion" : "Versión actual:", 235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.autoLaunchInBackground" : "Abrir en segundo plano", 236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.autoLaunchOnStart" : "Iniciar Franz al iniciar", 237 "settings.app.form.keepAllWorkspacesLoaded": "Mantener todas las Áreas de trabajo cargadas",
238 "settings.app.form.beta" : "Incluir versiones beta", 238 "settings.app.form.language": "Idioma",
239 "settings.app.form.darkMode" : "Únete al Lado Oscuro", 239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.enableGPUAcceleration" : "Habilitar aceleración de GPU", 240 "settings.app.form.minimizeToSystemTray": "Minimizar Ferdi a la bandeja del sistema",
241 "settings.app.form.enableSpellchecking" : "Activar corrección ortográfica", 241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.enableSystemTray" : "Mostrar Franz en la bandeja del sistema", 242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.enableTodos" : "Activar Franz Todos", 243 "settings.app.form.runInBackground": "Mantener Ferdi en segundo plano al cerrar la ventana",
244 "settings.app.form.keepAllWorkspacesLoaded" : "Mantener todas las Áreas de trabajo cargadas", 244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.language" : "Idioma", 245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.minimizeToSystemTray" : "Minimizar Franz a la bandeja del sistema", 246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.runInBackground" : "Mantener Franz en segundo plano al cerrar la ventana", 247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices" : "Mostrar pestañas de servicios desactivados", 248 "settings.app.form.showDisabledServices": "Mostrar pestañas de servicios desactivados",
249 "settings.app.form.showMessagesBadgesWhenMuted" : "Mostrar la insignia de mensajes sin leer cuando las notificaciones están desactivadas", 249 "settings.app.form.showMessagesBadgesWhenMuted": "Mostrar la insignia de mensajes sin leer cuando las notificaciones están desactivadas",
250 "settings.app.headline" : "Configuración", 250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.headlineAdvanced" : "Avanzado", 251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.headlineAppearance" : "Apariencia", 252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headlineGeneral" : "General", 253 "settings.app.headline": "Configuración",
254 "settings.app.headlineLanguage" : "Idioma", 254 "settings.app.headlineAdvanced": "Avanzado",
255 "settings.app.headlineUpdates" : "Actualizaciones", 255 "settings.app.headlineAppearance": "Apariencia",
256 "settings.app.languageDisclaimer" : "Las traducciones oficiales son en inglés y alemán. Todos los demás idiomas son traducciones basadas en la comunidad.", 256 "settings.app.headlineGeneral": "General",
257 "settings.app.restartRequired" : "Los cambios requieren reiniciar", 257 "settings.app.headlineLanguage": "Idioma",
258 "settings.app.subheadlineCache" : "Caché", 258 "settings.app.headlineUpdates": "Actualizaciones",
259 "settings.app.translationHelp" : "Ayúdanos a traducir Franz a tu idioma.", 259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.updateStatusAvailable" : "Actualización disponible, descargando...", 260 "settings.app.languageDisclaimer": "Las traducciones oficiales son en inglés y alemán. Todos los demás idiomas son traducciones basadas en la comunidad.",
261 "settings.app.updateStatusSearching" : "Buscando actualizaciones", 261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.updateStatusUpToDate" : "Estás utilizando la última versión de Franz", 262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.invite.headline" : "Invitar amigos", 263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.navigation.account" : "Cuenta", 264 "settings.app.restartRequired": "Los cambios requieren reiniciar",
265 "settings.navigation.availableServices" : "Servicios disponibles", 265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.navigation.inviteFriends" : "Invita a tus amigos", 266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.navigation.logout" : "Cerrar sesión", 267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.navigation.settings" : "Configuración", 268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.navigation.team" : "Gestionar equipo", 269 "settings.app.subheadlineCache": "Caché",
270 "settings.navigation.yourServices" : "Tus servicios", 270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.navigation.yourWorkspaces" : "Tus espacios de trabajo", 271 "settings.app.translationHelp": "Ayúdanos a traducir Ferdi a tu idioma.",
272 "settings.recipes.all" : "Todos los servicios", 272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.recipes.custom" : "Servicios Personalizados", 273 "settings.app.updateStatusAvailable": "Actualización disponible, descargando...",
274 "settings.recipes.customService.headline.communityRecipes" : "Community 3rd Party Recipes", 274 "settings.app.updateStatusSearching": "Buscando actualizaciones",
275 "settings.recipes.customService.headline.customRecipes" : "Custom 3rd Party Recipes", 275 "settings.app.updateStatusUpToDate": "Estás utilizando la última versión de Ferdi",
276 "settings.recipes.customService.headline.devRecipes" : "Your Development Service Recipes", 276 "settings.invite.headline": "Invitar amigos",
277 "settings.recipes.customService.intro" : "To add a custom service, copy the service recipe to:", 277 "settings.navigation.account": "Cuenta",
278 "settings.recipes.customService.openDevDocs" : "Documentación del desarrollador", 278 "settings.navigation.availableServices": "Servicios disponibles",
279 "settings.recipes.customService.openFolder" : "Abrir carpeta", 279 "settings.navigation.logout": "Cerrar sesión",
280 "settings.recipes.headline" : "Servicios disponibles", 280 "settings.navigation.settings": "Configuración",
281 "settings.recipes.missingService" : "¿Echas de menos algún servicio?", 281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.recipes.mostPopular" : "Más populares", 282 "settings.navigation.team": "Gestionar equipo",
283 "settings.recipes.nothingFound" : "Lo siento, pero no hay ningún servicio coincidente con tus términos de búsqueda.", 283 "settings.navigation.yourServices": "Tus servicios",
284 "settings.recipes.servicesSuccessfulAddedInfo" : "Servicio añadido con éxito", 284 "settings.navigation.yourWorkspaces": "Tus espacios de trabajo",
285 "settings.searchService" : "Buscar servicio", 285 "settings.recipes.all": "Todos los servicios",
286 "settings.service.error.goBack" : "Volver a los servicios", 286 "settings.recipes.custom": "Servicios Personalizados",
287 "settings.service.error.headline" : "Error", 287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.service.error.message" : "No se pudo cargar el servicio.", 288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.service.form.addServiceHeadline" : "Añadir {name}", 289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.service.form.availableServices" : "Servicios disponibles", 290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.service.form.customUrl" : "Servidor personalizado", 291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.service.form.customUrlPremiumInfo" : "Para añadir tus propios servicios, necesitas una Cuenta Colaborador Premium de Franz.", 292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.service.form.customUrlUpgradeAccount" : "Mejora tu cuenta", 293 "settings.recipes.headline": "Servicios disponibles",
294 "settings.service.form.customUrlValidationError" : "No se pudo validar el servidor personalizado {name}.", 294 "settings.recipes.missingService": "¿Echas de menos algún servicio?",
295 "settings.service.form.deleteButton" : "Eliminar servicio", 295 "settings.recipes.mostPopular": "Más populares",
296 "settings.service.form.editServiceHeadline" : "Editar {name}", 296 "settings.recipes.nothingFound": "Lo siento, pero no hay ningún servicio coincidente con tus términos de búsqueda.",
297 "settings.service.form.enableAudio" : "Habilitar audio", 297 "settings.recipes.servicesSuccessfulAddedInfo": "Servicio añadido con éxito",
298 "settings.service.form.enableBadge" : "Mostrar señal de mensajes no leídos", 298 "settings.searchService": "Buscar servicio",
299 "settings.service.form.enableDarkMode" : "Habilitar modo oscuro", 299 "settings.service.error.goBack": "Volver a los servicios",
300 "settings.service.form.enableNotification" : "Activar notificaciones", 300 "settings.service.error.headline": "Error",
301 "settings.service.form.enableService" : "Activar servicio", 301 "settings.service.error.message": "No se pudo cargar el servicio.",
302 "settings.service.form.headlineBadges" : "Insignias de mensaje no leídos", 302 "settings.service.form.addServiceHeadline": "Añadir {name}",
303 "settings.service.form.headlineGeneral" : "General", 303 "settings.service.form.availableServices": "Servicios disponibles",
304 "settings.service.form.headlineNotifications" : "Notificaciones", 304 "settings.service.form.customUrl": "Servidor personalizado",
305 "settings.service.form.icon" : "Icono Personalizado", 305 "settings.service.form.customUrlPremiumInfo": "Para añadir tus propios servicios, necesitas una Cuenta Colaborador Premium de Ferdi.",
306 "settings.service.form.iconDelete" : "Borrar", 306 "settings.service.form.customUrlUpgradeAccount": "Mejora tu cuenta",
307 "settings.service.form.iconUpload" : "Arrastra tu imagen, o haz clic aquí", 307 "settings.service.form.customUrlValidationError": "No se pudo validar el servidor personalizado {name}.",
308 "settings.service.form.indirectMessageInfo" : "Serás notificado de todos los mensajes del canal, no sólo @username, @channel, @here, ...", 308 "settings.service.form.deleteButton": "Eliminar servicio",
309 "settings.service.form.indirectMessages" : "Mostrar señal de notificación para todos los mensajes nuevos", 309 "settings.service.form.editServiceHeadline": "Editar {name}",
310 "settings.service.form.isMutedInfo" : "Cuando estén desactivados, todos los sonidos de notificación y la reproducción de audio serán silenciados", 310 "settings.service.form.enableAudio": "Habilitar audio",
311 "settings.service.form.name" : "Nombre", 311 "settings.service.form.enableBadge": "Mostrar señal de mensajes no leídos",
312 "settings.service.form.proxy.headline" : "Ajustes Proxy HTTP\/HTTPS", 312 "settings.service.form.enableDarkMode": "Habilitar modo oscuro",
313 "settings.service.form.proxy.host" : "Proxy Host\/IP", 313 "settings.service.form.enableNotification": "Activar notificaciones",
314 "settings.service.form.proxy.info" : "Las configuraciones de Proxy no se sincronizarán con los servidores de Franz.", 314 "settings.service.form.enableService": "Activar servicio",
315 "settings.service.form.proxy.isEnabled" : "Use Proxy", 315 "settings.service.form.headlineBadges": "Insignias de mensaje no leídos",
316 "settings.service.form.proxy.password" : "Contraseña (opcional)", 316 "settings.service.form.headlineGeneral": "General",
317 "settings.service.form.proxy.port" : "Puerto", 317 "settings.service.form.headlineNotifications": "Notificaciones",
318 "settings.service.form.proxy.restartInfo" : "Por favor reinicie Franz despues de modificar los ajustes proxy.", 318 "settings.service.form.icon": "Icono Personalizado",
319 "settings.service.form.proxy.user" : "Usuario (opcional)", 319 "settings.service.form.iconDelete": "Borrar",
320 "settings.service.form.saveButton" : "Guardar servicio", 320 "settings.service.form.iconUpload": "Arrastra tu imagen, o haz clic aquí",
321 "settings.service.form.tabHosted" : "Alojado", 321 "settings.service.form.indirectMessageInfo": "Serás notificado de todos los mensajes del canal, no sólo @username, @channel, @here, ...",
322 "settings.service.form.tabOnPremise" : "Auto alojado ⭐️", 322 "settings.service.form.indirectMessages": "Mostrar señal de notificación para todos los mensajes nuevos",
323 "settings.service.form.team" : "Equipo", 323 "settings.service.form.isMutedInfo": "Cuando estén desactivados, todos los sonidos de notificación y la reproducción de audio serán silenciados",
324 "settings.service.form.useHostedService" : "Usar el servicio alojado {name}.", 324 "settings.service.form.name": "Nombre",
325 "settings.service.form.yourServices" : "Tus servicios", 325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.services.deletedInfo" : "El servicio ha sido borrado", 326 "settings.service.form.proxy.headline": "Ajustes Proxy HTTP/HTTPS",
327 "settings.services.discoverServices" : "Descubrir servicios", 327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.services.headline" : "Tus servicios", 328 "settings.service.form.proxy.info": "Las configuraciones de Proxy no se sincronizarán con los servidores de Ferdi.",
329 "settings.services.noServicesAdded" : "No has añadido ningún servicio aún.", 329 "settings.service.form.proxy.isEnabled": "Use Proxy",
330 "settings.services.servicesRequestFailed" : "No pudo cargar tus servicios", 330 "settings.service.form.proxy.password": "Contraseña (opcional)",
331 "settings.services.tooltip.isDisabled" : "El servicio está desactivado", 331 "settings.service.form.proxy.port": "Puerto",
332 "settings.services.tooltip.isMuted" : "Todos los sonidos están silenciados", 332 "settings.service.form.proxy.restartInfo": "Por favor reinicie Ferdi despues de modificar los ajustes proxy.",
333 "settings.services.tooltip.notificationsDisabled" : "Las notificaciones están desactivadas", 333 "settings.service.form.proxy.user": "Usuario (opcional)",
334 "settings.services.updatedInfo" : "Tus cambios han sido guardados", 334 "settings.service.form.saveButton": "Guardar servicio",
335 "settings.team.contentHeadline" : "Franz para equipos", 335 "settings.service.form.tabHosted": "Alojado",
336 "settings.team.copy" : "Franz para equipos, le proporciona la opción de invitar a sus compañeros de equipo, mandando una invitación por correo electrónico y manejando sus suscripciones en su configuración de cuenta. No gaste mas tiempo configurando cada una de las suscripciones de los miembros del equipo, olvídese de múltiples facturas y diferentes fechas de cobro - Un Equipo para gobernar a todos!", 336 "settings.service.form.tabOnPremise": "Auto alojado ⭐️",
337 "settings.team.headline" : "Equipo", 337 "settings.service.form.team": "Equipo",
338 "settings.team.intro" : "¿Usted y su equipo usan a Franz? Ahora puede administrar las suscripciones Premium para tantos colegas, amigos o familiares como desee, todo desde una misma cuenta.", 338 "settings.service.form.useHostedService": "Usar el servicio alojado {name}.",
339 "settings.team.manageAction" : "Gestione su equipo en meetfranz.com", 339 "settings.service.form.yourServices": "Tus servicios",
340 "settings.team.upgradeAction" : "Actualiza tu cuenta", 340 "settings.services.deletedInfo": "El servicio ha sido borrado",
341 "settings.user.form.accountType.company" : "Empresa", 341 "settings.services.discoverServices": "Descubrir servicios",
342 "settings.user.form.accountType.individual" : "Individual", 342 "settings.services.headline": "Tus servicios",
343 "settings.user.form.accountType.label" : "Tipo de cuenta", 343 "settings.services.noServicesAdded": "No has añadido ningún servicio aún.",
344 "settings.user.form.accountType.non-profit" : "Sin ánimo de lucro", 344 "settings.services.servicesRequestFailed": "No pudo cargar tus servicios",
345 "settings.user.form.currentPassword" : "Contraseña actual", 345 "settings.services.tooltip.isDisabled": "El servicio está desactivado",
346 "settings.user.form.email" : "Correo electrónico", 346 "settings.services.tooltip.isMuted": "Todos los sonidos están silenciados",
347 "settings.user.form.firstname" : "Nombre", 347 "settings.services.tooltip.notificationsDisabled": "Las notificaciones están desactivadas",
348 "settings.user.form.lastname" : "Apellido", 348 "settings.services.updatedInfo": "Tus cambios han sido guardados",
349 "settings.user.form.newPassword" : "Nueva contraseña", 349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.workspace.add.form.name" : "Nombre", 350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.workspace.add.form.submitButton" : "Crear un sitio de trabajo", 351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.workspace.form.buttonDelete" : "Eliminar espacio de trabajo", 352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.workspace.form.buttonSave" : "Guardar espacio de trabajo", 353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.workspace.form.name" : "Nombre", 354 "settings.team.contentHeadline": "Ferdi para equipos",
355 "settings.workspace.form.servicesInWorkspaceHeadline" : "Servicios en este espacio de trabajo", 355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.workspace.form.yourWorkspaces" : "Tus espacios de trabajo", 356 "settings.team.headline": "Equipo",
357 "settings.workspaces.deletedInfo" : "Se ha eliminado el sitio de trabajo", 357 "settings.team.intro": "¿Usted y su equipo usan a Ferdi? Ahora puede administrar las suscripciones Premium para tantos colegas, amigos o familiares como desee, todo desde una misma cuenta.",
358 "settings.workspaces.headline" : "Tus espacios de trabajo", 358 "settings.team.manageAction": "Gestione su equipo en getferdi.com",
359 "settings.workspaces.noWorkspacesAdded" : "Aún no ha añadido ningún sitio de trabajo.", 359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.workspaces.tryReloadWorkspaces" : "Inténtalo de nuevo", 360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.workspaces.updatedInfo" : "Tus cambios han sido guardados", 361 "settings.team.upgradeAction": "Actualiza tu cuenta",
362 "settings.workspaces.workspaceFeatureHeadline" : "Menos es más: Presentación de Franz Workspaces", 362 "settings.user.form.accountType.company": "Empresa",
363 "settings.workspaces.workspaceFeatureInfo" : "Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.", 363 "settings.user.form.accountType.individual": "Individual",
364 "settings.workspaces.workspacesRequestFailed" : "No se han podido cargar los espacios de trabajo", 364 "settings.user.form.accountType.label": "Tipo de cuenta",
365 "sidebar.addNewService" : "Añadir nuevo servicio", 365 "settings.user.form.accountType.non-profit": "Sin ánimo de lucro",
366 "sidebar.closeTodosDrawer" : "Cerrar las tareas pendientes", 366 "settings.user.form.currentPassword": "Contraseña actual",
367 "sidebar.closeWorkspaceDrawer" : "Cerrar cajón de espacio de trabajo", 367 "settings.user.form.email": "Correo electrónico",
368 "sidebar.muteApp" : "Desactivar notificaciones y sonido", 368 "settings.user.form.firstname": "Nombre",
369 "sidebar.openTodosDrawer" : "Abrir Tareas Pendientes", 369 "settings.user.form.lastname": "Apellido",
370 "sidebar.openWorkspaceDrawer" : "Abrir diseñador de espacios de trabajo", 370 "settings.user.form.newPassword": "Nueva contraseña",
371 "sidebar.settings" : "Configuración", 371 "settings.workspace.add.form.name": "Nombre",
372 "sidebar.unmuteApp" : "Activar notificaciones y sonido", 372 "settings.workspace.add.form.submitButton": "Crear un sitio de trabajo",
373 "signup.email.label" : "Dirección de correo electrónico", 373 "settings.workspace.form.buttonDelete": "Eliminar espacio de trabajo",
374 "signup.emailDuplicate" : "Ya existe un usuario con esa dirección de correo electrónico", 374 "settings.workspace.form.buttonSave": "Guardar espacio de trabajo",
375 "signup.firstname.label" : "Nombre", 375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "signup.headline" : "Registrarse", 376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "signup.lastname.label" : "Apellido", 377 "settings.workspace.form.name": "Nombre",
378 "signup.legal.info" : "Al crear una cuenta en Franz usted acepta", 378 "settings.workspace.form.servicesInWorkspaceHeadline": "Servicios en este espacio de trabajo",
379 "signup.legal.privacy" : "Declaración de privacidad", 379 "settings.workspace.form.yourWorkspaces": "Tus espacios de trabajo",
380 "signup.legal.terms" : "Términos de servicio", 380 "settings.workspaces.deletedInfo": "Se ha eliminado el sitio de trabajo",
381 "signup.link.login" : "Ya tienes una cuenta, ¿Iniciar sesión?", 381 "settings.workspaces.headline": "Tus espacios de trabajo",
382 "signup.password.label" : "Contraseña", 382 "settings.workspaces.noWorkspacesAdded": "Aún no ha añadido ningún sitio de trabajo.",
383 "signup.submit.label" : "Crear cuenta", 383 "settings.workspaces.tryReloadWorkspaces": "Intentar de nuevo",
384 "subscription.bestValue" : "Best value", 384 "settings.workspaces.updatedInfo": "Tus cambios han sido guardados",
385 "subscription.cta.activateTrial" : "Si, empezar la versión de prueba de Franz Profesional", 385 "settings.workspaces.workspaceFeatureHeadline": "Menos es más: Presentación de Ferdi Workspaces",
386 "subscription.cta.allOptions" : "Mostrar todas las opciones", 386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "subscription.cta.choosePlan" : "Elija su plan", 387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "subscription.includedProFeatures" : "El Plan de Franz Profesional incluye:", 388 "sidebar.addNewService": "Añadir nuevo servicio",
389 "subscription.interval.per" : "per {interval}", 389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "subscription.interval.perMonth" : "per month", 390 "sidebar.closeWorkspaceDrawer": "Cerrar cajón de espacio de trabajo",
391 "subscription.interval.perMonthPerUser" : "per month & user", 391 "sidebar.lockFerdi": "Lock Ferdi",
392 "subscription.planItem.upgradeAccount" : "Upgrade Account", 392 "sidebar.muteApp": "Desactivar notificaciones y sonido",
393 "subscription.teaser.includedFeatures" : "Los planes de pago de Franz incluyen:", 393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "subscription.teaser.intro" : "Franz 5 incluye un amplio espectro de nuevas características para potenciar sus comunicaciones diarias! (las baterías están incluidas). Mire los nuevos planes y descubra cual es mejor para usted!", 394 "sidebar.openWorkspaceDrawer": "Abrir diseñador de espacios de trabajo",
395 "subscriptionPopup.buttonCancel" : "Cancelar", 395 "sidebar.settings": "Configuración",
396 "subscriptionPopup.buttonDone" : "Listo", 396 "sidebar.unmuteApp": "Activar notificaciones y sonido",
397 "tabs.item.deleteService" : "Borrar servicio", 397 "signup.email.label": "Dirección de correo electrónico",
398 "tabs.item.disableAudio" : "Desactivar sonido", 398 "signup.emailDuplicate": "Ya existe un usuario con esa dirección de correo electrónico",
399 "tabs.item.disableNotifications" : "Desactivar notificaciones", 399 "signup.firstname.label": "Nombre",
400 "tabs.item.disableService" : "Desactivar servicio", 400 "signup.headline": "Registrarse",
401 "tabs.item.edit" : "Editar", 401 "signup.lastname.label": "Apellido",
402 "tabs.item.enableAudio" : "Activar sonido", 402 "signup.legal.info": "Al crear una cuenta en Ferdi usted acepta",
403 "tabs.item.enableNotification" : "Activar notificaciones", 403 "signup.legal.privacy": "Declaración de privacidad",
404 "tabs.item.enableService" : "Activar servicio", 404 "signup.legal.terms": "Términos de servicio",
405 "tabs.item.reload" : "Recargar", 405 "signup.link.login": "Ya tienes una cuenta, ¿Iniciar sesión?",
406 "validation.email" : "{field} no es válido", 406 "signup.password.label": "Password",
407 "validation.minLength" : "{field} debería tener al menos {length} caracteres", 407 "signup.submit.label": "Crear cuenta",
408 "validation.oneRequired" : "Al menos uno es requerido", 408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "validation.required" : "{field} es obligatorio", 409 "subscription.cta.allOptions": "See all options",
410 "validation.url" : "{field} no es una URL válida", 410 "subscription.cta.choosePlan": "Choose your plan",
411 "webControls.back" : "Back", 411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "webControls.forward" : "Forward", 412 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:",
413 "webControls.goHome" : "Home", 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!",
414 "webControls.openInBrowser" : "Open in Browser", 414 "subscriptionPopup.buttonCancel": "Cancelar",
415 "webControls.reload" : "Reload", 415 "subscriptionPopup.buttonDone": "Listo",
416 "welcome.loginButton" : "Accede a tu cuenta", 416 "tabs.item.deleteService": "Eliminar servicio",
417 "welcome.signupButton" : "Crear una cuenta gratuita", 417 "tabs.item.disableAudio": "Desactivar sonido",
418 "workspaceDrawer.addNewWorkspaceLabel" : "Añadir nueva área de trabajo", 418 "tabs.item.disableNotifications": "Desactivar notificaciones",
419 "workspaceDrawer.allServices" : "Todos los servicios", 419 "tabs.item.disableService": "Desactivar servicio",
420 "workspaceDrawer.headline" : "Áreas de trabajo", 420 "tabs.item.edit": "Editar",
421 "workspaceDrawer.item.contextMenuEdit" : "editar", 421 "tabs.item.enableAudio": "Habilitar audio",
422 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet", 422 "tabs.item.enableNotification": "Activar notificaciones",
423 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace", 423 "tabs.item.enableService": "Activar servicio",
424 "workspaceDrawer.proFeatureBadge" : "Premium feature", 424 "tabs.item.reload": "Volver a cargar",
425 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account", 425 "validation.email": "{field} no es válido",
426 "workspaceDrawer.workspaceFeatureInfo" : "<p>Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.<\/p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.<\/p>", 426 "validation.minLength": "{field} debería tener al menos {length} caracteres",
427 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings", 427 "validation.oneRequired": "Al menos uno es requerido",
428 "workspaces.switchingIndicator.switchingTo" : "Switching to" 428 "validation.required": "{field} es obligatorio",
429 "validation.url": "{field} no es una URL válida",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Volver a cargar",
435 "welcome.loginButton": "Accede a tu cuenta",
436 "welcome.signupButton": "Crear una cuenta gratuita",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "Todos los servicios",
439 "workspaceDrawer.headline": "Espacios de trabajo",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
429} 448}
diff --git a/src/i18n/locales/fi.json b/src/i18n/locales/fi.json
new file mode 100644
index 000000000..628880d9f
--- /dev/null
+++ b/src/i18n/locales/fi.json
@@ -0,0 +1,448 @@
1{
2 "app.errorHandler.action": "Reload",
3 "app.errorHandler.headline": "Something went wrong",
4 "feature.announcements.changelog.headline": "Changes in Ferdi {version}",
5 "feature.delayApp.headline": "Please purchase a Ferdi Supporter License to skip waiting",
6 "feature.delayApp.text": "Ferdi will continue in {seconds} seconds.",
7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
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",
11 "feature.delayApp.upgrade.actionShort": "Upgrade account",
12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.quickSwitch.search": "Search...",
14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.shareFranz.action.email": "Send as email",
17 "feature.shareFranz.action.facebook": "Share on Facebook",
18 "feature.shareFranz.action.twitter": "Share on Twitter",
19 "feature.shareFranz.headline": "Ferdi is better together!",
20 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
23 "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.",
25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "global.api.unhealthy": "Can't connect to Ferdi online services",
27 "global.franzProRequired": "Ferdi Professional Required",
28 "global.notConnectedToTheInternet": "You are not connected to the internet.",
29 "global.spellchecker.useDefault": "Use System Default ({default})",
30 "global.spellchecking.autodetect": "Detect language automatically",
31 "global.spellchecking.autodetect.short": "Automatic",
32 "global.spellchecking.language": "Spell checking language",
33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "import.headline": "Import your Ferdi 4 services",
35 "import.notSupportedHeadline": "Services not yet supported in Ferdi 5",
36 "import.skip.label": "I want to add services manually",
37 "import.submit.label": "Import services",
38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "infobar.buttonChangelog": "What is new?",
40 "infobar.buttonInstallUpdate": "Restart & install update",
41 "infobar.buttonReloadServices": "Reload services",
42 "infobar.requiredRequestsFailed": "Could not load services and user information",
43 "infobar.servicesUpdated": "Your services have been updated.",
44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "infobar.updateAvailable": "A new update for Ferdi is available.",
46 "invite.email.label": "Email address",
47 "invite.headline.friends": "Invite 3 of your friends or colleagues",
48 "invite.name.label": "Name",
49 "invite.skip.label": "I want to do this later",
50 "invite.submit.label": "Send invites",
51 "invite.successInfo": "Invitations sent successfully",
52 "locked.headline": "Locked",
53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "locked.invalidCredentials": "Password invalid",
55 "locked.password.label": "Password",
56 "locked.submit.label": "Unlock",
57 "login.changeServer": "Change server",
58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "login.customServerSuggestion": "Try importing your Franz account",
60 "login.email.label": "Email address",
61 "login.headline": "Sign in",
62 "login.invalidCredentials": "Email or password not valid",
63 "login.link.password": "Reset password",
64 "login.link.signup": "Create a free account",
65 "login.password.label": "Password",
66 "login.serverLogout": "Your session expired, please login again.",
67 "login.submit.label": "Sign in",
68 "login.tokenExpired": "Your session expired, please login again.",
69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "menu.app.about": "About Ferdi",
72 "menu.app.announcement": "What's new?",
73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "menu.app.checkForUpdates": "Check for updates",
75 "menu.app.hide": "Hide",
76 "menu.app.hideOthers": "Hide Others",
77 "menu.app.quit": "Quit",
78 "menu.app.settings": "Settings",
79 "menu.app.unhide": "Unhide",
80 "menu.edit": "Edit",
81 "menu.edit.copy": "Copy",
82 "menu.edit.cut": "Cut",
83 "menu.edit.delete": "Delete",
84 "menu.edit.emojiSymbols": "Emoji & Symbols",
85 "menu.edit.paste": "Paste",
86 "menu.edit.pasteAndMatchStyle": "Paste And Match Style",
87 "menu.edit.redo": "Redo",
88 "menu.edit.selectAll": "Select All",
89 "menu.edit.speech": "Speech",
90 "menu.edit.startDictation": "Start Dictation",
91 "menu.edit.startSpeaking": "Start Speaking",
92 "menu.edit.stopSpeaking": "Stop Speaking",
93 "menu.edit.undo": "Undo",
94 "menu.file": "File",
95 "menu.help": "Help",
96 "menu.help.changelog": "Changelog",
97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.help.learnMore": "Learn More",
101 "menu.help.privacy": "Privacy Statement",
102 "menu.help.support": "Support",
103 "menu.help.tos": "Terms of Service",
104 "menu.services": "Services",
105 "menu.services.activatePreviousService": "Activate previous service",
106 "menu.services.addNewService": "Add New Service...",
107 "menu.services.goHome": "Home",
108 "menu.services.setNextServiceActive": "Activate next service",
109 "menu.todos": "Todos",
110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.view": "View",
112 "menu.view.back": "Back",
113 "menu.view.enterFullScreen": "Enter Full Screen",
114 "menu.view.exitFullScreen": "Exit Full Screen",
115 "menu.view.forward": "Forward",
116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.view.reloadFranz": "Reload Ferdi",
119 "menu.view.reloadService": "Reload Service",
120 "menu.view.resetZoom": "Actual Size",
121 "menu.view.toggleDevTools": "Toggle Developer Tools",
122 "menu.view.toggleFullScreen": "Toggle Full Screen",
123 "menu.view.toggleServiceDevTools": "Toggle Service Developer Tools",
124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.zoomIn": "Zoom In",
126 "menu.view.zoomOut": "Zoom Out",
127 "menu.window": "Window",
128 "menu.window.close": "Close",
129 "menu.window.minimize": "Minimize",
130 "menu.workspaces": "Workspaces",
131 "menu.workspaces.addNewWorkspace": "Add New Workspace...",
132 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
133 "menu.workspaces.defaultWorkspace": "All services",
134 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
135 "password.email.label": "Email address",
136 "password.headline": "Reset password",
137 "password.link.login": "Sign in to your account",
138 "password.link.signup": "Create a free account",
139 "password.noUser": "No user with that email address was found",
140 "password.submit.label": "Submit",
141 "password.successInfo": "Please check your email",
142 "premiumFeature.button.upgradeAccount": "Upgrade account",
143 "pricing.features.adFree": "Forever ad-free",
144 "pricing.features.appDelays": "No Waiting Screens",
145 "pricing.features.customWebsites": "Add Custom Websites",
146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "pricing.features.serviceProxies": "Service Proxies",
148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.workspaces": "Workspaces",
153 "pricing.plan.free": "Ferdi Free",
154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "service.crashHandler.action": "Reload {name}",
171 "service.crashHandler.autoReload": "Trying to automatically restore {name} in {seconds} seconds",
172 "service.crashHandler.headline": "Oh no!",
173 "service.crashHandler.text": "{name} has caused an error.",
174 "service.disabledHandler.action": "Enable {name}",
175 "service.disabledHandler.headline": "{name} is disabled",
176 "service.errorHandler.action": "Reload {name}",
177 "service.errorHandler.editAction": "Edit {name}",
178 "service.errorHandler.headline": "Oh no!",
179 "service.errorHandler.message": "Error",
180 "service.errorHandler.text": "{name} has failed to load.",
181 "service.restrictedHandler.action": "Upgrade Account",
182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.webviewLoader.loading": "Loading",
187 "services.getStarted": "Get started",
188 "services.login": "Please login to use Ferdi.",
189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "services.serverless": "Use Ferdi without an Account",
191 "services.welcome": "Welcome to Ferdi",
192 "settings.account.account.editButton": "Edit account",
193 "settings.account.accountType.basic": "Basic Account",
194 "settings.account.accountType.premium": "Premium Supporter Account",
195 "settings.account.buttonSave": "Update profile",
196 "settings.account.deleteAccount": "Delete account",
197 "settings.account.deleteEmailSent": "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!",
198 "settings.account.deleteInfo": "If you don't need your Ferdi account any longer, you can delete your account and all related data here.",
199 "settings.account.headline": "Account",
200 "settings.account.headlineAccount": "Account information",
201 "settings.account.headlineDangerZone": "Danger Zone",
202 "settings.account.headlineInvoices": "Invoices",
203 "settings.account.headlinePassword": "Change password",
204 "settings.account.headlineProfile": "Update profile",
205 "settings.account.headlineSubscription": "Your subscription",
206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.invoiceDownload": "Download",
209 "settings.account.manageSubscription.label": "Manage your subscription",
210 "settings.account.successInfo": "Your changes have been saved",
211 "settings.account.trial": "Free Trial",
212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.tryReloadServices": "Try again",
215 "settings.account.tryReloadUserInfoRequest": "Try again",
216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.userInfoRequestFailed": "Could not load user information",
218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.app.buttonClearAllCache": "Clear cache",
221 "settings.app.buttonInstallUpdate": "Restart & install update",
222 "settings.app.buttonSearchForUpdate": "Check for updates",
223 "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.",
224 "settings.app.currentVersion": "Current version:",
225 "settings.app.form.accentColor": "Accent color",
226 "settings.app.form.autoLaunchInBackground": "Open in background",
227 "settings.app.form.autoLaunchOnStart": "Launch Ferdi on start",
228 "settings.app.form.beta": "Include beta versions",
229 "settings.app.form.darkMode": "Join the Dark Side",
230 "settings.app.form.enableGPUAcceleration": "Enable GPU Acceleration",
231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.form.enableSpellchecking": "Enable spell checking",
233 "settings.app.form.enableSystemTray": "Show Ferdi in system tray",
234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.language": "Language",
239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.minimizeToSystemTray": "Minimize Ferdi to system tray",
241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.runInBackground": "Keep Ferdi in background when closing the window",
244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices": "Display disabled services tabs",
249 "settings.app.form.showMessagesBadgesWhenMuted": "Show unread message badge when notifications are disabled",
250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headline": "Settings",
254 "settings.app.headlineAdvanced": "Advanced",
255 "settings.app.headlineAppearance": "Appearance",
256 "settings.app.headlineGeneral": "General",
257 "settings.app.headlineLanguage": "Language",
258 "settings.app.headlineUpdates": "Updates",
259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.app.restartRequired": "Changes require restart",
265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.app.subheadlineCache": "Cache",
270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.app.translationHelp": "Help us to translate Ferdi into your language.",
272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.app.updateStatusAvailable": "Update available, downloading...",
274 "settings.app.updateStatusSearching": "Is searching for update",
275 "settings.app.updateStatusUpToDate": "You are using the latest version of Ferdi",
276 "settings.invite.headline": "Invite Friends",
277 "settings.navigation.account": "Account",
278 "settings.navigation.availableServices": "Available services",
279 "settings.navigation.logout": "Logout",
280 "settings.navigation.settings": "Settings",
281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.navigation.team": "Manage Team",
283 "settings.navigation.yourServices": "Your services",
284 "settings.navigation.yourWorkspaces": "Your workspaces",
285 "settings.recipes.all": "All services",
286 "settings.recipes.custom": "Custom Services",
287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.recipes.headline": "Available services",
294 "settings.recipes.missingService": "Missing a service?",
295 "settings.recipes.mostPopular": "Most popular",
296 "settings.recipes.nothingFound": "Sorry, but no service matched your search term.",
297 "settings.recipes.servicesSuccessfulAddedInfo": "Service successfully added",
298 "settings.searchService": "Search service",
299 "settings.service.error.goBack": "Back to services",
300 "settings.service.error.headline": "Error",
301 "settings.service.error.message": "Could not load service recipe.",
302 "settings.service.form.addServiceHeadline": "Add {name}",
303 "settings.service.form.availableServices": "Available services",
304 "settings.service.form.customUrl": "Custom server",
305 "settings.service.form.customUrlPremiumInfo": "To add self hosted services, you need a Ferdi Premium Supporter Account.",
306 "settings.service.form.customUrlUpgradeAccount": "Upgrade your account",
307 "settings.service.form.customUrlValidationError": "Could not validate custom {name} server.",
308 "settings.service.form.deleteButton": "Delete service",
309 "settings.service.form.editServiceHeadline": "Edit {name}",
310 "settings.service.form.enableAudio": "Enable audio",
311 "settings.service.form.enableBadge": "Show unread message badges",
312 "settings.service.form.enableDarkMode": "Enable Dark Mode",
313 "settings.service.form.enableNotification": "Enable notifications",
314 "settings.service.form.enableService": "Enable service",
315 "settings.service.form.headlineBadges": "Unread message badges",
316 "settings.service.form.headlineGeneral": "General",
317 "settings.service.form.headlineNotifications": "Notifications",
318 "settings.service.form.icon": "Custom icon",
319 "settings.service.form.iconDelete": "Delete",
320 "settings.service.form.iconUpload": "Drop your image, or click here",
321 "settings.service.form.indirectMessageInfo": "You will be notified about all new messages in a channel, not just @username, @channel, @here, ...",
322 "settings.service.form.indirectMessages": "Show message badge for all new messages",
323 "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted",
324 "settings.service.form.name": "Name",
325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings",
327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.service.form.proxy.info": "Proxy settings will not synced with the Ferdi servers.",
329 "settings.service.form.proxy.isEnabled": "Use Proxy",
330 "settings.service.form.proxy.password": "Password (optional)",
331 "settings.service.form.proxy.port": "Port",
332 "settings.service.form.proxy.restartInfo": "Please restart Ferdi after changing proxy Settings.",
333 "settings.service.form.proxy.user": "User (optional)",
334 "settings.service.form.saveButton": "Save service",
335 "settings.service.form.tabHosted": "Hosted",
336 "settings.service.form.tabOnPremise": "Self hosted ⭐️",
337 "settings.service.form.team": "Team",
338 "settings.service.form.useHostedService": "Use the hosted {name} service.",
339 "settings.service.form.yourServices": "Your services",
340 "settings.services.deletedInfo": "Service has been deleted",
341 "settings.services.discoverServices": "Discover services",
342 "settings.services.headline": "Your services",
343 "settings.services.noServicesAdded": "You haven't added any services yet.",
344 "settings.services.servicesRequestFailed": "Could not load your services",
345 "settings.services.tooltip.isDisabled": "Service is disabled",
346 "settings.services.tooltip.isMuted": "All sounds are muted",
347 "settings.services.tooltip.notificationsDisabled": "Notifications are disabled",
348 "settings.services.updatedInfo": "Your changes have been saved",
349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.team.headline": "Team",
357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.team.manageAction": "Manage your Team on getferdi.com",
359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.team.upgradeAction": "Upgrade your Account",
362 "settings.user.form.accountType.company": "Company",
363 "settings.user.form.accountType.individual": "Individual",
364 "settings.user.form.accountType.label": "Account type",
365 "settings.user.form.accountType.non-profit": "Non-Profit",
366 "settings.user.form.currentPassword": "Current password",
367 "settings.user.form.email": "Email",
368 "settings.user.form.firstname": "First Name",
369 "settings.user.form.lastname": "Last Name",
370 "settings.user.form.newPassword": "New password",
371 "settings.workspace.add.form.name": "Name",
372 "settings.workspace.add.form.submitButton": "Create workspace",
373 "settings.workspace.form.buttonDelete": "Delete workspace",
374 "settings.workspace.form.buttonSave": "Save workspace",
375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "settings.workspace.form.name": "Name",
378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "settings.workspace.form.yourWorkspaces": "Your workspaces",
380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "settings.workspaces.headline": "Your workspaces",
382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "settings.workspaces.tryReloadWorkspaces": "Try again",
384 "settings.workspaces.updatedInfo": "Your changes have been saved",
385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "sidebar.addNewService": "Add new service",
389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
391 "sidebar.lockFerdi": "Lock Ferdi",
392 "sidebar.muteApp": "Disable notifications & audio",
393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
395 "sidebar.settings": "Settings",
396 "sidebar.unmuteApp": "Enable notifications & audio",
397 "signup.email.label": "Email address",
398 "signup.emailDuplicate": "A user with that email address already exists",
399 "signup.firstname.label": "First Name",
400 "signup.headline": "Sign up",
401 "signup.lastname.label": "Last Name",
402 "signup.legal.info": "By creating a Ferdi account you accept the",
403 "signup.legal.privacy": "Privacy Statement",
404 "signup.legal.terms": "Terms of service",
405 "signup.link.login": "Already have an account, sign in?",
406 "signup.password.label": "Password",
407 "signup.submit.label": "Create account",
408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "subscription.cta.allOptions": "See all options",
410 "subscription.cta.choosePlan": "Choose your plan",
411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "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!",
414 "subscriptionPopup.buttonCancel": "Cancel",
415 "subscriptionPopup.buttonDone": "Done",
416 "tabs.item.deleteService": "Delete service",
417 "tabs.item.disableAudio": "Disable audio",
418 "tabs.item.disableNotifications": "Disable notifications",
419 "tabs.item.disableService": "Disable service",
420 "tabs.item.edit": "Edit",
421 "tabs.item.enableAudio": "Enable audio",
422 "tabs.item.enableNotification": "Enable notifications",
423 "tabs.item.enableService": "Enable service",
424 "tabs.item.reload": "Reload",
425 "validation.email": "{field} is not valid",
426 "validation.minLength": "{field} should be at least {length} characters long",
427 "validation.oneRequired": "At least one is required",
428 "validation.required": "{field} is required",
429 "validation.url": "{field} is not a valid URL",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Reload",
435 "welcome.loginButton": "Login to your account",
436 "welcome.signupButton": "Create a free account",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "All services",
439 "workspaceDrawer.headline": "Workspaces",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
448}
diff --git a/src/i18n/locales/fr.json b/src/i18n/locales/fr.json
index cef9a4e76..508eb875e 100644
--- a/src/i18n/locales/fr.json
+++ b/src/i18n/locales/fr.json
@@ -1,429 +1,448 @@
1{ 1{
2 "app.errorHandler.action" : "Actualiser", 2 "app.errorHandler.action": "Actualiser",
3 "app.errorHandler.headline" : "On dirait que quelque chose ne va pas", 3 "app.errorHandler.headline": "On dirait que quelque chose ne va pas",
4 "feature.announcements.changelog.headline" : "Les nouveaux changements dans Franz {version}", 4 "feature.announcements.changelog.headline": "Les nouveaux changements dans Ferdi {version}",
5 "feature.delayApp.headline" : "Upgrade your Franz plan to skip the wait", 5 "feature.delayApp.headline": "Achetez la licence Ferdi pour ne plus avoir de temps d'attente",
6 "feature.delayApp.text" : "Franz s'ouvrira dans {seconds} secondes.", 6 "feature.delayApp.text": "Ferdi s'ouvrira dans {seconds} secondes.",
7 "feature.delayApp.trial.action" : "Oui, je veux les 14 jours d'essai gratuits de Franz Professionnel", 7 "feature.delayApp.trial.action": "Oui, je veux les 14 jours d'essai gratuits de Ferdi Professionnel",
8 "feature.delayApp.trial.actionShort" : "Activer l'essai gratuit de Franz Professionnel ", 8 "feature.delayApp.trial.actionShort": "Activer l'essai gratuit de Ferdi Professionnel",
9 "feature.delayApp.trial.headline" : "Get the free Franz Professional 14-days trial and skip the wait", 9 "feature.delayApp.trial.headline": "Prendre l'essai gratuit de 14 jours de Ferdi Professionnel et esquiver la ligne",
10 "feature.delayApp.upgrade.action" : "Upgrade Franz", 10 "feature.delayApp.upgrade.action": "Acheter une license Ferdi",
11 "feature.delayApp.upgrade.actionShort" : "Augmenter le niveau de mon compte", 11 "feature.delayApp.upgrade.actionShort": "Augmenter le niveau de mon compte",
12 "feature.planSelection.cta.ctaDowngradeFree" : "Downgrade to Free", 12 "feature.quickSwitch.info": "Sélectionner un service avec TAB, ↑ et ↓. Ouvrir un service avec ENTER.",
13 "feature.planSelection.cta.stayOnFree" : "Stay on Free", 13 "feature.quickSwitch.search": "Rechercher...",
14 "feature.planSelection.cta.trial" : "Start my free 14-days Trial", 14 "feature.quickSwitch.title": "Changement rapide",
15 "feature.planSelection.cta.upgradePersonal" : "Choose Personal", 15 "feature.serviceLimit.limitReached": "Vous avez ajouté {amount} sur {limit} services qui sont inclus dans votre plan. S'il vous plaît améliorer votre compte pour ajouter plus de services.",
16 "feature.planSelection.cta.upgradePro" : "Choose Professional", 16 "feature.shareFranz.action.email": "Envoyer par mail",
17 "feature.planSelection.free.text" : "Basic functionality", 17 "feature.shareFranz.action.facebook": "Partager sur Facebook",
18 "feature.planSelection.fullFeatureList" : "Complete comparison of all plans", 18 "feature.shareFranz.action.twitter": "Partager sur Twitter",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 19 "feature.shareFranz.headline": "Ferdi est meilleur quand on est ensemble !",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade" : "Choose Personal", 20 "feature.shareFranz.shareText.email": "J'ai ajouté {count} services sur Ferdi ! Télécharger l'application gratuite pour WhatsApp, Messenger, Skype et autres sur www.getferdi.com",
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.", 21 "feature.shareFranz.shareText.twitter": "J'ai ajouté {count} services à Ferdi! Télécharge l'application gratuite pour WhatsApp, Messenger, Slack, Skype et autres sur www.getferdi.com /cc @FerdiMessenger",
22 "feature.planSelection.fullscreen.dialog.title" : "Downgrade your Franz Plan", 22 "feature.shareFranz.text": "Dites à vos amis et collègues a quel point Ferdi est super et aidez nous à faire passer le mot.",
23 "feature.planSelection.fullscreen.subheadline" : "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.", 23 "feature.todos.premium.info": "Ferdi Todos est disponible aux utilisateurs premium maintenant!",
24 "feature.planSelection.fullscreen.welcome" : "Are you ready to choose, {name}?", 24 "feature.todos.premium.rollout": "Tous le monde devra attendre un peux plus longtemps.",
25 "feature.planSelection.personal.text" : "More services, no waiting - ideal for personal use.", 25 "feature.todos.premium.upgrade": "Améliorez votre compte",
26 "feature.planSelection.pricesBasedOnAnnualPayment" : "All prices based on yearly payment", 26 "global.api.unhealthy": "Impossible de se connecter aux services en ligne de Ferdi",
27 "feature.planSelection.pro.text" : "Unlimited services and professional features for you - and your team.", 27 "global.franzProRequired": "Ferdi Professionnel Requis",
28 "feature.serviceLimit.limitReached" : "Vous avez ajouté {amount} services sur les {limit} qui sont inclus dans votre offre. Veuillez améliorer votre compte pour ajouter plus de services.", 28 "global.notConnectedToTheInternet": "Vous n'êtes pas connecté à Internet.",
29 "feature.shareFranz.action.email" : "Envoyer par mail", 29 "global.spellchecker.useDefault": "Par défaut ({default})",
30 "feature.shareFranz.action.facebook" : "Partager sur Facebook", 30 "global.spellchecking.autodetect": "Détecter automatiquement la langue",
31 "feature.shareFranz.action.twitter" : "Partager sur Twitter", 31 "global.spellchecking.autodetect.short": "Automatiquement",
32 "feature.shareFranz.headline" : "Franz est meilleur quand on est ensemble !", 32 "global.spellchecking.language": "Langue de la vérification orthographique",
33 "feature.shareFranz.shareText.email" : "J'ai ajouté {count} services sur Franz ! Télécharger l'appli gratuite pour WhatsApp, Messenger, Skype et autres sur www.meetfranz.com", 33 "global.upgradeButton.upgradeToPro": "Améliorez à Ferdi Professionnel",
34 "feature.shareFranz.shareText.twitter" : "J'ai ajouté {count} services à Franz! Télécharge l'application gratuite pour WhatsApp, Messenger, Slack, Skype et autres sur www.meetfranz.com \/cc @FranzMessenger", 34 "import.headline": "Importez vos services depuis la version 4 de Ferdi",
35 "feature.shareFranz.text" : "Dites à vos amis et collègues a quel point Franz est super et aidez nous à faire passer le mot.", 35 "import.notSupportedHeadline": "Ces services ne sont pas encore supportés par la version 5 de Ferdi",
36 "feature.todos.premium.info" : "Franz Todos est maintenant disponible pour les utilisateurs premium !", 36 "import.skip.label": "Je veux ajouter des services manuellement",
37 "feature.todos.premium.rollout" : "Tous les autres doivent encore attendre un peu.", 37 "import.submit.label": "Importer des services",
38 "feature.todos.premium.upgrade" : "Améliorer son Compte", 38 "infobar.authRequestFailed": "Il y a eu des erreurs pendant l'authentification demandé. Essayer de vous déconnecter et de vous reconnecter pour voir si cette erreur persiste.",
39 "feature.trialStatusBar.cta" : "Upgrade now", 39 "infobar.buttonChangelog": "Nouveautés?",
40 "feature.trialStatusBar.expired" : "Your free Franz {plan} Trial has expired, please upgrade your account.", 40 "infobar.buttonInstallUpdate": "Redémarrer et installer la mise à jour",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 41 "infobar.buttonReloadServices": "Recharger les services",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade" : "Choose Personal", 42 "infobar.requiredRequestsFailed": "Impossible d'accéder aux services et informations de l'utilisateur",
43 "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.", 43 "infobar.servicesUpdated": "Vos services ont été mis à jour.",
44 "feature.trialStatusBar.fullscreen.dialog.title" : "Downgrade your Franz Plan", 44 "infobar.trialActivated": "Votre essai à été correctement activé. Bonne messagerie!",
45 "feature.trialStatusBar.restTime" : "Your Free Franz {plan} Trial ends in {time}.", 45 "infobar.updateAvailable": "Une nouvelle mise à jour de Ferdi est disponible.",
46 "global.api.unhealthy" : "Impossible de se connecter aux services en ligne de Franz", 46 "invite.email.label": "Adresse Email",
47 "global.franzProRequired" : "Un abonnement Franz Professionnel est requis", 47 "invite.headline.friends": "Invitez 3 amis ou collègues",
48 "global.notConnectedToTheInternet" : "Vous n'êtes pas connecté à Internet.", 48 "invite.name.label": "Nom",
49 "global.spellchecker.useDefault" : "Par défaut ({default})", 49 "invite.skip.label": "Je veux faire cela plus tard",
50 "global.spellchecking.autodetect" : "Detecter automatiquement la langue", 50 "invite.submit.label": "Envoyer des invitations",
51 "global.spellchecking.autodetect.short" : "Automatiquement", 51 "invite.successInfo": "Invitations envoyées avec succès",
52 "global.spellchecking.language" : "Langue de la vérification orthographique", 52 "locked.headline": "Verrouiller",
53 "global.upgradeButton.upgradeToPro" : "Passer à Franz Professional", 53 "locked.info": "Ferdi est présentement verrouiller. S'il vous plaît déverrouiller Ferdi avec votre mot de passe pour voir vos messages.",
54 "import.headline" : "Importez vos services depuis la version 4 de Franz.", 54 "locked.invalidCredentials": "Mot de passe invalide",
55 "import.notSupportedHeadline" : "Ces services ne sont pas encore supportés par la version 5 de Franz", 55 "locked.password.label": "Mot de passe",
56 "import.skip.label" : "Je veux ajouter des services manuellement", 56 "locked.submit.label": "Déverrouiller",
57 "import.submit.label" : "Importer des services", 57 "login.changeServer": "Changer de serveur",
58 "infobar.buttonChangelog" : "Nouveautés", 58 "login.customServerQuestion": "Utiliser un serveur de Ferdi modifié?",
59 "infobar.buttonInstallUpdate" : "Redémarrer et installer la mise à jour", 59 "login.customServerSuggestion": "Essayer d'importer votre compte Franz dans Ferdi",
60 "infobar.buttonReloadServices" : "Recharger les services", 60 "login.email.label": "Adresse Email",
61 "infobar.requiredRequestsFailed" : "Impossible d'accéder aux services et informations de l'utilisateur", 61 "login.headline": "S'identifier",
62 "infobar.servicesUpdated" : "Vos services ont été mis à jour.", 62 "login.invalidCredentials": "Email ou mot de passe invalide",
63 "infobar.trialActivated" : "Votre essai a été activé avec succès. Bon tchat !", 63 "login.link.password": "Réinitialiser le mot de passe",
64 "infobar.updateAvailable" : "Une nouvelle mise à jour de Franz est disponible.", 64 "login.link.signup": "Créer un compte gratuit",
65 "invite.email.label" : "Adresse Email", 65 "login.password.label": "Mot de passe",
66 "invite.headline.friends" : "Invitez 3 amis ou collègues", 66 "login.serverLogout": "Votre session a expiré. Reconnectez-vous s'il vous plaît.",
67 "invite.name.label" : "Nom", 67 "login.submit.label": "S'identifier",
68 "invite.skip.label" : "Je veux faire cela plus tard", 68 "login.tokenExpired": "Votre session a expiré. Reconnectez-vous s'il vous plaît.",
69 "invite.submit.label" : "Envoyer des invitations", 69 "menu.Todoss.closeTodosDrawer": "Fermer le tiroir Todos",
70 "invite.successInfo" : "Invitations envoyées avec succès", 70 "menu.Todoss.openTodosDrawer": "Ouvrir le tiroir Todos",
71 "login.email.label" : "Adresse email", 71 "menu.app.about": "À propos de Ferdi",
72 "login.headline" : "S'identifier", 72 "menu.app.announcement": "Quoi de neuf?",
73 "login.invalidCredentials" : "Email ou mot de passe invalide", 73 "menu.app.autohideMenuBar": "Auto-caché la barre de menu",
74 "login.link.password" : "Réinitialiser le mot de passe", 74 "menu.app.checkForUpdates": "Vérifier les mises à jour",
75 "login.link.signup" : "Créer un compte gratuit", 75 "menu.app.hide": "Masquer",
76 "login.password.label" : "Mot de passe", 76 "menu.app.hideOthers": "Masquer les autres",
77 "login.serverLogout" : "Votre session a expiré. Reconnectez-vous s'il vous plaît.", 77 "menu.app.quit": "Quitter",
78 "login.submit.label" : "Se connecter", 78 "menu.app.settings": "Paramètres",
79 "login.tokenExpired" : "Votre session a expiré, veuillez vous reconnecter.", 79 "menu.app.unhide": "Afficher",
80 "menu.Todoss.closeTodosDrawer" : "Fermer Todos", 80 "menu.edit": "Éditer",
81 "menu.Todoss.openTodosDrawer" : "Ouvrir Todos", 81 "menu.edit.copy": "Copier",
82 "menu.app.about" : "À propos de Franz", 82 "menu.edit.cut": "Couper",
83 "menu.app.announcement" : "Quoi de neuf ? ", 83 "menu.edit.delete": "Supprimer",
84 "menu.app.checkForUpdates" : "Vérifier les mises à jour", 84 "menu.edit.emojiSymbols": "Emoji & Symboles",
85 "menu.app.hide" : "Masquer", 85 "menu.edit.paste": "Coller",
86 "menu.app.hideOthers" : "Masquer les autres", 86 "menu.edit.pasteAndMatchStyle": "Coller et fusionner le style",
87 "menu.app.quit" : "Quitter", 87 "menu.edit.redo": "Rétablir",
88 "menu.app.settings" : "Paramètres", 88 "menu.edit.selectAll": "Tout sélectionner",
89 "menu.app.unhide" : "Afficher", 89 "menu.edit.speech": "Synthèse vocale",
90 "menu.edit" : "Éditer", 90 "menu.edit.startDictation": "Démarrer la dictée",
91 "menu.edit.copy" : "Copier", 91 "menu.edit.startSpeaking": "Démarrer la synthèse vocale",
92 "menu.edit.cut" : "Couper", 92 "menu.edit.stopSpeaking": "Arrêter la synthèse vocale",
93 "menu.edit.delete" : "Supprimer", 93 "menu.edit.undo": "Annuler",
94 "menu.edit.emojiSymbols" : "Emoji & Symboles", 94 "menu.file": "Fichier",
95 "menu.edit.paste" : "Coller", 95 "menu.help": "Aide",
96 "menu.edit.pasteAndMatchStyle" : "Coller et fusionner le style", 96 "menu.help.changelog": "Liste des modifications",
97 "menu.edit.redo" : "Rétablir", 97 "menu.help.debugInfo": "Copier les informations de Debug",
98 "menu.edit.selectAll" : "Tout sélectionner", 98 "menu.help.debugInfoCopiedBody": "Les informations de Debug ont été copié à votre presse-papier.",
99 "menu.edit.speech" : "Synthèse vocale", 99 "menu.help.debugInfoCopiedHeadline": "Information de Debug de Ferdi",
100 "menu.edit.startDictation" : "Démarrer la synthèse vocale", 100 "menu.help.learnMore": "En savoir plus",
101 "menu.edit.startSpeaking" : "Démarrer la lecture", 101 "menu.help.privacy": "Déclaration de confidentialité",
102 "menu.edit.stopSpeaking" : "Arrêter la synthèse vocale", 102 "menu.help.support": "Assistance",
103 "menu.edit.undo" : "Annuler", 103 "menu.help.tos": "Conditions d'utilisation",
104 "menu.file" : "Fichier", 104 "menu.services": "Services",
105 "menu.help" : "Aide", 105 "menu.services.activatePreviousService": "Activer le service précédent",
106 "menu.help.changelog" : "Liste des modifications", 106 "menu.services.addNewService": "Ajouter un nouveau service...",
107 "menu.help.debugInfo" : "Copier les information de débogage", 107 "menu.services.goHome": "Accueil",
108 "menu.help.debugInfoCopiedBody" : "Vos informations de débogage ont été copiées dans le presse-papier.", 108 "menu.services.setNextServiceActive": "Activer le service suivant",
109 "menu.help.debugInfoCopiedHeadline" : "Information de débogage", 109 "menu.todos": "Todos",
110 "menu.help.learnMore" : "En savoir plus", 110 "menu.todos.enableTodos": "Activer Todos",
111 "menu.help.privacy" : "Déclaration de confidentialité", 111 "menu.view": "Aperçu",
112 "menu.help.support" : "Assistance", 112 "menu.view.back": "Revenir",
113 "menu.help.tos" : "Conditions d'utilisation", 113 "menu.view.enterFullScreen": "Entrer en mode plein écran",
114 "menu.services" : "Services", 114 "menu.view.exitFullScreen": "Sortir du mode plein écran",
115 "menu.services.activatePreviousService" : "Activer le service précédent", 115 "menu.view.forward": "Avancer",
116 "menu.services.addNewService" : "Ajouter un nouveau service...", 116 "menu.view.lockFerdi": "Verrouiller Ferdi",
117 "menu.services.goHome" : "Accueil", 117 "menu.view.openQuickSwitch": "Ouvrir le changement rapide",
118 "menu.services.setNextServiceActive" : "Activer le service suivant", 118 "menu.view.reloadFranz": "Recharger Ferdi",
119 "menu.todos" : "Tâches", 119 "menu.view.reloadService": "Redémarrer le service",
120 "menu.todos.enableTodos" : "Activers les Tâches", 120 "menu.view.resetZoom": "Taille actuelle",
121 "menu.view" : "Aperçu", 121 "menu.view.toggleDevTools": "Activer les outils de développeur",
122 "menu.view.enterFullScreen" : "Entrer en mode plein écran", 122 "menu.view.toggleFullScreen": "Activer le mode plein écran",
123 "menu.view.exitFullScreen" : "Sortir du mode plein écran", 123 "menu.view.toggleServiceDevTools": "Activer les outils de développement WebKit",
124 "menu.view.reloadFranz" : "Recharger Franz", 124 "menu.view.toggleTodosDevTools": "Activer les outils de développeur Todos",
125 "menu.view.reloadService" : "Redémarrer le service", 125 "menu.view.zoomIn": "Zoom Avant",
126 "menu.view.resetZoom" : "Taille actuelle", 126 "menu.view.zoomOut": "Zoom Arrière",
127 "menu.view.toggleDevTools" : "Activer les outils développeur", 127 "menu.window": "Fenêtre",
128 "menu.view.toggleFullScreen" : "Activer \/ désactiver le mode plein écran", 128 "menu.window.close": "Fermer",
129 "menu.view.toggleServiceDevTools" : "Activer les outils de développement WebKit", 129 "menu.window.minimize": "Réduire",
130 "menu.view.toggleTodosDevTools" : "Toggle Todos Developer Tools", 130 "menu.workspaces": "Espace de travail",
131 "menu.view.zoomIn" : "Zoom Avant", 131 "menu.workspaces.addNewWorkspace": "Ajouter un nouvel espace de travail...",
132 "menu.view.zoomOut" : "Zoom Arrière", 132 "menu.workspaces.closeWorkspaceDrawer": "Fermer l'espace de travail",
133 "menu.window" : "Fenêtre", 133 "menu.workspaces.defaultWorkspace": "Tous les services",
134 "menu.window.close" : "Fermer", 134 "menu.workspaces.openWorkspaceDrawer": "Ouvrir l'espace de travail",
135 "menu.window.minimize" : "Réduire", 135 "password.email.label": "Adresse Email",
136 "menu.workspaces" : "Espace de travail", 136 "password.headline": "Réinitialiser le mot de passe",
137 "menu.workspaces.addNewWorkspace" : "Ajouter un nouvel espace de travail", 137 "password.link.login": "Connectez-vous à votre compte",
138 "menu.workspaces.closeWorkspaceDrawer" : "Ouvrir l'espace de travail", 138 "password.link.signup": "Créer un compte gratuit",
139 "menu.workspaces.defaultWorkspace" : "Tous les services", 139 "password.noUser": "Aucun utilisateur n'a été trouvé avec cette adresse email",
140 "menu.workspaces.openWorkspaceDrawer" : "Fermer l'espace de travail", 140 "password.submit.label": "Soumettre",
141 "password.email.label" : "Adresse email", 141 "password.successInfo": "Merci de consulter vos emails",
142 "password.headline" : "Réinitialiser le mot de passe", 142 "premiumFeature.button.upgradeAccount": "Augmenter le niveau de mon compte",
143 "password.link.login" : "Connectez-vous à votre compte", 143 "pricing.features.adFree": "Toujours sans pub",
144 "password.link.signup" : "Créer un compte gratuit.", 144 "pricing.features.appDelays": "Plus d'écrans d'attente",
145 "password.noUser" : "Aucun utilisateur n'a été trouvé avec cette adresse email", 145 "pricing.features.customWebsites": "Ajouter des sites web modifiés",
146 "password.submit.label" : "Soumettre", 146 "pricing.features.onPremise": "Services hébergés sur place et autre",
147 "password.successInfo" : "Merci de consulter vos emails", 147 "pricing.features.serviceProxies": "Service Proxy",
148 "premiumFeature.button.upgradeAccount" : "Augmenter le niveau de mon compte", 148 "pricing.features.spellchecker": "Support du correcteur orthographique",
149 "pricing.features.accountSync" : "Account Synchronisation", 149 "pricing.features.teamManagement": "Gestion d'équipe",
150 "pricing.features.adFree" : "Forever ad-free", 150 "pricing.features.thirdPartyServices": "Installer des services tiers",
151 "pricing.features.appDelays" : "No Waiting Screens", 151 "pricing.features.unlimitedServices": "Ajouter des services illimités",
152 "pricing.features.customWebsites" : "Add Custom Websites", 152 "pricing.features.workspaces": "Espace de travail",
153 "pricing.features.desktopNotifications" : "Desktop Notifications", 153 "pricing.plan.free": "Ferdi Gratuit",
154 "pricing.features.onPremise" : "On-premise & other Hosted Services", 154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.features.recipes" : "Choose from more than 70 Services", 155 "pricing.plan.personal": "Ferdi Personnel",
156 "pricing.features.serviceProxies" : "Service Proxies", 156 "pricing.plan.personal-monthly": "Ferdi Personnel au mois",
157 "pricing.features.spellchecker" : "Spellchecker support", 157 "pricing.plan.personal-yearly": "Ferdi Personnel à l'année",
158 "pricing.features.teamManagement" : "Team Management", 158 "pricing.plan.pro": "Ferdi Professionnel",
159 "pricing.features.thirdPartyServices" : "Install 3rd party services", 159 "pricing.plan.pro-monthly": "Ferdi Professionnel au mois",
160 "pricing.features.unlimitedServices" : "Add unlimited services", 160 "pricing.plan.pro-yearly": "Ferdi Professionnel à l'année",
161 "pricing.features.upToSixServices" : "Add up to 6 services", 161 "pricing.trial.cta.accept": "Oui, améliorer mon compte à Ferdi Professionnel",
162 "pricing.features.upToThreeServices" : "Add up to 3 services", 162 "pricing.trial.cta.skip": "Continuer à Ferdi",
163 "pricing.features.workspaces" : "Espace de travail", 163 "pricing.trial.error": "Désoler, nous ne pouvons pas activé votre essai!",
164 "pricing.plan.free" : "Free", 164 "pricing.trial.features.headline": "Ferdi Professionnel inclus:",
165 "pricing.plan.legacy" : "Premium", 165 "pricing.trial.headline": "Ferdi Professionnel",
166 "pricing.plan.personal" : "Personal", 166 "pricing.trial.subheadline": "Votre offre d'accueil personnelle:",
167 "pricing.plan.personal-monthly" : "Personal Monthly", 167 "pricing.trial.terms.automaticTrialEnd": "Votre essai gratuit se finis automatiquement après 14 jours",
168 "pricing.plan.personal-yearly" : "Personal Yearly", 168 "pricing.trial.terms.headline": "Sans condition",
169 "pricing.plan.pro" : "Professional", 169 "pricing.trial.terms.noCreditCard": "Pas de carte de crédit requis",
170 "pricing.plan.pro-monthly" : "Professional Monthly", 170 "service.crashHandler.action": "Recharger {name}",
171 "pricing.plan.pro-yearly" : "Professional Yearly", 171 "service.crashHandler.autoReload": "Tentative de restauration automatique de {name} dans {seconds} secondes",
172 "pricing.trial.cta.accept" : "Start my 14-day Franz Professional Trial ", 172 "service.crashHandler.headline": "Oh non!",
173 "pricing.trial.cta.skip" : "Continue to Franz", 173 "service.crashHandler.text": "{name} a causé une erreur.",
174 "pricing.trial.cta.start" : "Start using Franz", 174 "service.disabledHandler.action": "Activer {name}",
175 "pricing.trial.error" : "Sorry, we could not activate your trial!", 175 "service.disabledHandler.headline": "{name} est désactivé",
176 "pricing.trial.features.headline" : "Franz Professional includes:", 176 "service.errorHandler.action": "Recharger {name}",
177 "pricing.trial.headline.pro" : "Hi {name}, welcome to Franz", 177 "service.errorHandler.editAction": "Modifier {name}",
178 "pricing.trial.intro.happyMessaging" : "Happy messaging,", 178 "service.errorHandler.headline": "Oh non!",
179 "pricing.trial.intro.specialTreat" : "We have a special treat for you.", 179 "service.errorHandler.message": "Erreur",
180 "pricing.trial.intro.tryPro" : "Enjoy the full Franz Professional experience completely free for 14 days.", 180 "service.errorHandler.text": "Le chargement de {name} a échoué.",
181 "pricing.trial.terms.automaticTrialEnd" : "Your free trial ends automatically after 14 days", 181 "service.restrictedHandler.action": "Améliorez votre compte",
182 "pricing.trial.terms.headline" : "No strings attached", 182 "service.restrictedHandler.customUrl.headline": "Le Plan Ferdi Professionnel requis",
183 "pricing.trial.terms.noCreditCard" : "No credit card required", 183 "service.restrictedHandler.customUrl.text": "S'il vous plaît améliorer au Plan Ferdi Professionnel pour utilisé les urls modifié et les services hébergé soi-même.",
184 "pricing.trial.terms.trialWorth" : "Free trial (normally {currency}{price} per month)", 184 "service.restrictedHandler.serviceLimit.headline": "Vous avez atteint votre limite de service.",
185 "service.crashHandler.action" : "Recharger {name}", 185 "service.restrictedHandler.serviceLimit.text": "S'il vous plaît améliorer votre compte pour utilisé plus que {count} services.",
186 "service.crashHandler.autoReload" : "Tentative de restauration automatique de {name} dans {seconds} secondes", 186 "service.webviewLoader.loading": "Chargement",
187 "service.crashHandler.headline" : "Oh non !", 187 "services.getStarted": "Commencer",
188 "service.crashHandler.text" : "{name} a causé une erreur.", 188 "services.login": "S'il vous plaît connectez-vous pour utiliser Ferdi.",
189 "service.disabledHandler.action" : "Activer {name}", 189 "services.serverInfo": "Optionnellement, vous pouvez changer votre serveur Ferdi en cliquant sur la roue dentée en bas au coin gauche.",
190 "service.disabledHandler.headline" : "{name} est désactivé", 190 "services.serverless": "Utiliser Ferdi sans compte",
191 "service.errorHandler.action" : "Recharger {name}", 191 "services.welcome": "Bienvenue dans Ferdi",
192 "service.errorHandler.editAction" : "Modifier {name}", 192 "settings.account.account.editButton": "Modifier le compte",
193 "service.errorHandler.headline" : "Oh non !", 193 "settings.account.accountType.basic": "Compte de base",
194 "service.errorHandler.message" : "Erreur", 194 "settings.account.accountType.premium": "Compte supporteur premium",
195 "service.errorHandler.text" : "Le chargement de {name} a échoué.", 195 "settings.account.buttonSave": "Mettre à jour le profil",
196 "service.restrictedHandler.action" : "Améliorer son Compte", 196 "settings.account.deleteAccount": "Supprimer le compte",
197 "service.restrictedHandler.customUrl.headline" : "Franz Professional Plan required", 197 "settings.account.deleteEmailSent": "Vous avez reçu un email contenant le lien pour confirmer la suppression de votre compte. Votre compte et les données qui lui sont associés ne pourront être récupérés!",
198 "service.restrictedHandler.customUrl.text" : "Please upgrade to the Franz Professional plan to use custom urls & self hosted services.", 198 "settings.account.deleteInfo": "Si vous n'avez plus besoin de votre compte Ferdi, vous pouvez le supprimer avec toutes ses données associées.",
199 "service.restrictedHandler.serviceLimit.headline" : "Vous avez atteint votre limite de services.", 199 "settings.account.headline": "Compte",
200 "service.restrictedHandler.serviceLimit.text" : "Please upgrade your account to use more than {count} services.", 200 "settings.account.headlineAccount": "Informations sur le compte",
201 "service.webviewLoader.loading" : "Chargement (c'est l'heure du café...)", 201 "settings.account.headlineDangerZone": "Zone dangereuse",
202 "services.getStarted" : "Commencer", 202 "settings.account.headlineInvoices": "Factures",
203 "services.welcome" : "Bienvenue dans Franz", 203 "settings.account.headlinePassword": "Changer le mot de passe",
204 "settings.account.account.editButton" : "Modifier le compte", 204 "settings.account.headlineProfile": "Mettre à jour le profil",
205 "settings.account.accountType.basic" : "Compte de base", 205 "settings.account.headlineSubscription": "Votre abonnement",
206 "settings.account.accountType.premium" : "Compte supporteur premium", 206 "settings.account.headlineTrialUpgrade": "Prenez l'essai de 14 jours gratuit de Ferdi Professionnel",
207 "settings.account.buttonSave" : "Mettre à jour le profil", 207 "settings.account.headlineUpgradeAccount": "Améliorer votre compte et recevez l'expérience de Ferdi au complet",
208 "settings.account.deleteAccount" : "Supprimer le compte", 208 "settings.account.invoiceDownload": "Télécharger",
209 "settings.account.deleteEmailSent" : "Vous avez reçu un email contenant le lien pour confirmer la suppression de votre compte. Votre compte et les données qui lui sont associés ne pourront être récupérés", 209 "settings.account.manageSubscription.label": "Gérer votre abonnement",
210 "settings.account.deleteInfo" : "Si vous n'avez plus besoin de votre compte Franz, vous pouvez le supprimer avec toutes ses données associées.", 210 "settings.account.successInfo": "Vos modifications ont été enregistrées",
211 "settings.account.headline" : "Compte", 211 "settings.account.trial": "Essai Gratuit",
212 "settings.account.headlineAccount" : "Informations sur le compte", 212 "settings.account.trialEndsIn": "Votre essai gratuit fini dans {duration}.",
213 "settings.account.headlineDangerZone" : "Zone dangereuse !", 213 "settings.account.trialUpdateBillingInfo": "S'il vous plaît mettre à jour votre facturation pour utilisé {license} après votre période d’essais.",
214 "settings.account.headlineInvoices" : "Factures", 214 "settings.account.tryReloadServices": "Réessayer",
215 "settings.account.headlinePassword" : "Changer le mot de passe", 215 "settings.account.tryReloadUserInfoRequest": "Réessayer",
216 "settings.account.headlineProfile" : "Mettre à jour le profil", 216 "settings.account.upgradeToPro.label": "Améliorez à Ferdi Professionnel",
217 "settings.account.headlineSubscription" : "Votre abonnement", 217 "settings.account.userInfoRequestFailed": "Impossible de charger les informations de l'utilisateur",
218 "settings.account.headlineTrialUpgrade" : "Get the free 14 day Franz Professional Trial", 218 "settings.account.yourLicense": "Votre licence Ferdi",
219 "settings.account.headlineUpgradeAccount" : "Upgrade your account & get the full Franz experience", 219 "settings.app.accentColorInfo": "Écrivez votre accent de couleur dans un format compatible avec CSS. (Par défaut : #7367f0)",
220 "settings.account.invoiceDownload" : "Télécharger", 220 "settings.app.buttonClearAllCache": "Vider le cache",
221 "settings.account.manageSubscription.label" : "Gérer votre abonnement", 221 "settings.app.buttonInstallUpdate": "Redémarrer et installer la mise à jour",
222 "settings.account.successInfo" : "Vos modifications ont été enregistrées", 222 "settings.app.buttonSearchForUpdate": "Vérifier les mises à jour",
223 "settings.account.trial" : "Free Trial", 223 "settings.app.cacheInfo": "Le cache de Ferdi occupe actuellement {size} en espace disque.",
224 "settings.account.trialEndsIn" : "Your free trial ends in {duration}.", 224 "settings.app.currentVersion": "Version actuelle :",
225 "settings.account.trialUpdateBillingInfo" : "Please update your billing info to continue using {license} after your trial period.", 225 "settings.app.form.accentColor": "Accent de couleur",
226 "settings.account.tryReloadServices" : "Réessayer", 226 "settings.app.form.autoLaunchInBackground": "Ouvrir en arrière-plan",
227 "settings.account.tryReloadUserInfoRequest" : "Réessayer", 227 "settings.app.form.autoLaunchOnStart": "Lancer Ferdi au démarrage",
228 "settings.account.upgradeToPro.label" : "Passer à Franz Professional", 228 "settings.app.form.beta": "Accepter les versions bêta",
229 "settings.account.userInfoRequestFailed" : "Impossible de charger les informations de l'utilisateur", 229 "settings.app.form.darkMode": "Activer le thème sombre",
230 "settings.account.yourLicense" : "Your Franz License", 230 "settings.app.form.enableGPUAcceleration": "Activer l'accélération GPU",
231 "settings.app.buttonClearAllCache" : "Vider le cache", 231 "settings.app.form.enableLock": "Activer le verrouillage de Ferdi",
232 "settings.app.buttonInstallUpdate" : "Redémarrer et installer la mise à jour", 232 "settings.app.form.enableSpellchecking": "Activer la vérification orthographique",
233 "settings.app.buttonSearchForUpdate" : "Vérifier les mises à jour", 233 "settings.app.form.enableSystemTray": "Afficher Ferdi dans la barre d'état système",
234 "settings.app.cacheInfo" : "Le cache de Franz occupe actuellement {size} en espace disque.", 234 "settings.app.form.enableTodos": "Activer Ferdi Todos",
235 "settings.app.currentVersion" : "Version actuelle :", 235 "settings.app.form.hibernate": "Activer le service d'hibernation",
236 "settings.app.form.autoLaunchInBackground" : "Ouvrir en arrière-plan", 236 "settings.app.form.hibernationStrategy": "Stratégie d'hibernation",
237 "settings.app.form.autoLaunchOnStart" : "Lancer Franz au démarrage", 237 "settings.app.form.keepAllWorkspacesLoaded": "Garder tous les espaces de travail charger",
238 "settings.app.form.beta" : "Accepter les versions bêta", 238 "settings.app.form.language": "Langue",
239 "settings.app.form.darkMode" : "Activer le thème sombre", 239 "settings.app.form.lockPassword": "Mot de passe de verrouillage de Ferdi",
240 "settings.app.form.enableGPUAcceleration" : "Activer l'accélération GPU", 240 "settings.app.form.minimizeToSystemTray": "Minimiser Ferdi dans la zone de notification",
241 "settings.app.form.enableSpellchecking" : "Activer la vérification orthographique", 241 "settings.app.form.noUpdates": "Désactiver les mises à jours",
242 "settings.app.form.enableSystemTray" : "Afficher Franz dans la barre d'état système", 242 "settings.app.form.privateNotifications": "Ne pas afficher le contenu des notifications",
243 "settings.app.form.enableTodos" : "Enable Franz Todos", 243 "settings.app.form.runInBackground": "Garder Ferdi ouvert en arrière-plan à la fermeture de la fenêtre",
244 "settings.app.form.keepAllWorkspacesLoaded" : "Keep all workspaces loaded", 244 "settings.app.form.scheduledDNDEnabled": "Activer Ne-pas-Déranger",
245 "settings.app.form.language" : "Langue", 245 "settings.app.form.scheduledDNDEnd": "À",
246 "settings.app.form.minimizeToSystemTray" : "Minimiser Franz dans la zone de notification", 246 "settings.app.form.scheduledDNDStart": "De",
247 "settings.app.form.runInBackground" : "Garder Franz ouvert en arrière-plan à la fermeture de la fenêtre", 247 "settings.app.form.server": "Serveur",
248 "settings.app.form.showDisabledServices" : "Afficher les onglets des services désactivés", 248 "settings.app.form.showDisabledServices": "Afficher les onglets des services désactivés",
249 "settings.app.form.showMessagesBadgesWhenMuted" : "Afficher les badges de messages non lus quand les notifications sont désactivées.", 249 "settings.app.form.showMessagesBadgesWhenMuted": "Afficher les badges de messages non lus quand les notifications sont désactivées",
250 "settings.app.headline" : "Paramètres", 250 "settings.app.form.showServiceNavigationBar": "Toujours afficher la barre de navigation du service",
251 "settings.app.headlineAdvanced" : "Paramètres avancés", 251 "settings.app.form.todoServer": "Serveur Todo",
252 "settings.app.headlineAppearance" : "Apparence", 252 "settings.app.form.universalDarkMode": "Activer le mode sombre universel",
253 "settings.app.headlineGeneral" : "Général", 253 "settings.app.headline": "Paramètres",
254 "settings.app.headlineLanguage" : "Langue", 254 "settings.app.headlineAdvanced": "Paramètres avancés",
255 "settings.app.headlineUpdates" : "Mises à jour", 255 "settings.app.headlineAppearance": "Apparence",
256 "settings.app.languageDisclaimer" : "Les traductions officielles sont l'anglais et l'allemand. Toutes les autres langues sont des traductions faites par la communauté.", 256 "settings.app.headlineGeneral": "Général",
257 "settings.app.restartRequired" : "Les modifications nécessitent un redémarrage", 257 "settings.app.headlineLanguage": "Langue",
258 "settings.app.subheadlineCache" : "Cache", 258 "settings.app.headlineUpdates": "Mises à jour",
259 "settings.app.translationHelp" : "Aidez-nous à traduire Franz dans votre langue.", 259 "settings.app.hibernateInfo": "Par défaut, Ferdi gardera tous vos services ouverts et chargés en arrière-plan afin qu'ils soient prêts lorsque vous voulez les utiliser. Le service d'hibernation déchargera vos services après un montant spécifié. Ceci est utile pour sauver de la RAM ou garder les services de ralentir votre ordinateur.",
260 "settings.app.updateStatusAvailable" : "Mise à jour disponible, téléchargement en cours...", 260 "settings.app.languageDisclaimer": "Les traductions officielles sont l'anglais et l'allemand. Toutes les autres langues sont des traductions faites par la communauté.",
261 "settings.app.updateStatusSearching" : "Recherche d'une mise à jour", 261 "settings.app.lockInfo": "Le mot de passe de verrouillage de Ferdi vous permet de garder vos messages protégés.\nEn utilisant le mot de passe de verrouillage de Ferdi, vous allez être demandé de rentrer un mot de passe à chaque fois que vous démarré Ferdi ou verrouillé Ferdi vous même avec le symbole de cadenas en bas à gauche dans le coins ou avec le raccourcie CMD/CTRL+Shift+L.",
262 "settings.app.updateStatusUpToDate" : "Vous utilisez la dernière version de Franz", 262 "settings.app.lockedPassword": "Mot de passe de verrouillage de Ferdi",
263 "settings.invite.headline" : "Invite des amis", 263 "settings.app.lockedPasswordInfo": "S'il vous plaît soyez sûre de mettre un mot de passe que vous allez vous rappelez.\nSi vous perdez ce mot de passe vous allez devoir réinstaller Ferdi.",
264 "settings.navigation.account" : "Compte", 264 "settings.app.restartRequired": "Les modifications nécessitent un redémarrage",
265 "settings.navigation.availableServices" : "Services disponibles", 265 "settings.app.scheduledDNDInfo": "Planifier le Ne-pas-Déranger vous permet de définir une période de temps dans lequel vous ne voulez pas de notifications de Ferdi.",
266 "settings.navigation.inviteFriends" : "Inviter des amis", 266 "settings.app.scheduledDNDTimeInfo": "Le temps est en format 24 heures. La fin du temps peut être avant le début du temps (ex: début 17:00, fin 09:00) pour activer le Ne-pas-Déranger durant la nuit.",
267 "settings.navigation.logout" : "Se déconnecter", 267 "settings.app.serverInfo": "On vous recommande de vous déconnecter après d'avoir changer votre serveur dans vos paramètres au risque que les paramètres ne sois pas sauvegarder.",
268 "settings.navigation.settings" : "Paramètres", 268 "settings.app.serverMoneyInfo": "Vous êtes entrain d'utilisé le serveur officiel de Franz pour Ferdi.\nNous savons que Ferdi vous permet d'utilisé toutes les fonctionnalités gratuitement mais vous êtes toujours entrain d'utilisé les resources des serveurs de Franz - dont les créateurs paient pour.\nS'il vous plaît [Link 1]payé pour un compte Franz[/Link] ou [Link 2]utilisé un ferdi-serveur hébergé par soi-même[/Link] (si vous avez la connaissance et les resources pour).\nEn utilisant Ferdi, vous profité beaucoup des recettes de Franz, resources serveurs et son développement.",
269 "settings.navigation.team" : "Gérer l'équipe", 269 "settings.app.subheadlineCache": "Cache",
270 "settings.navigation.yourServices" : "Vos services", 270 "settings.app.todoServerInfo": "Ce serveur va être utilisé pour la fonction \"Ferdi Todo\". (défaut: https://app.franztodos.com)",
271 "settings.navigation.yourWorkspaces" : "Tes espaces de travail", 271 "settings.app.translationHelp": "Aidez-nous à traduire Ferdi dans votre langue.",
272 "settings.recipes.all" : "Tous les services", 272 "settings.app.universalDarkModeInfo": "Le mode sombre universel tente de générer dynamiquement des styles de mode sombre pour les services qui ne sont pas encore supportés.",
273 "settings.recipes.custom" : "Custom Services", 273 "settings.app.updateStatusAvailable": "Mise à jour disponible, téléchargement en cours...",
274 "settings.recipes.customService.headline.communityRecipes" : "Community 3rd Party Recipes", 274 "settings.app.updateStatusSearching": "Recherche d'une mise à jour",
275 "settings.recipes.customService.headline.customRecipes" : "Custom 3rd Party Recipes", 275 "settings.app.updateStatusUpToDate": "Vous utilisez la dernière version de Ferdi",
276 "settings.recipes.customService.headline.devRecipes" : "Your Development Service Recipes", 276 "settings.invite.headline": "Invite des amis",
277 "settings.recipes.customService.intro" : "To add a custom service, copy the service recipe to:", 277 "settings.navigation.account": "Compte",
278 "settings.recipes.customService.openDevDocs" : "Developer Documentation", 278 "settings.navigation.availableServices": "Services disponibles",
279 "settings.recipes.customService.openFolder" : "Open folder", 279 "settings.navigation.logout": "Se déconnecter",
280 "settings.recipes.headline" : "Services disponibles", 280 "settings.navigation.settings": "Paramètres",
281 "settings.recipes.missingService" : "Un service est manquant ?", 281 "settings.navigation.supportFerdi": "Supporter Ferdi",
282 "settings.recipes.mostPopular" : "Les plus populaires", 282 "settings.navigation.team": "Gérer l'équipe",
283 "settings.recipes.nothingFound" : "Désolé, aucun service ne correspond à votre recherche.", 283 "settings.navigation.yourServices": "Vos services",
284 "settings.recipes.servicesSuccessfulAddedInfo" : "Le service a été ajouté avec succès", 284 "settings.navigation.yourWorkspaces": "Tes espaces de travail",
285 "settings.searchService" : "Chercher un service", 285 "settings.recipes.all": "Tous les services",
286 "settings.service.error.goBack" : "Retour aux services", 286 "settings.recipes.custom": "Services modifiés",
287 "settings.service.error.headline" : "Erreur", 287 "settings.recipes.customService.headline.communityRecipes": "Recettes tiers communautaire",
288 "settings.service.error.message" : "Impossible de charger le service.", 288 "settings.recipes.customService.headline.customRecipes": "Recettes tiers modifiés",
289 "settings.service.form.addServiceHeadline" : "Ajouter {name}", 289 "settings.recipes.customService.headline.devRecipes": "Vos recettes de service de développement",
290 "settings.service.form.availableServices" : "Services disponibles", 290 "settings.recipes.customService.intro": "Pour ajouter un service modifié, copié la recette à:",
291 "settings.service.form.customUrl" : "Serveur personnalisé", 291 "settings.recipes.customService.openDevDocs": "Documentation de Développeur",
292 "settings.service.form.customUrlPremiumInfo" : "Pour ajouter des services auto-hébergés, vous avez besoin d'un compte Supporter Premium Franz.", 292 "settings.recipes.customService.openFolder": "Ouvrir le dossier",
293 "settings.service.form.customUrlUpgradeAccount" : "Améliorez votre compte", 293 "settings.recipes.headline": "Services disponibles",
294 "settings.service.form.customUrlValidationError" : "Impossible de valider le serveur personnalisé {name}.", 294 "settings.recipes.missingService": "Un service est manquant?",
295 "settings.service.form.deleteButton" : "Supprimer le service", 295 "settings.recipes.mostPopular": "Les plus populaires",
296 "settings.service.form.editServiceHeadline" : "Modifier {name}", 296 "settings.recipes.nothingFound": "Désolé, aucun service ne correspond à votre recherche.",
297 "settings.service.form.enableAudio" : "Activer l'audio", 297 "settings.recipes.servicesSuccessfulAddedInfo": "Le service a été ajouté avec succès",
298 "settings.service.form.enableBadge" : "Afficher le badge des messages non lus", 298 "settings.searchService": "Chercher un service",
299 "settings.service.form.enableDarkMode" : "Activer le mode sombre", 299 "settings.service.error.goBack": "Retour aux services",
300 "settings.service.form.enableNotification" : "Activer les notifications", 300 "settings.service.error.headline": "Erreur",
301 "settings.service.form.enableService" : "Activer le service", 301 "settings.service.error.message": "Impossible de charger le service.",
302 "settings.service.form.headlineBadges" : "Badge des messages non lus", 302 "settings.service.form.addServiceHeadline": "Ajouter {name}",
303 "settings.service.form.headlineGeneral" : "Général", 303 "settings.service.form.availableServices": "Services disponibles",
304 "settings.service.form.headlineNotifications" : "Notifications", 304 "settings.service.form.customUrl": "Serveur personnalisé",
305 "settings.service.form.icon" : "Icône personnalisée", 305 "settings.service.form.customUrlPremiumInfo": "Pour ajouter des services auto-hébergés, vous avez besoin d'un compte Ferdi Premium Supporter.",
306 "settings.service.form.iconDelete" : "Supprimer", 306 "settings.service.form.customUrlUpgradeAccount": "Améliorez votre compte",
307 "settings.service.form.iconUpload" : "Déposez votre image, ou cliquez ici", 307 "settings.service.form.customUrlValidationError": "Impossible de valider le serveur modifié {name}.",
308 "settings.service.form.indirectMessageInfo" : "Vous serez averti de tous les nouveaux messages en ligne, pas seulement sur @username, @channel, @here, ...", 308 "settings.service.form.deleteButton": "Supprimer le service",
309 "settings.service.form.indirectMessages" : "Afficher le badge des messages pour tous les nouveaux messages", 309 "settings.service.form.editServiceHeadline": "Modifier {name}",
310 "settings.service.form.isMutedInfo" : "Lorsque désactivé, tous les sons de notifications ainsi que l'audio sont coupés", 310 "settings.service.form.enableAudio": "Activer l'audio",
311 "settings.service.form.name" : "Nom", 311 "settings.service.form.enableBadge": "Afficher le badge des messages non lus",
312 "settings.service.form.proxy.headline" : "Paramètres proxy HTTP\/HTTPS", 312 "settings.service.form.enableDarkMode": "Activer le mode sombre",
313 "settings.service.form.proxy.host" : "Hôte\/IP du proxy", 313 "settings.service.form.enableNotification": "Activer les notifications",
314 "settings.service.form.proxy.info" : "Les paramètres de proxy ne seront pas synchronisés avec les serveurs de Franz.", 314 "settings.service.form.enableService": "Activer le service",
315 "settings.service.form.proxy.isEnabled" : "Utiliser un proxy", 315 "settings.service.form.headlineBadges": "Badge des messages non lus",
316 "settings.service.form.proxy.password" : "Mot de passe (facultatif)", 316 "settings.service.form.headlineGeneral": "Général",
317 "settings.service.form.proxy.port" : "Port", 317 "settings.service.form.headlineNotifications": "Notifications",
318 "settings.service.form.proxy.restartInfo" : "Veuillez redémarrer Franz après avoir modifié les paramètres proxy.", 318 "settings.service.form.icon": "Icône personnalisée",
319 "settings.service.form.proxy.user" : "Utilisateur (facultatif)", 319 "settings.service.form.iconDelete": "Supprimer",
320 "settings.service.form.saveButton" : "Enregistrer le service", 320 "settings.service.form.iconUpload": "Déposez votre image, ou cliquez ici",
321 "settings.service.form.tabHosted" : "Hébergé", 321 "settings.service.form.indirectMessageInfo": "Vous serez averti de tous les nouveaux messages en ligne, pas seulement sur @username, @channel, @here, ...",
322 "settings.service.form.tabOnPremise" : "hébergé par soi-même ⭐️", 322 "settings.service.form.indirectMessages": "Afficher le badge des messages pour tous les nouveaux messages",
323 "settings.service.form.team" : "Équipe", 323 "settings.service.form.isMutedInfo": "Lorsque désactivé, tous les sons de notifications ainsi que l'audio sont coupés",
324 "settings.service.form.useHostedService" : "Utilisez le service hébergé {name}.", 324 "settings.service.form.name": "Nom",
325 "settings.service.form.yourServices" : "Vos services", 325 "settings.service.form.openDarkmodeCss": "Ouvrir darkmode.css",
326 "settings.services.deletedInfo" : "Le service a été supprimé", 326 "settings.service.form.proxy.headline": "Paramètres proxy HTTP/HTTPS",
327 "settings.services.discoverServices" : "Découvrir les services", 327 "settings.service.form.proxy.host": "Hôte/IP du proxy",
328 "settings.services.headline" : "Vos services", 328 "settings.service.form.proxy.info": "Les paramètres de proxy ne seront pas synchronisés avec les serveurs de Ferdi.",
329 "settings.services.noServicesAdded" : "Vous n'avez pas encore ajouté de services.", 329 "settings.service.form.proxy.isEnabled": "Utiliser un proxy",
330 "settings.services.servicesRequestFailed" : "Impossible de charger vos services", 330 "settings.service.form.proxy.password": "Mot de passe (facultatif)",
331 "settings.services.tooltip.isDisabled" : "Ce service est désactivé", 331 "settings.service.form.proxy.port": "Port",
332 "settings.services.tooltip.isMuted" : "Tous les sons sont coupés", 332 "settings.service.form.proxy.restartInfo": "Veuillez redémarrer Ferdi après avoir modifié les paramètres proxy.",
333 "settings.services.tooltip.notificationsDisabled" : "Notifications désactivées.", 333 "settings.service.form.proxy.user": "Utilisateur (facultatif)",
334 "settings.services.updatedInfo" : "Vos modifications ont été enregistrées", 334 "settings.service.form.saveButton": "Enregistrer le service",
335 "settings.team.contentHeadline" : "Franz pour les équipes", 335 "settings.service.form.tabHosted": "Hébergé",
336 "settings.team.copy" : "Franz for Teams t'offre la possibilité d'inviter des collègues dans ton équipe de travail en leur envoyant des invitations par courrier électronique et en gérant leurs abonnements dans les préférences de ton compte. Ne perds pas de temps à les gérer individuellement les factures multiples et les différents cycles de facturation - il suffit d'une seule équipe de travail pour gérer tout ça!", 336 "settings.service.form.tabOnPremise": "Hébergé par soi-même ⭐️",
337 "settings.team.headline" : "Équipe de travail", 337 "settings.service.form.team": "Équipe",
338 "settings.team.intro" : "Tu peux désormais gérer les abonnements Premium pour autant de collègues, amis ou membres de famille que tu souhaites, à partir d'un seul et même compte.", 338 "settings.service.form.useHostedService": "Utilisez le service hébergé {name}.",
339 "settings.team.manageAction" : "Gère ton équipe sur meetfranz.com", 339 "settings.service.form.yourServices": "Vos services",
340 "settings.team.upgradeAction" : "Mise à niveau du compte", 340 "settings.services.deletedInfo": "Le service a été supprimé",
341 "settings.user.form.accountType.company" : "Entreprise", 341 "settings.services.discoverServices": "Découvrir les services",
342 "settings.user.form.accountType.individual" : "Individuel", 342 "settings.services.headline": "Vos services",
343 "settings.user.form.accountType.label" : "Type de compte", 343 "settings.services.noServicesAdded": "Vous n'avez pas encore ajouté de services.",
344 "settings.user.form.accountType.non-profit" : "Non-lucratif", 344 "settings.services.servicesRequestFailed": "Impossible de charger vos services",
345 "settings.user.form.currentPassword" : "Mot de passe actuel", 345 "settings.services.tooltip.isDisabled": "Ce service est désactivé",
346 "settings.user.form.email" : "Email", 346 "settings.services.tooltip.isMuted": "Tous les sons sont coupés",
347 "settings.user.form.firstname" : "Prénom", 347 "settings.services.tooltip.notificationsDisabled": "Notifications désactivées",
348 "settings.user.form.lastname" : "Nom", 348 "settings.services.updatedInfo": "Vos modifications ont été enregistrées",
349 "settings.user.form.newPassword" : "Nouveau mot de passe", 349 "settings.supportFerdi.github": "Mettez une étoile sur GitHub",
350 "settings.workspace.add.form.name" : "Nom", 350 "settings.supportFerdi.headline": "Supporter Ferdi",
351 "settings.workspace.add.form.submitButton" : "Créer un espace de travail", 351 "settings.supportFerdi.openCollective": "Supporter notre Open Collective",
352 "settings.workspace.form.buttonDelete" : "Effacer l'espace de travail", 352 "settings.supportFerdi.share": "Parlez en à vos Amis",
353 "settings.workspace.form.buttonSave" : "Sauvegarder l'espace de travail", 353 "settings.supportFerdi.title": "Vous aimez Ferdi? Répandez l'amour!",
354 "settings.workspace.form.name" : "Nom", 354 "settings.team.contentHeadline": "Ferdi pour les équipes",
355 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services dans cet Espace de travail", 355 "settings.team.copy": "Ferdi pour Équipe t'offre la possibilité d'inviter des collègues dans ton équipe de travail en leur envoyant des invitations par courrier électronique et en gérant leurs abonnements dans les préférences de ton compte. Ne perds pas de temps à les gérer individuellement les factures multiples et les différents cycles de facturation - il suffit d'une seule équipe de travail pour gérer tout ça!",
356 "settings.workspace.form.yourWorkspaces" : "Vos espaces de travail", 356 "settings.team.headline": "Équipe",
357 "settings.workspaces.deletedInfo" : "L'espace de travail a été supprimé", 357 "settings.team.intro": "Vous et votre équipes utilise Ferdi? Tu peux désormais gérer les abonnements Premium pour autant de collègues, amis ou membres de famille que tu souhaites, à partir d'un seul et même compte.",
358 "settings.workspaces.headline" : "Vos espaces de travails", 358 "settings.team.manageAction": "Gère ton équipe sur getferdi.com",
359 "settings.workspaces.noWorkspacesAdded" : "Vous n'avez pas encore ajouté d'espace de travail.", 359 "settings.team.teamsUnavailable": "Les équipes sont indisponibles",
360 "settings.workspaces.tryReloadWorkspaces" : "Réessayer", 360 "settings.team.teamsUnavailableInfo": "Les équipes sont actuellement disponibles uniquement lorsque vous utilisez le serveur de Franz et après avoir payé pour Franz Professionnel. Veuillez changer votre serveur à https://api.franzinfra.com pour utiliser des équipes.",
361 "settings.workspaces.updatedInfo" : "Vos modifications ont été enregistrées", 361 "settings.team.upgradeAction": "Améliorez votre compte",
362 "settings.workspaces.workspaceFeatureHeadline" : "Présentation des Espaces de travail de Franz", 362 "settings.user.form.accountType.company": "Entreprise",
363 "settings.workspaces.workspaceFeatureInfo" : "Les Espaces de travail de Franz vous permettant de rester concentré sur ce qui est important. Créez différents groupes de services et naviguez facilement entre eux à n'importe quel moment. Vous décidez de quels services vous avez besoin, où et quand, ainsi nous pouvons vous aider à rester concentré sur votre travail - ou à le quitter dès que vous le souhaitez.", 363 "settings.user.form.accountType.individual": "Individuel",
364 "settings.workspaces.workspacesRequestFailed" : "Impossible de charger vos espaces de travail", 364 "settings.user.form.accountType.label": "Type de compte",
365 "sidebar.addNewService" : "Ajouter un nouveau service", 365 "settings.user.form.accountType.non-profit": "Non-lucratif",
366 "sidebar.closeTodosDrawer" : "Close Franz Todos", 366 "settings.user.form.currentPassword": "Mot de passe actuel",
367 "sidebar.closeWorkspaceDrawer" : "Fermer l'espace de travail", 367 "settings.user.form.email": "Email",
368 "sidebar.muteApp" : "Désactiver les notifications et les sons", 368 "settings.user.form.firstname": "Prénom",
369 "sidebar.openTodosDrawer" : "Open Franz Todos", 369 "settings.user.form.lastname": "Nom",
370 "sidebar.openWorkspaceDrawer" : "Ouvrir l'espace de travail", 370 "settings.user.form.newPassword": "Nouveau mot de passe",
371 "sidebar.settings" : "Paramètres", 371 "settings.workspace.add.form.name": "Nom",
372 "sidebar.unmuteApp" : "Activer les notifications et les sons", 372 "settings.workspace.add.form.submitButton": "Créer l'espace de travail",
373 "signup.email.label" : "Adresse email", 373 "settings.workspace.form.buttonDelete": "Effacer l'espace de travail",
374 "signup.emailDuplicate" : "Cette adresse email est déjà utilisée", 374 "settings.workspace.form.buttonSave": "Sauvegarder l'espace de travail",
375 "signup.firstname.label" : "Prénom", 375 "settings.workspace.form.keepLoaded": "Garder cet espace de travail chargé*",
376 "signup.headline" : "S'inscrire", 376 "settings.workspace.form.keepLoadedInfo": "*Cette option va être ré-écris par l'option global \"Garder cette espace de travail chargé\".",
377 "signup.lastname.label" : "Nom", 377 "settings.workspace.form.name": "Nom",
378 "signup.legal.info" : "En créant un compte Franz, vous acceptez la", 378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services dans cet Espace de travail",
379 "signup.legal.privacy" : "Déclaration de confidentialité", 379 "settings.workspace.form.yourWorkspaces": "Tes espaces de travail",
380 "signup.legal.terms" : "Conditions d'utilisation", 380 "settings.workspaces.deletedInfo": "L'espace de travail a été supprimé",
381 "signup.link.login" : "Vous avez déjà un compte ? Connectez-vous", 381 "settings.workspaces.headline": "Tes espaces de travail",
382 "signup.password.label" : "Mot de passe", 382 "settings.workspaces.noWorkspacesAdded": "Vous n'avez pas encore ajouté d'espace de travail.",
383 "signup.submit.label" : "Créer un compte", 383 "settings.workspaces.tryReloadWorkspaces": "Réessayer",
384 "subscription.bestValue" : "Best value", 384 "settings.workspaces.updatedInfo": "Vos modifications ont été enregistrées",
385 "subscription.cta.activateTrial" : "Yes, start the free Franz Professional trial", 385 "settings.workspaces.workspaceFeatureHeadline": "Présentation des Espaces de travail de Ferdi",
386 "subscription.cta.allOptions" : "Voir toutes les options", 386 "settings.workspaces.workspaceFeatureInfo": "Les Espaces de travail de Ferdi vous permettant de rester concentré sur ce qui est important. Créez différents groupes de services et naviguez facilement entre eux à n'importe quel moment. Vous décidez de quels services vous avez besoin, où et quand, ainsi nous pouvons vous aider à rester concentré sur votre travail - ou à le quitter dès que vous le souhaitez.",
387 "subscription.cta.choosePlan" : "Choose your plan", 387 "settings.workspaces.workspacesRequestFailed": "Impossible de charger vos espaces de travail",
388 "subscription.includedProFeatures" : "The Franz Professional Plan includes:", 388 "sidebar.addNewService": "Ajouter un nouveau service",
389 "subscription.interval.per" : "per {interval}", 389 "sidebar.closeTodosDrawer": "Fermer Ferdi Todos",
390 "subscription.interval.perMonth" : "per month", 390 "sidebar.closeWorkspaceDrawer": "Fermer l'espace de travail",
391 "subscription.interval.perMonthPerUser" : "per month & user", 391 "sidebar.lockFerdi": "Verrouiller Ferdi",
392 "subscription.planItem.upgradeAccount" : "Améliorer son Compte", 392 "sidebar.muteApp": "Désactiver les notifications et les sons",
393 "subscription.teaser.includedFeatures" : "Paid Franz Plans include:", 393 "sidebar.openTodosDrawer": "Ouvrir Ferdi Todos",
394 "subscription.teaser.intro" : "Franz 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!", 394 "sidebar.openWorkspaceDrawer": "Ouvrir l'espace de travail",
395 "subscriptionPopup.buttonCancel" : "Annuler", 395 "sidebar.settings": "Paramètres",
396 "subscriptionPopup.buttonDone" : "Terminé", 396 "sidebar.unmuteApp": "Activer les notifications et les sons",
397 "tabs.item.deleteService" : "Supprimer le service", 397 "signup.email.label": "Adresse Email",
398 "tabs.item.disableAudio" : "Désactiver l'audio", 398 "signup.emailDuplicate": "Cette adresse email est déjà utilisée",
399 "tabs.item.disableNotifications" : "Désactiver les notifications", 399 "signup.firstname.label": "Prénom",
400 "tabs.item.disableService" : "Désactiver le service", 400 "signup.headline": "S'inscrire",
401 "tabs.item.edit" : "Éditer", 401 "signup.lastname.label": "Nom",
402 "tabs.item.enableAudio" : "Activer l'audio", 402 "signup.legal.info": "En créant un compte Ferdi, vous acceptez la",
403 "tabs.item.enableNotification" : "Activer les notifications", 403 "signup.legal.privacy": "Déclaration de confidentialité",
404 "tabs.item.enableService" : "Activer le service", 404 "signup.legal.terms": "Conditions d'utilisation",
405 "tabs.item.reload" : "Recharger", 405 "signup.link.login": "Vous avez déjà un compte? Connectez-vous",
406 "validation.email" : "{field} n'est pas valide", 406 "signup.password.label": "Mot de passe",
407 "validation.minLength" : "{field} doit contenir au moins {length} caractère(s)", 407 "signup.submit.label": "Créer un compte",
408 "validation.oneRequired" : "Au moins un de ces champs est requis", 408 "subscription.cta.activateTrial": "Oui, commencer l'essai gratuit de Ferdi Professionnel",
409 "validation.required" : "{field} est requis", 409 "subscription.cta.allOptions": "Voir toutes les options",
410 "validation.url" : "{field} n'est pas une URL valide", 410 "subscription.cta.choosePlan": "Choisissez votre plan",
411 "webControls.back" : "Back", 411 "subscription.includedProFeatures": "Le plan Ferdi Professionnel inclus:",
412 "webControls.forward" : "Forward", 412 "subscription.teaser.includedFeatures": "Les plans de Ferdi payés inclus:",
413 "webControls.goHome" : "Accueil", 413 "subscription.teaser.intro": "Ferdi 5 viens avec une large plage de nouvelles fonctionnalités pour renforcer votre communication quotidienne - batteries inclus. Aller voir nos nouveaux plans et trouver celui qui vous satisfait le mieux!",
414 "webControls.openInBrowser" : "Open in Browser", 414 "subscriptionPopup.buttonCancel": "Annuler",
415 "webControls.reload" : "Reload", 415 "subscriptionPopup.buttonDone": "Terminé",
416 "welcome.loginButton" : "Se connecter sur son compte", 416 "tabs.item.deleteService": "Supprimer le service",
417 "welcome.signupButton" : "Créer un compte gratuit", 417 "tabs.item.disableAudio": "Désactiver l'audio",
418 "workspaceDrawer.addNewWorkspaceLabel" : "Ajouté un nouvel espace de travail", 418 "tabs.item.disableNotifications": "Désactiver les notifications",
419 "workspaceDrawer.allServices" : "Tous les services", 419 "tabs.item.disableService": "Désactiver le service",
420 "workspaceDrawer.headline" : "Espace de travail", 420 "tabs.item.edit": "Éditer",
421 "workspaceDrawer.item.contextMenuEdit" : "Modifier", 421 "tabs.item.enableAudio": "Activer l'audio",
422 "workspaceDrawer.item.noServicesAddedYet" : "Aucun services ajoutés pour l'instant", 422 "tabs.item.enableNotification": "Activer les notifications",
423 "workspaceDrawer.premiumCtaButtonLabel" : "Créez votre premier espace de travail", 423 "tabs.item.enableService": "Activer le service",
424 "workspaceDrawer.proFeatureBadge" : "Fonctionnalité premium", 424 "tabs.item.reload": "Actualiser",
425 "workspaceDrawer.reactivatePremiumAccountLabel" : "Réactivez votre compte premium", 425 "validation.email": "{field} n'est pas valide",
426 "workspaceDrawer.workspaceFeatureInfo" : "<p>Les Espaces de travail de Franz vous permettant de rester concentré sur ce qui est important. Créez différents groupes de services et naviguez facilement entre eux à n'importe quel moment.<\/p><p>Vous décidez de quels services vous avez besoin, où et quand, ainsi nous pouvons vous aider à rester concentré sur votre travail - ou à le quitter dès que vous le souhaitez.<\/p>", 426 "validation.minLength": "{field} doit contenir au moins {length} caractère(s)",
427 "workspaceDrawer.workspacesSettingsTooltip" : "Editer les paramètres de l'espace de travail", 427 "validation.oneRequired": "Au moins un de ces champs est requis",
428 "workspaces.switchingIndicator.switchingTo" : "Changement vers" 428 "validation.required": "{field} est requis",
429 "validation.url": "{field} n'est pas une URL valide",
430 "webControls.back": "Revenir",
431 "webControls.forward": "Avancer",
432 "webControls.goHome": "Accueil",
433 "webControls.openInBrowser": "Ouvrir dans le navigateur",
434 "webControls.reload": "Actualiser",
435 "welcome.loginButton": "Se connecter sur son compte",
436 "welcome.signupButton": "Créer un compte gratuit",
437 "workspaceDrawer.addNewWorkspaceLabel": "Ajouté un nouvel espace de travail",
438 "workspaceDrawer.allServices": "Tous les services",
439 "workspaceDrawer.headline": "Espace de travail",
440 "workspaceDrawer.item.contextMenuEdit": "Modifier",
441 "workspaceDrawer.item.noServicesAddedYet": "Aucun services ajoutés pour l'instant",
442 "workspaceDrawer.premiumCtaButtonLabel": "Créez votre premier espace de travail",
443 "workspaceDrawer.proFeatureBadge": "Fonctionnalité premium",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Réactivez votre compte premium",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Les Espaces de travail de Ferdi vous permettant de rester concentré sur ce qui est important. Créez différents groupes de services et naviguez facilement entre eux à n'importe quel moment.</p><p>Vous décidez de quels services vous avez besoin, où et quand, ainsi nous pouvons vous aider à rester concentré sur votre travail - ou à le quitter dès que vous le souhaitez.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Éditer les paramètres de l'espace de travail",
447 "workspaces.switchingIndicator.switchingTo": "Changement vers"
429} 448}
diff --git a/src/i18n/locales/ga.json b/src/i18n/locales/ga.json
index d7520e27b..acd72ee0b 100644
--- a/src/i18n/locales/ga.json
+++ b/src/i18n/locales/ga.json
@@ -1,429 +1,448 @@
1{ 1{
2 "app.errorHandler.action" : "Athlódáil", 2 "app.errorHandler.action": "Athlódáil",
3 "app.errorHandler.headline" : "Chuaigh cúrsaí chun donais", 3 "app.errorHandler.headline": "Something went wrong",
4 "feature.announcements.changelog.headline" : "Athraithe i Franz {version}", 4 "feature.announcements.changelog.headline": "Changes in Ferdi {version}",
5 "feature.delayApp.headline" : "Upgrade your Franz plan to skip the wait", 5 "feature.delayApp.headline": "Please purchase a Ferdi Supporter License to skip waiting",
6 "feature.delayApp.text" : "Leanfaidh Franz ar aghaidh i gceann {seconds} soicind.", 6 "feature.delayApp.text": "Ferdi will continue in {seconds} seconds.",
7 "feature.delayApp.trial.action" : "Sea, ba mhaith liom Franz Professional a thástáil le feadh 14 lá", 7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort" : "Cuir tástáil saor Franz Professional i bhfeidhm", 8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
9 "feature.delayApp.trial.headline" : "Get the free Franz Professional 14-days trial and skip the wait", 9 "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line",
10 "feature.delayApp.upgrade.action" : "Upgrade Franz", 10 "feature.delayApp.upgrade.action": "Get a Ferdi Supporter License",
11 "feature.delayApp.upgrade.actionShort" : "Uasghrádaigh cuntas", 11 "feature.delayApp.upgrade.actionShort": "Upgrade account",
12 "feature.planSelection.cta.ctaDowngradeFree" : "Downgrade to Free", 12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.planSelection.cta.stayOnFree" : "Stay on Free", 13 "feature.quickSwitch.search": "Search...",
14 "feature.planSelection.cta.trial" : "Start my free 14-days Trial", 14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.planSelection.cta.upgradePersonal" : "Choose Personal", 15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.planSelection.cta.upgradePro" : "Choose Professional", 16 "feature.shareFranz.action.email": "Send as email",
17 "feature.planSelection.free.text" : "Basic functionality", 17 "feature.shareFranz.action.facebook": "Share on Facebook",
18 "feature.planSelection.fullFeatureList" : "Complete comparison of all plans", 18 "feature.shareFranz.action.twitter": "Share on Twitter",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 19 "feature.shareFranz.headline": "Ferdi is better together!",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade" : "Choose Personal", 20 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
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.", 21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.planSelection.fullscreen.dialog.title" : "Downgrade your Franz Plan", 22 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
23 "feature.planSelection.fullscreen.subheadline" : "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.", 23 "feature.todos.premium.info": "Ferdi Todos are available to premium users now!",
24 "feature.planSelection.fullscreen.welcome" : "Are you ready to choose, {name}?", 24 "feature.todos.premium.rollout": "Everyone else will have to wait a little longer.",
25 "feature.planSelection.personal.text" : "More services, no waiting - ideal for personal use.", 25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "feature.planSelection.pricesBasedOnAnnualPayment" : "All prices based on yearly payment", 26 "global.api.unhealthy": "Ní féidir nascadh le seirbhísí Ferdi ar líne",
27 "feature.planSelection.pro.text" : "Unlimited services and professional features for you - and your team.", 27 "global.franzProRequired": "Ferdi Professional Required",
28 "feature.serviceLimit.limitReached" : "Tá {amount} as {limit} seirbhísí atá san áireamh i do phlean curtha agat cheana féin. Uasghrádaigh do chuntas chun tuilleadh seirbhísí a chur leis, le do thoil.", 28 "global.notConnectedToTheInternet": "Níl tú nasctha leis an Idirlíon.",
29 "feature.shareFranz.action.email" : "Seol mar ríomhphost", 29 "global.spellchecker.useDefault": "Use System Default ({default})",
30 "feature.shareFranz.action.facebook" : "Roinn ar Facebook", 30 "global.spellchecking.autodetect": "Detect language automatically",
31 "feature.shareFranz.action.twitter" : "Roinn ar Twitter", 31 "global.spellchecking.autodetect.short": "Automatic",
32 "feature.shareFranz.headline" : "Tá Franz níos fearr le chéile!", 32 "global.spellchecking.language": "Spell checking language",
33 "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", 33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "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 @FranzMessenger", 34 "import.headline": "Iompórtáil do sheirbhísí Ferdi 4",
35 "feature.shareFranz.text" : "Tell your friends and colleagues how awesome Franz is and help us to spread the word.", 35 "import.notSupportedHeadline": "Níl na seirbhísí seo taca ag Ferdi 5 go fóill",
36 "feature.todos.premium.info" : "Franz Todos are available to premium users now!", 36 "import.skip.label": "Ba mhaith liom seirbhísí a chur de láimh",
37 "feature.todos.premium.rollout" : "Everyone else will have to wait a little longer.", 37 "import.submit.label": "Iompórtáil seirbhísí",
38 "feature.todos.premium.upgrade" : "Upgrade Account", 38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "feature.trialStatusBar.cta" : "Upgrade now", 39 "infobar.buttonChangelog": "Cad atá nua?",
40 "feature.trialStatusBar.expired" : "Your free Franz {plan} Trial has expired, please upgrade your account.", 40 "infobar.buttonInstallUpdate": "Atosaigh ⁊ suiteáil nuashonrú",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 41 "infobar.buttonReloadServices": "Athlódáil seirbhísí",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade" : "Choose Personal", 42 "infobar.requiredRequestsFailed": "Ní féidir seirbhísí agus eolas úsáideora a lódáil",
43 "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.", 43 "infobar.servicesUpdated": "Nuashonraíodh do sheirbhísí.",
44 "feature.trialStatusBar.fullscreen.dialog.title" : "Downgrade your Franz Plan", 44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "feature.trialStatusBar.restTime" : "Your Free Franz {plan} Trial ends in {time}.", 45 "infobar.updateAvailable": "Tá nuashonrú nua do Ferdi ar fáil.",
46 "global.api.unhealthy" : "Ní féidir nascadh le seirbhísí Franz ar líne", 46 "invite.email.label": "Seoladh ríomhphoist",
47 "global.franzProRequired" : "Franz Professional Required", 47 "invite.headline.friends": "Tabhair cuireadh do thriúr chara nó chomhghleacaí",
48 "global.notConnectedToTheInternet" : "Níl tú nasctha leis an Idirlíon.", 48 "invite.name.label": "Ainm",
49 "global.spellchecker.useDefault" : "Use System Default ({default})", 49 "invite.skip.label": "Ba mhaith liom é seo a dhéanamh níos deireanaí",
50 "global.spellchecking.autodetect" : "Detect language automatically", 50 "invite.submit.label": "Seol cuirí",
51 "global.spellchecking.autodetect.short" : "Automatic", 51 "invite.successInfo": "Cuirí seolta go rathúil",
52 "global.spellchecking.language" : "Spell checking language", 52 "locked.headline": "Locked",
53 "global.upgradeButton.upgradeToPro" : "Upgrade to Franz Professional", 53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "import.headline" : "Iompórtáil do sheirbhísí Franz 4", 54 "locked.invalidCredentials": "Password invalid",
55 "import.notSupportedHeadline" : "Níl na seirbhísí seo taca ag Franz 5 go fóill", 55 "locked.password.label": "Password",
56 "import.skip.label" : "Ba mhaith liom seirbhísí a chur de láimh", 56 "locked.submit.label": "Unlock",
57 "import.submit.label" : "Iompórtáil seirbhísí", 57 "login.changeServer": "Change server",
58 "infobar.buttonChangelog" : "Cad atá nua?", 58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "infobar.buttonInstallUpdate" : "Atosaigh ⁊ suiteáil nuashonrú", 59 "login.customServerSuggestion": "Try importing your Franz account",
60 "infobar.buttonReloadServices" : "Athlódáil seirbhísí", 60 "login.email.label": "Seoladh ríomhphoist",
61 "infobar.requiredRequestsFailed" : "Ní féidir seirbhísí agus eolas úsáideora a lódáil", 61 "login.headline": "Logáil isteach",
62 "infobar.servicesUpdated" : "Nuashonraíodh do sheirbhísí.", 62 "login.invalidCredentials": "Seoladh ríomhphoist nó pasfhocal neamhbhailí",
63 "infobar.trialActivated" : "Your trial was successfully activated. Happy messaging!", 63 "login.link.password": "Athshocraigh pasfhocal",
64 "infobar.updateAvailable" : "Tá nuashonrú nua do Franz ar fáil.", 64 "login.link.signup": "Cruthaigh cuntas saor in aisce",
65 "invite.email.label" : "Seoladh ríomhphoist", 65 "login.password.label": "Password",
66 "invite.headline.friends" : "Tabhair cuireadh do thriúr chara nó chomhghleacaí", 66 "login.serverLogout": "D'éag do sheisiún, logáil isteach arís le do thoil.",
67 "invite.name.label" : "Ainm", 67 "login.submit.label": "Logáil isteach",
68 "invite.skip.label" : "Ba mhaith liom é seo a dhéanamh níos deireanaí", 68 "login.tokenExpired": "D'éag do sheisiún, logáil isteach arís le do thoil.",
69 "invite.submit.label" : "Seol cuirí", 69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "invite.successInfo" : "Cuirí seolta go rathúil", 70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "login.email.label" : "Seoladh ríomhphoist", 71 "menu.app.about": "Faoi Ferdi",
72 "login.headline" : "Logáil isteach", 72 "menu.app.announcement": "What's new?",
73 "login.invalidCredentials" : "Seoladh ríomhphoist nó pasfhocal neamhbhailí", 73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "login.link.password" : "Athshocraigh pasfhocal", 74 "menu.app.checkForUpdates": "Cuardaigh le nuashonruithe",
75 "login.link.signup" : "Cruthaigh cuntas saor in aisce", 75 "menu.app.hide": "Cuir Ferdi i bhfolach",
76 "login.password.label" : "Pasfhocal", 76 "menu.app.hideOthers": "Folaigh feidhmchláir eile",
77 "login.serverLogout" : "D'éag do sheisiún, logáil isteach arís le do thoil.", 77 "menu.app.quit": "Scoir",
78 "login.submit.label" : "Logáil isteach", 78 "menu.app.settings": "Socruithe",
79 "login.tokenExpired" : "D'éag do sheisiún, logáil isteach arís le do thoil.", 79 "menu.app.unhide": "Taispeáin",
80 "menu.Todoss.closeTodosDrawer" : "Close Todos drawer", 80 "menu.edit": "Cuir in eagar",
81 "menu.Todoss.openTodosDrawer" : "Open Todos drawer", 81 "menu.edit.copy": "Cóipeáil",
82 "menu.app.about" : "Faoi Franz", 82 "menu.edit.cut": "Gearr",
83 "menu.app.announcement" : "What's new?", 83 "menu.edit.delete": "Scrios",
84 "menu.app.checkForUpdates" : "Cuardaigh le nuashonruithe", 84 "menu.edit.emojiSymbols": "Straoiseoga ⁊ siombailí",
85 "menu.app.hide" : "Cuir Franz i bhfolach", 85 "menu.edit.paste": "Greamaigh",
86 "menu.app.hideOthers" : "Folaigh feidhmchláir eile", 86 "menu.edit.pasteAndMatchStyle": "Greamaigh agus cuir stíl in oiriúint",
87 "menu.app.quit" : "Scoir", 87 "menu.edit.redo": "Athdhéan",
88 "menu.app.settings" : "Socruithe", 88 "menu.edit.selectAll": "Roghnaigh gach rud",
89 "menu.app.unhide" : "Taispeáin", 89 "menu.edit.speech": "Caint",
90 "menu.edit" : "Cuir in eagar", 90 "menu.edit.startDictation": "Tosaigh deachtú",
91 "menu.edit.copy" : "Cóipeáil", 91 "menu.edit.startSpeaking": "Tosaigh ag caint",
92 "menu.edit.cut" : "Gearr", 92 "menu.edit.stopSpeaking": "Stad ag caint",
93 "menu.edit.delete" : "Scrios", 93 "menu.edit.undo": "Cealaigh",
94 "menu.edit.emojiSymbols" : "Straoiseoga ⁊ siombailí", 94 "menu.file": "Comhad",
95 "menu.edit.paste" : "Greamaigh", 95 "menu.help": "Cabhair",
96 "menu.edit.pasteAndMatchStyle" : "Greamaigh agus cuir stíl in oiriúint", 96 "menu.help.changelog": "Athruithe",
97 "menu.edit.redo" : "Athdhéan", 97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.edit.selectAll" : "Roghnaigh gach rud", 98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.edit.speech" : "Caint", 99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.edit.startDictation" : "Tosaigh deachtú", 100 "menu.help.learnMore": "Tuilleadh eolais",
101 "menu.edit.startSpeaking" : "Tosaigh ag caint", 101 "menu.help.privacy": "Ráiteas phríobháideachais",
102 "menu.edit.stopSpeaking" : "Stad ag caint", 102 "menu.help.support": "Tacaíocht",
103 "menu.edit.undo" : "Cealaigh", 103 "menu.help.tos": "Téarmaí tagartha",
104 "menu.file" : "Comhad", 104 "menu.services": "Seirbhísí",
105 "menu.help" : "Cabhair", 105 "menu.services.activatePreviousService": "Activate previous service",
106 "menu.help.changelog" : "Athruithe", 106 "menu.services.addNewService": "Cuir seirbhís nua leis",
107 "menu.help.debugInfo" : "Copy Debug Information", 107 "menu.services.goHome": "Home",
108 "menu.help.debugInfoCopiedBody" : "Your Debug Information has been copied to your clipboard.", 108 "menu.services.setNextServiceActive": "Activate next service",
109 "menu.help.debugInfoCopiedHeadline" : "Franz Debug Information", 109 "menu.todos": "Todos",
110 "menu.help.learnMore" : "Tuilleadh eolais", 110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.help.privacy" : "Ráiteas phríobháideachais", 111 "menu.view": "Amharc",
112 "menu.help.support" : "Tacaíocht", 112 "menu.view.back": "Back",
113 "menu.help.tos" : "Téarmaí tagartha", 113 "menu.view.enterFullScreen": "Cuir isteach mód lánscáileáin",
114 "menu.services" : "Seirbhísí", 114 "menu.view.exitFullScreen": "Scoir mód lánscáileáin",
115 "menu.services.activatePreviousService" : "Activate previous service", 115 "menu.view.forward": "Forward",
116 "menu.services.addNewService" : "Cuir seirbhís nua leis", 116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.services.goHome" : "Home", 117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.services.setNextServiceActive" : "Activate next service", 118 "menu.view.reloadFranz": "Athlódáil Ferdi",
119 "menu.todos" : "Todos", 119 "menu.view.reloadService": "Athlódáil seirbhís",
120 "menu.todos.enableTodos" : "Enable Todos", 120 "menu.view.resetZoom": "Fíormhéid",
121 "menu.view" : "Amharc", 121 "menu.view.toggleDevTools": "Scoránaigh uirlis forbróra",
122 "menu.view.enterFullScreen" : "Cuir isteach mód lánscáileáin", 122 "menu.view.toggleFullScreen": "Scoránaigh mód lánscáileáin",
123 "menu.view.exitFullScreen" : "Scoir mód lánscáileáin", 123 "menu.view.toggleServiceDevTools": "Scoránaigh uirlis forbróra seirbhíse",
124 "menu.view.reloadFranz" : "Athlódáil Franz", 124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.reloadService" : "Athlódáil seirbhís", 125 "menu.view.zoomIn": "Zúmáil isteach",
126 "menu.view.resetZoom" : "Fíormhéid", 126 "menu.view.zoomOut": "Zúmáil amach",
127 "menu.view.toggleDevTools" : "Scoránaigh uirlis forbróra", 127 "menu.window": "Fuinneog",
128 "menu.view.toggleFullScreen" : "Scoránaigh mód lánscáileáin", 128 "menu.window.close": "Dún",
129 "menu.view.toggleServiceDevTools" : "Scoránaigh uirlis forbróra seirbhíse", 129 "menu.window.minimize": "Íoslaghdaigh",
130 "menu.view.toggleTodosDevTools" : "Toggle Todos Developer Tools", 130 "menu.workspaces": "Workspaces",
131 "menu.view.zoomIn" : "Zúmáil isteach", 131 "menu.workspaces.addNewWorkspace": "Add New Workspace...",
132 "menu.view.zoomOut" : "Zúmáil amach", 132 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
133 "menu.window" : "Fuinneog", 133 "menu.workspaces.defaultWorkspace": "Gach seirbhís",
134 "menu.window.close" : "Dún", 134 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
135 "menu.window.minimize" : "Íoslaghdaigh", 135 "password.email.label": "Seoladh ríomhphoist",
136 "menu.workspaces" : "Workspaces", 136 "password.headline": "Athshocraigh pasfhocal",
137 "menu.workspaces.addNewWorkspace" : "Add New Workspace...", 137 "password.link.login": "Logáil isteach i do chuntas",
138 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer", 138 "password.link.signup": "Cruthaigh cuntas saor in aisce",
139 "menu.workspaces.defaultWorkspace" : "Gach seirbhís", 139 "password.noUser": "Níor aimsíodh úsáideoir leis an seoladh ríomhphoist seo",
140 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer", 140 "password.submit.label": "Cuir isteach",
141 "password.email.label" : "Seoladh ríomhphoist", 141 "password.successInfo": "Seiceáil do chuid ríomhphoist le do thoil",
142 "password.headline" : "Athshocraigh pasfhocal", 142 "premiumFeature.button.upgradeAccount": "Upgrade account",
143 "password.link.login" : "Logáil isteach i do chuntas", 143 "pricing.features.adFree": "Forever ad-free",
144 "password.link.signup" : "Cruthaigh cuntas saor in aisce", 144 "pricing.features.appDelays": "No Waiting Screens",
145 "password.noUser" : "Níor aimsíodh úsáideoir leis an seoladh ríomhphoist seo", 145 "pricing.features.customWebsites": "Add Custom Websites",
146 "password.submit.label" : "Cuir isteach", 146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "password.successInfo" : "Seiceáil do chuid ríomhphoist le do thoil", 147 "pricing.features.serviceProxies": "Service Proxies",
148 "premiumFeature.button.upgradeAccount" : "Uasghrádaigh cuntas", 148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.accountSync" : "Account Synchronisation", 149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.adFree" : "Forever ad-free", 150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.appDelays" : "No Waiting Screens", 151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.customWebsites" : "Add Custom Websites", 152 "pricing.features.workspaces": "Workspaces",
153 "pricing.features.desktopNotifications" : "Desktop Notifications", 153 "pricing.plan.free": "Ferdi Free",
154 "pricing.features.onPremise" : "On-premise & other Hosted Services", 154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.features.recipes" : "Choose from more than 70 Services", 155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.features.serviceProxies" : "Service Proxies", 156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.features.spellchecker" : "Spellchecker support", 157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.features.teamManagement" : "Team Management", 158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.features.thirdPartyServices" : "Install 3rd party services", 159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.features.unlimitedServices" : "Add unlimited services", 160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.features.upToSixServices" : "Add up to 6 services", 161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.features.upToThreeServices" : "Add up to 3 services", 162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.features.workspaces" : "Workspaces", 163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.plan.free" : "Free", 164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.plan.legacy" : "Premium", 165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.plan.personal" : "Personal", 166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.plan.personal-monthly" : "Personal Monthly", 167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.plan.personal-yearly" : "Personal Yearly", 168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.plan.pro" : "Professional", 169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "pricing.plan.pro-monthly" : "Professional Monthly", 170 "service.crashHandler.action": "Athlódáil {name}",
171 "pricing.plan.pro-yearly" : "Professional Yearly", 171 "service.crashHandler.autoReload": "Ag iarraidh {name} a thabhairt ar ais go huathoibríoch i gceann {seconds} shoicind",
172 "pricing.trial.cta.accept" : "Start my 14-day Franz Professional Trial ", 172 "service.crashHandler.headline": "Oró, ní hea!",
173 "pricing.trial.cta.skip" : "Continue to Franz", 173 "service.crashHandler.text": "Tá {name} tar éis earráid a dhéanamh.",
174 "pricing.trial.cta.start" : "Start using Franz", 174 "service.disabledHandler.action": "Cumasaigh {name}",
175 "pricing.trial.error" : "Sorry, we could not activate your trial!", 175 "service.disabledHandler.headline": "Tá {name} díchumasaithe",
176 "pricing.trial.features.headline" : "Franz Professional includes:", 176 "service.errorHandler.action": "Athlódáil {name}",
177 "pricing.trial.headline.pro" : "Hi {name}, welcome to Franz", 177 "service.errorHandler.editAction": "Cuir {name} in eagar",
178 "pricing.trial.intro.happyMessaging" : "Happy messaging,", 178 "service.errorHandler.headline": "Oró, ní hea!",
179 "pricing.trial.intro.specialTreat" : "We have a special treat for you.", 179 "service.errorHandler.message": "Earráid",
180 "pricing.trial.intro.tryPro" : "Enjoy the full Franz Professional experience completely free for 14 days.", 180 "service.errorHandler.text": "{name} has failed to load.",
181 "pricing.trial.terms.automaticTrialEnd" : "Your free trial ends automatically after 14 days", 181 "service.restrictedHandler.action": "Upgrade Account",
182 "pricing.trial.terms.headline" : "No strings attached", 182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "pricing.trial.terms.noCreditCard" : "No credit card required", 183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "pricing.trial.terms.trialWorth" : "Free trial (normally {currency}{price} per month)", 184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.crashHandler.action" : "Athlódáil {name}", 185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.crashHandler.autoReload" : "Ag iarraidh {name} a thabhairt ar ais go huathoibríoch i gceann {seconds} shoicind", 186 "service.webviewLoader.loading": "Loading",
187 "service.crashHandler.headline" : "Oró, ní hea!", 187 "services.getStarted": "Cuir tús",
188 "service.crashHandler.text" : "Tá {name} tar éis earráid a dhéanamh.", 188 "services.login": "Please login to use Ferdi.",
189 "service.disabledHandler.action" : "Cumasaigh {name}", 189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "service.disabledHandler.headline" : "Tá {name} díchumasaithe", 190 "services.serverless": "Use Ferdi without an Account",
191 "service.errorHandler.action" : "Athlódáil {name}", 191 "services.welcome": "Fáilte go Ferdi",
192 "service.errorHandler.editAction" : "Cuir {name} in eagar", 192 "settings.account.account.editButton": "Cuir cuntas in eagar",
193 "service.errorHandler.headline" : "Oró, ní hea!", 193 "settings.account.accountType.basic": "Bunchuntas",
194 "service.errorHandler.message" : "Earráid", 194 "settings.account.accountType.premium": "Cuntas Phŕeimhthacadóra Ferdi",
195 "service.errorHandler.text" : "{name} has failed to load.", 195 "settings.account.buttonSave": "Nuashonraigh próifíl",
196 "service.restrictedHandler.action" : "Upgrade Account", 196 "settings.account.deleteAccount": "Scrios cuntas",
197 "service.restrictedHandler.customUrl.headline" : "Franz Professional Plan required", 197 "settings.account.deleteEmailSent": "Fuair tú ríomhphost chun scriosadh do chuntais a dheimhniú. Ní féidir do chuntas agus do chuid sonraí a thabhairt ar ais!",
198 "service.restrictedHandler.customUrl.text" : "Please upgrade to the Franz Professional plan to use custom urls & self hosted services.", 198 "settings.account.deleteInfo": "Más rud é nár ghá cuntas Ferdi a bheith agat a thuilleadh, is féidir do chuntas agus gach sonraí riachtanach a scriosadh anseo.",
199 "service.restrictedHandler.serviceLimit.headline" : "You have reached your service limit.", 199 "settings.account.headline": "Cuntas",
200 "service.restrictedHandler.serviceLimit.text" : "Please upgrade your account to use more than {count} services.", 200 "settings.account.headlineAccount": "Eolas faoin gcuntas",
201 "service.webviewLoader.loading" : "Loading", 201 "settings.account.headlineDangerZone": "Scrios cuntas",
202 "services.getStarted" : "Cuir tús", 202 "settings.account.headlineInvoices": "Sonraisc",
203 "services.welcome" : "Fáilte go Franz", 203 "settings.account.headlinePassword": "Athraigh pasfhocal",
204 "settings.account.account.editButton" : "Cuir cuntas in eagar", 204 "settings.account.headlineProfile": "Nuashonraigh próifíl",
205 "settings.account.accountType.basic" : "Bunchuntas", 205 "settings.account.headlineSubscription": "Do shíntiús",
206 "settings.account.accountType.premium" : "Cuntas Phŕeimhthacadóra Franz", 206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.buttonSave" : "Nuashonraigh próifíl", 207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.deleteAccount" : "Scrios cuntas", 208 "settings.account.invoiceDownload": "Íoslódáil",
209 "settings.account.deleteEmailSent" : "Fuair tú ríomhphost chun scriosadh do chuntais a dheimhniú. Ní féidir do chuntas agus do chuid sonraí a thabhairt ar ais!", 209 "settings.account.manageSubscription.label": "Bainistigh do shíntiús",
210 "settings.account.deleteInfo" : "Más rud é nár ghá cuntas Franz a bheith agat a thuilleadh, is féidir do chuntas agus gach sonraí riachtanach a scriosadh anseo.", 210 "settings.account.successInfo": "Sábháladh do chuid athruithe",
211 "settings.account.headline" : "Cuntas", 211 "settings.account.trial": "Free Trial",
212 "settings.account.headlineAccount" : "Eolas faoin gcuntas", 212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.headlineDangerZone" : "Scrios cuntas", 213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.headlineInvoices" : "Sonraisc", 214 "settings.account.tryReloadServices": "Atriail",
215 "settings.account.headlinePassword" : "Athraigh pasfhocal", 215 "settings.account.tryReloadUserInfoRequest": "Atriail",
216 "settings.account.headlineProfile" : "Nuashonraigh próifíl", 216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.headlineSubscription" : "Do shíntiús", 217 "settings.account.userInfoRequestFailed": "Ní féidir eolas úsáideora a lódáil",
218 "settings.account.headlineTrialUpgrade" : "Get the free 14 day Franz Professional Trial", 218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.account.headlineUpgradeAccount" : "Upgrade your account & get the full Franz experience", 219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.account.invoiceDownload" : "Íoslódáil", 220 "settings.app.buttonClearAllCache": "Glan taisce",
221 "settings.account.manageSubscription.label" : "Bainistigh do shíntiús", 221 "settings.app.buttonInstallUpdate": "Atosaigh ⁊ suiteáil nuashonrú",
222 "settings.account.successInfo" : "Sábháladh do chuid athruithe", 222 "settings.app.buttonSearchForUpdate": "Cuardaigh le nuashonruithe",
223 "settings.account.trial" : "Free Trial", 223 "settings.app.cacheInfo": "Tá taisce Ferdi ag baint úsáid as {size} den spás diosca.",
224 "settings.account.trialEndsIn" : "Your free trial ends in {duration}.", 224 "settings.app.currentVersion": "Leagan reatha:",
225 "settings.account.trialUpdateBillingInfo" : "Please update your billing info to continue using {license} after your trial period.", 225 "settings.app.form.accentColor": "Accent color",
226 "settings.account.tryReloadServices" : "Atriail", 226 "settings.app.form.autoLaunchInBackground": "Oscail sa chúlra",
227 "settings.account.tryReloadUserInfoRequest" : "Atriail", 227 "settings.app.form.autoLaunchOnStart": "Láinseáil Ferdi ón tús",
228 "settings.account.upgradeToPro.label" : "Upgrade to Franz Professional", 228 "settings.app.form.beta": "Cuir leagain béite san áireamh",
229 "settings.account.userInfoRequestFailed" : "Ní féidir eolas úsáideora a lódáil", 229 "settings.app.form.darkMode": "Join the Dark Side",
230 "settings.account.yourLicense" : "Your Franz License", 230 "settings.app.form.enableGPUAcceleration": "Cumasaigh luasghéarú APG",
231 "settings.app.buttonClearAllCache" : "Glan taisce", 231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.buttonInstallUpdate" : "Atosaigh ⁊ suiteáil nuashonrú", 232 "settings.app.form.enableSpellchecking": "Cumasaigh seiceáil litrithe",
233 "settings.app.buttonSearchForUpdate" : "Cuardaigh le nuashonruithe", 233 "settings.app.form.enableSystemTray": "Taispeáin Ferdi i dtráidire an chórais",
234 "settings.app.cacheInfo" : "Tá taisce Franz ag baint úsáid as {size} den spás diosca.", 234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.currentVersion" : "Leagan reatha:", 235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.autoLaunchInBackground" : "Oscail sa chúlra", 236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.autoLaunchOnStart" : "Láinseáil Franz ón tús", 237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.beta" : "Cuir leagain béite san áireamh", 238 "settings.app.form.language": "Teanga",
239 "settings.app.form.darkMode" : "Join the Dark Side", 239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.enableGPUAcceleration" : "Cumasaigh luasghéarú APG", 240 "settings.app.form.minimizeToSystemTray": "Íoslaghdaigh Ferdi chuig tráidire an chórais",
241 "settings.app.form.enableSpellchecking" : "Cumasaigh seiceáil litrithe", 241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.enableSystemTray" : "Taispeáin Franz i dtráidire an chórais", 242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.enableTodos" : "Enable Franz Todos", 243 "settings.app.form.runInBackground": "Coimeád Ferdi sa chúlra nuair a dhúntar an fhuinneog",
244 "settings.app.form.keepAllWorkspacesLoaded" : "Keep all workspaces loaded", 244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.language" : "Teanga", 245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.minimizeToSystemTray" : "Íoslaghdaigh Franz chuig tráidire an chórais", 246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.runInBackground" : "Coimeád Franz sa chúlra nuair a dhúntar an fhuinneog", 247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices" : "Taispeáin tabanna do sheirbhísí dhíchumasaithe", 248 "settings.app.form.showDisabledServices": "Taispeáin tabanna do sheirbhísí dhíchumasaithe",
249 "settings.app.form.showMessagesBadgesWhenMuted" : "Taispeáin teachtaireachtaí neamhléite, nuair a dhíchumasaítear fógraí", 249 "settings.app.form.showMessagesBadgesWhenMuted": "Taispeáin teachtaireachtaí neamhléite, nuair a dhíchumasaítear fógraí",
250 "settings.app.headline" : "Socruithe", 250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.headlineAdvanced" : "Casta", 251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.headlineAppearance" : "Dealramh", 252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headlineGeneral" : "Ginearálta", 253 "settings.app.headline": "Socruithe",
254 "settings.app.headlineLanguage" : "Teanga", 254 "settings.app.headlineAdvanced": "Casta",
255 "settings.app.headlineUpdates" : "Nuashonruithe", 255 "settings.app.headlineAppearance": "Dealramh",
256 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.", 256 "settings.app.headlineGeneral": "Ginearálta",
257 "settings.app.restartRequired" : "Ní gá atosú chun athruithe a chur i bhfeidhm.", 257 "settings.app.headlineLanguage": "Teanga",
258 "settings.app.subheadlineCache" : "Taisce", 258 "settings.app.headlineUpdates": "Nuashonruithe",
259 "settings.app.translationHelp" : "Cabhraigh linn Franz a aistriú i do theanga.", 259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.updateStatusAvailable" : "Nuashonrú le fáil, ag íoslódáil...", 260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.updateStatusSearching" : "Ag cuardach le nuashonruithe", 261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.updateStatusUpToDate" : "Tá tú ag baint úsáid as an leagan is deireanaí de Franz", 262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.invite.headline" : "Tabhair cuireadh do thriúr chara", 263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.navigation.account" : "Cuntas", 264 "settings.app.restartRequired": "Ní gá atosú chun athruithe a chur i bhfeidhm.",
265 "settings.navigation.availableServices" : "Seirbhísí le fáil", 265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.navigation.inviteFriends" : "Tabhair cuireadh do chairde", 266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.navigation.logout" : "Logáil amach", 267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.navigation.settings" : "Socruithe", 268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.navigation.team" : "Manage Team", 269 "settings.app.subheadlineCache": "Taisce",
270 "settings.navigation.yourServices" : "Do sheirbhísí", 270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.navigation.yourWorkspaces" : "Your workspaces", 271 "settings.app.translationHelp": "Cabhraigh linn Ferdi a aistriú i do theanga.",
272 "settings.recipes.all" : "Gach seirbhís", 272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.recipes.custom" : "Custom Services", 273 "settings.app.updateStatusAvailable": "Nuashonrú le fáil, ag íoslódáil...",
274 "settings.recipes.customService.headline.communityRecipes" : "Community 3rd Party Recipes", 274 "settings.app.updateStatusSearching": "Ag cuardach le nuashonruithe",
275 "settings.recipes.customService.headline.customRecipes" : "Custom 3rd Party Recipes", 275 "settings.app.updateStatusUpToDate": "Tá tú ag baint úsáid as an leagan is deireanaí de Ferdi",
276 "settings.recipes.customService.headline.devRecipes" : "Your Development Service Recipes", 276 "settings.invite.headline": "Tabhair cuireadh do thriúr chara",
277 "settings.recipes.customService.intro" : "To add a custom service, copy the service recipe to:", 277 "settings.navigation.account": "Cuntas",
278 "settings.recipes.customService.openDevDocs" : "Developer Documentation", 278 "settings.navigation.availableServices": "Seirbhísí le fáil",
279 "settings.recipes.customService.openFolder" : "Open folder", 279 "settings.navigation.logout": "Logáil amach",
280 "settings.recipes.headline" : "Seirbhísí le fáil", 280 "settings.navigation.settings": "Socruithe",
281 "settings.recipes.missingService" : "Seirbhís ar iarraidh?", 281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.recipes.mostPopular" : "Is coitianta", 282 "settings.navigation.team": "Manage Team",
283 "settings.recipes.nothingFound" : "Tá brón orm, ach níl seirbhís ar bith ag teacht le do théarma chuardach.", 283 "settings.navigation.yourServices": "Do sheirbhísí",
284 "settings.recipes.servicesSuccessfulAddedInfo" : "Seirbhís curtha go rathúil", 284 "settings.navigation.yourWorkspaces": "Your workspaces",
285 "settings.searchService" : "Cuardaigh seirbhís", 285 "settings.recipes.all": "Gach seirbhís",
286 "settings.service.error.goBack" : "Ar ais chuig seirbhísí", 286 "settings.recipes.custom": "Custom Services",
287 "settings.service.error.headline" : "Earráid", 287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.service.error.message" : "Ní féidir an oideas seirbhíse a lódáil.", 288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.service.form.addServiceHeadline" : "Cuir {name} leis", 289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.service.form.availableServices" : "Seirbhísí le fáil", 290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.service.form.customUrl" : "Freastalaí saincheaptha", 291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.service.form.customUrlPremiumInfo" : "Chun seirbhísí féinóstáilte a chur le Franz, ní gá Cuntas Phŕeimhthacadóra Franz a bheith agat.", 292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.service.form.customUrlUpgradeAccount" : "Uasghrádaigh do chuntas", 293 "settings.recipes.headline": "Seirbhísí le fáil",
294 "settings.service.form.customUrlValidationError" : "Ní féidir seirbhís {name} saincheaptha a dheimhniú", 294 "settings.recipes.missingService": "Seirbhís ar iarraidh?",
295 "settings.service.form.deleteButton" : "Scrios seirbhís", 295 "settings.recipes.mostPopular": "Is coitianta",
296 "settings.service.form.editServiceHeadline" : "Cuir {name} in eagar", 296 "settings.recipes.nothingFound": "Tá brón orm, ach níl seirbhís ar bith ag teacht le do théarma chuardach.",
297 "settings.service.form.enableAudio" : "Cumasaigh fuaim", 297 "settings.recipes.servicesSuccessfulAddedInfo": "Seirbhís curtha go rathúil",
298 "settings.service.form.enableBadge" : "Taispeáin comhartha do theachtaireachtaí neamhléite", 298 "settings.searchService": "Cuardaigh seirbhís",
299 "settings.service.form.enableDarkMode" : "Enable Dark Mode", 299 "settings.service.error.goBack": "Ar ais chuig seirbhísí",
300 "settings.service.form.enableNotification" : "Cumasaigh fógraí", 300 "settings.service.error.headline": "Earráid",
301 "settings.service.form.enableService" : "Cumasaigh seirbhís", 301 "settings.service.error.message": "Ní féidir an oideas seirbhíse a lódáil.",
302 "settings.service.form.headlineBadges" : "Comhartha do theachtaireachtaí neamhléite", 302 "settings.service.form.addServiceHeadline": "Cuir {name} leis",
303 "settings.service.form.headlineGeneral" : "Ginearálta", 303 "settings.service.form.availableServices": "Seirbhísí le fáil",
304 "settings.service.form.headlineNotifications" : "Fógraí", 304 "settings.service.form.customUrl": "Freastalaí saincheaptha",
305 "settings.service.form.icon" : "Deilbhín saincheaptha", 305 "settings.service.form.customUrlPremiumInfo": "Chun seirbhísí féinóstáilte a chur le Ferdi, ní gá Cuntas Phŕeimhthacadóra Ferdi a bheith agat.",
306 "settings.service.form.iconDelete" : "Scrios", 306 "settings.service.form.customUrlUpgradeAccount": "Uasghrádaigh do chuntas",
307 "settings.service.form.iconUpload" : "Scaoil d'íomhá nó cliceáil anseo", 307 "settings.service.form.customUrlValidationError": "Ní féidir seirbhís {name} saincheaptha a dheimhniú",
308 "settings.service.form.indirectMessageInfo" : "Gheobhaidh tú fógraí faoi gach teachtaireacht nua i mbealach, ní amháin @username, @channel, @here, ...", 308 "settings.service.form.deleteButton": "Scrios seirbhís",
309 "settings.service.form.indirectMessages" : "Taispeáin comhartha theachtaireachta do gach teachtaireacht nua", 309 "settings.service.form.editServiceHeadline": "Cuir {name} in eagar",
310 "settings.service.form.isMutedInfo" : "Tachtar gach fuaim fógraí agus athchasadh fuaime", 310 "settings.service.form.enableAudio": "Cumasaigh fuaim",
311 "settings.service.form.name" : "Ainm", 311 "settings.service.form.enableBadge": "Taispeáin comhartha do theachtaireachtaí neamhléite",
312 "settings.service.form.proxy.headline" : "HTTP\/HTTPS Proxy Settings", 312 "settings.service.form.enableDarkMode": "Enable Dark Mode",
313 "settings.service.form.proxy.host" : "Proxy Host\/IP", 313 "settings.service.form.enableNotification": "Cumasaigh fógraí",
314 "settings.service.form.proxy.info" : "Proxy settings will not synced with the Franz servers.", 314 "settings.service.form.enableService": "Cumasaigh seirbhís",
315 "settings.service.form.proxy.isEnabled" : "Use Proxy", 315 "settings.service.form.headlineBadges": "Comhartha do theachtaireachtaí neamhléite",
316 "settings.service.form.proxy.password" : "Password (optional)", 316 "settings.service.form.headlineGeneral": "Ginearálta",
317 "settings.service.form.proxy.port" : "Port", 317 "settings.service.form.headlineNotifications": "Fógraí",
318 "settings.service.form.proxy.restartInfo" : "Please restart Franz after changing proxy Settings.", 318 "settings.service.form.icon": "Deilbhín saincheaptha",
319 "settings.service.form.proxy.user" : "User (optional)", 319 "settings.service.form.iconDelete": "Scrios",
320 "settings.service.form.saveButton" : "Sábháil seirbhís", 320 "settings.service.form.iconUpload": "Scaoil d'íomhá nó cliceáil anseo",
321 "settings.service.form.tabHosted" : "Óstáilte", 321 "settings.service.form.indirectMessageInfo": "Gheobhaidh tú fógraí faoi gach teachtaireacht nua i mbealach, ní amháin @username, @channel, @here, ...",
322 "settings.service.form.tabOnPremise" : "Féinóstáilte ⭐️", 322 "settings.service.form.indirectMessages": "Taispeáin comhartha theachtaireachta do gach teachtaireacht nua",
323 "settings.service.form.team" : "Foireann", 323 "settings.service.form.isMutedInfo": "Tachtar gach fuaim fógraí agus athchasadh fuaime",
324 "settings.service.form.useHostedService" : "Bain úsáid as an seirbhís óstáilte {name}.", 324 "settings.service.form.name": "Ainm",
325 "settings.service.form.yourServices" : "Do sheirbhísí", 325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.services.deletedInfo" : "Seirbhís scriosta", 326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings",
327 "settings.services.discoverServices" : "Aimsigh seirbhísí", 327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.services.headline" : "Do sheirbhísí", 328 "settings.service.form.proxy.info": "Proxy settings will not synced with the Ferdi servers.",
329 "settings.services.noServicesAdded" : "Níl aon seirbhís curtha agat go fóill.", 329 "settings.service.form.proxy.isEnabled": "Use Proxy",
330 "settings.services.servicesRequestFailed" : "Could not load your services", 330 "settings.service.form.proxy.password": "Password (optional)",
331 "settings.services.tooltip.isDisabled" : "Seirbhís díchumasaithe", 331 "settings.service.form.proxy.port": "Port",
332 "settings.services.tooltip.isMuted" : "Tachtar gach fuaim", 332 "settings.service.form.proxy.restartInfo": "Please restart Ferdi after changing proxy Settings.",
333 "settings.services.tooltip.notificationsDisabled" : "Fógraí dhíchumasaithe", 333 "settings.service.form.proxy.user": "User (optional)",
334 "settings.services.updatedInfo" : "Sábháiltear do chuid athruithe", 334 "settings.service.form.saveButton": "Sábháil seirbhís",
335 "settings.team.contentHeadline" : "Franz for Teams", 335 "settings.service.form.tabHosted": "Óstáilte",
336 "settings.team.copy" : "Franz for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!", 336 "settings.service.form.tabOnPremise": "Féinóstáilte ⭐️",
337 "settings.team.headline" : "Foireann", 337 "settings.service.form.team": "Foireann",
338 "settings.team.intro" : "You and your team use Franz? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.", 338 "settings.service.form.useHostedService": "Bain úsáid as an seirbhís óstáilte {name}.",
339 "settings.team.manageAction" : "Manage your Team on meetfranz.com", 339 "settings.service.form.yourServices": "Do sheirbhísí",
340 "settings.team.upgradeAction" : "Upgrade your Account", 340 "settings.services.deletedInfo": "Seirbhís scriosta",
341 "settings.user.form.accountType.company" : "Comhlacht", 341 "settings.services.discoverServices": "Aimsigh seirbhísí",
342 "settings.user.form.accountType.individual" : "Ar leith", 342 "settings.services.headline": "Do sheirbhísí",
343 "settings.user.form.accountType.label" : "Cineál chuntais", 343 "settings.services.noServicesAdded": "Níl aon seirbhís curtha agat go fóill.",
344 "settings.user.form.accountType.non-profit" : "Neamhbhrabúis", 344 "settings.services.servicesRequestFailed": "Could not load your services",
345 "settings.user.form.currentPassword" : "Pasfhocal reatha", 345 "settings.services.tooltip.isDisabled": "Seirbhís díchumasaithe",
346 "settings.user.form.email" : "Ríomhphost", 346 "settings.services.tooltip.isMuted": "Tachtar gach fuaim",
347 "settings.user.form.firstname" : "Céadainm", 347 "settings.services.tooltip.notificationsDisabled": "Fógraí dhíchumasaithe",
348 "settings.user.form.lastname" : "Sloinne", 348 "settings.services.updatedInfo": "Sábháladh do chuid athruithe",
349 "settings.user.form.newPassword" : "Pasfhocal nua", 349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.workspace.add.form.name" : "Ainm", 350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.workspace.add.form.submitButton" : "Create workspace", 351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.workspace.form.buttonDelete" : "Delete workspace", 352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.workspace.form.buttonSave" : "Save workspace", 353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.workspace.form.name" : "Ainm", 354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace", 355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.workspace.form.yourWorkspaces" : "Your workspaces", 356 "settings.team.headline": "Foireann",
357 "settings.workspaces.deletedInfo" : "Workspace has been deleted", 357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.workspaces.headline" : "Your workspaces", 358 "settings.team.manageAction": "Manage your Team on getferdi.com",
359 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.", 359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.workspaces.tryReloadWorkspaces" : "Atriail", 360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.workspaces.updatedInfo" : "Your changes have been saved", 361 "settings.team.upgradeAction": "Upgrade your Account",
362 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces", 362 "settings.user.form.accountType.company": "Comhlacht",
363 "settings.workspaces.workspaceFeatureInfo" : "Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.", 363 "settings.user.form.accountType.individual": "Ar leith",
364 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces", 364 "settings.user.form.accountType.label": "Cineál chuntais",
365 "sidebar.addNewService" : "Cuir seirbhís nua leis", 365 "settings.user.form.accountType.non-profit": "Neamhbhrabúis",
366 "sidebar.closeTodosDrawer" : "Close Franz Todos", 366 "settings.user.form.currentPassword": "Pasfhocal reatha",
367 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer", 367 "settings.user.form.email": "Ríomhphost",
368 "sidebar.muteApp" : "Díchumasaigh fógraí ⁊ fuaim", 368 "settings.user.form.firstname": "Céadainm",
369 "sidebar.openTodosDrawer" : "Open Franz Todos", 369 "settings.user.form.lastname": "Sloinne",
370 "sidebar.openWorkspaceDrawer" : "Open workspace drawer", 370 "settings.user.form.newPassword": "Pasfhocal nua",
371 "sidebar.settings" : "Socruithe", 371 "settings.workspace.add.form.name": "Ainm",
372 "sidebar.unmuteApp" : "Cumasaigh fógraí ⁊ fuaim", 372 "settings.workspace.add.form.submitButton": "Create workspace",
373 "signup.email.label" : "Seoladh ríomhphoist", 373 "settings.workspace.form.buttonDelete": "Delete workspace",
374 "signup.emailDuplicate" : "Tá úsáideoir leis an seoladh ríomhphoist sin cheana féin", 374 "settings.workspace.form.buttonSave": "Save workspace",
375 "signup.firstname.label" : "Céadainm", 375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "signup.headline" : "Cláraigh", 376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "signup.lastname.label" : "Sloinne", 377 "settings.workspace.form.name": "Ainm",
378 "signup.legal.info" : "Agus tú ag cruthú cuntas Franz glacann tú le", 378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "signup.legal.privacy" : "Polasaí príobháideachais", 379 "settings.workspace.form.yourWorkspaces": "Your workspaces",
380 "signup.legal.terms" : "Tearmaí seirbhíse", 380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "signup.link.login" : "Cuntas agat cheana féin, logáil isteach?", 381 "settings.workspaces.headline": "Your workspaces",
382 "signup.password.label" : "Pasfhocal", 382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "signup.submit.label" : "Cruthaigh cuntas", 383 "settings.workspaces.tryReloadWorkspaces": "Atriail",
384 "subscription.bestValue" : "Best value", 384 "settings.workspaces.updatedInfo": "Sábháladh do chuid athruithe",
385 "subscription.cta.activateTrial" : "Yes, start the free Franz Professional trial", 385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
386 "subscription.cta.allOptions" : "See all options", 386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "subscription.cta.choosePlan" : "Choose your plan", 387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "subscription.includedProFeatures" : "The Franz Professional Plan includes:", 388 "sidebar.addNewService": "Cuir seirbhís nua leis",
389 "subscription.interval.per" : "per {interval}", 389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "subscription.interval.perMonth" : "per month", 390 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
391 "subscription.interval.perMonthPerUser" : "per month & user", 391 "sidebar.lockFerdi": "Lock Ferdi",
392 "subscription.planItem.upgradeAccount" : "Upgrade Account", 392 "sidebar.muteApp": "Díchumasaigh fógraí ⁊ fuaim",
393 "subscription.teaser.includedFeatures" : "Paid Franz Plans include:", 393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "subscription.teaser.intro" : "Franz 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!", 394 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
395 "subscriptionPopup.buttonCancel" : "Cealaigh", 395 "sidebar.settings": "Socruithe",
396 "subscriptionPopup.buttonDone" : "Déanta", 396 "sidebar.unmuteApp": "Cumasaigh fógraí ⁊ fuaim",
397 "tabs.item.deleteService" : "Scrios seirbhís", 397 "signup.email.label": "Seoladh ríomhphoist",
398 "tabs.item.disableAudio" : "Díchumasaigh fuaim", 398 "signup.emailDuplicate": "Tá úsáideoir leis an seoladh ríomhphoist sin cheana féin",
399 "tabs.item.disableNotifications" : "Díchumasaigh fógraí", 399 "signup.firstname.label": "Céadainm",
400 "tabs.item.disableService" : "Díchumasaigh seirbhís", 400 "signup.headline": "Cláraigh",
401 "tabs.item.edit" : "Cuir in eagar", 401 "signup.lastname.label": "Sloinne",
402 "tabs.item.enableAudio" : "Cumasaigh fuaim", 402 "signup.legal.info": "Agus tú ag cruthú cuntas Ferdi glacann tú le",
403 "tabs.item.enableNotification" : "Cumasaigh fógraí", 403 "signup.legal.privacy": "Ráiteas phríobháideachais",
404 "tabs.item.enableService" : "Cumasaigh seirbhís", 404 "signup.legal.terms": "Tearmaí seirbhíse",
405 "tabs.item.reload" : "Athlódáil", 405 "signup.link.login": "Cuntas agat cheana féin, logáil isteach?",
406 "validation.email" : "Níl {field} neamhbhailí", 406 "signup.password.label": "Password",
407 "validation.minLength" : "Ba cheart go mbeadh {field} ar a laghad {length} charactar fada", 407 "signup.submit.label": "Cruthaigh cuntas",
408 "validation.oneRequired" : "At least one is required", 408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "validation.required" : "Tá {field} de dhíth", 409 "subscription.cta.allOptions": "See all options",
410 "validation.url" : "Ní AAA bhailí é {field}", 410 "subscription.cta.choosePlan": "Choose your plan",
411 "webControls.back" : "Back", 411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "webControls.forward" : "Forward", 412 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:",
413 "webControls.goHome" : "Home", 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!",
414 "webControls.openInBrowser" : "Open in Browser", 414 "subscriptionPopup.buttonCancel": "Cealaigh",
415 "webControls.reload" : "Athlódáil", 415 "subscriptionPopup.buttonDone": "Déanta",
416 "welcome.loginButton" : "Logáil isteach i do chuntas", 416 "tabs.item.deleteService": "Scrios seirbhís",
417 "welcome.signupButton" : "Cruthaigh cuntas nua", 417 "tabs.item.disableAudio": "Díchumasaigh fuaim",
418 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace", 418 "tabs.item.disableNotifications": "Díchumasaigh fógraí",
419 "workspaceDrawer.allServices" : "Gach seirbhís", 419 "tabs.item.disableService": "Díchumasaigh seirbhís",
420 "workspaceDrawer.headline" : "Workspaces", 420 "tabs.item.edit": "Cuir in eagar",
421 "workspaceDrawer.item.contextMenuEdit" : "edit", 421 "tabs.item.enableAudio": "Cumasaigh fuaim",
422 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet", 422 "tabs.item.enableNotification": "Cumasaigh fógraí",
423 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace", 423 "tabs.item.enableService": "Cumasaigh seirbhís",
424 "workspaceDrawer.proFeatureBadge" : "Premium feature", 424 "tabs.item.reload": "Athlódáil",
425 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account", 425 "validation.email": "Níl {field} neamhbhailí",
426 "workspaceDrawer.workspaceFeatureInfo" : "<p>Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.<\/p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.<\/p>", 426 "validation.minLength": "Ba cheart go mbeadh {field} ar a laghad {length} charactar fada",
427 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings", 427 "validation.oneRequired": "At least one is required",
428 "workspaces.switchingIndicator.switchingTo" : "Switching to" 428 "validation.required": "Tá {field} de dhíth",
429 "validation.url": "Ní AAA bhailí é {field}",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Athlódáil",
435 "welcome.loginButton": "Logáil isteach i do chuntas",
436 "welcome.signupButton": "Cruthaigh cuntas saor in aisce",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "Gach seirbhís",
439 "workspaceDrawer.headline": "Workspaces",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
429} 448}
diff --git a/src/i18n/locales/he.json b/src/i18n/locales/he.json
new file mode 100644
index 000000000..628880d9f
--- /dev/null
+++ b/src/i18n/locales/he.json
@@ -0,0 +1,448 @@
1{
2 "app.errorHandler.action": "Reload",
3 "app.errorHandler.headline": "Something went wrong",
4 "feature.announcements.changelog.headline": "Changes in Ferdi {version}",
5 "feature.delayApp.headline": "Please purchase a Ferdi Supporter License to skip waiting",
6 "feature.delayApp.text": "Ferdi will continue in {seconds} seconds.",
7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
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",
11 "feature.delayApp.upgrade.actionShort": "Upgrade account",
12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.quickSwitch.search": "Search...",
14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.shareFranz.action.email": "Send as email",
17 "feature.shareFranz.action.facebook": "Share on Facebook",
18 "feature.shareFranz.action.twitter": "Share on Twitter",
19 "feature.shareFranz.headline": "Ferdi is better together!",
20 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
23 "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.",
25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "global.api.unhealthy": "Can't connect to Ferdi online services",
27 "global.franzProRequired": "Ferdi Professional Required",
28 "global.notConnectedToTheInternet": "You are not connected to the internet.",
29 "global.spellchecker.useDefault": "Use System Default ({default})",
30 "global.spellchecking.autodetect": "Detect language automatically",
31 "global.spellchecking.autodetect.short": "Automatic",
32 "global.spellchecking.language": "Spell checking language",
33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "import.headline": "Import your Ferdi 4 services",
35 "import.notSupportedHeadline": "Services not yet supported in Ferdi 5",
36 "import.skip.label": "I want to add services manually",
37 "import.submit.label": "Import services",
38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "infobar.buttonChangelog": "What is new?",
40 "infobar.buttonInstallUpdate": "Restart & install update",
41 "infobar.buttonReloadServices": "Reload services",
42 "infobar.requiredRequestsFailed": "Could not load services and user information",
43 "infobar.servicesUpdated": "Your services have been updated.",
44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "infobar.updateAvailable": "A new update for Ferdi is available.",
46 "invite.email.label": "Email address",
47 "invite.headline.friends": "Invite 3 of your friends or colleagues",
48 "invite.name.label": "Name",
49 "invite.skip.label": "I want to do this later",
50 "invite.submit.label": "Send invites",
51 "invite.successInfo": "Invitations sent successfully",
52 "locked.headline": "Locked",
53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "locked.invalidCredentials": "Password invalid",
55 "locked.password.label": "Password",
56 "locked.submit.label": "Unlock",
57 "login.changeServer": "Change server",
58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "login.customServerSuggestion": "Try importing your Franz account",
60 "login.email.label": "Email address",
61 "login.headline": "Sign in",
62 "login.invalidCredentials": "Email or password not valid",
63 "login.link.password": "Reset password",
64 "login.link.signup": "Create a free account",
65 "login.password.label": "Password",
66 "login.serverLogout": "Your session expired, please login again.",
67 "login.submit.label": "Sign in",
68 "login.tokenExpired": "Your session expired, please login again.",
69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "menu.app.about": "About Ferdi",
72 "menu.app.announcement": "What's new?",
73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "menu.app.checkForUpdates": "Check for updates",
75 "menu.app.hide": "Hide",
76 "menu.app.hideOthers": "Hide Others",
77 "menu.app.quit": "Quit",
78 "menu.app.settings": "Settings",
79 "menu.app.unhide": "Unhide",
80 "menu.edit": "Edit",
81 "menu.edit.copy": "Copy",
82 "menu.edit.cut": "Cut",
83 "menu.edit.delete": "Delete",
84 "menu.edit.emojiSymbols": "Emoji & Symbols",
85 "menu.edit.paste": "Paste",
86 "menu.edit.pasteAndMatchStyle": "Paste And Match Style",
87 "menu.edit.redo": "Redo",
88 "menu.edit.selectAll": "Select All",
89 "menu.edit.speech": "Speech",
90 "menu.edit.startDictation": "Start Dictation",
91 "menu.edit.startSpeaking": "Start Speaking",
92 "menu.edit.stopSpeaking": "Stop Speaking",
93 "menu.edit.undo": "Undo",
94 "menu.file": "File",
95 "menu.help": "Help",
96 "menu.help.changelog": "Changelog",
97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.help.learnMore": "Learn More",
101 "menu.help.privacy": "Privacy Statement",
102 "menu.help.support": "Support",
103 "menu.help.tos": "Terms of Service",
104 "menu.services": "Services",
105 "menu.services.activatePreviousService": "Activate previous service",
106 "menu.services.addNewService": "Add New Service...",
107 "menu.services.goHome": "Home",
108 "menu.services.setNextServiceActive": "Activate next service",
109 "menu.todos": "Todos",
110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.view": "View",
112 "menu.view.back": "Back",
113 "menu.view.enterFullScreen": "Enter Full Screen",
114 "menu.view.exitFullScreen": "Exit Full Screen",
115 "menu.view.forward": "Forward",
116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.view.reloadFranz": "Reload Ferdi",
119 "menu.view.reloadService": "Reload Service",
120 "menu.view.resetZoom": "Actual Size",
121 "menu.view.toggleDevTools": "Toggle Developer Tools",
122 "menu.view.toggleFullScreen": "Toggle Full Screen",
123 "menu.view.toggleServiceDevTools": "Toggle Service Developer Tools",
124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.zoomIn": "Zoom In",
126 "menu.view.zoomOut": "Zoom Out",
127 "menu.window": "Window",
128 "menu.window.close": "Close",
129 "menu.window.minimize": "Minimize",
130 "menu.workspaces": "Workspaces",
131 "menu.workspaces.addNewWorkspace": "Add New Workspace...",
132 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
133 "menu.workspaces.defaultWorkspace": "All services",
134 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
135 "password.email.label": "Email address",
136 "password.headline": "Reset password",
137 "password.link.login": "Sign in to your account",
138 "password.link.signup": "Create a free account",
139 "password.noUser": "No user with that email address was found",
140 "password.submit.label": "Submit",
141 "password.successInfo": "Please check your email",
142 "premiumFeature.button.upgradeAccount": "Upgrade account",
143 "pricing.features.adFree": "Forever ad-free",
144 "pricing.features.appDelays": "No Waiting Screens",
145 "pricing.features.customWebsites": "Add Custom Websites",
146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "pricing.features.serviceProxies": "Service Proxies",
148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.workspaces": "Workspaces",
153 "pricing.plan.free": "Ferdi Free",
154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "service.crashHandler.action": "Reload {name}",
171 "service.crashHandler.autoReload": "Trying to automatically restore {name} in {seconds} seconds",
172 "service.crashHandler.headline": "Oh no!",
173 "service.crashHandler.text": "{name} has caused an error.",
174 "service.disabledHandler.action": "Enable {name}",
175 "service.disabledHandler.headline": "{name} is disabled",
176 "service.errorHandler.action": "Reload {name}",
177 "service.errorHandler.editAction": "Edit {name}",
178 "service.errorHandler.headline": "Oh no!",
179 "service.errorHandler.message": "Error",
180 "service.errorHandler.text": "{name} has failed to load.",
181 "service.restrictedHandler.action": "Upgrade Account",
182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.webviewLoader.loading": "Loading",
187 "services.getStarted": "Get started",
188 "services.login": "Please login to use Ferdi.",
189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "services.serverless": "Use Ferdi without an Account",
191 "services.welcome": "Welcome to Ferdi",
192 "settings.account.account.editButton": "Edit account",
193 "settings.account.accountType.basic": "Basic Account",
194 "settings.account.accountType.premium": "Premium Supporter Account",
195 "settings.account.buttonSave": "Update profile",
196 "settings.account.deleteAccount": "Delete account",
197 "settings.account.deleteEmailSent": "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!",
198 "settings.account.deleteInfo": "If you don't need your Ferdi account any longer, you can delete your account and all related data here.",
199 "settings.account.headline": "Account",
200 "settings.account.headlineAccount": "Account information",
201 "settings.account.headlineDangerZone": "Danger Zone",
202 "settings.account.headlineInvoices": "Invoices",
203 "settings.account.headlinePassword": "Change password",
204 "settings.account.headlineProfile": "Update profile",
205 "settings.account.headlineSubscription": "Your subscription",
206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.invoiceDownload": "Download",
209 "settings.account.manageSubscription.label": "Manage your subscription",
210 "settings.account.successInfo": "Your changes have been saved",
211 "settings.account.trial": "Free Trial",
212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.tryReloadServices": "Try again",
215 "settings.account.tryReloadUserInfoRequest": "Try again",
216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.userInfoRequestFailed": "Could not load user information",
218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.app.buttonClearAllCache": "Clear cache",
221 "settings.app.buttonInstallUpdate": "Restart & install update",
222 "settings.app.buttonSearchForUpdate": "Check for updates",
223 "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.",
224 "settings.app.currentVersion": "Current version:",
225 "settings.app.form.accentColor": "Accent color",
226 "settings.app.form.autoLaunchInBackground": "Open in background",
227 "settings.app.form.autoLaunchOnStart": "Launch Ferdi on start",
228 "settings.app.form.beta": "Include beta versions",
229 "settings.app.form.darkMode": "Join the Dark Side",
230 "settings.app.form.enableGPUAcceleration": "Enable GPU Acceleration",
231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.form.enableSpellchecking": "Enable spell checking",
233 "settings.app.form.enableSystemTray": "Show Ferdi in system tray",
234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.language": "Language",
239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.minimizeToSystemTray": "Minimize Ferdi to system tray",
241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.runInBackground": "Keep Ferdi in background when closing the window",
244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices": "Display disabled services tabs",
249 "settings.app.form.showMessagesBadgesWhenMuted": "Show unread message badge when notifications are disabled",
250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headline": "Settings",
254 "settings.app.headlineAdvanced": "Advanced",
255 "settings.app.headlineAppearance": "Appearance",
256 "settings.app.headlineGeneral": "General",
257 "settings.app.headlineLanguage": "Language",
258 "settings.app.headlineUpdates": "Updates",
259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.app.restartRequired": "Changes require restart",
265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.app.subheadlineCache": "Cache",
270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.app.translationHelp": "Help us to translate Ferdi into your language.",
272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.app.updateStatusAvailable": "Update available, downloading...",
274 "settings.app.updateStatusSearching": "Is searching for update",
275 "settings.app.updateStatusUpToDate": "You are using the latest version of Ferdi",
276 "settings.invite.headline": "Invite Friends",
277 "settings.navigation.account": "Account",
278 "settings.navigation.availableServices": "Available services",
279 "settings.navigation.logout": "Logout",
280 "settings.navigation.settings": "Settings",
281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.navigation.team": "Manage Team",
283 "settings.navigation.yourServices": "Your services",
284 "settings.navigation.yourWorkspaces": "Your workspaces",
285 "settings.recipes.all": "All services",
286 "settings.recipes.custom": "Custom Services",
287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.recipes.headline": "Available services",
294 "settings.recipes.missingService": "Missing a service?",
295 "settings.recipes.mostPopular": "Most popular",
296 "settings.recipes.nothingFound": "Sorry, but no service matched your search term.",
297 "settings.recipes.servicesSuccessfulAddedInfo": "Service successfully added",
298 "settings.searchService": "Search service",
299 "settings.service.error.goBack": "Back to services",
300 "settings.service.error.headline": "Error",
301 "settings.service.error.message": "Could not load service recipe.",
302 "settings.service.form.addServiceHeadline": "Add {name}",
303 "settings.service.form.availableServices": "Available services",
304 "settings.service.form.customUrl": "Custom server",
305 "settings.service.form.customUrlPremiumInfo": "To add self hosted services, you need a Ferdi Premium Supporter Account.",
306 "settings.service.form.customUrlUpgradeAccount": "Upgrade your account",
307 "settings.service.form.customUrlValidationError": "Could not validate custom {name} server.",
308 "settings.service.form.deleteButton": "Delete service",
309 "settings.service.form.editServiceHeadline": "Edit {name}",
310 "settings.service.form.enableAudio": "Enable audio",
311 "settings.service.form.enableBadge": "Show unread message badges",
312 "settings.service.form.enableDarkMode": "Enable Dark Mode",
313 "settings.service.form.enableNotification": "Enable notifications",
314 "settings.service.form.enableService": "Enable service",
315 "settings.service.form.headlineBadges": "Unread message badges",
316 "settings.service.form.headlineGeneral": "General",
317 "settings.service.form.headlineNotifications": "Notifications",
318 "settings.service.form.icon": "Custom icon",
319 "settings.service.form.iconDelete": "Delete",
320 "settings.service.form.iconUpload": "Drop your image, or click here",
321 "settings.service.form.indirectMessageInfo": "You will be notified about all new messages in a channel, not just @username, @channel, @here, ...",
322 "settings.service.form.indirectMessages": "Show message badge for all new messages",
323 "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted",
324 "settings.service.form.name": "Name",
325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings",
327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.service.form.proxy.info": "Proxy settings will not synced with the Ferdi servers.",
329 "settings.service.form.proxy.isEnabled": "Use Proxy",
330 "settings.service.form.proxy.password": "Password (optional)",
331 "settings.service.form.proxy.port": "Port",
332 "settings.service.form.proxy.restartInfo": "Please restart Ferdi after changing proxy Settings.",
333 "settings.service.form.proxy.user": "User (optional)",
334 "settings.service.form.saveButton": "Save service",
335 "settings.service.form.tabHosted": "Hosted",
336 "settings.service.form.tabOnPremise": "Self hosted ⭐️",
337 "settings.service.form.team": "Team",
338 "settings.service.form.useHostedService": "Use the hosted {name} service.",
339 "settings.service.form.yourServices": "Your services",
340 "settings.services.deletedInfo": "Service has been deleted",
341 "settings.services.discoverServices": "Discover services",
342 "settings.services.headline": "Your services",
343 "settings.services.noServicesAdded": "You haven't added any services yet.",
344 "settings.services.servicesRequestFailed": "Could not load your services",
345 "settings.services.tooltip.isDisabled": "Service is disabled",
346 "settings.services.tooltip.isMuted": "All sounds are muted",
347 "settings.services.tooltip.notificationsDisabled": "Notifications are disabled",
348 "settings.services.updatedInfo": "Your changes have been saved",
349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.team.headline": "Team",
357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.team.manageAction": "Manage your Team on getferdi.com",
359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.team.upgradeAction": "Upgrade your Account",
362 "settings.user.form.accountType.company": "Company",
363 "settings.user.form.accountType.individual": "Individual",
364 "settings.user.form.accountType.label": "Account type",
365 "settings.user.form.accountType.non-profit": "Non-Profit",
366 "settings.user.form.currentPassword": "Current password",
367 "settings.user.form.email": "Email",
368 "settings.user.form.firstname": "First Name",
369 "settings.user.form.lastname": "Last Name",
370 "settings.user.form.newPassword": "New password",
371 "settings.workspace.add.form.name": "Name",
372 "settings.workspace.add.form.submitButton": "Create workspace",
373 "settings.workspace.form.buttonDelete": "Delete workspace",
374 "settings.workspace.form.buttonSave": "Save workspace",
375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "settings.workspace.form.name": "Name",
378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "settings.workspace.form.yourWorkspaces": "Your workspaces",
380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "settings.workspaces.headline": "Your workspaces",
382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "settings.workspaces.tryReloadWorkspaces": "Try again",
384 "settings.workspaces.updatedInfo": "Your changes have been saved",
385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "sidebar.addNewService": "Add new service",
389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
391 "sidebar.lockFerdi": "Lock Ferdi",
392 "sidebar.muteApp": "Disable notifications & audio",
393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
395 "sidebar.settings": "Settings",
396 "sidebar.unmuteApp": "Enable notifications & audio",
397 "signup.email.label": "Email address",
398 "signup.emailDuplicate": "A user with that email address already exists",
399 "signup.firstname.label": "First Name",
400 "signup.headline": "Sign up",
401 "signup.lastname.label": "Last Name",
402 "signup.legal.info": "By creating a Ferdi account you accept the",
403 "signup.legal.privacy": "Privacy Statement",
404 "signup.legal.terms": "Terms of service",
405 "signup.link.login": "Already have an account, sign in?",
406 "signup.password.label": "Password",
407 "signup.submit.label": "Create account",
408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "subscription.cta.allOptions": "See all options",
410 "subscription.cta.choosePlan": "Choose your plan",
411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "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!",
414 "subscriptionPopup.buttonCancel": "Cancel",
415 "subscriptionPopup.buttonDone": "Done",
416 "tabs.item.deleteService": "Delete service",
417 "tabs.item.disableAudio": "Disable audio",
418 "tabs.item.disableNotifications": "Disable notifications",
419 "tabs.item.disableService": "Disable service",
420 "tabs.item.edit": "Edit",
421 "tabs.item.enableAudio": "Enable audio",
422 "tabs.item.enableNotification": "Enable notifications",
423 "tabs.item.enableService": "Enable service",
424 "tabs.item.reload": "Reload",
425 "validation.email": "{field} is not valid",
426 "validation.minLength": "{field} should be at least {length} characters long",
427 "validation.oneRequired": "At least one is required",
428 "validation.required": "{field} is required",
429 "validation.url": "{field} is not a valid URL",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Reload",
435 "welcome.loginButton": "Login to your account",
436 "welcome.signupButton": "Create a free account",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "All services",
439 "workspaceDrawer.headline": "Workspaces",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
448}
diff --git a/src/i18n/locales/hr.json b/src/i18n/locales/hr.json
index 8640a215b..94ea0582d 100644
--- a/src/i18n/locales/hr.json
+++ b/src/i18n/locales/hr.json
@@ -1,429 +1,448 @@
1{ 1{
2 "app.errorHandler.action" : "Ponovno učitavanje", 2 "app.errorHandler.action": "Ponovno učitavanje",
3 "app.errorHandler.headline" : "Something went wrong", 3 "app.errorHandler.headline": "Something went wrong",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}", 4 "feature.announcements.changelog.headline": "Changes in Ferdi {version}",
5 "feature.delayApp.headline" : "Upgrade your Franz plan to skip the wait", 5 "feature.delayApp.headline": "Please purchase a Ferdi Supporter License to skip waiting",
6 "feature.delayApp.text" : "Franz will continue in {seconds} seconds.", 6 "feature.delayApp.text": "Ferdi will continue in {seconds} seconds.",
7 "feature.delayApp.trial.action" : "Yes, I want the free 14 day trial of Franz Professional", 7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort" : "Activate the free Franz Professional trial", 8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
9 "feature.delayApp.trial.headline" : "Get the free Franz Professional 14-days trial and skip the wait", 9 "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line",
10 "feature.delayApp.upgrade.action" : "Upgrade Franz", 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", 12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.planSelection.cta.stayOnFree" : "Stay on Free", 13 "feature.quickSwitch.search": "Search...",
14 "feature.planSelection.cta.trial" : "Start my free 14-days Trial", 14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.planSelection.cta.upgradePersonal" : "Choose Personal", 15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.planSelection.cta.upgradePro" : "Choose Professional", 16 "feature.shareFranz.action.email": "Send as email",
17 "feature.planSelection.free.text" : "Basic functionality", 17 "feature.shareFranz.action.facebook": "Share on Facebook",
18 "feature.planSelection.fullFeatureList" : "Complete comparison of all plans", 18 "feature.shareFranz.action.twitter": "Share on Twitter",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 19 "feature.shareFranz.headline": "Ferdi is better together!",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade" : "Choose Personal", 20 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
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.", 21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.planSelection.fullscreen.dialog.title" : "Downgrade your Franz Plan", 22 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
23 "feature.planSelection.fullscreen.subheadline" : "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.", 23 "feature.todos.premium.info": "Ferdi Todos are available to premium users now!",
24 "feature.planSelection.fullscreen.welcome" : "Are you ready to choose, {name}?", 24 "feature.todos.premium.rollout": "Everyone else will have to wait a little longer.",
25 "feature.planSelection.personal.text" : "More services, no waiting - ideal for personal use.", 25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "feature.planSelection.pricesBasedOnAnnualPayment" : "All prices based on yearly payment", 26 "global.api.unhealthy": "Nije se moguće povezati na Francove on-line servise. ",
27 "feature.planSelection.pro.text" : "Unlimited services and professional features for you - and your team.", 27 "global.franzProRequired": "Ferdi Professional Required",
28 "feature.serviceLimit.limitReached" : "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.", 28 "global.notConnectedToTheInternet": "Sada ste povezani s internetom. ",
29 "feature.shareFranz.action.email" : "Send as email", 29 "global.spellchecker.useDefault": "Use System Default ({default})",
30 "feature.shareFranz.action.facebook" : "Share on Facebook", 30 "global.spellchecking.autodetect": "Detect language automatically",
31 "feature.shareFranz.action.twitter" : "Share on Twitter", 31 "global.spellchecking.autodetect.short": "Automatic",
32 "feature.shareFranz.headline" : "Franz is better together!", 32 "global.spellchecking.language": "Spell checking language",
33 "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", 33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "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 @FranzMessenger", 34 "import.headline": "Uvezite svoje Franc 4 servise. ",
35 "feature.shareFranz.text" : "Tell your friends and colleagues how awesome Franz is and help us to spread the word.", 35 "import.notSupportedHeadline": "Franc 5 trenutno ne podržava taj servis",
36 "feature.todos.premium.info" : "Franz Todos are available to premium users now!", 36 "import.skip.label": "Želim ručno dodati ove usluge",
37 "feature.todos.premium.rollout" : "Everyone else will have to wait a little longer.", 37 "import.submit.label": "Uvezi servise",
38 "feature.todos.premium.upgrade" : "Upgrade Account", 38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "feature.trialStatusBar.cta" : "Upgrade now", 39 "infobar.buttonChangelog": "Šta je novo?",
40 "feature.trialStatusBar.expired" : "Your free Franz {plan} Trial has expired, please upgrade your account.", 40 "infobar.buttonInstallUpdate": "Ponovo pokreni i instaliraj ažuriranje",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 41 "infobar.buttonReloadServices": "Ponovo učitaj servise",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade" : "Choose Personal", 42 "infobar.requiredRequestsFailed": "Nemoguće učitati servise i korisničke informacije",
43 "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.", 43 "infobar.servicesUpdated": "Vaši servisi su ažurirani. ",
44 "feature.trialStatusBar.fullscreen.dialog.title" : "Downgrade your Franz Plan", 44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "feature.trialStatusBar.restTime" : "Your Free Franz {plan} Trial ends in {time}.", 45 "infobar.updateAvailable": "Novo ažuriranje Ferdi-a je dostupno. ",
46 "global.api.unhealthy" : "Nije se moguće povezati na Francove on-line servise. ", 46 "invite.email.label": "Vaša e-adresa:",
47 "global.franzProRequired" : "Franz Professional Required", 47 "invite.headline.friends": "Pozovite 3 vaša prijatelja ili kolege",
48 "global.notConnectedToTheInternet" : "Sada ste povezani s internetom. ", 48 "invite.name.label": "Ime",
49 "global.spellchecker.useDefault" : "Use System Default ({default})", 49 "invite.skip.label": "Želim da ovo uradim kasnije",
50 "global.spellchecking.autodetect" : "Detect language automatically", 50 "invite.submit.label": "Pošalji pozivnice",
51 "global.spellchecking.autodetect.short" : "Automatic", 51 "invite.successInfo": "Pozivnice uspješno poslane",
52 "global.spellchecking.language" : "Spell checking language", 52 "locked.headline": "Locked",
53 "global.upgradeButton.upgradeToPro" : "Upgrade to Franz Professional", 53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "import.headline" : "Uvezite svoje Franc 4 servise. ", 54 "locked.invalidCredentials": "Password invalid",
55 "import.notSupportedHeadline" : "Franc 5 trenutno ne podržava taj servis", 55 "locked.password.label": "Password",
56 "import.skip.label" : "Želim ručno dodati ove usluge", 56 "locked.submit.label": "Unlock",
57 "import.submit.label" : "Uvezi servise", 57 "login.changeServer": "Change server",
58 "infobar.buttonChangelog" : "Šta je novo?", 58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "infobar.buttonInstallUpdate" : "Ponovo pokreni i instaliraj ažuriranje", 59 "login.customServerSuggestion": "Try importing your Franz account",
60 "infobar.buttonReloadServices" : "Ponovo učitaj servise", 60 "login.email.label": "Vaša e-adresa:",
61 "infobar.requiredRequestsFailed" : "Nemoguće učitati servise i korisničke informacije", 61 "login.headline": "Prijavite se",
62 "infobar.servicesUpdated" : "Vaši servisi su ažurirani. ", 62 "login.invalidCredentials": "E-mail ili lozinka nisu točni",
63 "infobar.trialActivated" : "Your trial was successfully activated. Happy messaging!", 63 "login.link.password": "Stvaranje nove lozinke",
64 "infobar.updateAvailable" : "Novo ažuriranje Franz-a je dostupno. ", 64 "login.link.signup": "Stvorite besplatan račun",
65 "invite.email.label" : "Vaša e-adresa:", 65 "login.password.label": "Password",
66 "invite.headline.friends" : "Pozovite 3 vaša prijatelja ili kolege", 66 "login.serverLogout": "Vaša sesija je istekla, prijavite se ponovo.",
67 "invite.name.label" : "Ime", 67 "login.submit.label": "Prijavite se",
68 "invite.skip.label" : "Želim da ovo uradim kasnije", 68 "login.tokenExpired": "Vaša sesija je istekla, prijavite se ponovo.",
69 "invite.submit.label" : "Pošalji pozivnice", 69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "invite.successInfo" : "Pozivnice uspješno poslane", 70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "login.email.label" : "Vaša e-adresa:", 71 "menu.app.about": "O aplikaciji",
72 "login.headline" : "Prijavite se", 72 "menu.app.announcement": "What's new?",
73 "login.invalidCredentials" : "E-mail ili lozinka nisu točni", 73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "login.link.password" : "Stvaranje nove lozinke", 74 "menu.app.checkForUpdates": "Potraži ažuriranja",
75 "login.link.signup" : "Stvorite besplatan račun", 75 "menu.app.hide": "Hide",
76 "login.password.label" : "Lozinka", 76 "menu.app.hideOthers": "Hide Others",
77 "login.serverLogout" : "Vaša sesija je istekla, prijavite se ponovo.", 77 "menu.app.quit": "Quit",
78 "login.submit.label" : "Prijavite se", 78 "menu.app.settings": "Postavke",
79 "login.tokenExpired" : "Vaša sesija je istekla, prijavite se ponovo.", 79 "menu.app.unhide": "Unhide",
80 "menu.Todoss.closeTodosDrawer" : "Close Todos drawer", 80 "menu.edit": "Uredi",
81 "menu.Todoss.openTodosDrawer" : "Open Todos drawer", 81 "menu.edit.copy": "Copy",
82 "menu.app.about" : "O aplikaciji", 82 "menu.edit.cut": "Cut",
83 "menu.app.announcement" : "What's new?", 83 "menu.edit.delete": "Obriši",
84 "menu.app.checkForUpdates" : "Potraži ažuriranja", 84 "menu.edit.emojiSymbols": "Emoji & Symbols",
85 "menu.app.hide" : "Hide", 85 "menu.edit.paste": "Paste",
86 "menu.app.hideOthers" : "Hide Others", 86 "menu.edit.pasteAndMatchStyle": "Paste And Match Style",
87 "menu.app.quit" : "Quit", 87 "menu.edit.redo": "Redo",
88 "menu.app.settings" : "Postavke", 88 "menu.edit.selectAll": "Select All",
89 "menu.app.unhide" : "Unhide", 89 "menu.edit.speech": "Speech",
90 "menu.edit" : "Uredi", 90 "menu.edit.startDictation": "Start Dictation",
91 "menu.edit.copy" : "Copy", 91 "menu.edit.startSpeaking": "Start Speaking",
92 "menu.edit.cut" : "Cut", 92 "menu.edit.stopSpeaking": "Stop Speaking",
93 "menu.edit.delete" : "Obriši", 93 "menu.edit.undo": "Undo",
94 "menu.edit.emojiSymbols" : "Emoji & Symbols", 94 "menu.file": "File",
95 "menu.edit.paste" : "Paste", 95 "menu.help": "Help",
96 "menu.edit.pasteAndMatchStyle" : "Paste And Match Style", 96 "menu.help.changelog": "Changelog",
97 "menu.edit.redo" : "Redo", 97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.edit.selectAll" : "Select All", 98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.edit.speech" : "Speech", 99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.edit.startDictation" : "Start Dictation", 100 "menu.help.learnMore": "Learn More",
101 "menu.edit.startSpeaking" : "Start Speaking", 101 "menu.help.privacy": "Izjava o privatnosti ",
102 "menu.edit.stopSpeaking" : "Stop Speaking", 102 "menu.help.support": "Support",
103 "menu.edit.undo" : "Undo", 103 "menu.help.tos": "Terms of Service",
104 "menu.file" : "File", 104 "menu.services": "Services",
105 "menu.help" : "Help", 105 "menu.services.activatePreviousService": "Activate previous service",
106 "menu.help.changelog" : "Changelog", 106 "menu.services.addNewService": "Add New Service...",
107 "menu.help.debugInfo" : "Copy Debug Information", 107 "menu.services.goHome": "Home",
108 "menu.help.debugInfoCopiedBody" : "Your Debug Information has been copied to your clipboard.", 108 "menu.services.setNextServiceActive": "Activate next service",
109 "menu.help.debugInfoCopiedHeadline" : "Franz Debug Information", 109 "menu.todos": "Todos",
110 "menu.help.learnMore" : "Learn More", 110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.help.privacy" : "Izjava o privatnosti ", 111 "menu.view": "View",
112 "menu.help.support" : "Support", 112 "menu.view.back": "Back",
113 "menu.help.tos" : "Terms of Service", 113 "menu.view.enterFullScreen": "Enter Full Screen",
114 "menu.services" : "Services", 114 "menu.view.exitFullScreen": "Exit Full Screen",
115 "menu.services.activatePreviousService" : "Activate previous service", 115 "menu.view.forward": "Forward",
116 "menu.services.addNewService" : "Add New Service...", 116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.services.goHome" : "Home", 117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.services.setNextServiceActive" : "Activate next service", 118 "menu.view.reloadFranz": "Reload Ferdi",
119 "menu.todos" : "Todos", 119 "menu.view.reloadService": "Reload Service",
120 "menu.todos.enableTodos" : "Enable Todos", 120 "menu.view.resetZoom": "Actual Size",
121 "menu.view" : "View", 121 "menu.view.toggleDevTools": "Toggle Developer Tools",
122 "menu.view.enterFullScreen" : "Enter Full Screen", 122 "menu.view.toggleFullScreen": "Toggle Full Screen",
123 "menu.view.exitFullScreen" : "Exit Full Screen", 123 "menu.view.toggleServiceDevTools": "Toggle Service Developer Tools",
124 "menu.view.reloadFranz" : "Reload Franz", 124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.reloadService" : "Reload Service", 125 "menu.view.zoomIn": "Zoom In",
126 "menu.view.resetZoom" : "Actual Size", 126 "menu.view.zoomOut": "Zoom Out",
127 "menu.view.toggleDevTools" : "Toggle Developer Tools", 127 "menu.window": "Window",
128 "menu.view.toggleFullScreen" : "Toggle Full Screen", 128 "menu.window.close": "Close",
129 "menu.view.toggleServiceDevTools" : "Toggle Service Developer Tools", 129 "menu.window.minimize": "Minimize",
130 "menu.view.toggleTodosDevTools" : "Toggle Todos Developer Tools", 130 "menu.workspaces": "Workspaces",
131 "menu.view.zoomIn" : "Zoom In", 131 "menu.workspaces.addNewWorkspace": "Add New Workspace...",
132 "menu.view.zoomOut" : "Zoom Out", 132 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
133 "menu.window" : "Window", 133 "menu.workspaces.defaultWorkspace": "Sve usluge",
134 "menu.window.close" : "Close", 134 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
135 "menu.window.minimize" : "Minimize", 135 "password.email.label": "Vaša e-adresa:",
136 "menu.workspaces" : "Workspaces", 136 "password.headline": "Stvaranje nove lozinke",
137 "menu.workspaces.addNewWorkspace" : "Add New Workspace...", 137 "password.link.login": "Prijavite se na Vaš račun",
138 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer", 138 "password.link.signup": "Stvorite besplatan račun",
139 "menu.workspaces.defaultWorkspace" : "Sve usluge", 139 "password.noUser": "Ne postoji ni jedan korisnik s tom e-mail adresom",
140 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer", 140 "password.submit.label": "Pošalji",
141 "password.email.label" : "Vaša e-adresa", 141 "password.successInfo": "Molimo Vas da provjerite svoju e-mail adresu",
142 "password.headline" : "Stvorite novu zaporku", 142 "premiumFeature.button.upgradeAccount": "Upgrade account",
143 "password.link.login" : "Prijavite se na Vaš račun", 143 "pricing.features.adFree": "Forever ad-free",
144 "password.link.signup" : "Stvorite besplatan račun", 144 "pricing.features.appDelays": "No Waiting Screens",
145 "password.noUser" : "Ne postoji ni jedan korisnik s tom e-mail adresom", 145 "pricing.features.customWebsites": "Add Custom Websites",
146 "password.submit.label" : "Pošalji", 146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "password.successInfo" : "Molimo Vas da provjerite svoju e-mail adresu", 147 "pricing.features.serviceProxies": "Service Proxies",
148 "premiumFeature.button.upgradeAccount" : "Upgrade account", 148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.accountSync" : "Account Synchronisation", 149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.adFree" : "Forever ad-free", 150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.appDelays" : "No Waiting Screens", 151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.customWebsites" : "Add Custom Websites", 152 "pricing.features.workspaces": "Workspaces",
153 "pricing.features.desktopNotifications" : "Desktop Notifications", 153 "pricing.plan.free": "Ferdi Free",
154 "pricing.features.onPremise" : "On-premise & other Hosted Services", 154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.features.recipes" : "Choose from more than 70 Services", 155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.features.serviceProxies" : "Service Proxies", 156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.features.spellchecker" : "Spellchecker support", 157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.features.teamManagement" : "Team Management", 158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.features.thirdPartyServices" : "Install 3rd party services", 159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.features.unlimitedServices" : "Add unlimited services", 160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.features.upToSixServices" : "Add up to 6 services", 161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.features.upToThreeServices" : "Add up to 3 services", 162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.features.workspaces" : "Workspaces", 163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.plan.free" : "Free", 164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.plan.legacy" : "Premium", 165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.plan.personal" : "Personal", 166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.plan.personal-monthly" : "Personal Monthly", 167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.plan.personal-yearly" : "Personal Yearly", 168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.plan.pro" : "Professional", 169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "pricing.plan.pro-monthly" : "Professional Monthly", 170 "service.crashHandler.action": "Osvježi okvir",
171 "pricing.plan.pro-yearly" : "Professional Yearly", 171 "service.crashHandler.autoReload": "Pokušati ću automatski povratiti {ime} u {sekundi} sekundi",
172 "pricing.trial.cta.accept" : "Start my 14-day Franz Professional Trial ", 172 "service.crashHandler.headline": "O, ne! ",
173 "pricing.trial.cta.skip" : "Continue to Franz", 173 "service.crashHandler.text": "{name} je izazvalo grešku. ",
174 "pricing.trial.cta.start" : "Start using Franz", 174 "service.disabledHandler.action": "Omogući {name}",
175 "pricing.trial.error" : "Sorry, we could not activate your trial!", 175 "service.disabledHandler.headline": "{name} je onemogućen/o",
176 "pricing.trial.features.headline" : "Franz Professional includes:", 176 "service.errorHandler.action": "Osvježi okvir",
177 "pricing.trial.headline.pro" : "Hi {name}, welcome to Franz", 177 "service.errorHandler.editAction": "Uredite {ime}",
178 "pricing.trial.intro.happyMessaging" : "Happy messaging,", 178 "service.errorHandler.headline": "O, ne! ",
179 "pricing.trial.intro.specialTreat" : "We have a special treat for you.", 179 "service.errorHandler.message": "Greška",
180 "pricing.trial.intro.tryPro" : "Enjoy the full Franz Professional experience completely free for 14 days.", 180 "service.errorHandler.text": "{name} has failed to load.",
181 "pricing.trial.terms.automaticTrialEnd" : "Your free trial ends automatically after 14 days", 181 "service.restrictedHandler.action": "Upgrade Account",
182 "pricing.trial.terms.headline" : "No strings attached", 182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "pricing.trial.terms.noCreditCard" : "No credit card required", 183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "pricing.trial.terms.trialWorth" : "Free trial (normally {currency}{price} per month)", 184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.crashHandler.action" : "Osvježi okvir", 185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.crashHandler.autoReload" : "Pokušati ću automatski povratiti {ime} u {sekundi} sekundi", 186 "service.webviewLoader.loading": "Loading",
187 "service.crashHandler.headline" : "O, ne! ", 187 "services.getStarted": "Započnimo!",
188 "service.crashHandler.text" : "{name} je izazvalo grešku. ", 188 "services.login": "Please login to use Ferdi.",
189 "service.disabledHandler.action" : "Omogući {name}", 189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "service.disabledHandler.headline" : "{name} je onemogućen\/o", 190 "services.serverless": "Use Ferdi without an Account",
191 "service.errorHandler.action" : "Osvježi okvir", 191 "services.welcome": "Dobrodošli u Ferdi",
192 "service.errorHandler.editAction" : "Uredite {ime}", 192 "settings.account.account.editButton": "Uredi račun",
193 "service.errorHandler.headline" : "O, ne! ", 193 "settings.account.accountType.basic": "Osnovni račun",
194 "service.errorHandler.message" : "Greška", 194 "settings.account.accountType.premium": "Premium račun",
195 "service.errorHandler.text" : "{name} has failed to load.", 195 "settings.account.buttonSave": "Ažuriraj profil",
196 "service.restrictedHandler.action" : "Upgrade Account", 196 "settings.account.deleteAccount": "Izbrisati račun",
197 "service.restrictedHandler.customUrl.headline" : "Franz Professional Plan required", 197 "settings.account.deleteEmailSent": "Dobili ste email s linkom putem kojeg ćete potvrditi brisanje računa. Vaš račun i podatke neće biti moguće vratiti. ",
198 "service.restrictedHandler.customUrl.text" : "Please upgrade to the Franz Professional plan to use custom urls & self hosted services.", 198 "settings.account.deleteInfo": "Ako više ne trebate Ferdi račun, ovdje možete obrisati sve vezane podatke kao i račun.",
199 "service.restrictedHandler.serviceLimit.headline" : "You have reached your service limit.", 199 "settings.account.headline": "Korisnički račun",
200 "service.restrictedHandler.serviceLimit.text" : "Please upgrade your account to use more than {count} services.", 200 "settings.account.headlineAccount": "Informacije o računu",
201 "service.webviewLoader.loading" : "Loading", 201 "settings.account.headlineDangerZone": "Opasnost",
202 "services.getStarted" : "Započnimo!", 202 "settings.account.headlineInvoices": "Fakture",
203 "services.welcome" : "Dobrodošli u Franz", 203 "settings.account.headlinePassword": "Promijenite lozinku",
204 "settings.account.account.editButton" : "Uredi račun", 204 "settings.account.headlineProfile": "Ažuriraj profil",
205 "settings.account.accountType.basic" : "Osnovni račun", 205 "settings.account.headlineSubscription": "Vaša pretplata",
206 "settings.account.accountType.premium" : "Premium račun", 206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.buttonSave" : "Ažuriraj profil", 207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.deleteAccount" : "Izbrisati račun", 208 "settings.account.invoiceDownload": "Preuzmite",
209 "settings.account.deleteEmailSent" : "Dobili ste email s linkom putem kojeg ćete potvrditi brisanje računa. Vaš račun i podatke neće biti moguće vratiti. ", 209 "settings.account.manageSubscription.label": "Upravljajte pretplatama",
210 "settings.account.deleteInfo" : "Ako više ne trebate Franz račun, ovdje možete obrisati sve vezane podatke kao i račun.", 210 "settings.account.successInfo": "Vaše promjene su spremljene",
211 "settings.account.headline" : "Korisnički račun", 211 "settings.account.trial": "Free Trial",
212 "settings.account.headlineAccount" : "Informacije o računu", 212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.headlineDangerZone" : "Opasnost", 213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.headlineInvoices" : "Fakture", 214 "settings.account.tryReloadServices": "Pokušajte ponovno",
215 "settings.account.headlinePassword" : "Promijenite lozinku", 215 "settings.account.tryReloadUserInfoRequest": "Pokušajte ponovno",
216 "settings.account.headlineProfile" : "Ažurirajte profil", 216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.headlineSubscription" : "Vaša pretplata", 217 "settings.account.userInfoRequestFailed": "Nije moguće učitati informacije o korisniku",
218 "settings.account.headlineTrialUpgrade" : "Get the free 14 day Franz Professional Trial", 218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.account.headlineUpgradeAccount" : "Upgrade your account & get the full Franz experience", 219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.account.invoiceDownload" : "Preuzmite", 220 "settings.app.buttonClearAllCache": "Očisti memoriju",
221 "settings.account.manageSubscription.label" : "Upravljajte pretplatama", 221 "settings.app.buttonInstallUpdate": "Ponovo pokreni i instaliraj ažuriranje",
222 "settings.account.successInfo" : "Vaše promjene su spremljene", 222 "settings.app.buttonSearchForUpdate": "Potraži ažuriranja",
223 "settings.account.trial" : "Free Trial", 223 "settings.app.cacheInfo": "Ferdi predmemorija trenutno koristi {size} prostora na disku",
224 "settings.account.trialEndsIn" : "Your free trial ends in {duration}.", 224 "settings.app.currentVersion": "Trenutna verzija:",
225 "settings.account.trialUpdateBillingInfo" : "Please update your billing info to continue using {license} after your trial period.", 225 "settings.app.form.accentColor": "Accent color",
226 "settings.account.tryReloadServices" : "Pokušajte ponovno", 226 "settings.app.form.autoLaunchInBackground": "Otvori u pozadini",
227 "settings.account.tryReloadUserInfoRequest" : "Pokušajte ponovno", 227 "settings.app.form.autoLaunchOnStart": "Pokreni Ferdi sa sistemom",
228 "settings.account.upgradeToPro.label" : "Upgrade to Franz Professional", 228 "settings.app.form.beta": "Obuhvati i beta verzije",
229 "settings.account.userInfoRequestFailed" : "Nije moguće učitati informacije o korisniku", 229 "settings.app.form.darkMode": "Join the Dark Side",
230 "settings.account.yourLicense" : "Your Franz License", 230 "settings.app.form.enableGPUAcceleration": "Enable GPU Acceleration",
231 "settings.app.buttonClearAllCache" : "Očisti memoriju", 231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.buttonInstallUpdate" : "Ponovo pokreni i instaliraj ažuriranje", 232 "settings.app.form.enableSpellchecking": "Omogući provjeru pravopisa",
233 "settings.app.buttonSearchForUpdate" : "Potraži ažuriranja", 233 "settings.app.form.enableSystemTray": "Prikaži aplikaciju u sustavskoj traci",
234 "settings.app.cacheInfo" : "Franz predmemorija trenutno koristi {size} prostora na disku", 234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.currentVersion" : "Trenutna verzija:", 235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.autoLaunchInBackground" : "Otvori u pozadini", 236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.autoLaunchOnStart" : "Pokreni Franz sa sistemom", 237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.beta" : "Obuhvati i beta verzije", 238 "settings.app.form.language": "Jezik",
239 "settings.app.form.darkMode" : "Join the Dark Side", 239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.enableGPUAcceleration" : "Enable GPU Acceleration", 240 "settings.app.form.minimizeToSystemTray": "Smanji Franca u sustavsku traku",
241 "settings.app.form.enableSpellchecking" : "Omogući provjeru pravopisa", 241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.enableSystemTray" : "Prikaži aplikaciju u sustavskoj traci", 242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.enableTodos" : "Enable Franz Todos", 243 "settings.app.form.runInBackground": "Neka se Franc održava u pozadini i ako je prozor zatvoren",
244 "settings.app.form.keepAllWorkspacesLoaded" : "Keep all workspaces loaded", 244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.language" : "Jezik", 245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.minimizeToSystemTray" : "Smanji Franca u sustavsku traku", 246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.runInBackground" : "Neka se Franc održava u pozadini i ako je prozor zatvoren", 247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices" : "Prikaži ploče s onemogućenim servisima", 248 "settings.app.form.showDisabledServices": "Prikaži ploče s onemogućenim servisima",
249 "settings.app.form.showMessagesBadgesWhenMuted" : "Pokaži nepročitane značke poruka kad se obavještenja onemoguće", 249 "settings.app.form.showMessagesBadgesWhenMuted": "Pokaži nepročitane značke poruka kad se obavještenja onemoguće",
250 "settings.app.headline" : "Postavke", 250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.headlineAdvanced" : "Napredne alatke", 251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.headlineAppearance" : "Izgled", 252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headlineGeneral" : "Općenito", 253 "settings.app.headline": "Postavke",
254 "settings.app.headlineLanguage" : "Jezik", 254 "settings.app.headlineAdvanced": "Napredne alatke",
255 "settings.app.headlineUpdates" : "Nadogradnje", 255 "settings.app.headlineAppearance": "Izgled",
256 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.", 256 "settings.app.headlineGeneral": "Općenito",
257 "settings.app.restartRequired" : "Promjene postavki zahtijevaju ponovni zagon", 257 "settings.app.headlineLanguage": "Jezik",
258 "settings.app.subheadlineCache" : "Predmemorija", 258 "settings.app.headlineUpdates": "Nadogradnje",
259 "settings.app.translationHelp" : "Pomozite nam prevesti aplikaciju na Vaš jezik. ", 259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.updateStatusAvailable" : "Nadogradnja dostupna, preuzimanje...", 260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.updateStatusSearching" : "Traže se ažuriranja", 261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.updateStatusUpToDate" : "Koristite najnoviju verziju Franca.", 262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.invite.headline" : "Pozovi prijatelje", 263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.navigation.account" : "Račun", 264 "settings.app.restartRequired": "Promjene postavki zahtijevaju ponovni zagon",
265 "settings.navigation.availableServices" : "Dostupne usluge", 265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.navigation.inviteFriends" : "Pozovi prijatelje", 266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.navigation.logout" : "Odjava", 267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.navigation.settings" : "Postavke", 268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.navigation.team" : "Manage Team", 269 "settings.app.subheadlineCache": "Predmemorija",
270 "settings.navigation.yourServices" : "Vaše usluge", 270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.navigation.yourWorkspaces" : "Your workspaces", 271 "settings.app.translationHelp": "Pomozite nam prevesti aplikaciju na Vaš jezik. ",
272 "settings.recipes.all" : "Sve usluge", 272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.recipes.custom" : "Custom Services", 273 "settings.app.updateStatusAvailable": "Nadogradnja dostupna, preuzimanje...",
274 "settings.recipes.customService.headline.communityRecipes" : "Community 3rd Party Recipes", 274 "settings.app.updateStatusSearching": "Traže se ažuriranja",
275 "settings.recipes.customService.headline.customRecipes" : "Custom 3rd Party Recipes", 275 "settings.app.updateStatusUpToDate": "Koristite najnoviju verziju Franca.",
276 "settings.recipes.customService.headline.devRecipes" : "Your Development Service Recipes", 276 "settings.invite.headline": "Pozovi prijatelje",
277 "settings.recipes.customService.intro" : "To add a custom service, copy the service recipe to:", 277 "settings.navigation.account": "Korisnički račun",
278 "settings.recipes.customService.openDevDocs" : "Developer Documentation", 278 "settings.navigation.availableServices": "Dostupne usluge",
279 "settings.recipes.customService.openFolder" : "Open folder", 279 "settings.navigation.logout": "Odjava",
280 "settings.recipes.headline" : "Dostupne usluge", 280 "settings.navigation.settings": "Postavke",
281 "settings.recipes.missingService" : "Da li neki servis nedostaje?", 281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.recipes.mostPopular" : "Najpopularniji", 282 "settings.navigation.team": "Manage Team",
283 "settings.recipes.nothingFound" : "Žao nam je, ali ne postoje usluge koje se poklapaju s onima koje tražite. ", 283 "settings.navigation.yourServices": "Vaše usluge",
284 "settings.recipes.servicesSuccessfulAddedInfo" : "Usluga uspješno dodana. ", 284 "settings.navigation.yourWorkspaces": "Your workspaces",
285 "settings.searchService" : "Potraži servis", 285 "settings.recipes.all": "Sve usluge",
286 "settings.service.error.goBack" : "Nazad do servisa", 286 "settings.recipes.custom": "Custom Services",
287 "settings.service.error.headline" : "Greška", 287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.service.error.message" : "Nemoguće učitati sadržaj usluge. ", 288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.service.form.addServiceHeadline" : "Dodaj {ime}", 289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.service.form.availableServices" : "Dostupne usluge:", 290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.service.form.customUrl" : "Prilagođen server", 291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.service.form.customUrlPremiumInfo" : "Da bi ste dodali samo-hostovane usluge, potreban vam je Premium račun.", 292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.service.form.customUrlUpgradeAccount" : "Nadogradite Vaš račun", 293 "settings.recipes.headline": "Dostupne usluge",
294 "settings.service.form.customUrlValidationError" : "Nije moguće odobriti prilagođeno {ime} servera.", 294 "settings.recipes.missingService": "Da li neki servis nedostaje?",
295 "settings.service.form.deleteButton" : "Izbriši uslugu", 295 "settings.recipes.mostPopular": "Najpopularniji",
296 "settings.service.form.editServiceHeadline" : "Uredite {ime}", 296 "settings.recipes.nothingFound": "Žao nam je, ali ne postoje usluge koje se poklapaju s onima koje tražite. ",
297 "settings.service.form.enableAudio" : "Omogućite zvuk", 297 "settings.recipes.servicesSuccessfulAddedInfo": "Usluga uspješno dodana. ",
298 "settings.service.form.enableBadge" : "Show unread message badges", 298 "settings.searchService": "Potraži servis",
299 "settings.service.form.enableDarkMode" : "Enable Dark Mode", 299 "settings.service.error.goBack": "Nazad do servisa",
300 "settings.service.form.enableNotification" : "Omogućite obavijesti", 300 "settings.service.error.headline": "Greška",
301 "settings.service.form.enableService" : "Omogućite usluge", 301 "settings.service.error.message": "Nemoguće učitati sadržaj usluge. ",
302 "settings.service.form.headlineBadges" : "Unread message badges", 302 "settings.service.form.addServiceHeadline": "Dodaj {ime}",
303 "settings.service.form.headlineGeneral" : "Općenito", 303 "settings.service.form.availableServices": "Dostupne usluge",
304 "settings.service.form.headlineNotifications" : "Obavijesti", 304 "settings.service.form.customUrl": "Prilagođen server",
305 "settings.service.form.icon" : "Prilagođena ikona", 305 "settings.service.form.customUrlPremiumInfo": "Da bi ste dodali samo-hostovane usluge, potreban vam je Premium račun.",
306 "settings.service.form.iconDelete" : "Obriši", 306 "settings.service.form.customUrlUpgradeAccount": "Nadogradite Vaš račun",
307 "settings.service.form.iconUpload" : "Ispusti sliku ili klikni ovdje", 307 "settings.service.form.customUrlValidationError": "Nije moguće odobriti prilagođeno {ime} servera.",
308 "settings.service.form.indirectMessageInfo" : "Vi ćete biti obavješteni o svim novim porukama na kanalu, ne samo o @imenima, kanalima, @ovdje, ...", 308 "settings.service.form.deleteButton": "Izbriši uslugu",
309 "settings.service.form.indirectMessages" : "Prikaži značku na svim novim porukuama", 309 "settings.service.form.editServiceHeadline": "Uredite {ime}",
310 "settings.service.form.isMutedInfo" : "Kada je onemogućeno, sve obavijesti, svi zvukovi i sva pozadinska podrška će biti nečujna. ", 310 "settings.service.form.enableAudio": "Omogućite zvuk",
311 "settings.service.form.name" : "Ime", 311 "settings.service.form.enableBadge": "Show unread message badges",
312 "settings.service.form.proxy.headline" : "HTTP\/HTTPS Proxy Settings", 312 "settings.service.form.enableDarkMode": "Enable Dark Mode",
313 "settings.service.form.proxy.host" : "Proxy Host\/IP", 313 "settings.service.form.enableNotification": "Omogućite obavijesti",
314 "settings.service.form.proxy.info" : "Proxy settings will not synced with the Franz servers.", 314 "settings.service.form.enableService": "Omogućite usluge",
315 "settings.service.form.proxy.isEnabled" : "Use Proxy", 315 "settings.service.form.headlineBadges": "Unread message badges",
316 "settings.service.form.proxy.password" : "Password (optional)", 316 "settings.service.form.headlineGeneral": "Općenito",
317 "settings.service.form.proxy.port" : "Port", 317 "settings.service.form.headlineNotifications": "Obavijesti",
318 "settings.service.form.proxy.restartInfo" : "Please restart Franz after changing proxy Settings.", 318 "settings.service.form.icon": "Prilagođena ikona",
319 "settings.service.form.proxy.user" : "User (optional)", 319 "settings.service.form.iconDelete": "Obriši",
320 "settings.service.form.saveButton" : "Sačuvaj uslugu\/e", 320 "settings.service.form.iconUpload": "Ispusti sliku ili klikni ovdje",
321 "settings.service.form.tabHosted" : "Hostovano", 321 "settings.service.form.indirectMessageInfo": "Vi ćete biti obavješteni o svim novim porukama na kanalu, ne samo o @imenima, kanalima, @ovdje, ...",
322 "settings.service.form.tabOnPremise" : "Samo-hostovano ⭐️", 322 "settings.service.form.indirectMessages": "Prikaži značku na svim novim porukuama",
323 "settings.service.form.team" : "Tim", 323 "settings.service.form.isMutedInfo": "Kada je onemogućeno, sve obavijesti, svi zvukovi i sva pozadinska podrška će biti nečujna. ",
324 "settings.service.form.useHostedService" : "Use the hosted {name} service.", 324 "settings.service.form.name": "Ime",
325 "settings.service.form.yourServices" : "Vaše usluge", 325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.services.deletedInfo" : "Usluga je onemogućena", 326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings",
327 "settings.services.discoverServices" : "Pronađite usluge", 327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.services.headline" : "Vaše usluge", 328 "settings.service.form.proxy.info": "Proxy settings will not synced with the Ferdi servers.",
329 "settings.services.noServicesAdded" : "Još uvijek niste unijeli niti jednu uslugu.", 329 "settings.service.form.proxy.isEnabled": "Use Proxy",
330 "settings.services.servicesRequestFailed" : "Could not load your services", 330 "settings.service.form.proxy.password": "Password (optional)",
331 "settings.services.tooltip.isDisabled" : "Usluga je onemogućena. ", 331 "settings.service.form.proxy.port": "Port",
332 "settings.services.tooltip.isMuted" : "Svi zvukovi su onemogućeni. ", 332 "settings.service.form.proxy.restartInfo": "Please restart Ferdi after changing proxy Settings.",
333 "settings.services.tooltip.notificationsDisabled" : "Obavijesti su onemogućene.", 333 "settings.service.form.proxy.user": "User (optional)",
334 "settings.services.updatedInfo" : "Vaše promjene su pohranjene. ", 334 "settings.service.form.saveButton": "Sačuvaj uslugu/e",
335 "settings.team.contentHeadline" : "Franz for Teams", 335 "settings.service.form.tabHosted": "Hostovano",
336 "settings.team.copy" : "Franz for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!", 336 "settings.service.form.tabOnPremise": "Samo-hostovano ⭐️",
337 "settings.team.headline" : "Tim", 337 "settings.service.form.team": "Tim",
338 "settings.team.intro" : "You and your team use Franz? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.", 338 "settings.service.form.useHostedService": "Use the hosted {name} service.",
339 "settings.team.manageAction" : "Manage your Team on meetfranz.com", 339 "settings.service.form.yourServices": "Vaše usluge",
340 "settings.team.upgradeAction" : "Upgrade your Account", 340 "settings.services.deletedInfo": "Usluga je onemogućena",
341 "settings.user.form.accountType.company" : "Tvrtka", 341 "settings.services.discoverServices": "Pronađite usluge",
342 "settings.user.form.accountType.individual" : "Pojedinac", 342 "settings.services.headline": "Vaše usluge",
343 "settings.user.form.accountType.label" : "Tip računa", 343 "settings.services.noServicesAdded": "Još uvijek niste unijeli niti jednu uslugu.",
344 "settings.user.form.accountType.non-profit" : "Neprofitno ", 344 "settings.services.servicesRequestFailed": "Could not load your services",
345 "settings.user.form.currentPassword" : "Trenutna lozinka:", 345 "settings.services.tooltip.isDisabled": "Usluga je onemogućena. ",
346 "settings.user.form.email" : "E-pošta", 346 "settings.services.tooltip.isMuted": "Svi zvukovi su onemogućeni. ",
347 "settings.user.form.firstname" : "Ime", 347 "settings.services.tooltip.notificationsDisabled": "Obavijesti su onemogućene.",
348 "settings.user.form.lastname" : "Prezime", 348 "settings.services.updatedInfo": "Vaše promjene su spremljene",
349 "settings.user.form.newPassword" : "Nova lozinka", 349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.workspace.add.form.name" : "Ime", 350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.workspace.add.form.submitButton" : "Create workspace", 351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.workspace.form.buttonDelete" : "Delete workspace", 352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.workspace.form.buttonSave" : "Save workspace", 353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.workspace.form.name" : "Ime", 354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace", 355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.workspace.form.yourWorkspaces" : "Your workspaces", 356 "settings.team.headline": "Tim",
357 "settings.workspaces.deletedInfo" : "Workspace has been deleted", 357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.workspaces.headline" : "Your workspaces", 358 "settings.team.manageAction": "Manage your Team on getferdi.com",
359 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.", 359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.workspaces.tryReloadWorkspaces" : "Pokušajte ponovno", 360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.workspaces.updatedInfo" : "Your changes have been saved", 361 "settings.team.upgradeAction": "Upgrade your Account",
362 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces", 362 "settings.user.form.accountType.company": "Tvrtka",
363 "settings.workspaces.workspaceFeatureInfo" : "Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.", 363 "settings.user.form.accountType.individual": "Pojedinac",
364 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces", 364 "settings.user.form.accountType.label": "Tip računa",
365 "sidebar.addNewService" : "Dodajte novu uslugu", 365 "settings.user.form.accountType.non-profit": "Neprofitno ",
366 "sidebar.closeTodosDrawer" : "Close Franz Todos", 366 "settings.user.form.currentPassword": "Trenutna lozinka:",
367 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer", 367 "settings.user.form.email": "E-pošta",
368 "sidebar.muteApp" : "Ugasi obavijesti i zvuk", 368 "settings.user.form.firstname": "Ime",
369 "sidebar.openTodosDrawer" : "Open Franz Todos", 369 "settings.user.form.lastname": "Prezime",
370 "sidebar.openWorkspaceDrawer" : "Open workspace drawer", 370 "settings.user.form.newPassword": "Nova lozinka",
371 "sidebar.settings" : "Postavke", 371 "settings.workspace.add.form.name": "Ime",
372 "sidebar.unmuteApp" : "Omogući obavijesti i zvuk", 372 "settings.workspace.add.form.submitButton": "Create workspace",
373 "signup.email.label" : "Vaša e-adresa", 373 "settings.workspace.form.buttonDelete": "Delete workspace",
374 "signup.emailDuplicate" : "Već postoji korisnik s tom e-mail adresom", 374 "settings.workspace.form.buttonSave": "Save workspace",
375 "signup.firstname.label" : "Ime", 375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "signup.headline" : "Prijava", 376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "signup.lastname.label" : "Prezime", 377 "settings.workspace.form.name": "Ime",
378 "signup.legal.info" : "Prilikom stvaranja Franz računa, slažete se sa sljedećim stavkama:", 378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "signup.legal.privacy" : "Izjava o privatnosti ", 379 "settings.workspace.form.yourWorkspaces": "Your workspaces",
380 "signup.legal.terms" : "Uvjeti korištenja", 380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "signup.link.login" : "Imate račun? Prijavite se.", 381 "settings.workspaces.headline": "Your workspaces",
382 "signup.password.label" : "Lozinka", 382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "signup.submit.label" : "Napravite novi račun", 383 "settings.workspaces.tryReloadWorkspaces": "Pokušajte ponovno",
384 "subscription.bestValue" : "Best value", 384 "settings.workspaces.updatedInfo": "Vaše promjene su spremljene",
385 "subscription.cta.activateTrial" : "Yes, start the free Franz Professional trial", 385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
386 "subscription.cta.allOptions" : "See all options", 386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "subscription.cta.choosePlan" : "Choose your plan", 387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "subscription.includedProFeatures" : "The Franz Professional Plan includes:", 388 "sidebar.addNewService": "Dodajte novu uslugu",
389 "subscription.interval.per" : "per {interval}", 389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "subscription.interval.perMonth" : "per month", 390 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
391 "subscription.interval.perMonthPerUser" : "per month & user", 391 "sidebar.lockFerdi": "Lock Ferdi",
392 "subscription.planItem.upgradeAccount" : "Upgrade Account", 392 "sidebar.muteApp": "Ugasi obavijesti i zvuk",
393 "subscription.teaser.includedFeatures" : "Paid Franz Plans include:", 393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "subscription.teaser.intro" : "Franz 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!", 394 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
395 "subscriptionPopup.buttonCancel" : "Odustani", 395 "sidebar.settings": "Postavke",
396 "subscriptionPopup.buttonDone" : "Završeno", 396 "sidebar.unmuteApp": "Omogući obavijesti i zvuk",
397 "tabs.item.deleteService" : "Izbriši servis", 397 "signup.email.label": "Vaša e-adresa:",
398 "tabs.item.disableAudio" : "Onemogući zvuk", 398 "signup.emailDuplicate": "Već postoji korisnik s tom e-mail adresom",
399 "tabs.item.disableNotifications" : "Onemogući obavijesti", 399 "signup.firstname.label": "Ime",
400 "tabs.item.disableService" : "Onemogući servis", 400 "signup.headline": "Prijava",
401 "tabs.item.edit" : "Uredi", 401 "signup.lastname.label": "Prezime",
402 "tabs.item.enableAudio" : "Uključi zvuk", 402 "signup.legal.info": "Prilikom stvaranja Ferdi računa, slažete se sa sljedećim stavkama:",
403 "tabs.item.enableNotification" : "Omogući obavijesti", 403 "signup.legal.privacy": "Izjava o privatnosti ",
404 "tabs.item.enableService" : "Omogući usluge", 404 "signup.legal.terms": "Uvjeti korištenja",
405 "tabs.item.reload" : "Ponovno učitavanje", 405 "signup.link.login": "Imate račun? Prijavite se.",
406 "validation.email" : "{field} is not valid", 406 "signup.password.label": "Password",
407 "validation.minLength" : "{field} should be at least {length} characters long", 407 "signup.submit.label": "Napravite novi račun",
408 "validation.oneRequired" : "At least one is required", 408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "validation.required" : "{field} is required", 409 "subscription.cta.allOptions": "See all options",
410 "validation.url" : "{field} is not a valid URL", 410 "subscription.cta.choosePlan": "Choose your plan",
411 "webControls.back" : "Back", 411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "webControls.forward" : "Forward", 412 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:",
413 "webControls.goHome" : "Home", 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!",
414 "webControls.openInBrowser" : "Open in Browser", 414 "subscriptionPopup.buttonCancel": "Odustani",
415 "webControls.reload" : "Ponovno učitavanje", 415 "subscriptionPopup.buttonDone": "Završeno",
416 "welcome.loginButton" : "Prijavite se na račun", 416 "tabs.item.deleteService": "Izbriši uslugu",
417 "welcome.signupButton" : "Stvorite novi korisnički račun", 417 "tabs.item.disableAudio": "Onemogući zvuk",
418 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace", 418 "tabs.item.disableNotifications": "Onemogući obavijesti",
419 "workspaceDrawer.allServices" : "Sve usluge", 419 "tabs.item.disableService": "Onemogući servis",
420 "workspaceDrawer.headline" : "Workspaces", 420 "tabs.item.edit": "Uredi",
421 "workspaceDrawer.item.contextMenuEdit" : "edit", 421 "tabs.item.enableAudio": "Omogućite zvuk",
422 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet", 422 "tabs.item.enableNotification": "Omogućite obavijesti",
423 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace", 423 "tabs.item.enableService": "Omogućite usluge",
424 "workspaceDrawer.proFeatureBadge" : "Premium feature", 424 "tabs.item.reload": "Ponovno učitavanje",
425 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account", 425 "validation.email": "{field} is not valid",
426 "workspaceDrawer.workspaceFeatureInfo" : "<p>Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.<\/p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.<\/p>", 426 "validation.minLength": "{field} should be at least {length} characters long",
427 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings", 427 "validation.oneRequired": "At least one is required",
428 "workspaces.switchingIndicator.switchingTo" : "Switching to" 428 "validation.required": "{field} is required",
429 "validation.url": "{field} is not a valid URL",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Ponovno učitavanje",
435 "welcome.loginButton": "Prijavite se na račun",
436 "welcome.signupButton": "Stvorite besplatan račun",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "Sve usluge",
439 "workspaceDrawer.headline": "Workspaces",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
429} 448}
diff --git a/src/i18n/locales/hu.json b/src/i18n/locales/hu.json
index b537b869b..83d454eec 100644
--- a/src/i18n/locales/hu.json
+++ b/src/i18n/locales/hu.json
@@ -1,429 +1,448 @@
1{ 1{
2 "app.errorHandler.action" : "Újratöltés", 2 "app.errorHandler.action": "Újratöltés",
3 "app.errorHandler.headline" : "Valami nem jött össze", 3 "app.errorHandler.headline": "Valami nem jött össze",
4 "feature.announcements.changelog.headline" : "Franz {version} változásai", 4 "feature.announcements.changelog.headline": "Ferdi {version} változásai",
5 "feature.delayApp.headline" : "Upgrade your Franz plan to skip the wait", 5 "feature.delayApp.headline": "Kérjük vásárolj egy Franc Támogatói Liszencet a várakozás átugrásához",
6 "feature.delayApp.text" : "A Franz továbblép {seconds} másodperc múlva.", 6 "feature.delayApp.text": "A Ferdi továbblép {seconds} másodperc múlva.",
7 "feature.delayApp.trial.action" : "Igen, szeretném kipróbálni 14 napig a Franz Professional-t ingyen", 7 "feature.delayApp.trial.action": "Igen, szeretném kipróbálni 14 napig a Ferdi Professional-t ingyen",
8 "feature.delayApp.trial.actionShort" : "Aktiválom az ingyenes Franz Professional próbaidőszakot", 8 "feature.delayApp.trial.actionShort": "Aktiválom az ingyenes Ferdi Professional próbaidőszakot",
9 "feature.delayApp.trial.headline" : "Get the free Franz Professional 14-days trial and skip the wait", 9 "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line",
10 "feature.delayApp.upgrade.action" : "Upgrade Franz", 10 "feature.delayApp.upgrade.action": "Szerezz egy Ferdi Támogatói Liszencet",
11 "feature.delayApp.upgrade.actionShort" : "Fiók frissítése", 11 "feature.delayApp.upgrade.actionShort": "Fiók frissítése",
12 "feature.planSelection.cta.ctaDowngradeFree" : "Downgrade to Free", 12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.planSelection.cta.stayOnFree" : "Stay on Free", 13 "feature.quickSwitch.search": "Search...",
14 "feature.planSelection.cta.trial" : "Start my free 14-days Trial", 14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.planSelection.cta.upgradePersonal" : "Choose Personal", 15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.planSelection.cta.upgradePro" : "Choose Professional", 16 "feature.shareFranz.action.email": "Küldés email-ben",
17 "feature.planSelection.free.text" : "Basic functionality", 17 "feature.shareFranz.action.facebook": "Megosztás Facebook-on",
18 "feature.planSelection.fullFeatureList" : "Complete comparison of all plans", 18 "feature.shareFranz.action.twitter": "Megosztás Twitter-en",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 19 "feature.shareFranz.headline": "A Ferdi barátokkal együtt mégjobb!",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade" : "Choose Personal", 20 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
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.", 21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.planSelection.fullscreen.dialog.title" : "Downgrade your Franz Plan", 22 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
23 "feature.planSelection.fullscreen.subheadline" : "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.", 23 "feature.todos.premium.info": "A Ferdi Tennivalók már elérhető a prémium felhasználók részére!",
24 "feature.planSelection.fullscreen.welcome" : "Are you ready to choose, {name}?", 24 "feature.todos.premium.rollout": "Mindenki másnak még egy kicsit tovább kell várni.",
25 "feature.planSelection.personal.text" : "More services, no waiting - ideal for personal use.", 25 "feature.todos.premium.upgrade": "Fiók frissítése",
26 "feature.planSelection.pricesBasedOnAnnualPayment" : "All prices based on yearly payment", 26 "global.api.unhealthy": "Nem lehet csatlakozni a Ferdi online szolgáltatáshoz",
27 "feature.planSelection.pro.text" : "Unlimited services and professional features for you - and your team.", 27 "global.franzProRequired": "Ferdi Professional szükséges",
28 "feature.serviceLimit.limitReached" : "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.", 28 "global.notConnectedToTheInternet": "Nincs hálózati kapcsolat.",
29 "feature.shareFranz.action.email" : "Küldés email-ben", 29 "global.spellchecker.useDefault": "Rendszer alapbeállítás használata ({default})",
30 "feature.shareFranz.action.facebook" : "Megosztás Facebook-on", 30 "global.spellchecking.autodetect": "Automatikus nyelvdetektálás",
31 "feature.shareFranz.action.twitter" : "Megosztás Twitter-en", 31 "global.spellchecking.autodetect.short": "Automatikus",
32 "feature.shareFranz.headline" : "A Franz barátokkal együtt mégjobb!", 32 "global.spellchecking.language": "Helyesírás-ellenőrző nyelve",
33 "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", 33 "global.upgradeButton.upgradeToPro": "Frissítés Ferdi Professional-ra",
34 "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 @FranzMessenger", 34 "import.headline": "Importáld szolgáltatásaidat a Ferdi 4-ből",
35 "feature.shareFranz.text" : "Tell your friends and colleagues how awesome Franz is and help us to spread the word.", 35 "import.notSupportedHeadline": "Még nem támogatott szolgáltatások a Ferdi 5-ben",
36 "feature.todos.premium.info" : "A Franz Tennivalók már elérhető a prémium felhasználók részére!", 36 "import.skip.label": "Manuálisan szeretném hozzáadni a szolgáltatásokat",
37 "feature.todos.premium.rollout" : "Mindenki másnak még egy kicsit tovább kell várni.", 37 "import.submit.label": "Szolgáltatások importálása",
38 "feature.todos.premium.upgrade" : "Fiók frissítése", 38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "feature.trialStatusBar.cta" : "Upgrade now", 39 "infobar.buttonChangelog": "Mi változott?",
40 "feature.trialStatusBar.expired" : "Your free Franz {plan} Trial has expired, please upgrade your account.", 40 "infobar.buttonInstallUpdate": "Újraindítás és frissítés telepítése",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 41 "infobar.buttonReloadServices": "Szolgáltatások újratöltése",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade" : "Choose Personal", 42 "infobar.requiredRequestsFailed": "Szolgáltatások és felhasználói információk nem tölthetők be",
43 "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.", 43 "infobar.servicesUpdated": "A szolgáltatások frissítésre kerültek.",
44 "feature.trialStatusBar.fullscreen.dialog.title" : "Downgrade your Franz Plan", 44 "infobar.trialActivated": "A próbaidőszak aktiválva. Jó mulatást!",
45 "feature.trialStatusBar.restTime" : "Your Free Franz {plan} Trial ends in {time}.", 45 "infobar.updateAvailable": "Új frissítés érhető el a Ferdi-hoz.",
46 "global.api.unhealthy" : "Nem lehet csatlakozni a Franz online szolgáltatáshoz", 46 "invite.email.label": "Email cím",
47 "global.franzProRequired" : "Franz Professional szükséges", 47 "invite.headline.friends": "Hívd meg 3 barátodat vagy kollégádat",
48 "global.notConnectedToTheInternet" : "Nincs hálózati kapcsolat.", 48 "invite.name.label": "Név",
49 "global.spellchecker.useDefault" : "Rendszer alapbeállítás használata ({default})", 49 "invite.skip.label": "Későbbre halasztom",
50 "global.spellchecking.autodetect" : "Automatikus nyelvdetektálás", 50 "invite.submit.label": "Meghívók küldése",
51 "global.spellchecking.autodetect.short" : "Automatikus", 51 "invite.successInfo": "Meghívás sikeresen elküldve",
52 "global.spellchecking.language" : "Helyesírás-ellenőrző nyelve", 52 "locked.headline": "Locked",
53 "global.upgradeButton.upgradeToPro" : "Frissítés Franz Professional-ra", 53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "import.headline" : "Importáld szolgáltatásaidat a Franz 4-ből", 54 "locked.invalidCredentials": "Password invalid",
55 "import.notSupportedHeadline" : "Még nem támogatott szolgáltatások a Franz 5-ben", 55 "locked.password.label": "Password",
56 "import.skip.label" : "Manuálisan szeretném hozzáadni a szolgáltatásokat", 56 "locked.submit.label": "Unlock",
57 "import.submit.label" : "Szolgáltatások importálása", 57 "login.changeServer": "Change server",
58 "infobar.buttonChangelog" : "Mi változott?", 58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "infobar.buttonInstallUpdate" : "Újraindítás és frissítés telepítése", 59 "login.customServerSuggestion": "Try importing your Franz account",
60 "infobar.buttonReloadServices" : "Szolgáltatások újratöltése", 60 "login.email.label": "Email cím",
61 "infobar.requiredRequestsFailed" : "Szolgáltatások és felhasználói információk nem tölthetők be", 61 "login.headline": "Bejelentkezés",
62 "infobar.servicesUpdated" : "A szolgáltatások frissítésre kerültek.", 62 "login.invalidCredentials": "Hibás email cím vagy jelszó",
63 "infobar.trialActivated" : "A próbaidőszak aktiválva. Jó mulatást!", 63 "login.link.password": "Jelszó visszaállítás",
64 "infobar.updateAvailable" : "Új frissítés érhető el a Franz-hoz.", 64 "login.link.signup": "Új fiók létrehozása",
65 "invite.email.label" : "Email cím", 65 "login.password.label": "Password",
66 "invite.headline.friends" : "Hívd meg 3 barátodat vagy kollégádat", 66 "login.serverLogout": "A munkamenet lejárt, kérlek lépj be újra.",
67 "invite.name.label" : "Név", 67 "login.submit.label": "Bejelentkezés",
68 "invite.skip.label" : "Későbbre halasztom", 68 "login.tokenExpired": "A munkamenet lejárt, kérlek lépj be újra.",
69 "invite.submit.label" : "Meghívók küldése", 69 "menu.Todoss.closeTodosDrawer": "Tennivalók sáv bezárása",
70 "invite.successInfo" : "Meghívás sikeresen elküldve", 70 "menu.Todoss.openTodosDrawer": "Tennivalók sáv kinyitása",
71 "login.email.label" : "Email cím", 71 "menu.app.about": "Névjegy",
72 "login.headline" : "Bejelentkezés", 72 "menu.app.announcement": "Mi újság?",
73 "login.invalidCredentials" : "Hibás email cím vagy jelszó", 73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "login.link.password" : "Jelszó visszaállítás", 74 "menu.app.checkForUpdates": "Frissítések keresése",
75 "login.link.signup" : "Új fiók létrehozása", 75 "menu.app.hide": "Elrejt",
76 "login.password.label" : "Jelszó", 76 "menu.app.hideOthers": "Többi elrejtése",
77 "login.serverLogout" : "A munkamenet lejárt, kérlek lépj be újra.", 77 "menu.app.quit": "Kilépés",
78 "login.submit.label" : "Bejelentkezés", 78 "menu.app.settings": "Beállítások",
79 "login.tokenExpired" : "A munkamenet lejárt, kérlek lépj be újra.", 79 "menu.app.unhide": "Megjelenít",
80 "menu.Todoss.closeTodosDrawer" : "Tennivalók sáv bezárása", 80 "menu.edit": "Szerkesztés",
81 "menu.Todoss.openTodosDrawer" : "Tennivalók sáv kinyitása", 81 "menu.edit.copy": "Másolás",
82 "menu.app.about" : "Névjegy", 82 "menu.edit.cut": "Kivágás",
83 "menu.app.announcement" : "Mi újság?", 83 "menu.edit.delete": "Törlés",
84 "menu.app.checkForUpdates" : "Frissítések keresése", 84 "menu.edit.emojiSymbols": "Emoji és Szimbólumok",
85 "menu.app.hide" : "Elrejt", 85 "menu.edit.paste": "Beillesztés",
86 "menu.app.hideOthers" : "Többi elrejtése", 86 "menu.edit.pasteAndMatchStyle": "Beillesztés ugyanazzal a megjelenéssel",
87 "menu.app.quit" : "Kilépés", 87 "menu.edit.redo": "Újra",
88 "menu.app.settings" : "Beállítások", 88 "menu.edit.selectAll": "Összes kijelölése",
89 "menu.app.unhide" : "Megjelenít", 89 "menu.edit.speech": "Beszéd",
90 "menu.edit" : "Szerkesztés", 90 "menu.edit.startDictation": "Diktálás elkezdése",
91 "menu.edit.copy" : "Másolás", 91 "menu.edit.startSpeaking": "Beszélgetés kezdeményezése",
92 "menu.edit.cut" : "Kivágás", 92 "menu.edit.stopSpeaking": "Beszéd vége",
93 "menu.edit.delete" : "Törlés", 93 "menu.edit.undo": "Visszavonás",
94 "menu.edit.emojiSymbols" : "Emoji és Szimbólumok", 94 "menu.file": "Fájl",
95 "menu.edit.paste" : "Beillesztés", 95 "menu.help": "Súgó",
96 "menu.edit.pasteAndMatchStyle" : "Beillesztés ugyanazzal a megjelenéssel", 96 "menu.help.changelog": "Változások listája",
97 "menu.edit.redo" : "Újra", 97 "menu.help.debugInfo": "Hibajelentés másolása",
98 "menu.edit.selectAll" : "Összes kijelölése", 98 "menu.help.debugInfoCopiedBody": "A Hibajelentést a vágólapra másoltuk.",
99 "menu.edit.speech" : "Beszéd", 99 "menu.help.debugInfoCopiedHeadline": "Ferdi Hibajelentés",
100 "menu.edit.startDictation" : "Diktálás elkezdése", 100 "menu.help.learnMore": "Tudjon meg többet",
101 "menu.edit.startSpeaking" : "Beszélgetés kezdeményezése", 101 "menu.help.privacy": "Adatvédelmi Nyilatkozatot",
102 "menu.edit.stopSpeaking" : "Beszéd vége", 102 "menu.help.support": "Támogatás",
103 "menu.edit.undo" : "Visszavonás", 103 "menu.help.tos": "Felhasználói feltételek",
104 "menu.file" : "Fájl", 104 "menu.services": "Szolgáltatások",
105 "menu.help" : "Súgó", 105 "menu.services.activatePreviousService": "Előző szolgáltatás",
106 "menu.help.changelog" : "Változások listája", 106 "menu.services.addNewService": "Új szolgáltatás hozzáadása...",
107 "menu.help.debugInfo" : "Hibajelentés másolása", 107 "menu.services.goHome": "Home",
108 "menu.help.debugInfoCopiedBody" : "A Hibajelentést a vágólapra másoltuk.", 108 "menu.services.setNextServiceActive": "Következő szolgáltatás",
109 "menu.help.debugInfoCopiedHeadline" : "Franz Hibajelentés", 109 "menu.todos": "Tennivalók",
110 "menu.help.learnMore" : "Tudjon meg többet", 110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.help.privacy" : "Adatvédelmi Nyilatkozatot", 111 "menu.view": "Nézet",
112 "menu.help.support" : "Támogatás", 112 "menu.view.back": "Back",
113 "menu.help.tos" : "Felhasználói feltételek", 113 "menu.view.enterFullScreen": "Kilépés a teljes képernyős módból",
114 "menu.services" : "Szolgáltatások", 114 "menu.view.exitFullScreen": "Kilépés a teljes képernyős módból",
115 "menu.services.activatePreviousService" : "Előző szolgáltatás", 115 "menu.view.forward": "Forward",
116 "menu.services.addNewService" : "Új szolgáltatás hozzáadása...", 116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.services.goHome" : "Home", 117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.services.setNextServiceActive" : "Következő szolgáltatás", 118 "menu.view.reloadFranz": "Ferdi újrainditása",
119 "menu.todos" : "Tennivalók", 119 "menu.view.reloadService": "Szolgáltatás újraindítása",
120 "menu.todos.enableTodos" : "Enable Todos", 120 "menu.view.resetZoom": "Tényleges méret",
121 "menu.view" : "Nézet", 121 "menu.view.toggleDevTools": "Fejlesztői eszközök ki/bekapcsolása",
122 "menu.view.enterFullScreen" : "Kilépés a teljes képernyős módból", 122 "menu.view.toggleFullScreen": "Teljes képernyős mód ki/bekapcsolása",
123 "menu.view.exitFullScreen" : "Kilépés a teljes képernyős módból", 123 "menu.view.toggleServiceDevTools": "Szolgáltatás Fejlesztői Eszközök ki/bekapcsolása",
124 "menu.view.reloadFranz" : "Franz újrainditása", 124 "menu.view.toggleTodosDevTools": "Tennivalók Fejlesztői Eszközök kapcsolása",
125 "menu.view.reloadService" : "Szolgáltatás újraindítása", 125 "menu.view.zoomIn": "Nagyítás",
126 "menu.view.resetZoom" : "Tényleges méret", 126 "menu.view.zoomOut": "Kicsinyítés",
127 "menu.view.toggleDevTools" : "Fejlesztői eszközök ki\/bekapcsolása", 127 "menu.window": "Ablak",
128 "menu.view.toggleFullScreen" : "Teljes képernyős mód ki\/bekapcsolása", 128 "menu.window.close": "Bezárás",
129 "menu.view.toggleServiceDevTools" : "Szolgáltatás Fejlesztői Eszközök ki\/bekapcsolása", 129 "menu.window.minimize": "Tálcára",
130 "menu.view.toggleTodosDevTools" : "Tennivalók Fejlesztői Eszközök kapcsolása", 130 "menu.workspaces": "Munkaterületek",
131 "menu.view.zoomIn" : "Nagyítás", 131 "menu.workspaces.addNewWorkspace": "Új munkaterület...",
132 "menu.view.zoomOut" : "Kicsinyítés", 132 "menu.workspaces.closeWorkspaceDrawer": "Munkaterület panel bezárása",
133 "menu.window" : "Ablak", 133 "menu.workspaces.defaultWorkspace": "Összes szolgáltatás",
134 "menu.window.close" : "Bezárás", 134 "menu.workspaces.openWorkspaceDrawer": "Munkaterület panel kinyitása",
135 "menu.window.minimize" : "Tálcára", 135 "password.email.label": "Email cím",
136 "menu.workspaces" : "Munkaterületek", 136 "password.headline": "Jelszó visszaállítás",
137 "menu.workspaces.addNewWorkspace" : "Új munkaterület...", 137 "password.link.login": "Jelentkezz be a fiókodba",
138 "menu.workspaces.closeWorkspaceDrawer" : "Munkaterület panel bezárása", 138 "password.link.signup": "Új fiók létrehozása",
139 "menu.workspaces.defaultWorkspace" : "Összes szolgáltatás", 139 "password.noUser": "Nem található felhasználó a megadott email címmel",
140 "menu.workspaces.openWorkspaceDrawer" : "Munkaterület panel kinyitása", 140 "password.submit.label": "Küldés",
141 "password.email.label" : "Email cím", 141 "password.successInfo": "Ellenőrizd az email fiókodat",
142 "password.headline" : "Jelszó visszaállítása", 142 "premiumFeature.button.upgradeAccount": "Fiók frissítése",
143 "password.link.login" : "Jelentkezz be a fiókodba", 143 "pricing.features.adFree": "Hirdetésmentesség, örökre!",
144 "password.link.signup" : "Új fiók létrehozása", 144 "pricing.features.appDelays": "Nincsenek töltőképernyők",
145 "password.noUser" : "Nem található felhasználó a megadott email címmel", 145 "pricing.features.customWebsites": "Egyéni weboldalak megadása",
146 "password.submit.label" : "Küldés", 146 "pricing.features.onPremise": "Helyi és egyéb távoli szolgáltatások",
147 "password.successInfo" : "Ellenőrizd az email fiókodat", 147 "pricing.features.serviceProxies": "Szolgáltatás Proxy-k",
148 "premiumFeature.button.upgradeAccount" : "Fiók frissítése", 148 "pricing.features.spellchecker": "Helyesírás-ellenőrzés támogatás",
149 "pricing.features.accountSync" : "Account Synchronisation", 149 "pricing.features.teamManagement": "Csapatkezelés",
150 "pricing.features.adFree" : "Hirdetésmentesség, örökre!", 150 "pricing.features.thirdPartyServices": "Harmadik féltől származó szolgáltatások használata",
151 "pricing.features.appDelays" : "Nincsenek töltőképernyők", 151 "pricing.features.unlimitedServices": "Korlátlan szolgáltatások felvitele",
152 "pricing.features.customWebsites" : "Egyéni weboldalak megadása", 152 "pricing.features.workspaces": "Munkaterületek",
153 "pricing.features.desktopNotifications" : "Desktop Notifications", 153 "pricing.plan.free": "Ingyenes Ferdi",
154 "pricing.features.onPremise" : "Helyi és egyéb távoli szolgáltatások", 154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.features.recipes" : "Choose from more than 70 Services", 155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.features.serviceProxies" : "Szolgáltatás Proxy-k", 156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.features.spellchecker" : "Helyesírás-ellenőrzés támogatás", 157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.features.teamManagement" : "Csapatkezelés", 158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.features.thirdPartyServices" : "Harmadik féltől származó szolgáltatások használata", 159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.features.unlimitedServices" : "Korlátlan szolgáltatások felvitele", 160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.features.upToSixServices" : "Add up to 6 services", 161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.features.upToThreeServices" : "Add up to 3 services", 162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.features.workspaces" : "Munkaterületek", 163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.plan.free" : "Free", 164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.plan.legacy" : "Premium", 165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.plan.personal" : "Personal", 166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.plan.personal-monthly" : "Personal Monthly", 167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.plan.personal-yearly" : "Personal Yearly", 168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.plan.pro" : "Professional", 169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "pricing.plan.pro-monthly" : "Professional Monthly", 170 "service.crashHandler.action": "{name} újratöltése",
171 "pricing.plan.pro-yearly" : "Professional Yearly", 171 "service.crashHandler.autoReload": "{name} automatikusan helyreállítása {seconds} másodpercen belül",
172 "pricing.trial.cta.accept" : "Start my 14-day Franz Professional Trial ", 172 "service.crashHandler.headline": "Jajj ne!",
173 "pricing.trial.cta.skip" : "Continue to Franz", 173 "service.crashHandler.text": "{name} hibát okozott.",
174 "pricing.trial.cta.start" : "Start using Franz", 174 "service.disabledHandler.action": "{name} engedélyezése",
175 "pricing.trial.error" : "Sorry, we could not activate your trial!", 175 "service.disabledHandler.headline": "{name} letiltva",
176 "pricing.trial.features.headline" : "Franz Professional includes:", 176 "service.errorHandler.action": "{name} újratöltése",
177 "pricing.trial.headline.pro" : "Hi {name}, welcome to Franz", 177 "service.errorHandler.editAction": "{name} szerkesztése",
178 "pricing.trial.intro.happyMessaging" : "Happy messaging,", 178 "service.errorHandler.headline": "Jajj ne!",
179 "pricing.trial.intro.specialTreat" : "We have a special treat for you.", 179 "service.errorHandler.message": "Hiba",
180 "pricing.trial.intro.tryPro" : "Enjoy the full Franz Professional experience completely free for 14 days.", 180 "service.errorHandler.text": "{name} nem tudott betöltődni.",
181 "pricing.trial.terms.automaticTrialEnd" : "Your free trial ends automatically after 14 days", 181 "service.restrictedHandler.action": "Fiók frissítése",
182 "pricing.trial.terms.headline" : "No strings attached", 182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "pricing.trial.terms.noCreditCard" : "No credit card required", 183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "pricing.trial.terms.trialWorth" : "Free trial (normally {currency}{price} per month)", 184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.crashHandler.action" : "{name} újratöltése", 185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.crashHandler.autoReload" : "{name} automatikusan helyreállítása {seconds} másodpercen belül", 186 "service.webviewLoader.loading": "Betöltés",
187 "service.crashHandler.headline" : "Jajj ne!", 187 "services.getStarted": "Kezdj hozzá",
188 "service.crashHandler.text" : "{name} hibát okozott.", 188 "services.login": "Please login to use Ferdi.",
189 "service.disabledHandler.action" : "{name} engedélyezése", 189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "service.disabledHandler.headline" : "{name} letiltva", 190 "services.serverless": "Use Ferdi without an Account",
191 "service.errorHandler.action" : "{name} újratöltése", 191 "services.welcome": "Üdvözöl a Ferdi",
192 "service.errorHandler.editAction" : "{name} szerkesztése", 192 "settings.account.account.editButton": "Fiók szerkesztése",
193 "service.errorHandler.headline" : "Jajj ne!", 193 "settings.account.accountType.basic": "Alap Fiók",
194 "service.errorHandler.message" : "Hiba", 194 "settings.account.accountType.premium": "Prémium Támogató Fiók",
195 "service.errorHandler.text" : "{name} nem tudott betöltődni.", 195 "settings.account.buttonSave": "Profil frissítése",
196 "service.restrictedHandler.action" : "Fiók frissítése", 196 "settings.account.deleteAccount": "Fiók törlése",
197 "service.restrictedHandler.customUrl.headline" : "Franz Professional Plan required", 197 "settings.account.deleteEmailSent": "A fiókod törléséhez egy e-mailt küldtük a törlést megerősítő linkkel. A linkre kattintást követően a fiókod és az adatait már nem állíthatók vissza többé!",
198 "service.restrictedHandler.customUrl.text" : "Please upgrade to the Franz Professional plan to use custom urls & self hosted services.", 198 "settings.account.deleteInfo": "Ha még nem szeretnéd fenntartani a Ferdi-fiókodat, akkor itt törölheted minden hozzá kapcsolódó adattal együtt.",
199 "service.restrictedHandler.serviceLimit.headline" : "You have reached your service limit.", 199 "settings.account.headline": "Fiók",
200 "service.restrictedHandler.serviceLimit.text" : "Please upgrade your account to use more than {count} services.", 200 "settings.account.headlineAccount": "Fiókinformációk",
201 "service.webviewLoader.loading" : "Betöltés", 201 "settings.account.headlineDangerZone": "Veszélyes terület",
202 "services.getStarted" : "Kezdj hozzá", 202 "settings.account.headlineInvoices": "Számlák",
203 "services.welcome" : "Üdvözöl a Franz", 203 "settings.account.headlinePassword": "Jelszócsere",
204 "settings.account.account.editButton" : "Fiók szerkesztése", 204 "settings.account.headlineProfile": "Profil frissítése",
205 "settings.account.accountType.basic" : "Alap Fiók", 205 "settings.account.headlineSubscription": "Előfizetésed",
206 "settings.account.accountType.premium" : "Prémium Támogató Fiók", 206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.buttonSave" : "Profil frissítése", 207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.deleteAccount" : "Fiók törlése", 208 "settings.account.invoiceDownload": "Letöltés",
209 "settings.account.deleteEmailSent" : "A fiókod törléséhez egy e-mailt küldtük a törlést megerősítő linkkel. A linkre kattintást követően a fiókod és az adatait már nem állíthatók vissza többé!", 209 "settings.account.manageSubscription.label": "Előfizetés kezelése",
210 "settings.account.deleteInfo" : "Ha még nem szeretnéd fenntartani a Franz-fiókodat, akkor itt törölheted minden hozzá kapcsolódó adattal együtt.", 210 "settings.account.successInfo": "A módosításokat elmentettük",
211 "settings.account.headline" : "Fiók", 211 "settings.account.trial": "Free Trial",
212 "settings.account.headlineAccount" : "Fiókinformációk", 212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.headlineDangerZone" : "Veszélyes terület", 213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.headlineInvoices" : "Számlák", 214 "settings.account.tryReloadServices": "Próbáld újra",
215 "settings.account.headlinePassword" : "Jelszócsere", 215 "settings.account.tryReloadUserInfoRequest": "Próbáld újra",
216 "settings.account.headlineProfile" : "Profil frissítése", 216 "settings.account.upgradeToPro.label": "Frissítés Ferdi Professional-ra",
217 "settings.account.headlineSubscription" : "Előfizetésed", 217 "settings.account.userInfoRequestFailed": "A felhasználói adatok betöltése sikertelen",
218 "settings.account.headlineTrialUpgrade" : "Get the free 14 day Franz Professional Trial", 218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.account.headlineUpgradeAccount" : "Upgrade your account & get the full Franz experience", 219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.account.invoiceDownload" : "Letöltés", 220 "settings.app.buttonClearAllCache": "Gyorsítótár törlése",
221 "settings.account.manageSubscription.label" : "Előfizetés kezelése", 221 "settings.app.buttonInstallUpdate": "Újraindítás és frissítés telepítése",
222 "settings.account.successInfo" : "A módosításokat elmentettük", 222 "settings.app.buttonSearchForUpdate": "Frissítések keresése",
223 "settings.account.trial" : "Free Trial", 223 "settings.app.cacheInfo": "A Ferdi gyorsítótár jelenleg {size} lemezterületet használ.",
224 "settings.account.trialEndsIn" : "Your free trial ends in {duration}.", 224 "settings.app.currentVersion": "Aktuális verzió:",
225 "settings.account.trialUpdateBillingInfo" : "Please update your billing info to continue using {license} after your trial period.", 225 "settings.app.form.accentColor": "Accent color",
226 "settings.account.tryReloadServices" : "Próbáld újra", 226 "settings.app.form.autoLaunchInBackground": "Megnyitás háttérben",
227 "settings.account.tryReloadUserInfoRequest" : "Próbáld újra", 227 "settings.app.form.autoLaunchOnStart": "Ferdi betöltése indításkor",
228 "settings.account.upgradeToPro.label" : "Frissítés Franz Professional-ra", 228 "settings.app.form.beta": "Béta verziók keresése",
229 "settings.account.userInfoRequestFailed" : "A felhasználói adatok betöltése sikertelen", 229 "settings.app.form.darkMode": "Csatlakozz a Sötét Oldalhoz",
230 "settings.account.yourLicense" : "Your Franz License", 230 "settings.app.form.enableGPUAcceleration": "Hardveres gyorsítás engedélyezése",
231 "settings.app.buttonClearAllCache" : "Gyorsítótár törlése", 231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.buttonInstallUpdate" : "Újraindítás és frissítések telepítése", 232 "settings.app.form.enableSpellchecking": "Helyesírás-ellenőrzés engedélyezése",
233 "settings.app.buttonSearchForUpdate" : "Frissítések keresése", 233 "settings.app.form.enableSystemTray": "Ferdi mutatása a tálcán",
234 "settings.app.cacheInfo" : "A Franz gyorsítótár jelenleg {size} lemezterületet használ.", 234 "settings.app.form.enableTodos": "Ferdi Tennivalók bekapcsolása",
235 "settings.app.currentVersion" : "Aktuális verzió:", 235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.autoLaunchInBackground" : "Megnyitás háttérben", 236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.autoLaunchOnStart" : "Franz betöltése indításkor", 237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.beta" : "Béta verziók keresése", 238 "settings.app.form.language": "Nyelv",
239 "settings.app.form.darkMode" : "Csatlakozz a Sötét Oldalhoz", 239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.enableGPUAcceleration" : "Hardveres gyorsítás engedélyezése", 240 "settings.app.form.minimizeToSystemTray": "Ferdi kicsinyítése a tálcára",
241 "settings.app.form.enableSpellchecking" : "Helyesírás-ellenőrzés engedélyezése", 241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.enableSystemTray" : "Franz mutatása a tálcán", 242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.enableTodos" : "Franz Tennivalók bekapcsolása", 243 "settings.app.form.runInBackground": "Ferdi fusson a háttérben az ablak bezárásakor",
244 "settings.app.form.keepAllWorkspacesLoaded" : "Keep all workspaces loaded", 244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.language" : "Nyelv", 245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.minimizeToSystemTray" : "Franz kicsinyítése a tálcára", 246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.runInBackground" : "Franz fusson a háttérben az ablak bezárásakor", 247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices" : "Letiltott szolgáltatások megjelenítése", 248 "settings.app.form.showDisabledServices": "Letiltott szolgáltatások megjelenítése",
249 "settings.app.form.showMessagesBadgesWhenMuted" : "Mutassa az 'olvasatlan üzenet' jelzést, amikor az értesítések le vannak tiltva", 249 "settings.app.form.showMessagesBadgesWhenMuted": "Mutassa az 'olvasatlan üzenet' jelzést, amikor az értesítések le vannak tiltva",
250 "settings.app.headline" : "Beállítások", 250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.headlineAdvanced" : "Haladó", 251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.headlineAppearance" : "Megjelenés", 252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headlineGeneral" : "Általános", 253 "settings.app.headline": "Beállítások",
254 "settings.app.headlineLanguage" : "Nyelv", 254 "settings.app.headlineAdvanced": "Haladó",
255 "settings.app.headlineUpdates" : "Frissítések", 255 "settings.app.headlineAppearance": "Megjelenés",
256 "settings.app.languageDisclaimer" : "A hivatalos fordítások angol és német nyelven elérhetőek. Minden más nyelv közösségi fordításon alapul.", 256 "settings.app.headlineGeneral": "Általános",
257 "settings.app.restartRequired" : "Újraindítást igénylő módosítás", 257 "settings.app.headlineLanguage": "Nyelv",
258 "settings.app.subheadlineCache" : "Gyorsítótár", 258 "settings.app.headlineUpdates": "Frissítések",
259 "settings.app.translationHelp" : "Segíts nekünk a Franz-ot lefordítani a nyelvedre.", 259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.updateStatusAvailable" : "Frissítés elérhető, letöltés folyamatban...", 260 "settings.app.languageDisclaimer": "A hivatalos fordítások angol és német nyelven elérhetőek. Minden más nyelv közösségi fordításon alapul.",
261 "settings.app.updateStatusSearching" : "Frissítéseket keres", 261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.updateStatusUpToDate" : "A Franz legfrissebb verzióját használod", 262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.invite.headline" : "Barátok meghívása", 263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.navigation.account" : "Fiók", 264 "settings.app.restartRequired": "Újraindítást igénylő módosítás",
265 "settings.navigation.availableServices" : "Elérhető szolgáltatások", 265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.navigation.inviteFriends" : "Barát meghívása", 266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.navigation.logout" : "Kijelentkezés", 267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.navigation.settings" : "Beállítások", 268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.navigation.team" : "Csapat kezelése", 269 "settings.app.subheadlineCache": "Gyorsítótár",
270 "settings.navigation.yourServices" : "Szolgáltatásaid", 270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.navigation.yourWorkspaces" : "Munkaterületeid", 271 "settings.app.translationHelp": "Segíts nekünk a Ferdi-ot lefordítani a nyelvedre.",
272 "settings.recipes.all" : "Összes szolgáltatás", 272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.recipes.custom" : "Egyéni szolgáltatások", 273 "settings.app.updateStatusAvailable": "Frissítés elérhető, letöltés folyamatban...",
274 "settings.recipes.customService.headline.communityRecipes" : "Community 3rd Party Recipes", 274 "settings.app.updateStatusSearching": "Frissítéseket keres",
275 "settings.recipes.customService.headline.customRecipes" : "Egyéni, harmadik féltől származó receptek", 275 "settings.app.updateStatusUpToDate": "A Ferdi legfrissebb verzióját használod",
276 "settings.recipes.customService.headline.devRecipes" : "Your Development Service Recipes", 276 "settings.invite.headline": "Barátok meghívása",
277 "settings.recipes.customService.intro" : "Az egyéni szolgáltatás hozzáadásához, másoljuk be annak receptjét:", 277 "settings.navigation.account": "Fiók",
278 "settings.recipes.customService.openDevDocs" : "Fejlesztői dokumentáció", 278 "settings.navigation.availableServices": "Elérhető szolgáltatások",
279 "settings.recipes.customService.openFolder" : "Könyvtár megnyitása", 279 "settings.navigation.logout": "Kijelentkezés",
280 "settings.recipes.headline" : "Elérhető szolgáltatások", 280 "settings.navigation.settings": "Beállítások",
281 "settings.recipes.missingService" : "Hiányzik egy szolgáltatás?", 281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.recipes.mostPopular" : "Legnépszerűbb", 282 "settings.navigation.team": "Csapat kezelése",
283 "settings.recipes.nothingFound" : "Sajnáljuk, nincs egyezés a szolgáltatások között a keresett kifejezésre.", 283 "settings.navigation.yourServices": "Szolgáltatásaid",
284 "settings.recipes.servicesSuccessfulAddedInfo" : "Szolgáltatás sikeresen hozzáadva", 284 "settings.navigation.yourWorkspaces": "Munkaterületeid",
285 "settings.searchService" : "Szolgáltatások keresése", 285 "settings.recipes.all": "Összes szolgáltatás",
286 "settings.service.error.goBack" : "Vissza a szolgáltatásokhoz", 286 "settings.recipes.custom": "Egyéni szolgáltatások",
287 "settings.service.error.headline" : "Hiba", 287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.service.error.message" : "Nem tölthető be a szolgáltatás receptje.", 288 "settings.recipes.customService.headline.customRecipes": "Egyéni, harmadik féltől származó receptek",
289 "settings.service.form.addServiceHeadline" : "{name} hozzáadása", 289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.service.form.availableServices" : "Elérhető szolgáltatások", 290 "settings.recipes.customService.intro": "Az egyéni szolgáltatás hozzáadásához, másoljuk be annak receptjét:",
291 "settings.service.form.customUrl" : "Egyéni szerver", 291 "settings.recipes.customService.openDevDocs": "Fejlesztői dokumentáció",
292 "settings.service.form.customUrlPremiumInfo" : "Egyénileg üzemeltetett szolgáltatások hozzáadásához Franz Prémium Támogató Fiók szükséges.", 292 "settings.recipes.customService.openFolder": "Könyvtár megnyitása",
293 "settings.service.form.customUrlUpgradeAccount" : "Frissítsd fiókodat", 293 "settings.recipes.headline": "Elérhető szolgáltatások",
294 "settings.service.form.customUrlValidationError" : "Nem sikerült érvényesíteni az egyéni {name} kiszolgálót.", 294 "settings.recipes.missingService": "Hiányzik egy szolgáltatás?",
295 "settings.service.form.deleteButton" : "Szolgáltatás törlése", 295 "settings.recipes.mostPopular": "Legnépszerűbb",
296 "settings.service.form.editServiceHeadline" : "{name} szerkesztése", 296 "settings.recipes.nothingFound": "Sajnáljuk, nincs egyezés a szolgáltatások között a keresett kifejezésre.",
297 "settings.service.form.enableAudio" : "Hang engedélyezése", 297 "settings.recipes.servicesSuccessfulAddedInfo": "Szolgáltatás sikeresen hozzáadva",
298 "settings.service.form.enableBadge" : "Mutasd az olvasatlan jelzéseket", 298 "settings.searchService": "Szolgáltatások keresése",
299 "settings.service.form.enableDarkMode" : "Sötét mód engedélyezése", 299 "settings.service.error.goBack": "Vissza a szolgáltatásokhoz",
300 "settings.service.form.enableNotification" : "Értesítések engedélyezése", 300 "settings.service.error.headline": "Hiba",
301 "settings.service.form.enableService" : "Szolgáltatás engedélyezése", 301 "settings.service.error.message": "Nem tölthető be a szolgáltatás receptje.",
302 "settings.service.form.headlineBadges" : "Olvasatlan üzenet jelzések", 302 "settings.service.form.addServiceHeadline": "{name} hozzáadása",
303 "settings.service.form.headlineGeneral" : "Általános", 303 "settings.service.form.availableServices": "Elérhető szolgáltatások",
304 "settings.service.form.headlineNotifications" : "Értesítések", 304 "settings.service.form.customUrl": "Egyéni szerver",
305 "settings.service.form.icon" : "Egyedi ikon", 305 "settings.service.form.customUrlPremiumInfo": "Egyénileg üzemeltetett szolgáltatások hozzáadásához Ferdi Prémium Támogató Fiók szükséges.",
306 "settings.service.form.iconDelete" : "Törlés", 306 "settings.service.form.customUrlUpgradeAccount": "Frissítsd fiókodat",
307 "settings.service.form.iconUpload" : "Húzd ide a képet, vagy kattints ide", 307 "settings.service.form.customUrlValidationError": "Nem sikerült érvényesíteni az egyéni {name} kiszolgálót.",
308 "settings.service.form.indirectMessageInfo" : "Értesítést kapsz minden üzenetről a csatornában, nem csak @felhasználónév, @csatorna, @here és egyéb említések esetén", 308 "settings.service.form.deleteButton": "Szolgáltatás törlése",
309 "settings.service.form.indirectMessages" : "Üzenet kitűző megjelenítése minden üzenethez", 309 "settings.service.form.editServiceHeadline": "{name} szerkesztése",
310 "settings.service.form.isMutedInfo" : "Ha kikapcsolod, minden értesítési és lejátszott hang némításra kerül", 310 "settings.service.form.enableAudio": "Hang engedélyezése",
311 "settings.service.form.name" : "Név", 311 "settings.service.form.enableBadge": "Mutasd az olvasatlan jelzéseket",
312 "settings.service.form.proxy.headline" : "HTTP\/HTTPS Proxy beállítások", 312 "settings.service.form.enableDarkMode": "Sötét mód engedélyezése",
313 "settings.service.form.proxy.host" : "Proxy Host\/IP", 313 "settings.service.form.enableNotification": "Értesítések engedélyezése",
314 "settings.service.form.proxy.info" : "Proxy beállítások nem szinkronizálódnak a Franz kiszolgálókkal.", 314 "settings.service.form.enableService": "Szolgáltatás engedélyezése",
315 "settings.service.form.proxy.isEnabled" : "Proxy használata", 315 "settings.service.form.headlineBadges": "Olvasatlan üzenet jelzések",
316 "settings.service.form.proxy.password" : "Jelszó (opcionális)", 316 "settings.service.form.headlineGeneral": "Általános",
317 "settings.service.form.proxy.port" : "Port", 317 "settings.service.form.headlineNotifications": "Értesítések",
318 "settings.service.form.proxy.restartInfo" : "Kérjük indítsd újra a Franz-ot a proxy beállítások megváltoztatása után.", 318 "settings.service.form.icon": "Egyedi ikon",
319 "settings.service.form.proxy.user" : "Felhasználó (opcionális)", 319 "settings.service.form.iconDelete": "Törlés",
320 "settings.service.form.saveButton" : "Szolgáltatás mentése", 320 "settings.service.form.iconUpload": "Húzd ide a képet, vagy kattints ide",
321 "settings.service.form.tabHosted" : "Üzemeltetett", 321 "settings.service.form.indirectMessageInfo": "Értesítést kapsz minden üzenetről a csatornában, nem csak @felhasználónév, @csatorna, @here és egyéb említések esetén",
322 "settings.service.form.tabOnPremise" : "Egyénileg üzemeltetett", 322 "settings.service.form.indirectMessages": "Üzenet kitűző megjelenítése minden üzenethez",
323 "settings.service.form.team" : "Csapat", 323 "settings.service.form.isMutedInfo": "Ha kikapcsolod, minden értesítési és lejátszott hang némításra kerül",
324 "settings.service.form.useHostedService" : "A távoli {name} szolgáltatás használata.", 324 "settings.service.form.name": "Név",
325 "settings.service.form.yourServices" : "Szolgáltatásaid", 325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.services.deletedInfo" : "A szolgáltatás törlésre került", 326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy beállítások",
327 "settings.services.discoverServices" : "Szolgáltatások felfedezése", 327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.services.headline" : "Szolgáltatásaid", 328 "settings.service.form.proxy.info": "Proxy beállítások nem szinkronizálódnak a Ferdi kiszolgálókkal.",
329 "settings.services.noServicesAdded" : "Még nem adtál hozzá egyetlen szolgáltatást sem eddig.", 329 "settings.service.form.proxy.isEnabled": "Proxy használata",
330 "settings.services.servicesRequestFailed" : "Szolgáltatásaid betöltése sikertelen", 330 "settings.service.form.proxy.password": "Jelszó (opcionális)",
331 "settings.services.tooltip.isDisabled" : "A szolgáltatás le van tiltva", 331 "settings.service.form.proxy.port": "Port",
332 "settings.services.tooltip.isMuted" : "Minden hang lenémítva", 332 "settings.service.form.proxy.restartInfo": "Kérjük indítsd újra a Ferdi-ot a proxy beállítások megváltoztatása után.",
333 "settings.services.tooltip.notificationsDisabled" : "Értesítések letiltva", 333 "settings.service.form.proxy.user": "Felhasználó (opcionális)",
334 "settings.services.updatedInfo" : "A módosításokat elmentettük", 334 "settings.service.form.saveButton": "Szolgáltatás mentése",
335 "settings.team.contentHeadline" : "Franz for Teams", 335 "settings.service.form.tabHosted": "Üzemeltetett",
336 "settings.team.copy" : "A Franz for Teams lehetőséget teremt arra, hogy meghívd munkatársaidat a csapatodba email-en keresztül, és kezelhesd a Franz előfizetéseiket és fiókbeállításaikat. Ne fecséreld az idődet minden egyes csapattag regisztrációjára, felejtsd el a sok-sok egyéni számlát és különböző lejárati időt - egy mindenek felett!", 336 "settings.service.form.tabOnPremise": "Egyénileg üzemeltetett",
337 "settings.team.headline" : "Csapat", 337 "settings.service.form.team": "Csapat",
338 "settings.team.intro" : "Te és a csapatod Franz-ot használtok? Egy fiókból kezelheted kollégáid, barátaid vagy családtagjaid Prémium előfizetéseit.", 338 "settings.service.form.useHostedService": "A távoli {name} szolgáltatás használata.",
339 "settings.team.manageAction" : "Csapat kezelése a meetfranz.com-on", 339 "settings.service.form.yourServices": "Szolgáltatásaid",
340 "settings.team.upgradeAction" : "Előfizetés", 340 "settings.services.deletedInfo": "A szolgáltatás törlésre került",
341 "settings.user.form.accountType.company" : "Cég", 341 "settings.services.discoverServices": "Szolgáltatások felfedezése",
342 "settings.user.form.accountType.individual" : "Egyén", 342 "settings.services.headline": "Szolgáltatásaid",
343 "settings.user.form.accountType.label" : "Fiók típusa", 343 "settings.services.noServicesAdded": "Még nem adtál hozzá egyetlen szolgáltatást sem eddig.",
344 "settings.user.form.accountType.non-profit" : "Non-Profit", 344 "settings.services.servicesRequestFailed": "Szolgáltatásaid betöltése sikertelen",
345 "settings.user.form.currentPassword" : "Jelenlegi jelszó", 345 "settings.services.tooltip.isDisabled": "A szolgáltatás le van tiltva",
346 "settings.user.form.email" : "Email", 346 "settings.services.tooltip.isMuted": "Minden hang lenémítva",
347 "settings.user.form.firstname" : "Keresztnév", 347 "settings.services.tooltip.notificationsDisabled": "Értesítések letiltva",
348 "settings.user.form.lastname" : "Vezetéknév", 348 "settings.services.updatedInfo": "A módosításokat elmentettük",
349 "settings.user.form.newPassword" : "Új jelszó", 349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.workspace.add.form.name" : "Név", 350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.workspace.add.form.submitButton" : "Új munkaterület", 351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.workspace.form.buttonDelete" : "Munkaterület törlése", 352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.workspace.form.buttonSave" : "Munkaterület mentése", 353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.workspace.form.name" : "Név", 354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.workspace.form.servicesInWorkspaceHeadline" : "Szolgáltatások ezen a Munkaterületen", 355 "settings.team.copy": "A Ferdi for Teams lehetőséget teremt arra, hogy meghívd munkatársaidat a csapatodba email-en keresztül, és kezelhesd a Ferdi előfizetéseiket és fiókbeállításaikat. Ne fecséreld az idődet minden egyes csapattag regisztrációjára, felejtsd el a sok-sok egyéni számlát és különböző lejárati időt - egy mindenek felett!",
356 "settings.workspace.form.yourWorkspaces" : "Munkaterületeid", 356 "settings.team.headline": "Csapat",
357 "settings.workspaces.deletedInfo" : "Munkaterület törölve", 357 "settings.team.intro": "Te és a csapatod Ferdi-ot használtok? Egy fiókból kezelheted kollégáid, barátaid vagy családtagjaid Prémium előfizetéseit.",
358 "settings.workspaces.headline" : "Munkaterületeid", 358 "settings.team.manageAction": "Csapat kezelése a getferdi.com-on",
359 "settings.workspaces.noWorkspacesAdded" : "Még nem hoztál létre munkaterületeket.", 359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.workspaces.tryReloadWorkspaces" : "Próbáld újra", 360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.workspaces.updatedInfo" : "A módosításokat elmentettük", 361 "settings.team.upgradeAction": "Előfizetés",
362 "settings.workspaces.workspaceFeatureHeadline" : "A kevesebb több: Bemutatjuk a Franz Munkaterületeket", 362 "settings.user.form.accountType.company": "Cég",
363 "settings.workspaces.workspaceFeatureInfo" : "A Franz Munkaterületek lehetővé teszik, hogy összpontosíts a jelenleg fontos dolgokra. Állítsd be a különböző szolgáltatáskészleteket és könnyedén válthatsz közöttük bármikor. Te döntöd el, hogy mely szolgáltatásokra van szükséged, mikor és hol, így segíthetünk abban, hogy a teljesítményed csúcsán maradhass, vagy ha csak akarod, egyszerűen kikapcsold a munkával kapcsolatos dolgokat.", 363 "settings.user.form.accountType.individual": "Egyén",
364 "settings.workspaces.workspacesRequestFailed" : "Nem sikerült betölteni a munkaterületeket", 364 "settings.user.form.accountType.label": "Fiók típusa",
365 "sidebar.addNewService" : "Szolgáltatás hozzáadása", 365 "settings.user.form.accountType.non-profit": "Non-Profit",
366 "sidebar.closeTodosDrawer" : "Close Franz Todos", 366 "settings.user.form.currentPassword": "Jelenlegi jelszó",
367 "sidebar.closeWorkspaceDrawer" : "Munkaterület panel bezárása", 367 "settings.user.form.email": "Email",
368 "sidebar.muteApp" : "Értesítések és hangok letiltása", 368 "settings.user.form.firstname": "Keresztnév",
369 "sidebar.openTodosDrawer" : "Open Franz Todos", 369 "settings.user.form.lastname": "Vezetéknév",
370 "sidebar.openWorkspaceDrawer" : "Munkaterület panel megnyitása", 370 "settings.user.form.newPassword": "Új jelszó",
371 "sidebar.settings" : "Beállítások", 371 "settings.workspace.add.form.name": "Név",
372 "sidebar.unmuteApp" : "Értesítések és hangok engedélyezése", 372 "settings.workspace.add.form.submitButton": "Új munkaterület",
373 "signup.email.label" : "Email cím", 373 "settings.workspace.form.buttonDelete": "Munkaterület törlése",
374 "signup.emailDuplicate" : "Ezzel az e-mail címmel már létezik felhasználó", 374 "settings.workspace.form.buttonSave": "Munkaterület mentése",
375 "signup.firstname.label" : "Keresztnév", 375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "signup.headline" : "Regisztráció", 376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "signup.lastname.label" : "Családnév", 377 "settings.workspace.form.name": "Név",
378 "signup.legal.info" : "A Franz fiók létrehozásával elfogadod az", 378 "settings.workspace.form.servicesInWorkspaceHeadline": "Szolgáltatások ezen a Munkaterületen",
379 "signup.legal.privacy" : "Adatvédelmi Nyilatkozatot", 379 "settings.workspace.form.yourWorkspaces": "Munkaterületeid",
380 "signup.legal.terms" : "Felhasználási Feltételeket", 380 "settings.workspaces.deletedInfo": "Munkaterület törölve",
381 "signup.link.login" : "Már van fiókod? Lépj be!", 381 "settings.workspaces.headline": "Munkaterületeid",
382 "signup.password.label" : "Jelszó", 382 "settings.workspaces.noWorkspacesAdded": "Még nem hoztál létre munkaterületeket.",
383 "signup.submit.label" : "Fiók létrehozása", 383 "settings.workspaces.tryReloadWorkspaces": "Próbáld újra",
384 "subscription.bestValue" : "Best value", 384 "settings.workspaces.updatedInfo": "A módosításokat elmentettük",
385 "subscription.cta.activateTrial" : "Yes, start the free Franz Professional trial", 385 "settings.workspaces.workspaceFeatureHeadline": "A kevesebb több: Bemutatjuk a Ferdi Munkaterületeket",
386 "subscription.cta.allOptions" : "See all options", 386 "settings.workspaces.workspaceFeatureInfo": "A Ferdi Munkaterületek lehetővé teszik, hogy összpontosíts a jelenleg fontos dolgokra. Állítsd be a különböző szolgáltatáskészleteket és könnyedén válthatsz közöttük bármikor. Te döntöd el, hogy mely szolgáltatásokra van szükséged, mikor és hol, így segíthetünk abban, hogy a teljesítményed csúcsán maradhass, vagy ha csak akarod, egyszerűen kikapcsold a munkával kapcsolatos dolgokat.",
387 "subscription.cta.choosePlan" : "Choose your plan", 387 "settings.workspaces.workspacesRequestFailed": "Nem sikerült betölteni a munkaterületeket",
388 "subscription.includedProFeatures" : "The Franz Professional Plan includes:", 388 "sidebar.addNewService": "Szolgáltatás hozzáadása",
389 "subscription.interval.per" : "per {interval}", 389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "subscription.interval.perMonth" : "per month", 390 "sidebar.closeWorkspaceDrawer": "Munkaterület panel bezárása",
391 "subscription.interval.perMonthPerUser" : "per month & user", 391 "sidebar.lockFerdi": "Lock Ferdi",
392 "subscription.planItem.upgradeAccount" : "Fiók frissítése", 392 "sidebar.muteApp": "Értesítések és hangok letiltása",
393 "subscription.teaser.includedFeatures" : "Paid Franz Plans include:", 393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "subscription.teaser.intro" : "Franz 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!", 394 "sidebar.openWorkspaceDrawer": "Munkaterület panel kinyitása",
395 "subscriptionPopup.buttonCancel" : "Mégsem", 395 "sidebar.settings": "Beállítások",
396 "subscriptionPopup.buttonDone" : "Kész", 396 "sidebar.unmuteApp": "Értesítések és hangok engedélyezése",
397 "tabs.item.deleteService" : "Szolgáltatás törlése", 397 "signup.email.label": "Email cím",
398 "tabs.item.disableAudio" : "Hang letiltása", 398 "signup.emailDuplicate": "Ezzel az e-mail címmel már létezik felhasználó",
399 "tabs.item.disableNotifications" : "Értesítések letiltása", 399 "signup.firstname.label": "Keresztnév",
400 "tabs.item.disableService" : "Szolgáltatás letiltása", 400 "signup.headline": "Regisztráció",
401 "tabs.item.edit" : "Szerkesztés", 401 "signup.lastname.label": "Vezetéknév",
402 "tabs.item.enableAudio" : "Hang engedélyezése", 402 "signup.legal.info": "A Ferdi fiók létrehozásával elfogadod az",
403 "tabs.item.enableNotification" : "Értesítések engedélyezése", 403 "signup.legal.privacy": "Adatvédelmi Nyilatkozatot",
404 "tabs.item.enableService" : "Szolgáltatás engedélyezése", 404 "signup.legal.terms": "Felhasználási Feltételeket",
405 "tabs.item.reload" : "Újratöltés", 405 "signup.link.login": "Már van fiókod? Lépj be!",
406 "validation.email" : "{field} nem érvényes", 406 "signup.password.label": "Password",
407 "validation.minLength" : "{field} mezőnek legalább {length} karakter hosszúnak kell lennie", 407 "signup.submit.label": "Fiók létrehozása",
408 "validation.oneRequired" : "Legalább egy kitöltése szükséges", 408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "validation.required" : "{field} kitöltése kötelező", 409 "subscription.cta.allOptions": "See all options",
410 "validation.url" : "{field} nem érvényes URL", 410 "subscription.cta.choosePlan": "Choose your plan",
411 "webControls.back" : "Back", 411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "webControls.forward" : "Forward", 412 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:",
413 "webControls.goHome" : "Home", 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!",
414 "webControls.openInBrowser" : "Open in Browser", 414 "subscriptionPopup.buttonCancel": "Mégsem",
415 "webControls.reload" : "Újratöltés", 415 "subscriptionPopup.buttonDone": "Kész",
416 "welcome.loginButton" : "Jelentkezz be a fiókodba", 416 "tabs.item.deleteService": "Szolgáltatás törlése",
417 "welcome.signupButton" : "Új fiók létrehozása", 417 "tabs.item.disableAudio": "Hang letiltása",
418 "workspaceDrawer.addNewWorkspaceLabel" : "Munkaterület hozzáadása", 418 "tabs.item.disableNotifications": "Értesítések letiltása",
419 "workspaceDrawer.allServices" : "Összes szolgáltatás", 419 "tabs.item.disableService": "Szolgáltatás letiltása",
420 "workspaceDrawer.headline" : "Munkaterületek", 420 "tabs.item.edit": "Szerkesztés",
421 "workspaceDrawer.item.contextMenuEdit" : "szerkeszt", 421 "tabs.item.enableAudio": "Hang engedélyezése",
422 "workspaceDrawer.item.noServicesAddedYet" : "Még nincsenek hozzáadott szolgáltatások", 422 "tabs.item.enableNotification": "Értesítések engedélyezése",
423 "workspaceDrawer.premiumCtaButtonLabel" : "Készítsd el az első munkaterületedet", 423 "tabs.item.enableService": "Szolgáltatás engedélyezése",
424 "workspaceDrawer.proFeatureBadge" : "Prémium funkció", 424 "tabs.item.reload": "Újratöltés",
425 "workspaceDrawer.reactivatePremiumAccountLabel" : "Prémium fiók reaktiválása", 425 "validation.email": "{field} nem érvényes",
426 "workspaceDrawer.workspaceFeatureInfo" : "<p>A Franz Munkaterületek lehetővé teszik, hogy összpontosíts a jelenleg fontos dolgokra. Állítsd be a különböző szolgáltatáskészleteket és könnyedén válthatsz közöttük bármikor.<\/p><p>Te döntöd el, hogy mely szolgáltatásokra van szükséged, mikor és hol, így segíthetünk abban, hogy a teljesítményed csúcsán maradhass, vagy ha csak akarod, egyszerűen kikapcsold a munkával kapcsolatos dolgokat.<\/p>", 426 "validation.minLength": "{field} mezőnek legalább {length} karakter hosszúnak kell lennie",
427 "workspaceDrawer.workspacesSettingsTooltip" : "Munkaterület beállítások szerkesztése", 427 "validation.oneRequired": "Legalább egy kitöltése szükséges",
428 "workspaces.switchingIndicator.switchingTo" : "Váltás" 428 "validation.required": "{field} kitöltése kötelező",
429 "validation.url": "{field} nem érvényes URL",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Újratöltés",
435 "welcome.loginButton": "Jelentkezz be a fiókodba",
436 "welcome.signupButton": "Új fiók létrehozása",
437 "workspaceDrawer.addNewWorkspaceLabel": "Munkaterület hozzáadása",
438 "workspaceDrawer.allServices": "Összes szolgáltatás",
439 "workspaceDrawer.headline": "Munkaterületek",
440 "workspaceDrawer.item.contextMenuEdit": "szerkeszt",
441 "workspaceDrawer.item.noServicesAddedYet": "Még nincsenek hozzáadott szolgáltatások",
442 "workspaceDrawer.premiumCtaButtonLabel": "Készítsd el az első munkaterületedet",
443 "workspaceDrawer.proFeatureBadge": "Prémium funkció",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Prémium fiók reaktiválása",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>A Ferdi Munkaterületek lehetővé teszik, hogy összpontosíts a jelenleg fontos dolgokra. Állítsd be a különböző szolgáltatáskészleteket és könnyedén válthatsz közöttük bármikor.</p><p>Te döntöd el, hogy mely szolgáltatásokra van szükséged, mikor és hol, így segíthetünk abban, hogy a teljesítményed csúcsán maradhass, vagy ha csak akarod, egyszerűen kikapcsold a munkával kapcsolatos dolgokat.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Munkaterület beállítások szerkesztése",
447 "workspaces.switchingIndicator.switchingTo": "Váltás"
429} 448}
diff --git a/src/i18n/locales/id.json b/src/i18n/locales/id.json
index 0e1dc7815..dcbd826c3 100644
--- a/src/i18n/locales/id.json
+++ b/src/i18n/locales/id.json
@@ -1,429 +1,448 @@
1{ 1{
2 "app.errorHandler.action" : "Muat Ulang", 2 "app.errorHandler.action": "Muat Ulang",
3 "app.errorHandler.headline" : "Terjadi kesalahan", 3 "app.errorHandler.headline": "Terjadi kesalahan",
4 "feature.announcements.changelog.headline" : "Perubahan dalam Franz {version}", 4 "feature.announcements.changelog.headline": "Perubahan dalam Ferdi {version}",
5 "feature.delayApp.headline" : "Upgrade your Franz plan to skip the wait", 5 "feature.delayApp.headline": "Beli Lisensi Pendukung Ferdi agar tidak perlu menunggu",
6 "feature.delayApp.text" : "Franz akan melanjutkan dalam {seconds} detik.", 6 "feature.delayApp.text": "Ferdi akan melanjutkan dalam {seconds} detik.",
7 "feature.delayApp.trial.action" : "Ya, saya ingin menguji gratis 14 hari Franz Professional", 7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort" : "Aktifkan uji coba gratis Franz Professional", 8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
9 "feature.delayApp.trial.headline" : "Get the free Franz Professional 14-days trial and skip the wait", 9 "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line",
10 "feature.delayApp.upgrade.action" : "Upgrade Franz", 10 "feature.delayApp.upgrade.action": "Dapatkan Lisensi Pendukung Ferdi",
11 "feature.delayApp.upgrade.actionShort" : "Tingkatkan akun", 11 "feature.delayApp.upgrade.actionShort": "Tingkatkan akun",
12 "feature.planSelection.cta.ctaDowngradeFree" : "Downgrade to Free", 12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.planSelection.cta.stayOnFree" : "Stay on Free", 13 "feature.quickSwitch.search": "Search...",
14 "feature.planSelection.cta.trial" : "Start my free 14-days Trial", 14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.planSelection.cta.upgradePersonal" : "Choose Personal", 15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.planSelection.cta.upgradePro" : "Choose Professional", 16 "feature.shareFranz.action.email": "Kirim sebagai email",
17 "feature.planSelection.free.text" : "Basic functionality", 17 "feature.shareFranz.action.facebook": "Bagikan di Facebook",
18 "feature.planSelection.fullFeatureList" : "Complete comparison of all plans", 18 "feature.shareFranz.action.twitter": "Bagikan di Twitter",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 19 "feature.shareFranz.headline": "Ferdi lebih baik bersama!",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade" : "Choose Personal", 20 "feature.shareFranz.shareText.email": "Saya telah menambahkan layanan {count} ke Ferdi! Dapatkan aplikasi gratis untuk WhatsApp, Messenger, Slack, Skype dan co di www.getferdi.com",
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.", 21 "feature.shareFranz.shareText.twitter": "Saya telah menambahkan {count} layanan di Ferdi! Dapatkan aplikasi gratis untuk WhatsApp, Messenger, Slack, Skype dan lainnya di www.getferdi.com /cc @FerdiMessenger",
22 "feature.planSelection.fullscreen.dialog.title" : "Downgrade your Franz Plan", 22 "feature.shareFranz.text": "Beri tahu teman dan kolega Anda betapa hebatnya Ferdi dan bantu kami menyebarkan berita.",
23 "feature.planSelection.fullscreen.subheadline" : "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.", 23 "feature.todos.premium.info": "Ferdi Todos are available to premium users now!",
24 "feature.planSelection.fullscreen.welcome" : "Are you ready to choose, {name}?", 24 "feature.todos.premium.rollout": "Everyone else will have to wait a little longer.",
25 "feature.planSelection.personal.text" : "More services, no waiting - ideal for personal use.", 25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "feature.planSelection.pricesBasedOnAnnualPayment" : "All prices based on yearly payment", 26 "global.api.unhealthy": "Tidak dapat tersambung ke layanan Ferdi",
27 "feature.planSelection.pro.text" : "Unlimited services and professional features for you - and your team.", 27 "global.franzProRequired": "Ferdi Professional Required",
28 "feature.serviceLimit.limitReached" : "Anda telah menambahkan {amount} dari kuota {limit} layanan yang tersedia untuk paket Anda. Tingkatkan akun untuk menambahkan layanan lain.", 28 "global.notConnectedToTheInternet": "Anda tidak tersambung ke internet.",
29 "feature.shareFranz.action.email" : "Kirim sebagai email", 29 "global.spellchecker.useDefault": "Gunakan Bawaan Sistem ({default})",
30 "feature.shareFranz.action.facebook" : "Bagikan di Facebook", 30 "global.spellchecking.autodetect": "Deteksi bahasa secara otomatis",
31 "feature.shareFranz.action.twitter" : "Bagikan di Twitter", 31 "global.spellchecking.autodetect.short": "Otomatis",
32 "feature.shareFranz.headline" : "Franz lebih baik bersama!", 32 "global.spellchecking.language": "Periksa ejaan",
33 "feature.shareFranz.shareText.email" : "Saya telah menambahkan layanan {count} ke Franz! Dapatkan aplikasi gratis untuk WhatsApp, Messenger, Slack, Skype dan co di www.meetfranz.com", 33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "feature.shareFranz.shareText.twitter" : "Saya telah menambahkan {count} layanan di Franz! Dapatkan aplikasi gratis untuk WhatsApp, Messenger, Slack, Skype dan lainnya di www.meetfranz.com \/cc @FranzMessenger", 34 "import.headline": "Impor layanan Ferdi 4 Anda",
35 "feature.shareFranz.text" : "Beri tahu teman dan kolega Anda betapa hebatnya Franz dan bantu kami menyebarkan berita.", 35 "import.notSupportedHeadline": "Layanan belum didukung di Ferdi 5",
36 "feature.todos.premium.info" : "Kini Franz Todos tersedia untuk pengguna premium!", 36 "import.skip.label": "Saya ingin menambahkan layanan secara manual",
37 "feature.todos.premium.rollout" : "Yang lain harus menunggu lebih lama.", 37 "import.submit.label": "Impor layanan",
38 "feature.todos.premium.upgrade" : "Tingkatkan Akun", 38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "feature.trialStatusBar.cta" : "Upgrade now", 39 "infobar.buttonChangelog": "Yang baru",
40 "feature.trialStatusBar.expired" : "Your free Franz {plan} Trial has expired, please upgrade your account.", 40 "infobar.buttonInstallUpdate": "Mulai ulang & instal pembaruan",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 41 "infobar.buttonReloadServices": "Muat ulang layanan",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade" : "Choose Personal", 42 "infobar.requiredRequestsFailed": "Gagal memuat layanan dan informasi pengguna",
43 "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.", 43 "infobar.servicesUpdated": "Layanan Anda telah diperbarui",
44 "feature.trialStatusBar.fullscreen.dialog.title" : "Downgrade your Franz Plan", 44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "feature.trialStatusBar.restTime" : "Your Free Franz {plan} Trial ends in {time}.", 45 "infobar.updateAvailable": "Versi baru Ferdi tersedia.",
46 "global.api.unhealthy" : "Tidak dapat tersambung ke layanan online Franz", 46 "invite.email.label": "Alamat email",
47 "global.franzProRequired" : "Diperlukan Franz Professional", 47 "invite.headline.friends": "Undang 3 teman atau kolega Anda",
48 "global.notConnectedToTheInternet" : "Anda tidak tersambung ke internet.", 48 "invite.name.label": "Nama",
49 "global.spellchecker.useDefault" : "Gunakan Bawaan Sistem ({default})", 49 "invite.skip.label": "Saya ingin melakukan ini nanti",
50 "global.spellchecking.autodetect" : "Deteksi bahasa secara otomatis", 50 "invite.submit.label": "Kirim undangan",
51 "global.spellchecking.autodetect.short" : "Otomatis", 51 "invite.successInfo": "Undangan berhasil dikirim",
52 "global.spellchecking.language" : "Periksa ejaan", 52 "locked.headline": "Locked",
53 "global.upgradeButton.upgradeToPro" : "Tingkatkan ke Franz Professional", 53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "import.headline" : "Impor layanan Franz 4 Anda", 54 "locked.invalidCredentials": "Password invalid",
55 "import.notSupportedHeadline" : "Layanan belum didukung di Franz 5", 55 "locked.password.label": "Password",
56 "import.skip.label" : "Saya ingin menambahkan layanan secara manual", 56 "locked.submit.label": "Unlock",
57 "import.submit.label" : "Impor layanan", 57 "login.changeServer": "Change server",
58 "infobar.buttonChangelog" : "Yang baru", 58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "infobar.buttonInstallUpdate" : "Mulai ulang & instal pembaruan", 59 "login.customServerSuggestion": "Try importing your Franz account",
60 "infobar.buttonReloadServices" : "Muat ulang layanan", 60 "login.email.label": "Alamat email",
61 "infobar.requiredRequestsFailed" : "Gagal memuat layanan dan informasi pengguna", 61 "login.headline": "Masuk",
62 "infobar.servicesUpdated" : "Layanan Anda telah diperbarui", 62 "login.invalidCredentials": "Email atau kata sandi tidak valid",
63 "infobar.trialActivated" : "Uji coba Anda berhasil diaktifkan! Selamat berpesan ria!", 63 "login.link.password": "Setel ulang sandi",
64 "infobar.updateAvailable" : "Versi baru Franz tersedia.", 64 "login.link.signup": "Buat akun gratis",
65 "invite.email.label" : "Alamat email", 65 "login.password.label": "Password",
66 "invite.headline.friends" : "Undang 3 teman atau kolega Anda", 66 "login.serverLogout": "Sesi Anda telah berakhir, silakan masuk kembali.",
67 "invite.name.label" : "Nama", 67 "login.submit.label": "Masuk",
68 "invite.skip.label" : "Nanti saja", 68 "login.tokenExpired": "Sesi Anda telah berakhir, silakan masuk kembali.",
69 "invite.submit.label" : "Kirim undangan", 69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "invite.successInfo" : "Undangan berhasil dikirim", 70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "login.email.label" : "Alamat email", 71 "menu.app.about": "Tentang Ferdi",
72 "login.headline" : "Masuk", 72 "menu.app.announcement": "Yang baru",
73 "login.invalidCredentials" : "Email atau kata sandi tidak valid", 73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "login.link.password" : "Setel ulang sandi", 74 "menu.app.checkForUpdates": "Periksa versi baru",
75 "login.link.signup" : "Buat akun gratis", 75 "menu.app.hide": "Sembunyikan",
76 "login.password.label" : "Sandi", 76 "menu.app.hideOthers": "Sembunyikan Lainnya",
77 "login.serverLogout" : "Sesi Anda telah berakhir, silakan masuk kembali.", 77 "menu.app.quit": "Keluar",
78 "login.submit.label" : "Masuk", 78 "menu.app.settings": "Pengaturan",
79 "login.tokenExpired" : "Sesi Anda telah kedaluwarsa, silakan masuk kembali.", 79 "menu.app.unhide": "Perlihatkan",
80 "menu.Todoss.closeTodosDrawer" : "Tutup laci Todos", 80 "menu.edit": "Edit",
81 "menu.Todoss.openTodosDrawer" : "Buka laci Todos", 81 "menu.edit.copy": "Salin",
82 "menu.app.about" : "Tentang Franz", 82 "menu.edit.cut": "Potong",
83 "menu.app.announcement" : "Yang baru", 83 "menu.edit.delete": "Hapus",
84 "menu.app.checkForUpdates" : "Periksa versi baru", 84 "menu.edit.emojiSymbols": "Emoji & Simbol",
85 "menu.app.hide" : "Sembunyikan", 85 "menu.edit.paste": "Tempel",
86 "menu.app.hideOthers" : "Sembunyikan Lainnya", 86 "menu.edit.pasteAndMatchStyle": "Tempel dan Cocokkan Gaya",
87 "menu.app.quit" : "Keluar", 87 "menu.edit.redo": "Ulangi lagi",
88 "menu.app.settings" : "Pengaturan", 88 "menu.edit.selectAll": "Pilih Semua",
89 "menu.app.unhide" : "Perlihatkan", 89 "menu.edit.speech": "Bicara",
90 "menu.edit" : "Edit", 90 "menu.edit.startDictation": "Mulai Dikte",
91 "menu.edit.copy" : "Salin", 91 "menu.edit.startSpeaking": "Mulai Berbicara",
92 "menu.edit.cut" : "Potong", 92 "menu.edit.stopSpeaking": "Berhenti Berbicara",
93 "menu.edit.delete" : "Hapus", 93 "menu.edit.undo": "Batalkan",
94 "menu.edit.emojiSymbols" : "Emoji & Simbol", 94 "menu.file": "Berkas",
95 "menu.edit.paste" : "Tempel", 95 "menu.help": "Bantuan",
96 "menu.edit.pasteAndMatchStyle" : "Tempel dan Cocokkan Gaya", 96 "menu.help.changelog": "Log Perubahan",
97 "menu.edit.redo" : "Ulangi lagi", 97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.edit.selectAll" : "Pilih Semua", 98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.edit.speech" : "Bicara", 99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.edit.startDictation" : "Mulai Dikte", 100 "menu.help.learnMore": "Pelajari Lebih Lanjut",
101 "menu.edit.startSpeaking" : "Mulai Berbicara", 101 "menu.help.privacy": "Pernyataan Privasi",
102 "menu.edit.stopSpeaking" : "Berhenti Berbicara", 102 "menu.help.support": "Dukungan",
103 "menu.edit.undo" : "Batalkan", 103 "menu.help.tos": "Ketentuan Layanan",
104 "menu.file" : "Berkas", 104 "menu.services": "Layanan",
105 "menu.help" : "Bantuan", 105 "menu.services.activatePreviousService": "Aktifkan layanan sebelumnya",
106 "menu.help.changelog" : "Log Perubahan", 106 "menu.services.addNewService": "Tambahkan Layanan Baru...",
107 "menu.help.debugInfo" : "Salin Informasi Debug", 107 "menu.services.goHome": "Home",
108 "menu.help.debugInfoCopiedBody" : "Informasi Debug Anda telah disalin ke papan klip.", 108 "menu.services.setNextServiceActive": "Aktifkan layanan berikutnya",
109 "menu.help.debugInfoCopiedHeadline" : "Informasi Debug Franz", 109 "menu.todos": "Todos",
110 "menu.help.learnMore" : "Pelajari Lebih Lanjut", 110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.help.privacy" : "Pernyataan Privasi", 111 "menu.view": "Tampilan",
112 "menu.help.support" : "Dukungan", 112 "menu.view.back": "Back",
113 "menu.help.tos" : "Ketentuan Layanan", 113 "menu.view.enterFullScreen": "Masuk ke Mode Layar Penuh",
114 "menu.services" : "Layanan", 114 "menu.view.exitFullScreen": "Keluar dari Layar Penuh",
115 "menu.services.activatePreviousService" : "Aktifkan layanan sebelumnya", 115 "menu.view.forward": "Forward",
116 "menu.services.addNewService" : "Tambahkan Layanan Baru...", 116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.services.goHome" : "Beranda", 117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.services.setNextServiceActive" : "Aktifkan layanan berikutnya", 118 "menu.view.reloadFranz": "Muat Ulang Ferdi",
119 "menu.todos" : "Todos", 119 "menu.view.reloadService": "Muat ulang Layanan",
120 "menu.todos.enableTodos" : "Aktifkan Todos", 120 "menu.view.resetZoom": "Ukuran Sebenarnya",
121 "menu.view" : "Tampilan", 121 "menu.view.toggleDevTools": "Aktif/Nonaktifkan alat pengembang",
122 "menu.view.enterFullScreen" : "Masuk ke Mode Layar Penuh", 122 "menu.view.toggleFullScreen": "Aktif/Nonaktifkan Layar Penuh",
123 "menu.view.exitFullScreen" : "Keluar dari Layar Penuh", 123 "menu.view.toggleServiceDevTools": "Aktif/Nonaktifkan layanan alat pengembang",
124 "menu.view.reloadFranz" : "Muat Ulang Franz", 124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.reloadService" : "Muat ulang Layanan", 125 "menu.view.zoomIn": "Perbesar",
126 "menu.view.resetZoom" : "Ukuran Sebenarnya", 126 "menu.view.zoomOut": "Perkecil",
127 "menu.view.toggleDevTools" : "Aktif\/Nonaktifkan alat pengembang", 127 "menu.window": "Jendela",
128 "menu.view.toggleFullScreen" : "Aktif\/Nonaktifkan Layar Penuh", 128 "menu.window.close": "Tutup",
129 "menu.view.toggleServiceDevTools" : "Aktif\/Nonaktifkan layanan alat pengembang", 129 "menu.window.minimize": "Minimalkan",
130 "menu.view.toggleTodosDevTools" : "Aktif\/Nonaktifkan Alat Pengembang Todos", 130 "menu.workspaces": "Ruang kerja",
131 "menu.view.zoomIn" : "Perbesar", 131 "menu.workspaces.addNewWorkspace": "Tambah Ruang Kerja Baru...",
132 "menu.view.zoomOut" : "Perkecil", 132 "menu.workspaces.closeWorkspaceDrawer": "Tutup laci ruang kerja",
133 "menu.window" : "Jendela", 133 "menu.workspaces.defaultWorkspace": "Semua layanan",
134 "menu.window.close" : "Tutup", 134 "menu.workspaces.openWorkspaceDrawer": "Buka laci ruang kerja",
135 "menu.window.minimize" : "Minimalkan", 135 "password.email.label": "Alamat email",
136 "menu.workspaces" : "Ruang Kerja", 136 "password.headline": "Setel ulang sandi",
137 "menu.workspaces.addNewWorkspace" : "Tambah Ruang Kerja Baru...", 137 "password.link.login": "Masuk ke akun Anda",
138 "menu.workspaces.closeWorkspaceDrawer" : "Tutup laci ruang kerja", 138 "password.link.signup": "Buat akun gratis",
139 "menu.workspaces.defaultWorkspace" : "Semua layanan", 139 "password.noUser": "Tidak ditemukan pengguna dengan email tersebut",
140 "menu.workspaces.openWorkspaceDrawer" : "Buka laci ruang kerja", 140 "password.submit.label": "Kirim",
141 "password.email.label" : "Alamat email", 141 "password.successInfo": "Periksa email Anda",
142 "password.headline" : "Setel ulang sandi", 142 "premiumFeature.button.upgradeAccount": "Tingkatkan akun",
143 "password.link.login" : "Masuk ke akun Anda", 143 "pricing.features.adFree": "Forever ad-free",
144 "password.link.signup" : "Buat akun gratis", 144 "pricing.features.appDelays": "No Waiting Screens",
145 "password.noUser" : "Tidak ditemukan pengguna dengan email tersebut", 145 "pricing.features.customWebsites": "Add Custom Websites",
146 "password.submit.label" : "Kirim", 146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "password.successInfo" : "Periksa email Anda", 147 "pricing.features.serviceProxies": "Service Proxies",
148 "premiumFeature.button.upgradeAccount" : "Tingkatkan akun", 148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.accountSync" : "Account Synchronisation", 149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.adFree" : "Bebas iklan selamanya", 150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.appDelays" : "Tanpa Layar Penjeda Waktu", 151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.customWebsites" : "Tambahkan Situs Web Khusus", 152 "pricing.features.workspaces": "Ruang kerja",
153 "pricing.features.desktopNotifications" : "Desktop Notifications", 153 "pricing.plan.free": "Ferdi Free",
154 "pricing.features.onPremise" : "Layanan On-premise dan Hosted lainnya", 154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.features.recipes" : "Choose from more than 70 Services", 155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.features.serviceProxies" : "Proksi Layanan", 156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.features.spellchecker" : "Dukungan pengecek ejaan", 157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.features.teamManagement" : "Manajemen Tim", 158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.features.thirdPartyServices" : "Instal layanan pihak ketiga", 159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.features.unlimitedServices" : "Tambahkan layanan tak terbatas", 160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.features.upToSixServices" : "Add up to 6 services", 161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.features.upToThreeServices" : "Add up to 3 services", 162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.features.workspaces" : "Ruang Kerja", 163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.plan.free" : "Free", 164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.plan.legacy" : "Premium", 165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.plan.personal" : "Personal", 166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.plan.personal-monthly" : "Personal Monthly", 167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.plan.personal-yearly" : "Personal Yearly", 168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.plan.pro" : "Professional", 169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "pricing.plan.pro-monthly" : "Professional Monthly", 170 "service.crashHandler.action": "Muat Ulang {name}",
171 "pricing.plan.pro-yearly" : "Professional Yearly", 171 "service.crashHandler.autoReload": "Mencoba memulihkan {name} secara otomatis dalam {seconds} detik",
172 "pricing.trial.cta.accept" : "Start my 14-day Franz Professional Trial ", 172 "service.crashHandler.headline": "Ya Ampun!",
173 "pricing.trial.cta.skip" : "Lanjutkan ke Franz", 173 "service.crashHandler.text": "{name} menyebabkan kesalahan.",
174 "pricing.trial.cta.start" : "Start using Franz", 174 "service.disabledHandler.action": "Aktifkan {name}",
175 "pricing.trial.error" : "Maaf, kami tidak bisa mengaktifkan uji coba Anda!", 175 "service.disabledHandler.headline": "{name} dinonaktifkan",
176 "pricing.trial.features.headline" : "Franz Professional menyertakan:", 176 "service.errorHandler.action": "Muat Ulang {name}",
177 "pricing.trial.headline.pro" : "Hi {name}, welcome to Franz", 177 "service.errorHandler.editAction": "Edit {nama}",
178 "pricing.trial.intro.happyMessaging" : "Happy messaging,", 178 "service.errorHandler.headline": "Ya Ampun!",
179 "pricing.trial.intro.specialTreat" : "We have a special treat for you.", 179 "service.errorHandler.message": "Kesalahan",
180 "pricing.trial.intro.tryPro" : "Enjoy the full Franz Professional experience completely free for 14 days.", 180 "service.errorHandler.text": "{name} gagal dimuat",
181 "pricing.trial.terms.automaticTrialEnd" : "Uji coba gratis Anda berakhir secara otomatis dalam 14 hari", 181 "service.restrictedHandler.action": "Upgrade Account",
182 "pricing.trial.terms.headline" : "Tanpa embel-embel", 182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "pricing.trial.terms.noCreditCard" : "Tidak memerlukan kartu kredit", 183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "pricing.trial.terms.trialWorth" : "Free trial (normally {currency}{price} per month)", 184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.crashHandler.action" : "Muat Ulang {name}", 185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.crashHandler.autoReload" : "Mencoba memulihkan {name} secara otomatis dalam {seconds} detik", 186 "service.webviewLoader.loading": "Memuat",
187 "service.crashHandler.headline" : "Ya Ampun!", 187 "services.getStarted": "Memulai",
188 "service.crashHandler.text" : "{name} menyebabkan kesalahan.", 188 "services.login": "Please login to use Ferdi.",
189 "service.disabledHandler.action" : "Aktifkan {name}", 189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "service.disabledHandler.headline" : "{name} dinonaktifkan", 190 "services.serverless": "Use Ferdi without an Account",
191 "service.errorHandler.action" : "Muat ulang {name}", 191 "services.welcome": "Selamat datang di Ferdi",
192 "service.errorHandler.editAction" : "Edit {nama}", 192 "settings.account.account.editButton": "Edit akun",
193 "service.errorHandler.headline" : "Oh tidak!", 193 "settings.account.accountType.basic": "Akun Dasar",
194 "service.errorHandler.message" : "Kesalahan", 194 "settings.account.accountType.premium": "Akun Pendukung Premium",
195 "service.errorHandler.text" : "{name} gagal dimuat", 195 "settings.account.buttonSave": "Perbarui profil",
196 "service.restrictedHandler.action" : "Tingkatkan Akun", 196 "settings.account.deleteAccount": "Hapus akun",
197 "service.restrictedHandler.customUrl.headline" : "Diperlukan Paket Franz Professional", 197 "settings.account.deleteEmailSent": "Anda menerima email dengan tautan untuk mengonfirmasi penghapusan akun. Akun dan data Anda tidak bisa dipulihkan!",
198 "service.restrictedHandler.customUrl.text" : "Tingkatkan ke paket Franz Professional untuk menggunakan URL khusus dan layanan hosted mandiri.", 198 "settings.account.deleteInfo": "Jika Anda tidak membutuhkan akun Ferdi lagi, Anda bisa menghapus akun dan semua data terkait di sini.",
199 "service.restrictedHandler.serviceLimit.headline" : "Anda telah mencapai batas kota layanan.", 199 "settings.account.headline": "Akun",
200 "service.restrictedHandler.serviceLimit.text" : "Tingkatkan akun Anda untuk menggunakan lebih dari {count} layanan.", 200 "settings.account.headlineAccount": "Informasi akun",
201 "service.webviewLoader.loading" : "Memuat", 201 "settings.account.headlineDangerZone": "Wilayah Berbahaya",
202 "services.getStarted" : "Memulai", 202 "settings.account.headlineInvoices": "Tagihan",
203 "services.welcome" : "Selamat datang di Franz", 203 "settings.account.headlinePassword": "Ubah sandi",
204 "settings.account.account.editButton" : "Edit akun", 204 "settings.account.headlineProfile": "Perbarui profil",
205 "settings.account.accountType.basic" : "Akun Dasar", 205 "settings.account.headlineSubscription": "Langganan Anda",
206 "settings.account.accountType.premium" : "Akun Pendukung Premium", 206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.buttonSave" : "Perbarui profil", 207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.deleteAccount" : "Hapus akun", 208 "settings.account.invoiceDownload": "Unduh",
209 "settings.account.deleteEmailSent" : "Anda menerima email dengan tautan untuk mengonfirmasi penghapusan akun. Akun dan data Anda tidak bisa dipulihkan!", 209 "settings.account.manageSubscription.label": "Kelola langganan Anda",
210 "settings.account.deleteInfo" : "Jika Anda tidak membutuhkan akun Franz lagi, Anda bisa menghapus akun dan semua data terkait di sini.", 210 "settings.account.successInfo": "Perubahan Anda telah disimpan",
211 "settings.account.headline" : "Akun", 211 "settings.account.trial": "Free Trial",
212 "settings.account.headlineAccount" : "Informasi akun", 212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.headlineDangerZone" : "Wilayah Berbahaya", 213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.headlineInvoices" : "Tagihan", 214 "settings.account.tryReloadServices": "Coba lagi",
215 "settings.account.headlinePassword" : "Ubah sandi", 215 "settings.account.tryReloadUserInfoRequest": "Coba lagi",
216 "settings.account.headlineProfile" : "Perbarui profil", 216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.headlineSubscription" : "Langganan Anda", 217 "settings.account.userInfoRequestFailed": "Gagal memuat informasi pengguna",
218 "settings.account.headlineTrialUpgrade" : "Dapatkan Uji Coba Gratis 14 Hari Franz Professional", 218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.account.headlineUpgradeAccount" : "Tingkatkan akun Anda dan dapatkan pengalaman Franz lengkap", 219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.account.invoiceDownload" : "Unduh", 220 "settings.app.buttonClearAllCache": "Bersihkan singgahan",
221 "settings.account.manageSubscription.label" : "Kelola langganan Anda", 221 "settings.app.buttonInstallUpdate": "Mulai ulang & instal pembaruan",
222 "settings.account.successInfo" : "Perubahan Anda telah disimpan", 222 "settings.app.buttonSearchForUpdate": "Periksa versi baru",
223 "settings.account.trial" : "Uji Coba Gratis", 223 "settings.app.cacheInfo": "Singgahan Ferdi sedang menggunakan ruang disk {size}.",
224 "settings.account.trialEndsIn" : "Uji coba gratis Anda berakhir dalam {duration}.", 224 "settings.app.currentVersion": "Versi saat ini:",
225 "settings.account.trialUpdateBillingInfo" : "Perbarui informasi penagihan Anda untuk melanjutkan menggunakan {license} setelah uji coba Anda berakhir.", 225 "settings.app.form.accentColor": "Accent color",
226 "settings.account.tryReloadServices" : "Coba lagi", 226 "settings.app.form.autoLaunchInBackground": "Buka di latar belakang",
227 "settings.account.tryReloadUserInfoRequest" : "Coba lagi", 227 "settings.app.form.autoLaunchOnStart": "Jalankan Ferdi saat komputer dimulai",
228 "settings.account.upgradeToPro.label" : "Tingkatkan ke Franz Professional", 228 "settings.app.form.beta": "Sertakan versi beta",
229 "settings.account.userInfoRequestFailed" : "Gagal memuat informasi pengguna", 229 "settings.app.form.darkMode": "Sisi Kelam menunggu Anda (Mode Gelap)",
230 "settings.account.yourLicense" : "Lisensi Franz Anda", 230 "settings.app.form.enableGPUAcceleration": "Aktifkan Akselerasi GPU",
231 "settings.app.buttonClearAllCache" : "Bersihkan singgahan", 231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.buttonInstallUpdate" : "Mulai ulang dan instal versi baru", 232 "settings.app.form.enableSpellchecking": "Aktifkan pemeriksaan ejaan",
233 "settings.app.buttonSearchForUpdate" : "Periksa pembaruan", 233 "settings.app.form.enableSystemTray": "Tampilkan Ferdi di baki sistem",
234 "settings.app.cacheInfo" : "Singgahan Franz sedang menggunakan ruang disk {size}.", 234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.currentVersion" : "Versi saat ini:", 235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.autoLaunchInBackground" : "Buka di latar belakang", 236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.autoLaunchOnStart" : "Jalankan Franz saat komputer dimulai", 237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.beta" : "Sertakan versi beta", 238 "settings.app.form.language": "Bahasa",
239 "settings.app.form.darkMode" : "Sisi Kelam menunggu Anda (Mode Gelap)", 239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.enableGPUAcceleration" : "Aktifkan Akselerasi GPU", 240 "settings.app.form.minimizeToSystemTray": "Perkecil Ferdi ke baki sistem",
241 "settings.app.form.enableSpellchecking" : "Aktifkan pemeriksaan ejaan", 241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.enableSystemTray" : "Tampilkan Franz di baki sistem", 242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.enableTodos" : "Aktifkan Franz Todos", 243 "settings.app.form.runInBackground": "Tetap jalankan Ferdi di latar belakang saat menutup jendela",
244 "settings.app.form.keepAllWorkspacesLoaded" : "Muat semua ruang kerja Anda", 244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.language" : "Bahasa", 245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.minimizeToSystemTray" : "Perkecil Franz ke baki sistem", 246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.runInBackground" : "Tetap jalankan Franz di latar belakang saat menutup jendela", 247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices" : "Tampilkan tab layanan yang dinonaktifkan", 248 "settings.app.form.showDisabledServices": "Tampilkan tab layanan yang dinonaktifkan",
249 "settings.app.form.showMessagesBadgesWhenMuted" : "Tampilkan lencana pesan belum dibaca saat pemberitahuan dinonaktifkan", 249 "settings.app.form.showMessagesBadgesWhenMuted": "Tampilkan lencana pesan belum dibaca saat pemberitahuan dinonaktifkan",
250 "settings.app.headline" : "Pengaturan", 250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.headlineAdvanced" : "Tingkat Lanjut", 251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.headlineAppearance" : "Tampilan", 252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headlineGeneral" : "Umum", 253 "settings.app.headline": "Pengaturan",
254 "settings.app.headlineLanguage" : "Bahasa", 254 "settings.app.headlineAdvanced": "Tingkat Lanjut",
255 "settings.app.headlineUpdates" : "Versi Baru", 255 "settings.app.headlineAppearance": "Tampilan",
256 "settings.app.languageDisclaimer" : "Penerjemahan resmi dilakukan untuk Bahasa Inggris dan Jerman. Bahasa lainnya merupakan penerjemahan oleh komunitas.", 256 "settings.app.headlineGeneral": "Umum",
257 "settings.app.restartRequired" : "Perubahan membutuhkan mulai ulang", 257 "settings.app.headlineLanguage": "Bahasa",
258 "settings.app.subheadlineCache" : "Singgahan", 258 "settings.app.headlineUpdates": "Versi Baru",
259 "settings.app.translationHelp" : "Bantu kami menerjemahkan Franz ke bahasa Anda.", 259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.updateStatusAvailable" : "Versi baru tersedia, mengunduh...", 260 "settings.app.languageDisclaimer": "Penerjemahan resmi dilakukan untuk Bahasa Inggris dan Jerman. Bahasa lainnya merupakan penerjemahan oleh komunitas.",
261 "settings.app.updateStatusSearching" : "Sedang mencari versi baru", 261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.updateStatusUpToDate" : "Anda sedang menggunakan versi terbaru Franz", 262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.invite.headline" : "Undang Teman", 263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.navigation.account" : "Akun", 264 "settings.app.restartRequired": "Perubahan membutuhkan mulai ulang",
265 "settings.navigation.availableServices" : "Layanan tersedia", 265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.navigation.inviteFriends" : "Undang Teman", 266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.navigation.logout" : "Keluar", 267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.navigation.settings" : "Pengaturan", 268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.navigation.team" : "Kelola Tim", 269 "settings.app.subheadlineCache": "Singgahan",
270 "settings.navigation.yourServices" : "Layanan Anda", 270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.navigation.yourWorkspaces" : "Ruang kerja Anda", 271 "settings.app.translationHelp": "Bantu kami menerjemahkan Ferdi ke bahasa Anda.",
272 "settings.recipes.all" : "Semua layanan", 272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.recipes.custom" : "Layanan Khusus", 273 "settings.app.updateStatusAvailable": "Versi baru tersedia, mengunduh...",
274 "settings.recipes.customService.headline.communityRecipes" : "Resep Komunitas Pihak Ketiga", 274 "settings.app.updateStatusSearching": "Sedang mencari versi baru",
275 "settings.recipes.customService.headline.customRecipes" : "Resep Khusus Pihak Ketiga", 275 "settings.app.updateStatusUpToDate": "Anda sedang menggunakan versi terbaru Ferdi",
276 "settings.recipes.customService.headline.devRecipes" : "Resep Layanan Pengembangan Anda", 276 "settings.invite.headline": "Undang Teman",
277 "settings.recipes.customService.intro" : "Untuk menambahkan layanan khusus, salin resep layanan ke:", 277 "settings.navigation.account": "Akun",
278 "settings.recipes.customService.openDevDocs" : "Dokumentasi Pengembang", 278 "settings.navigation.availableServices": "Layanan tersedia",
279 "settings.recipes.customService.openFolder" : "Buka folder", 279 "settings.navigation.logout": "Keluar",
280 "settings.recipes.headline" : "Layanan tersedia", 280 "settings.navigation.settings": "Pengaturan",
281 "settings.recipes.missingService" : "Layanan tidak tersedia?", 281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.recipes.mostPopular" : "Terpopuler", 282 "settings.navigation.team": "Kelola Tim",
283 "settings.recipes.nothingFound" : "Maaf, tidak ada layanan yang cocok dengan pencarian Anda.", 283 "settings.navigation.yourServices": "Layanan Anda",
284 "settings.recipes.servicesSuccessfulAddedInfo" : "Layanan berhasil ditambahkan", 284 "settings.navigation.yourWorkspaces": "Ruang kerja Anda",
285 "settings.searchService" : "Cari layanan", 285 "settings.recipes.all": "Semua layanan",
286 "settings.service.error.goBack" : "Kembali ke layanan", 286 "settings.recipes.custom": "Custom Services",
287 "settings.service.error.headline" : "Terjadi kesalahan", 287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.service.error.message" : "Tidak dapat memuat konfigurasi layanan.", 288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.service.form.addServiceHeadline" : "Tambahkan {name}", 289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.service.form.availableServices" : "Layanan tersedia", 290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.service.form.customUrl" : "Server khusus", 291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.service.form.customUrlPremiumInfo" : "Untuk menambahkan layanan hosted mandiri, Anda membutuhkan Franz Premium Supporter Account.", 292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.service.form.customUrlUpgradeAccount" : "Tingkatkan akun Anda", 293 "settings.recipes.headline": "Layanan tersedia",
294 "settings.service.form.customUrlValidationError" : "Gagal memvalidasi server {nama} khusus.", 294 "settings.recipes.missingService": "Layanan tidak tersedia?",
295 "settings.service.form.deleteButton" : "Hapus layanan", 295 "settings.recipes.mostPopular": "Terpopuler",
296 "settings.service.form.editServiceHeadline" : "Edit {name}", 296 "settings.recipes.nothingFound": "Maaf, tidak ada layanan yang cocok dengan pencarian Anda.",
297 "settings.service.form.enableAudio" : "Aktifkan audio", 297 "settings.recipes.servicesSuccessfulAddedInfo": "Layanan berhasil ditambahkan",
298 "settings.service.form.enableBadge" : "Tampilkan lencana pesan belum dibaca", 298 "settings.searchService": "Cari layanan",
299 "settings.service.form.enableDarkMode" : "Aktifkan Mode Gelap", 299 "settings.service.error.goBack": "Kembali ke layanan",
300 "settings.service.form.enableNotification" : "Aktifkan pemberitahuan", 300 "settings.service.error.headline": "Kesalahan",
301 "settings.service.form.enableService" : "Aktifkan layanan", 301 "settings.service.error.message": "Tidak dapat memuat konfigurasi layanan.",
302 "settings.service.form.headlineBadges" : "Lencana pesan belum dibaca", 302 "settings.service.form.addServiceHeadline": "Tambahkan {name}",
303 "settings.service.form.headlineGeneral" : "Umum", 303 "settings.service.form.availableServices": "Layanan tersedia",
304 "settings.service.form.headlineNotifications" : "Notifikasi", 304 "settings.service.form.customUrl": "Server khusus",
305 "settings.service.form.icon" : "Ikon khusus", 305 "settings.service.form.customUrlPremiumInfo": "Untuk menambahkan layanan hosted yang dijalankan mandiri, Anda membutuhkan Ferdi Premium Supporter Account.",
306 "settings.service.form.iconDelete" : "Hapus", 306 "settings.service.form.customUrlUpgradeAccount": "Tingkatkan akun Anda",
307 "settings.service.form.iconUpload" : "Lepaskan gambar atau klik di sini", 307 "settings.service.form.customUrlValidationError": "Gagal memvalidasi server {nama} khusus.",
308 "settings.service.form.indirectMessageInfo" : "Anda akan diberi tahu tentang semua pesan dalam kanal, bukan hanya @username, @channel, @here, ...", 308 "settings.service.form.deleteButton": "Hapus layanan",
309 "settings.service.form.indirectMessages" : "Tampilkan lencana pesan untuk semua pesan baru", 309 "settings.service.form.editServiceHeadline": "Edit {nama}",
310 "settings.service.form.isMutedInfo" : "Saat dinonaktifkan, semua suara pemberitahuan dan pemutaran audio akan dibisukan", 310 "settings.service.form.enableAudio": "Aktifkan audio",
311 "settings.service.form.name" : "Nama", 311 "settings.service.form.enableBadge": "Tampilkan lencana pesan belum dibaca",
312 "settings.service.form.proxy.headline" : "Pengaturan Proxy HTTP\/HTTPS", 312 "settings.service.form.enableDarkMode": "Aktifkan Mode Gelap",
313 "settings.service.form.proxy.host" : "Host\/IP Proksi", 313 "settings.service.form.enableNotification": "Aktifkan pemberitahuan",
314 "settings.service.form.proxy.info" : "Pengaturan proksi tidak akan disinkronkan dengan server Franz.", 314 "settings.service.form.enableService": "Aktifkan layanan",
315 "settings.service.form.proxy.isEnabled" : "Gunakan Proksi", 315 "settings.service.form.headlineBadges": "Lencana pesan belum dibaca",
316 "settings.service.form.proxy.password" : "Sandi (opsional)", 316 "settings.service.form.headlineGeneral": "Umum",
317 "settings.service.form.proxy.port" : "Port", 317 "settings.service.form.headlineNotifications": "Notifikasi",
318 "settings.service.form.proxy.restartInfo" : "Silahkan mulai ulang Franz setelah mengubah Setelan proxy", 318 "settings.service.form.icon": "Ikon khusus",
319 "settings.service.form.proxy.user" : "Pengguna (opsional)", 319 "settings.service.form.iconDelete": "Hapus",
320 "settings.service.form.saveButton" : "Simpan layanan", 320 "settings.service.form.iconUpload": "Lepaskan gambar atau klik di sini",
321 "settings.service.form.tabHosted" : "Hosted", 321 "settings.service.form.indirectMessageInfo": "Anda akan diberi tahu tentang semua pesan dalam kanal, bukan hanya @username, @channel, @here, ...",
322 "settings.service.form.tabOnPremise" : "Hosted mandiri", 322 "settings.service.form.indirectMessages": "Tampilkan lencana pesan untuk semua pesan baru",
323 "settings.service.form.team" : "Tim", 323 "settings.service.form.isMutedInfo": "Saat dinonaktifkan, semua suara pemberitahuan dan pemutaran audio akan dibisukan",
324 "settings.service.form.useHostedService" : "Gunakan layanan hosted {name}.", 324 "settings.service.form.name": "Nama",
325 "settings.service.form.yourServices" : "Layanan Anda", 325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.services.deletedInfo" : "Layanan telah dihapus", 326 "settings.service.form.proxy.headline": "Pengaturan Proxy HTTP/HTTPS",
327 "settings.services.discoverServices" : "Temukan layanan", 327 "settings.service.form.proxy.host": "Host/IP Proksi",
328 "settings.services.headline" : "Layanan Anda", 328 "settings.service.form.proxy.info": "Pengaturan proksi tidak akan disinkronkan dengan server Ferdi.",
329 "settings.services.noServicesAdded" : "Anda belum menambahkan layanan apa pun.", 329 "settings.service.form.proxy.isEnabled": "Gunakan Proksi",
330 "settings.services.servicesRequestFailed" : "Tidak dapat memuat layanan Anda", 330 "settings.service.form.proxy.password": "Sandi (opsional)",
331 "settings.services.tooltip.isDisabled" : "Layanan dinonaktifkan", 331 "settings.service.form.proxy.port": "Port",
332 "settings.services.tooltip.isMuted" : "Semua suara dibisukan", 332 "settings.service.form.proxy.restartInfo": "Silahkan mulai ulang Ferdi setelah mengubah Setelan proxy",
333 "settings.services.tooltip.notificationsDisabled" : "Pemberitahuan dinonaktifkan", 333 "settings.service.form.proxy.user": "Pengguna (opsional)",
334 "settings.services.updatedInfo" : "Perubahan telah disimpan", 334 "settings.service.form.saveButton": "Simpan layanan",
335 "settings.team.contentHeadline" : "Franz untuk Tim", 335 "settings.service.form.tabHosted": "Hosted",
336 "settings.team.copy" : "Franz untuk Tim menyediakan opsi untuk mengundang rekan kerja ke tim Anda dengan mengirimkan undangan email dan mengelola langganan mereka pada preferensi akun Anda. Jangan habiskan waktu Anda menyiapkan langganan bagi masing-masing anggota tim, lupakan berbagai faktur dan periode penagihan - satu tim untuk semua!", 336 "settings.service.form.tabOnPremise": "Hosted mandiri",
337 "settings.team.headline" : "Tim", 337 "settings.service.form.team": "Tim",
338 "settings.team.intro" : "Anda dan tim Anda menggunakan Franz? Kini Anda bisa mengelola langganan Premium untuk semua rekan kerja, teman, atau anggota keluar sebanyak yang Anda inginkan, semuanya cukup dari satu akun.", 338 "settings.service.form.useHostedService": "Gunakan layanan hosted {name}.",
339 "settings.team.manageAction" : "Kelola Tim Anda di meetfranz.com", 339 "settings.service.form.yourServices": "Layanan Anda",
340 "settings.team.upgradeAction" : "Tingkatkan Akun Anda", 340 "settings.services.deletedInfo": "Layanan telah dihapus",
341 "settings.user.form.accountType.company" : "Perusahaan", 341 "settings.services.discoverServices": "Temukan layanan",
342 "settings.user.form.accountType.individual" : "Pribadi", 342 "settings.services.headline": "Layanan Anda",
343 "settings.user.form.accountType.label" : "Jenis akun", 343 "settings.services.noServicesAdded": "Anda belum menambahkan layanan apa pun.",
344 "settings.user.form.accountType.non-profit" : "Nirlaba", 344 "settings.services.servicesRequestFailed": "Tidak dapat memuat layanan Anda",
345 "settings.user.form.currentPassword" : "Sandi saat ini", 345 "settings.services.tooltip.isDisabled": "Layanan dinonaktifkan",
346 "settings.user.form.email" : "Email", 346 "settings.services.tooltip.isMuted": "Semua suara dibisukan",
347 "settings.user.form.firstname" : "Nama Depan", 347 "settings.services.tooltip.notificationsDisabled": "Pemberitahuan dinonaktifkan",
348 "settings.user.form.lastname" : "Nama Belakang", 348 "settings.services.updatedInfo": "Perubahan Anda telah disimpan",
349 "settings.user.form.newPassword" : "Sandi baru", 349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.workspace.add.form.name" : "Nama", 350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.workspace.add.form.submitButton" : "Buat ruang kerja", 351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.workspace.form.buttonDelete" : "Hapus ruang kerja", 352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.workspace.form.buttonSave" : "Simpan ruang kerja", 353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.workspace.form.name" : "Nama", 354 "settings.team.contentHeadline": "Ferdi untuk Tim",
355 "settings.workspace.form.servicesInWorkspaceHeadline" : "Layanan dalam Ruang Kerja ini", 355 "settings.team.copy": "Ferdi untuk Tim menyediakan opsi untuk mengundang rekan kerja ke tim Anda dengan mengirimkan undangan email dan mengelola langganan mereka pada preferensi akun Anda. Jangan habiskan waktu Anda menyiapkan langganan bagi masing-masing anggota tim, lupakan berbagai faktur dan periode penagihan - satu tim untuk semua!",
356 "settings.workspace.form.yourWorkspaces" : "Ruang kerja Anda", 356 "settings.team.headline": "Tim",
357 "settings.workspaces.deletedInfo" : "Ruang kerja telah dihapus", 357 "settings.team.intro": "Anda dan tim Anda menggunakan Ferdi? Kini Anda bisa mengelola langganan Premium untuk semua rekan kerja, teman, atau anggota keluar sebanyak yang Anda inginkan, semuanya cukup dari satu akun.",
358 "settings.workspaces.headline" : "Ruang kerja Anda", 358 "settings.team.manageAction": "Kelola Tim Anda di getferdi.com",
359 "settings.workspaces.noWorkspacesAdded" : "Anda belum menambahkan ruang kerja.", 359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.workspaces.tryReloadWorkspaces" : "Coba lagi", 360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.workspaces.updatedInfo" : "Perubahan Anda telah disimpan", 361 "settings.team.upgradeAction": "Tingkatkan Akun Anda",
362 "settings.workspaces.workspaceFeatureHeadline" : "Sedikit Namun Banyak: Memperkenalkan Ruang Kerja Franz", 362 "settings.user.form.accountType.company": "Perusahaan",
363 "settings.workspaces.workspaceFeatureInfo" : "Ruang Kerja Franz dapat digunakan untuk tetap fokus pada hal penting saat ini. Siapkan sekelompok layanan yang berbeda dan dengan mudah beralih ke yang lain. Anda yang memutuskan layanan mana yang Anda perlukan dan kapan, agar kami bisa membantu Anda tetap berada di garis depan - atau dengan mudah mengakhiri hari kerja kapan saja Anda inginkan.", 363 "settings.user.form.accountType.individual": "Pribadi",
364 "settings.workspaces.workspacesRequestFailed" : "Tidak dapat memuat ruang kerja Anda", 364 "settings.user.form.accountType.label": "Jenis akun",
365 "sidebar.addNewService" : "Tambahkan layanan baru", 365 "settings.user.form.accountType.non-profit": "Nirlaba",
366 "sidebar.closeTodosDrawer" : "Tutup Franz Todos", 366 "settings.user.form.currentPassword": "Sandi saat ini",
367 "sidebar.closeWorkspaceDrawer" : "Tutup laci ruang kerja", 367 "settings.user.form.email": "Email",
368 "sidebar.muteApp" : "Nonaktifkan pemberitahuan & audio", 368 "settings.user.form.firstname": "Nama Depan",
369 "sidebar.openTodosDrawer" : "Buka Franz Todos", 369 "settings.user.form.lastname": "Nama Belakang",
370 "sidebar.openWorkspaceDrawer" : "Buka laci ruang kerja", 370 "settings.user.form.newPassword": "Sandi baru",
371 "sidebar.settings" : "Pengaturan", 371 "settings.workspace.add.form.name": "Nama",
372 "sidebar.unmuteApp" : "Aktifkan pemberitahuan", 372 "settings.workspace.add.form.submitButton": "Buat ruang kerja",
373 "signup.email.label" : "Alamat email", 373 "settings.workspace.form.buttonDelete": "Hapus ruang kerja",
374 "signup.emailDuplicate" : "Pengguna dengan alamat email ini sudah ada", 374 "settings.workspace.form.buttonSave": "Simpan ruang kerja",
375 "signup.firstname.label" : "Nama Depan", 375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "signup.headline" : "Daftar", 376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "signup.lastname.label" : "Nama Akhir", 377 "settings.workspace.form.name": "Nama",
378 "signup.legal.info" : "Dengan membuat akun Franz, Anda menyetujui", 378 "settings.workspace.form.servicesInWorkspaceHeadline": "Layanan dalam Ruang Kerja ini",
379 "signup.legal.privacy" : "Pernyataan Privasi", 379 "settings.workspace.form.yourWorkspaces": "Ruang kerja Anda",
380 "signup.legal.terms" : "Ketentuan layanan", 380 "settings.workspaces.deletedInfo": "Ruang kerja telah dihapus",
381 "signup.link.login" : "Sudah punya akun, masuk?", 381 "settings.workspaces.headline": "Ruang kerja Anda",
382 "signup.password.label" : "Sandi", 382 "settings.workspaces.noWorkspacesAdded": "Anda belum menambahkan ruang kerja.",
383 "signup.submit.label" : "Buat akun", 383 "settings.workspaces.tryReloadWorkspaces": "Coba lagi",
384 "subscription.bestValue" : "Best value", 384 "settings.workspaces.updatedInfo": "Perubahan Anda telah disimpan",
385 "subscription.cta.activateTrial" : "Ya, mulai uji coba gratis Franz Professional", 385 "settings.workspaces.workspaceFeatureHeadline": "Sedikit Namun Banyak: Memperkenalkan Ruang Kerja Ferdi",
386 "subscription.cta.allOptions" : "Lihat semua opsi", 386 "settings.workspaces.workspaceFeatureInfo": "Ruang Kerja Ferdi dapat digunakan untuk tetap fokus pada hal penting saat ini. Siapkan sekelompok layanan yang berbeda dan dengan mudah beralih ke yang lain. Anda yang memutuskan layanan mana yang Anda perlukan dan kapan, agar kami bisa membantu Anda tetap berada di garis depan - atau dengan mudah mengakhiri hari kerja kapan saja Anda inginkan.",
387 "subscription.cta.choosePlan" : "Pilih paket Anda", 387 "settings.workspaces.workspacesRequestFailed": "Tidak dapat memuat ruang kerja Anda",
388 "subscription.includedProFeatures" : "Paket Franz Professional menyertakan:", 388 "sidebar.addNewService": "Tambahkan layanan baru",
389 "subscription.interval.per" : "per {interval}", 389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "subscription.interval.perMonth" : "per month", 390 "sidebar.closeWorkspaceDrawer": "Tutup laci ruang kerja",
391 "subscription.interval.perMonthPerUser" : "per month & user", 391 "sidebar.lockFerdi": "Lock Ferdi",
392 "subscription.planItem.upgradeAccount" : "Tingkatkan Akun", 392 "sidebar.muteApp": "Nonaktifkan pemberitahuan & audio",
393 "subscription.teaser.includedFeatures" : "Paket Franz Berbayar mencakup:", 393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "subscription.teaser.intro" : "Franz 5 menyertakan berbagai macan fitur baru untuk mempercanggih komunikasi sehari-hari. Lihat paket baru kami dan temukan yang cocok untuk Anda!", 394 "sidebar.openWorkspaceDrawer": "Buka laci ruang kerja",
395 "subscriptionPopup.buttonCancel" : "Batalkan", 395 "sidebar.settings": "Pengaturan",
396 "subscriptionPopup.buttonDone" : "Selesai", 396 "sidebar.unmuteApp": "Aktifkan pemberitahuan",
397 "tabs.item.deleteService" : "Hapus layanan", 397 "signup.email.label": "Alamat email",
398 "tabs.item.disableAudio" : "Nonaktifkan audio", 398 "signup.emailDuplicate": "Pengguna dengan alamat email ini sudah ada",
399 "tabs.item.disableNotifications" : "Nonaktifkan pemberitahuan", 399 "signup.firstname.label": "Nama Depan",
400 "tabs.item.disableService" : "Nonaktifkan layanan", 400 "signup.headline": "Daftar",
401 "tabs.item.edit" : "Sunting", 401 "signup.lastname.label": "Nama Belakang",
402 "tabs.item.enableAudio" : "Aktifkan audio", 402 "signup.legal.info": "Dengan membuat akun Ferdi, Anda menyetujui",
403 "tabs.item.enableNotification" : "Aktifkan pemberitahuan", 403 "signup.legal.privacy": "Pernyataan Privasi",
404 "tabs.item.enableService" : "Aktifkan layanan", 404 "signup.legal.terms": "Ketentuan layanan",
405 "tabs.item.reload" : "Muat Ulang", 405 "signup.link.login": "Sudah punya akun, masuk?",
406 "validation.email" : "{field} tidak benar", 406 "signup.password.label": "Password",
407 "validation.minLength" : "{field} setidaknya harus {length} karakter", 407 "signup.submit.label": "Buat akun",
408 "validation.oneRequired" : "Setidaknya diperlukan satu", 408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "validation.required" : "{field} wajib diisi", 409 "subscription.cta.allOptions": "See all options",
410 "validation.url" : "{field} bukan URL yang benar", 410 "subscription.cta.choosePlan": "Choose your plan",
411 "webControls.back" : "Mundur", 411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "webControls.forward" : "Maju", 412 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:",
413 "webControls.goHome" : "Beranda", 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!",
414 "webControls.openInBrowser" : "Buka di Browser", 414 "subscriptionPopup.buttonCancel": "Batalkan",
415 "webControls.reload" : "Muat Ulang", 415 "subscriptionPopup.buttonDone": "Selesai",
416 "welcome.loginButton" : "Masuk ke akun Anda", 416 "tabs.item.deleteService": "Hapus layanan",
417 "welcome.signupButton" : "Buat akun gratis", 417 "tabs.item.disableAudio": "Nonaktifkan audio",
418 "workspaceDrawer.addNewWorkspaceLabel" : "Tambah ruang kerja baru", 418 "tabs.item.disableNotifications": "Nonaktifkan pemberitahuan",
419 "workspaceDrawer.allServices" : "Semua layanan", 419 "tabs.item.disableService": "Nonaktifkan layanan",
420 "workspaceDrawer.headline" : "Ruang kerja", 420 "tabs.item.edit": "Edit",
421 "workspaceDrawer.item.contextMenuEdit" : "edit", 421 "tabs.item.enableAudio": "Aktifkan audio",
422 "workspaceDrawer.item.noServicesAddedYet" : "Belum ada layanan yang ditambahkan", 422 "tabs.item.enableNotification": "Aktifkan pemberitahuan",
423 "workspaceDrawer.premiumCtaButtonLabel" : "Buat ruang kerja pertama Anda", 423 "tabs.item.enableService": "Aktifkan layanan",
424 "workspaceDrawer.proFeatureBadge" : "Fitur premium", 424 "tabs.item.reload": "Muat Ulang",
425 "workspaceDrawer.reactivatePremiumAccountLabel" : "Aktifkan ulang akun premium", 425 "validation.email": "{field} tidak benar",
426 "workspaceDrawer.workspaceFeatureInfo" : "<p>Ruang Kerja Franz dapat digunakan untuk tetap fokus pada hal penting saat ini. Siapkan sekelompok layanan yang berbeda dan dengan mudah beralih ke yang lain.<\/p><p>Anda yang memutuskan layanan mana yang Anda perlukan dan kapan, agar kami bisa membantu Anda tetap berada di garis depan - atau dengan mudah mengakhiri hari kerja kapan saja Anda inginkan.<\/p>", 426 "validation.minLength": "{field} setidaknya harus {length} karakter",
427 "workspaceDrawer.workspacesSettingsTooltip" : "Edit setelan ruang kerja", 427 "validation.oneRequired": "Setidaknya diperlukan satu",
428 "workspaces.switchingIndicator.switchingTo" : "Beralih ke" 428 "validation.required": "{field} wajib diisi",
429 "validation.url": "{field} bukan URL yang benar",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Muat Ulang",
435 "welcome.loginButton": "Masuk ke akun Anda",
436 "welcome.signupButton": "Buat akun gratis",
437 "workspaceDrawer.addNewWorkspaceLabel": "Tambah ruang kerja baru",
438 "workspaceDrawer.allServices": "Semua layanan",
439 "workspaceDrawer.headline": "Ruang kerja",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "Belum ada layanan yang ditambahkan",
442 "workspaceDrawer.premiumCtaButtonLabel": "Buat ruang kerja pertama Anda",
443 "workspaceDrawer.proFeatureBadge": "Fitur premium",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Aktifkan ulang akun premium",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ruang Kerja Ferdi dapat digunakan untuk tetap fokus pada hal penting saat ini. Siapkan sekelompok layanan yang berbeda dan dengan mudah beralih ke yang lain.</p><p>Anda yang memutuskan layanan mana yang Anda perlukan dan kapan, agar kami bisa membantu Anda tetap berada di garis depan - atau dengan mudah mengakhiri hari kerja kapan saja Anda inginkan.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit setelan ruang kerja",
447 "workspaces.switchingIndicator.switchingTo": "Beralih ke"
429} 448}
diff --git a/src/i18n/locales/it.json b/src/i18n/locales/it.json
index 350c0ce56..9a49fb6ce 100644
--- a/src/i18n/locales/it.json
+++ b/src/i18n/locales/it.json
@@ -1,429 +1,448 @@
1{ 1{
2 "app.errorHandler.action" : "Ricarica", 2 "app.errorHandler.action": "Ricarica",
3 "app.errorHandler.headline" : "Qualcosa è andato storto", 3 "app.errorHandler.headline": "Qualcosa è andato storto",
4 "feature.announcements.changelog.headline" : "Modifiche in Franz {Version}", 4 "feature.announcements.changelog.headline": "Modifiche in Ferdi {Version}",
5 "feature.delayApp.headline" : "Upgrade your Franz plan to skip the wait", 5 "feature.delayApp.headline": "Per favore, compra una Licenza Supporter di Ferdi per saltare l'attesa",
6 "feature.delayApp.text" : "Franz continuerà tra {seconds} secondi.", 6 "feature.delayApp.text": "Ferdi continuerà tra {seconds} secondi.",
7 "feature.delayApp.trial.action" : "Sì, voglio la prova gratuita di 14 giorni di Franz Professional", 7 "feature.delayApp.trial.action": "Sì, voglio la prova gratuita di 14 giorni di Ferdi Professional",
8 "feature.delayApp.trial.actionShort" : "Attiva la prova gratuita di Franz Professional", 8 "feature.delayApp.trial.actionShort": "Attiva la prova gratuita di Ferdi Professional",
9 "feature.delayApp.trial.headline" : "Get the free Franz Professional 14-days trial and skip the wait", 9 "feature.delayApp.trial.headline": "Ottieni la prova gratuita per 14 giorni di Ferdi Professional e salta la coda",
10 "feature.delayApp.upgrade.action" : "Upgrade Franz", 10 "feature.delayApp.upgrade.action": "Ricevi una Licenza Supporter di Ferdi",
11 "feature.delayApp.upgrade.actionShort" : "Effettua l'upgrade del tuo account", 11 "feature.delayApp.upgrade.actionShort": "Effettua l'upgrade del tuo account",
12 "feature.planSelection.cta.ctaDowngradeFree" : "Downgrade to Free", 12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.planSelection.cta.stayOnFree" : "Stay on Free", 13 "feature.quickSwitch.search": "Search...",
14 "feature.planSelection.cta.trial" : "Start my free 14-days Trial", 14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.planSelection.cta.upgradePersonal" : "Choose Personal", 15 "feature.serviceLimit.limitReached": "Hai aggiunto {amount} su {limit} servizi che sono inclusi nel tuo piano. Per favore potenzia il tuo account per aggiungere più servizi.",
16 "feature.planSelection.cta.upgradePro" : "Choose Professional", 16 "feature.shareFranz.action.email": "Manda come email",
17 "feature.planSelection.free.text" : "Basic functionality", 17 "feature.shareFranz.action.facebook": "Condividi su Facebook",
18 "feature.planSelection.fullFeatureList" : "Complete comparison of all plans", 18 "feature.shareFranz.action.twitter": "Condividi su Twitter",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 19 "feature.shareFranz.headline": "Ferdi è migliore insieme!",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade" : "Choose Personal", 20 "feature.shareFranz.shareText.email": "Ho aggiunto {count} nuovi servizi a Ferdi! Scarica ora l'app gratuita per WhatsApp, Messenger, Slack, Skype e altri all'indirizzo www.getferdi.com",
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.", 21 "feature.shareFranz.shareText.twitter": "Ho aggiunto {count} nuovi servizi a Ferdi! Scarica ora l’app gratuita per WhatsApp, Messenger, Slack, Skype e altri all’indirizzo www.getferdi.com /cc @FerdiMessenger",
22 "feature.planSelection.fullscreen.dialog.title" : "Downgrade your Franz Plan", 22 "feature.shareFranz.text": "Di’ ai tuoi amici e colleghi quanto Ferdi è fantastico e aiutaci a diffondere la parola.",
23 "feature.planSelection.fullscreen.subheadline" : "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.", 23 "feature.todos.premium.info": "Le attività Ferdi sono ora disponibili agli utenti premium!",
24 "feature.planSelection.fullscreen.welcome" : "Are you ready to choose, {name}?", 24 "feature.todos.premium.rollout": "Chiunque altro dovrà aspettare un po' di più.",
25 "feature.planSelection.personal.text" : "More services, no waiting - ideal for personal use.", 25 "feature.todos.premium.upgrade": "Potenzia l'Account",
26 "feature.planSelection.pricesBasedOnAnnualPayment" : "All prices based on yearly payment", 26 "global.api.unhealthy": "Impossibile connettersi ai servizi online di Ferdi",
27 "feature.planSelection.pro.text" : "Unlimited services and professional features for you - and your team.", 27 "global.franzProRequired": "Richiesto Ferdi Professional",
28 "feature.serviceLimit.limitReached" : "Hai aggiunto {amount} su {limit} servizi che sono inclusi nel tuo piano. Per favore potenzia il tuo account per aggiungere più servizi.", 28 "global.notConnectedToTheInternet": "Non sei connesso a Internet.",
29 "feature.shareFranz.action.email" : "Manda come email", 29 "global.spellchecker.useDefault": "Usa le impostazioni predefinite di sistema ({default})",
30 "feature.shareFranz.action.facebook" : "Condividi su Facebook", 30 "global.spellchecking.autodetect": "Rileva automaticamente la lingua",
31 "feature.shareFranz.action.twitter" : "Condividi su Twitter", 31 "global.spellchecking.autodetect.short": "Automatico",
32 "feature.shareFranz.headline" : "Franz è migliore insieme!", 32 "global.spellchecking.language": "Lingua per controllo ortografico",
33 "feature.shareFranz.shareText.email" : "Ho aggiunto {count} nuovi servizi a Franz! Scarica ora l'app gratuita per WhatsApp, Messenger, Slack, Skype e altri all'indirizzo www.meetfranz.com", 33 "global.upgradeButton.upgradeToPro": "Aggiorna a Ferdi Professional",
34 "feature.shareFranz.shareText.twitter" : "Ho aggiunto {count} nuovi servizi a Franz! Scarica ora l’app gratuita per WhatsApp, Messenger, Slack, Skype e altri all’indirizzo www.meetfranz.com \/cc @FranzMessenger", 34 "import.headline": "Importa i servizi di Ferdi 4",
35 "feature.shareFranz.text" : "Di’ ai tuoi amici e colleghi quanto Franz è fantastico e aiutaci a diffondere la parola.", 35 "import.notSupportedHeadline": "Servizi non ancora supportati in Ferdi 5",
36 "feature.todos.premium.info" : "Le attività Franz sono ora disponibili agli utenti premium!", 36 "import.skip.label": "Voglio aggiungere i servizi manualmente",
37 "feature.todos.premium.rollout" : "Chiunque altro dovrà aspettare un po' di più.", 37 "import.submit.label": "Importa servizi",
38 "feature.todos.premium.upgrade" : "Potenzia l'Account", 38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "feature.trialStatusBar.cta" : "Upgrade now", 39 "infobar.buttonChangelog": "Cosa c'è di nuovo?",
40 "feature.trialStatusBar.expired" : "Your free Franz {plan} Trial has expired, please upgrade your account.", 40 "infobar.buttonInstallUpdate": "Riavvia e installa l'aggiornamento",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 41 "infobar.buttonReloadServices": "Ricarica servizi",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade" : "Choose Personal", 42 "infobar.requiredRequestsFailed": "Impossibile caricare i servizi e le informazioni dell'utente",
43 "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.", 43 "infobar.servicesUpdated": "I tuoi servizi sono stati aggiornati.",
44 "feature.trialStatusBar.fullscreen.dialog.title" : "Downgrade your Franz Plan", 44 "infobar.trialActivated": "La tua prova è stata attivata con successo. Buona chat!",
45 "feature.trialStatusBar.restTime" : "Your Free Franz {plan} Trial ends in {time}.", 45 "infobar.updateAvailable": "È disponibile un nuovo aggiornamento di Ferdi.",
46 "global.api.unhealthy" : "Impossibile connettersi ai servizi online di Franz", 46 "invite.email.label": "Indirizzo email",
47 "global.franzProRequired" : "Richiesto Franz Professional", 47 "invite.headline.friends": "Invita 3 dei tuoi amici o colleghi",
48 "global.notConnectedToTheInternet" : "Non sei connesso a Internet.", 48 "invite.name.label": "Nome",
49 "global.spellchecker.useDefault" : "Usa le impostazioni predefinite di sistema ({default})", 49 "invite.skip.label": "Voglio farlo dopo",
50 "global.spellchecking.autodetect" : "Rileva automaticamente la lingua", 50 "invite.submit.label": "Manda inviti",
51 "global.spellchecking.autodetect.short" : "Automatico", 51 "invite.successInfo": "Inviti inviati con successo",
52 "global.spellchecking.language" : "Lingua per controllo ortografico", 52 "locked.headline": "Locked",
53 "global.upgradeButton.upgradeToPro" : "Aggiorna a Franz Professional", 53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "import.headline" : "Importa i servizi di Franz 4", 54 "locked.invalidCredentials": "Password invalid",
55 "import.notSupportedHeadline" : "Servizi non ancora supportati in Franz 5", 55 "locked.password.label": "Password",
56 "import.skip.label" : "Voglio aggiungere i servizi manualmente", 56 "locked.submit.label": "Unlock",
57 "import.submit.label" : "Importa servizi", 57 "login.changeServer": "Change server",
58 "infobar.buttonChangelog" : "Cosa c'è di nuovo?", 58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "infobar.buttonInstallUpdate" : "Riavvia e installa l'aggiornamento", 59 "login.customServerSuggestion": "Try importing your Franz account",
60 "infobar.buttonReloadServices" : "Ricarica servizi", 60 "login.email.label": "Indirizzo email",
61 "infobar.requiredRequestsFailed" : "Impossibile caricare i servizi e le informazioni dell'utente", 61 "login.headline": "Accedi",
62 "infobar.servicesUpdated" : "I tuoi servizi sono stati aggiornati.", 62 "login.invalidCredentials": "Email o password non valide",
63 "infobar.trialActivated" : "La tua prova è stata attivata con successo. Buona chat!", 63 "login.link.password": "Reimposta password",
64 "infobar.updateAvailable" : "È disponibile un nuovo aggiornamento di Franz.", 64 "login.link.signup": "Crea un account gratuito",
65 "invite.email.label" : "Indirizzo email", 65 "login.password.label": "Password",
66 "invite.headline.friends" : "Invita 3 dei tuoi amici o colleghi", 66 "login.serverLogout": "La tua sessione è scaduta, per favore accedi di nuovo.",
67 "invite.name.label" : "Nome", 67 "login.submit.label": "Accedi",
68 "invite.skip.label" : "Voglio farlo dopo", 68 "login.tokenExpired": "La tua sessione è scaduta, per favore accedi di nuovo.",
69 "invite.submit.label" : "Manda inviti", 69 "menu.Todoss.closeTodosDrawer": "Chiudi il menu delle attività",
70 "invite.successInfo" : "Inviti inviati con successo", 70 "menu.Todoss.openTodosDrawer": "Apri il menu delle attività",
71 "login.email.label" : "Indirizzo email", 71 "menu.app.about": "Info su Ferdi",
72 "login.headline" : "Accedi", 72 "menu.app.announcement": "Cosa c'è di nuovo?",
73 "login.invalidCredentials" : "Email o password non valide", 73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "login.link.password" : "Reimposta password", 74 "menu.app.checkForUpdates": "Controlla aggiornamenti",
75 "login.link.signup" : "Crea un account gratuito", 75 "menu.app.hide": "Nascondi",
76 "login.password.label" : "Password", 76 "menu.app.hideOthers": "Nascondi altri",
77 "login.serverLogout" : "La tua sessione è scaduta, per favore accedi di nuovo.", 77 "menu.app.quit": "Esci",
78 "login.submit.label" : "Accedi", 78 "menu.app.settings": "Impostazioni",
79 "login.tokenExpired" : "La tua sessione è scaduta, per favore accedi di nuovo.", 79 "menu.app.unhide": "Mostra",
80 "menu.Todoss.closeTodosDrawer" : "Chiudi il menu delle attività", 80 "menu.edit": "Modifica",
81 "menu.Todoss.openTodosDrawer" : "Apri il menu delle attività", 81 "menu.edit.copy": "Copia",
82 "menu.app.about" : "Info su Franz", 82 "menu.edit.cut": "Taglia",
83 "menu.app.announcement" : "Cosa c'è di nuovo?", 83 "menu.edit.delete": "Elimina",
84 "menu.app.checkForUpdates" : "Controlla aggiornamenti", 84 "menu.edit.emojiSymbols": "Emoji e simboli",
85 "menu.app.hide" : "Nascondi", 85 "menu.edit.paste": "Incolla",
86 "menu.app.hideOthers" : "Nascondi altri", 86 "menu.edit.pasteAndMatchStyle": "Incolla e Mantieni Stile",
87 "menu.app.quit" : "Esci", 87 "menu.edit.redo": "Ripeti",
88 "menu.app.settings" : "Impostazioni", 88 "menu.edit.selectAll": "Seleziona Tutto",
89 "menu.app.unhide" : "Mostra", 89 "menu.edit.speech": "Sintesi Vocale",
90 "menu.edit" : "Modifica", 90 "menu.edit.startDictation": "Avvia Dettatura",
91 "menu.edit.copy" : "Copia", 91 "menu.edit.startSpeaking": "Avvia Pronuncia",
92 "menu.edit.cut" : "Taglia", 92 "menu.edit.stopSpeaking": "Interrompi Pronuncia",
93 "menu.edit.delete" : "Elimina", 93 "menu.edit.undo": "Annulla",
94 "menu.edit.emojiSymbols" : "Emoji e simboli", 94 "menu.file": "File",
95 "menu.edit.paste" : "Incolla", 95 "menu.help": "Aiuto",
96 "menu.edit.pasteAndMatchStyle" : "Incolla e Mantieni Stile", 96 "menu.help.changelog": "Changelog",
97 "menu.edit.redo" : "Ripeti", 97 "menu.help.debugInfo": "Copia informazioni di debug",
98 "menu.edit.selectAll" : "Seleziona Tutto", 98 "menu.help.debugInfoCopiedBody": "Le tue informazioni di debug sono state copiate nella tua clipboard.",
99 "menu.edit.speech" : "Sintesi Vocale", 99 "menu.help.debugInfoCopiedHeadline": "Informazioni di debug di Ferdi",
100 "menu.edit.startDictation" : "Avvia Dettatura", 100 "menu.help.learnMore": "Maggiori Informazioni",
101 "menu.edit.startSpeaking" : "Avvia Pronuncia", 101 "menu.help.privacy": "Dichiarazione della Privacy",
102 "menu.edit.stopSpeaking" : "Interrompi Pronuncia", 102 "menu.help.support": "Supporto",
103 "menu.edit.undo" : "Annulla", 103 "menu.help.tos": "Termini di Servizio",
104 "menu.file" : "File", 104 "menu.services": "Servizi",
105 "menu.help" : "Aiuto", 105 "menu.services.activatePreviousService": "Attiva servizio precedente",
106 "menu.help.changelog" : "Changelog", 106 "menu.services.addNewService": "Aggiungi Nuovo Servizio...",
107 "menu.help.debugInfo" : "Copia informazioni di debug", 107 "menu.services.goHome": "Home",
108 "menu.help.debugInfoCopiedBody" : "Le tue informazioni di debug sono state copiate nella tua clipboard.", 108 "menu.services.setNextServiceActive": "Attiva servizio seguente",
109 "menu.help.debugInfoCopiedHeadline" : "Informazioni di debug di Franz", 109 "menu.todos": "Attività",
110 "menu.help.learnMore" : "Maggiori Informazioni", 110 "menu.todos.enableTodos": "Abilita Attività",
111 "menu.help.privacy" : "Dichiarazione della Privacy", 111 "menu.view": "Visualizza",
112 "menu.help.support" : "Supporto", 112 "menu.view.back": "Back",
113 "menu.help.tos" : "Termini di Servizio", 113 "menu.view.enterFullScreen": "Visualizza a Schermo Intero",
114 "menu.services" : "Servizi", 114 "menu.view.exitFullScreen": "Esci da Schermo Intero",
115 "menu.services.activatePreviousService" : "Attiva servizio precedente", 115 "menu.view.forward": "Forward",
116 "menu.services.addNewService" : "Aggiungi Nuovo Servizio...", 116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.services.goHome" : "Home", 117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.services.setNextServiceActive" : "Attiva servizio seguente", 118 "menu.view.reloadFranz": "Ricarica Ferdi",
119 "menu.todos" : "Attività", 119 "menu.view.reloadService": "Ricarica Servizio",
120 "menu.todos.enableTodos" : "Abilita Attività", 120 "menu.view.resetZoom": "Dimensione Attuale",
121 "menu.view" : "Visualizza", 121 "menu.view.toggleDevTools": "Attiva/Disattiva Strumenti Sviluppo",
122 "menu.view.enterFullScreen" : "Visualizza a Schermo Intero", 122 "menu.view.toggleFullScreen": "Attiva/Disattiva Schermo Intero",
123 "menu.view.exitFullScreen" : "Esci da Schermo Intero", 123 "menu.view.toggleServiceDevTools": "Attiva/Disattiva Strumenti per Sviluppatori di Servizi",
124 "menu.view.reloadFranz" : "Ricarica Franz", 124 "menu.view.toggleTodosDevTools": "Attiva/Disattiva gli strumenti di sviluppo delle Attività",
125 "menu.view.reloadService" : "Ricarica Servizio", 125 "menu.view.zoomIn": "Aumenta Zoom",
126 "menu.view.resetZoom" : "Dimensione Attuale", 126 "menu.view.zoomOut": "Diminuisci Zoom",
127 "menu.view.toggleDevTools" : "Attiva\/Disattiva Strumenti Sviluppo", 127 "menu.window": "Finestra",
128 "menu.view.toggleFullScreen" : "Attiva\/Disattiva Schermo Intero", 128 "menu.window.close": "Chiudi",
129 "menu.view.toggleServiceDevTools" : "Attiva\/Disattiva Strumenti per Sviluppatori di Servizi", 129 "menu.window.minimize": "Minimizza",
130 "menu.view.toggleTodosDevTools" : "Attiva\/Disattiva gli strumenti di sviluppo delle Attività", 130 "menu.workspaces": "Aree di lavoro",
131 "menu.view.zoomIn" : "Aumenta Zoom", 131 "menu.workspaces.addNewWorkspace": "Aggiungi un'area di lavoro...",
132 "menu.view.zoomOut" : "Diminuisci Zoom", 132 "menu.workspaces.closeWorkspaceDrawer": "Chiudi il menu dei workspace",
133 "menu.window" : "Finestra", 133 "menu.workspaces.defaultWorkspace": "Tutti i servizi",
134 "menu.window.close" : "Chiudi", 134 "menu.workspaces.openWorkspaceDrawer": "Apri il menu dei workspace",
135 "menu.window.minimize" : "Minimizza", 135 "password.email.label": "Indirizzo email",
136 "menu.workspaces" : "Aree di lavoro", 136 "password.headline": "Reimposta password",
137 "menu.workspaces.addNewWorkspace" : "Aggiungi un'area di lavoro...", 137 "password.link.login": "Accedi al tuo account",
138 "menu.workspaces.closeWorkspaceDrawer" : "Chiudi il menu dei workspace", 138 "password.link.signup": "Crea un account gratuito",
139 "menu.workspaces.defaultWorkspace" : "Tutti i servizi", 139 "password.noUser": "Non è stato trovato nessun utente con questo indirizzo email",
140 "menu.workspaces.openWorkspaceDrawer" : "Apri il menu dei workspace", 140 "password.submit.label": "Invia",
141 "password.email.label" : "Indirizzo email", 141 "password.successInfo": "Per favore controlla la tua email",
142 "password.headline" : "Reimposta password", 142 "premiumFeature.button.upgradeAccount": "Effettua l'upgrade del tuo account",
143 "password.link.login" : "Accedi al tuo account", 143 "pricing.features.adFree": "Senza pubblicità per sempre",
144 "password.link.signup" : "Crea un account gratuito", 144 "pricing.features.appDelays": "Nessuna schermata di attesa",
145 "password.noUser" : "Non è stato trovato nessun utente con questo indirizzo email", 145 "pricing.features.customWebsites": "Aggiungi siti web personalizzati",
146 "password.submit.label" : "Invia", 146 "pricing.features.onPremise": "Servizi ospitati & on-premise",
147 "password.successInfo" : "Per favore controlla la tua email", 147 "pricing.features.serviceProxies": "Proxy di servizio",
148 "premiumFeature.button.upgradeAccount" : "Effettua il potenziamento del tuo account", 148 "pricing.features.spellchecker": "Supporto per il correttore ortografico",
149 "pricing.features.accountSync" : "Account Synchronisation", 149 "pricing.features.teamManagement": "Gestione del team",
150 "pricing.features.adFree" : "Senza pubblicità per sempre", 150 "pricing.features.thirdPartyServices": "Installa servizi di terze parti",
151 "pricing.features.appDelays" : "Nessuna schermata di attesa", 151 "pricing.features.unlimitedServices": "Aggiungi servizi illimitati",
152 "pricing.features.customWebsites" : "Aggiungi siti web personalizzati", 152 "pricing.features.workspaces": "Aree di lavoro",
153 "pricing.features.desktopNotifications" : "Desktop Notifications", 153 "pricing.plan.free": "Ferdi Gratuito",
154 "pricing.features.onPremise" : "Servizi ospitati & on-premise", 154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.features.recipes" : "Choose from more than 70 Services", 155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.features.serviceProxies" : "Proxy di servizio", 156 "pricing.plan.personal-monthly": "Ferdi Personal Mensile",
157 "pricing.features.spellchecker" : "Supporto per il correttore ortografico", 157 "pricing.plan.personal-yearly": "Ferdi Personal Annuale",
158 "pricing.features.teamManagement" : "Gestione del team", 158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.features.thirdPartyServices" : "Installa servizi di terze parti", 159 "pricing.plan.pro-monthly": "Ferdi Professional Mensile",
160 "pricing.features.unlimitedServices" : "Aggiungi servizi illimitati", 160 "pricing.plan.pro-yearly": "Ferdi Professional Annuale",
161 "pricing.features.upToSixServices" : "Add up to 6 services", 161 "pricing.trial.cta.accept": "Sì, potenzia il mio account a Ferdi Professional",
162 "pricing.features.upToThreeServices" : "Add up to 3 services", 162 "pricing.trial.cta.skip": "Continua su Ferdi",
163 "pricing.features.workspaces" : "Workspace", 163 "pricing.trial.error": "Ci dispiace, non abbiamo potuto attivare la tua prova!",
164 "pricing.plan.free" : "Free", 164 "pricing.trial.features.headline": "Ferdi Professional include:",
165 "pricing.plan.legacy" : "Premium", 165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.plan.personal" : "Personal", 166 "pricing.trial.subheadline": "La tua personale offerta di benvenuto:",
167 "pricing.plan.personal-monthly" : "Personal Monthly", 167 "pricing.trial.terms.automaticTrialEnd": "La tua prova gratuita finirà automaticamente dopo 14 giorni",
168 "pricing.plan.personal-yearly" : "Personal Yearly", 168 "pricing.trial.terms.headline": "Senza impegno",
169 "pricing.plan.pro" : "Professional", 169 "pricing.trial.terms.noCreditCard": "Nessuna carta di credito richiesta",
170 "pricing.plan.pro-monthly" : "Professional Monthly", 170 "service.crashHandler.action": "Ricarica {name}",
171 "pricing.plan.pro-yearly" : "Professional Yearly", 171 "service.crashHandler.autoReload": "Tentativo di ripristino automatico di {name} in {seconds} secondi",
172 "pricing.trial.cta.accept" : "Start my 14-day Franz Professional Trial ", 172 "service.crashHandler.headline": "Oh no!",
173 "pricing.trial.cta.skip" : "Continua su Franz", 173 "service.crashHandler.text": "{name} ha causato un errore.",
174 "pricing.trial.cta.start" : "Start using Franz", 174 "service.disabledHandler.action": "Attiva {name}",
175 "pricing.trial.error" : "Ci dispiace, non abbiamo potuto attivare la tua prova!", 175 "service.disabledHandler.headline": "{name} è disattivato",
176 "pricing.trial.features.headline" : "Franz Professional include:", 176 "service.errorHandler.action": "Ricarica {name}",
177 "pricing.trial.headline.pro" : "Hi {name}, welcome to Franz", 177 "service.errorHandler.editAction": "Modifica {name}",
178 "pricing.trial.intro.happyMessaging" : "Happy messaging,", 178 "service.errorHandler.headline": "Oh no!",
179 "pricing.trial.intro.specialTreat" : "We have a special treat for you.", 179 "service.errorHandler.message": "Errore",
180 "pricing.trial.intro.tryPro" : "Enjoy the full Franz Professional experience completely free for 14 days.", 180 "service.errorHandler.text": "{name} non si è caricato correttamente.",
181 "pricing.trial.terms.automaticTrialEnd" : "La tua prova gratuita finirà automaticamente dopo 14 giorni", 181 "service.restrictedHandler.action": "Potenzia l'Account",
182 "pricing.trial.terms.headline" : "Senza impegno", 182 "service.restrictedHandler.customUrl.headline": "Richiesto il piano Ferdi Professional",
183 "pricing.trial.terms.noCreditCard" : "Nessuna carta di credito richiesta", 183 "service.restrictedHandler.customUrl.text": "Per favore aggiorna al piano Ferdi Professional per usare url personalizzati e servizi da te ospitati.",
184 "pricing.trial.terms.trialWorth" : "Free trial (normally {currency}{price} per month)", 184 "service.restrictedHandler.serviceLimit.headline": "Hai raggiunto il tuo limite di servizio.",
185 "service.crashHandler.action" : "Ricarica {name}", 185 "service.restrictedHandler.serviceLimit.text": "Per favore potenzia il tuo account per usare più di {count} servizi.",
186 "service.crashHandler.autoReload" : "Tentativo di ripristino automatico di {name} in {seconds} secondi", 186 "service.webviewLoader.loading": "Caricamento",
187 "service.crashHandler.headline" : "Oh no!", 187 "services.getStarted": "Iniziamo",
188 "service.crashHandler.text" : "{name} ha causato un errore.", 188 "services.login": "Please login to use Ferdi.",
189 "service.disabledHandler.action" : "Attiva {name}", 189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "service.disabledHandler.headline" : "{name} è disattivato", 190 "services.serverless": "Use Ferdi without an Account",
191 "service.errorHandler.action" : "Ricarica {name}", 191 "services.welcome": "Benvenuto su Ferdi",
192 "service.errorHandler.editAction" : "Modifica {name}", 192 "settings.account.account.editButton": "Modifica account",
193 "service.errorHandler.headline" : "Oh no!", 193 "settings.account.accountType.basic": "Account Base",
194 "service.errorHandler.message" : "Errore", 194 "settings.account.accountType.premium": "Account Supporter Premium ",
195 "service.errorHandler.text" : "{name} non si è caricato correttamente.", 195 "settings.account.buttonSave": "Aggiorna profilo",
196 "service.restrictedHandler.action" : "Potenzia l'Account", 196 "settings.account.deleteAccount": "Elimina account",
197 "service.restrictedHandler.customUrl.headline" : "Richiesto il piano Franz Professional", 197 "settings.account.deleteEmailSent": "Hai ricevuto un'email con un link per confermare l'eliminazione del tuo account. I dati del tuo account non potranno più essere ripristinati!",
198 "service.restrictedHandler.customUrl.text" : "Per favore aggiorna al piano Franz Professional per usare url personalizzati e servizi da te ospitati.", 198 "settings.account.deleteInfo": "Se non hai più bisogno dell'account Ferdi, puoi eliminare il tuo account e tutti i dati relativi qui.",
199 "service.restrictedHandler.serviceLimit.headline" : "Hai raggiunto il tuo limite di servizio.", 199 "settings.account.headline": "Account",
200 "service.restrictedHandler.serviceLimit.text" : "Per favore potenzia il tuo account per usare più di {count} servizi.", 200 "settings.account.headlineAccount": "Informazioni account",
201 "service.webviewLoader.loading" : "Caricamento", 201 "settings.account.headlineDangerZone": "Zona Pericolosa",
202 "services.getStarted" : "Iniziamo", 202 "settings.account.headlineInvoices": "Fatture",
203 "services.welcome" : "Benvenuto su Franz", 203 "settings.account.headlinePassword": "Cambia password",
204 "settings.account.account.editButton" : "Modifica account", 204 "settings.account.headlineProfile": "Aggiorna profilo",
205 "settings.account.accountType.basic" : "Account Base", 205 "settings.account.headlineSubscription": "Il tuo abbonamento",
206 "settings.account.accountType.premium" : "Account Supporter Premium ", 206 "settings.account.headlineTrialUpgrade": "Ottieni la tua prova gratuita di 14 giorni di Ferdi Professional",
207 "settings.account.buttonSave" : "Aggiorna profilo", 207 "settings.account.headlineUpgradeAccount": "Potenzia il tuo account ed ottieni l'esperienza Ferdi completa",
208 "settings.account.deleteAccount" : "Elimina account", 208 "settings.account.invoiceDownload": "Scarica",
209 "settings.account.deleteEmailSent" : "Hai ricevuto un'email con un link per confermare l'eliminazione del tuo account. I dati del tuo account non potranno più essere ripristinati!", 209 "settings.account.manageSubscription.label": "Gestisci il tuo abbonamento",
210 "settings.account.deleteInfo" : "Se non hai più bisogno dell'account Franz, puoi eliminare il tuo account e tutti i dati relativi qui.", 210 "settings.account.successInfo": "Le tue modifiche sono state salvate",
211 "settings.account.headline" : "Account", 211 "settings.account.trial": "Prova Gratuita",
212 "settings.account.headlineAccount" : "Informazioni account", 212 "settings.account.trialEndsIn": "La tua prova gratuita scade tra {duration}.",
213 "settings.account.headlineDangerZone" : "Zona Pericolosa", 213 "settings.account.trialUpdateBillingInfo": "Per favore aggiorna le tue informazioni di pagamento per continuare ad usare {license} dopo il tuo periodo di prova.",
214 "settings.account.headlineInvoices" : "Fatture", 214 "settings.account.tryReloadServices": "Riprova",
215 "settings.account.headlinePassword" : "Cambia password", 215 "settings.account.tryReloadUserInfoRequest": "Riprova",
216 "settings.account.headlineProfile" : "Aggiorna profilo", 216 "settings.account.upgradeToPro.label": "Aggiorna a Ferdi Professional",
217 "settings.account.headlineSubscription" : "Il tuo abbonamento", 217 "settings.account.userInfoRequestFailed": "Impossibile caricare le informazioni dell'utente.",
218 "settings.account.headlineTrialUpgrade" : "Ottieni la tua prova gratuita di 14 giorni di Franz Professional", 218 "settings.account.yourLicense": "La tua licenza Ferdi",
219 "settings.account.headlineUpgradeAccount" : "Potenzia il tuo account ed ottieni l'esperienza Franz completa", 219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.account.invoiceDownload" : "Scarica", 220 "settings.app.buttonClearAllCache": "Svuota la cache",
221 "settings.account.manageSubscription.label" : "Gestisci il tuo abbonamento", 221 "settings.app.buttonInstallUpdate": "Riavvia e installa l'aggiornamento",
222 "settings.account.successInfo" : "Le tue modifiche sono state salvate", 222 "settings.app.buttonSearchForUpdate": "Controlla aggiornamenti",
223 "settings.account.trial" : "Prova Gratuita", 223 "settings.app.cacheInfo": "Ferdi sta utilizzando {size} di spazio su disco.",
224 "settings.account.trialEndsIn" : "La tua prova gratuita scade tra {duration}.", 224 "settings.app.currentVersion": "Versione attuale:",
225 "settings.account.trialUpdateBillingInfo" : "Per favore aggiorna le tue informazioni di pagamento per continuare ad usare {license} dopo il tuo periodo di prova.", 225 "settings.app.form.accentColor": "Accent color",
226 "settings.account.tryReloadServices" : "Riprova", 226 "settings.app.form.autoLaunchInBackground": "Apri in background",
227 "settings.account.tryReloadUserInfoRequest" : "Riprova", 227 "settings.app.form.autoLaunchOnStart": "Esegui Ferdi all'avvio",
228 "settings.account.upgradeToPro.label" : "Passa a Franz Professional", 228 "settings.app.form.beta": "Includi versioni beta",
229 "settings.account.userInfoRequestFailed" : "Impossibile caricare le informazioni dell'utente.", 229 "settings.app.form.darkMode": "Unisciti al Lato Oscuro",
230 "settings.account.yourLicense" : "La tua licenza Franz", 230 "settings.app.form.enableGPUAcceleration": "Attiva Accelerazione GPU",
231 "settings.app.buttonClearAllCache" : "Svuota la cache", 231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.buttonInstallUpdate" : "Riavvia e installa l'aggiornamento", 232 "settings.app.form.enableSpellchecking": "Attiva controllo ortografico",
233 "settings.app.buttonSearchForUpdate" : "Controlla aggiornamenti", 233 "settings.app.form.enableSystemTray": "Mostra Ferdi nell'area di notifica",
234 "settings.app.cacheInfo" : "Franz sta utilizzando {size} di spazio su disco.", 234 "settings.app.form.enableTodos": "Abilità le Attività Ferdi",
235 "settings.app.currentVersion" : "Versione attuale:", 235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.autoLaunchInBackground" : "Apri in background", 236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.autoLaunchOnStart" : "Esegui Franz all'avvio", 237 "settings.app.form.keepAllWorkspacesLoaded": "Mantieni tutti i workspace caricati",
238 "settings.app.form.beta" : "Includi versioni beta", 238 "settings.app.form.language": "Lingua",
239 "settings.app.form.darkMode" : "Unisciti al Lato Oscuro", 239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.enableGPUAcceleration" : "Attiva Accelerazione GPU", 240 "settings.app.form.minimizeToSystemTray": "Minimizza Ferdi nell'area di notifica",
241 "settings.app.form.enableSpellchecking" : "Attiva controllo ortografico", 241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.enableSystemTray" : "Mostra Franz nell'area di notifica", 242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.enableTodos" : "Abilità le Attività Franz", 243 "settings.app.form.runInBackground": "Mantieni Ferdi in esecuzione quando chiudi la finestra",
244 "settings.app.form.keepAllWorkspacesLoaded" : "Mantieni tutti i workspace caricati", 244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.language" : "Lingua", 245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.minimizeToSystemTray" : "Minimizza Franz nell'area di notifica", 246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.runInBackground" : "Mantieni Franz in esecuzione quando chiudi la finestra", 247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices" : "Mostra schede servizi disattivati", 248 "settings.app.form.showDisabledServices": "Mostra schede servizi disattivati",
249 "settings.app.form.showMessagesBadgesWhenMuted" : "Mostra l'etichetta dei messaggi non letti quando le notifiche sono disattivate", 249 "settings.app.form.showMessagesBadgesWhenMuted": "Mostra l'etichetta dei messaggi non letti quando le notifiche sono disattivate",
250 "settings.app.headline" : "Impostazioni", 250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.headlineAdvanced" : "Avanzate", 251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.headlineAppearance" : "Aspetto", 252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headlineGeneral" : "Generale", 253 "settings.app.headline": "Impostazioni",
254 "settings.app.headlineLanguage" : "Lingua", 254 "settings.app.headlineAdvanced": "Avanzate",
255 "settings.app.headlineUpdates" : "Aggiornamenti", 255 "settings.app.headlineAppearance": "Aspetto",
256 "settings.app.languageDisclaimer" : "Le traduzioni ufficiali sono in Inglese e Tedesco. Tutte le altre lingue sono tradotte dalla community.", 256 "settings.app.headlineGeneral": "Generale",
257 "settings.app.restartRequired" : "Le modifiche richiedono un riavvio", 257 "settings.app.headlineLanguage": "Lingua",
258 "settings.app.subheadlineCache" : "Cache", 258 "settings.app.headlineUpdates": "Aggiornamenti",
259 "settings.app.translationHelp" : "Aiutaci a tradurre Franz nella tua lingua.", 259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.updateStatusAvailable" : "Aggiornamento disponibile, download in corso...", 260 "settings.app.languageDisclaimer": "Le traduzioni ufficiali sono in Inglese e Tedesco. Tutte le altre lingue sono tradotte dalla community.",
261 "settings.app.updateStatusSearching" : "Ricerca aggiornamenti", 261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.updateStatusUpToDate" : "Stai utilizzando l'ultima versione di Franz", 262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.invite.headline" : "Invita Amici", 263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.navigation.account" : "Account", 264 "settings.app.restartRequired": "Le modifiche richiedono un riavvio",
265 "settings.navigation.availableServices" : "Servizi disponibili", 265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.navigation.inviteFriends" : "Invita Amici", 266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.navigation.logout" : "Esci", 267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.navigation.settings" : "Impostazioni", 268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.navigation.team" : "Gestisci il Team", 269 "settings.app.subheadlineCache": "Cache",
270 "settings.navigation.yourServices" : "I tuoi servizi", 270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.navigation.yourWorkspaces" : "I tuoi workspace", 271 "settings.app.translationHelp": "Aiutaci a tradurre Ferdi nella tua lingua.",
272 "settings.recipes.all" : "Tutti i servizi", 272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.recipes.custom" : "Servizi Personalizzati", 273 "settings.app.updateStatusAvailable": "Aggiornamento disponibile, download in corso...",
274 "settings.recipes.customService.headline.communityRecipes" : "Community 3rd Party Recipes", 274 "settings.app.updateStatusSearching": "Ricerca aggiornamenti",
275 "settings.recipes.customService.headline.customRecipes" : "Custom 3rd Party Recipes", 275 "settings.app.updateStatusUpToDate": "Stai utilizzando l'ultima versione di Ferdi",
276 "settings.recipes.customService.headline.devRecipes" : "Your Development Service Recipes", 276 "settings.invite.headline": "Invita Amici",
277 "settings.recipes.customService.intro" : "To add a custom service, copy the service recipe to:", 277 "settings.navigation.account": "Account",
278 "settings.recipes.customService.openDevDocs" : "Documentazione per sviluppatori", 278 "settings.navigation.availableServices": "Servizi disponibili",
279 "settings.recipes.customService.openFolder" : "Apri cartella", 279 "settings.navigation.logout": "Esci",
280 "settings.recipes.headline" : "Servizi disponibili", 280 "settings.navigation.settings": "Impostazioni",
281 "settings.recipes.missingService" : "Manca un servizio?", 281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.recipes.mostPopular" : "Più popolari", 282 "settings.navigation.team": "Gestisci il Team",
283 "settings.recipes.nothingFound" : "Ci dispiace, ma nessun servizio corrisponde alla tua ricerca.", 283 "settings.navigation.yourServices": "I tuoi servizi",
284 "settings.recipes.servicesSuccessfulAddedInfo" : "Servizio aggiunto con successo", 284 "settings.navigation.yourWorkspaces": "I tuoi workspace",
285 "settings.searchService" : "Cerca servizio", 285 "settings.recipes.all": "Tutti i servizi",
286 "settings.service.error.goBack" : "Torna ai servizi", 286 "settings.recipes.custom": "Servizi Personalizzati",
287 "settings.service.error.headline" : "Errore", 287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.service.error.message" : "Impossibile caricare il contenuto del servizio.", 288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.service.form.addServiceHeadline" : "Aggiungi {name}", 289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.service.form.availableServices" : "Servizi disponibili", 290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.service.form.customUrl" : "Server personalizzato", 291 "settings.recipes.customService.openDevDocs": "Documentazione per sviluppatori",
292 "settings.service.form.customUrlPremiumInfo" : "Per aggiungere servizi personalizzati, devi avere un account Franz Premium Supporter.", 292 "settings.recipes.customService.openFolder": "Apri cartella",
293 "settings.service.form.customUrlUpgradeAccount" : "Aggiorna il tuo account", 293 "settings.recipes.headline": "Servizi disponibili",
294 "settings.service.form.customUrlValidationError" : "Impossibile validare il server personalizzato {name}.", 294 "settings.recipes.missingService": "Manca un servizio?",
295 "settings.service.form.deleteButton" : "Elimina servizio", 295 "settings.recipes.mostPopular": "Più popolari",
296 "settings.service.form.editServiceHeadline" : "Modifica {name}", 296 "settings.recipes.nothingFound": "Ci dispiace, ma nessun servizio corrisponde alla tua ricerca.",
297 "settings.service.form.enableAudio" : "Attiva audio", 297 "settings.recipes.servicesSuccessfulAddedInfo": "Servizio aggiunto con successo",
298 "settings.service.form.enableBadge" : "Mostra l'etichetta dei messaggi non letti", 298 "settings.searchService": "Cerca servizio",
299 "settings.service.form.enableDarkMode" : "Attiva la modalità scura.", 299 "settings.service.error.goBack": "Torna ai servizi",
300 "settings.service.form.enableNotification" : "Attiva le notifiche", 300 "settings.service.error.headline": "Errore",
301 "settings.service.form.enableService" : "Attiva il servizio", 301 "settings.service.error.message": "Impossibile caricare il contenuto del servizio.",
302 "settings.service.form.headlineBadges" : "Etichetta dei messaggi non letti", 302 "settings.service.form.addServiceHeadline": "Aggiungi {name}",
303 "settings.service.form.headlineGeneral" : "Generale", 303 "settings.service.form.availableServices": "Servizi disponibili",
304 "settings.service.form.headlineNotifications" : "Notifiche", 304 "settings.service.form.customUrl": "Server personalizzato",
305 "settings.service.form.icon" : "Icona personalizzata", 305 "settings.service.form.customUrlPremiumInfo": "Per aggiungere servizi personalizzati, devi avere un account Ferdi Premium Supporter.",
306 "settings.service.form.iconDelete" : "Elimina", 306 "settings.service.form.customUrlUpgradeAccount": "Aggiorna il tuo account",
307 "settings.service.form.iconUpload" : "Trascina la tua immagine o clicca qui", 307 "settings.service.form.customUrlValidationError": "Impossibile validare il server personalizzato {name}.",
308 "settings.service.form.indirectMessageInfo" : "Riceverai notifiche per tutti i messaggi di un canale, non solo @username, @channel, @here, ...", 308 "settings.service.form.deleteButton": "Elimina servizio",
309 "settings.service.form.indirectMessages" : "Mostra l'etichetta per tutti i nuovi messaggi", 309 "settings.service.form.editServiceHeadline": "Modifica {name}",
310 "settings.service.form.isMutedInfo" : "Se disattivato, tutte le notifiche sonore e le riproduzioni audio saranno mutate", 310 "settings.service.form.enableAudio": "Attiva audio",
311 "settings.service.form.name" : "Nome", 311 "settings.service.form.enableBadge": "Mostra l'etichetta dei messaggi non letti",
312 "settings.service.form.proxy.headline" : "Impostazioni Proxy HTTP\/HTTPS", 312 "settings.service.form.enableDarkMode": "Attiva la modalità scura.",
313 "settings.service.form.proxy.host" : "Proxy Host\/IP", 313 "settings.service.form.enableNotification": "Attiva le notifiche",
314 "settings.service.form.proxy.info" : "Le impostazioni proxy non verranno sincronizzate con i server Franz.", 314 "settings.service.form.enableService": "Attiva il servizio",
315 "settings.service.form.proxy.isEnabled" : "Usa un Proxy", 315 "settings.service.form.headlineBadges": "Etichetta dei messaggi non letti",
316 "settings.service.form.proxy.password" : "Password (opzionale)", 316 "settings.service.form.headlineGeneral": "Generale",
317 "settings.service.form.proxy.port" : "Porta", 317 "settings.service.form.headlineNotifications": "Notifiche",
318 "settings.service.form.proxy.restartInfo" : "Riavvia Franz dopo aver cambiato le impostazioni del proxy.", 318 "settings.service.form.icon": "Icona personalizzata",
319 "settings.service.form.proxy.user" : "Utente (opzionale)", 319 "settings.service.form.iconDelete": "Elimina",
320 "settings.service.form.saveButton" : "Salva servizio", 320 "settings.service.form.iconUpload": "Trascina la tua immagine o clicca qui",
321 "settings.service.form.tabHosted" : "Hosted", 321 "settings.service.form.indirectMessageInfo": "Riceverai notifiche per tutti i messaggi di un canale, non solo @username, @channel, @here, ...",
322 "settings.service.form.tabOnPremise" : "Self hosted ⭐️", 322 "settings.service.form.indirectMessages": "Mostra l'etichetta per tutti i nuovi messaggi",
323 "settings.service.form.team" : "Gruppo", 323 "settings.service.form.isMutedInfo": "Se disattivato, tutte le notifiche sonore e le riproduzioni audio saranno mutate",
324 "settings.service.form.useHostedService" : "Utilizza il servizio personalizzato {name}.", 324 "settings.service.form.name": "Nome",
325 "settings.service.form.yourServices" : "I tuoi servizi", 325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.services.deletedInfo" : "Il servizio è stato eliminato", 326 "settings.service.form.proxy.headline": "Impostazioni Proxy HTTP/HTTPS",
327 "settings.services.discoverServices" : "Scopri servizi", 327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.services.headline" : "I tuoi servizi", 328 "settings.service.form.proxy.info": "Le impostazioni proxy non verranno sincronizzate con i server Ferdi.",
329 "settings.services.noServicesAdded" : "Non hai aggiunto ancora nessun servizio.", 329 "settings.service.form.proxy.isEnabled": "Usa un Proxy",
330 "settings.services.servicesRequestFailed" : "Impossibile caricare il servizio", 330 "settings.service.form.proxy.password": "Password (opzionale)",
331 "settings.services.tooltip.isDisabled" : "Il servizio è disattivato", 331 "settings.service.form.proxy.port": "Porta",
332 "settings.services.tooltip.isMuted" : "Tutti i suoni sono disattivati", 332 "settings.service.form.proxy.restartInfo": "Riavvia Ferdi dopo aver cambiato le impostazioni del proxy.",
333 "settings.services.tooltip.notificationsDisabled" : "Le notifiche sono disattivate", 333 "settings.service.form.proxy.user": "Utente (opzionale)",
334 "settings.services.updatedInfo" : "Le tue modifiche sono state salvate", 334 "settings.service.form.saveButton": "Salva servizio",
335 "settings.team.contentHeadline" : "Franz per i Team", 335 "settings.service.form.tabHosted": "Hosted",
336 "settings.team.copy" : "Franz per i Team ti dà la possibilità di invitare collaboratori al tuo team, invitandoli per email e gestendo la loro iscrizione all'interno delle preferenze del tuo account. Non perdere tempo impostando le iscrizioni di un singolo collaboratore individualmente, dimenticati di fatture multiple e cicli differenti di fatturazione - un team per comandarli tutti!", 336 "settings.service.form.tabOnPremise": "Self hosted ⭐️",
337 "settings.team.headline" : "Team", 337 "settings.service.form.team": "Gruppo",
338 "settings.team.intro" : "Tu e il tuo team usate Franz? Ora puoi gestire le sottoscrizioni Premium per tutti i colleghi, amici e famigliari che vuoi, tutto da un singolo account.", 338 "settings.service.form.useHostedService": "Utilizza il servizio personalizzato {name}.",
339 "settings.team.manageAction" : "Gestisci il tuo Team su meetfranz.com", 339 "settings.service.form.yourServices": "I tuoi servizi",
340 "settings.team.upgradeAction" : "Aggiorna il tuo Account", 340 "settings.services.deletedInfo": "Il servizio è stato eliminato",
341 "settings.user.form.accountType.company" : "Società", 341 "settings.services.discoverServices": "Scopri servizi",
342 "settings.user.form.accountType.individual" : "Individuale", 342 "settings.services.headline": "I tuoi servizi",
343 "settings.user.form.accountType.label" : "Tipo di account", 343 "settings.services.noServicesAdded": "Non hai aggiunto ancora nessun servizio.",
344 "settings.user.form.accountType.non-profit" : "No profit", 344 "settings.services.servicesRequestFailed": "Impossibile caricare il servizio",
345 "settings.user.form.currentPassword" : "Password attuale", 345 "settings.services.tooltip.isDisabled": "Il servizio è disattivato",
346 "settings.user.form.email" : "Email", 346 "settings.services.tooltip.isMuted": "Tutti i suoni sono disattivati",
347 "settings.user.form.firstname" : "Nome", 347 "settings.services.tooltip.notificationsDisabled": "Le notifiche sono disattivate",
348 "settings.user.form.lastname" : "Cognome", 348 "settings.services.updatedInfo": "Le tue modifiche sono state salvate",
349 "settings.user.form.newPassword" : "Nuova password", 349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.workspace.add.form.name" : "Nome", 350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.workspace.add.form.submitButton" : "Crea workspace", 351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.workspace.form.buttonDelete" : "Cancella workspace", 352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.workspace.form.buttonSave" : "Salva workspace", 353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.workspace.form.name" : "Nome", 354 "settings.team.contentHeadline": "Ferdi per i Team",
355 "settings.workspace.form.servicesInWorkspaceHeadline" : "Servizi in questo Workspace", 355 "settings.team.copy": "Ferdi per i Team ti dà la possibilità di invitare collaboratori al tuo team, invitandoli per email e gestendo la loro iscrizione all'interno delle preferenze del tuo account. Non perdere tempo impostando le iscrizioni di un singolo collaboratore individualmente, dimenticati di fatture multiple e cicli differenti di fatturazione - un team per comandarli tutti!",
356 "settings.workspace.form.yourWorkspaces" : "I tuoi workspace", 356 "settings.team.headline": "Gruppo",
357 "settings.workspaces.deletedInfo" : "Il workspace è stato cancellato", 357 "settings.team.intro": "Tu e il tuo team usate Ferdi? Ora puoi gestire le sottoscrizioni Premium per tutti i colleghi, amici e famigliari che vuoi, tutto da un singolo account.",
358 "settings.workspaces.headline" : "I tuoi workspace", 358 "settings.team.manageAction": "Gestisci il tuo Team su getferdi.com",
359 "settings.workspaces.noWorkspacesAdded" : "Non hai ancora aggiunto alcun workspace.", 359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.workspaces.tryReloadWorkspaces" : "Riprova nuovamente", 360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.workspaces.updatedInfo" : "Le tue modifiche sono state salvate", 361 "settings.team.upgradeAction": "Aggiorna il tuo Account",
362 "settings.workspaces.workspaceFeatureHeadline" : "Meno è Meglio: Introduciamo le aree di lavoro di Franz", 362 "settings.user.form.accountType.company": "Società",
363 "settings.workspaces.workspaceFeatureInfo" : "Le aree di lavoro di Franz ti permettono di concentrarti su ciò che è importante. Configura diversi insiemi di servizi e passa facilmente da uno all’altro quando vuoi. Decidi di quali servizi hai bisogno quando e dove, così che ti possiamo aiutare a dare sempre il massimo - o semplicemente staccare dal lavoro quando ne hai bisogno.", 363 "settings.user.form.accountType.individual": "Individuale",
364 "settings.workspaces.workspacesRequestFailed" : "Non è possibile caricare i tuoi workspace", 364 "settings.user.form.accountType.label": "Tipo di account",
365 "sidebar.addNewService" : "Aggiungi un nuovo servizio", 365 "settings.user.form.accountType.non-profit": "No profit",
366 "sidebar.closeTodosDrawer" : "Chiudi le Attività Franz", 366 "settings.user.form.currentPassword": "Password attuale",
367 "sidebar.closeWorkspaceDrawer" : "Chiudi il menu dei workspace", 367 "settings.user.form.email": "Email",
368 "sidebar.muteApp" : "Disattiva notifiche e audio", 368 "settings.user.form.firstname": "Nome",
369 "sidebar.openTodosDrawer" : "Apri le Attività Franz", 369 "settings.user.form.lastname": "Cognome",
370 "sidebar.openWorkspaceDrawer" : "Apri il menu dei workspace", 370 "settings.user.form.newPassword": "Nuova password",
371 "sidebar.settings" : "Impostazioni", 371 "settings.workspace.add.form.name": "Nome",
372 "sidebar.unmuteApp" : "Attiva notifiche e audio", 372 "settings.workspace.add.form.submitButton": "Crea workspace",
373 "signup.email.label" : "Indirizzo email", 373 "settings.workspace.form.buttonDelete": "Cancella workspace",
374 "signup.emailDuplicate" : "Esiste già un utente con lo stesso indirizzo email", 374 "settings.workspace.form.buttonSave": "Salva workspace",
375 "signup.firstname.label" : "Nome", 375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "signup.headline" : "Iscriviti", 376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "signup.lastname.label" : "Cognome", 377 "settings.workspace.form.name": "Nome",
378 "signup.legal.info" : "Creando un account di Franz accetti", 378 "settings.workspace.form.servicesInWorkspaceHeadline": "Servizi in questo Workspace",
379 "signup.legal.privacy" : "l'Informativa sulla Privacy", 379 "settings.workspace.form.yourWorkspaces": "I tuoi workspace",
380 "signup.legal.terms" : "Termini di Servizio", 380 "settings.workspaces.deletedInfo": "Il workspace è stato cancellato",
381 "signup.link.login" : "Hai già un account, vuoi accedere?", 381 "settings.workspaces.headline": "I tuoi workspace",
382 "signup.password.label" : "Password", 382 "settings.workspaces.noWorkspacesAdded": "Non hai ancora aggiunto alcun workspace.",
383 "signup.submit.label" : "Crea un account", 383 "settings.workspaces.tryReloadWorkspaces": "Riprova",
384 "subscription.bestValue" : "Best value", 384 "settings.workspaces.updatedInfo": "Le tue modifiche sono state salvate",
385 "subscription.cta.activateTrial" : "Sì, inizia la prova gratuita di Franz Professional", 385 "settings.workspaces.workspaceFeatureHeadline": "Meno è Meglio: Introduciamo le aree di lavoro di Ferdi",
386 "subscription.cta.allOptions" : "Vedi tutte le opzioni", 386 "settings.workspaces.workspaceFeatureInfo": "Le aree di lavoro di Ferdi ti permettono di concentrarti su ciò che è importante. Configura diversi insiemi di servizi e passa facilmente da uno all’altro quando vuoi. Decidi di quali servizi hai bisogno quando e dove, così che ti possiamo aiutare a dare sempre il massimo - o semplicemente staccare dal lavoro quando ne hai bisogno.",
387 "subscription.cta.choosePlan" : "Scegli il tuo piano", 387 "settings.workspaces.workspacesRequestFailed": "Non è possibile caricare i tuoi workspace",
388 "subscription.includedProFeatures" : "Il piano Franz Professional include:", 388 "sidebar.addNewService": "Aggiungi un nuovo servizio",
389 "subscription.interval.per" : "per {interval}", 389 "sidebar.closeTodosDrawer": "Chiudi le Attività Ferdi",
390 "subscription.interval.perMonth" : "per month", 390 "sidebar.closeWorkspaceDrawer": "Chiudi il menu dei workspace",
391 "subscription.interval.perMonthPerUser" : "per month & user", 391 "sidebar.lockFerdi": "Lock Ferdi",
392 "subscription.planItem.upgradeAccount" : "Potenzia l'Account", 392 "sidebar.muteApp": "Disattiva notifiche e audio",
393 "subscription.teaser.includedFeatures" : "I piani Franz a pagamento includono:", 393 "sidebar.openTodosDrawer": "Apri le Attività Ferdi",
394 "subscription.teaser.intro" : "Franz 5 contiene un ampia gamma di nuove caratteristiche per potenziare le tue comunicazioni di tutti i giorni - incluse le batterie. Dai un'occhiata ai nostri nuovi piani per scoprire quale si adatta di più a te!", 394 "sidebar.openWorkspaceDrawer": "Apri il menu dei workspace",
395 "subscriptionPopup.buttonCancel" : "Annulla", 395 "sidebar.settings": "Impostazioni",
396 "subscriptionPopup.buttonDone" : "Fatto", 396 "sidebar.unmuteApp": "Attiva notifiche e audio",
397 "tabs.item.deleteService" : "Elimina servizio", 397 "signup.email.label": "Indirizzo email",
398 "tabs.item.disableAudio" : "Disattiva audio", 398 "signup.emailDuplicate": "Esiste già un utente con lo stesso indirizzo email",
399 "tabs.item.disableNotifications" : "Disattiva notifiche", 399 "signup.firstname.label": "Nome",
400 "tabs.item.disableService" : "Disattiva servizio", 400 "signup.headline": "Iscriviti",
401 "tabs.item.edit" : "Modifica", 401 "signup.lastname.label": "Cognome",
402 "tabs.item.enableAudio" : "Attiva audio", 402 "signup.legal.info": "Creando un account di Ferdi accetti",
403 "tabs.item.enableNotification" : "Attiva notifiche", 403 "signup.legal.privacy": "Dichiarazione della Privacy",
404 "tabs.item.enableService" : "Attiva servizio", 404 "signup.legal.terms": "Termini di Servizio",
405 "tabs.item.reload" : "Ricarica", 405 "signup.link.login": "Hai già un account, vuoi accedere?",
406 "validation.email" : "{field} non valido", 406 "signup.password.label": "Password",
407 "validation.minLength" : "{field} dovrebbe contenere almeno {length} caratteri", 407 "signup.submit.label": "Crea un account",
408 "validation.oneRequired" : "Almeno un campo è richiesto", 408 "subscription.cta.activateTrial": "Sì, inizia la prova gratuita di Ferdi Professional",
409 "validation.required" : "{field} è necessario", 409 "subscription.cta.allOptions": "Vedi tutte le opzioni",
410 "validation.url" : "{field} non è un URL valido", 410 "subscription.cta.choosePlan": "Scegli il tuo piano",
411 "webControls.back" : "Back", 411 "subscription.includedProFeatures": "Il piano Ferdi Professional include:",
412 "webControls.forward" : "Forward", 412 "subscription.teaser.includedFeatures": "I piani Ferdi a pagamento includono:",
413 "webControls.goHome" : "Home", 413 "subscription.teaser.intro": "Ferdi 5 contiene un ampia gamma di nuove caratteristiche per potenziare le tue comunicazioni di tutti i giorni - incluse le batterie. Dai un'occhiata ai nostri nuovi piani per scoprire quale si adatta di più a te!",
414 "webControls.openInBrowser" : "Open in Browser", 414 "subscriptionPopup.buttonCancel": "Annulla",
415 "webControls.reload" : "Ricarica", 415 "subscriptionPopup.buttonDone": "Fatto",
416 "welcome.loginButton" : "Accedi al tuo account", 416 "tabs.item.deleteService": "Elimina servizio",
417 "welcome.signupButton" : "Crea un account gratuito", 417 "tabs.item.disableAudio": "Disattiva audio",
418 "workspaceDrawer.addNewWorkspaceLabel" : "Aggiungi un nuovo workspace", 418 "tabs.item.disableNotifications": "Disattiva notifiche",
419 "workspaceDrawer.allServices" : "Tutti i servizi", 419 "tabs.item.disableService": "Disattiva servizio",
420 "workspaceDrawer.headline" : "Workspace", 420 "tabs.item.edit": "Modifica",
421 "workspaceDrawer.item.contextMenuEdit" : "Modifica", 421 "tabs.item.enableAudio": "Attiva audio",
422 "workspaceDrawer.item.noServicesAddedYet" : "Nessun servizio aggiunto", 422 "tabs.item.enableNotification": "Attiva le notifiche",
423 "workspaceDrawer.premiumCtaButtonLabel" : "Crea il tuo primo workspace", 423 "tabs.item.enableService": "Attiva il servizio",
424 "workspaceDrawer.proFeatureBadge" : "Funzionalità premium", 424 "tabs.item.reload": "Ricarica",
425 "workspaceDrawer.reactivatePremiumAccountLabel" : "Riattiva l’account premium", 425 "validation.email": "{field} non valido",
426 "workspaceDrawer.workspaceFeatureInfo" : "<p>I workspace di Franz ti permettono di concentrarti su ciò che è importante. Configura diversi insiemi di servizi e passa facilmente da uno all’altro quando vuoi.<\/p><p>Decidi di quali servizi hai bisogno quando e dove, così che ti possiamo aiutare a dare sempre il massimo - o semplicemente staccare dal lavoro quando ne hai bisogno.<\/p>", 426 "validation.minLength": "{field} dovrebbe contenere almeno {length} caratteri",
427 "workspaceDrawer.workspacesSettingsTooltip" : "Modifica le impostazioni dei workspace", 427 "validation.oneRequired": "Almeno un campo è richiesto",
428 "workspaces.switchingIndicator.switchingTo" : "Passa a " 428 "validation.required": "{field} è necessario",
429 "validation.url": "{field} non è un URL valido",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Ricarica",
435 "welcome.loginButton": "Accedi al tuo account",
436 "welcome.signupButton": "Crea un account gratuito",
437 "workspaceDrawer.addNewWorkspaceLabel": "Aggiungi un nuovo workspace",
438 "workspaceDrawer.allServices": "Tutti i servizi",
439 "workspaceDrawer.headline": "Aree di lavoro",
440 "workspaceDrawer.item.contextMenuEdit": "Modifica",
441 "workspaceDrawer.item.noServicesAddedYet": "Nessun servizio aggiunto",
442 "workspaceDrawer.premiumCtaButtonLabel": "Crea il tuo primo workspace",
443 "workspaceDrawer.proFeatureBadge": "Funzionalità premium",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Riattiva l’account premium",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>I workspace di Ferdi ti permettono di concentrarti su ciò che è importante. Configura diversi insiemi di servizi e passa facilmente da uno all’altro quando vuoi.</p><p>Decidi di quali servizi hai bisogno quando e dove, così che ti possiamo aiutare a dare sempre il massimo - o semplicemente staccare dal lavoro quando ne hai bisogno.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Modifica le impostazioni dei workspace",
447 "workspaces.switchingIndicator.switchingTo": "Passa a "
429} 448}
diff --git a/src/i18n/locales/ja.json b/src/i18n/locales/ja.json
index f3fe9d59c..49c886dc6 100644
--- a/src/i18n/locales/ja.json
+++ b/src/i18n/locales/ja.json
@@ -1,429 +1,448 @@
1{ 1{
2 "app.errorHandler.action" : "再読み込み", 2 "app.errorHandler.action": "再読み込み",
3 "app.errorHandler.headline" : "間違えている部分があります", 3 "app.errorHandler.headline": "間違えている部分があります",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}", 4 "feature.announcements.changelog.headline": "Changes in Ferdi {version}",
5 "feature.delayApp.headline" : "Upgrade your Franz plan to skip the wait", 5 "feature.delayApp.headline": "Ferdiをすぐに起動するには、Ferdi サポーターライセンスを購入してください。",
6 "feature.delayApp.text" : "Franzはあと{seconds}秒後に起動します。", 6 "feature.delayApp.text": "Ferdiはあと{seconds}秒後に起動します。",
7 "feature.delayApp.trial.action" : "Yes, I want the free 14 day trial of Franz Professional", 7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort" : "Activate the free Franz Professional trial", 8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
9 "feature.delayApp.trial.headline" : "Get the free Franz Professional 14-days trial and skip the wait", 9 "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line",
10 "feature.delayApp.upgrade.action" : "Upgrade Franz", 10 "feature.delayApp.upgrade.action": "Ferdiサポーターライセンスを購入する",
11 "feature.delayApp.upgrade.actionShort" : "アカウントをアップグレード", 11 "feature.delayApp.upgrade.actionShort": "アカウントをアップグレード",
12 "feature.planSelection.cta.ctaDowngradeFree" : "Downgrade to Free", 12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.planSelection.cta.stayOnFree" : "Stay on Free", 13 "feature.quickSwitch.search": "Search...",
14 "feature.planSelection.cta.trial" : "Start my free 14-days Trial", 14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.planSelection.cta.upgradePersonal" : "Choose Personal", 15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.planSelection.cta.upgradePro" : "Choose Professional", 16 "feature.shareFranz.action.email": "メールで送信",
17 "feature.planSelection.free.text" : "Basic functionality", 17 "feature.shareFranz.action.facebook": "Facebookでシェア",
18 "feature.planSelection.fullFeatureList" : "Complete comparison of all plans", 18 "feature.shareFranz.action.twitter": "Twitterでシェア",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 19 "feature.shareFranz.headline": "Ferdiはあなたとともに",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade" : "Choose Personal", 20 "feature.shareFranz.shareText.email": "Ferdiで{count}個のサービスを使っています!あなたもGmail, Messenger, Slack, SkypeなどのサービスをFerdiで一元管理しましょう! www.getferdi.com",
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.", 21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.planSelection.fullscreen.dialog.title" : "Downgrade your Franz Plan", 22 "feature.shareFranz.text": "あなたのお友達にFerdiを教えてあげましょう。",
23 "feature.planSelection.fullscreen.subheadline" : "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.", 23 "feature.todos.premium.info": "Ferdi Todos are available to premium users now!",
24 "feature.planSelection.fullscreen.welcome" : "Are you ready to choose, {name}?", 24 "feature.todos.premium.rollout": "Everyone else will have to wait a little longer.",
25 "feature.planSelection.personal.text" : "More services, no waiting - ideal for personal use.", 25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "feature.planSelection.pricesBasedOnAnnualPayment" : "All prices based on yearly payment", 26 "global.api.unhealthy": "Ferdiのオンラインサービスに接続できません。",
27 "feature.planSelection.pro.text" : "Unlimited services and professional features for you - and your team.", 27 "global.franzProRequired": "Ferdi Professional Required",
28 "feature.serviceLimit.limitReached" : "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.", 28 "global.notConnectedToTheInternet": "インターネットに接続されていません。",
29 "feature.shareFranz.action.email" : "メールで送信", 29 "global.spellchecker.useDefault": " {default}を初期設定で使用してください",
30 "feature.shareFranz.action.facebook" : "Facebookでシェア", 30 "global.spellchecking.autodetect": "言語を自動的に検出する",
31 "feature.shareFranz.action.twitter" : "Twitterでシェア", 31 "global.spellchecking.autodetect.short": "自動",
32 "feature.shareFranz.headline" : "Franzはあなたとともに", 32 "global.spellchecking.language": "スペルチェックする言語",
33 "feature.shareFranz.shareText.email" : "Franzで{count}個のサービスを使っています!あなたもGmail, Messenger, Slack, SkypeなどのサービスをFranzで一元管理しましょう! www.meetfranz.com", 33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "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 @FranzMessenger", 34 "import.headline": "Ferdi 4のサービスをインポートして下さい",
35 "feature.shareFranz.text" : "あなたのお友達にFranzを教えてあげましょう。", 35 "import.notSupportedHeadline": "Ferdi 5ではこのサービスにまだ対応していません",
36 "feature.todos.premium.info" : "Franz Todos are available to premium users now!", 36 "import.skip.label": "手動でサービスを追加する",
37 "feature.todos.premium.rollout" : "Everyone else will have to wait a little longer.", 37 "import.submit.label": "サービスをインポートして下さい",
38 "feature.todos.premium.upgrade" : "Upgrade Account", 38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "feature.trialStatusBar.cta" : "Upgrade now", 39 "infobar.buttonChangelog": "更新履歴を見る",
40 "feature.trialStatusBar.expired" : "Your free Franz {plan} Trial has expired, please upgrade your account.", 40 "infobar.buttonInstallUpdate": "再起動して更新をインストールする",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 41 "infobar.buttonReloadServices": "サービスの再読み込み",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade" : "Choose Personal", 42 "infobar.requiredRequestsFailed": "サービスとユーザー情報を読み込めませんでした",
43 "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.", 43 "infobar.servicesUpdated": "サービスが更新されました。",
44 "feature.trialStatusBar.fullscreen.dialog.title" : "Downgrade your Franz Plan", 44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "feature.trialStatusBar.restTime" : "Your Free Franz {plan} Trial ends in {time}.", 45 "infobar.updateAvailable": "Ferdiの更新があります。",
46 "global.api.unhealthy" : "Franzのオンラインサービスに接続できません。", 46 "invite.email.label": "メールアドレス",
47 "global.franzProRequired" : "Franz Professional Required", 47 "invite.headline.friends": "あなたの友人や同僚の方を3名までFerdiに招待できます",
48 "global.notConnectedToTheInternet" : "インターネットに接続されていません。", 48 "invite.name.label": "氏名",
49 "global.spellchecker.useDefault" : " {default}を初期設定で使用してください", 49 "invite.skip.label": "後で",
50 "global.spellchecking.autodetect" : "言語を自動的に検出する", 50 "invite.submit.label": "招待を送る",
51 "global.spellchecking.autodetect.short" : "自動", 51 "invite.successInfo": "招待は無事に送信されました",
52 "global.spellchecking.language" : "スペルチェックする言語", 52 "locked.headline": "Locked",
53 "global.upgradeButton.upgradeToPro" : "Upgrade to Franz Professional", 53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "import.headline" : "Franz 4のサービスをインポートして下さい", 54 "locked.invalidCredentials": "Password invalid",
55 "import.notSupportedHeadline" : "Franz 5ではこのサービスにまだ対応していません", 55 "locked.password.label": "Password",
56 "import.skip.label" : "手動でサービスを追加する", 56 "locked.submit.label": "Unlock",
57 "import.submit.label" : "サービスをインポートして下さい", 57 "login.changeServer": "Change server",
58 "infobar.buttonChangelog" : "更新履歴を見る", 58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "infobar.buttonInstallUpdate" : "再起動して更新をインストールする", 59 "login.customServerSuggestion": "Try importing your Franz account",
60 "infobar.buttonReloadServices" : "サービスの再読み込み", 60 "login.email.label": "メールアドレス",
61 "infobar.requiredRequestsFailed" : "サービスとユーザー情報を読み込めませんでした", 61 "login.headline": "サインイン",
62 "infobar.servicesUpdated" : "サービスが更新されました。", 62 "login.invalidCredentials": "メールアドレスまたはパスワードが間違っています",
63 "infobar.trialActivated" : "Your trial was successfully activated. Happy messaging!", 63 "login.link.password": "パスワードをリセット",
64 "infobar.updateAvailable" : "Franzの更新があります。", 64 "login.link.signup": "無料アカウントを作成",
65 "invite.email.label" : "メールアドレス", 65 "login.password.label": "Password",
66 "invite.headline.friends" : "あなたの友人や同僚の方を3名までFranzに招待できます", 66 "login.serverLogout": "セッションの期限が切れました。ログインし直して下さい。",
67 "invite.name.label" : "氏名", 67 "login.submit.label": "サインイン",
68 "invite.skip.label" : "後で", 68 "login.tokenExpired": "セッションの期限が切れました。ログインし直して下さい。",
69 "invite.submit.label" : "招待を送る", 69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "invite.successInfo" : "招待は無事に送信されました", 70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "login.email.label" : "メールアドレス", 71 "menu.app.about": "バージョン情報",
72 "login.headline" : "サインイン", 72 "menu.app.announcement": "What's new?",
73 "login.invalidCredentials" : "メールアドレスまたはパスワードが間違っています", 73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "login.link.password" : "パスワードをリセット", 74 "menu.app.checkForUpdates": "更新の確認",
75 "login.link.signup" : "無料アカウントを作成", 75 "menu.app.hide": "隠す",
76 "login.password.label" : "パスワード", 76 "menu.app.hideOthers": "他を隠す",
77 "login.serverLogout" : "セッションの期限が切れました。ログインし直して下さい。", 77 "menu.app.quit": "終了",
78 "login.submit.label" : "サインイン", 78 "menu.app.settings": "設定",
79 "login.tokenExpired" : "セッションの期限が切れました。ログインし直して下さい。", 79 "menu.app.unhide": "表示する",
80 "menu.Todoss.closeTodosDrawer" : "Close Todos drawer", 80 "menu.edit": "編集",
81 "menu.Todoss.openTodosDrawer" : "Open Todos drawer", 81 "menu.edit.copy": "コピー",
82 "menu.app.about" : "バージョン情報", 82 "menu.edit.cut": "切り取り",
83 "menu.app.announcement" : "What's new?", 83 "menu.edit.delete": "削除",
84 "menu.app.checkForUpdates" : "更新の確認", 84 "menu.edit.emojiSymbols": "絵文字とシンボル",
85 "menu.app.hide" : "隠す", 85 "menu.edit.paste": "貼り付け",
86 "menu.app.hideOthers" : "他を隠す", 86 "menu.edit.pasteAndMatchStyle": "書式を統一して貼り付け",
87 "menu.app.quit" : "終了", 87 "menu.edit.redo": "やり直し",
88 "menu.app.settings" : "設定", 88 "menu.edit.selectAll": "全て選択",
89 "menu.app.unhide" : "表示する", 89 "menu.edit.speech": "読み上げ",
90 "menu.edit" : "編集", 90 "menu.edit.startDictation": "音声入力を開始",
91 "menu.edit.copy" : "コピー", 91 "menu.edit.startSpeaking": "読み上げを開始",
92 "menu.edit.cut" : "切り取り", 92 "menu.edit.stopSpeaking": "読み上げを停止",
93 "menu.edit.delete" : "削除", 93 "menu.edit.undo": "元に戻す",
94 "menu.edit.emojiSymbols" : "絵文字とシンボル", 94 "menu.file": "ファイル",
95 "menu.edit.paste" : "貼り付け", 95 "menu.help": "ヘルプ",
96 "menu.edit.pasteAndMatchStyle" : "書式を統一して貼り付け", 96 "menu.help.changelog": "更新履歴",
97 "menu.edit.redo" : "やり直し", 97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.edit.selectAll" : "全て選択", 98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.edit.speech" : "読み上げ", 99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.edit.startDictation" : "音声入力を開始", 100 "menu.help.learnMore": "Ferdiについて",
101 "menu.edit.startSpeaking" : "読み上げを開始", 101 "menu.help.privacy": "プライバシーについて",
102 "menu.edit.stopSpeaking" : "読み上げを停止", 102 "menu.help.support": "サポート",
103 "menu.edit.undo" : "元に戻す", 103 "menu.help.tos": "サービス利用規約",
104 "menu.file" : "ファイル", 104 "menu.services": "サービス",
105 "menu.help" : "ヘルプ", 105 "menu.services.activatePreviousService": "前のサービスを有効にする",
106 "menu.help.changelog" : "更新履歴", 106 "menu.services.addNewService": "サービスを追加",
107 "menu.help.debugInfo" : "Copy Debug Information", 107 "menu.services.goHome": "Home",
108 "menu.help.debugInfoCopiedBody" : "Your Debug Information has been copied to your clipboard.", 108 "menu.services.setNextServiceActive": "次のサービスを有効にする",
109 "menu.help.debugInfoCopiedHeadline" : "Franz Debug Information", 109 "menu.todos": "Todos",
110 "menu.help.learnMore" : "Franzについて", 110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.help.privacy" : "プライバシーについて", 111 "menu.view": "表示",
112 "menu.help.support" : "サポート", 112 "menu.view.back": "Back",
113 "menu.help.tos" : "サービス利用規約", 113 "menu.view.enterFullScreen": "全画面表示",
114 "menu.services" : "サービス", 114 "menu.view.exitFullScreen": "全画面表示を終了する",
115 "menu.services.activatePreviousService" : "前のサービスを有効にする", 115 "menu.view.forward": "Forward",
116 "menu.services.addNewService" : "サービスを追加", 116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.services.goHome" : "Home", 117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.services.setNextServiceActive" : "次のサービスを有効にする", 118 "menu.view.reloadFranz": "再起動",
119 "menu.todos" : "Todos", 119 "menu.view.reloadService": "サービスをリロードする",
120 "menu.todos.enableTodos" : "Enable Todos", 120 "menu.view.resetZoom": "元のサイズ",
121 "menu.view" : "表示", 121 "menu.view.toggleDevTools": "開発者ツールを切り替え",
122 "menu.view.enterFullScreen" : "全画面表示", 122 "menu.view.toggleFullScreen": "全画面表示の切り替え",
123 "menu.view.exitFullScreen" : "全画面表示を終了する", 123 "menu.view.toggleServiceDevTools": "サービス開発者ツールを切り替え",
124 "menu.view.reloadFranz" : "再起動", 124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.reloadService" : "サービスをリロードする", 125 "menu.view.zoomIn": "表示を拡大する",
126 "menu.view.resetZoom" : "元のサイズ", 126 "menu.view.zoomOut": "表示を縮小する",
127 "menu.view.toggleDevTools" : "開発者ツールを切り替え", 127 "menu.window": "ウィンドウ",
128 "menu.view.toggleFullScreen" : "全画面表示の切り替え", 128 "menu.window.close": "閉じる",
129 "menu.view.toggleServiceDevTools" : "サービス開発者ツールを切り替え", 129 "menu.window.minimize": "最小化",
130 "menu.view.toggleTodosDevTools" : "Toggle Todos Developer Tools", 130 "menu.workspaces": "Workspaces",
131 "menu.view.zoomIn" : "表示を拡大する", 131 "menu.workspaces.addNewWorkspace": "Add New Workspace...",
132 "menu.view.zoomOut" : "表示を縮小する", 132 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
133 "menu.window" : "ウィンドウ", 133 "menu.workspaces.defaultWorkspace": "すべてのサービス",
134 "menu.window.close" : "閉じる", 134 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
135 "menu.window.minimize" : "最小化", 135 "password.email.label": "メールアドレス",
136 "menu.workspaces" : "Workspaces", 136 "password.headline": "パスワードをリセット",
137 "menu.workspaces.addNewWorkspace" : "Add New Workspace...", 137 "password.link.login": "サインイン",
138 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer", 138 "password.link.signup": "無料アカウントを作成",
139 "menu.workspaces.defaultWorkspace" : "すべてのサービス", 139 "password.noUser": "このメールアドレスはまだ登録されていません",
140 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer", 140 "password.submit.label": "送信",
141 "password.email.label" : "メールアドレス", 141 "password.successInfo": "メールを確認して下さい",
142 "password.headline" : "パスワードのリセット", 142 "premiumFeature.button.upgradeAccount": "アカウントをアップグレード",
143 "password.link.login" : "サインイン", 143 "pricing.features.adFree": "Forever ad-free",
144 "password.link.signup" : "無料アカウントを作成", 144 "pricing.features.appDelays": "No Waiting Screens",
145 "password.noUser" : "このメールアドレスはまだ登録されていません", 145 "pricing.features.customWebsites": "Add Custom Websites",
146 "password.submit.label" : "送信", 146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "password.successInfo" : "メールを確認して下さい", 147 "pricing.features.serviceProxies": "Service Proxies",
148 "premiumFeature.button.upgradeAccount" : "アカウントをアップグレード", 148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.accountSync" : "Account Synchronisation", 149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.adFree" : "Forever ad-free", 150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.appDelays" : "No Waiting Screens", 151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.customWebsites" : "Add Custom Websites", 152 "pricing.features.workspaces": "Workspaces",
153 "pricing.features.desktopNotifications" : "Desktop Notifications", 153 "pricing.plan.free": "Ferdi Free",
154 "pricing.features.onPremise" : "On-premise & other Hosted Services", 154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.features.recipes" : "Choose from more than 70 Services", 155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.features.serviceProxies" : "Service Proxies", 156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.features.spellchecker" : "Spellchecker support", 157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.features.teamManagement" : "Team Management", 158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.features.thirdPartyServices" : "Install 3rd party services", 159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.features.unlimitedServices" : "Add unlimited services", 160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.features.upToSixServices" : "Add up to 6 services", 161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.features.upToThreeServices" : "Add up to 3 services", 162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.features.workspaces" : "Workspaces", 163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.plan.free" : "Free", 164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.plan.legacy" : "Premium", 165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.plan.personal" : "Personal", 166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.plan.personal-monthly" : "Personal Monthly", 167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.plan.personal-yearly" : "Personal Yearly", 168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.plan.pro" : "Professional", 169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "pricing.plan.pro-monthly" : "Professional Monthly", 170 "service.crashHandler.action": "{name}を再読み込み",
171 "pricing.plan.pro-yearly" : "Professional Yearly", 171 "service.crashHandler.autoReload": "{seconds}秒後、自動的に{name}の復旧を試みます",
172 "pricing.trial.cta.accept" : "Start my 14-day Franz Professional Trial ", 172 "service.crashHandler.headline": "しまった!",
173 "pricing.trial.cta.skip" : "Continue to Franz", 173 "service.crashHandler.text": "{name}はエラーを起こしました。",
174 "pricing.trial.cta.start" : "Start using Franz", 174 "service.disabledHandler.action": "{name}を有効にする",
175 "pricing.trial.error" : "Sorry, we could not activate your trial!", 175 "service.disabledHandler.headline": "{name}は無効です",
176 "pricing.trial.features.headline" : "Franz Professional includes:", 176 "service.errorHandler.action": "{name}を再読み込み",
177 "pricing.trial.headline.pro" : "Hi {name}, welcome to Franz", 177 "service.errorHandler.editAction": "{name}を編集",
178 "pricing.trial.intro.happyMessaging" : "Happy messaging,", 178 "service.errorHandler.headline": "しまった!",
179 "pricing.trial.intro.specialTreat" : "We have a special treat for you.", 179 "service.errorHandler.message": "エラー",
180 "pricing.trial.intro.tryPro" : "Enjoy the full Franz Professional experience completely free for 14 days.", 180 "service.errorHandler.text": "{name} はロードに失敗しました",
181 "pricing.trial.terms.automaticTrialEnd" : "Your free trial ends automatically after 14 days", 181 "service.restrictedHandler.action": "Upgrade Account",
182 "pricing.trial.terms.headline" : "No strings attached", 182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "pricing.trial.terms.noCreditCard" : "No credit card required", 183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "pricing.trial.terms.trialWorth" : "Free trial (normally {currency}{price} per month)", 184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.crashHandler.action" : "{name}を再読み込み", 185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.crashHandler.autoReload" : "{seconds}秒後、自動的に{name}の復旧を試みます", 186 "service.webviewLoader.loading": "Loading",
187 "service.crashHandler.headline" : "しまった!", 187 "services.getStarted": "はじめる",
188 "service.crashHandler.text" : "{name}はエラーを起こしました。", 188 "services.login": "Please login to use Ferdi.",
189 "service.disabledHandler.action" : "{name}を有効にする", 189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "service.disabledHandler.headline" : "{name}は無効です", 190 "services.serverless": "Use Ferdi without an Account",
191 "service.errorHandler.action" : "{name}を再読み込み", 191 "services.welcome": "Ferdiにようこそ",
192 "service.errorHandler.editAction" : "{name}を編集", 192 "settings.account.account.editButton": "アカウントの編集",
193 "service.errorHandler.headline" : "しまった!", 193 "settings.account.accountType.basic": "Basicアカウント",
194 "service.errorHandler.message" : "エラー", 194 "settings.account.accountType.premium": "Premium Supporterアカウント",
195 "service.errorHandler.text" : "{name} はロードに失敗しました", 195 "settings.account.buttonSave": "プロフィールの更新",
196 "service.restrictedHandler.action" : "Upgrade Account", 196 "settings.account.deleteAccount": "アカウントを削除",
197 "service.restrictedHandler.customUrl.headline" : "Franz Professional Plan required", 197 "settings.account.deleteEmailSent": "アカウント削除の確認メールを送信しました。あなたのアカウントとデータは復旧できません!",
198 "service.restrictedHandler.customUrl.text" : "Please upgrade to the Franz Professional plan to use custom urls & self hosted services.", 198 "settings.account.deleteInfo": "今後Ferdiのアカウントが必要なければ、こちらでアカウントと関連する情報を削除できます。",
199 "service.restrictedHandler.serviceLimit.headline" : "You have reached your service limit.", 199 "settings.account.headline": "アカウント",
200 "service.restrictedHandler.serviceLimit.text" : "Please upgrade your account to use more than {count} services.", 200 "settings.account.headlineAccount": "アカウント情報",
201 "service.webviewLoader.loading" : "Loading", 201 "settings.account.headlineDangerZone": "注意!",
202 "services.getStarted" : "はじめる", 202 "settings.account.headlineInvoices": "請求書",
203 "services.welcome" : "Franzにようこそ", 203 "settings.account.headlinePassword": "パスワードの変更",
204 "settings.account.account.editButton" : "アカウントの編集", 204 "settings.account.headlineProfile": "プロフィールの更新",
205 "settings.account.accountType.basic" : "Basicアカウント", 205 "settings.account.headlineSubscription": "あなたの登録内容",
206 "settings.account.accountType.premium" : "Premium Supporterアカウント", 206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.buttonSave" : "プロフィールの更新", 207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.deleteAccount" : "アカウントを削除", 208 "settings.account.invoiceDownload": "ダウンロード",
209 "settings.account.deleteEmailSent" : "アカウント削除の確認メールを送信しました。あなたのアカウントとデータは復旧できません!", 209 "settings.account.manageSubscription.label": "サブスクリプションの管理",
210 "settings.account.deleteInfo" : "今後Franzのアカウントが必要なければ、こちらでアカウントと関連する情報を削除できます。", 210 "settings.account.successInfo": "変更内容が保存されました",
211 "settings.account.headline" : "アカウント", 211 "settings.account.trial": "Free Trial",
212 "settings.account.headlineAccount" : "アカウント情報", 212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.headlineDangerZone" : "注意!", 213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.headlineInvoices" : "請求書", 214 "settings.account.tryReloadServices": "もう一度試す",
215 "settings.account.headlinePassword" : "パスワードの変更", 215 "settings.account.tryReloadUserInfoRequest": "もう一度試す",
216 "settings.account.headlineProfile" : "プロフィールの更新", 216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.headlineSubscription" : "あなたの登録内容", 217 "settings.account.userInfoRequestFailed": "ユーザ情報を読み込めませんでした",
218 "settings.account.headlineTrialUpgrade" : "Get the free 14 day Franz Professional Trial", 218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.account.headlineUpgradeAccount" : "Upgrade your account & get the full Franz experience", 219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.account.invoiceDownload" : "ダウンロード", 220 "settings.app.buttonClearAllCache": "キャッシュを消去する",
221 "settings.account.manageSubscription.label" : "サブスクリプションの管理", 221 "settings.app.buttonInstallUpdate": "再起動して更新をインストールする",
222 "settings.account.successInfo" : "変更内容が保存されました", 222 "settings.app.buttonSearchForUpdate": "更新の確認",
223 "settings.account.trial" : "Free Trial", 223 "settings.app.cacheInfo": "現在、Ferdiのキャッシュはディスクの{size}分を使用しています。",
224 "settings.account.trialEndsIn" : "Your free trial ends in {duration}.", 224 "settings.app.currentVersion": "現在のバージョン:",
225 "settings.account.trialUpdateBillingInfo" : "Please update your billing info to continue using {license} after your trial period.", 225 "settings.app.form.accentColor": "Accent color",
226 "settings.account.tryReloadServices" : "もう一度試す", 226 "settings.app.form.autoLaunchInBackground": "バックグラウンドで開く",
227 "settings.account.tryReloadUserInfoRequest" : "もう一度試す", 227 "settings.app.form.autoLaunchOnStart": "システム起動時にFerdiを開く",
228 "settings.account.upgradeToPro.label" : "Upgrade to Franz Professional", 228 "settings.app.form.beta": "Betaバージョンを含める",
229 "settings.account.userInfoRequestFailed" : "ユーザ情報を読み込めませんでした", 229 "settings.app.form.darkMode": "ダークモードを有効にする",
230 "settings.account.yourLicense" : "Your Franz License", 230 "settings.app.form.enableGPUAcceleration": "GPUアクセラレーションを有効にする",
231 "settings.app.buttonClearAllCache" : "キャッシュを消去する", 231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.buttonInstallUpdate" : "再起動して更新をインストールする", 232 "settings.app.form.enableSpellchecking": "スペルチェックを有効にする",
233 "settings.app.buttonSearchForUpdate" : "更新の確認", 233 "settings.app.form.enableSystemTray": "Ferdiをシステムトレイに表示する",
234 "settings.app.cacheInfo" : "現在、Franzのキャッシュはディスクの{size}分を使用しています。", 234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.currentVersion" : "現在のバージョン:", 235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.autoLaunchInBackground" : "バックグラウンドで開く", 236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.autoLaunchOnStart" : "システム起動時にFranzを開く", 237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.beta" : "Betaバージョンを含める", 238 "settings.app.form.language": "言語",
239 "settings.app.form.darkMode" : "ダークモードを有効にする", 239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.enableGPUAcceleration" : "GPUアクセラレーションを有効にする", 240 "settings.app.form.minimizeToSystemTray": "Ferdiをシステムトレイに最小化する",
241 "settings.app.form.enableSpellchecking" : "スペルチェックを有効にする", 241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.enableSystemTray" : "Franzをシステムトレイに表示する", 242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.enableTodos" : "Enable Franz Todos", 243 "settings.app.form.runInBackground": "ウインドウを閉じた際にFerdiをバックグラウンドで実行させておく",
244 "settings.app.form.keepAllWorkspacesLoaded" : "Keep all workspaces loaded", 244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.language" : "言語", 245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.minimizeToSystemTray" : "Franzをシステムトレイに最小化する", 246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.runInBackground" : "ウインドウを閉じた際にFranzをバックグラウンドで実行させておく", 247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices" : "無効化されたサービスのタブを表示する", 248 "settings.app.form.showDisabledServices": "無効化されたサービスのタブを表示する",
249 "settings.app.form.showMessagesBadgesWhenMuted" : "通知の無効時に未読メッセージ件数を表示する", 249 "settings.app.form.showMessagesBadgesWhenMuted": "通知の無効時に未読メッセージ件数を表示する",
250 "settings.app.headline" : "設定", 250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.headlineAdvanced" : "詳細", 251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.headlineAppearance" : "表示スタイル", 252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headlineGeneral" : "一般", 253 "settings.app.headline": "設定",
254 "settings.app.headlineLanguage" : "言語", 254 "settings.app.headlineAdvanced": "詳細",
255 "settings.app.headlineUpdates" : "更新", 255 "settings.app.headlineAppearance": "表示スタイル",
256 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.", 256 "settings.app.headlineGeneral": "一般",
257 "settings.app.restartRequired" : "変更には再起動が必要です", 257 "settings.app.headlineLanguage": "言語",
258 "settings.app.subheadlineCache" : "キャッシュ", 258 "settings.app.headlineUpdates": "更新",
259 "settings.app.translationHelp" : "Franzの翻訳作業にご協力をお願いします。", 259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.updateStatusAvailable" : "更新が見つかりました。ダウンロードしています...", 260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.updateStatusSearching" : "更新を確認中", 261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.updateStatusUpToDate" : "お使いのFranzは最新です", 262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.invite.headline" : "知り合いを招待する", 263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.navigation.account" : "アカウント", 264 "settings.app.restartRequired": "変更には再起動が必要です",
265 "settings.navigation.availableServices" : "利用可能なサービス", 265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.navigation.inviteFriends" : "知り合いを招待する", 266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.navigation.logout" : "ログアウト", 267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.navigation.settings" : "設定", 268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.navigation.team" : "Manage Team", 269 "settings.app.subheadlineCache": "キャッシュ",
270 "settings.navigation.yourServices" : "利用中のサービス", 270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.navigation.yourWorkspaces" : "Your workspaces", 271 "settings.app.translationHelp": "Ferdiの翻訳作業にご協力をお願いします。",
272 "settings.recipes.all" : "すべてのサービス", 272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.recipes.custom" : "Custom Services", 273 "settings.app.updateStatusAvailable": "更新が見つかりました。ダウンロードしています...",
274 "settings.recipes.customService.headline.communityRecipes" : "Community 3rd Party Recipes", 274 "settings.app.updateStatusSearching": "更新を確認中",
275 "settings.recipes.customService.headline.customRecipes" : "Custom 3rd Party Recipes", 275 "settings.app.updateStatusUpToDate": "お使いのFerdiは最新です",
276 "settings.recipes.customService.headline.devRecipes" : "Your Development Service Recipes", 276 "settings.invite.headline": "知り合いを招待する",
277 "settings.recipes.customService.intro" : "To add a custom service, copy the service recipe to:", 277 "settings.navigation.account": "アカウント",
278 "settings.recipes.customService.openDevDocs" : "Developer Documentation", 278 "settings.navigation.availableServices": "利用可能なサービス",
279 "settings.recipes.customService.openFolder" : "Open folder", 279 "settings.navigation.logout": "ログアウト",
280 "settings.recipes.headline" : "利用可能なサービス", 280 "settings.navigation.settings": "設定",
281 "settings.recipes.missingService" : "使いたいサービスが一覧にありませんか?", 281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.recipes.mostPopular" : "最も人気", 282 "settings.navigation.team": "Manage Team",
283 "settings.recipes.nothingFound" : "すみませんが、検索ワードに該当するサービスが見つかりませんでした。", 283 "settings.navigation.yourServices": "利用中のサービス",
284 "settings.recipes.servicesSuccessfulAddedInfo" : "サービスが追加されました", 284 "settings.navigation.yourWorkspaces": "Your workspaces",
285 "settings.searchService" : "サービスを検索", 285 "settings.recipes.all": "すべてのサービス",
286 "settings.service.error.goBack" : "サービスに戻る", 286 "settings.recipes.custom": "Custom Services",
287 "settings.service.error.headline" : "エラー", 287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.service.error.message" : "サービスのレシピを読み込めませんでした。", 288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.service.form.addServiceHeadline" : "{name}を追加", 289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.service.form.availableServices" : "利用可能なサービス", 290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.service.form.customUrl" : "独自サーバー", 291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.service.form.customUrlPremiumInfo" : "独自サービスを追加するためには、Franz Premium Supporterアカウントが必要です。", 292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.service.form.customUrlUpgradeAccount" : "アカウントをアップグレードする", 293 "settings.recipes.headline": "利用可能なサービス",
294 "settings.service.form.customUrlValidationError" : "独自サーバー{name}を検証できませんでした。", 294 "settings.recipes.missingService": "使いたいサービスが一覧にありませんか?",
295 "settings.service.form.deleteButton" : "サービスの削除", 295 "settings.recipes.mostPopular": "最も人気",
296 "settings.service.form.editServiceHeadline" : "{name}を編集", 296 "settings.recipes.nothingFound": "すみませんが、検索ワードに該当するサービスが見つかりませんでした。",
297 "settings.service.form.enableAudio" : "オーディオを有効にする", 297 "settings.recipes.servicesSuccessfulAddedInfo": "サービスが追加されました",
298 "settings.service.form.enableBadge" : "未読件数の通知バッジを表示する", 298 "settings.searchService": "サービスを検索",
299 "settings.service.form.enableDarkMode" : "ダークモードを有効にする", 299 "settings.service.error.goBack": "サービスに戻る",
300 "settings.service.form.enableNotification" : "通知を有効にする", 300 "settings.service.error.headline": "エラー",
301 "settings.service.form.enableService" : "サービスを有効にする", 301 "settings.service.error.message": "サービスのレシピを読み込めませんでした。",
302 "settings.service.form.headlineBadges" : "未読件数の通知バッジ", 302 "settings.service.form.addServiceHeadline": "{name}を追加",
303 "settings.service.form.headlineGeneral" : "一般", 303 "settings.service.form.availableServices": "利用可能なサービス",
304 "settings.service.form.headlineNotifications" : "通知メッセージ", 304 "settings.service.form.customUrl": "独自サーバー",
305 "settings.service.form.icon" : "カスタム アイコン", 305 "settings.service.form.customUrlPremiumInfo": "独自サービスを追加するためには、Ferdi Premium Supporterアカウントが必要です。",
306 "settings.service.form.iconDelete" : "削除", 306 "settings.service.form.customUrlUpgradeAccount": "アカウントをアップグレードする",
307 "settings.service.form.iconUpload" : "ここに画像をドロップするか、クリックして下さい", 307 "settings.service.form.customUrlValidationError": "独自サーバー{name}を検証できませんでした。",
308 "settings.service.form.indirectMessageInfo" : "@username、@channel、@hereだけでなく、チャンネル内のすべての新規メッセージについて通知されます。", 308 "settings.service.form.deleteButton": "サービスの削除",
309 "settings.service.form.indirectMessages" : "すべての新規メッセージについてバッジを表示する", 309 "settings.service.form.editServiceHeadline": "{name}を編集",
310 "settings.service.form.isMutedInfo" : "無効化されている場合、全ての通知音やオーディオ再生は無音になります", 310 "settings.service.form.enableAudio": "オーディオを有効にする",
311 "settings.service.form.name" : "サービス名", 311 "settings.service.form.enableBadge": "未読件数の通知バッジを表示する",
312 "settings.service.form.proxy.headline" : "HTTP\/HTTPSのプロキシ設定", 312 "settings.service.form.enableDarkMode": "ダークモードを有効にする",
313 "settings.service.form.proxy.host" : "プロキシサーバー\/IP", 313 "settings.service.form.enableNotification": "通知を有効にする",
314 "settings.service.form.proxy.info" : "プロキシ設定はFranz アカウントで同期されません。", 314 "settings.service.form.enableService": "サービスを有効にする",
315 "settings.service.form.proxy.isEnabled" : "プロキシ設定を有効にする", 315 "settings.service.form.headlineBadges": "未読件数の通知バッジ",
316 "settings.service.form.proxy.password" : "パスワード(任意)", 316 "settings.service.form.headlineGeneral": "一般",
317 "settings.service.form.proxy.port" : "ポート", 317 "settings.service.form.headlineNotifications": "通知メッセージ",
318 "settings.service.form.proxy.restartInfo" : "プロキシ設定を変更してから、Franzを再起動してください", 318 "settings.service.form.icon": "カスタム アイコン",
319 "settings.service.form.proxy.user" : "ユーザー名(任意)", 319 "settings.service.form.iconDelete": "削除",
320 "settings.service.form.saveButton" : "サービスの保存", 320 "settings.service.form.iconUpload": "ここに画像をドロップするか、クリックして下さい",
321 "settings.service.form.tabHosted" : "ホスト", 321 "settings.service.form.indirectMessageInfo": "@username、@channel、@hereだけでなく、チャンネル内のすべての新規メッセージについて通知されます。",
322 "settings.service.form.tabOnPremise" : "セルフホスト ⭐️", 322 "settings.service.form.indirectMessages": "すべての新規メッセージについてバッジを表示する",
323 "settings.service.form.team" : "チーム", 323 "settings.service.form.isMutedInfo": "無効化されている場合、全ての通知音やオーディオ再生は無音になります",
324 "settings.service.form.useHostedService" : "ホストされたサービス {name} を使用する。", 324 "settings.service.form.name": "氏名",
325 "settings.service.form.yourServices" : "利用中のサービス", 325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.services.deletedInfo" : "サービスが削除されました", 326 "settings.service.form.proxy.headline": "HTTP/HTTPSのプロキシ設定",
327 "settings.services.discoverServices" : "サービスを探す", 327 "settings.service.form.proxy.host": "プロキシサーバー/IP",
328 "settings.services.headline" : "利用中のサービス", 328 "settings.service.form.proxy.info": "プロキシ設定はFerdi アカウントで同期されません。",
329 "settings.services.noServicesAdded" : "まだ、どのサービスも追加されていません。", 329 "settings.service.form.proxy.isEnabled": "プロキシ設定を有効にする",
330 "settings.services.servicesRequestFailed" : "サービスを読み込むことができませんでした", 330 "settings.service.form.proxy.password": "パスワード(任意)",
331 "settings.services.tooltip.isDisabled" : "サービスが無効です", 331 "settings.service.form.proxy.port": "ポート",
332 "settings.services.tooltip.isMuted" : "無音となっています", 332 "settings.service.form.proxy.restartInfo": "プロキシ設定を変更してから、Ferdiを再起動してください",
333 "settings.services.tooltip.notificationsDisabled" : "通知は無効です", 333 "settings.service.form.proxy.user": "ユーザー名(任意)",
334 "settings.services.updatedInfo" : "変更内容が保存されました", 334 "settings.service.form.saveButton": "サービスの保存",
335 "settings.team.contentHeadline" : "Franz for Teams", 335 "settings.service.form.tabHosted": "ホスト",
336 "settings.team.copy" : "Franz for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!", 336 "settings.service.form.tabOnPremise": "セルフホスト ⭐️",
337 "settings.team.headline" : "チーム", 337 "settings.service.form.team": "チーム",
338 "settings.team.intro" : "You and your team use Franz? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.", 338 "settings.service.form.useHostedService": "ホストされたサービス {name} を使用する。",
339 "settings.team.manageAction" : "Manage your Team on meetfranz.com", 339 "settings.service.form.yourServices": "利用中のサービス",
340 "settings.team.upgradeAction" : "Upgrade your Account", 340 "settings.services.deletedInfo": "サービスが削除されました",
341 "settings.user.form.accountType.company" : "法人", 341 "settings.services.discoverServices": "サービスを探す",
342 "settings.user.form.accountType.individual" : "個人", 342 "settings.services.headline": "利用中のサービス",
343 "settings.user.form.accountType.label" : "アカウントの種類", 343 "settings.services.noServicesAdded": "まだ、どのサービスも追加されていません。",
344 "settings.user.form.accountType.non-profit" : "非営利", 344 "settings.services.servicesRequestFailed": "サービスを読み込むことができませんでした",
345 "settings.user.form.currentPassword" : "現在のパスワード", 345 "settings.services.tooltip.isDisabled": "サービスが無効です",
346 "settings.user.form.email" : "メールアドレス", 346 "settings.services.tooltip.isMuted": "無音となっています",
347 "settings.user.form.firstname" : "名", 347 "settings.services.tooltip.notificationsDisabled": "通知は無効です",
348 "settings.user.form.lastname" : "姓", 348 "settings.services.updatedInfo": "変更内容が保存されました",
349 "settings.user.form.newPassword" : "新しいパスワード", 349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.workspace.add.form.name" : "Name", 350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.workspace.add.form.submitButton" : "Create workspace", 351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.workspace.form.buttonDelete" : "Delete workspace", 352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.workspace.form.buttonSave" : "Save workspace", 353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.workspace.form.name" : "Name", 354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace", 355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.workspace.form.yourWorkspaces" : "Your workspaces", 356 "settings.team.headline": "チーム",
357 "settings.workspaces.deletedInfo" : "Workspace has been deleted", 357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.workspaces.headline" : "Your workspaces", 358 "settings.team.manageAction": "Manage your Team on getferdi.com",
359 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.", 359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.workspaces.tryReloadWorkspaces" : "もう一度試す", 360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.workspaces.updatedInfo" : "変更内容が保存されました", 361 "settings.team.upgradeAction": "Upgrade your Account",
362 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces", 362 "settings.user.form.accountType.company": "法人",
363 "settings.workspaces.workspaceFeatureInfo" : "Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.", 363 "settings.user.form.accountType.individual": "個人",
364 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces", 364 "settings.user.form.accountType.label": "アカウントの種類",
365 "sidebar.addNewService" : "サービスを追加", 365 "settings.user.form.accountType.non-profit": "非営利",
366 "sidebar.closeTodosDrawer" : "Close Franz Todos", 366 "settings.user.form.currentPassword": "現在のパスワード",
367 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer", 367 "settings.user.form.email": "メールアドレス",
368 "sidebar.muteApp" : "通知とオーディオを無効化", 368 "settings.user.form.firstname": "名",
369 "sidebar.openTodosDrawer" : "Open Franz Todos", 369 "settings.user.form.lastname": "姓",
370 "sidebar.openWorkspaceDrawer" : "Open workspace drawer", 370 "settings.user.form.newPassword": "新しいパスワード",
371 "sidebar.settings" : "設定", 371 "settings.workspace.add.form.name": "氏名",
372 "sidebar.unmuteApp" : "通知とオーディオを有効化", 372 "settings.workspace.add.form.submitButton": "Create workspace",
373 "signup.email.label" : "メールアドレス", 373 "settings.workspace.form.buttonDelete": "Delete workspace",
374 "signup.emailDuplicate" : "このメールアドレスは既に登録されています", 374 "settings.workspace.form.buttonSave": "Save workspace",
375 "signup.firstname.label" : "名", 375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "signup.headline" : "アカウントの作成", 376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "signup.lastname.label" : "姓", 377 "settings.workspace.form.name": "氏名",
378 "signup.legal.info" : "Franzアカウントを作成することで、以下の規約に同意したものとみなします", 378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "signup.legal.privacy" : "プライバシーについて", 379 "settings.workspace.form.yourWorkspaces": "Your workspaces",
380 "signup.legal.terms" : "利用規約", 380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "signup.link.login" : "アカウントを既に持っていますか? こちらからサインイン", 381 "settings.workspaces.headline": "Your workspaces",
382 "signup.password.label" : "パスワード", 382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "signup.submit.label" : "アカウントの作成", 383 "settings.workspaces.tryReloadWorkspaces": "もう一度試す",
384 "subscription.bestValue" : "Best value", 384 "settings.workspaces.updatedInfo": "変更内容が保存されました",
385 "subscription.cta.activateTrial" : "Yes, start the free Franz Professional trial", 385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
386 "subscription.cta.allOptions" : "See all options", 386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "subscription.cta.choosePlan" : "Choose your plan", 387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "subscription.includedProFeatures" : "The Franz Professional Plan includes:", 388 "sidebar.addNewService": "サービスを追加",
389 "subscription.interval.per" : "per {interval}", 389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "subscription.interval.perMonth" : "per month", 390 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
391 "subscription.interval.perMonthPerUser" : "per month & user", 391 "sidebar.lockFerdi": "Lock Ferdi",
392 "subscription.planItem.upgradeAccount" : "Upgrade Account", 392 "sidebar.muteApp": "通知とオーディオを無効化",
393 "subscription.teaser.includedFeatures" : "Paid Franz Plans include:", 393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "subscription.teaser.intro" : "Franz 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!", 394 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
395 "subscriptionPopup.buttonCancel" : "キャンセル", 395 "sidebar.settings": "設定",
396 "subscriptionPopup.buttonDone" : "完了", 396 "sidebar.unmuteApp": "通知とオーディオを有効化",
397 "tabs.item.deleteService" : "サービスを削除する", 397 "signup.email.label": "メールアドレス",
398 "tabs.item.disableAudio" : "オーディオの無効化", 398 "signup.emailDuplicate": "このメールアドレスは既に登録されています",
399 "tabs.item.disableNotifications" : "通知を無効にする", 399 "signup.firstname.label": "名",
400 "tabs.item.disableService" : "サービスを無効にする", 400 "signup.headline": "アカウントの作成",
401 "tabs.item.edit" : "編集", 401 "signup.lastname.label": "姓",
402 "tabs.item.enableAudio" : "オーディオを有効にする", 402 "signup.legal.info": "Ferdiアカウントを作成することで、以下の規約に同意したものとみなします",
403 "tabs.item.enableNotification" : "通知を有効にする", 403 "signup.legal.privacy": "プライバシーについて",
404 "tabs.item.enableService" : "サービスを有効にする", 404 "signup.legal.terms": "利用規約",
405 "tabs.item.reload" : "再読み込み", 405 "signup.link.login": "アカウントを既に持っていますか? こちらからサインイン",
406 "validation.email" : "{field}は正しくありません", 406 "signup.password.label": "Password",
407 "validation.minLength" : "{field}は少なくとも{length}文字以上でなければなりません", 407 "signup.submit.label": "アカウントの作成",
408 "validation.oneRequired" : "少なくとも1つは必要です", 408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "validation.required" : "{field}は必須です", 409 "subscription.cta.allOptions": "See all options",
410 "validation.url" : "{field}は正しいURLではありません", 410 "subscription.cta.choosePlan": "Choose your plan",
411 "webControls.back" : "Back", 411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "webControls.forward" : "Forward", 412 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:",
413 "webControls.goHome" : "Home", 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!",
414 "webControls.openInBrowser" : "Open in Browser", 414 "subscriptionPopup.buttonCancel": "キャンセル",
415 "webControls.reload" : "再読み込み", 415 "subscriptionPopup.buttonDone": "完了",
416 "welcome.loginButton" : "アカウントにログイン", 416 "tabs.item.deleteService": "サービスの削除",
417 "welcome.signupButton" : "無料アカウントを作成", 417 "tabs.item.disableAudio": "オーディオの無効化",
418 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace", 418 "tabs.item.disableNotifications": "通知を無効にする",
419 "workspaceDrawer.allServices" : "すべてのサービス", 419 "tabs.item.disableService": "サービスを無効にする",
420 "workspaceDrawer.headline" : "Workspaces", 420 "tabs.item.edit": "編集",
421 "workspaceDrawer.item.contextMenuEdit" : "edit", 421 "tabs.item.enableAudio": "オーディオを有効にする",
422 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet", 422 "tabs.item.enableNotification": "通知を有効にする",
423 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace", 423 "tabs.item.enableService": "サービスを有効にする",
424 "workspaceDrawer.proFeatureBadge" : "Premium feature", 424 "tabs.item.reload": "再読み込み",
425 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account", 425 "validation.email": "{field}は正しくありません",
426 "workspaceDrawer.workspaceFeatureInfo" : "<p>Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.<\/p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.<\/p>", 426 "validation.minLength": "{field}は少なくとも{length}文字以上でなければなりません",
427 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings", 427 "validation.oneRequired": "少なくとも1つは必要です",
428 "workspaces.switchingIndicator.switchingTo" : "Switching to" 428 "validation.required": "{field}は必須です",
429 "validation.url": "{field}は正しいURLではありません",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "再読み込み",
435 "welcome.loginButton": "アカウントにログイン",
436 "welcome.signupButton": "無料アカウントを作成",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "すべてのサービス",
439 "workspaceDrawer.headline": "Workspaces",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
429} 448}
diff --git a/src/i18n/locales/ka.json b/src/i18n/locales/ka.json
index 7222deb06..0065b1b56 100644
--- a/src/i18n/locales/ka.json
+++ b/src/i18n/locales/ka.json
@@ -1,429 +1,448 @@
1{ 1{
2 "app.errorHandler.action" : "ჩატვირთვა", 2 "app.errorHandler.action": "ჩატვირთვა",
3 "app.errorHandler.headline" : "Something went wrong", 3 "app.errorHandler.headline": "Something went wrong",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}", 4 "feature.announcements.changelog.headline": "Changes in Ferdi {version}",
5 "feature.delayApp.headline" : "Upgrade your Franz plan to skip the wait", 5 "feature.delayApp.headline": "Please purchase a Ferdi Supporter License to skip waiting",
6 "feature.delayApp.text" : "Franz will continue in {seconds} seconds.", 6 "feature.delayApp.text": "Ferdi will continue in {seconds} seconds.",
7 "feature.delayApp.trial.action" : "Yes, I want the free 14 day trial of Franz Professional", 7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort" : "Activate the free Franz Professional trial", 8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
9 "feature.delayApp.trial.headline" : "Get the free Franz Professional 14-days trial and skip the wait", 9 "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line",
10 "feature.delayApp.upgrade.action" : "Upgrade Franz", 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", 12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.planSelection.cta.stayOnFree" : "Stay on Free", 13 "feature.quickSwitch.search": "Search...",
14 "feature.planSelection.cta.trial" : "Start my free 14-days Trial", 14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.planSelection.cta.upgradePersonal" : "Choose Personal", 15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.planSelection.cta.upgradePro" : "Choose Professional", 16 "feature.shareFranz.action.email": "Send as email",
17 "feature.planSelection.free.text" : "Basic functionality", 17 "feature.shareFranz.action.facebook": "Share on Facebook",
18 "feature.planSelection.fullFeatureList" : "Complete comparison of all plans", 18 "feature.shareFranz.action.twitter": "Share on Twitter",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 19 "feature.shareFranz.headline": "Ferdi is better together!",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade" : "Choose Personal", 20 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
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.", 21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.planSelection.fullscreen.dialog.title" : "Downgrade your Franz Plan", 22 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
23 "feature.planSelection.fullscreen.subheadline" : "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.", 23 "feature.todos.premium.info": "Ferdi Todos are available to premium users now!",
24 "feature.planSelection.fullscreen.welcome" : "Are you ready to choose, {name}?", 24 "feature.todos.premium.rollout": "Everyone else will have to wait a little longer.",
25 "feature.planSelection.personal.text" : "More services, no waiting - ideal for personal use.", 25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "feature.planSelection.pricesBasedOnAnnualPayment" : "All prices based on yearly payment", 26 "global.api.unhealthy": "Ferdi-ის ონლაინ სერვისთან დაკავშირება ვერ მოხერხდა",
27 "feature.planSelection.pro.text" : "Unlimited services and professional features for you - and your team.", 27 "global.franzProRequired": "Ferdi Professional Required",
28 "feature.serviceLimit.limitReached" : "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.", 28 "global.notConnectedToTheInternet": "თქვენ არ ხართ ინტერნეტთან დაკავშირებული.",
29 "feature.shareFranz.action.email" : "Send as email", 29 "global.spellchecker.useDefault": "Use System Default ({default})",
30 "feature.shareFranz.action.facebook" : "Share on Facebook", 30 "global.spellchecking.autodetect": "Detect language automatically",
31 "feature.shareFranz.action.twitter" : "Share on Twitter", 31 "global.spellchecking.autodetect.short": "Automatic",
32 "feature.shareFranz.headline" : "Franz is better together!", 32 "global.spellchecking.language": "Spell checking language",
33 "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", 33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "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 @FranzMessenger", 34 "import.headline": "შემოიტანე Ferdi 4-ის სერვისები",
35 "feature.shareFranz.text" : "Tell your friends and colleagues how awesome Franz is and help us to spread the word.", 35 "import.notSupportedHeadline": "სერვისები ჯერ არ არის მხარდაჭერილი Ferdi 5-ში",
36 "feature.todos.premium.info" : "Franz Todos are available to premium users now!", 36 "import.skip.label": "I want to add services manually",
37 "feature.todos.premium.rollout" : "Everyone else will have to wait a little longer.", 37 "import.submit.label": "მოწვევის გაგზავნა",
38 "feature.todos.premium.upgrade" : "Upgrade Account", 38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "feature.trialStatusBar.cta" : "Upgrade now", 39 "infobar.buttonChangelog": "What is new?",
40 "feature.trialStatusBar.expired" : "Your free Franz {plan} Trial has expired, please upgrade your account.", 40 "infobar.buttonInstallUpdate": "გადატვირთეთ და დააყენეთ განახლება",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 41 "infobar.buttonReloadServices": "სერვისების გადატვირთვა ",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade" : "Choose Personal", 42 "infobar.requiredRequestsFailed": "სერვისებისა და მომხმარებლის ინფორმაციის ჩატვირთვა ვერ მოხერხდა",
43 "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.", 43 "infobar.servicesUpdated": "თქვენი სერვისები განახლებულია.",
44 "feature.trialStatusBar.fullscreen.dialog.title" : "Downgrade your Franz Plan", 44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "feature.trialStatusBar.restTime" : "Your Free Franz {plan} Trial ends in {time}.", 45 "infobar.updateAvailable": "განახლება Ferdi-ისთვის ხელმისაწვდომია.",
46 "global.api.unhealthy" : "Franz-ის ონლაინ სერვისთან დაკავშირება ვერ მოხერხდა", 46 "invite.email.label": "მეილი",
47 "global.franzProRequired" : "Franz Professional Required", 47 "invite.headline.friends": "მოიწვიეთ 3 თქვენი მეგობარი ან კოლეგა",
48 "global.notConnectedToTheInternet" : "თქვენ არ ხართ ინტერნეტთან დაკავშირებული.", 48 "invite.name.label": "სახელი ",
49 "global.spellchecker.useDefault" : "Use System Default ({default})", 49 "invite.skip.label": "ამას მოგვიანებით გავაკეთებ",
50 "global.spellchecking.autodetect" : "Detect language automatically", 50 "invite.submit.label": "მოწვევის გაგზავნა",
51 "global.spellchecking.autodetect.short" : "Automatic", 51 "invite.successInfo": "Invitations sent successfully",
52 "global.spellchecking.language" : "Spell checking language", 52 "locked.headline": "Locked",
53 "global.upgradeButton.upgradeToPro" : "Upgrade to Franz Professional", 53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "import.headline" : "შემოიტანე Franz 4-ის სერვისები", 54 "locked.invalidCredentials": "Password invalid",
55 "import.notSupportedHeadline" : "სერვისები ჯერ არ არის მხარდაჭერილი Franz 5-ში", 55 "locked.password.label": "Password",
56 "import.skip.label" : "I want to add services manually", 56 "locked.submit.label": "Unlock",
57 "import.submit.label" : "მოწვევის გაგზავნა", 57 "login.changeServer": "Change server",
58 "infobar.buttonChangelog" : "What is new?", 58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "infobar.buttonInstallUpdate" : "გადატვირთეთ და დააყენეთ განახლება", 59 "login.customServerSuggestion": "Try importing your Franz account",
60 "infobar.buttonReloadServices" : "სერვისების გადატვირთვა ", 60 "login.email.label": "მეილი",
61 "infobar.requiredRequestsFailed" : "სერვისებისა და მომხმარებლის ინფორმაციის ჩატვირთვა ვერ მოხერხდა", 61 "login.headline": "შესვლა",
62 "infobar.servicesUpdated" : "თქვენი სერვისები განახლებულია.", 62 "login.invalidCredentials": "მეილი ან პაროლი არასწორია",
63 "infobar.trialActivated" : "Your trial was successfully activated. Happy messaging!", 63 "login.link.password": "პაროლის აღდგენა",
64 "infobar.updateAvailable" : "განახლება Franz-ისთვის ხელმისაწვდომია.", 64 "login.link.signup": "ანგარიშის შექმნა",
65 "invite.email.label" : "მეილი", 65 "login.password.label": "Password",
66 "invite.headline.friends" : "მოიწვიეთ 3 თქვენი მეგობარი ან კოლეგა", 66 "login.serverLogout": "თქვენს სესიას ვადა გაუვიდა, შედით ანგარიშში ხელახლა.",
67 "invite.name.label" : "სახელი ", 67 "login.submit.label": "შესვლა",
68 "invite.skip.label" : "ამას მოგვიანებით გავაკეთებ", 68 "login.tokenExpired": "თქვენს სესიას ვადა გაუვიდა, შედით ანგარიშში ხელახლა.",
69 "invite.submit.label" : "მოწვევის გაგზავნა", 69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "invite.successInfo" : "Invitations sent successfully", 70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "login.email.label" : "მეილი", 71 "menu.app.about": "Ferdi-ის შესახებ",
72 "login.headline" : "შესვლა", 72 "menu.app.announcement": "What's new?",
73 "login.invalidCredentials" : "მეილი ან პაროლი არასწორია", 73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "login.link.password" : "პაროლის აღდგენა", 74 "menu.app.checkForUpdates": "განახლებების შემოწმება",
75 "login.link.signup" : "ანგარიშის შექმნა", 75 "menu.app.hide": "Hide",
76 "login.password.label" : "პაროლი ", 76 "menu.app.hideOthers": "სხვების დამალვა",
77 "login.serverLogout" : "თქვენს სესიას ვადა გაუვიდა, შედით ანგარიშში ხელახლა.", 77 "menu.app.quit": "გამოსვლა",
78 "login.submit.label" : "შესვლა", 78 "menu.app.settings": "პარამეტრები",
79 "login.tokenExpired" : "თქვენს სესიას ვადა გაუვიდა, შედით ანგარიშში ხელახლა.", 79 "menu.app.unhide": "Unhide",
80 "menu.Todoss.closeTodosDrawer" : "Close Todos drawer", 80 "menu.edit": "რედაქტირება",
81 "menu.Todoss.openTodosDrawer" : "Open Todos drawer", 81 "menu.edit.copy": "კოპირება",
82 "menu.app.about" : "Franz-ის შესახებ", 82 "menu.edit.cut": "ამოჭრა",
83 "menu.app.announcement" : "What's new?", 83 "menu.edit.delete": "წაშლა",
84 "menu.app.checkForUpdates" : "განახლებების შემოწმება", 84 "menu.edit.emojiSymbols": "გრაფიკული გამოსახულებები & სიმბოლოები",
85 "menu.app.hide" : "Hide", 85 "menu.edit.paste": "ჩასმა",
86 "menu.app.hideOthers" : "სხვების დამალვა", 86 "menu.edit.pasteAndMatchStyle": "Paste And Match Style",
87 "menu.app.quit" : "გამოსვლა", 87 "menu.edit.redo": "აღდგენა",
88 "menu.app.settings" : "პარამეტრები", 88 "menu.edit.selectAll": "ყველას მონიშვნა",
89 "menu.app.unhide" : "Unhide", 89 "menu.edit.speech": "საუბრები",
90 "menu.edit" : "რედაქტირება", 90 "menu.edit.startDictation": "პროგრამის დაწყება",
91 "menu.edit.copy" : "კოპირება", 91 "menu.edit.startSpeaking": "Start Speaking",
92 "menu.edit.cut" : "ამოჭრა", 92 "menu.edit.stopSpeaking": "Stop Speaking",
93 "menu.edit.delete" : "წაშლა", 93 "menu.edit.undo": "Undo",
94 "menu.edit.emojiSymbols" : "გრაფიკული გამოსახულებები & სიმბოლოები", 94 "menu.file": "File",
95 "menu.edit.paste" : "ჩასმა", 95 "menu.help": "Help",
96 "menu.edit.pasteAndMatchStyle" : "Paste And Match Style", 96 "menu.help.changelog": "Changelog",
97 "menu.edit.redo" : "აღდგენა", 97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.edit.selectAll" : "ყველას მონიშვნა", 98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.edit.speech" : "საუბრები", 99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.edit.startDictation" : "პროგრამის დაწყება", 100 "menu.help.learnMore": "Learn More",
101 "menu.edit.startSpeaking" : "Start Speaking", 101 "menu.help.privacy": "კონფიდენციალურობის შესახებ",
102 "menu.edit.stopSpeaking" : "Stop Speaking", 102 "menu.help.support": "Support",
103 "menu.edit.undo" : "Undo", 103 "menu.help.tos": "Terms of Service",
104 "menu.file" : "File", 104 "menu.services": "Services",
105 "menu.help" : "Help", 105 "menu.services.activatePreviousService": "Activate previous service",
106 "menu.help.changelog" : "Changelog", 106 "menu.services.addNewService": "Add New Service...",
107 "menu.help.debugInfo" : "Copy Debug Information", 107 "menu.services.goHome": "Home",
108 "menu.help.debugInfoCopiedBody" : "Your Debug Information has been copied to your clipboard.", 108 "menu.services.setNextServiceActive": "Activate next service",
109 "menu.help.debugInfoCopiedHeadline" : "Franz Debug Information", 109 "menu.todos": "Todos",
110 "menu.help.learnMore" : "Learn More", 110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.help.privacy" : "კონფიდენციალურობის შესახებ", 111 "menu.view": "View",
112 "menu.help.support" : "Support", 112 "menu.view.back": "Back",
113 "menu.help.tos" : "Terms of Service", 113 "menu.view.enterFullScreen": "Enter Full Screen",
114 "menu.services" : "Services", 114 "menu.view.exitFullScreen": "Exit Full Screen",
115 "menu.services.activatePreviousService" : "Activate previous service", 115 "menu.view.forward": "Forward",
116 "menu.services.addNewService" : "Add New Service...", 116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.services.goHome" : "Home", 117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.services.setNextServiceActive" : "Activate next service", 118 "menu.view.reloadFranz": "Reload Ferdi",
119 "menu.todos" : "Todos", 119 "menu.view.reloadService": "Reload Service",
120 "menu.todos.enableTodos" : "Enable Todos", 120 "menu.view.resetZoom": "Actual Size",
121 "menu.view" : "View", 121 "menu.view.toggleDevTools": "Toggle Developer Tools",
122 "menu.view.enterFullScreen" : "Enter Full Screen", 122 "menu.view.toggleFullScreen": "Toggle Full Screen",
123 "menu.view.exitFullScreen" : "Exit Full Screen", 123 "menu.view.toggleServiceDevTools": "Toggle Service Developer Tools",
124 "menu.view.reloadFranz" : "Reload Franz", 124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.reloadService" : "Reload Service", 125 "menu.view.zoomIn": "Zoom In",
126 "menu.view.resetZoom" : "Actual Size", 126 "menu.view.zoomOut": "Zoom Out",
127 "menu.view.toggleDevTools" : "Toggle Developer Tools", 127 "menu.window": "Window",
128 "menu.view.toggleFullScreen" : "Toggle Full Screen", 128 "menu.window.close": "Close",
129 "menu.view.toggleServiceDevTools" : "Toggle Service Developer Tools", 129 "menu.window.minimize": "Minimize",
130 "menu.view.toggleTodosDevTools" : "Toggle Todos Developer Tools", 130 "menu.workspaces": "Workspaces",
131 "menu.view.zoomIn" : "Zoom In", 131 "menu.workspaces.addNewWorkspace": "Add New Workspace...",
132 "menu.view.zoomOut" : "Zoom Out", 132 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
133 "menu.window" : "Window", 133 "menu.workspaces.defaultWorkspace": "ყველა სერვისი",
134 "menu.window.close" : "Close", 134 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
135 "menu.window.minimize" : "Minimize", 135 "password.email.label": "მეილი",
136 "menu.workspaces" : "Workspaces", 136 "password.headline": "პაროლის აღდგენა",
137 "menu.workspaces.addNewWorkspace" : "Add New Workspace...", 137 "password.link.login": "შედით თქვენს ანგარიშში",
138 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer", 138 "password.link.signup": "ანგარიშის შექმნა",
139 "menu.workspaces.defaultWorkspace" : "ყველა სერვისი", 139 "password.noUser": "მომხმარებელი მითითებული მეილით ვერ მოიძებნა",
140 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer", 140 "password.submit.label": "დადასტურება",
141 "password.email.label" : "მეილი", 141 "password.successInfo": "გთხოვთ შეამოწმეთ მეილი",
142 "password.headline" : "პაროლის აღდგენა", 142 "premiumFeature.button.upgradeAccount": "Upgrade account",
143 "password.link.login" : "შედით თქვენს ანგარიშში", 143 "pricing.features.adFree": "Forever ad-free",
144 "password.link.signup" : "ანგარიშის შექმნა", 144 "pricing.features.appDelays": "No Waiting Screens",
145 "password.noUser" : "მომხმარებელი მითითებული მეილით ვერ მოიძებნა", 145 "pricing.features.customWebsites": "Add Custom Websites",
146 "password.submit.label" : "დადასტურება", 146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "password.successInfo" : "გთხოვთ შეამოწმეთ მეილი", 147 "pricing.features.serviceProxies": "Service Proxies",
148 "premiumFeature.button.upgradeAccount" : "Upgrade account", 148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.accountSync" : "Account Synchronisation", 149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.adFree" : "Forever ad-free", 150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.appDelays" : "No Waiting Screens", 151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.customWebsites" : "Add Custom Websites", 152 "pricing.features.workspaces": "Workspaces",
153 "pricing.features.desktopNotifications" : "Desktop Notifications", 153 "pricing.plan.free": "Ferdi Free",
154 "pricing.features.onPremise" : "On-premise & other Hosted Services", 154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.features.recipes" : "Choose from more than 70 Services", 155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.features.serviceProxies" : "Service Proxies", 156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.features.spellchecker" : "Spellchecker support", 157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.features.teamManagement" : "Team Management", 158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.features.thirdPartyServices" : "Install 3rd party services", 159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.features.unlimitedServices" : "Add unlimited services", 160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.features.upToSixServices" : "Add up to 6 services", 161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.features.upToThreeServices" : "Add up to 3 services", 162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.features.workspaces" : "Workspaces", 163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.plan.free" : "Free", 164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.plan.legacy" : "Premium", 165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.plan.personal" : "Personal", 166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.plan.personal-monthly" : "Personal Monthly", 167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.plan.personal-yearly" : "Personal Yearly", 168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.plan.pro" : "Professional", 169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "pricing.plan.pro-monthly" : "Professional Monthly", 170 "service.crashHandler.action": "Reload {name}",
171 "pricing.plan.pro-yearly" : "Professional Yearly", 171 "service.crashHandler.autoReload": "Trying to automatically restore {name} in {seconds} seconds",
172 "pricing.trial.cta.accept" : "Start my 14-day Franz Professional Trial ", 172 "service.crashHandler.headline": "Oh no!",
173 "pricing.trial.cta.skip" : "Continue to Franz", 173 "service.crashHandler.text": "{name} has caused an error.",
174 "pricing.trial.cta.start" : "Start using Franz", 174 "service.disabledHandler.action": "Enable {name}",
175 "pricing.trial.error" : "Sorry, we could not activate your trial!", 175 "service.disabledHandler.headline": "{name} is disabled",
176 "pricing.trial.features.headline" : "Franz Professional includes:", 176 "service.errorHandler.action": "Reload {name}",
177 "pricing.trial.headline.pro" : "Hi {name}, welcome to Franz", 177 "service.errorHandler.editAction": "შეასწორე {name}",
178 "pricing.trial.intro.happyMessaging" : "Happy messaging,", 178 "service.errorHandler.headline": "Oh no!",
179 "pricing.trial.intro.specialTreat" : "We have a special treat for you.", 179 "service.errorHandler.message": "შეცდომა",
180 "pricing.trial.intro.tryPro" : "Enjoy the full Franz Professional experience completely free for 14 days.", 180 "service.errorHandler.text": "{name} has failed to load.",
181 "pricing.trial.terms.automaticTrialEnd" : "Your free trial ends automatically after 14 days", 181 "service.restrictedHandler.action": "Upgrade Account",
182 "pricing.trial.terms.headline" : "No strings attached", 182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "pricing.trial.terms.noCreditCard" : "No credit card required", 183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "pricing.trial.terms.trialWorth" : "Free trial (normally {currency}{price} per month)", 184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.crashHandler.action" : "Reload {name}", 185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.crashHandler.autoReload" : "Trying to automatically restore {name} in {seconds} seconds", 186 "service.webviewLoader.loading": "Loading",
187 "service.crashHandler.headline" : "Oh no!", 187 "services.getStarted": "დაწყება",
188 "service.crashHandler.text" : "{name} has caused an error.", 188 "services.login": "Please login to use Ferdi.",
189 "service.disabledHandler.action" : "Enable {name}", 189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "service.disabledHandler.headline" : "{name} is disabled", 190 "services.serverless": "Use Ferdi without an Account",
191 "service.errorHandler.action" : "Reload {name}", 191 "services.welcome": "მოგესალმებით Ferdi-ზე",
192 "service.errorHandler.editAction" : "შეასწორე {name}", 192 "settings.account.account.editButton": "ანგარიშის მართვა",
193 "service.errorHandler.headline" : "Oh no!", 193 "settings.account.accountType.basic": "ძირითადი ანგარიში",
194 "service.errorHandler.message" : "შეცდომა", 194 "settings.account.accountType.premium": "პრემიუმ მხარდამჭერის ანგარიში",
195 "service.errorHandler.text" : "{name} has failed to load.", 195 "settings.account.buttonSave": "პროფილის განახლება",
196 "service.restrictedHandler.action" : "Upgrade Account", 196 "settings.account.deleteAccount": "Delete account",
197 "service.restrictedHandler.customUrl.headline" : "Franz Professional Plan required", 197 "settings.account.deleteEmailSent": "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!",
198 "service.restrictedHandler.customUrl.text" : "Please upgrade to the Franz Professional plan to use custom urls & self hosted services.", 198 "settings.account.deleteInfo": "If you don't need your Ferdi account any longer, you can delete your account and all related data here.",
199 "service.restrictedHandler.serviceLimit.headline" : "You have reached your service limit.", 199 "settings.account.headline": "ანგარიში",
200 "service.restrictedHandler.serviceLimit.text" : "Please upgrade your account to use more than {count} services.", 200 "settings.account.headlineAccount": "ანგარიშის ინფორმაცია",
201 "service.webviewLoader.loading" : "Loading", 201 "settings.account.headlineDangerZone": "Danger Zone",
202 "services.getStarted" : "დაწყება", 202 "settings.account.headlineInvoices": "ინვოისები",
203 "services.welcome" : "მოგესალმებით Franz-ზე", 203 "settings.account.headlinePassword": "პაროლის შეცვლა",
204 "settings.account.account.editButton" : "ანგარიშის მართვა", 204 "settings.account.headlineProfile": "პროფილის განახლება",
205 "settings.account.accountType.basic" : "ძირითადი ანგარიში", 205 "settings.account.headlineSubscription": "თქვენი გამოწერა",
206 "settings.account.accountType.premium" : "პრემიუმ მხარდამჭერის ანგარიში", 206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.buttonSave" : "პროფილის განახლება", 207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.deleteAccount" : "Delete account", 208 "settings.account.invoiceDownload": "გადმოწერა",
209 "settings.account.deleteEmailSent" : "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!", 209 "settings.account.manageSubscription.label": "თქვენი გამოწერის მართვა",
210 "settings.account.deleteInfo" : "If you don't need your Franz account any longer, you can delete your account and all related data here.", 210 "settings.account.successInfo": "თქვენი ცვლილებები შენახულია",
211 "settings.account.headline" : "ანგარიში", 211 "settings.account.trial": "Free Trial",
212 "settings.account.headlineAccount" : "ანგარიშის ინფორმაცია", 212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.headlineDangerZone" : "Danger Zone", 213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.headlineInvoices" : "ინვოისები", 214 "settings.account.tryReloadServices": "სცადეთ ხელახლა",
215 "settings.account.headlinePassword" : "პაროლის შეცვლა", 215 "settings.account.tryReloadUserInfoRequest": "სცადეთ ხელახლა",
216 "settings.account.headlineProfile" : "პროფილის განახლება", 216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.headlineSubscription" : "თქვენი გამოწერა", 217 "settings.account.userInfoRequestFailed": "მომხმარებლის ინფორმაციის ჩატვირთვა ვერ მოხერხდა",
218 "settings.account.headlineTrialUpgrade" : "Get the free 14 day Franz Professional Trial", 218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.account.headlineUpgradeAccount" : "Upgrade your account & get the full Franz experience", 219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.account.invoiceDownload" : "გადმოწერა", 220 "settings.app.buttonClearAllCache": "Clear cache",
221 "settings.account.manageSubscription.label" : "თქვენი გამოწერის მართვა", 221 "settings.app.buttonInstallUpdate": "გადატვირთეთ და დააყენეთ განახლება",
222 "settings.account.successInfo" : "თქვენი ცვლილებები შენახულია", 222 "settings.app.buttonSearchForUpdate": "განახლებების შემოწმება",
223 "settings.account.trial" : "Free Trial", 223 "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.",
224 "settings.account.trialEndsIn" : "Your free trial ends in {duration}.", 224 "settings.app.currentVersion": "ამჟამინდელი ვერსია:",
225 "settings.account.trialUpdateBillingInfo" : "Please update your billing info to continue using {license} after your trial period.", 225 "settings.app.form.accentColor": "Accent color",
226 "settings.account.tryReloadServices" : "სცადეთ ხელახლა", 226 "settings.app.form.autoLaunchInBackground": "გახსენით ფონზე",
227 "settings.account.tryReloadUserInfoRequest" : "სცადეთ ხელახლა", 227 "settings.app.form.autoLaunchOnStart": "გაეშვას Ferdi სისტემის ჩატვირთვისას",
228 "settings.account.upgradeToPro.label" : "Upgrade to Franz Professional", 228 "settings.app.form.beta": "ჩართეთ ბეტა ვერსიები",
229 "settings.account.userInfoRequestFailed" : "მომხმარებლის ინფორმაციის ჩატვირთვა ვერ მოხერხდა", 229 "settings.app.form.darkMode": "Join the Dark Side",
230 "settings.account.yourLicense" : "Your Franz License", 230 "settings.app.form.enableGPUAcceleration": "Enable GPU Acceleration",
231 "settings.app.buttonClearAllCache" : "Clear cache", 231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.buttonInstallUpdate" : "გადატვირთეთ და დააყენეთ განახლება", 232 "settings.app.form.enableSpellchecking": "Enable spell checking",
233 "settings.app.buttonSearchForUpdate" : "განახლებების შემოწმება", 233 "settings.app.form.enableSystemTray": "აჩვენეთ Ferdi სისტემის უჯრაში",
234 "settings.app.cacheInfo" : "Franz cache is currently using {size} of disk space.", 234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.currentVersion" : "ამჟამინდელი ვერსია:", 235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.autoLaunchInBackground" : "გახსენით ფონზე", 236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.autoLaunchOnStart" : "გაეშვას Franz სისტემის ჩატვირთვისას", 237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.beta" : "ჩართეთ ბეტა ვერსიები", 238 "settings.app.form.language": "ენა",
239 "settings.app.form.darkMode" : "Join the Dark Side", 239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.enableGPUAcceleration" : "Enable GPU Acceleration", 240 "settings.app.form.minimizeToSystemTray": "ჩაკეცეთ Ferdi სისტემის უჯრაში",
241 "settings.app.form.enableSpellchecking" : "Enable spell checking", 241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.enableSystemTray" : "აჩვენეთ Franz სისტემის უჯრაში", 242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.enableTodos" : "Enable Franz Todos", 243 "settings.app.form.runInBackground": "დატოვეთ Ferdi გაშვებული როდესაც ფანჯარა დაიხურება",
244 "settings.app.form.keepAllWorkspacesLoaded" : "Keep all workspaces loaded", 244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.language" : "ენა", 245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.minimizeToSystemTray" : "ჩაკეცეთ Franz სისტემის უჯრაში", 246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.runInBackground" : "დატოვეთ Franz გაშვებული როდესაც ფანჯარა დაიხურება", 247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices" : "Display disabled services tabs", 248 "settings.app.form.showDisabledServices": "Display disabled services tabs",
249 "settings.app.form.showMessagesBadgesWhenMuted" : "Show unread message badge when notifications are disabled", 249 "settings.app.form.showMessagesBadgesWhenMuted": "Show unread message badge when notifications are disabled",
250 "settings.app.headline" : "პარამეტრები", 250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.headlineAdvanced" : "Advanced", 251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.headlineAppearance" : "Appearance", 252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headlineGeneral" : "მთავარი", 253 "settings.app.headline": "პარამეტრები",
254 "settings.app.headlineLanguage" : "ენა", 254 "settings.app.headlineAdvanced": "Advanced",
255 "settings.app.headlineUpdates" : "განახლებები", 255 "settings.app.headlineAppearance": "Appearance",
256 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.", 256 "settings.app.headlineGeneral": "მთავარი",
257 "settings.app.restartRequired" : "Changes require restart", 257 "settings.app.headlineLanguage": "ენა",
258 "settings.app.subheadlineCache" : "Cache", 258 "settings.app.headlineUpdates": "განახლებები",
259 "settings.app.translationHelp" : "Help us to translate Franz into your language.", 259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.updateStatusAvailable" : "განახლება ხელმისაწვდომია, იწყება გადმოწერა...", 260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.updateStatusSearching" : "მიმდინარეობს განახლების ძიება", 261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.updateStatusUpToDate" : "თქვენ იყენებთ Franz-ის უახლეს ვერსიას", 262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.invite.headline" : "Invite Friends", 263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.navigation.account" : "ანგარიში", 264 "settings.app.restartRequired": "Changes require restart",
265 "settings.navigation.availableServices" : "ხელმისაწვდომი სერვისები", 265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.navigation.inviteFriends" : "Invite Friends", 266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.navigation.logout" : "გასვლა", 267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.navigation.settings" : "პარამეტრები", 268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.navigation.team" : "Manage Team", 269 "settings.app.subheadlineCache": "Cache",
270 "settings.navigation.yourServices" : "თქვენი სერვისები", 270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.navigation.yourWorkspaces" : "Your workspaces", 271 "settings.app.translationHelp": "Help us to translate Ferdi into your language.",
272 "settings.recipes.all" : "ყველა სერვისი", 272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.recipes.custom" : "Custom Services", 273 "settings.app.updateStatusAvailable": "განახლება ხელმისაწვდომია, იწყება გადმოწერა...",
274 "settings.recipes.customService.headline.communityRecipes" : "Community 3rd Party Recipes", 274 "settings.app.updateStatusSearching": "მიმდინარეობს განახლების ძიება",
275 "settings.recipes.customService.headline.customRecipes" : "Custom 3rd Party Recipes", 275 "settings.app.updateStatusUpToDate": "თქვენ იყენებთ Ferdi-ის უახლეს ვერსიას",
276 "settings.recipes.customService.headline.devRecipes" : "Your Development Service Recipes", 276 "settings.invite.headline": "Invite Friends",
277 "settings.recipes.customService.intro" : "To add a custom service, copy the service recipe to:", 277 "settings.navigation.account": "ანგარიში",
278 "settings.recipes.customService.openDevDocs" : "Developer Documentation", 278 "settings.navigation.availableServices": "ხელმისაწვდომი სერვისები",
279 "settings.recipes.customService.openFolder" : "Open folder", 279 "settings.navigation.logout": "გასვლა",
280 "settings.recipes.headline" : "ხელმისაწვდომი სერვისები", 280 "settings.navigation.settings": "პარამეტრები",
281 "settings.recipes.missingService" : "Missing a service?", 281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.recipes.mostPopular" : "ყველაზე პოპულარული", 282 "settings.navigation.team": "Manage Team",
283 "settings.recipes.nothingFound" : "უკაცრავად, მაგრამ არცერთი სერვისი არ შეესაბამება თქვენს ძიებას.", 283 "settings.navigation.yourServices": "თქვენი სერვისები",
284 "settings.recipes.servicesSuccessfulAddedInfo" : "სერვისი წარმატებით დაემატა", 284 "settings.navigation.yourWorkspaces": "Your workspaces",
285 "settings.searchService" : "Search service", 285 "settings.recipes.all": "ყველა სერვისი",
286 "settings.service.error.goBack" : "სერვისებში დაბრუნება", 286 "settings.recipes.custom": "Custom Services",
287 "settings.service.error.headline" : "შეცდომა", 287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.service.error.message" : "სერვისის ჩატვირთვა ვერ მოხერხდა.", 288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.service.form.addServiceHeadline" : "დაამატე {name}", 289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.service.form.availableServices" : "ხელმისაწვდომი სერვისები", 290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.service.form.customUrl" : "კერძო სერვერი", 291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.service.form.customUrlPremiumInfo" : "თვით დაჰოსტილი სერვისების დასამატებლად საჭიროა Franz-ის პრემიუმ მხარდამჭერის ანგარიში.", 292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.service.form.customUrlUpgradeAccount" : "განაახლეთ თქვენი ანგარიში", 293 "settings.recipes.headline": "ხელმისაწვდომი სერვისები",
294 "settings.service.form.customUrlValidationError" : "ვერ დადასტურდა {name} კერძო სერვერი.", 294 "settings.recipes.missingService": "Missing a service?",
295 "settings.service.form.deleteButton" : "სერვისის წაშლა", 295 "settings.recipes.mostPopular": "ყველაზე პოპულარული",
296 "settings.service.form.editServiceHeadline" : "შეასწორე {name}", 296 "settings.recipes.nothingFound": "უკაცრავად, მაგრამ არცერთი სერვისი არ შეესაბამება თქვენს ძიებას.",
297 "settings.service.form.enableAudio" : "Enable audio", 297 "settings.recipes.servicesSuccessfulAddedInfo": "სერვისი წარმატებით დაემატა",
298 "settings.service.form.enableBadge" : "Show unread message badges", 298 "settings.searchService": "Search service",
299 "settings.service.form.enableDarkMode" : "Enable Dark Mode", 299 "settings.service.error.goBack": "სერვისებში დაბრუნება",
300 "settings.service.form.enableNotification" : "შეტყობინებების ჩართვა", 300 "settings.service.error.headline": "შეცდომა",
301 "settings.service.form.enableService" : "სერვისის ჩართვა", 301 "settings.service.error.message": "სერვისის ჩატვირთვა ვერ მოხერხდა.",
302 "settings.service.form.headlineBadges" : "Unread message badges", 302 "settings.service.form.addServiceHeadline": "დაამატე {name}",
303 "settings.service.form.headlineGeneral" : "მთავარი", 303 "settings.service.form.availableServices": "ხელმისაწვდომი სერვისები",
304 "settings.service.form.headlineNotifications" : "Notifications", 304 "settings.service.form.customUrl": "კერძო სერვერი",
305 "settings.service.form.icon" : "Custom icon", 305 "settings.service.form.customUrlPremiumInfo": "თვით დაჰოსტილი სერვისების დასამატებლად საჭიროა Ferdi-ის პრემიუმ მხარდამჭერის ანგარიში.",
306 "settings.service.form.iconDelete" : "წაშლა", 306 "settings.service.form.customUrlUpgradeAccount": "განაახლეთ თქვენი ანგარიში",
307 "settings.service.form.iconUpload" : "Drop your image, or click here", 307 "settings.service.form.customUrlValidationError": "ვერ დადასტურდა {name} კერძო სერვერი.",
308 "settings.service.form.indirectMessageInfo" : "თქვენ მიიღებთ შეტყობინებას ყოველი ახალი შეტყობინებისას არხზე, არამარტო @username, @channel, @here, ...", 308 "settings.service.form.deleteButton": "სერვისის წაშლა",
309 "settings.service.form.indirectMessages" : "აჩვენე შეტყობინებების ნიშანი ყოველი ახალი შეტყობინებისთვის", 309 "settings.service.form.editServiceHeadline": "შეასწორე {name}",
310 "settings.service.form.isMutedInfo" : "When disabled, all notification sounds and audio playback are muted", 310 "settings.service.form.enableAudio": "Enable audio",
311 "settings.service.form.name" : "სახელი", 311 "settings.service.form.enableBadge": "Show unread message badges",
312 "settings.service.form.proxy.headline" : "HTTP\/HTTPS Proxy Settings", 312 "settings.service.form.enableDarkMode": "Enable Dark Mode",
313 "settings.service.form.proxy.host" : "Proxy Host\/IP", 313 "settings.service.form.enableNotification": "შეტყობინებების ჩართვა",
314 "settings.service.form.proxy.info" : "Proxy settings will not synced with the Franz servers.", 314 "settings.service.form.enableService": "სერვისის ჩართვა",
315 "settings.service.form.proxy.isEnabled" : "Use Proxy", 315 "settings.service.form.headlineBadges": "Unread message badges",
316 "settings.service.form.proxy.password" : "Password (optional)", 316 "settings.service.form.headlineGeneral": "მთავარი",
317 "settings.service.form.proxy.port" : "Port", 317 "settings.service.form.headlineNotifications": "Notifications",
318 "settings.service.form.proxy.restartInfo" : "Please restart Franz after changing proxy Settings.", 318 "settings.service.form.icon": "Custom icon",
319 "settings.service.form.proxy.user" : "User (optional)", 319 "settings.service.form.iconDelete": "წაშლა",
320 "settings.service.form.saveButton" : "სერვისის შენახვა", 320 "settings.service.form.iconUpload": "Drop your image, or click here",
321 "settings.service.form.tabHosted" : "დაჰოსტილი", 321 "settings.service.form.indirectMessageInfo": "თქვენ მიიღებთ შეტყობინებას ყოველი ახალი შეტყობინებისას არხზე, არამარტო @username, @channel, @here, ...",
322 "settings.service.form.tabOnPremise" : "თვით დაჰოსტილი ⭐️", 322 "settings.service.form.indirectMessages": "აჩვენე შეტყობინებების ნიშანი ყოველი ახალი შეტყობინებისთვის",
323 "settings.service.form.team" : "გუნდი", 323 "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted",
324 "settings.service.form.useHostedService" : "Use the hosted {name} service.", 324 "settings.service.form.name": "სახელი ",
325 "settings.service.form.yourServices" : "თქვენი სერვისები", 325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.services.deletedInfo" : "სერვისი წაიშალა", 326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings",
327 "settings.services.discoverServices" : "აღმოაჩინეთ სერვისები", 327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.services.headline" : "თქვენი სერვისები", 328 "settings.service.form.proxy.info": "Proxy settings will not synced with the Ferdi servers.",
329 "settings.services.noServicesAdded" : "თქვენ ჯერ არ გაქვთ სერვისები დამატებული.", 329 "settings.service.form.proxy.isEnabled": "Use Proxy",
330 "settings.services.servicesRequestFailed" : "Could not load your services", 330 "settings.service.form.proxy.password": "Password (optional)",
331 "settings.services.tooltip.isDisabled" : "სერვისი გათიშულია", 331 "settings.service.form.proxy.port": "Port",
332 "settings.services.tooltip.isMuted" : "All sounds are muted", 332 "settings.service.form.proxy.restartInfo": "Please restart Ferdi after changing proxy Settings.",
333 "settings.services.tooltip.notificationsDisabled" : "შეტყობინებები გათიშულია", 333 "settings.service.form.proxy.user": "User (optional)",
334 "settings.services.updatedInfo" : "ცვლილებები შენახულია", 334 "settings.service.form.saveButton": "სერვისის შენახვა",
335 "settings.team.contentHeadline" : "Franz for Teams", 335 "settings.service.form.tabHosted": "დაჰოსტილი",
336 "settings.team.copy" : "Franz for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!", 336 "settings.service.form.tabOnPremise": "თვით დაჰოსტილი ⭐️",
337 "settings.team.headline" : "გუნდი", 337 "settings.service.form.team": "გუნდი",
338 "settings.team.intro" : "You and your team use Franz? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.", 338 "settings.service.form.useHostedService": "Use the hosted {name} service.",
339 "settings.team.manageAction" : "Manage your Team on meetfranz.com", 339 "settings.service.form.yourServices": "თქვენი სერვისები",
340 "settings.team.upgradeAction" : "Upgrade your Account", 340 "settings.services.deletedInfo": "სერვისი წაიშალა",
341 "settings.user.form.accountType.company" : "კომპანია", 341 "settings.services.discoverServices": "აღმოაჩინეთ სერვისები",
342 "settings.user.form.accountType.individual" : "ინდივიდუალური", 342 "settings.services.headline": "თქვენი სერვისები",
343 "settings.user.form.accountType.label" : "ანგარიშის ტიპი", 343 "settings.services.noServicesAdded": "თქვენ ჯერ არ გაქვთ სერვისები დამატებული.",
344 "settings.user.form.accountType.non-profit" : "არაკომერციული", 344 "settings.services.servicesRequestFailed": "Could not load your services",
345 "settings.user.form.currentPassword" : "ამჟამინდელი პაროლი", 345 "settings.services.tooltip.isDisabled": "სერვისი გათიშულია",
346 "settings.user.form.email" : "მეილი", 346 "settings.services.tooltip.isMuted": "All sounds are muted",
347 "settings.user.form.firstname" : "First Name", 347 "settings.services.tooltip.notificationsDisabled": "შეტყობინებები გათიშულია",
348 "settings.user.form.lastname" : "Last Name", 348 "settings.services.updatedInfo": "თქვენი ცვლილებები შენახულია",
349 "settings.user.form.newPassword" : "ახალი პაროლი", 349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.workspace.add.form.name" : "Name", 350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.workspace.add.form.submitButton" : "Create workspace", 351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.workspace.form.buttonDelete" : "Delete workspace", 352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.workspace.form.buttonSave" : "Save workspace", 353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.workspace.form.name" : "Name", 354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace", 355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.workspace.form.yourWorkspaces" : "Your workspaces", 356 "settings.team.headline": "გუნდი",
357 "settings.workspaces.deletedInfo" : "Workspace has been deleted", 357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.workspaces.headline" : "Your workspaces", 358 "settings.team.manageAction": "Manage your Team on getferdi.com",
359 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.", 359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.workspaces.tryReloadWorkspaces" : "სცადეთ ხელახლა", 360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.workspaces.updatedInfo" : "Your changes have been saved", 361 "settings.team.upgradeAction": "Upgrade your Account",
362 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces", 362 "settings.user.form.accountType.company": "კომპანია",
363 "settings.workspaces.workspaceFeatureInfo" : "Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.", 363 "settings.user.form.accountType.individual": "ინდივიდუალური",
364 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces", 364 "settings.user.form.accountType.label": "ანგარიშის ტიპი",
365 "sidebar.addNewService" : "Add new service", 365 "settings.user.form.accountType.non-profit": "არაკომერციული",
366 "sidebar.closeTodosDrawer" : "Close Franz Todos", 366 "settings.user.form.currentPassword": "ამჟამინდელი პაროლი",
367 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer", 367 "settings.user.form.email": "მეილი",
368 "sidebar.muteApp" : "Disable notifications & audio", 368 "settings.user.form.firstname": "First Name",
369 "sidebar.openTodosDrawer" : "Open Franz Todos", 369 "settings.user.form.lastname": "Last Name",
370 "sidebar.openWorkspaceDrawer" : "Open workspace drawer", 370 "settings.user.form.newPassword": "ახალი პაროლი",
371 "sidebar.settings" : "პარამეტრები", 371 "settings.workspace.add.form.name": "სახელი ",
372 "sidebar.unmuteApp" : "Enable notifications & audio", 372 "settings.workspace.add.form.submitButton": "Create workspace",
373 "signup.email.label" : "მეილი", 373 "settings.workspace.form.buttonDelete": "Delete workspace",
374 "signup.emailDuplicate" : "მომხმარებელი ამ მეილით უკვე არსებობს", 374 "settings.workspace.form.buttonSave": "Save workspace",
375 "signup.firstname.label" : "First Name", 375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "signup.headline" : "ანგარიშის შექმნა", 376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "signup.lastname.label" : "Last Name", 377 "settings.workspace.form.name": "სახელი ",
378 "signup.legal.info" : "Franz-ის ანგარიშის შექმნით თქვენ ეთანხმებით", 378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "signup.legal.privacy" : "კონფიდენციალურობის შესახებ", 379 "settings.workspace.form.yourWorkspaces": "Your workspaces",
380 "signup.legal.terms" : "მომსახურების პირობები", 380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "signup.link.login" : "უკვე გაქვთ ანგარიში?", 381 "settings.workspaces.headline": "Your workspaces",
382 "signup.password.label" : "პაროლი", 382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "signup.submit.label" : "ანგარიშის შექმნა", 383 "settings.workspaces.tryReloadWorkspaces": "სცადეთ ხელახლა",
384 "subscription.bestValue" : "Best value", 384 "settings.workspaces.updatedInfo": "თქვენი ცვლილებები შენახულია",
385 "subscription.cta.activateTrial" : "Yes, start the free Franz Professional trial", 385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
386 "subscription.cta.allOptions" : "See all options", 386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "subscription.cta.choosePlan" : "Choose your plan", 387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "subscription.includedProFeatures" : "The Franz Professional Plan includes:", 388 "sidebar.addNewService": "Add new service",
389 "subscription.interval.per" : "per {interval}", 389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "subscription.interval.perMonth" : "per month", 390 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
391 "subscription.interval.perMonthPerUser" : "per month & user", 391 "sidebar.lockFerdi": "Lock Ferdi",
392 "subscription.planItem.upgradeAccount" : "Upgrade Account", 392 "sidebar.muteApp": "Disable notifications & audio",
393 "subscription.teaser.includedFeatures" : "Paid Franz Plans include:", 393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "subscription.teaser.intro" : "Franz 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!", 394 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
395 "subscriptionPopup.buttonCancel" : "გაუქმება", 395 "sidebar.settings": "პარამეტრები",
396 "subscriptionPopup.buttonDone" : "შესრულებულია", 396 "sidebar.unmuteApp": "Enable notifications & audio",
397 "tabs.item.deleteService" : "სერვისის წაშლა", 397 "signup.email.label": "მეილი",
398 "tabs.item.disableAudio" : "Disable audio", 398 "signup.emailDuplicate": "მომხმარებელი ამ მეილით უკვე არსებობს",
399 "tabs.item.disableNotifications" : "შეტყობინებების გამორთვა", 399 "signup.firstname.label": "First Name",
400 "tabs.item.disableService" : "სერვისის გაუქმება", 400 "signup.headline": "ანგარიშის შექმნა",
401 "tabs.item.edit" : "რედაქტირება", 401 "signup.lastname.label": "Last Name",
402 "tabs.item.enableAudio" : "Enable audio", 402 "signup.legal.info": "Ferdi-ის ანგარიშის შექმნით თქვენ ეთანხმებით",
403 "tabs.item.enableNotification" : "შეტყობინებების ჩართვა", 403 "signup.legal.privacy": "კონფიდენციალურობის შესახებ",
404 "tabs.item.enableService" : "სერვისის ჩართვა", 404 "signup.legal.terms": "მომსახურების პირობები",
405 "tabs.item.reload" : "ჩატვირთვა", 405 "signup.link.login": "უკვე გაქვთ ანგარიში?",
406 "validation.email" : "{field} is not valid", 406 "signup.password.label": "Password",
407 "validation.minLength" : "{field} should be at least {length} characters long", 407 "signup.submit.label": "ანგარიშის შექმნა",
408 "validation.oneRequired" : "At least one is required", 408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "validation.required" : "{field} is required", 409 "subscription.cta.allOptions": "See all options",
410 "validation.url" : "{field} is not a valid URL", 410 "subscription.cta.choosePlan": "Choose your plan",
411 "webControls.back" : "Back", 411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "webControls.forward" : "Forward", 412 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:",
413 "webControls.goHome" : "Home", 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!",
414 "webControls.openInBrowser" : "Open in Browser", 414 "subscriptionPopup.buttonCancel": "გაუქმება",
415 "webControls.reload" : "ჩატვირთვა", 415 "subscriptionPopup.buttonDone": "შესრულებულია",
416 "welcome.loginButton" : "შედით თქვენს ანგარიშში", 416 "tabs.item.deleteService": "სერვისის წაშლა",
417 "welcome.signupButton" : "შექმენი ანგარიში, ეს უფასოა", 417 "tabs.item.disableAudio": "Disable audio",
418 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace", 418 "tabs.item.disableNotifications": "შეტყობინებების გამორთვა",
419 "workspaceDrawer.allServices" : "ყველა სერვისი", 419 "tabs.item.disableService": "სერვისის გაუქმება",
420 "workspaceDrawer.headline" : "Workspaces", 420 "tabs.item.edit": "რედაქტირება",
421 "workspaceDrawer.item.contextMenuEdit" : "edit", 421 "tabs.item.enableAudio": "Enable audio",
422 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet", 422 "tabs.item.enableNotification": "შეტყობინებების ჩართვა",
423 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace", 423 "tabs.item.enableService": "სერვისის ჩართვა",
424 "workspaceDrawer.proFeatureBadge" : "Premium feature", 424 "tabs.item.reload": "ჩატვირთვა",
425 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account", 425 "validation.email": "{field} is not valid",
426 "workspaceDrawer.workspaceFeatureInfo" : "<p>Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.<\/p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.<\/p>", 426 "validation.minLength": "{field} should be at least {length} characters long",
427 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings", 427 "validation.oneRequired": "At least one is required",
428 "workspaces.switchingIndicator.switchingTo" : "Switching to" 428 "validation.required": "{field} is required",
429 "validation.url": "{field} is not a valid URL",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "ჩატვირთვა",
435 "welcome.loginButton": "შედით თქვენს ანგარიშში",
436 "welcome.signupButton": "ანგარიშის შექმნა",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "ყველა სერვისი",
439 "workspaceDrawer.headline": "Workspaces",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
429} 448}
diff --git a/src/i18n/locales/ko.json b/src/i18n/locales/ko.json
new file mode 100644
index 000000000..628880d9f
--- /dev/null
+++ b/src/i18n/locales/ko.json
@@ -0,0 +1,448 @@
1{
2 "app.errorHandler.action": "Reload",
3 "app.errorHandler.headline": "Something went wrong",
4 "feature.announcements.changelog.headline": "Changes in Ferdi {version}",
5 "feature.delayApp.headline": "Please purchase a Ferdi Supporter License to skip waiting",
6 "feature.delayApp.text": "Ferdi will continue in {seconds} seconds.",
7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
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",
11 "feature.delayApp.upgrade.actionShort": "Upgrade account",
12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.quickSwitch.search": "Search...",
14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.shareFranz.action.email": "Send as email",
17 "feature.shareFranz.action.facebook": "Share on Facebook",
18 "feature.shareFranz.action.twitter": "Share on Twitter",
19 "feature.shareFranz.headline": "Ferdi is better together!",
20 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
23 "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.",
25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "global.api.unhealthy": "Can't connect to Ferdi online services",
27 "global.franzProRequired": "Ferdi Professional Required",
28 "global.notConnectedToTheInternet": "You are not connected to the internet.",
29 "global.spellchecker.useDefault": "Use System Default ({default})",
30 "global.spellchecking.autodetect": "Detect language automatically",
31 "global.spellchecking.autodetect.short": "Automatic",
32 "global.spellchecking.language": "Spell checking language",
33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "import.headline": "Import your Ferdi 4 services",
35 "import.notSupportedHeadline": "Services not yet supported in Ferdi 5",
36 "import.skip.label": "I want to add services manually",
37 "import.submit.label": "Import services",
38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "infobar.buttonChangelog": "What is new?",
40 "infobar.buttonInstallUpdate": "Restart & install update",
41 "infobar.buttonReloadServices": "Reload services",
42 "infobar.requiredRequestsFailed": "Could not load services and user information",
43 "infobar.servicesUpdated": "Your services have been updated.",
44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "infobar.updateAvailable": "A new update for Ferdi is available.",
46 "invite.email.label": "Email address",
47 "invite.headline.friends": "Invite 3 of your friends or colleagues",
48 "invite.name.label": "Name",
49 "invite.skip.label": "I want to do this later",
50 "invite.submit.label": "Send invites",
51 "invite.successInfo": "Invitations sent successfully",
52 "locked.headline": "Locked",
53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "locked.invalidCredentials": "Password invalid",
55 "locked.password.label": "Password",
56 "locked.submit.label": "Unlock",
57 "login.changeServer": "Change server",
58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "login.customServerSuggestion": "Try importing your Franz account",
60 "login.email.label": "Email address",
61 "login.headline": "Sign in",
62 "login.invalidCredentials": "Email or password not valid",
63 "login.link.password": "Reset password",
64 "login.link.signup": "Create a free account",
65 "login.password.label": "Password",
66 "login.serverLogout": "Your session expired, please login again.",
67 "login.submit.label": "Sign in",
68 "login.tokenExpired": "Your session expired, please login again.",
69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "menu.app.about": "About Ferdi",
72 "menu.app.announcement": "What's new?",
73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "menu.app.checkForUpdates": "Check for updates",
75 "menu.app.hide": "Hide",
76 "menu.app.hideOthers": "Hide Others",
77 "menu.app.quit": "Quit",
78 "menu.app.settings": "Settings",
79 "menu.app.unhide": "Unhide",
80 "menu.edit": "Edit",
81 "menu.edit.copy": "Copy",
82 "menu.edit.cut": "Cut",
83 "menu.edit.delete": "Delete",
84 "menu.edit.emojiSymbols": "Emoji & Symbols",
85 "menu.edit.paste": "Paste",
86 "menu.edit.pasteAndMatchStyle": "Paste And Match Style",
87 "menu.edit.redo": "Redo",
88 "menu.edit.selectAll": "Select All",
89 "menu.edit.speech": "Speech",
90 "menu.edit.startDictation": "Start Dictation",
91 "menu.edit.startSpeaking": "Start Speaking",
92 "menu.edit.stopSpeaking": "Stop Speaking",
93 "menu.edit.undo": "Undo",
94 "menu.file": "File",
95 "menu.help": "Help",
96 "menu.help.changelog": "Changelog",
97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.help.learnMore": "Learn More",
101 "menu.help.privacy": "Privacy Statement",
102 "menu.help.support": "Support",
103 "menu.help.tos": "Terms of Service",
104 "menu.services": "Services",
105 "menu.services.activatePreviousService": "Activate previous service",
106 "menu.services.addNewService": "Add New Service...",
107 "menu.services.goHome": "Home",
108 "menu.services.setNextServiceActive": "Activate next service",
109 "menu.todos": "Todos",
110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.view": "View",
112 "menu.view.back": "Back",
113 "menu.view.enterFullScreen": "Enter Full Screen",
114 "menu.view.exitFullScreen": "Exit Full Screen",
115 "menu.view.forward": "Forward",
116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.view.reloadFranz": "Reload Ferdi",
119 "menu.view.reloadService": "Reload Service",
120 "menu.view.resetZoom": "Actual Size",
121 "menu.view.toggleDevTools": "Toggle Developer Tools",
122 "menu.view.toggleFullScreen": "Toggle Full Screen",
123 "menu.view.toggleServiceDevTools": "Toggle Service Developer Tools",
124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.zoomIn": "Zoom In",
126 "menu.view.zoomOut": "Zoom Out",
127 "menu.window": "Window",
128 "menu.window.close": "Close",
129 "menu.window.minimize": "Minimize",
130 "menu.workspaces": "Workspaces",
131 "menu.workspaces.addNewWorkspace": "Add New Workspace...",
132 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
133 "menu.workspaces.defaultWorkspace": "All services",
134 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
135 "password.email.label": "Email address",
136 "password.headline": "Reset password",
137 "password.link.login": "Sign in to your account",
138 "password.link.signup": "Create a free account",
139 "password.noUser": "No user with that email address was found",
140 "password.submit.label": "Submit",
141 "password.successInfo": "Please check your email",
142 "premiumFeature.button.upgradeAccount": "Upgrade account",
143 "pricing.features.adFree": "Forever ad-free",
144 "pricing.features.appDelays": "No Waiting Screens",
145 "pricing.features.customWebsites": "Add Custom Websites",
146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "pricing.features.serviceProxies": "Service Proxies",
148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.workspaces": "Workspaces",
153 "pricing.plan.free": "Ferdi Free",
154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "service.crashHandler.action": "Reload {name}",
171 "service.crashHandler.autoReload": "Trying to automatically restore {name} in {seconds} seconds",
172 "service.crashHandler.headline": "Oh no!",
173 "service.crashHandler.text": "{name} has caused an error.",
174 "service.disabledHandler.action": "Enable {name}",
175 "service.disabledHandler.headline": "{name} is disabled",
176 "service.errorHandler.action": "Reload {name}",
177 "service.errorHandler.editAction": "Edit {name}",
178 "service.errorHandler.headline": "Oh no!",
179 "service.errorHandler.message": "Error",
180 "service.errorHandler.text": "{name} has failed to load.",
181 "service.restrictedHandler.action": "Upgrade Account",
182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.webviewLoader.loading": "Loading",
187 "services.getStarted": "Get started",
188 "services.login": "Please login to use Ferdi.",
189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "services.serverless": "Use Ferdi without an Account",
191 "services.welcome": "Welcome to Ferdi",
192 "settings.account.account.editButton": "Edit account",
193 "settings.account.accountType.basic": "Basic Account",
194 "settings.account.accountType.premium": "Premium Supporter Account",
195 "settings.account.buttonSave": "Update profile",
196 "settings.account.deleteAccount": "Delete account",
197 "settings.account.deleteEmailSent": "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!",
198 "settings.account.deleteInfo": "If you don't need your Ferdi account any longer, you can delete your account and all related data here.",
199 "settings.account.headline": "Account",
200 "settings.account.headlineAccount": "Account information",
201 "settings.account.headlineDangerZone": "Danger Zone",
202 "settings.account.headlineInvoices": "Invoices",
203 "settings.account.headlinePassword": "Change password",
204 "settings.account.headlineProfile": "Update profile",
205 "settings.account.headlineSubscription": "Your subscription",
206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.invoiceDownload": "Download",
209 "settings.account.manageSubscription.label": "Manage your subscription",
210 "settings.account.successInfo": "Your changes have been saved",
211 "settings.account.trial": "Free Trial",
212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.tryReloadServices": "Try again",
215 "settings.account.tryReloadUserInfoRequest": "Try again",
216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.userInfoRequestFailed": "Could not load user information",
218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.app.buttonClearAllCache": "Clear cache",
221 "settings.app.buttonInstallUpdate": "Restart & install update",
222 "settings.app.buttonSearchForUpdate": "Check for updates",
223 "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.",
224 "settings.app.currentVersion": "Current version:",
225 "settings.app.form.accentColor": "Accent color",
226 "settings.app.form.autoLaunchInBackground": "Open in background",
227 "settings.app.form.autoLaunchOnStart": "Launch Ferdi on start",
228 "settings.app.form.beta": "Include beta versions",
229 "settings.app.form.darkMode": "Join the Dark Side",
230 "settings.app.form.enableGPUAcceleration": "Enable GPU Acceleration",
231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.form.enableSpellchecking": "Enable spell checking",
233 "settings.app.form.enableSystemTray": "Show Ferdi in system tray",
234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.language": "Language",
239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.minimizeToSystemTray": "Minimize Ferdi to system tray",
241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.runInBackground": "Keep Ferdi in background when closing the window",
244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices": "Display disabled services tabs",
249 "settings.app.form.showMessagesBadgesWhenMuted": "Show unread message badge when notifications are disabled",
250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headline": "Settings",
254 "settings.app.headlineAdvanced": "Advanced",
255 "settings.app.headlineAppearance": "Appearance",
256 "settings.app.headlineGeneral": "General",
257 "settings.app.headlineLanguage": "Language",
258 "settings.app.headlineUpdates": "Updates",
259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.app.restartRequired": "Changes require restart",
265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.app.subheadlineCache": "Cache",
270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.app.translationHelp": "Help us to translate Ferdi into your language.",
272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.app.updateStatusAvailable": "Update available, downloading...",
274 "settings.app.updateStatusSearching": "Is searching for update",
275 "settings.app.updateStatusUpToDate": "You are using the latest version of Ferdi",
276 "settings.invite.headline": "Invite Friends",
277 "settings.navigation.account": "Account",
278 "settings.navigation.availableServices": "Available services",
279 "settings.navigation.logout": "Logout",
280 "settings.navigation.settings": "Settings",
281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.navigation.team": "Manage Team",
283 "settings.navigation.yourServices": "Your services",
284 "settings.navigation.yourWorkspaces": "Your workspaces",
285 "settings.recipes.all": "All services",
286 "settings.recipes.custom": "Custom Services",
287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.recipes.headline": "Available services",
294 "settings.recipes.missingService": "Missing a service?",
295 "settings.recipes.mostPopular": "Most popular",
296 "settings.recipes.nothingFound": "Sorry, but no service matched your search term.",
297 "settings.recipes.servicesSuccessfulAddedInfo": "Service successfully added",
298 "settings.searchService": "Search service",
299 "settings.service.error.goBack": "Back to services",
300 "settings.service.error.headline": "Error",
301 "settings.service.error.message": "Could not load service recipe.",
302 "settings.service.form.addServiceHeadline": "Add {name}",
303 "settings.service.form.availableServices": "Available services",
304 "settings.service.form.customUrl": "Custom server",
305 "settings.service.form.customUrlPremiumInfo": "To add self hosted services, you need a Ferdi Premium Supporter Account.",
306 "settings.service.form.customUrlUpgradeAccount": "Upgrade your account",
307 "settings.service.form.customUrlValidationError": "Could not validate custom {name} server.",
308 "settings.service.form.deleteButton": "Delete service",
309 "settings.service.form.editServiceHeadline": "Edit {name}",
310 "settings.service.form.enableAudio": "Enable audio",
311 "settings.service.form.enableBadge": "Show unread message badges",
312 "settings.service.form.enableDarkMode": "Enable Dark Mode",
313 "settings.service.form.enableNotification": "Enable notifications",
314 "settings.service.form.enableService": "Enable service",
315 "settings.service.form.headlineBadges": "Unread message badges",
316 "settings.service.form.headlineGeneral": "General",
317 "settings.service.form.headlineNotifications": "Notifications",
318 "settings.service.form.icon": "Custom icon",
319 "settings.service.form.iconDelete": "Delete",
320 "settings.service.form.iconUpload": "Drop your image, or click here",
321 "settings.service.form.indirectMessageInfo": "You will be notified about all new messages in a channel, not just @username, @channel, @here, ...",
322 "settings.service.form.indirectMessages": "Show message badge for all new messages",
323 "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted",
324 "settings.service.form.name": "Name",
325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings",
327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.service.form.proxy.info": "Proxy settings will not synced with the Ferdi servers.",
329 "settings.service.form.proxy.isEnabled": "Use Proxy",
330 "settings.service.form.proxy.password": "Password (optional)",
331 "settings.service.form.proxy.port": "Port",
332 "settings.service.form.proxy.restartInfo": "Please restart Ferdi after changing proxy Settings.",
333 "settings.service.form.proxy.user": "User (optional)",
334 "settings.service.form.saveButton": "Save service",
335 "settings.service.form.tabHosted": "Hosted",
336 "settings.service.form.tabOnPremise": "Self hosted ⭐️",
337 "settings.service.form.team": "Team",
338 "settings.service.form.useHostedService": "Use the hosted {name} service.",
339 "settings.service.form.yourServices": "Your services",
340 "settings.services.deletedInfo": "Service has been deleted",
341 "settings.services.discoverServices": "Discover services",
342 "settings.services.headline": "Your services",
343 "settings.services.noServicesAdded": "You haven't added any services yet.",
344 "settings.services.servicesRequestFailed": "Could not load your services",
345 "settings.services.tooltip.isDisabled": "Service is disabled",
346 "settings.services.tooltip.isMuted": "All sounds are muted",
347 "settings.services.tooltip.notificationsDisabled": "Notifications are disabled",
348 "settings.services.updatedInfo": "Your changes have been saved",
349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.team.headline": "Team",
357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.team.manageAction": "Manage your Team on getferdi.com",
359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.team.upgradeAction": "Upgrade your Account",
362 "settings.user.form.accountType.company": "Company",
363 "settings.user.form.accountType.individual": "Individual",
364 "settings.user.form.accountType.label": "Account type",
365 "settings.user.form.accountType.non-profit": "Non-Profit",
366 "settings.user.form.currentPassword": "Current password",
367 "settings.user.form.email": "Email",
368 "settings.user.form.firstname": "First Name",
369 "settings.user.form.lastname": "Last Name",
370 "settings.user.form.newPassword": "New password",
371 "settings.workspace.add.form.name": "Name",
372 "settings.workspace.add.form.submitButton": "Create workspace",
373 "settings.workspace.form.buttonDelete": "Delete workspace",
374 "settings.workspace.form.buttonSave": "Save workspace",
375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "settings.workspace.form.name": "Name",
378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "settings.workspace.form.yourWorkspaces": "Your workspaces",
380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "settings.workspaces.headline": "Your workspaces",
382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "settings.workspaces.tryReloadWorkspaces": "Try again",
384 "settings.workspaces.updatedInfo": "Your changes have been saved",
385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "sidebar.addNewService": "Add new service",
389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
391 "sidebar.lockFerdi": "Lock Ferdi",
392 "sidebar.muteApp": "Disable notifications & audio",
393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
395 "sidebar.settings": "Settings",
396 "sidebar.unmuteApp": "Enable notifications & audio",
397 "signup.email.label": "Email address",
398 "signup.emailDuplicate": "A user with that email address already exists",
399 "signup.firstname.label": "First Name",
400 "signup.headline": "Sign up",
401 "signup.lastname.label": "Last Name",
402 "signup.legal.info": "By creating a Ferdi account you accept the",
403 "signup.legal.privacy": "Privacy Statement",
404 "signup.legal.terms": "Terms of service",
405 "signup.link.login": "Already have an account, sign in?",
406 "signup.password.label": "Password",
407 "signup.submit.label": "Create account",
408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "subscription.cta.allOptions": "See all options",
410 "subscription.cta.choosePlan": "Choose your plan",
411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "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!",
414 "subscriptionPopup.buttonCancel": "Cancel",
415 "subscriptionPopup.buttonDone": "Done",
416 "tabs.item.deleteService": "Delete service",
417 "tabs.item.disableAudio": "Disable audio",
418 "tabs.item.disableNotifications": "Disable notifications",
419 "tabs.item.disableService": "Disable service",
420 "tabs.item.edit": "Edit",
421 "tabs.item.enableAudio": "Enable audio",
422 "tabs.item.enableNotification": "Enable notifications",
423 "tabs.item.enableService": "Enable service",
424 "tabs.item.reload": "Reload",
425 "validation.email": "{field} is not valid",
426 "validation.minLength": "{field} should be at least {length} characters long",
427 "validation.oneRequired": "At least one is required",
428 "validation.required": "{field} is required",
429 "validation.url": "{field} is not a valid URL",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Reload",
435 "welcome.loginButton": "Login to your account",
436 "welcome.signupButton": "Create a free account",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "All services",
439 "workspaceDrawer.headline": "Workspaces",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
448}
diff --git a/src/i18n/locales/nb-NO.json b/src/i18n/locales/nb-NO.json
index 976c54787..97f340d59 100644
--- a/src/i18n/locales/nb-NO.json
+++ b/src/i18n/locales/nb-NO.json
@@ -1,5 +1,5 @@
1{ 1{
2 "global.api.unhealthy": "Kan ikke koble til Franz' tjenester", 2 "global.api.unhealthy": "Kan ikke koble til Ferdi' tjenester",
3 "global.notConnectedToTheInternet": "Du er ikke koblet til internett.", 3 "global.notConnectedToTheInternet": "Du er ikke koblet til internett.",
4 "welcome.signupButton": "Opprett en gratis konto", 4 "welcome.signupButton": "Opprett en gratis konto",
5 "welcome.loginButton": "Logg inn til din konto", 5 "welcome.loginButton": "Logg inn til din konto",
@@ -29,15 +29,15 @@
29 "signup.submit.label": "Opprett konto", 29 "signup.submit.label": "Opprett konto",
30 "signup.link.login": "Har du allerede en konto? Logg inn", 30 "signup.link.login": "Har du allerede en konto? Logg inn",
31 "signup.emailDuplicate": "En konto med den epost adresse eksiterer allerede", 31 "signup.emailDuplicate": "En konto med den epost adresse eksiterer allerede",
32 "signup.legal.info": "Ved å opprette en Franz konto aksepterer du", 32 "signup.legal.info": "Ved å opprette en Ferdi konto aksepterer du",
33 "signup.legal.terms": "Vilkår for bruk", 33 "signup.legal.terms": "Vilkår for bruk",
34 "signup.legal.privacy": "Personvern", 34 "signup.legal.privacy": "Personvern",
35 "pricing.headline": "Støtt Franz", 35 "pricing.headline": "Støtt Ferdi",
36 "pricing.support.label": "Velg din støtteplan", 36 "pricing.support.label": "Velg din støtteplan",
37 "pricing.submit.label": "Jeg vil støtte utviklingen av Franz", 37 "pricing.submit.label": "Jeg vil støtte utviklingen av Ferdi",
38 "pricing.link.skipPayment": "Jeg vil ikke støtte utviklingen av Franz.", 38 "pricing.link.skipPayment": "Jeg vil ikke støtte utviklingen av Ferdi.",
39 "import.headline": "Importer dine Franz 4 tjenester", 39 "import.headline": "Importer dine Ferdi 4 tjenester",
40 "import.notSupportedHeadline": "Tjenester ikke enda støttet i Franz 5", 40 "import.notSupportedHeadline": "Tjenester ikke enda støttet i Ferdi 5",
41 "import.submit.label": "Importer tjenester", 41 "import.submit.label": "Importer tjenester",
42 "import.skip.label": "Jeg vil legge til en tjeneste manuelt", 42 "import.skip.label": "Jeg vil legge til en tjeneste manuelt",
43 "invite.submit.label": "Send invitasjoner", 43 "invite.submit.label": "Send invitasjoner",
@@ -45,9 +45,9 @@
45 "invite.name.label": "Navn", 45 "invite.name.label": "Navn",
46 "invite.email.label": "Email adresse", 46 "invite.email.label": "Email adresse",
47 "invite.skip.label": "Jeg vil gjøre dette senere", 47 "invite.skip.label": "Jeg vil gjøre dette senere",
48 "subscription.submit.label": "Jeg vil ikke støtte utviklingen av Franz", 48 "subscription.submit.label": "Jeg vil ikke støtte utviklingen av Ferdi",
49 "subscription.paymentSessionError": "Kunne ikke laste betalingsskjemaet", 49 "subscription.paymentSessionError": "Kunne ikke laste betalingsskjemaet",
50 "subscription.includedFeatures": "Betalte Franz Premium konto inkluderer", 50 "subscription.includedFeatures": "Betalte Ferdi Premium konto inkluderer",
51 "subscription.features.onpremise": "Legg til on-premise/hosted tjenester som HipChat", 51 "subscription.features.onpremise": "Legg til on-premise/hosted tjenester som HipChat",
52 "subscription.features.customServices": "Private tjenester for deg og ditt lag", 52 "subscription.features.customServices": "Private tjenester for deg og ditt lag",
53 "subscription.features.encryptedSync": "Kryptert øktsynkronisering", 53 "subscription.features.encryptedSync": "Kryptert øktsynkronisering",
@@ -55,17 +55,17 @@
55 "subscription.features.ads": "Ingen annonser, noensinne!", 55 "subscription.features.ads": "Ingen annonser, noensinne!",
56 "subscription.features.comingSoon": "Kommer snart", 56 "subscription.features.comingSoon": "Kommer snart",
57 "infobar.servicesUpdated": "Dine tjenester er oppdatert.", 57 "infobar.servicesUpdated": "Dine tjenester er oppdatert.",
58 "infobar.updateAvailable": "En ny oppdatering for Franz er tilgjengelig.", 58 "infobar.updateAvailable": "En ny oppdatering for Ferdi er tilgjengelig.",
59 "infobar.buttonReloadServices": "Oppdater tjenester", 59 "infobar.buttonReloadServices": "Oppdater tjenester",
60 "infobar.buttonInstallUpdate": "Restart & installer oppdatering", 60 "infobar.buttonInstallUpdate": "Restart & installer oppdatering",
61 "infobar.requiredRequestsFailed": "Kunne ikke laste tjenester og brukerinformasjon", 61 "infobar.requiredRequestsFailed": "Kunne ikke laste tjenester og brukerinformasjon",
62 "sidebar.settings": "Innstillinger", 62 "sidebar.settings": "Innstillinger",
63 "sidebar.addNewService": "Legg til ny tjeneste", 63 "sidebar.addNewService": "Legg til ny tjeneste",
64 "services.welcome": "Velkommen til Franz", 64 "services.welcome": "Velkommen til Ferdi",
65 "services.getStarted": "Kom i gang", 65 "services.getStarted": "Kom i gang",
66 "settings.account.headline": "Konto", 66 "settings.account.headline": "Konto",
67 "settings.account.headlineSubscription": "Ditt abonnement", 67 "settings.account.headlineSubscription": "Ditt abonnement",
68 "settings.account.headlineUpgrade": "Oppgrader din konto og støtt Franz", 68 "settings.account.headlineUpgrade": "Oppgrader din konto og støtt Ferdi",
69 "settings.account.headlineInvoices": "Fakturaer", 69 "settings.account.headlineInvoices": "Fakturaer",
70 "settings.account.manageSubscription.label": "Administrer dine abonnement", 70 "settings.account.manageSubscription.label": "Administrer dine abonnement",
71 "settings.account.accountType.basic": "Enkel Konto", 71 "settings.account.accountType.basic": "Enkel Konto",
@@ -79,7 +79,7 @@
79 "settings.account.headlinePassword": "Endre passord", 79 "settings.account.headlinePassword": "Endre passord",
80 "settings.account.successInfo": "Dine endringer er lagret", 80 "settings.account.successInfo": "Dine endringer er lagret",
81 "settings.account.buttonSave": "Oppdater profil", 81 "settings.account.buttonSave": "Oppdater profil",
82 "settings.account.mining.thankyou": "Takk for at du støtter Franz med din prosessorkraft.", 82 "settings.account.mining.thankyou": "Takk for at du støtter Ferdi med din prosessorkraft.",
83 "settings.account.mining.active": "Du utfører nå {hashes} beregninger per sekund.", 83 "settings.account.mining.active": "Du utfører nå {hashes} beregninger per sekund.",
84 "settings.account.mining.moreInformation": "Få mer informasjon", 84 "settings.account.mining.moreInformation": "Få mer informasjon",
85 "settings.account.mining.cancel": "Avbryt mining", 85 "settings.account.mining.cancel": "Avbryt mining",
@@ -103,7 +103,7 @@
103 "settings.service.form.tabHosted": "Hosted", 103 "settings.service.form.tabHosted": "Hosted",
104 "settings.service.form.tabOnPremise": "Selv hosted ⭐️", 104 "settings.service.form.tabOnPremise": "Selv hosted ⭐️",
105 "settings.service.form.customUrlValidationError": "Kunne ikke validere egendefinert {name} server.", 105 "settings.service.form.customUrlValidationError": "Kunne ikke validere egendefinert {name} server.",
106 "settings.service.form.customUrlPremiumInfo": "For å legge til selvhost-baserte tjenester trenger du en Franz Premium konto.", 106 "settings.service.form.customUrlPremiumInfo": "For å legge til selvhost-baserte tjenester trenger du en Ferdi Premium konto.",
107 "settings.service.form.customUrlUpgradeAccount": "Oppgrader din konto", 107 "settings.service.form.customUrlUpgradeAccount": "Oppgrader din konto",
108 "settings.service.form.indirectMessageInfo": "Du vil bli varslet om alle nye meldinger i en kanal, ikke bare @brukernavn, @kanal, @here, ...", 108 "settings.service.form.indirectMessageInfo": "Du vil bli varslet om alle nye meldinger i en kanal, ikke bare @brukernavn, @kanal, @here, ...",
109 "settings.service.error.headline": "Error", 109 "settings.service.error.headline": "Error",
@@ -124,12 +124,12 @@
124 "settings.app.buttonInstallUpdate": "Restart & installer oppdatering", 124 "settings.app.buttonInstallUpdate": "Restart & installer oppdatering",
125 "settings.app.updateStatusSearching": "Søker etter en oppdatering", 125 "settings.app.updateStatusSearching": "Søker etter en oppdatering",
126 "settings.app.updateStatusAvailable": "Oppdatering tilgjengelig, laster ned...", 126 "settings.app.updateStatusAvailable": "Oppdatering tilgjengelig, laster ned...",
127 "settings.app.updateStatusUpToDate": "Du bruker siste versjon av Franz", 127 "settings.app.updateStatusUpToDate": "Du bruker siste versjon av Ferdi",
128 "settings.app.form.autoLaunchOnStart": "Start Franz ved oppstart", 128 "settings.app.form.autoLaunchOnStart": "Start Ferdi ved oppstart",
129 "settings.app.form.autoLaunchInBackground": "Åpne i bakgrunnen", 129 "settings.app.form.autoLaunchInBackground": "Åpne i bakgrunnen",
130 "settings.app.form.enableSystemTray": "Vis Franz i systemfeltet", 130 "settings.app.form.enableSystemTray": "Vis Ferdi i systemfeltet",
131 "settings.app.form.minimizeToSystemTray": "Minimer Franz til systemfeltet", 131 "settings.app.form.minimizeToSystemTray": "Minimer Ferdi til systemfeltet",
132 "settings.app.form.runInBackground": "Behold Franz i bakgrunnen når du lukker vinduet", 132 "settings.app.form.runInBackground": "Behold Ferdi i bakgrunnen når du lukker vinduet",
133 "settings.app.form.language": "Språk", 133 "settings.app.form.language": "Språk",
134 "settings.app.form.beta": "Inkluder beta versjoner", 134 "settings.app.form.beta": "Inkluder beta versjoner",
135 "settings.app.currentVersion": "Gjeldende versjon:", 135 "settings.app.currentVersion": "Gjeldende versjon:",
@@ -151,15 +151,15 @@
151 "subscription.type.free": "gratis", 151 "subscription.type.free": "gratis",
152 "subscription.type.month": "måned", 152 "subscription.type.month": "måned",
153 "subscription.type.year": "år", 153 "subscription.type.year": "år",
154 "subscription.type.mining": "Støtt Franz med prosessorkraft", 154 "subscription.type.mining": "Støtt Ferdi med prosessorkraft",
155 "subscription.mining.headline": "Hvordan fungerer dette?", 155 "subscription.mining.headline": "Hvordan fungerer dette?",
156 "subscription.mining.experimental": "eksperimental", 156 "subscription.mining.experimental": "eksperimental",
157 "subscription.mining.line1": "Ved å aktivere \"Støtt Franz med prosessorkraft\" vil Franz bruke cirka 20-50% av prosessore din til å mine kryptovalutaen Monero, som vil tilsvare omtrent $5/år", 157 "subscription.mining.line1": "Ved å aktivere \"Støtt Ferdi med prosessorkraft\" vil Ferdi bruke cirka 20-50% av prosessore din til å mine kryptovalutaen Monero, som vil tilsvare omtrent $5/år",
158 "subscription.mining.line2": "Vi vil tilpasse prosessor bruken basert på arbeidsadferd for å ikke tømme batteriet og senke hastigheten på maskinen din.", 158 "subscription.mining.line2": "Vi vil tilpasse prosessor bruken basert på arbeidsadferd for å ikke tømme batteriet og senke hastigheten på maskinen din.",
159 "subscription.mining.line3": "Så lenge du miner, har du ubegrenset tilgang til alle Franz Premium funksjoner.", 159 "subscription.mining.line3": "Så lenge du miner, har du ubegrenset tilgang til alle Ferdi Premium funksjoner.",
160 "subscription.mining.moreInformation": "Få mer informasjon om denne planen.", 160 "subscription.mining.moreInformation": "Få mer informasjon om denne planen.",
161 "subscriptionPopup.buttonCancel": "Kanseller", 161 "subscriptionPopup.buttonCancel": "Kanseller",
162 "subscriptionPopup.buttonDone": "Ferdig", 162 "subscriptionPopup.buttonDone": "Ferdi g",
163 "tabs.item.reload": "Reload", 163 "tabs.item.reload": "Reload",
164 "tabs.item.edit": "Rediger", 164 "tabs.item.edit": "Rediger",
165 "tabs.item.disableNotifications": "Deaktiver varsler", 165 "tabs.item.disableNotifications": "Deaktiver varsler",
diff --git a/src/i18n/locales/nl-BE.json b/src/i18n/locales/nl-BE.json
index c23788237..dda3e65f5 100644
--- a/src/i18n/locales/nl-BE.json
+++ b/src/i18n/locales/nl-BE.json
@@ -1,429 +1,448 @@
1{ 1{
2 "app.errorHandler.action" : "Herladen", 2 "app.errorHandler.action": "Herladen",
3 "app.errorHandler.headline" : "Er ging iets mis", 3 "app.errorHandler.headline": "Er ging iets mis",
4 "feature.announcements.changelog.headline" : "Wijzigingen in Franz {versie}", 4 "feature.announcements.changelog.headline": "Wijzigingen in Ferdi {versie}",
5 "feature.delayApp.headline" : "Upgrade your Franz plan to skip the wait", 5 "feature.delayApp.headline": "Neem een Ferdi Supporter Licentie om niet meer te hoeven wachten",
6 "feature.delayApp.text" : "Franz gaat over {seconds} seconden verder.", 6 "feature.delayApp.text": "Ferdi gaat over {seconds} seconden verder.",
7 "feature.delayApp.trial.action" : "Yes, I want the free 14 day trial of Franz Professional", 7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort" : "Activate the free Franz Professional trial", 8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
9 "feature.delayApp.trial.headline" : "Get the free Franz Professional 14-days trial and skip the wait", 9 "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line",
10 "feature.delayApp.upgrade.action" : "Upgrade Franz", 10 "feature.delayApp.upgrade.action": "Neem een Ferdi Supporter Licentie ",
11 "feature.delayApp.upgrade.actionShort" : "Upgrade account", 11 "feature.delayApp.upgrade.actionShort": "Upgrade account",
12 "feature.planSelection.cta.ctaDowngradeFree" : "Downgrade to Free", 12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.planSelection.cta.stayOnFree" : "Stay on Free", 13 "feature.quickSwitch.search": "Search...",
14 "feature.planSelection.cta.trial" : "Start my free 14-days Trial", 14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.planSelection.cta.upgradePersonal" : "Choose Personal", 15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.planSelection.cta.upgradePro" : "Choose Professional", 16 "feature.shareFranz.action.email": "Verstuur als e-mail",
17 "feature.planSelection.free.text" : "Basic functionality", 17 "feature.shareFranz.action.facebook": "Deel op Facebook",
18 "feature.planSelection.fullFeatureList" : "Complete comparison of all plans", 18 "feature.shareFranz.action.twitter": "Deel op Twitter",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 19 "feature.shareFranz.headline": "Ferdi is beter samen!",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade" : "Choose Personal", 20 "feature.shareFranz.shareText.email": "Ik heb {telling} diensten toegevoegd aan Ferdi! Download de gratis app voor WhatsApp, Messenger, Slack, Skype, en anderen op www.getferdi.com",
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.", 21 "feature.shareFranz.shareText.twitter": "Ik heb {tel} diensten toegevoegd aan Ferdi! Download de gratis app voor WhatsApp, Messenger, Slack, Skype, en anderen op www.getferdi.com /cc @FerdiMessenger",
22 "feature.planSelection.fullscreen.dialog.title" : "Downgrade your Franz Plan", 22 "feature.shareFranz.text": "Vertel je vrienden en collega's hoe geweldig Ferdi is en help ons het woord te verspreiden.",
23 "feature.planSelection.fullscreen.subheadline" : "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.", 23 "feature.todos.premium.info": "Ferdi Todos are available to premium users now!",
24 "feature.planSelection.fullscreen.welcome" : "Are you ready to choose, {name}?", 24 "feature.todos.premium.rollout": "Everyone else will have to wait a little longer.",
25 "feature.planSelection.personal.text" : "More services, no waiting - ideal for personal use.", 25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "feature.planSelection.pricesBasedOnAnnualPayment" : "All prices based on yearly payment", 26 "global.api.unhealthy": "Kan geen verbinding maken met de Ferdi services",
27 "feature.planSelection.pro.text" : "Unlimited services and professional features for you - and your team.", 27 "global.franzProRequired": "Ferdi Professional Required",
28 "feature.serviceLimit.limitReached" : "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.", 28 "global.notConnectedToTheInternet": "Je hebt geen internet verbinding.",
29 "feature.shareFranz.action.email" : "Verstuur als e-mail", 29 "global.spellchecker.useDefault": "Gebruik Systeemstandaard ({default})",
30 "feature.shareFranz.action.facebook" : "Deel op Facebook", 30 "global.spellchecking.autodetect": "Taal automatisch herkennen",
31 "feature.shareFranz.action.twitter" : "Deel op Twitter", 31 "global.spellchecking.autodetect.short": "Automatisch",
32 "feature.shareFranz.headline" : "Franz is beter samen!", 32 "global.spellchecking.language": "Taal spellingscontrole",
33 "feature.shareFranz.shareText.email" : "Ik heb {telling} diensten toegevoegd aan Franz! Download de gratis app voor WhatsApp, Messenger, Slack, Skype, en anderen op www.meetfranz.com", 33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "feature.shareFranz.shareText.twitter" : "Ik heb {tel} diensten toegevoegd aan Franz! Download de gratis app voor WhatsApp, Messenger, Slack, Skype, en anderen op www.meetfranz.com \/cc @FranzMessenger", 34 "import.headline": "Importeer je Ferdi 4 services",
35 "feature.shareFranz.text" : "Vertel je vrienden en collega's hoe geweldig Franz is en help ons het woord te verspreiden.", 35 "import.notSupportedHeadline": "De volgende services worden nog niet ondersteund in Ferdi 5",
36 "feature.todos.premium.info" : "Franz Todos are available to premium users now!", 36 "import.skip.label": "Ik wil services handmatig toevoegen",
37 "feature.todos.premium.rollout" : "Everyone else will have to wait a little longer.", 37 "import.submit.label": "Importeer services",
38 "feature.todos.premium.upgrade" : "Upgrade Account", 38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "feature.trialStatusBar.cta" : "Upgrade now", 39 "infobar.buttonChangelog": "Wat is er nieuw?",
40 "feature.trialStatusBar.expired" : "Your free Franz {plan} Trial has expired, please upgrade your account.", 40 "infobar.buttonInstallUpdate": "Opnieuw opstarten & update installeren",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 41 "infobar.buttonReloadServices": "Services opnieuw laden",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade" : "Choose Personal", 42 "infobar.requiredRequestsFailed": "Kan de services en gebruikersinformatie niet laden",
43 "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.", 43 "infobar.servicesUpdated": "Je services zijn bijgewerkt.",
44 "feature.trialStatusBar.fullscreen.dialog.title" : "Downgrade your Franz Plan", 44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "feature.trialStatusBar.restTime" : "Your Free Franz {plan} Trial ends in {time}.", 45 "infobar.updateAvailable": "Er is een nieuwe update voor Ferdi beschikbaar.",
46 "global.api.unhealthy" : "Kan geen verbinding maken met de Franz services", 46 "invite.email.label": "E-mailadres",
47 "global.franzProRequired" : "Franz Professional Required", 47 "invite.headline.friends": "Nodig 3 van je vrienden of collega's uit",
48 "global.notConnectedToTheInternet" : "Je hebt geen internet verbinding.", 48 "invite.name.label": "Naam",
49 "global.spellchecker.useDefault" : "Gebruik Systeemstandaard ({default})", 49 "invite.skip.label": "Ik wil dit later doen",
50 "global.spellchecking.autodetect" : "Taal automatisch herkennen", 50 "invite.submit.label": "Uitnodigingen verzenden",
51 "global.spellchecking.autodetect.short" : "Automatisch", 51 "invite.successInfo": "Uitnodiging met succes verzonden",
52 "global.spellchecking.language" : "Taal spellingscontrole", 52 "locked.headline": "Locked",
53 "global.upgradeButton.upgradeToPro" : "Upgrade to Franz Professional", 53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "import.headline" : "Importeer je Franz 4 services", 54 "locked.invalidCredentials": "Password invalid",
55 "import.notSupportedHeadline" : "De volgende services worden nog niet ondersteund in Franz 5", 55 "locked.password.label": "Password",
56 "import.skip.label" : "Ik wil services handmatig toevoegen", 56 "locked.submit.label": "Unlock",
57 "import.submit.label" : "Importeer services", 57 "login.changeServer": "Change server",
58 "infobar.buttonChangelog" : "Wat is er nieuw?", 58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "infobar.buttonInstallUpdate" : "Opnieuw opstarten & update installeren", 59 "login.customServerSuggestion": "Try importing your Franz account",
60 "infobar.buttonReloadServices" : "Services opnieuw laden", 60 "login.email.label": "E-mailadres",
61 "infobar.requiredRequestsFailed" : "Kan de services en gebruikersinformatie niet laden", 61 "login.headline": "Inloggen",
62 "infobar.servicesUpdated" : "Je services zijn bijgewerkt.", 62 "login.invalidCredentials": "E-mailadres of wachtwoord ongeldig",
63 "infobar.trialActivated" : "Your trial was successfully activated. Happy messaging!", 63 "login.link.password": "Wachtwoord resetten",
64 "infobar.updateAvailable" : "Er is een nieuwe update voor Franz beschikbaar.", 64 "login.link.signup": "Maak een gratis account aan",
65 "invite.email.label" : "E-mailadres", 65 "login.password.label": "Password",
66 "invite.headline.friends" : "Nodig 3 van je vrienden of collega's uit", 66 "login.serverLogout": "De sessie is verlopen, log opnieuw in alsjeblieft.",
67 "invite.name.label" : "Naam", 67 "login.submit.label": "Inloggen",
68 "invite.skip.label" : "Ik wil dit later doen", 68 "login.tokenExpired": "De sessie is verlopen, log opnieuw in alsjeblieft.",
69 "invite.submit.label" : "Uitnodigingen verzenden", 69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "invite.successInfo" : "Uitnodiging met succes verzonden", 70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "login.email.label" : "E-mailadres", 71 "menu.app.about": "Over Ferdi",
72 "login.headline" : "Inloggen", 72 "menu.app.announcement": "Wat is er nieuw?",
73 "login.invalidCredentials" : "E-mailadres of wachtwoord ongeldig", 73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "login.link.password" : "Wachtwoord resetten", 74 "menu.app.checkForUpdates": "Controleer op updates",
75 "login.link.signup" : "Maak een gratis account aan", 75 "menu.app.hide": "Verbergen",
76 "login.password.label" : "Wachtwoord", 76 "menu.app.hideOthers": "Andere Verbergen",
77 "login.serverLogout" : "De sessie is verlopen, log opnieuw in alsjeblieft.", 77 "menu.app.quit": "Afsluiten",
78 "login.submit.label" : "Inloggen", 78 "menu.app.settings": "Instellingen",
79 "login.tokenExpired" : "De sessie is verlopen, log opnieuw in alsjeblieft.", 79 "menu.app.unhide": "Tonen",
80 "menu.Todoss.closeTodosDrawer" : "Close Todos drawer", 80 "menu.edit": "Bewerken",
81 "menu.Todoss.openTodosDrawer" : "Open Todos drawer", 81 "menu.edit.copy": "Kopiëren",
82 "menu.app.about" : "Over Franz", 82 "menu.edit.cut": "Knippen",
83 "menu.app.announcement" : "Wat is er nieuw?", 83 "menu.edit.delete": "Verwijderen",
84 "menu.app.checkForUpdates" : "Controleer op updates", 84 "menu.edit.emojiSymbols": "Emoji & Symbolen",
85 "menu.app.hide" : "Verbergen", 85 "menu.edit.paste": "Plakken",
86 "menu.app.hideOthers" : "Andere Verbergen", 86 "menu.edit.pasteAndMatchStyle": "Plakken en stijl overeen laten komen",
87 "menu.app.quit" : "Afsluiten", 87 "menu.edit.redo": "Opnieuw doen",
88 "menu.app.settings" : "Instellingen", 88 "menu.edit.selectAll": "Selecteer Alles",
89 "menu.app.unhide" : "Tonen", 89 "menu.edit.speech": "Spraakuitvoer",
90 "menu.edit" : "Bewerken", 90 "menu.edit.startDictation": "Beginnen met dicteren",
91 "menu.edit.copy" : "Kopiëren", 91 "menu.edit.startSpeaking": "Begin met Spreken",
92 "menu.edit.cut" : "Knippen", 92 "menu.edit.stopSpeaking": "Stoppen met Spreken",
93 "menu.edit.delete" : "Verwijderen", 93 "menu.edit.undo": "Ongedaan maken",
94 "menu.edit.emojiSymbols" : "Emoji & Symbolen", 94 "menu.file": "Bestand",
95 "menu.edit.paste" : "Plakken", 95 "menu.help": "Help",
96 "menu.edit.pasteAndMatchStyle" : "Plakken en stijl overeen laten komen", 96 "menu.help.changelog": "Logboek",
97 "menu.edit.redo" : "Opnieuw doen", 97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.edit.selectAll" : "Selecteer Alles", 98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.edit.speech" : "Spraakuitvoer", 99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.edit.startDictation" : "Beginnen met dicteren", 100 "menu.help.learnMore": "Meer Weten",
101 "menu.edit.startSpeaking" : "Begin met Spreken", 101 "menu.help.privacy": "Privacyverklaring",
102 "menu.edit.stopSpeaking" : "Stoppen met Spreken", 102 "menu.help.support": "Ondersteuning",
103 "menu.edit.undo" : "Ongedaan maken", 103 "menu.help.tos": "Servicevoorwaarden",
104 "menu.file" : "Bestand", 104 "menu.services": "Services",
105 "menu.help" : "Help", 105 "menu.services.activatePreviousService": "Vorige dienst activeren",
106 "menu.help.changelog" : "Logboek", 106 "menu.services.addNewService": "Nieuwe service toevoegen...",
107 "menu.help.debugInfo" : "Copy Debug Information", 107 "menu.services.goHome": "Home",
108 "menu.help.debugInfoCopiedBody" : "Your Debug Information has been copied to your clipboard.", 108 "menu.services.setNextServiceActive": "Volgende dienst activeren",
109 "menu.help.debugInfoCopiedHeadline" : "Franz Debug Information", 109 "menu.todos": "Todos",
110 "menu.help.learnMore" : "Meer Weten", 110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.help.privacy" : "Privacyverklaring", 111 "menu.view": "Weergave",
112 "menu.help.support" : "Ondersteuning", 112 "menu.view.back": "Back",
113 "menu.help.tos" : "Servicevoorwaarden", 113 "menu.view.enterFullScreen": "Volledig scherm openen",
114 "menu.services" : "Services", 114 "menu.view.exitFullScreen": "Volledig scherm verlaten",
115 "menu.services.activatePreviousService" : "Vorige dienst activeren", 115 "menu.view.forward": "Forward",
116 "menu.services.addNewService" : "Nieuwe service toevoegen...", 116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.services.goHome" : "Home", 117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.services.setNextServiceActive" : "Volgende dienst activeren", 118 "menu.view.reloadFranz": "Ferdi Herladen",
119 "menu.todos" : "Todos", 119 "menu.view.reloadService": "Service Herladen",
120 "menu.todos.enableTodos" : "Enable Todos", 120 "menu.view.resetZoom": "Werkelijke Grootte",
121 "menu.view" : "Weergave", 121 "menu.view.toggleDevTools": "Ontwikkelaarstools Aan/Uit",
122 "menu.view.enterFullScreen" : "Volledig scherm openen", 122 "menu.view.toggleFullScreen": "Volledig Scherm Aan/Uit",
123 "menu.view.exitFullScreen" : "Volledig scherm verlaten", 123 "menu.view.toggleServiceDevTools": "Service Ontwikkelaarstools Aan/Uit",
124 "menu.view.reloadFranz" : "Franz Herladen", 124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.reloadService" : "Service Herladen", 125 "menu.view.zoomIn": "Inzoomen",
126 "menu.view.resetZoom" : "Werkelijke Grootte", 126 "menu.view.zoomOut": "Uitzoomen",
127 "menu.view.toggleDevTools" : "Ontwikkelaarstools Aan\/Uit", 127 "menu.window": "Venster",
128 "menu.view.toggleFullScreen" : "Volledig Scherm Aan\/Uit", 128 "menu.window.close": "Sluiten",
129 "menu.view.toggleServiceDevTools" : "Service Ontwikkelaarstools Aan\/Uit", 129 "menu.window.minimize": "Minimaliseren",
130 "menu.view.toggleTodosDevTools" : "Toggle Todos Developer Tools", 130 "menu.workspaces": "Werkruimten",
131 "menu.view.zoomIn" : "Inzoomen", 131 "menu.workspaces.addNewWorkspace": "Voeg nieuwe werkruimte toe...",
132 "menu.view.zoomOut" : "Uitzoomen", 132 "menu.workspaces.closeWorkspaceDrawer": "Werkruimtepagina sluiten",
133 "menu.window" : "Venster", 133 "menu.workspaces.defaultWorkspace": "Alle services",
134 "menu.window.close" : "Sluiten", 134 "menu.workspaces.openWorkspaceDrawer": "Werkruimtepagina openen",
135 "menu.window.minimize" : "Minimaliseren", 135 "password.email.label": "E-mailadres",
136 "menu.workspaces" : "Werkruimten", 136 "password.headline": "Wachtwoord resetten",
137 "menu.workspaces.addNewWorkspace" : "Voeg nieuwe werkruimte toe...", 137 "password.link.login": "Log in op je account",
138 "menu.workspaces.closeWorkspaceDrawer" : "Werkruimtepagina sluiten", 138 "password.link.signup": "Maak een gratis account aan",
139 "menu.workspaces.defaultWorkspace" : "Alle services", 139 "password.noUser": "Geen gebruiker gevonden met dat e-mailadres",
140 "menu.workspaces.openWorkspaceDrawer" : "Werkruimtepagina openen", 140 "password.submit.label": "Verzenden",
141 "password.email.label" : "E-mailadres", 141 "password.successInfo": "Controleer alsjeblieft je e-mail",
142 "password.headline" : "Wachtwoord resetten", 142 "premiumFeature.button.upgradeAccount": "Upgrade account",
143 "password.link.login" : "Log in op je account", 143 "pricing.features.adFree": "Forever ad-free",
144 "password.link.signup" : "Maak een gratis account", 144 "pricing.features.appDelays": "No Waiting Screens",
145 "password.noUser" : "Geen gebruiker gevonden met dat e-mailadres", 145 "pricing.features.customWebsites": "Add Custom Websites",
146 "password.submit.label" : "Verzenden", 146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "password.successInfo" : "Controleer alsjeblieft je e-mail", 147 "pricing.features.serviceProxies": "Service Proxies",
148 "premiumFeature.button.upgradeAccount" : "Upgrade account", 148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.accountSync" : "Account Synchronisation", 149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.adFree" : "Forever ad-free", 150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.appDelays" : "No Waiting Screens", 151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.customWebsites" : "Add Custom Websites", 152 "pricing.features.workspaces": "Werkruimten",
153 "pricing.features.desktopNotifications" : "Desktop Notifications", 153 "pricing.plan.free": "Ferdi Free",
154 "pricing.features.onPremise" : "On-premise & other Hosted Services", 154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.features.recipes" : "Choose from more than 70 Services", 155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.features.serviceProxies" : "Service Proxies", 156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.features.spellchecker" : "Spellchecker support", 157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.features.teamManagement" : "Team Management", 158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.features.thirdPartyServices" : "Install 3rd party services", 159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.features.unlimitedServices" : "Add unlimited services", 160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.features.upToSixServices" : "Add up to 6 services", 161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.features.upToThreeServices" : "Add up to 3 services", 162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.features.workspaces" : "Workspaces", 163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.plan.free" : "Free", 164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.plan.legacy" : "Premium", 165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.plan.personal" : "Personal", 166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.plan.personal-monthly" : "Personal Monthly", 167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.plan.personal-yearly" : "Personal Yearly", 168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.plan.pro" : "Professional", 169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "pricing.plan.pro-monthly" : "Professional Monthly", 170 "service.crashHandler.action": "{naam} herladen",
171 "pricing.plan.pro-yearly" : "Professional Yearly", 171 "service.crashHandler.autoReload": "Ga proberen om {name} te herstellen over {seconds} seconden",
172 "pricing.trial.cta.accept" : "Start my 14-day Franz Professional Trial ", 172 "service.crashHandler.headline": "Oh nee!",
173 "pricing.trial.cta.skip" : "Continue to Franz", 173 "service.crashHandler.text": "{name} heeft een probleem veroorzaakt.",
174 "pricing.trial.cta.start" : "Start using Franz", 174 "service.disabledHandler.action": "Activeer {name}",
175 "pricing.trial.error" : "Sorry, we could not activate your trial!", 175 "service.disabledHandler.headline": "{name} is uitgeschakeld",
176 "pricing.trial.features.headline" : "Franz Professional includes:", 176 "service.errorHandler.action": "{naam} herladen",
177 "pricing.trial.headline.pro" : "Hi {name}, welcome to Franz", 177 "service.errorHandler.editAction": "Bewerk {name}",
178 "pricing.trial.intro.happyMessaging" : "Happy messaging,", 178 "service.errorHandler.headline": "Oh nee!",
179 "pricing.trial.intro.specialTreat" : "We have a special treat for you.", 179 "service.errorHandler.message": "Fout",
180 "pricing.trial.intro.tryPro" : "Enjoy the full Franz Professional experience completely free for 14 days.", 180 "service.errorHandler.text": "{name} kon niet geladen worden.",
181 "pricing.trial.terms.automaticTrialEnd" : "Your free trial ends automatically after 14 days", 181 "service.restrictedHandler.action": "Upgrade Account",
182 "pricing.trial.terms.headline" : "No strings attached", 182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "pricing.trial.terms.noCreditCard" : "No credit card required", 183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "pricing.trial.terms.trialWorth" : "Free trial (normally {currency}{price} per month)", 184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.crashHandler.action" : "{naam} herladen", 185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.crashHandler.autoReload" : "Ga proberen om {name} te herstellen over {seconds} seconden", 186 "service.webviewLoader.loading": "Aan het laden",
187 "service.crashHandler.headline" : "Oh nee!", 187 "services.getStarted": "Beginnen",
188 "service.crashHandler.text" : "{name} heeft een probleem veroorzaakt.", 188 "services.login": "Please login to use Ferdi.",
189 "service.disabledHandler.action" : "Activeer {name}", 189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "service.disabledHandler.headline" : "{name} is uitgeschakeld", 190 "services.serverless": "Use Ferdi without an Account",
191 "service.errorHandler.action" : "{naam} herladen", 191 "services.welcome": "Welkom bij Ferdi",
192 "service.errorHandler.editAction" : "Bewerk {name}", 192 "settings.account.account.editButton": "Account bewerken",
193 "service.errorHandler.headline" : "Oh nee!", 193 "settings.account.accountType.basic": "Basis Account",
194 "service.errorHandler.message" : "Fout", 194 "settings.account.accountType.premium": "Premium Supporter Account",
195 "service.errorHandler.text" : "{name} kon niet geladen worden.", 195 "settings.account.buttonSave": "Profiel bijwerken",
196 "service.restrictedHandler.action" : "Upgrade Account", 196 "settings.account.deleteAccount": "Account verwijderen",
197 "service.restrictedHandler.customUrl.headline" : "Franz Professional Plan required", 197 "settings.account.deleteEmailSent": "U heeft een email ontvangen met een bevestiginslink om uw account te verwijderen. Uw account en de bijhorende gegevens kunnen niet meer worden herstel na deze actie!",
198 "service.restrictedHandler.customUrl.text" : "Please upgrade to the Franz Professional plan to use custom urls & self hosted services.", 198 "settings.account.deleteInfo": "Indien u uw Ferdi account niet meer nodig heeft, kan u hier uw account en alle gerelateerde gegevens verwijderen.",
199 "service.restrictedHandler.serviceLimit.headline" : "You have reached your service limit.", 199 "settings.account.headline": "Account",
200 "service.restrictedHandler.serviceLimit.text" : "Please upgrade your account to use more than {count} services.", 200 "settings.account.headlineAccount": "Account informatie",
201 "service.webviewLoader.loading" : "Aan het laden", 201 "settings.account.headlineDangerZone": "Gevarenzone",
202 "services.getStarted" : "Beginnen", 202 "settings.account.headlineInvoices": "Facturen",
203 "services.welcome" : "Welkom bij Franz", 203 "settings.account.headlinePassword": "Wijzig wachtwoord",
204 "settings.account.account.editButton" : "Account bewerken", 204 "settings.account.headlineProfile": "Profiel bijwerken",
205 "settings.account.accountType.basic" : "Basis Account", 205 "settings.account.headlineSubscription": "Je abonnement",
206 "settings.account.accountType.premium" : "Premium Supporter Account", 206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.buttonSave" : "Profiel bijwerken", 207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.deleteAccount" : "Account verwijderen", 208 "settings.account.invoiceDownload": "Download",
209 "settings.account.deleteEmailSent" : "U heeft een email ontvangen met een bevestiginslink om uw account te verwijderen. Uw account en de bijhorende gegevens kunnen niet meer worden herstel na deze actie!", 209 "settings.account.manageSubscription.label": "Beheer je abonnement",
210 "settings.account.deleteInfo" : "Indien u uw Franz account niet meer nodig heeft, kan u hier uw account en alle gerelateerde gegevens verwijderen.", 210 "settings.account.successInfo": "Je wijzigingen zijn opgeslagen",
211 "settings.account.headline" : "Account", 211 "settings.account.trial": "Free Trial",
212 "settings.account.headlineAccount" : "Account informatie", 212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.headlineDangerZone" : "Gevarenzone", 213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.headlineInvoices" : "Facturen", 214 "settings.account.tryReloadServices": "Probeer opnieuw",
215 "settings.account.headlinePassword" : "Wijzig wachtwoord", 215 "settings.account.tryReloadUserInfoRequest": "Probeer opnieuw",
216 "settings.account.headlineProfile" : "Profiel bijwerken", 216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.headlineSubscription" : "Je abonnement", 217 "settings.account.userInfoRequestFailed": "Kon gebruikersinformatie niet laden",
218 "settings.account.headlineTrialUpgrade" : "Get the free 14 day Franz Professional Trial", 218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.account.headlineUpgradeAccount" : "Upgrade your account & get the full Franz experience", 219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.account.invoiceDownload" : "Download", 220 "settings.app.buttonClearAllCache": "Cache wissen",
221 "settings.account.manageSubscription.label" : "Beheer je abonnement", 221 "settings.app.buttonInstallUpdate": "Opnieuw opstarten & update installeren",
222 "settings.account.successInfo" : "Je wijzigingen zijn opgeslagen", 222 "settings.app.buttonSearchForUpdate": "Controleer op updates",
223 "settings.account.trial" : "Free Trial", 223 "settings.app.cacheInfo": "Ferdi cache gebruikt momenteel {size} schijfruimte.",
224 "settings.account.trialEndsIn" : "Your free trial ends in {duration}.", 224 "settings.app.currentVersion": "Huidige versie:",
225 "settings.account.trialUpdateBillingInfo" : "Please update your billing info to continue using {license} after your trial period.", 225 "settings.app.form.accentColor": "Accent color",
226 "settings.account.tryReloadServices" : "Probeer opnieuw", 226 "settings.app.form.autoLaunchInBackground": "Open op de achtergrond",
227 "settings.account.tryReloadUserInfoRequest" : "Probeer opnieuw", 227 "settings.app.form.autoLaunchOnStart": "Lanceer Ferdi bij opstarten",
228 "settings.account.upgradeToPro.label" : "Upgrade to Franz Professional", 228 "settings.app.form.beta": "Inclusief beta versies",
229 "settings.account.userInfoRequestFailed" : "Kon gebruikersinformatie niet laden", 229 "settings.app.form.darkMode": "Word lid van de Dark Side",
230 "settings.account.yourLicense" : "Your Franz License", 230 "settings.app.form.enableGPUAcceleration": "GPU Acceleratie Activeren",
231 "settings.app.buttonClearAllCache" : "Cache wissen", 231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.buttonInstallUpdate" : "Herstart & installeer update", 232 "settings.app.form.enableSpellchecking": "Spellingcontrole inschakelen",
233 "settings.app.buttonSearchForUpdate" : "Controleer op updates", 233 "settings.app.form.enableSystemTray": "Toon Ferdi in de systeembalk",
234 "settings.app.cacheInfo" : "Franz cache gebruikt momenteel {size} schijfruimte.", 234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.currentVersion" : "Huidige versie:", 235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.autoLaunchInBackground" : "Open op de achtergrond", 236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.autoLaunchOnStart" : "Lanceer Franz bij opstarten", 237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.beta" : "Inclusief beta versies", 238 "settings.app.form.language": "Taal",
239 "settings.app.form.darkMode" : "Word lid van de Dark Side", 239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.enableGPUAcceleration" : "GPU Acceleratie Activeren", 240 "settings.app.form.minimizeToSystemTray": "Minimaliseer Ferdi naar de systeembalk",
241 "settings.app.form.enableSpellchecking" : "Spellingcontrole inschakelen", 241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.enableSystemTray" : "Toon Franz in de systeembalk", 242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.enableTodos" : "Enable Franz Todos", 243 "settings.app.form.runInBackground": "Houd Ferdi op de achtergrond wanneer het venster gesloten wordt",
244 "settings.app.form.keepAllWorkspacesLoaded" : "Keep all workspaces loaded", 244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.language" : "Taal", 245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.minimizeToSystemTray" : "Minimaliseer Franz naar de systeembalk", 246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.runInBackground" : "Houd Franz op de achtergrond wanneer het venster gesloten wordt", 247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices" : "Toon uitgeschakelde services", 248 "settings.app.form.showDisabledServices": "Toon uitgeschakelde services",
249 "settings.app.form.showMessagesBadgesWhenMuted" : "Toon badge met ongelezen berichten wanneer meldingen zijn uitgeschakeld", 249 "settings.app.form.showMessagesBadgesWhenMuted": "Toon badge met ongelezen berichten wanneer meldingen zijn uitgeschakeld",
250 "settings.app.headline" : "Instellingen", 250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.headlineAdvanced" : "Geavanceerd", 251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.headlineAppearance" : "Weergave", 252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headlineGeneral" : "Algemeen", 253 "settings.app.headline": "Instellingen",
254 "settings.app.headlineLanguage" : "Taal", 254 "settings.app.headlineAdvanced": "Geavanceerd",
255 "settings.app.headlineUpdates" : "Updates", 255 "settings.app.headlineAppearance": "Weergave",
256 "settings.app.languageDisclaimer" : "Officiële vertalingen zijn in het Engels en Duits. Alle andere tallen zijn op de gemeenschap gebaseerde vertalingen.", 256 "settings.app.headlineGeneral": "Algemeen",
257 "settings.app.restartRequired" : "Deze wijziging heeft een herstart nodig", 257 "settings.app.headlineLanguage": "Taal",
258 "settings.app.subheadlineCache" : "Cache", 258 "settings.app.headlineUpdates": "Updates",
259 "settings.app.translationHelp" : "Help ons om Franz te vertalen naar uw taal.", 259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.updateStatusAvailable" : "Update beschikbaar, downloaden...", 260 "settings.app.languageDisclaimer": "Officiële vertalingen zijn in het Engels en Duits. Alle andere tallen zijn op de gemeenschap gebaseerde vertalingen.",
261 "settings.app.updateStatusSearching" : "Zoekt naar updates", 261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.updateStatusUpToDate" : "Je gebruikt de laatste versie van Franz", 262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.invite.headline" : "Nodig vrienden uit", 263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.navigation.account" : "Account", 264 "settings.app.restartRequired": "Deze wijziging heeft een herstart nodig",
265 "settings.navigation.availableServices" : "Beschikbare services", 265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.navigation.inviteFriends" : "Nodig vrienden uit", 266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.navigation.logout" : "Uitloggen", 267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.navigation.settings" : "Instellingen", 268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.navigation.team" : "Beheer Team", 269 "settings.app.subheadlineCache": "Cache",
270 "settings.navigation.yourServices" : "Jouw services", 270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.navigation.yourWorkspaces" : "Jouw werkruimtes", 271 "settings.app.translationHelp": "Help ons om Ferdi te vertalen naar uw taal.",
272 "settings.recipes.all" : "Alle diensten", 272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.recipes.custom" : "Custom Services", 273 "settings.app.updateStatusAvailable": "Update beschikbaar, downloaden...",
274 "settings.recipes.customService.headline.communityRecipes" : "Community 3rd Party Recipes", 274 "settings.app.updateStatusSearching": "Zoekt naar updates",
275 "settings.recipes.customService.headline.customRecipes" : "Custom 3rd Party Recipes", 275 "settings.app.updateStatusUpToDate": "Je gebruikt de laatste versie van Ferdi",
276 "settings.recipes.customService.headline.devRecipes" : "Your Development Service Recipes", 276 "settings.invite.headline": "Nodig vrienden uit",
277 "settings.recipes.customService.intro" : "To add a custom service, copy the service recipe to:", 277 "settings.navigation.account": "Account",
278 "settings.recipes.customService.openDevDocs" : "Developer Documentation", 278 "settings.navigation.availableServices": "Beschikbare services",
279 "settings.recipes.customService.openFolder" : "Open folder", 279 "settings.navigation.logout": "Uitloggen",
280 "settings.recipes.headline" : "Beschikbare services", 280 "settings.navigation.settings": "Instellingen",
281 "settings.recipes.missingService" : "Mist er een service?", 281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.recipes.mostPopular" : "Meest populair", 282 "settings.navigation.team": "Beheer Team",
283 "settings.recipes.nothingFound" : "Sorry, maar geen enkele service kwam overeen met je zoekterm.", 283 "settings.navigation.yourServices": "Jouw services",
284 "settings.recipes.servicesSuccessfulAddedInfo" : "Service succesvol toegevoegd", 284 "settings.navigation.yourWorkspaces": "Jouw werkruimtes",
285 "settings.searchService" : "Service zoeken", 285 "settings.recipes.all": "Alle services",
286 "settings.service.error.goBack" : "Terug naar services", 286 "settings.recipes.custom": "Custom Services",
287 "settings.service.error.headline" : "Fout", 287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.service.error.message" : "Kon het service-recept niet laden.", 288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.service.form.addServiceHeadline" : "{name} toevoegen", 289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.service.form.availableServices" : "Beschikbare services", 290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.service.form.customUrl" : "Aangepaste server", 291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.service.form.customUrlPremiumInfo" : "Om intern gehoste services toe te voegen heb je een Franz Premium Supporter Account nodig.", 292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.service.form.customUrlUpgradeAccount" : "Je account upgraden", 293 "settings.recipes.headline": "Beschikbare services",
294 "settings.service.form.customUrlValidationError" : "Kon de custom {name} server niet valideren.", 294 "settings.recipes.missingService": "Mist er een service?",
295 "settings.service.form.deleteButton" : "Service verwijderen", 295 "settings.recipes.mostPopular": "Meest populair",
296 "settings.service.form.editServiceHeadline" : "{name} aanpassen", 296 "settings.recipes.nothingFound": "Sorry, maar geen enkele service kwam overeen met je zoekterm.",
297 "settings.service.form.enableAudio" : "Audio inschakelen", 297 "settings.recipes.servicesSuccessfulAddedInfo": "Service succesvol toegevoegd",
298 "settings.service.form.enableBadge" : "Toon badges met ongelezen berichten", 298 "settings.searchService": "Service zoeken",
299 "settings.service.form.enableDarkMode" : "Dark Mode aanzetten", 299 "settings.service.error.goBack": "Terug naar services",
300 "settings.service.form.enableNotification" : "Notificaties aanzetten", 300 "settings.service.error.headline": "Fout",
301 "settings.service.form.enableService" : "Service aanzetten", 301 "settings.service.error.message": "Kon het service-recept niet laden.",
302 "settings.service.form.headlineBadges" : "Ongelezen berichten badges", 302 "settings.service.form.addServiceHeadline": "{name} toevoegen",
303 "settings.service.form.headlineGeneral" : "Algemeen", 303 "settings.service.form.availableServices": "Beschikbare services",
304 "settings.service.form.headlineNotifications" : "Meldingen", 304 "settings.service.form.customUrl": "Aangepaste server",
305 "settings.service.form.icon" : "Aangepast icoon", 305 "settings.service.form.customUrlPremiumInfo": "Om intern gehoste services toe te voegen heb je een Ferdi Premium Supporter Account nodig.",
306 "settings.service.form.iconDelete" : "Verwijderen", 306 "settings.service.form.customUrlUpgradeAccount": "Je account upgraden",
307 "settings.service.form.iconUpload" : "Sleep en drop je afbeelding, of klik hier", 307 "settings.service.form.customUrlValidationError": "Kon de custom {name} server niet valideren.",
308 "settings.service.form.indirectMessageInfo" : "Je wordt verwittigd over alle nieuwe berichten in een kanaal, niet alleen @username, @channel, @here, ...", 308 "settings.service.form.deleteButton": "Service verwijderen",
309 "settings.service.form.indirectMessages" : "Toon berichten-badge voor alle nieuwe berichten", 309 "settings.service.form.editServiceHeadline": "Bewerk {name}",
310 "settings.service.form.isMutedInfo" : "Indien uitgeschakeld zullen alle meldingsgeluiden en afgespeelde audio uitgeschakeld zijn", 310 "settings.service.form.enableAudio": "Audio inschakelen",
311 "settings.service.form.name" : "Naam", 311 "settings.service.form.enableBadge": "Toon badges met ongelezen berichten",
312 "settings.service.form.proxy.headline" : "HTTP\/HTTPS Proxy Instellingen", 312 "settings.service.form.enableDarkMode": "Dark Mode aanzetten",
313 "settings.service.form.proxy.host" : "Proxy Host\/IP", 313 "settings.service.form.enableNotification": "Notificaties aanzetten",
314 "settings.service.form.proxy.info" : "Proxy instellingen worden niet gesynchroniseerd met de Franz servers.", 314 "settings.service.form.enableService": "Service aanzetten",
315 "settings.service.form.proxy.isEnabled" : "Proxy gebruiken", 315 "settings.service.form.headlineBadges": "Ongelezen berichten badges",
316 "settings.service.form.proxy.password" : "Wachtwoord (optioneel)", 316 "settings.service.form.headlineGeneral": "Algemeen",
317 "settings.service.form.proxy.port" : "Poort", 317 "settings.service.form.headlineNotifications": "Meldingen",
318 "settings.service.form.proxy.restartInfo" : "Start Franz opnieuw op na het aanpassen van proxy Instellingen.", 318 "settings.service.form.icon": "Aangepast icoon",
319 "settings.service.form.proxy.user" : "Gebruiker (optioneel)", 319 "settings.service.form.iconDelete": "Verwijderen",
320 "settings.service.form.saveButton" : "Service opslaan", 320 "settings.service.form.iconUpload": "Sleep en drop je afbeelding, of klik hier",
321 "settings.service.form.tabHosted" : "Gehost", 321 "settings.service.form.indirectMessageInfo": "Je wordt verwittigd over alle nieuwe berichten in een kanaal, niet alleen @username, @channel, @here, ...",
322 "settings.service.form.tabOnPremise" : "Intern gehost ⭐️", 322 "settings.service.form.indirectMessages": "Toon berichten-badge voor alle nieuwe berichten",
323 "settings.service.form.team" : "Team", 323 "settings.service.form.isMutedInfo": "Indien uitgeschakeld zullen alle meldingsgeluiden en afgespeelde audio uitgeschakeld zijn",
324 "settings.service.form.useHostedService" : "Gebruik de gehoste {name} service.", 324 "settings.service.form.name": "Naam",
325 "settings.service.form.yourServices" : "Jouw services", 325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.services.deletedInfo" : "Service werd verwijderd", 326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Instellingen",
327 "settings.services.discoverServices" : "Services ontdekken", 327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.services.headline" : "Jouw services", 328 "settings.service.form.proxy.info": "Proxy instellingen worden niet gesynchroniseerd met de Ferdi servers.",
329 "settings.services.noServicesAdded" : "Je hebt nog geen services toegevoegd.", 329 "settings.service.form.proxy.isEnabled": "Proxy gebruiken",
330 "settings.services.servicesRequestFailed" : "Kan je diensten niet laden", 330 "settings.service.form.proxy.password": "Wachtwoord (optioneel)",
331 "settings.services.tooltip.isDisabled" : "Service is uitgeschakeld", 331 "settings.service.form.proxy.port": "Poort",
332 "settings.services.tooltip.isMuted" : "Alle geluiden zijn uitgeschakeld", 332 "settings.service.form.proxy.restartInfo": "Start Ferdi opnieuw op na het aanpassen van proxy Instellingen.",
333 "settings.services.tooltip.notificationsDisabled" : "Notificaties staan uit", 333 "settings.service.form.proxy.user": "Gebruiker (optioneel)",
334 "settings.services.updatedInfo" : "Je wijzigingen zijn opgeslagen", 334 "settings.service.form.saveButton": "Service opslaan",
335 "settings.team.contentHeadline" : "Frans voor Teams", 335 "settings.service.form.tabHosted": "Gehost",
336 "settings.team.copy" : "Franz voor Teams geeft je de mogelijkheid om collega's uit te nodigen voor je team door hen een e-mail te sturen en hun inschrijvingen te beheren in je accountvoorkeuren. Verspil geen tijd met het instellen van inschrijvingen voor elk teamlid apart, vergeet meerdere facturen en verschillende afrekeningsperiodes - één team regeert alles!", 336 "settings.service.form.tabOnPremise": "Intern gehost ⭐️",
337 "settings.team.headline" : "Team", 337 "settings.service.form.team": "Team",
338 "settings.team.intro" : "Gebruiken jij en je team Franz? Je kunt nu Premium inschrijvingen beheren voor zoveel collega's, vrienden, of familieleden als je wilt, allemaal vanaf één account.", 338 "settings.service.form.useHostedService": "Gebruik de gehoste {name} service.",
339 "settings.team.manageAction" : "Beheer je Team op meetfranz.com", 339 "settings.service.form.yourServices": "Jouw services",
340 "settings.team.upgradeAction" : "Upgrade je Account", 340 "settings.services.deletedInfo": "Service werd verwijderd",
341 "settings.user.form.accountType.company" : "Bedrijf", 341 "settings.services.discoverServices": "Services ontdekken",
342 "settings.user.form.accountType.individual" : "Particulier", 342 "settings.services.headline": "Jouw services",
343 "settings.user.form.accountType.label" : "Account type", 343 "settings.services.noServicesAdded": "Je hebt nog geen services toegevoegd.",
344 "settings.user.form.accountType.non-profit" : "Non-Profit", 344 "settings.services.servicesRequestFailed": "Kan je diensten niet laden",
345 "settings.user.form.currentPassword" : "Huidig wachtwoord", 345 "settings.services.tooltip.isDisabled": "Service is uitgeschakeld",
346 "settings.user.form.email" : "Email", 346 "settings.services.tooltip.isMuted": "Alle geluiden zijn uitgeschakeld",
347 "settings.user.form.firstname" : "Voornaam", 347 "settings.services.tooltip.notificationsDisabled": "Notificaties staan uit",
348 "settings.user.form.lastname" : "Achternaam", 348 "settings.services.updatedInfo": "Je wijzigingen zijn opgeslagen",
349 "settings.user.form.newPassword" : "Nieuw wachtwoord", 349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.workspace.add.form.name" : "Naam", 350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.workspace.add.form.submitButton" : "Maak werkruimte aan", 351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.workspace.form.buttonDelete" : "Verwijder werkruimte", 352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.workspace.form.buttonSave" : "Bewaar werkruimte", 353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.workspace.form.name" : "Naam", 354 "settings.team.contentHeadline": "Frans voor Teams",
355 "settings.workspace.form.servicesInWorkspaceHeadline" : "Diensten in deze Werkruimte", 355 "settings.team.copy": "Ferdi voor Teams geeft je de mogelijkheid om collega's uit te nodigen voor je team door hen een e-mail te sturen en hun inschrijvingen te beheren in je accountvoorkeuren. Verspil geen tijd met het instellen van inschrijvingen voor elk teamlid apart, vergeet meerdere facturen en verschillende afrekeningsperiodes - één team regeert alles!",
356 "settings.workspace.form.yourWorkspaces" : "Jouw werkruimtes", 356 "settings.team.headline": "Team",
357 "settings.workspaces.deletedInfo" : "Werkruimte is verwijderd", 357 "settings.team.intro": "Gebruiken jij en je team Ferdi? Je kunt nu Premium inschrijvingen beheren voor zoveel collega's, vrienden, of familieleden als je wilt, allemaal vanaf één account.",
358 "settings.workspaces.headline" : "Je werkruimtes", 358 "settings.team.manageAction": "Beheer je Team op getferdi.com",
359 "settings.workspaces.noWorkspacesAdded" : "Je hebt nog geen werkruimtes toegevoegd.", 359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.workspaces.tryReloadWorkspaces" : "Probeer opnieuw", 360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.workspaces.updatedInfo" : "Je wijzigingen zijn opgeslagen", 361 "settings.team.upgradeAction": "Upgrade je Account",
362 "settings.workspaces.workspaceFeatureHeadline" : "Minder is meer: we presenteren Franz Werkruimtes", 362 "settings.user.form.accountType.company": "Bedrijf",
363 "settings.workspaces.workspaceFeatureInfo" : "Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.", 363 "settings.user.form.accountType.individual": "Particulier",
364 "settings.workspaces.workspacesRequestFailed" : "Kan je werkruimtes niet laden", 364 "settings.user.form.accountType.label": "Account type",
365 "sidebar.addNewService" : "Nieuw service toevoegen", 365 "settings.user.form.accountType.non-profit": "Non-Profit",
366 "sidebar.closeTodosDrawer" : "Close Franz Todos", 366 "settings.user.form.currentPassword": "Huidig wachtwoord",
367 "sidebar.closeWorkspaceDrawer" : "Werkruimtelade sluiten", 367 "settings.user.form.email": "Email",
368 "sidebar.muteApp" : "Berichten & geluid uitschakelen", 368 "settings.user.form.firstname": "Voornaam",
369 "sidebar.openTodosDrawer" : "Open Franz Todos", 369 "settings.user.form.lastname": "Achternaam",
370 "sidebar.openWorkspaceDrawer" : "Werkruimtelade openen", 370 "settings.user.form.newPassword": "Nieuw wachtwoord",
371 "sidebar.settings" : "Instellingen", 371 "settings.workspace.add.form.name": "Naam",
372 "sidebar.unmuteApp" : "Berichten & geluid inschakelen", 372 "settings.workspace.add.form.submitButton": "Maak werkruimte aan",
373 "signup.email.label" : "E-mailadres", 373 "settings.workspace.form.buttonDelete": "Verwijder werkruimte",
374 "signup.emailDuplicate" : "Er bestaat al een gebruiker met dat e-mailadres", 374 "settings.workspace.form.buttonSave": "Bewaar werkruimte",
375 "signup.firstname.label" : "Voornaam", 375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "signup.headline" : "Registreren", 376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "signup.lastname.label" : "Achternaam", 377 "settings.workspace.form.name": "Naam",
378 "signup.legal.info" : "Door een account aan te maken aanvaard je de", 378 "settings.workspace.form.servicesInWorkspaceHeadline": "Diensten in deze Werkruimte",
379 "signup.legal.privacy" : "Privacyverklaring", 379 "settings.workspace.form.yourWorkspaces": "Jouw werkruimtes",
380 "signup.legal.terms" : "Servicevoorwaarden", 380 "settings.workspaces.deletedInfo": "Werkruimte is verwijderd",
381 "signup.link.login" : "Al een account, inloggen?", 381 "settings.workspaces.headline": "Jouw werkruimtes",
382 "signup.password.label" : "Wachtwoord", 382 "settings.workspaces.noWorkspacesAdded": "Je hebt nog geen werkruimtes toegevoegd.",
383 "signup.submit.label" : "Account aanmaken", 383 "settings.workspaces.tryReloadWorkspaces": "Probeer opnieuw",
384 "subscription.bestValue" : "Best value", 384 "settings.workspaces.updatedInfo": "Je wijzigingen zijn opgeslagen",
385 "subscription.cta.activateTrial" : "Yes, start the free Franz Professional trial", 385 "settings.workspaces.workspaceFeatureHeadline": "Minder is meer: we presenteren Ferdi Werkruimtes",
386 "subscription.cta.allOptions" : "See all options", 386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "subscription.cta.choosePlan" : "Choose your plan", 387 "settings.workspaces.workspacesRequestFailed": "Kan je werkruimtes niet laden",
388 "subscription.includedProFeatures" : "The Franz Professional Plan includes:", 388 "sidebar.addNewService": "Nieuw service toevoegen",
389 "subscription.interval.per" : "per {interval}", 389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "subscription.interval.perMonth" : "per month", 390 "sidebar.closeWorkspaceDrawer": "Werkruimtepagina sluiten",
391 "subscription.interval.perMonthPerUser" : "per month & user", 391 "sidebar.lockFerdi": "Lock Ferdi",
392 "subscription.planItem.upgradeAccount" : "Upgrade Account", 392 "sidebar.muteApp": "Berichten & geluid uitschakelen",
393 "subscription.teaser.includedFeatures" : "Paid Franz Plans include:", 393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "subscription.teaser.intro" : "Franz 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!", 394 "sidebar.openWorkspaceDrawer": "Werkruimtepagina openen",
395 "subscriptionPopup.buttonCancel" : "Annuleren", 395 "sidebar.settings": "Instellingen",
396 "subscriptionPopup.buttonDone" : "Klaar", 396 "sidebar.unmuteApp": "Berichten & geluid inschakelen",
397 "tabs.item.deleteService" : "Service verwijderen", 397 "signup.email.label": "E-mailadres",
398 "tabs.item.disableAudio" : "Audio uitschakelen", 398 "signup.emailDuplicate": "Er bestaat al een gebruiker met dat e-mailadres",
399 "tabs.item.disableNotifications" : "Notificaties uitschakelen", 399 "signup.firstname.label": "Voornaam",
400 "tabs.item.disableService" : "Service uitschakelen", 400 "signup.headline": "Registreren",
401 "tabs.item.edit" : "Aanpassen", 401 "signup.lastname.label": "Achternaam",
402 "tabs.item.enableAudio" : "Audio inschakelen", 402 "signup.legal.info": "Door een account aan te maken aanvaard je de",
403 "tabs.item.enableNotification" : "Notificaties inschakelen", 403 "signup.legal.privacy": "Privacyverklaring",
404 "tabs.item.enableService" : "Service inschakelen", 404 "signup.legal.terms": "Servicevoorwaarden",
405 "tabs.item.reload" : "Herladen", 405 "signup.link.login": "Al een account, inloggen?",
406 "validation.email" : "{field} is niet geldig", 406 "signup.password.label": "Password",
407 "validation.minLength" : "{field} moet minimaal {length} karakters lang zijn", 407 "signup.submit.label": "Account aanmaken",
408 "validation.oneRequired" : "Ten minste één is vereist", 408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "validation.required" : "{field} is vereist", 409 "subscription.cta.allOptions": "See all options",
410 "validation.url" : "{field} is niet een geldige URL", 410 "subscription.cta.choosePlan": "Choose your plan",
411 "webControls.back" : "Back", 411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "webControls.forward" : "Forward", 412 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:",
413 "webControls.goHome" : "Home", 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!",
414 "webControls.openInBrowser" : "Open in Browser", 414 "subscriptionPopup.buttonCancel": "Annuleren",
415 "webControls.reload" : "Herladen", 415 "subscriptionPopup.buttonDone": "Klaar",
416 "welcome.loginButton" : "Inloggen op je account", 416 "tabs.item.deleteService": "Service verwijderen",
417 "welcome.signupButton" : "Maak een gratis account aan", 417 "tabs.item.disableAudio": "Audio uitschakelen",
418 "workspaceDrawer.addNewWorkspaceLabel" : "Voeg een nieuwe werkruimte toe", 418 "tabs.item.disableNotifications": "Notificaties uitschakelen",
419 "workspaceDrawer.allServices" : "Alle diensten", 419 "tabs.item.disableService": "Service uitschakelen",
420 "workspaceDrawer.headline" : "Werkruimtes", 420 "tabs.item.edit": "Bewerken",
421 "workspaceDrawer.item.contextMenuEdit" : "bewerken", 421 "tabs.item.enableAudio": "Audio inschakelen",
422 "workspaceDrawer.item.noServicesAddedYet" : "Nog geen diensten toegevoegd", 422 "tabs.item.enableNotification": "Notificaties aanzetten",
423 "workspaceDrawer.premiumCtaButtonLabel" : "Maak je eerste werkruimte aan", 423 "tabs.item.enableService": "Service aanzetten",
424 "workspaceDrawer.proFeatureBadge" : "Premium feature", 424 "tabs.item.reload": "Herladen",
425 "workspaceDrawer.reactivatePremiumAccountLabel" : "Heractiveer premium account", 425 "validation.email": "{field} is niet geldig",
426 "workspaceDrawer.workspaceFeatureInfo" : "<p>Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.<\/p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.<\/p>", 426 "validation.minLength": "{field} moet minimaal {length} karakters lang zijn",
427 "workspaceDrawer.workspacesSettingsTooltip" : "Pas werkruimte instellingen aan", 427 "validation.oneRequired": "Ten minste één is vereist",
428 "workspaces.switchingIndicator.switchingTo" : "Overschakelen naar" 428 "validation.required": "{field} is vereist",
429 "validation.url": "{field} is niet een geldige URL",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Herladen",
435 "welcome.loginButton": "Inloggen op je account",
436 "welcome.signupButton": "Maak een gratis account aan",
437 "workspaceDrawer.addNewWorkspaceLabel": "Voeg een nieuwe werkruimte toe",
438 "workspaceDrawer.allServices": "Alle services",
439 "workspaceDrawer.headline": "Werkruimten",
440 "workspaceDrawer.item.contextMenuEdit": "bewerken",
441 "workspaceDrawer.item.noServicesAddedYet": "Nog geen diensten toegevoegd",
442 "workspaceDrawer.premiumCtaButtonLabel": "Maak je eerste werkruimte aan",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Heractiveer premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Pas werkruimte instellingen aan",
447 "workspaces.switchingIndicator.switchingTo": "Overschakelen naar"
429} 448}
diff --git a/src/i18n/locales/nl.json b/src/i18n/locales/nl.json
index 42d4fe995..af26ffa1e 100644
--- a/src/i18n/locales/nl.json
+++ b/src/i18n/locales/nl.json
@@ -1,429 +1,448 @@
1{ 1{
2 "app.errorHandler.action" : "Herladen", 2 "app.errorHandler.action": "Herladen",
3 "app.errorHandler.headline" : "Er is iets mis gegaan", 3 "app.errorHandler.headline": "Er is iets mis gegaan",
4 "feature.announcements.changelog.headline" : "Wijzigingen in Franz {version}", 4 "feature.announcements.changelog.headline": "Wijzigingen in Ferdi {version}",
5 "feature.delayApp.headline" : "Upgrade your Franz plan to skip the wait", 5 "feature.delayApp.headline": "Sponsor Ferdi om wachten over te slaan",
6 "feature.delayApp.text" : "Franz gaat over {seconds} seconden verder.", 6 "feature.delayApp.text": "Ferdi gaat over {seconds} seconden verder.",
7 "feature.delayApp.trial.action" : "Ja, ik wil graag 14 dagen lang Franz Professional uitproberen", 7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort" : "Activeer de gratis Franz Professional probeerversie", 8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
9 "feature.delayApp.trial.headline" : "Get the free Franz Professional 14-days trial and skip the wait", 9 "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line",
10 "feature.delayApp.upgrade.action" : "Upgrade Franz", 10 "feature.delayApp.upgrade.action": "Sponsor Ferdi",
11 "feature.delayApp.upgrade.actionShort" : "Upgrade Account", 11 "feature.delayApp.upgrade.actionShort": "Upgrade Account",
12 "feature.planSelection.cta.ctaDowngradeFree" : "Downgrade to Free", 12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.planSelection.cta.stayOnFree" : "Stay on Free", 13 "feature.quickSwitch.search": "Search...",
14 "feature.planSelection.cta.trial" : "Start my free 14-days Trial", 14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.planSelection.cta.upgradePersonal" : "Choose Personal", 15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.planSelection.cta.upgradePro" : "Choose Professional", 16 "feature.shareFranz.action.email": "Verstuur als e-mail",
17 "feature.planSelection.free.text" : "Basic functionality", 17 "feature.shareFranz.action.facebook": "Deel op Facebook",
18 "feature.planSelection.fullFeatureList" : "Complete comparison of all plans", 18 "feature.shareFranz.action.twitter": "Deel op Twitter",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 19 "feature.shareFranz.headline": "Ferdi is leuker samen!",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade" : "Choose Personal", 20 "feature.shareFranz.shareText.email": "Ik heb {count} services toegevoegd aan Ferdi! Download de gratis app voor Whatsapp, Messenger, Slack, Skype en co op www.getferdi.com",
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.", 21 "feature.shareFranz.shareText.twitter": "Ik heb {count} services toegevoegd aan Ferdi! Download de gratis app voor Whatsapp, Messenger, Slack, Skype en co op www.getferdi.com /cc @FerdiMessenger",
22 "feature.planSelection.fullscreen.dialog.title" : "Downgrade your Franz Plan", 22 "feature.shareFranz.text": "Vertel je vrienden en collega's hoe geweldig Ferdi is en help ons om bekender te worden.",
23 "feature.planSelection.fullscreen.subheadline" : "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.", 23 "feature.todos.premium.info": "Ferdi Todos are available to premium users now!",
24 "feature.planSelection.fullscreen.welcome" : "Are you ready to choose, {name}?", 24 "feature.todos.premium.rollout": "Everyone else will have to wait a little longer.",
25 "feature.planSelection.personal.text" : "More services, no waiting - ideal for personal use.", 25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "feature.planSelection.pricesBasedOnAnnualPayment" : "All prices based on yearly payment", 26 "global.api.unhealthy": "Kan geen verbinding maken met de Ferdi-services.",
27 "feature.planSelection.pro.text" : "Unlimited services and professional features for you - and your team.", 27 "global.franzProRequired": "Ferdi Professional Required",
28 "feature.serviceLimit.limitReached" : "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.", 28 "global.notConnectedToTheInternet": "U bent niet verbonden met het internet.",
29 "feature.shareFranz.action.email" : "Verstuur als e-mail", 29 "global.spellchecker.useDefault": "Gebruik systeemstandaard ({default})",
30 "feature.shareFranz.action.facebook" : "Deel op Facebook", 30 "global.spellchecking.autodetect": "Taal automatisch herkennen",
31 "feature.shareFranz.action.twitter" : "Deel op Twitter", 31 "global.spellchecking.autodetect.short": "Automatisch",
32 "feature.shareFranz.headline" : "Franz is leuker samen!", 32 "global.spellchecking.language": "Taal voor spellingcontrole",
33 "feature.shareFranz.shareText.email" : "Ik heb {count} services toegevoegd aan Franz! Download de gratis app voor Whatsapp, Messenger, Slack, Skype en co op www.meetfranz.com", 33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "feature.shareFranz.shareText.twitter" : "Ik heb {count} services toegevoegd aan Franz! Download de gratis app voor Whatsapp, Messenger, Slack, Skype en co op www.meetfranz.com \/cc @FranzMessenger", 34 "import.headline": "Importeer uw Ferdi 4-services",
35 "feature.shareFranz.text" : "Vertel je vrienden en collega's hoe geweldig Franz is en help ons om bekender te worden.", 35 "import.notSupportedHeadline": "Services die (nog) niet ondersteund worden in Ferdi 5",
36 "feature.todos.premium.info" : "Franz Todos are available to premium users now!", 36 "import.skip.label": "Ik wil diensten handmatig toevoegen",
37 "feature.todos.premium.rollout" : "Everyone else will have to wait a little longer.", 37 "import.submit.label": "Importeer services",
38 "feature.todos.premium.upgrade" : "Upgrade account", 38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "feature.trialStatusBar.cta" : "Upgrade now", 39 "infobar.buttonChangelog": "Wat is er nieuw?",
40 "feature.trialStatusBar.expired" : "Your free Franz {plan} Trial has expired, please upgrade your account.", 40 "infobar.buttonInstallUpdate": "Opnieuw opstarten & update installeren",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 41 "infobar.buttonReloadServices": "Services opnieuw laden",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade" : "Choose Personal", 42 "infobar.requiredRequestsFailed": "Kan de services en gebruikersinformatie niet laden",
43 "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.", 43 "infobar.servicesUpdated": "Je services zijn bijgewerkt.",
44 "feature.trialStatusBar.fullscreen.dialog.title" : "Downgrade your Franz Plan", 44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "feature.trialStatusBar.restTime" : "Your Free Franz {plan} Trial ends in {time}.", 45 "infobar.updateAvailable": "Een nieuwe update voor Ferdi is beschikbaar.",
46 "global.api.unhealthy" : "Kan geen verbinding maken met de Franz-services.", 46 "invite.email.label": "E-mailadres",
47 "global.franzProRequired" : "Franz Professional benodigd", 47 "invite.headline.friends": "Nodig 3 vrienden of collega's uit",
48 "global.notConnectedToTheInternet" : "U bent niet verbonden met het internet.", 48 "invite.name.label": "Naam",
49 "global.spellchecker.useDefault" : "Gebruik systeemstandaard ({default})", 49 "invite.skip.label": "Ik wil dit later doen",
50 "global.spellchecking.autodetect" : "Taal automatisch herkennen", 50 "invite.submit.label": "Uitnodigingen verzenden",
51 "global.spellchecking.autodetect.short" : "Automatisch", 51 "invite.successInfo": "Uitnodigingen verzonden",
52 "global.spellchecking.language" : "Taal voor spellingcontrole", 52 "locked.headline": "Locked",
53 "global.upgradeButton.upgradeToPro" : "Upgrade naar Franz Professional", 53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "import.headline" : "Importeer uw Franz 4-services", 54 "locked.invalidCredentials": "Password invalid",
55 "import.notSupportedHeadline" : "Services die (nog) niet ondersteund worden in Franz 5", 55 "locked.password.label": "Password",
56 "import.skip.label" : "Ik wil diensten handmatig toevoegen", 56 "locked.submit.label": "Unlock",
57 "import.submit.label" : "Importeer services", 57 "login.changeServer": "Change server",
58 "infobar.buttonChangelog" : "Wat is er nieuw?", 58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "infobar.buttonInstallUpdate" : "Opnieuw opstarten & update installeren", 59 "login.customServerSuggestion": "Try importing your Franz account",
60 "infobar.buttonReloadServices" : "Services opnieuw laden", 60 "login.email.label": "E-mailadres",
61 "infobar.requiredRequestsFailed" : "Kan de services en gebruikersinformatie niet laden", 61 "login.headline": "Inloggen",
62 "infobar.servicesUpdated" : "Je services zijn bijgewerkt.", 62 "login.invalidCredentials": "E-mailadres of wachtwoord ongeldig",
63 "infobar.trialActivated" : "Je probeerversie is met succes geactiveerd. Veel plezier!", 63 "login.link.password": "Wachtwoord vergeten",
64 "infobar.updateAvailable" : "Een nieuwe update voor Franz is beschikbaar.", 64 "login.link.signup": "Maak een gratis account aan",
65 "invite.email.label" : "E-mailadres", 65 "login.password.label": "Password",
66 "invite.headline.friends" : "Nodig 3 vrienden of collega's uit", 66 "login.serverLogout": "De sessie is verlopen, log alsjeblieft opnieuw in.",
67 "invite.name.label" : "Naam", 67 "login.submit.label": "Inloggen",
68 "invite.skip.label" : "Ik wil dit later doen", 68 "login.tokenExpired": "De sessie is verlopen, log alsjeblieft opnieuw in.",
69 "invite.submit.label" : "Uitnodigingen verzenden", 69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "invite.successInfo" : "Uitnodigingen verzonden", 70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "login.email.label" : "E-mailadres", 71 "menu.app.about": "Over Ferdi",
72 "login.headline" : "Inloggen", 72 "menu.app.announcement": "Wat is nieuw?",
73 "login.invalidCredentials" : "E-mailadres of wachtwoord ongeldig", 73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "login.link.password" : "Wachtwoord vergeten", 74 "menu.app.checkForUpdates": "Controleer op updates",
75 "login.link.signup" : "Maak een gratis account aan", 75 "menu.app.hide": "Verbergen",
76 "login.password.label" : "Wachtwoord", 76 "menu.app.hideOthers": "Andere verbergen",
77 "login.serverLogout" : "De sessie is verlopen, log alsjeblieft opnieuw in.", 77 "menu.app.quit": "Afsluiten",
78 "login.submit.label" : "Inloggen", 78 "menu.app.settings": "Instellingen",
79 "login.tokenExpired" : "De sessie is verlopen, log opnieuw in alsjeblieft.", 79 "menu.app.unhide": "Tonen",
80 "menu.Todoss.closeTodosDrawer" : "Close Todos drawer", 80 "menu.edit": "Bewerk",
81 "menu.Todoss.openTodosDrawer" : "Open Todos drawer", 81 "menu.edit.copy": "Kopiëren",
82 "menu.app.about" : "Over Franz", 82 "menu.edit.cut": "Knippen",
83 "menu.app.announcement" : "Wat is nieuw?", 83 "menu.edit.delete": "Verwijderen",
84 "menu.app.checkForUpdates" : "Controleer op updates", 84 "menu.edit.emojiSymbols": "Emoji's en symbolen",
85 "menu.app.hide" : "Verbergen", 85 "menu.edit.paste": "Plakken",
86 "menu.app.hideOthers" : "Andere verbergen", 86 "menu.edit.pasteAndMatchStyle": "Plakken en stijl overeen laten komen",
87 "menu.app.quit" : "Afsluiten", 87 "menu.edit.redo": "Opnieuw doen",
88 "menu.app.settings" : "Instellingen", 88 "menu.edit.selectAll": "Selecteer alles",
89 "menu.app.unhide" : "Tonen", 89 "menu.edit.speech": "Spraak",
90 "menu.edit" : "Bewerk", 90 "menu.edit.startDictation": "Beginnen met dicteren",
91 "menu.edit.copy" : "Kopiëren", 91 "menu.edit.startSpeaking": "Begin met spreken",
92 "menu.edit.cut" : "Knippen", 92 "menu.edit.stopSpeaking": "Stop met spreken",
93 "menu.edit.delete" : "Verwijderen", 93 "menu.edit.undo": "Ongedaan maken",
94 "menu.edit.emojiSymbols" : "Emoji's en symbolen", 94 "menu.file": "Bestand",
95 "menu.edit.paste" : "Plakken", 95 "menu.help": "Hulp",
96 "menu.edit.pasteAndMatchStyle" : "Plakken en stijl overeen laten komen", 96 "menu.help.changelog": "Wijzigingenlogboek",
97 "menu.edit.redo" : "Opnieuw doen", 97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.edit.selectAll" : "Selecteer alles", 98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.edit.speech" : "Spraak", 99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.edit.startDictation" : "Beginnen met dicteren", 100 "menu.help.learnMore": "Meer informatie",
101 "menu.edit.startSpeaking" : "Begin met spreken", 101 "menu.help.privacy": "Privacyvoorwaarden",
102 "menu.edit.stopSpeaking" : "Stop met spreken", 102 "menu.help.support": "Ondersteuning",
103 "menu.edit.undo" : "Ongedaan maken", 103 "menu.help.tos": "Servicevoorwaarden",
104 "menu.file" : "Bestand", 104 "menu.services": "Services",
105 "menu.help" : "Hulp", 105 "menu.services.activatePreviousService": "Activeer vorige service",
106 "menu.help.changelog" : "Wijzigingenlogboek", 106 "menu.services.addNewService": "Nieuwe service toevoegen...",
107 "menu.help.debugInfo" : "Copy Debug Information", 107 "menu.services.goHome": "Home",
108 "menu.help.debugInfoCopiedBody" : "Your Debug Information has been copied to your clipboard.", 108 "menu.services.setNextServiceActive": "Activeer volgende service",
109 "menu.help.debugInfoCopiedHeadline" : "Franz debug-informatie", 109 "menu.todos": "Todos",
110 "menu.help.learnMore" : "Meer informatie", 110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.help.privacy" : "Privacyvoorwaarden", 111 "menu.view": "Weergave",
112 "menu.help.support" : "Ondersteuning", 112 "menu.view.back": "Back",
113 "menu.help.tos" : "Servicevoorwaarden", 113 "menu.view.enterFullScreen": "Gebruik volledig scherm",
114 "menu.services" : "Services", 114 "menu.view.exitFullScreen": "Volledig scherm verlaten",
115 "menu.services.activatePreviousService" : "Activeer vorige service", 115 "menu.view.forward": "Forward",
116 "menu.services.addNewService" : "Nieuwe service toevoegen...", 116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.services.goHome" : "Thuis", 117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.services.setNextServiceActive" : "Activeer volgende service", 118 "menu.view.reloadFranz": "Herlaad Ferdi",
119 "menu.todos" : "Taken", 119 "menu.view.reloadService": "Een service opnieuw laden",
120 "menu.todos.enableTodos" : "Todo's inschakelen", 120 "menu.view.resetZoom": "Werkelijke grootte",
121 "menu.view" : "Weergave", 121 "menu.view.toggleDevTools": "Ontwikkelaarstools aan/uit",
122 "menu.view.enterFullScreen" : "Gebruik volledig scherm", 122 "menu.view.toggleFullScreen": "Volledig scherm aan/uit",
123 "menu.view.exitFullScreen" : "Volledig scherm verlaten", 123 "menu.view.toggleServiceDevTools": "Service ontwikkelaarstools aan/uit",
124 "menu.view.reloadFranz" : "Herlaad Franz", 124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.reloadService" : "Een service opnieuw laden", 125 "menu.view.zoomIn": "Inzoomen",
126 "menu.view.resetZoom" : "Werkelijke grootte", 126 "menu.view.zoomOut": "Uitzoomen",
127 "menu.view.toggleDevTools" : "Ontwikkelaarstools aan\/uit", 127 "menu.window": "Venster",
128 "menu.view.toggleFullScreen" : "Volledig scherm aan\/uit", 128 "menu.window.close": "Sluiten",
129 "menu.view.toggleServiceDevTools" : "Service ontwikkelaarstools aan\/uit", 129 "menu.window.minimize": "Minimaliseren",
130 "menu.view.toggleTodosDevTools" : "Toggle Todos Developer Tools", 130 "menu.workspaces": "Werkruimtes",
131 "menu.view.zoomIn" : "Inzoomen", 131 "menu.workspaces.addNewWorkspace": "Voeg nieuwe werkruimte toe...",
132 "menu.view.zoomOut" : "Uitzoomen", 132 "menu.workspaces.closeWorkspaceDrawer": "Werkruimtepagina sluiten",
133 "menu.window" : "Venster", 133 "menu.workspaces.defaultWorkspace": "Alle services",
134 "menu.window.close" : "Sluiten", 134 "menu.workspaces.openWorkspaceDrawer": "Werkruimtepagina openen",
135 "menu.window.minimize" : "Minimaliseren", 135 "password.email.label": "E-mailadres",
136 "menu.workspaces" : "Werkruimtes", 136 "password.headline": "Wachtwoord vergeten",
137 "menu.workspaces.addNewWorkspace" : "Voeg nieuwe werkruimte toe...", 137 "password.link.login": "Log in op je account",
138 "menu.workspaces.closeWorkspaceDrawer" : "Werkruimtepagina sluiten", 138 "password.link.signup": "Maak een gratis account aan",
139 "menu.workspaces.defaultWorkspace" : "Alle services", 139 "password.noUser": "Geen gebruiker bekend met dat e-mailadres",
140 "menu.workspaces.openWorkspaceDrawer" : "Werkruimtepagina openen", 140 "password.submit.label": "Verzenden",
141 "password.email.label" : "E-mailadres", 141 "password.successInfo": "Controleer je e-mail",
142 "password.headline" : "Wachtwoord vergeten", 142 "premiumFeature.button.upgradeAccount": "Upgrade Account",
143 "password.link.login" : "Log in op je account", 143 "pricing.features.adFree": "Forever ad-free",
144 "password.link.signup" : "Maak een gratis account", 144 "pricing.features.appDelays": "No Waiting Screens",
145 "password.noUser" : "Geen gebruiker bekend met dat e-mailadres", 145 "pricing.features.customWebsites": "Add Custom Websites",
146 "password.submit.label" : "Verzenden", 146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "password.successInfo" : "Controleer je e-mail", 147 "pricing.features.serviceProxies": "Service Proxies",
148 "premiumFeature.button.upgradeAccount" : "Upgrade Account", 148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.accountSync" : "Account Synchronisation", 149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.adFree" : "Voor altijd reclamevrij", 150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.appDelays" : "Geen wachtschermen", 151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.customWebsites" : "Voeg eigen websites toe", 152 "pricing.features.workspaces": "Werkruimtes",
153 "pricing.features.desktopNotifications" : "Desktop Notifications", 153 "pricing.plan.free": "Ferdi Free",
154 "pricing.features.onPremise" : "On-premise & other Hosted Services", 154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.features.recipes" : "Choose from more than 70 Services", 155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.features.serviceProxies" : "Service Proxies", 156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.features.spellchecker" : "Spellchecker support", 157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.features.teamManagement" : "Team Management", 158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.features.thirdPartyServices" : "Install 3rd party services", 159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.features.unlimitedServices" : "Add unlimited services", 160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.features.upToSixServices" : "Add up to 6 services", 161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.features.upToThreeServices" : "Add up to 3 services", 162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.features.workspaces" : "Werkruimtes", 163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.plan.free" : "Free", 164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.plan.legacy" : "Premium", 165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.plan.personal" : "Personal", 166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.plan.personal-monthly" : "Personal Monthly", 167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.plan.personal-yearly" : "Personal Yearly", 168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.plan.pro" : "Professional", 169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "pricing.plan.pro-monthly" : "Professional Monthly", 170 "service.crashHandler.action": "Laad {name} opnieuw",
171 "pricing.plan.pro-yearly" : "Professional Yearly", 171 "service.crashHandler.autoReload": "Bezig om {name} te herstellen over {seconds} seconden",
172 "pricing.trial.cta.accept" : "Start my 14-day Franz Professional Trial ", 172 "service.crashHandler.headline": "Oh nee!",
173 "pricing.trial.cta.skip" : "Continue to Franz", 173 "service.crashHandler.text": "{name} heeft een fout veroorzaakt.",
174 "pricing.trial.cta.start" : "Start using Franz", 174 "service.disabledHandler.action": "Activeer {name}",
175 "pricing.trial.error" : "Sorry, we could not activate your trial!", 175 "service.disabledHandler.headline": "{name} is uitgeschakeld",
176 "pricing.trial.features.headline" : "Franz Professional includes:", 176 "service.errorHandler.action": "Laad {name} opnieuw",
177 "pricing.trial.headline.pro" : "Hi {name}, welcome to Franz", 177 "service.errorHandler.editAction": "Bewerk {name}",
178 "pricing.trial.intro.happyMessaging" : "Happy messaging,", 178 "service.errorHandler.headline": "Oh nee!",
179 "pricing.trial.intro.specialTreat" : "We have a special treat for you.", 179 "service.errorHandler.message": "Fout",
180 "pricing.trial.intro.tryPro" : "Enjoy the full Franz Professional experience completely free for 14 days.", 180 "service.errorHandler.text": "{name} kon niet geladen worden.",
181 "pricing.trial.terms.automaticTrialEnd" : "Your free trial ends automatically after 14 days", 181 "service.restrictedHandler.action": "Upgrade Account",
182 "pricing.trial.terms.headline" : "No strings attached", 182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "pricing.trial.terms.noCreditCard" : "No credit card required", 183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "pricing.trial.terms.trialWorth" : "Free trial (normally {currency}{price} per month)", 184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.crashHandler.action" : "Laad {name} opnieuw", 185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.crashHandler.autoReload" : "Bezig om {name} te herstellen over {seconds} seconden", 186 "service.webviewLoader.loading": "Aan het laden",
187 "service.crashHandler.headline" : "Oh nee!", 187 "services.getStarted": "Begin",
188 "service.crashHandler.text" : "{name} heeft een fout veroorzaakt.", 188 "services.login": "Please login to use Ferdi.",
189 "service.disabledHandler.action" : "Activeer {name}", 189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "service.disabledHandler.headline" : "{name} is uitgeschakeld", 190 "services.serverless": "Use Ferdi without an Account",
191 "service.errorHandler.action" : "{name} herladen", 191 "services.welcome": "Welkom bij Ferdi",
192 "service.errorHandler.editAction" : "Bewerk {name}", 192 "settings.account.account.editButton": "Bewerk account",
193 "service.errorHandler.headline" : "Oh nee!", 193 "settings.account.accountType.basic": "Basisaccount",
194 "service.errorHandler.message" : "Fout", 194 "settings.account.accountType.premium": "Premium Supporter Account",
195 "service.errorHandler.text" : "{name} kon niet geladen worden.", 195 "settings.account.buttonSave": "Update profiel",
196 "service.restrictedHandler.action" : "Upgrade account", 196 "settings.account.deleteAccount": "Verwijder account",
197 "service.restrictedHandler.customUrl.headline" : "Franz Professional Plan required", 197 "settings.account.deleteEmailSent": "Je hebt een e-mail ontvangen met een link om het verwijderen van je account te bevestigen. Je accountgegevens en -data kunnen na verwijderen niet meer worden teruggehaald!",
198 "service.restrictedHandler.customUrl.text" : "Please upgrade to the Franz Professional plan to use custom urls & self hosted services.", 198 "settings.account.deleteInfo": "Wanneer je je Ferdi-account niet langer wilt gebruiken, kun je je account en alle gerelateerde data verwijderen.",
199 "service.restrictedHandler.serviceLimit.headline" : "You have reached your service limit.", 199 "settings.account.headline": "Account",
200 "service.restrictedHandler.serviceLimit.text" : "Please upgrade your account to use more than {count} services.", 200 "settings.account.headlineAccount": "Accountinformatie",
201 "service.webviewLoader.loading" : "Aan het laden", 201 "settings.account.headlineDangerZone": "Gevarenzone",
202 "services.getStarted" : "Begin", 202 "settings.account.headlineInvoices": "Facturen",
203 "services.welcome" : "Welkom bij Franz", 203 "settings.account.headlinePassword": "Wijzig wachtwoord",
204 "settings.account.account.editButton" : "Bewerk account", 204 "settings.account.headlineProfile": "Update profiel",
205 "settings.account.accountType.basic" : "Basisaccount", 205 "settings.account.headlineSubscription": "Je abonnement",
206 "settings.account.accountType.premium" : "Premium Supporter Account", 206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.buttonSave" : "Update profiel", 207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.deleteAccount" : "Verwijder account", 208 "settings.account.invoiceDownload": "Download",
209 "settings.account.deleteEmailSent" : "Je hebt een e-mail ontvangen met een link om het verwijderen van je account te bevestigen. Je accountgegevens en -data kunnen na verwijderen niet meer worden teruggehaald!", 209 "settings.account.manageSubscription.label": "Beheer je abonnement",
210 "settings.account.deleteInfo" : "Wanneer je je Franz-account niet langer wilt gebruiken, kun je je account en alle gerelateerde data verwijderen.", 210 "settings.account.successInfo": "Je wijzigingen zijn opgeslagen",
211 "settings.account.headline" : "Account", 211 "settings.account.trial": "Free Trial",
212 "settings.account.headlineAccount" : "Accountinformatie", 212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.headlineDangerZone" : "Gevarenzone", 213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.headlineInvoices" : "Facturen", 214 "settings.account.tryReloadServices": "Probeer opnieuw",
215 "settings.account.headlinePassword" : "Wijzig wachtwoord", 215 "settings.account.tryReloadUserInfoRequest": "Probeer opnieuw",
216 "settings.account.headlineProfile" : "Profiel bijwerken", 216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.headlineSubscription" : "Je abonnement", 217 "settings.account.userInfoRequestFailed": "Kon gebruikersinformatie niet laden",
218 "settings.account.headlineTrialUpgrade" : "Get the free 14 day Franz Professional Trial", 218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.account.headlineUpgradeAccount" : "Upgrade your account & get the full Franz experience", 219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.account.invoiceDownload" : "Download", 220 "settings.app.buttonClearAllCache": "Cache legen",
221 "settings.account.manageSubscription.label" : "Beheer je abonnement", 221 "settings.app.buttonInstallUpdate": "Opnieuw opstarten & update installeren",
222 "settings.account.successInfo" : "Je wijzigingen zijn opgeslagen", 222 "settings.app.buttonSearchForUpdate": "Controleer op updates",
223 "settings.account.trial" : "Free Trial", 223 "settings.app.cacheInfo": "Ferdi gebruikt op dit moment {size} schijfruimte aan tijdelijke bestanden.",
224 "settings.account.trialEndsIn" : "Your free trial ends in {duration}.", 224 "settings.app.currentVersion": "Huidige versie:",
225 "settings.account.trialUpdateBillingInfo" : "Please update your billing info to continue using {license} after your trial period.", 225 "settings.app.form.accentColor": "Accent color",
226 "settings.account.tryReloadServices" : "Probeer opnieuw", 226 "settings.app.form.autoLaunchInBackground": "Open op de achtergrond",
227 "settings.account.tryReloadUserInfoRequest" : "Probeer opnieuw", 227 "settings.app.form.autoLaunchOnStart": "Open Ferdi bij opstarten",
228 "settings.account.upgradeToPro.label" : "Upgrade naar Franz Professional", 228 "settings.app.form.beta": "Inclusief bètaversies",
229 "settings.account.userInfoRequestFailed" : "Kon gebruikersinformatie niet laden", 229 "settings.app.form.darkMode": "Stap over naar de donkere kant",
230 "settings.account.yourLicense" : "Your Franz License", 230 "settings.app.form.enableGPUAcceleration": "Schakel videokaart-acceleratie in ",
231 "settings.app.buttonClearAllCache" : "Cache legen", 231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.buttonInstallUpdate" : "Opnieuw opstarten en updates installeren", 232 "settings.app.form.enableSpellchecking": "Zet spellingcontrole aan",
233 "settings.app.buttonSearchForUpdate" : "Controleer op updates", 233 "settings.app.form.enableSystemTray": "Pictogram voor Ferdi in systeemvak tonen",
234 "settings.app.cacheInfo" : "Franz gebruikt op dit moment {size} schijfruimte aan tijdelijke bestanden.", 234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.currentVersion" : "Huidige versie:", 235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.autoLaunchInBackground" : "Open op de achtergrond", 236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.autoLaunchOnStart" : "Open Franz bij opstarten", 237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.beta" : "Inclusief bètaversies", 238 "settings.app.form.language": "Taal",
239 "settings.app.form.darkMode" : "Stap over naar de donkere kant", 239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.enableGPUAcceleration" : "Schakel videokaart-acceleratie in ", 240 "settings.app.form.minimizeToSystemTray": "Minimaliseer Ferdi naar systeemvak",
241 "settings.app.form.enableSpellchecking" : "Zet spellingcontrole aan", 241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.enableSystemTray" : "Pictogram voor Franz in systeemvak tonen", 242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.enableTodos" : "Enable Franz Todos", 243 "settings.app.form.runInBackground": "Houd Ferdi open op de achtergrond wanneer het venster gesloten wordt",
244 "settings.app.form.keepAllWorkspacesLoaded" : "Keep all workspaces loaded", 244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.language" : "Taal", 245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.minimizeToSystemTray" : "Minimaliseer Franz naar systeemvak", 246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.runInBackground" : "Houd Franz open op de achtergrond wanneer het venster gesloten wordt", 247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices" : "Toon uitgeschakelde services", 248 "settings.app.form.showDisabledServices": "Toon uitgeschakelde services",
249 "settings.app.form.showMessagesBadgesWhenMuted" : "Toon badge met ongelezen berichten wanneer meldingen zijn uitgeschakeld", 249 "settings.app.form.showMessagesBadgesWhenMuted": "Toon badge met ongelezen berichten wanneer meldingen zijn uitgeschakeld",
250 "settings.app.headline" : "Instellingen", 250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.headlineAdvanced" : "Geavanceerd", 251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.headlineAppearance" : "Weergave", 252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headlineGeneral" : "Algemeen", 253 "settings.app.headline": "Instellingen",
254 "settings.app.headlineLanguage" : "Taal", 254 "settings.app.headlineAdvanced": "Geavanceerd",
255 "settings.app.headlineUpdates" : "Updates", 255 "settings.app.headlineAppearance": "Weergave",
256 "settings.app.languageDisclaimer" : "Franz spreekt officieel Engels en Duits. Alle andere talen worden beheerd door de community.", 256 "settings.app.headlineGeneral": "Algemeen",
257 "settings.app.restartRequired" : "Deze wijziging heeft een herstart nodig", 257 "settings.app.headlineLanguage": "Taal",
258 "settings.app.subheadlineCache" : "Cache", 258 "settings.app.headlineUpdates": "Updates",
259 "settings.app.translationHelp" : "Help ons om Franz uw taal te laten spreken.", 259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.updateStatusAvailable" : "Update beschikbaar, downloaden...", 260 "settings.app.languageDisclaimer": "Ferdi spreekt officieel Engels en Duits. Alle andere talen worden beheerd door de community.",
261 "settings.app.updateStatusSearching" : "Zoekt naar updates", 261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.updateStatusUpToDate" : "Je gebruikt de laatste versie van Franz", 262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.invite.headline" : "Nodig vrienden uit", 263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.navigation.account" : "Account", 264 "settings.app.restartRequired": "Deze wijziging heeft een herstart nodig",
265 "settings.navigation.availableServices" : "Beschikbare services", 265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.navigation.inviteFriends" : "Nodig vrienden uit", 266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.navigation.logout" : "Uitloggen", 267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.navigation.settings" : "Instellingen", 268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.navigation.team" : "Beheer Team", 269 "settings.app.subheadlineCache": "Cache",
270 "settings.navigation.yourServices" : "Jouw services", 270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.navigation.yourWorkspaces" : "Jouw werkruimtes", 271 "settings.app.translationHelp": "Help ons om Ferdi uw taal te laten spreken.",
272 "settings.recipes.all" : "Alle services", 272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.recipes.custom" : "Custom Services", 273 "settings.app.updateStatusAvailable": "Update beschikbaar, downloaden...",
274 "settings.recipes.customService.headline.communityRecipes" : "Community 3rd Party Recipes", 274 "settings.app.updateStatusSearching": "Zoekt naar updates",
275 "settings.recipes.customService.headline.customRecipes" : "Custom 3rd Party Recipes", 275 "settings.app.updateStatusUpToDate": "Je gebruikt de laatste versie van Ferdi",
276 "settings.recipes.customService.headline.devRecipes" : "Your Development Service Recipes", 276 "settings.invite.headline": "Nodig vrienden uit",
277 "settings.recipes.customService.intro" : "To add a custom service, copy the service recipe to:", 277 "settings.navigation.account": "Account",
278 "settings.recipes.customService.openDevDocs" : "Developer Documentation", 278 "settings.navigation.availableServices": "Beschikbare services",
279 "settings.recipes.customService.openFolder" : "Open folder", 279 "settings.navigation.logout": "Uitloggen",
280 "settings.recipes.headline" : "Beschikbare services", 280 "settings.navigation.settings": "Instellingen",
281 "settings.recipes.missingService" : "Mis je een service?", 281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.recipes.mostPopular" : "Meest populair", 282 "settings.navigation.team": "Beheer Team",
283 "settings.recipes.nothingFound" : "Sorry, geen service gevonden met deze zoekterm.", 283 "settings.navigation.yourServices": "Jouw services",
284 "settings.recipes.servicesSuccessfulAddedInfo" : "Service succesvol toegevoegd", 284 "settings.navigation.yourWorkspaces": "Jouw werkruimtes",
285 "settings.searchService" : "Zoek service", 285 "settings.recipes.all": "Alle services",
286 "settings.service.error.goBack" : "Terug naar services", 286 "settings.recipes.custom": "Custom Services",
287 "settings.service.error.headline" : "Fout", 287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.service.error.message" : "Kon servicerecept niet laden.", 288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.service.form.addServiceHeadline" : "Toevoegen {name}", 289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.service.form.availableServices" : "Beschikbare services", 290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.service.form.customUrl" : "Aangepaste server", 291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.service.form.customUrlPremiumInfo" : "Om zelf-gehoste services toe te kunnen voegen, heb je een Franz Premium Supporter Account nodig.", 292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.service.form.customUrlUpgradeAccount" : "Upgrade je account", 293 "settings.recipes.headline": "Beschikbare services",
294 "settings.service.form.customUrlValidationError" : "Kon aangepaste server {name} niet valideren.", 294 "settings.recipes.missingService": "Mis je een service?",
295 "settings.service.form.deleteButton" : "Verwijder service", 295 "settings.recipes.mostPopular": "Meest populair",
296 "settings.service.form.editServiceHeadline" : "Bewerk {name}", 296 "settings.recipes.nothingFound": "Sorry, geen service gevonden met deze zoekterm.",
297 "settings.service.form.enableAudio" : "Audio inschakelen", 297 "settings.recipes.servicesSuccessfulAddedInfo": "Service succesvol toegevoegd",
298 "settings.service.form.enableBadge" : "Toon badges met ongelezen berichten", 298 "settings.searchService": "Zoek service",
299 "settings.service.form.enableDarkMode" : "Dark mode aanzetten", 299 "settings.service.error.goBack": "Terug naar services",
300 "settings.service.form.enableNotification" : "Meldingen inschakelen", 300 "settings.service.error.headline": "Fout",
301 "settings.service.form.enableService" : "Service inschakelen", 301 "settings.service.error.message": "Kon servicerecept niet laden.",
302 "settings.service.form.headlineBadges" : "Ongelezen berichten badges", 302 "settings.service.form.addServiceHeadline": "Toevoegen {name}",
303 "settings.service.form.headlineGeneral" : "Algemeen", 303 "settings.service.form.availableServices": "Beschikbare services",
304 "settings.service.form.headlineNotifications" : "Meldingen", 304 "settings.service.form.customUrl": "Aangepaste server",
305 "settings.service.form.icon" : "Aangepast icoon", 305 "settings.service.form.customUrlPremiumInfo": "Om zelf-gehoste services toe te kunnen voegen, heb je een Ferdi Premium Supporter Account nodig.",
306 "settings.service.form.iconDelete" : "Verwijderen", 306 "settings.service.form.customUrlUpgradeAccount": "Upgrade je account",
307 "settings.service.form.iconUpload" : "Sleep en drop je afbeelding, of klik hier", 307 "settings.service.form.customUrlValidationError": "Kon aangepaste server {name} niet valideren.",
308 "settings.service.form.indirectMessageInfo" : "Je ontvangt meldingen van alle nieuwe berichten in een kanaal, niet alleen @username, @channel, @here, ...", 308 "settings.service.form.deleteButton": "Verwijder service",
309 "settings.service.form.indirectMessages" : "Toon berichtenbadge voor alle nieuwe berichten", 309 "settings.service.form.editServiceHeadline": "Bewerk {name}",
310 "settings.service.form.isMutedInfo" : "Indien uitgeschakeld, worden meldingen en audio niet afgespeeld", 310 "settings.service.form.enableAudio": "Audio inschakelen",
311 "settings.service.form.name" : "Naam", 311 "settings.service.form.enableBadge": "Toon badges met ongelezen berichten",
312 "settings.service.form.proxy.headline" : "HTTP\/HTTPS Proxy instellingen", 312 "settings.service.form.enableDarkMode": "Dark mode aanzetten",
313 "settings.service.form.proxy.host" : "Proxy Host\/IP", 313 "settings.service.form.enableNotification": "Meldingen inschakelen",
314 "settings.service.form.proxy.info" : "Proxy instellingen worden niet gesynchroniseerd met de Franz servers", 314 "settings.service.form.enableService": "Service inschakelen",
315 "settings.service.form.proxy.isEnabled" : "Proxy gebruiken", 315 "settings.service.form.headlineBadges": "Ongelezen berichten badges",
316 "settings.service.form.proxy.password" : "Wachtwoord (optioneel)", 316 "settings.service.form.headlineGeneral": "Algemeen",
317 "settings.service.form.proxy.port" : "Poort", 317 "settings.service.form.headlineNotifications": "Meldingen",
318 "settings.service.form.proxy.restartInfo" : "Start Franz opnieuw na het aanpassen van proxy instellingen.", 318 "settings.service.form.icon": "Aangepast icoon",
319 "settings.service.form.proxy.user" : "Gebruiker (optioneel)", 319 "settings.service.form.iconDelete": "Verwijderen",
320 "settings.service.form.saveButton" : "Service opslaan", 320 "settings.service.form.iconUpload": "Sleep en drop je afbeelding, of klik hier",
321 "settings.service.form.tabHosted" : "Gehost", 321 "settings.service.form.indirectMessageInfo": "Je ontvangt meldingen van alle nieuwe berichten in een kanaal, niet alleen @username, @channel, @here, ...",
322 "settings.service.form.tabOnPremise" : "Zelf-gehost ⭐️", 322 "settings.service.form.indirectMessages": "Toon berichtenbadge voor alle nieuwe berichten",
323 "settings.service.form.team" : "Team", 323 "settings.service.form.isMutedInfo": "Indien uitgeschakeld, worden meldingen en audio niet afgespeeld",
324 "settings.service.form.useHostedService" : "Gebruik de gehoste service {name}", 324 "settings.service.form.name": "Naam",
325 "settings.service.form.yourServices" : "Jouw services", 325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.services.deletedInfo" : "Service is verwijderd", 326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy instellingen",
327 "settings.services.discoverServices" : "Ontdek services", 327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.services.headline" : "Jouw services", 328 "settings.service.form.proxy.info": "Proxy instellingen worden niet gesynchroniseerd met de Ferdi servers",
329 "settings.services.noServicesAdded" : "Je hebt nog geen services toegevoegd.", 329 "settings.service.form.proxy.isEnabled": "Proxy gebruiken",
330 "settings.services.servicesRequestFailed" : "Kan jouw services niet laden", 330 "settings.service.form.proxy.password": "Wachtwoord (optioneel)",
331 "settings.services.tooltip.isDisabled" : "Service is uitgeschakeld", 331 "settings.service.form.proxy.port": "Poort",
332 "settings.services.tooltip.isMuted" : "Geluid is uitgeschakeld", 332 "settings.service.form.proxy.restartInfo": "Start Ferdi opnieuw na het aanpassen van proxy instellingen.",
333 "settings.services.tooltip.notificationsDisabled" : "Meldingen zijn uitgeschakeld", 333 "settings.service.form.proxy.user": "Gebruiker (optioneel)",
334 "settings.services.updatedInfo" : "Je wijzigingen zijn opgeslagen", 334 "settings.service.form.saveButton": "Service opslaan",
335 "settings.team.contentHeadline" : "Franz voor Teams", 335 "settings.service.form.tabHosted": "Gehost",
336 "settings.team.copy" : "Franz voor Teams geeft je de mogelijkheid om collega's uit te nodigen voor je team door hen een e-mail te sturen en hun inschrijvingen te beheren in je accountvoorkeuren. Verspil geen tijd met het instellen van inschrijvingen voor elk individueel teamlid, vergeet meerdere facturen en verschillende afrekeningsperiodes - één team om alles te regelen!", 336 "settings.service.form.tabOnPremise": "Zelf-gehost ⭐️",
337 "settings.team.headline" : "Team", 337 "settings.service.form.team": "Team",
338 "settings.team.intro" : "Gebruiken jij en je team Franz? Je kunt nu Premium inschrijvingen beheren voor zoveel collega's, vrienden, of familieleden als je wilt. En dat alles vanuit één account.", 338 "settings.service.form.useHostedService": "Gebruik de gehoste service {name}",
339 "settings.team.manageAction" : "Beheer je Team op meetfranz.com", 339 "settings.service.form.yourServices": "Jouw services",
340 "settings.team.upgradeAction" : "Jouw Account opwaarderen", 340 "settings.services.deletedInfo": "Service is verwijderd",
341 "settings.user.form.accountType.company" : "Bedrijf", 341 "settings.services.discoverServices": "Ontdek services",
342 "settings.user.form.accountType.individual" : "Individueel", 342 "settings.services.headline": "Jouw services",
343 "settings.user.form.accountType.label" : "Accounttype", 343 "settings.services.noServicesAdded": "Je hebt nog geen services toegevoegd.",
344 "settings.user.form.accountType.non-profit" : "Non-Profit", 344 "settings.services.servicesRequestFailed": "Kan jouw services niet laden",
345 "settings.user.form.currentPassword" : "Huidige wachtwoord", 345 "settings.services.tooltip.isDisabled": "Service is uitgeschakeld",
346 "settings.user.form.email" : "E-mailadres", 346 "settings.services.tooltip.isMuted": "Geluid is uitgeschakeld",
347 "settings.user.form.firstname" : "Voornaam", 347 "settings.services.tooltip.notificationsDisabled": "Meldingen zijn uitgeschakeld",
348 "settings.user.form.lastname" : "Achternaam", 348 "settings.services.updatedInfo": "Je wijzigingen zijn opgeslagen",
349 "settings.user.form.newPassword" : "Nieuw wachtwoord", 349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.workspace.add.form.name" : "Naam", 350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.workspace.add.form.submitButton" : "Maak werkruimte aan", 351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.workspace.form.buttonDelete" : "Verwijder werkruimte", 352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.workspace.form.buttonSave" : "Sla werkruimte op", 353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.workspace.form.name" : "Naam", 354 "settings.team.contentHeadline": "Ferdi voor Teams",
355 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in deze werkruimte", 355 "settings.team.copy": "Ferdi voor Teams geeft je de mogelijkheid om collega's uit te nodigen voor je team door hen een e-mail te sturen en hun inschrijvingen te beheren in je accountvoorkeuren. Verspil geen tijd met het instellen van inschrijvingen voor elk individueel teamlid, vergeet meerdere facturen en verschillende afrekeningsperiodes - één team om alles te regelen!",
356 "settings.workspace.form.yourWorkspaces" : "Jouw werkruimtes", 356 "settings.team.headline": "Team",
357 "settings.workspaces.deletedInfo" : "Werkruimte is verwijderd", 357 "settings.team.intro": "Gebruiken jij en je team Ferdi? Je kunt nu Premium inschrijvingen beheren voor zoveel collega's, vrienden, of familieleden als je wilt. En dat alles vanuit één account.",
358 "settings.workspaces.headline" : "Jouw werkplaatsen", 358 "settings.team.manageAction": "Beheer je Team op getferdi.com",
359 "settings.workspaces.noWorkspacesAdded" : "Je hebt nog geen werkruimtes toegevoegd.", 359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.workspaces.tryReloadWorkspaces" : "Probeer opnieuw", 360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.workspaces.updatedInfo" : "Je wijzigingen zijn opgeslagen", 361 "settings.team.upgradeAction": "Jouw Account opwaarderen",
362 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Zie hier Franz Werkruimtes", 362 "settings.user.form.accountType.company": "Bedrijf",
363 "settings.workspaces.workspaceFeatureInfo" : "Franz werkruimtes laat je aandacht geven aan wat nu belangrijk is. Maak verschillende sets van services aan en schakel wanneer je wilt tussen de verschillende sets. Jij beslist welke services je wanneer en waar nodig hebt. Zo helpen wij jou je focus te behouden - of net zo gemakkelijk te switchen van werk naar ontspanning.", 363 "settings.user.form.accountType.individual": "Individueel",
364 "settings.workspaces.workspacesRequestFailed" : "Kan jouw werkruimtes niet laden", 364 "settings.user.form.accountType.label": "Accounttype",
365 "sidebar.addNewService" : "Voeg service toe", 365 "settings.user.form.accountType.non-profit": "Non-Profit",
366 "sidebar.closeTodosDrawer" : "Close Franz Todos", 366 "settings.user.form.currentPassword": "Huidige wachtwoord",
367 "sidebar.closeWorkspaceDrawer" : "Werkruimte pagina sluiten", 367 "settings.user.form.email": "E-mailadres",
368 "sidebar.muteApp" : "Berichten & geluid uitschakelen", 368 "settings.user.form.firstname": "Voornaam",
369 "sidebar.openTodosDrawer" : "Open Franz Todos", 369 "settings.user.form.lastname": "Achternaam",
370 "sidebar.openWorkspaceDrawer" : "Werkruimte pagina openen", 370 "settings.user.form.newPassword": "Nieuw wachtwoord",
371 "sidebar.settings" : "Instellingen", 371 "settings.workspace.add.form.name": "Naam",
372 "sidebar.unmuteApp" : "Berichten & geluid inschakelen", 372 "settings.workspace.add.form.submitButton": "Maak werkruimte aan",
373 "signup.email.label" : "E-mailadres", 373 "settings.workspace.form.buttonDelete": "Verwijder werkruimte",
374 "signup.emailDuplicate" : "Er bestaat al een gebruiker met dat e-mailadres", 374 "settings.workspace.form.buttonSave": "Sla werkruimte op",
375 "signup.firstname.label" : "Voornaam", 375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "signup.headline" : "Aanmelden", 376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "signup.lastname.label" : "Achternaam", 377 "settings.workspace.form.name": "Naam",
378 "signup.legal.info" : "Door een Franz-account aan te maken ga je akkoord met de", 378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in deze werkruimte",
379 "signup.legal.privacy" : "Privacyvoorwaarden", 379 "settings.workspace.form.yourWorkspaces": "Jouw werkruimtes",
380 "signup.legal.terms" : "Gebruiksvoorwaarden", 380 "settings.workspaces.deletedInfo": "Werkruimte is verwijderd",
381 "signup.link.login" : "Heb je al een account? Log in!", 381 "settings.workspaces.headline": "Jouw werkruimtes",
382 "signup.password.label" : "Wachtwoord", 382 "settings.workspaces.noWorkspacesAdded": "Je hebt nog geen werkruimtes toegevoegd.",
383 "signup.submit.label" : "Account aanmaken", 383 "settings.workspaces.tryReloadWorkspaces": "Probeer opnieuw",
384 "subscription.bestValue" : "Best value", 384 "settings.workspaces.updatedInfo": "Je wijzigingen zijn opgeslagen",
385 "subscription.cta.activateTrial" : "Yes, start the free Franz Professional trial", 385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Zie hier Ferdi Werkruimtes",
386 "subscription.cta.allOptions" : "See all options", 386 "settings.workspaces.workspaceFeatureInfo": "Ferdi werkruimtes laat je aandacht geven aan wat nu belangrijk is. Maak verschillende sets van services aan en schakel wanneer je wilt tussen de verschillende sets. Jij beslist welke services je wanneer en waar nodig hebt. Zo helpen wij jou je focus te behouden - of net zo gemakkelijk te switchen van werk naar ontspanning.",
387 "subscription.cta.choosePlan" : "Choose your plan", 387 "settings.workspaces.workspacesRequestFailed": "Kan jouw werkruimtes niet laden",
388 "subscription.includedProFeatures" : "The Franz Professional Plan includes:", 388 "sidebar.addNewService": "Voeg service toe",
389 "subscription.interval.per" : "per {interval}", 389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "subscription.interval.perMonth" : "per month", 390 "sidebar.closeWorkspaceDrawer": "Werkruimtepagina sluiten",
391 "subscription.interval.perMonthPerUser" : "per month & user", 391 "sidebar.lockFerdi": "Lock Ferdi",
392 "subscription.planItem.upgradeAccount" : "Upgrade account", 392 "sidebar.muteApp": "Berichten & geluid uitschakelen",
393 "subscription.teaser.includedFeatures" : "Paid Franz Plans include:", 393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "subscription.teaser.intro" : "Franz 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!", 394 "sidebar.openWorkspaceDrawer": "Werkruimtepagina openen",
395 "subscriptionPopup.buttonCancel" : "Annuleer", 395 "sidebar.settings": "Instellingen",
396 "subscriptionPopup.buttonDone" : "Klaar", 396 "sidebar.unmuteApp": "Berichten & geluid inschakelen",
397 "tabs.item.deleteService" : "Verwijder service", 397 "signup.email.label": "E-mailadres",
398 "tabs.item.disableAudio" : "Audio uitschakelen", 398 "signup.emailDuplicate": "Er bestaat al een gebruiker met dat e-mailadres",
399 "tabs.item.disableNotifications" : "Meldingen uitschakelen", 399 "signup.firstname.label": "Voornaam",
400 "tabs.item.disableService" : "Service uitschakelen", 400 "signup.headline": "Aanmelden",
401 "tabs.item.edit" : "Bewerken", 401 "signup.lastname.label": "Achternaam",
402 "tabs.item.enableAudio" : "Audio inschakelen", 402 "signup.legal.info": "Door een Ferdi-account aan te maken ga je akkoord met de",
403 "tabs.item.enableNotification" : "Meldingen inschakelen", 403 "signup.legal.privacy": "Privacyvoorwaarden",
404 "tabs.item.enableService" : "Service inschakelen", 404 "signup.legal.terms": "Gebruiksvoorwaarden",
405 "tabs.item.reload" : "Herladen", 405 "signup.link.login": "Heb je al een account? Log in!",
406 "validation.email" : "{field} is niet geldig", 406 "signup.password.label": "Password",
407 "validation.minLength" : "{field} dient minimaal {length} karakters lang te zijn", 407 "signup.submit.label": "Account aanmaken",
408 "validation.oneRequired" : "Minstens één vereist", 408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "validation.required" : "{field} is vereist", 409 "subscription.cta.allOptions": "See all options",
410 "validation.url" : "{field} is geen geldige URL", 410 "subscription.cta.choosePlan": "Choose your plan",
411 "webControls.back" : "Back", 411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "webControls.forward" : "Forward", 412 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:",
413 "webControls.goHome" : "Thuis", 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!",
414 "webControls.openInBrowser" : "Open in Browser", 414 "subscriptionPopup.buttonCancel": "Annuleer",
415 "webControls.reload" : "Herladen", 415 "subscriptionPopup.buttonDone": "Klaar",
416 "welcome.loginButton" : "Log in op je account", 416 "tabs.item.deleteService": "Verwijder service",
417 "welcome.signupButton" : "Maak een gratis account", 417 "tabs.item.disableAudio": "Audio uitschakelen",
418 "workspaceDrawer.addNewWorkspaceLabel" : "Voeg een nieuwe werkruimte toe", 418 "tabs.item.disableNotifications": "Meldingen uitschakelen",
419 "workspaceDrawer.allServices" : "Alle services", 419 "tabs.item.disableService": "Service uitschakelen",
420 "workspaceDrawer.headline" : "Werkruimtes", 420 "tabs.item.edit": "Bewerk",
421 "workspaceDrawer.item.contextMenuEdit" : "bewerken", 421 "tabs.item.enableAudio": "Audio inschakelen",
422 "workspaceDrawer.item.noServicesAddedYet" : "Nog geen services toegevoegd", 422 "tabs.item.enableNotification": "Meldingen inschakelen",
423 "workspaceDrawer.premiumCtaButtonLabel" : "Maak je eerste werkruimte", 423 "tabs.item.enableService": "Service inschakelen",
424 "workspaceDrawer.proFeatureBadge" : "Premium feature", 424 "tabs.item.reload": "Herladen",
425 "workspaceDrawer.reactivatePremiumAccountLabel" : "Premium account heractiveren", 425 "validation.email": "{field} is niet geldig",
426 "workspaceDrawer.workspaceFeatureInfo" : "Franz werkruimtes laat je aandacht geven aan wat nu belangrijk is. Maak verschillende sets van services aan en schakel wanneer je wilt tussen de verschillende sets. Jij beslist welke services je wanneer en waar nodig hebt. Zo helpen wij jou je focus te behouden - of net zo gemakkelijk te switchen van werk naar ontspanning.", 426 "validation.minLength": "{field} dient minimaal {length} karakters lang te zijn",
427 "workspaceDrawer.workspacesSettingsTooltip" : "Werkruimte instellingen aanpassen", 427 "validation.oneRequired": "Minstens één vereist",
428 "workspaces.switchingIndicator.switchingTo" : "Overschakelen naar" 428 "validation.required": "{field} is vereist",
429 "validation.url": "{field} is geen geldige URL",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Herladen",
435 "welcome.loginButton": "Log in op je account",
436 "welcome.signupButton": "Maak een gratis account aan",
437 "workspaceDrawer.addNewWorkspaceLabel": "Voeg een nieuwe werkruimte toe",
438 "workspaceDrawer.allServices": "Alle services",
439 "workspaceDrawer.headline": "Werkruimtes",
440 "workspaceDrawer.item.contextMenuEdit": "bewerken",
441 "workspaceDrawer.item.noServicesAddedYet": "Nog geen services toegevoegd",
442 "workspaceDrawer.premiumCtaButtonLabel": "Maak je eerste werkruimte",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Premium account heractiveren",
445 "workspaceDrawer.workspaceFeatureInfo": "Ferdi werkruimtes laat je aandacht geven aan wat nu belangrijk is. Maak verschillende sets van services aan en schakel wanneer je wilt tussen de verschillende sets. Jij beslist welke services je wanneer en waar nodig hebt. Zo helpen wij jou je focus te behouden - of net zo gemakkelijk te switchen van werk naar ontspanning.",
446 "workspaceDrawer.workspacesSettingsTooltip": "Werkruimte instellingen aanpassen",
447 "workspaces.switchingIndicator.switchingTo": "Overschakelen naar"
429} 448}
diff --git a/src/i18n/locales/no.json b/src/i18n/locales/no.json
new file mode 100644
index 000000000..628880d9f
--- /dev/null
+++ b/src/i18n/locales/no.json
@@ -0,0 +1,448 @@
1{
2 "app.errorHandler.action": "Reload",
3 "app.errorHandler.headline": "Something went wrong",
4 "feature.announcements.changelog.headline": "Changes in Ferdi {version}",
5 "feature.delayApp.headline": "Please purchase a Ferdi Supporter License to skip waiting",
6 "feature.delayApp.text": "Ferdi will continue in {seconds} seconds.",
7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
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",
11 "feature.delayApp.upgrade.actionShort": "Upgrade account",
12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.quickSwitch.search": "Search...",
14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.shareFranz.action.email": "Send as email",
17 "feature.shareFranz.action.facebook": "Share on Facebook",
18 "feature.shareFranz.action.twitter": "Share on Twitter",
19 "feature.shareFranz.headline": "Ferdi is better together!",
20 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
23 "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.",
25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "global.api.unhealthy": "Can't connect to Ferdi online services",
27 "global.franzProRequired": "Ferdi Professional Required",
28 "global.notConnectedToTheInternet": "You are not connected to the internet.",
29 "global.spellchecker.useDefault": "Use System Default ({default})",
30 "global.spellchecking.autodetect": "Detect language automatically",
31 "global.spellchecking.autodetect.short": "Automatic",
32 "global.spellchecking.language": "Spell checking language",
33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "import.headline": "Import your Ferdi 4 services",
35 "import.notSupportedHeadline": "Services not yet supported in Ferdi 5",
36 "import.skip.label": "I want to add services manually",
37 "import.submit.label": "Import services",
38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "infobar.buttonChangelog": "What is new?",
40 "infobar.buttonInstallUpdate": "Restart & install update",
41 "infobar.buttonReloadServices": "Reload services",
42 "infobar.requiredRequestsFailed": "Could not load services and user information",
43 "infobar.servicesUpdated": "Your services have been updated.",
44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "infobar.updateAvailable": "A new update for Ferdi is available.",
46 "invite.email.label": "Email address",
47 "invite.headline.friends": "Invite 3 of your friends or colleagues",
48 "invite.name.label": "Name",
49 "invite.skip.label": "I want to do this later",
50 "invite.submit.label": "Send invites",
51 "invite.successInfo": "Invitations sent successfully",
52 "locked.headline": "Locked",
53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "locked.invalidCredentials": "Password invalid",
55 "locked.password.label": "Password",
56 "locked.submit.label": "Unlock",
57 "login.changeServer": "Change server",
58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "login.customServerSuggestion": "Try importing your Franz account",
60 "login.email.label": "Email address",
61 "login.headline": "Sign in",
62 "login.invalidCredentials": "Email or password not valid",
63 "login.link.password": "Reset password",
64 "login.link.signup": "Create a free account",
65 "login.password.label": "Password",
66 "login.serverLogout": "Your session expired, please login again.",
67 "login.submit.label": "Sign in",
68 "login.tokenExpired": "Your session expired, please login again.",
69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "menu.app.about": "About Ferdi",
72 "menu.app.announcement": "What's new?",
73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "menu.app.checkForUpdates": "Check for updates",
75 "menu.app.hide": "Hide",
76 "menu.app.hideOthers": "Hide Others",
77 "menu.app.quit": "Quit",
78 "menu.app.settings": "Settings",
79 "menu.app.unhide": "Unhide",
80 "menu.edit": "Edit",
81 "menu.edit.copy": "Copy",
82 "menu.edit.cut": "Cut",
83 "menu.edit.delete": "Delete",
84 "menu.edit.emojiSymbols": "Emoji & Symbols",
85 "menu.edit.paste": "Paste",
86 "menu.edit.pasteAndMatchStyle": "Paste And Match Style",
87 "menu.edit.redo": "Redo",
88 "menu.edit.selectAll": "Select All",
89 "menu.edit.speech": "Speech",
90 "menu.edit.startDictation": "Start Dictation",
91 "menu.edit.startSpeaking": "Start Speaking",
92 "menu.edit.stopSpeaking": "Stop Speaking",
93 "menu.edit.undo": "Undo",
94 "menu.file": "File",
95 "menu.help": "Help",
96 "menu.help.changelog": "Changelog",
97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.help.learnMore": "Learn More",
101 "menu.help.privacy": "Privacy Statement",
102 "menu.help.support": "Support",
103 "menu.help.tos": "Terms of Service",
104 "menu.services": "Services",
105 "menu.services.activatePreviousService": "Activate previous service",
106 "menu.services.addNewService": "Add New Service...",
107 "menu.services.goHome": "Home",
108 "menu.services.setNextServiceActive": "Activate next service",
109 "menu.todos": "Todos",
110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.view": "View",
112 "menu.view.back": "Back",
113 "menu.view.enterFullScreen": "Enter Full Screen",
114 "menu.view.exitFullScreen": "Exit Full Screen",
115 "menu.view.forward": "Forward",
116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.view.reloadFranz": "Reload Ferdi",
119 "menu.view.reloadService": "Reload Service",
120 "menu.view.resetZoom": "Actual Size",
121 "menu.view.toggleDevTools": "Toggle Developer Tools",
122 "menu.view.toggleFullScreen": "Toggle Full Screen",
123 "menu.view.toggleServiceDevTools": "Toggle Service Developer Tools",
124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.zoomIn": "Zoom In",
126 "menu.view.zoomOut": "Zoom Out",
127 "menu.window": "Window",
128 "menu.window.close": "Close",
129 "menu.window.minimize": "Minimize",
130 "menu.workspaces": "Workspaces",
131 "menu.workspaces.addNewWorkspace": "Add New Workspace...",
132 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
133 "menu.workspaces.defaultWorkspace": "All services",
134 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
135 "password.email.label": "Email address",
136 "password.headline": "Reset password",
137 "password.link.login": "Sign in to your account",
138 "password.link.signup": "Create a free account",
139 "password.noUser": "No user with that email address was found",
140 "password.submit.label": "Submit",
141 "password.successInfo": "Please check your email",
142 "premiumFeature.button.upgradeAccount": "Upgrade account",
143 "pricing.features.adFree": "Forever ad-free",
144 "pricing.features.appDelays": "No Waiting Screens",
145 "pricing.features.customWebsites": "Add Custom Websites",
146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "pricing.features.serviceProxies": "Service Proxies",
148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.workspaces": "Workspaces",
153 "pricing.plan.free": "Ferdi Free",
154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "service.crashHandler.action": "Reload {name}",
171 "service.crashHandler.autoReload": "Trying to automatically restore {name} in {seconds} seconds",
172 "service.crashHandler.headline": "Oh no!",
173 "service.crashHandler.text": "{name} has caused an error.",
174 "service.disabledHandler.action": "Enable {name}",
175 "service.disabledHandler.headline": "{name} is disabled",
176 "service.errorHandler.action": "Reload {name}",
177 "service.errorHandler.editAction": "Edit {name}",
178 "service.errorHandler.headline": "Oh no!",
179 "service.errorHandler.message": "Error",
180 "service.errorHandler.text": "{name} has failed to load.",
181 "service.restrictedHandler.action": "Upgrade Account",
182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.webviewLoader.loading": "Loading",
187 "services.getStarted": "Get started",
188 "services.login": "Please login to use Ferdi.",
189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "services.serverless": "Use Ferdi without an Account",
191 "services.welcome": "Welcome to Ferdi",
192 "settings.account.account.editButton": "Edit account",
193 "settings.account.accountType.basic": "Basic Account",
194 "settings.account.accountType.premium": "Premium Supporter Account",
195 "settings.account.buttonSave": "Update profile",
196 "settings.account.deleteAccount": "Delete account",
197 "settings.account.deleteEmailSent": "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!",
198 "settings.account.deleteInfo": "If you don't need your Ferdi account any longer, you can delete your account and all related data here.",
199 "settings.account.headline": "Account",
200 "settings.account.headlineAccount": "Account information",
201 "settings.account.headlineDangerZone": "Danger Zone",
202 "settings.account.headlineInvoices": "Invoices",
203 "settings.account.headlinePassword": "Change password",
204 "settings.account.headlineProfile": "Update profile",
205 "settings.account.headlineSubscription": "Your subscription",
206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.invoiceDownload": "Download",
209 "settings.account.manageSubscription.label": "Manage your subscription",
210 "settings.account.successInfo": "Your changes have been saved",
211 "settings.account.trial": "Free Trial",
212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.tryReloadServices": "Try again",
215 "settings.account.tryReloadUserInfoRequest": "Try again",
216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.userInfoRequestFailed": "Could not load user information",
218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.app.buttonClearAllCache": "Clear cache",
221 "settings.app.buttonInstallUpdate": "Restart & install update",
222 "settings.app.buttonSearchForUpdate": "Check for updates",
223 "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.",
224 "settings.app.currentVersion": "Current version:",
225 "settings.app.form.accentColor": "Accent color",
226 "settings.app.form.autoLaunchInBackground": "Open in background",
227 "settings.app.form.autoLaunchOnStart": "Launch Ferdi on start",
228 "settings.app.form.beta": "Include beta versions",
229 "settings.app.form.darkMode": "Join the Dark Side",
230 "settings.app.form.enableGPUAcceleration": "Enable GPU Acceleration",
231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.form.enableSpellchecking": "Enable spell checking",
233 "settings.app.form.enableSystemTray": "Show Ferdi in system tray",
234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.language": "Language",
239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.minimizeToSystemTray": "Minimize Ferdi to system tray",
241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.runInBackground": "Keep Ferdi in background when closing the window",
244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices": "Display disabled services tabs",
249 "settings.app.form.showMessagesBadgesWhenMuted": "Show unread message badge when notifications are disabled",
250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headline": "Settings",
254 "settings.app.headlineAdvanced": "Advanced",
255 "settings.app.headlineAppearance": "Appearance",
256 "settings.app.headlineGeneral": "General",
257 "settings.app.headlineLanguage": "Language",
258 "settings.app.headlineUpdates": "Updates",
259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.app.restartRequired": "Changes require restart",
265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.app.subheadlineCache": "Cache",
270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.app.translationHelp": "Help us to translate Ferdi into your language.",
272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.app.updateStatusAvailable": "Update available, downloading...",
274 "settings.app.updateStatusSearching": "Is searching for update",
275 "settings.app.updateStatusUpToDate": "You are using the latest version of Ferdi",
276 "settings.invite.headline": "Invite Friends",
277 "settings.navigation.account": "Account",
278 "settings.navigation.availableServices": "Available services",
279 "settings.navigation.logout": "Logout",
280 "settings.navigation.settings": "Settings",
281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.navigation.team": "Manage Team",
283 "settings.navigation.yourServices": "Your services",
284 "settings.navigation.yourWorkspaces": "Your workspaces",
285 "settings.recipes.all": "All services",
286 "settings.recipes.custom": "Custom Services",
287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.recipes.headline": "Available services",
294 "settings.recipes.missingService": "Missing a service?",
295 "settings.recipes.mostPopular": "Most popular",
296 "settings.recipes.nothingFound": "Sorry, but no service matched your search term.",
297 "settings.recipes.servicesSuccessfulAddedInfo": "Service successfully added",
298 "settings.searchService": "Search service",
299 "settings.service.error.goBack": "Back to services",
300 "settings.service.error.headline": "Error",
301 "settings.service.error.message": "Could not load service recipe.",
302 "settings.service.form.addServiceHeadline": "Add {name}",
303 "settings.service.form.availableServices": "Available services",
304 "settings.service.form.customUrl": "Custom server",
305 "settings.service.form.customUrlPremiumInfo": "To add self hosted services, you need a Ferdi Premium Supporter Account.",
306 "settings.service.form.customUrlUpgradeAccount": "Upgrade your account",
307 "settings.service.form.customUrlValidationError": "Could not validate custom {name} server.",
308 "settings.service.form.deleteButton": "Delete service",
309 "settings.service.form.editServiceHeadline": "Edit {name}",
310 "settings.service.form.enableAudio": "Enable audio",
311 "settings.service.form.enableBadge": "Show unread message badges",
312 "settings.service.form.enableDarkMode": "Enable Dark Mode",
313 "settings.service.form.enableNotification": "Enable notifications",
314 "settings.service.form.enableService": "Enable service",
315 "settings.service.form.headlineBadges": "Unread message badges",
316 "settings.service.form.headlineGeneral": "General",
317 "settings.service.form.headlineNotifications": "Notifications",
318 "settings.service.form.icon": "Custom icon",
319 "settings.service.form.iconDelete": "Delete",
320 "settings.service.form.iconUpload": "Drop your image, or click here",
321 "settings.service.form.indirectMessageInfo": "You will be notified about all new messages in a channel, not just @username, @channel, @here, ...",
322 "settings.service.form.indirectMessages": "Show message badge for all new messages",
323 "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted",
324 "settings.service.form.name": "Name",
325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings",
327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.service.form.proxy.info": "Proxy settings will not synced with the Ferdi servers.",
329 "settings.service.form.proxy.isEnabled": "Use Proxy",
330 "settings.service.form.proxy.password": "Password (optional)",
331 "settings.service.form.proxy.port": "Port",
332 "settings.service.form.proxy.restartInfo": "Please restart Ferdi after changing proxy Settings.",
333 "settings.service.form.proxy.user": "User (optional)",
334 "settings.service.form.saveButton": "Save service",
335 "settings.service.form.tabHosted": "Hosted",
336 "settings.service.form.tabOnPremise": "Self hosted ⭐️",
337 "settings.service.form.team": "Team",
338 "settings.service.form.useHostedService": "Use the hosted {name} service.",
339 "settings.service.form.yourServices": "Your services",
340 "settings.services.deletedInfo": "Service has been deleted",
341 "settings.services.discoverServices": "Discover services",
342 "settings.services.headline": "Your services",
343 "settings.services.noServicesAdded": "You haven't added any services yet.",
344 "settings.services.servicesRequestFailed": "Could not load your services",
345 "settings.services.tooltip.isDisabled": "Service is disabled",
346 "settings.services.tooltip.isMuted": "All sounds are muted",
347 "settings.services.tooltip.notificationsDisabled": "Notifications are disabled",
348 "settings.services.updatedInfo": "Your changes have been saved",
349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.team.headline": "Team",
357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.team.manageAction": "Manage your Team on getferdi.com",
359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.team.upgradeAction": "Upgrade your Account",
362 "settings.user.form.accountType.company": "Company",
363 "settings.user.form.accountType.individual": "Individual",
364 "settings.user.form.accountType.label": "Account type",
365 "settings.user.form.accountType.non-profit": "Non-Profit",
366 "settings.user.form.currentPassword": "Current password",
367 "settings.user.form.email": "Email",
368 "settings.user.form.firstname": "First Name",
369 "settings.user.form.lastname": "Last Name",
370 "settings.user.form.newPassword": "New password",
371 "settings.workspace.add.form.name": "Name",
372 "settings.workspace.add.form.submitButton": "Create workspace",
373 "settings.workspace.form.buttonDelete": "Delete workspace",
374 "settings.workspace.form.buttonSave": "Save workspace",
375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "settings.workspace.form.name": "Name",
378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "settings.workspace.form.yourWorkspaces": "Your workspaces",
380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "settings.workspaces.headline": "Your workspaces",
382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "settings.workspaces.tryReloadWorkspaces": "Try again",
384 "settings.workspaces.updatedInfo": "Your changes have been saved",
385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "sidebar.addNewService": "Add new service",
389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
391 "sidebar.lockFerdi": "Lock Ferdi",
392 "sidebar.muteApp": "Disable notifications & audio",
393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
395 "sidebar.settings": "Settings",
396 "sidebar.unmuteApp": "Enable notifications & audio",
397 "signup.email.label": "Email address",
398 "signup.emailDuplicate": "A user with that email address already exists",
399 "signup.firstname.label": "First Name",
400 "signup.headline": "Sign up",
401 "signup.lastname.label": "Last Name",
402 "signup.legal.info": "By creating a Ferdi account you accept the",
403 "signup.legal.privacy": "Privacy Statement",
404 "signup.legal.terms": "Terms of service",
405 "signup.link.login": "Already have an account, sign in?",
406 "signup.password.label": "Password",
407 "signup.submit.label": "Create account",
408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "subscription.cta.allOptions": "See all options",
410 "subscription.cta.choosePlan": "Choose your plan",
411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "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!",
414 "subscriptionPopup.buttonCancel": "Cancel",
415 "subscriptionPopup.buttonDone": "Done",
416 "tabs.item.deleteService": "Delete service",
417 "tabs.item.disableAudio": "Disable audio",
418 "tabs.item.disableNotifications": "Disable notifications",
419 "tabs.item.disableService": "Disable service",
420 "tabs.item.edit": "Edit",
421 "tabs.item.enableAudio": "Enable audio",
422 "tabs.item.enableNotification": "Enable notifications",
423 "tabs.item.enableService": "Enable service",
424 "tabs.item.reload": "Reload",
425 "validation.email": "{field} is not valid",
426 "validation.minLength": "{field} should be at least {length} characters long",
427 "validation.oneRequired": "At least one is required",
428 "validation.required": "{field} is required",
429 "validation.url": "{field} is not a valid URL",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Reload",
435 "welcome.loginButton": "Login to your account",
436 "welcome.signupButton": "Create a free account",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "All services",
439 "workspaceDrawer.headline": "Workspaces",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
448}
diff --git a/src/i18n/locales/pl.json b/src/i18n/locales/pl.json
index ae2a62d05..6b4eb7d6e 100644
--- a/src/i18n/locales/pl.json
+++ b/src/i18n/locales/pl.json
@@ -1,429 +1,448 @@
1{ 1{
2 "app.errorHandler.action" : "Odśwież", 2 "app.errorHandler.action": "Odśwież",
3 "app.errorHandler.headline" : "Coś poszło nie tak.", 3 "app.errorHandler.headline": "Coś poszło nie tak.",
4 "feature.announcements.changelog.headline" : "Zmiany we Franzie {version}", 4 "feature.announcements.changelog.headline": "Zmiany we Ferdiie {version}",
5 "feature.delayApp.headline" : "Upgrade your Franz plan to skip the wait", 5 "feature.delayApp.headline": "Aby nie czekać, kup licencję Ferdi Supporter",
6 "feature.delayApp.text" : "Franz będzie kontynuował za {seconds} sekund.", 6 "feature.delayApp.text": "Ferdi będzie kontynuował za {seconds} sekund.",
7 "feature.delayApp.trial.action" : "Tak, chcę darmową 14-dniową wersję próbną Franz Professional", 7 "feature.delayApp.trial.action": "Tak, chcę darmową 14-dniową wersję próbną Ferdi Professional",
8 "feature.delayApp.trial.actionShort" : "Aktywuj darmową wersję próbną Franz Professional", 8 "feature.delayApp.trial.actionShort": "Aktywuj darmową wersję próbną Ferdi Professional",
9 "feature.delayApp.trial.headline" : "Get the free Franz Professional 14-days trial and skip the wait", 9 "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line",
10 "feature.delayApp.upgrade.action" : "Upgrade Franz", 10 "feature.delayApp.upgrade.action": "Uzyskaj licencję Ferdi Supporter",
11 "feature.delayApp.upgrade.actionShort" : "Ulepsz swoje konto", 11 "feature.delayApp.upgrade.actionShort": "Ulepsz swoje konto",
12 "feature.planSelection.cta.ctaDowngradeFree" : "Downgrade to Free", 12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.planSelection.cta.stayOnFree" : "Stay on Free", 13 "feature.quickSwitch.search": "Search...",
14 "feature.planSelection.cta.trial" : "Start my free 14-days Trial", 14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.planSelection.cta.upgradePersonal" : "Choose Personal", 15 "feature.serviceLimit.limitReached": "Dodałeś {amount} z {limit} usług, które oferuje twój plan. Ulepsz swoje konto, aby dodać więcej usług.",
16 "feature.planSelection.cta.upgradePro" : "Choose Professional", 16 "feature.shareFranz.action.email": "Wyślij jako email",
17 "feature.planSelection.free.text" : "Basic functionality", 17 "feature.shareFranz.action.facebook": "Udostępnij na Facebooku",
18 "feature.planSelection.fullFeatureList" : "Complete comparison of all plans", 18 "feature.shareFranz.action.twitter": "Udostępnij na Twitterze",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 19 "feature.shareFranz.headline": "Ferdi jest lepszy, gdy tworzymy go razem!",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade" : "Choose Personal", 20 "feature.shareFranz.shareText.email": "Dodałem {count} usług do Ferdia! Pobierz darmową aplikację z WhatsApp, Messenger, Slack, Skype i innymi na www.getferdi.com",
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.", 21 "feature.shareFranz.shareText.twitter": "Dodałem {count} usług do Ferdia! Pobierz darmową aplikację z WhatsApp, Messenger, Slack, Skype i innymi na www.getferdi.com /cc @FerdiMessenger",
22 "feature.planSelection.fullscreen.dialog.title" : "Downgrade your Franz Plan", 22 "feature.shareFranz.text": "Powiedz znajomym i kolegom o tym, jak odlotowy jest Ferdi i pomóż nam go spopularyzować.",
23 "feature.planSelection.fullscreen.subheadline" : "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.", 23 "feature.todos.premium.info": "Listy zadań Ferdi są już dostępne dla użytkowników premium!",
24 "feature.planSelection.fullscreen.welcome" : "Are you ready to choose, {name}?", 24 "feature.todos.premium.rollout": "Wszyscy inni będą musieli zaczekać nieco dłużej.",
25 "feature.planSelection.personal.text" : "More services, no waiting - ideal for personal use.", 25 "feature.todos.premium.upgrade": "Ulepsz konto",
26 "feature.planSelection.pricesBasedOnAnnualPayment" : "All prices based on yearly payment", 26 "global.api.unhealthy": "Nie można połączyć się z usługami Ferdi online",
27 "feature.planSelection.pro.text" : "Unlimited services and professional features for you - and your team.", 27 "global.franzProRequired": "Wymagany Ferdi Professional",
28 "feature.serviceLimit.limitReached" : "Dodałeś {amount} z {limit} usług, które oferuje twój plan. Ulepsz swoje konto, aby dodać więcej usług.", 28 "global.notConnectedToTheInternet": "Nie masz połączenia z Internetem.",
29 "feature.shareFranz.action.email" : "Wyślij jako email", 29 "global.spellchecker.useDefault": "Użyj domyślnego dla systemu ({default})",
30 "feature.shareFranz.action.facebook" : "Udostępnij na Facebooku", 30 "global.spellchecking.autodetect": "Automatycznie wykryj język",
31 "feature.shareFranz.action.twitter" : "Udostępnij na Twitterze", 31 "global.spellchecking.autodetect.short": "Automatycznie",
32 "feature.shareFranz.headline" : "Franz jest lepszy, gdy tworzymy go razem!", 32 "global.spellchecking.language": "Język sprawdzania pisowni",
33 "feature.shareFranz.shareText.email" : "Dodałem {count} usług do Franza! Pobierz darmową aplikację z WhatsApp, Messenger, Slack, Skype i innymi na www.meetfranz.com", 33 "global.upgradeButton.upgradeToPro": "Ulepsz konto do Ferdi Professional",
34 "feature.shareFranz.shareText.twitter" : "Dodałem {count} usług do Franza! Pobierz darmową aplikację z WhatsApp, Messenger, Slack, Skype i innymi na www.meetfranz.com \/cc @FranzMessenger", 34 "import.headline": "Importuj usługi Ferdi 4",
35 "feature.shareFranz.text" : "Powiedz znajomym i kolegom o tym, jak odlotowy jest Franz i pomóż nam go spopularyzować.", 35 "import.notSupportedHeadline": "Usługi, które nie są jeszcze obsługiwane w Ferdi 5",
36 "feature.todos.premium.info" : "Listy zadań Franz są już dostępne dla użytkowników premium!", 36 "import.skip.label": "Chcę dodać usługi samodzielnie",
37 "feature.todos.premium.rollout" : "Wszyscy inni będą musieli zaczekać nieco dłużej.", 37 "import.submit.label": "Zaimportuj usługi",
38 "feature.todos.premium.upgrade" : "Ulepsz konto", 38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "feature.trialStatusBar.cta" : "Upgrade now", 39 "infobar.buttonChangelog": "Co nowego?",
40 "feature.trialStatusBar.expired" : "Your free Franz {plan} Trial has expired, please upgrade your account.", 40 "infobar.buttonInstallUpdate": "Uruchom ponownie i zainstaluj aktualizację",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 41 "infobar.buttonReloadServices": "Odśwież usługi",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade" : "Choose Personal", 42 "infobar.requiredRequestsFailed": "Nie można załadować usług i informacji użytkownika",
43 "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.", 43 "infobar.servicesUpdated": "Usługi zostały zaktualizowane.",
44 "feature.trialStatusBar.fullscreen.dialog.title" : "Downgrade your Franz Plan", 44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "feature.trialStatusBar.restTime" : "Your Free Franz {plan} Trial ends in {time}.", 45 "infobar.updateAvailable": "Dostępna jest nowa wersja Ferdia.",
46 "global.api.unhealthy" : "Nie można połączyć się z usługami Franz online", 46 "invite.email.label": "Adres email",
47 "global.franzProRequired" : "Wymagany Franz Professional", 47 "invite.headline.friends": "Zaproś 3 znajomych lub kolegów",
48 "global.notConnectedToTheInternet" : "Nie masz połączenia z Internetem.", 48 "invite.name.label": "Imię",
49 "global.spellchecker.useDefault" : "Użyj domyślnego dla systemu ({default})", 49 "invite.skip.label": "Chcę to zrobić później",
50 "global.spellchecking.autodetect" : "Automatycznie wykryj język", 50 "invite.submit.label": "Wyślij zaproszenia",
51 "global.spellchecking.autodetect.short" : "Automatycznie", 51 "invite.successInfo": "Zaproszenia zostały wysłane",
52 "global.spellchecking.language" : "Język sprawdzania pisowni", 52 "locked.headline": "Locked",
53 "global.upgradeButton.upgradeToPro" : "Ulepsz konto do Franz Professional", 53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "import.headline" : "Importuj usługi Franz 4", 54 "locked.invalidCredentials": "Password invalid",
55 "import.notSupportedHeadline" : "Usługi, które nie są jeszcze obsługiwane w Franz 5", 55 "locked.password.label": "Password",
56 "import.skip.label" : "Chcę dodać usługi samodzielnie", 56 "locked.submit.label": "Unlock",
57 "import.submit.label" : "Zaimportuj usługi", 57 "login.changeServer": "Change server",
58 "infobar.buttonChangelog" : "Co nowego?", 58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "infobar.buttonInstallUpdate" : "Uruchom ponownie i zainstaluj aktualizację", 59 "login.customServerSuggestion": "Try importing your Franz account",
60 "infobar.buttonReloadServices" : "Odśwież usługi", 60 "login.email.label": "Adres email",
61 "infobar.requiredRequestsFailed" : "Nie można załadować usług i informacji użytkownika", 61 "login.headline": "Zaloguj się",
62 "infobar.servicesUpdated" : "Usługi zostały zaktualizowane.", 62 "login.invalidCredentials": "Adres email lub hasło są błędne",
63 "infobar.trialActivated" : "Twój okres próbny właśnie się rozpoczął.Pozytywnych wrażeń!", 63 "login.link.password": "Zresetuj hasło",
64 "infobar.updateAvailable" : "Dostępna jest nowa wersja Franza.", 64 "login.link.signup": "Załóż darmowe konto",
65 "invite.email.label" : "Adres email", 65 "login.password.label": "Password",
66 "invite.headline.friends" : "Zaproś 3 znajomych lub kolegów", 66 "login.serverLogout": "Twoja sesja wygasła, zaloguj się ponownie.",
67 "invite.name.label" : "Imię", 67 "login.submit.label": "Zaloguj się",
68 "invite.skip.label" : "Chcę to zrobić później", 68 "login.tokenExpired": "Twoja sesja wygasła, zaloguj się ponownie.",
69 "invite.submit.label" : "Wyślij zaproszenia", 69 "menu.Todoss.closeTodosDrawer": "Zamknij zakładkę Lista zadań",
70 "invite.successInfo" : "Zaproszenia zostały wysłane", 70 "menu.Todoss.openTodosDrawer": "Otwórz zakładkę Lista zadań",
71 "login.email.label" : "Adres email", 71 "menu.app.about": "O Ferdi",
72 "login.headline" : "Zaloguj się", 72 "menu.app.announcement": "Co słychać?",
73 "login.invalidCredentials" : "Adres email lub hasło są błędne", 73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "login.link.password" : "Zresetuj hasło", 74 "menu.app.checkForUpdates": "Sprawdź aktualizacje",
75 "login.link.signup" : "Załóż darmowe konto", 75 "menu.app.hide": "Ukryj",
76 "login.password.label" : "Hasło", 76 "menu.app.hideOthers": "Ukryj pozostałe",
77 "login.serverLogout" : "Twoja sesja wygasła, zaloguj się ponownie.", 77 "menu.app.quit": "Zakończ",
78 "login.submit.label" : "Zaloguj się", 78 "menu.app.settings": "Ustawienia",
79 "login.tokenExpired" : "Twoja sesja wygasła, zaloguj się ponownie.", 79 "menu.app.unhide": "Pokaż więcej",
80 "menu.Todoss.closeTodosDrawer" : "Zamknij zakładkę Lista zadań", 80 "menu.edit": "Edytuj",
81 "menu.Todoss.openTodosDrawer" : "Otwórz zakładkę Lista zadań", 81 "menu.edit.copy": "Skopiuj",
82 "menu.app.about" : "O Franz", 82 "menu.edit.cut": "Wytnij",
83 "menu.app.announcement" : "Co słychać?", 83 "menu.edit.delete": "Usuń",
84 "menu.app.checkForUpdates" : "Sprawdź aktualizacje", 84 "menu.edit.emojiSymbols": "Emoji i symbole",
85 "menu.app.hide" : "Ukryj", 85 "menu.edit.paste": "Wklej",
86 "menu.app.hideOthers" : "Ukryj pozostałe", 86 "menu.edit.pasteAndMatchStyle": "Wklej i dopasuj styl",
87 "menu.app.quit" : "Zakończ", 87 "menu.edit.redo": "Ponów",
88 "menu.app.settings" : "Ustawienia", 88 "menu.edit.selectAll": "Zaznacz wszystko",
89 "menu.app.unhide" : "Pokaż więcej", 89 "menu.edit.speech": "Mowa",
90 "menu.edit" : "Edytuj", 90 "menu.edit.startDictation": "Zacznij dyktować",
91 "menu.edit.copy" : "Skopiuj", 91 "menu.edit.startSpeaking": "Zacznij mówić",
92 "menu.edit.cut" : "Wytnij", 92 "menu.edit.stopSpeaking": "Przestań mówić",
93 "menu.edit.delete" : "Usuń", 93 "menu.edit.undo": "Cofnij",
94 "menu.edit.emojiSymbols" : "Emoji i symbole", 94 "menu.file": "Plik",
95 "menu.edit.paste" : "Wklej", 95 "menu.help": "Pomoc",
96 "menu.edit.pasteAndMatchStyle" : "Wklej i dopasuj styl", 96 "menu.help.changelog": "Lista zmian",
97 "menu.edit.redo" : "Ponów", 97 "menu.help.debugInfo": "Skopiuj informacje debugowania",
98 "menu.edit.selectAll" : "Zaznacz wszystko", 98 "menu.help.debugInfoCopiedBody": "Informacje debugowania zostały skopiowane do schowka.",
99 "menu.edit.speech" : "Mowa", 99 "menu.help.debugInfoCopiedHeadline": "Informacje debugowania Ferdi",
100 "menu.edit.startDictation" : "Zacznij dyktować", 100 "menu.help.learnMore": "Dowiedz się więcej",
101 "menu.edit.startSpeaking" : "Zacznij mówić", 101 "menu.help.privacy": "Polityka prywatności",
102 "menu.edit.stopSpeaking" : "Przestań mówić", 102 "menu.help.support": "Wsparcie",
103 "menu.edit.undo" : "Cofnij", 103 "menu.help.tos": "Warunki świadczenia usług",
104 "menu.file" : "Plik", 104 "menu.services": "Usługi",
105 "menu.help" : "Pomoc", 105 "menu.services.activatePreviousService": "Poprzednia usługa",
106 "menu.help.changelog" : "Lista zmian", 106 "menu.services.addNewService": "Dodaj nową usługę...",
107 "menu.help.debugInfo" : "Skopiuj informacje debugowania", 107 "menu.services.goHome": "Home",
108 "menu.help.debugInfoCopiedBody" : "Informacje debugowania zostały skopiowane do schowka.", 108 "menu.services.setNextServiceActive": "Następna usługa",
109 "menu.help.debugInfoCopiedHeadline" : "Informacje debugowania Franz", 109 "menu.todos": "Lista zadań",
110 "menu.help.learnMore" : "Dowiedz się więcej", 110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.help.privacy" : "Polityka prywatności", 111 "menu.view": "Widok",
112 "menu.help.support" : "Wsparcie", 112 "menu.view.back": "Back",
113 "menu.help.tos" : "Warunki świadczenia usług", 113 "menu.view.enterFullScreen": "Włącz tryb pełnoekranowy",
114 "menu.services" : "Usługi", 114 "menu.view.exitFullScreen": "Zakończ tryb pełnoekranowy",
115 "menu.services.activatePreviousService" : "Poprzednia usługa", 115 "menu.view.forward": "Forward",
116 "menu.services.addNewService" : "Dodaj nową usługę...", 116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.services.goHome" : "Strona główna", 117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.services.setNextServiceActive" : "Następna usługa", 118 "menu.view.reloadFranz": "Przeładuj Ferdi",
119 "menu.todos" : "Lista zadań", 119 "menu.view.reloadService": "Przeładuj usługę",
120 "menu.todos.enableTodos" : "Enable Todos", 120 "menu.view.resetZoom": "Domyślny rozmiar",
121 "menu.view" : "Widok", 121 "menu.view.toggleDevTools": "Pokaż narzędzia developerskie",
122 "menu.view.enterFullScreen" : "Włącz tryb pełnoekranowy", 122 "menu.view.toggleFullScreen": "Przełącz tryb pełnoekranowy",
123 "menu.view.exitFullScreen" : "Zakończ tryb pełnoekranowy", 123 "menu.view.toggleServiceDevTools": "Włącz narzędzia developerskie usługi",
124 "menu.view.reloadFranz" : "Przeładuj Franz", 124 "menu.view.toggleTodosDevTools": "Przełącz narzędzia deweloperskie Listy zadań",
125 "menu.view.reloadService" : "Przeładuj usługę", 125 "menu.view.zoomIn": "Powiększ",
126 "menu.view.resetZoom" : "Domyślny rozmiar", 126 "menu.view.zoomOut": "Pomniejsz",
127 "menu.view.toggleDevTools" : "Pokaż narzędzia developerskie", 127 "menu.window": "Okno",
128 "menu.view.toggleFullScreen" : "Przełącz tryb pełnoekranowy", 128 "menu.window.close": "Zamknij",
129 "menu.view.toggleServiceDevTools" : "Włącz narzędzia developerskie usługi", 129 "menu.window.minimize": "Zminimalizuj",
130 "menu.view.toggleTodosDevTools" : "Przełącz narzędzia deweloperskie Listy zadań", 130 "menu.workspaces": "Obszary robocze",
131 "menu.view.zoomIn" : "Powiększ", 131 "menu.workspaces.addNewWorkspace": "Dodaj nowy obszar roboczy...",
132 "menu.view.zoomOut" : "Pomniejsz", 132 "menu.workspaces.closeWorkspaceDrawer": "Zamknij edytor obszaru roboczego",
133 "menu.window" : "Okno", 133 "menu.workspaces.defaultWorkspace": "Wszystkie usługi",
134 "menu.window.close" : "Zamknij", 134 "menu.workspaces.openWorkspaceDrawer": "Otwórz edytor obszaru roboczego",
135 "menu.window.minimize" : "Zminimalizuj", 135 "password.email.label": "Adres email",
136 "menu.workspaces" : "Obszary robocze", 136 "password.headline": "Zresetuj hasło",
137 "menu.workspaces.addNewWorkspace" : "Dodaj nowy obszar roboczy...", 137 "password.link.login": "Zaloguj się na swoje konto",
138 "menu.workspaces.closeWorkspaceDrawer" : "Zamknij edytor obszaru roboczego", 138 "password.link.signup": "Załóż darmowe konto",
139 "menu.workspaces.defaultWorkspace" : "Wszystkie usługi", 139 "password.noUser": "Nie znaleziono użytkownika z takim adresem email",
140 "menu.workspaces.openWorkspaceDrawer" : "Otwórz edytor obszaru roboczego", 140 "password.submit.label": "Wyślij",
141 "password.email.label" : "Adres email", 141 "password.successInfo": "Proszę sprawdzić swój email",
142 "password.headline" : "Przypomnij hasło", 142 "premiumFeature.button.upgradeAccount": "Ulepsz swoje konto",
143 "password.link.login" : "Zaloguj się na swoje konto", 143 "pricing.features.adFree": "Na zawsze bez reklam",
144 "password.link.signup" : "Stwórz darmowe konto", 144 "pricing.features.appDelays": "No Waiting Screens",
145 "password.noUser" : "Nie znaleziono użytkownika z takim adresem email", 145 "pricing.features.customWebsites": "Dodawanie dowolnych stron internetowych",
146 "password.submit.label" : "Wyślij", 146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "password.successInfo" : "Proszę sprawdzić swój email", 147 "pricing.features.serviceProxies": "Service Proxies",
148 "premiumFeature.button.upgradeAccount" : "Ulepsz konto", 148 "pricing.features.spellchecker": "Obsługa sprawdzania pisowni",
149 "pricing.features.accountSync" : "Account Synchronisation", 149 "pricing.features.teamManagement": "Zarządzanie zespołem",
150 "pricing.features.adFree" : "Na zawsze bez reklam", 150 "pricing.features.thirdPartyServices": "Instalacja zewnętrznych usług",
151 "pricing.features.appDelays" : "Bez czekania", 151 "pricing.features.unlimitedServices": "Dodawanie nielimitowanych usług",
152 "pricing.features.customWebsites" : "Dodawanie dowolnych stron internetowych", 152 "pricing.features.workspaces": "Obszary robocze",
153 "pricing.features.desktopNotifications" : "Desktop Notifications", 153 "pricing.plan.free": "Ferdi Free",
154 "pricing.features.onPremise" : "On-premise & other Hosted Services", 154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.features.recipes" : "Choose from more than 70 Services", 155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.features.serviceProxies" : "Service Proxies", 156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.features.spellchecker" : "Obsługa sprawdzania pisowni", 157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.features.teamManagement" : "Zarządzanie zespołem", 158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.features.thirdPartyServices" : "Instalacja zewnętrznych usług", 159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.features.unlimitedServices" : "Dodawanie nielimitowanych usług", 160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.features.upToSixServices" : "Add up to 6 services", 161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.features.upToThreeServices" : "Add up to 3 services", 162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.features.workspaces" : "Obszary robocze", 163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.plan.free" : "Free", 164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.plan.legacy" : "Premium", 165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.plan.personal" : "Personal", 166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.plan.personal-monthly" : "Personal Monthly", 167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.plan.personal-yearly" : "Personal Yearly", 168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.plan.pro" : "Professional", 169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "pricing.plan.pro-monthly" : "Professional Monthly", 170 "service.crashHandler.action": "Przeładuj {name}",
171 "pricing.plan.pro-yearly" : "Professional Yearly", 171 "service.crashHandler.autoReload": "Próba automatycznego odnowienia {name} za {seconds} sekund/y",
172 "pricing.trial.cta.accept" : "Start my 14-day Franz Professional Trial ", 172 "service.crashHandler.headline": "O nie!",
173 "pricing.trial.cta.skip" : "Continue to Franz", 173 "service.crashHandler.text": "{name} spowodował problem.",
174 "pricing.trial.cta.start" : "Start using Franz", 174 "service.disabledHandler.action": "Włącz {name}",
175 "pricing.trial.error" : "Sorry, we could not activate your trial!", 175 "service.disabledHandler.headline": "{name} jest wyłączony",
176 "pricing.trial.features.headline" : "Franz Professional includes:", 176 "service.errorHandler.action": "Przeładuj {name}",
177 "pricing.trial.headline.pro" : "Hi {name}, welcome to Franz", 177 "service.errorHandler.editAction": "Edytuj {name}",
178 "pricing.trial.intro.happyMessaging" : "Happy messaging,", 178 "service.errorHandler.headline": "O nie!",
179 "pricing.trial.intro.specialTreat" : "We have a special treat for you.", 179 "service.errorHandler.message": "Błąd",
180 "pricing.trial.intro.tryPro" : "Enjoy the full Franz Professional experience completely free for 14 days.", 180 "service.errorHandler.text": "Nie udało się załadować {name}.",
181 "pricing.trial.terms.automaticTrialEnd" : "Your free trial ends automatically after 14 days", 181 "service.restrictedHandler.action": "Ulepsz konto",
182 "pricing.trial.terms.headline" : "No strings attached", 182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "pricing.trial.terms.noCreditCard" : "No credit card required", 183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "pricing.trial.terms.trialWorth" : "Free trial (normally {currency}{price} per month)", 184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.crashHandler.action" : "Przeładuj {name}", 185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.crashHandler.autoReload" : "Próba automatycznego odnowienia {name} za {seconds} sekund\/y", 186 "service.webviewLoader.loading": "Ładowanie",
187 "service.crashHandler.headline" : "O nie!", 187 "services.getStarted": "Zacznij",
188 "service.crashHandler.text" : "{name} spowodował problem.", 188 "services.login": "Please login to use Ferdi.",
189 "service.disabledHandler.action" : "Włącz {name}", 189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "service.disabledHandler.headline" : "{name} jest wyłączony", 190 "services.serverless": "Use Ferdi without an Account",
191 "service.errorHandler.action" : "Przeładuj {name}", 191 "services.welcome": "Witaj w programie Ferdi",
192 "service.errorHandler.editAction" : "Edytuj {name}", 192 "settings.account.account.editButton": "Modyfikuj konta",
193 "service.errorHandler.headline" : "O nie!", 193 "settings.account.accountType.basic": "Podstawowe konto",
194 "service.errorHandler.message" : "Błąd", 194 "settings.account.accountType.premium": "Premium Supporter Account",
195 "service.errorHandler.text" : "Nie udało się załadować {name}.", 195 "settings.account.buttonSave": "Uaktualnij profil",
196 "service.restrictedHandler.action" : "Ulepsz konto", 196 "settings.account.deleteAccount": "Usuń konto",
197 "service.restrictedHandler.customUrl.headline" : "Franz Professional Plan required", 197 "settings.account.deleteEmailSent": "Wysłaliśmy email z linkiem do potwierdzenia usunięcia konta. Konto oraz dane są usuwane trwale i nie można tego cofnąć!",
198 "service.restrictedHandler.customUrl.text" : "Please upgrade to the Franz Professional plan to use custom urls & self hosted services.", 198 "settings.account.deleteInfo": "Jeżeli nie potrzebujesz już konta Ferdi, możesz je usunąć oraz wszystkie dane na nim zapisane.",
199 "service.restrictedHandler.serviceLimit.headline" : "You have reached your service limit.", 199 "settings.account.headline": "Konto",
200 "service.restrictedHandler.serviceLimit.text" : "Please upgrade your account to use more than {count} services.", 200 "settings.account.headlineAccount": "Informacje o koncie",
201 "service.webviewLoader.loading" : "Ładowanie", 201 "settings.account.headlineDangerZone": "Niebezpieczna strefa",
202 "services.getStarted" : "Zacznij", 202 "settings.account.headlineInvoices": "Faktury",
203 "services.welcome" : "Witaj w programie Franz", 203 "settings.account.headlinePassword": "Zmień hasło",
204 "settings.account.account.editButton" : "Modyfikuj konta", 204 "settings.account.headlineProfile": "Uaktualnij profil",
205 "settings.account.accountType.basic" : "Podstawowe konto", 205 "settings.account.headlineSubscription": "Twoja subskrypcja",
206 "settings.account.accountType.premium" : "Premium Supporter Account", 206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.buttonSave" : "Uaktualnij profil", 207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.deleteAccount" : "Usuń konto", 208 "settings.account.invoiceDownload": "Pobierz",
209 "settings.account.deleteEmailSent" : "Wysłaliśmy email z linkiem do potwierdzenia usunięcia konta. Konto oraz dane są usuwane trwale i nie można tego cofnąć!", 209 "settings.account.manageSubscription.label": "Zarządzaj swoimi subskrypcjami",
210 "settings.account.deleteInfo" : "Jeżeli nie potrzebujesz już konta Franz, możesz je usunąć oraz wszystkie dane na nim zapisane.", 210 "settings.account.successInfo": "Twoje zmiany zostały zapisane",
211 "settings.account.headline" : "Konto", 211 "settings.account.trial": "Free Trial",
212 "settings.account.headlineAccount" : "Informacje o koncie", 212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.headlineDangerZone" : "Niebezpieczna strefa", 213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.headlineInvoices" : "Faktury", 214 "settings.account.tryReloadServices": "Spróbuj ponownie",
215 "settings.account.headlinePassword" : "Zmień hasło", 215 "settings.account.tryReloadUserInfoRequest": "Spróbuj ponownie",
216 "settings.account.headlineProfile" : "Uaktualnij profil", 216 "settings.account.upgradeToPro.label": "Ulepsz konto do Ferdi Professional",
217 "settings.account.headlineSubscription" : "Twoja subskrypcja", 217 "settings.account.userInfoRequestFailed": "Nie można wczytać informacji o użytkowniku",
218 "settings.account.headlineTrialUpgrade" : "Get the free 14 day Franz Professional Trial", 218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.account.headlineUpgradeAccount" : "Upgrade your account & get the full Franz experience", 219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.account.invoiceDownload" : "Pobierz", 220 "settings.app.buttonClearAllCache": "Wyczyść pamięć podręczną (cache)",
221 "settings.account.manageSubscription.label" : "Zarządzaj swoimi subskrypcjami", 221 "settings.app.buttonInstallUpdate": "Uruchom ponownie i zainstaluj aktualizację",
222 "settings.account.successInfo" : "Twoje zmiany zostały zapisane", 222 "settings.app.buttonSearchForUpdate": "Sprawdź aktualizacje",
223 "settings.account.trial" : "Free Trial", 223 "settings.app.cacheInfo": "Pamięć podręczna zajmuje obecnie {size} przestrzeni dyskowej",
224 "settings.account.trialEndsIn" : "Your free trial ends in {duration}.", 224 "settings.app.currentVersion": "Aktualna wersja:",
225 "settings.account.trialUpdateBillingInfo" : "Please update your billing info to continue using {license} after your trial period.", 225 "settings.app.form.accentColor": "Accent color",
226 "settings.account.tryReloadServices" : "Spróbuj ponownie", 226 "settings.app.form.autoLaunchInBackground": "Otwórz w tle",
227 "settings.account.tryReloadUserInfoRequest" : "Spróbuj ponownie", 227 "settings.app.form.autoLaunchOnStart": "Uruchom Ferdi na początku",
228 "settings.account.upgradeToPro.label" : "Ulepsz konto do Franz Professional", 228 "settings.app.form.beta": "Uwzględnij wersje beta",
229 "settings.account.userInfoRequestFailed" : "Nie można wczytać informacji o użytkowniku", 229 "settings.app.form.darkMode": "Przejdź na Ciemną Stronę",
230 "settings.account.yourLicense" : "Your Franz License", 230 "settings.app.form.enableGPUAcceleration": "Włącz akcelerację GPU",
231 "settings.app.buttonClearAllCache" : "Wyczyść pamięć podręczną (cache)", 231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.buttonInstallUpdate" : "Uruchom ponownie i zainstaluj aktualizację", 232 "settings.app.form.enableSpellchecking": "Włącz sprawdzanie pisowni",
233 "settings.app.buttonSearchForUpdate" : "Sprawdź aktualizacje", 233 "settings.app.form.enableSystemTray": "Pokaż Ferdia w obszarze powiadomień",
234 "settings.app.cacheInfo" : "Pamięć podręczna zajmuje obecnie {size} przestrzeni dyskowej", 234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.currentVersion" : "Aktualna wersja:", 235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.autoLaunchInBackground" : "Otwórz w tle", 236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.autoLaunchOnStart" : "Uruchom Franz na początku", 237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.beta" : "Uwzględnij wersje beta", 238 "settings.app.form.language": "Język",
239 "settings.app.form.darkMode" : "Przejdź na Ciemną Stronę", 239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.enableGPUAcceleration" : "Włącz akcelerację GPU", 240 "settings.app.form.minimizeToSystemTray": "Zminimalizuj aplikację Ferdi",
241 "settings.app.form.enableSpellchecking" : "Włącz sprawdzanie pisowni", 241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.enableSystemTray" : "Pokaż Franza w obszarze powiadomień", 242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.enableTodos" : "Enable Franz Todos", 243 "settings.app.form.runInBackground": "Zachowaj aplikację Ferdi w tle po zamknięciu okna",
244 "settings.app.form.keepAllWorkspacesLoaded" : "Keep all workspaces loaded", 244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.language" : "Język", 245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.minimizeToSystemTray" : "Zminimalizuj aplikację Franz", 246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.runInBackground" : "Zachowaj aplikację Franz w tle po zamknięciu okna", 247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices" : "Wyłącz wyświetlanie zakładek z usługami", 248 "settings.app.form.showDisabledServices": "Wyłącz wyświetlanie zakładek z usługami",
249 "settings.app.form.showMessagesBadgesWhenMuted" : "Pokaż licznik nieprzeczytanych wiadomości gdy powiadomienia są wyłączone", 249 "settings.app.form.showMessagesBadgesWhenMuted": "Pokaż licznik nieprzeczytanych wiadomości gdy powiadomienia są wyłączone",
250 "settings.app.headline" : "Ustawienia", 250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.headlineAdvanced" : "Zaawansowane", 251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.headlineAppearance" : "Wygląd", 252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headlineGeneral" : "Ogólne", 253 "settings.app.headline": "Ustawienia",
254 "settings.app.headlineLanguage" : "Język", 254 "settings.app.headlineAdvanced": "Zaawansowane",
255 "settings.app.headlineUpdates" : "Aktualizacje", 255 "settings.app.headlineAppearance": "Wygląd",
256 "settings.app.languageDisclaimer" : "Oficjalnymi językami są Angielski i Niemiecki. Inne języki są tłumaczone przez społeczność Franz.", 256 "settings.app.headlineGeneral": "Ogólne",
257 "settings.app.restartRequired" : "Zmiany wymagają ponownego uruchomienia", 257 "settings.app.headlineLanguage": "Język",
258 "settings.app.subheadlineCache" : "Pamięć podręczna", 258 "settings.app.headlineUpdates": "Aktualizacje",
259 "settings.app.translationHelp" : "Pomóż nam tłumaczyć Franz na Twój język.", 259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.updateStatusAvailable" : "Dostępna aktualizacja, pobieram...", 260 "settings.app.languageDisclaimer": "Oficjalnymi językami są Angielski i Niemiecki. Inne języki są tłumaczone przez społeczność Ferdi.",
261 "settings.app.updateStatusSearching" : "Szukam aktualizacji", 261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.updateStatusUpToDate" : "Używasz najnowszej wersji aplikacji Franz", 262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.invite.headline" : "Zaproś znajomych", 263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.navigation.account" : "Konto", 264 "settings.app.restartRequired": "Zmiany wymagają ponownego uruchomienia",
265 "settings.navigation.availableServices" : "Dostępne usługi", 265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.navigation.inviteFriends" : "Zaproś znajomych", 266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.navigation.logout" : "Wyloguj", 267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.navigation.settings" : "Ustawienia", 268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.navigation.team" : "Zarządzaj Zespołem", 269 "settings.app.subheadlineCache": "Pamięć podręczna",
270 "settings.navigation.yourServices" : "Twoje usługi", 270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.navigation.yourWorkspaces" : "Twoje obszary robocze", 271 "settings.app.translationHelp": "Pomóż nam tłumaczyć Ferdi na Twój język.",
272 "settings.recipes.all" : "Wszystkie usługi", 272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.recipes.custom" : "Własne usługi", 273 "settings.app.updateStatusAvailable": "Dostępna aktualizacja, pobieram...",
274 "settings.recipes.customService.headline.communityRecipes" : "Community 3rd Party Recipes", 274 "settings.app.updateStatusSearching": "Szukam aktualizacji",
275 "settings.recipes.customService.headline.customRecipes" : "Custom 3rd Party Recipes", 275 "settings.app.updateStatusUpToDate": "Używasz najnowszej wersji aplikacji Ferdi",
276 "settings.recipes.customService.headline.devRecipes" : "Your Development Service Recipes", 276 "settings.invite.headline": "Zaproś znajomych",
277 "settings.recipes.customService.intro" : "To add a custom service, copy the service recipe to:", 277 "settings.navigation.account": "Konto",
278 "settings.recipes.customService.openDevDocs" : "Developer Documentation", 278 "settings.navigation.availableServices": "Dostępne usługi",
279 "settings.recipes.customService.openFolder" : "Open folder", 279 "settings.navigation.logout": "Wyloguj",
280 "settings.recipes.headline" : "Dostępne usługi", 280 "settings.navigation.settings": "Ustawienia",
281 "settings.recipes.missingService" : "Brak usługi?", 281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.recipes.mostPopular" : "Najpopularniejsze", 282 "settings.navigation.team": "Zarządzaj Zespołem",
283 "settings.recipes.nothingFound" : "Żadna usługa nie została znaleziona.", 283 "settings.navigation.yourServices": "Twoje usługi",
284 "settings.recipes.servicesSuccessfulAddedInfo" : "Usługa została dodana pomyślnie", 284 "settings.navigation.yourWorkspaces": "Twoje obszary robocze",
285 "settings.searchService" : "Wyszukaj usługę", 285 "settings.recipes.all": "Wszystkie usługi",
286 "settings.service.error.goBack" : "Wróć do usług", 286 "settings.recipes.custom": "Własne usługi",
287 "settings.service.error.headline" : "Błąd", 287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.service.error.message" : "Nie można wczytać przepisu usługi.", 288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.service.form.addServiceHeadline" : "Dodaj {name}", 289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.service.form.availableServices" : "Dostępne usługi", 290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.service.form.customUrl" : "Spersonalizowany serwer", 291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.service.form.customUrlPremiumInfo" : "Aby dodać usługi hostowane lokalnie, musisz posiadać konto Premium.", 292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.service.form.customUrlUpgradeAccount" : "Ulepsz swoje konto", 293 "settings.recipes.headline": "Dostępne usługi",
294 "settings.service.form.customUrlValidationError" : "Nie można zweryfikować spersonalizowanego {name} serwera.", 294 "settings.recipes.missingService": "Brak usługi?",
295 "settings.service.form.deleteButton" : "Usuń usługę", 295 "settings.recipes.mostPopular": "Najpopularniejsze",
296 "settings.service.form.editServiceHeadline" : "Edytuj {name}", 296 "settings.recipes.nothingFound": "Żadna usługa nie została znaleziona.",
297 "settings.service.form.enableAudio" : "Włącz dźwięk", 297 "settings.recipes.servicesSuccessfulAddedInfo": "Usługa została dodana pomyślnie",
298 "settings.service.form.enableBadge" : "Pokaż znacznik nieprzeczytanych wiadomości", 298 "settings.searchService": "Wyszukaj usługę",
299 "settings.service.form.enableDarkMode" : "Włącz Ciemny motyw", 299 "settings.service.error.goBack": "Wróć do usług",
300 "settings.service.form.enableNotification" : "Aktywuj powiadomienia", 300 "settings.service.error.headline": "Błąd",
301 "settings.service.form.enableService" : "Aktywuj usługę", 301 "settings.service.error.message": "Nie można wczytać przepisu usługi.",
302 "settings.service.form.headlineBadges" : "Znaczniki nieprzeczytanych wiadomości", 302 "settings.service.form.addServiceHeadline": "Dodaj {name}",
303 "settings.service.form.headlineGeneral" : "Ogólne", 303 "settings.service.form.availableServices": "Dostępne usługi",
304 "settings.service.form.headlineNotifications" : "Powiadomienia", 304 "settings.service.form.customUrl": "Spersonalizowany serwer",
305 "settings.service.form.icon" : "Własna ikona", 305 "settings.service.form.customUrlPremiumInfo": "Aby dodać usługi hostowane lokalnie, musisz posiadać konto Premium.",
306 "settings.service.form.iconDelete" : "Usuń", 306 "settings.service.form.customUrlUpgradeAccount": "Ulepsz swoje konto",
307 "settings.service.form.iconUpload" : "Przeciągnij i upuść obraz lub kliknij tutaj", 307 "settings.service.form.customUrlValidationError": "Nie można zweryfikować spersonalizowanego {name} serwera.",
308 "settings.service.form.indirectMessageInfo" : "Będziesz informowany o wszystkich nowych wiadomościach na kanale, nie tylko @username, @channel, @here, ...", 308 "settings.service.form.deleteButton": "Usuń usługę",
309 "settings.service.form.indirectMessages" : "Pokaż ikonę wiadomości dla wszystkich nowych wiadomości", 309 "settings.service.form.editServiceHeadline": "Edytuj {name}",
310 "settings.service.form.isMutedInfo" : "Kiedy nieaktywne, wszystkie dźwięki powiadomień są wyciszone", 310 "settings.service.form.enableAudio": "Włącz dźwięk",
311 "settings.service.form.name" : "Nazwa", 311 "settings.service.form.enableBadge": "Pokaż znacznik nieprzeczytanych wiadomości",
312 "settings.service.form.proxy.headline" : "Ustawienia Proxy HTTP\/HTTPS", 312 "settings.service.form.enableDarkMode": "Włącz Ciemny motyw",
313 "settings.service.form.proxy.host" : "Host Proxy\/IP", 313 "settings.service.form.enableNotification": "Aktywuj powiadomienia",
314 "settings.service.form.proxy.info" : "Ustawienia proxy nie będą zsynchronizowane z serwerami Franza.", 314 "settings.service.form.enableService": "Aktywuj usługę",
315 "settings.service.form.proxy.isEnabled" : "Użyj Proxy", 315 "settings.service.form.headlineBadges": "Znaczniki nieprzeczytanych wiadomości",
316 "settings.service.form.proxy.password" : "Hasło (opcjonalnie)", 316 "settings.service.form.headlineGeneral": "Ogólne",
317 "settings.service.form.proxy.port" : "Port", 317 "settings.service.form.headlineNotifications": "Powiadomienia",
318 "settings.service.form.proxy.restartInfo" : "Uruchom ponownie Franz po zmianie ustawień proxy.", 318 "settings.service.form.icon": "Własna ikona",
319 "settings.service.form.proxy.user" : "Użytkownik (opcjonalnie)", 319 "settings.service.form.iconDelete": "Usuń",
320 "settings.service.form.saveButton" : "Zapisz usługę", 320 "settings.service.form.iconUpload": "Przeciągnij i upuść obraz lub kliknij tutaj",
321 "settings.service.form.tabHosted" : "Hostowane", 321 "settings.service.form.indirectMessageInfo": "Będziesz informowany o wszystkich nowych wiadomościach na kanale, nie tylko @username, @channel, @here, ...",
322 "settings.service.form.tabOnPremise" : "Hostowane lokalnie ⭐️", 322 "settings.service.form.indirectMessages": "Pokaż ikonę wiadomości dla wszystkich nowych wiadomości",
323 "settings.service.form.team" : "Zespół", 323 "settings.service.form.isMutedInfo": "Kiedy nieaktywne, wszystkie dźwięki powiadomień są wyciszone",
324 "settings.service.form.useHostedService" : "Użyj hostowanej usługi {name}", 324 "settings.service.form.name": "Imię",
325 "settings.service.form.yourServices" : "Twoje usługi", 325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.services.deletedInfo" : "Usługa została usunięta", 326 "settings.service.form.proxy.headline": "Ustawienia Proxy HTTP/HTTPS",
327 "settings.services.discoverServices" : "Przeglądaj usługi", 327 "settings.service.form.proxy.host": "Host Proxy/IP",
328 "settings.services.headline" : "Twoje usługi", 328 "settings.service.form.proxy.info": "Ustawienia proxy nie będą zsynchronizowane z serwerami Ferdia.",
329 "settings.services.noServicesAdded" : "Nie dodałeś jeszcze żadnych usług.", 329 "settings.service.form.proxy.isEnabled": "Użyj Proxy",
330 "settings.services.servicesRequestFailed" : "Nie udało się załadować twoich usług", 330 "settings.service.form.proxy.password": "Hasło (opcjonalnie)",
331 "settings.services.tooltip.isDisabled" : "Usługa jest nieaktywna", 331 "settings.service.form.proxy.port": "Port",
332 "settings.services.tooltip.isMuted" : "Wszystkie dźwięki są wyciszone", 332 "settings.service.form.proxy.restartInfo": "Uruchom ponownie Ferdi po zmianie ustawień proxy.",
333 "settings.services.tooltip.notificationsDisabled" : "Powiadomienia są nieaktywne", 333 "settings.service.form.proxy.user": "Użytkownik (opcjonalnie)",
334 "settings.services.updatedInfo" : "Zmiany zostały zapisane", 334 "settings.service.form.saveButton": "Zapisz usługę",
335 "settings.team.contentHeadline" : "Zespoły Franz", 335 "settings.service.form.tabHosted": "Hostowane",
336 "settings.team.copy" : "Franz umożliwia zespołom opcję zapraszania pracowników do zespołu wysyłając im maila z zaproszeniem i pozwala zarządzać ich subskrypcją w ustawieniach konta. Nie trać czasu na ustawianie subskrypcji dla każdego zespołu osobno, zapomnij o wielu fakturach i różnych cyklicznych opłatach - jeden zespół do zarządzania wszystkim!", 336 "settings.service.form.tabOnPremise": "Hostowane lokalnie ⭐️",
337 "settings.team.headline" : "Zespół", 337 "settings.service.form.team": "Zespół",
338 "settings.team.intro" : "Czy Ty i zesół używacie programu Franz? Możesz teraz zarządzać subskrypcją Premium dla tylu kolegów, przyjaciół lub rodziny ilu chcesz, wszystko w obrębie jednego konta.", 338 "settings.service.form.useHostedService": "Użyj hostowanej usługi {name}",
339 "settings.team.manageAction" : "Zarządzaj zespołem na meetfranz.com", 339 "settings.service.form.yourServices": "Twoje usługi",
340 "settings.team.upgradeAction" : "Ulepsz swoje konto", 340 "settings.services.deletedInfo": "Usługa została usunięta",
341 "settings.user.form.accountType.company" : "Firma", 341 "settings.services.discoverServices": "Przeglądaj usługi",
342 "settings.user.form.accountType.individual" : "Prywatne", 342 "settings.services.headline": "Twoje usługi",
343 "settings.user.form.accountType.label" : "Typ konta", 343 "settings.services.noServicesAdded": "Nie dodałeś jeszcze żadnych usług.",
344 "settings.user.form.accountType.non-profit" : "Non-Profit", 344 "settings.services.servicesRequestFailed": "Nie udało się załadować twoich usług",
345 "settings.user.form.currentPassword" : "Obecne hasło", 345 "settings.services.tooltip.isDisabled": "Usługa jest nieaktywna",
346 "settings.user.form.email" : "Adres email", 346 "settings.services.tooltip.isMuted": "Wszystkie dźwięki są wyciszone",
347 "settings.user.form.firstname" : "Imię", 347 "settings.services.tooltip.notificationsDisabled": "Powiadomienia są nieaktywne",
348 "settings.user.form.lastname" : "Nazwisko", 348 "settings.services.updatedInfo": "Twoje zmiany zostały zapisane",
349 "settings.user.form.newPassword" : "Nowe hasło", 349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.workspace.add.form.name" : "Imię", 350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.workspace.add.form.submitButton" : "Stwórz obszar roboczy", 351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.workspace.form.buttonDelete" : "Usuń obszar roboczy", 352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.workspace.form.buttonSave" : "Zapisz obszar roboczy", 353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.workspace.form.name" : "Imię", 354 "settings.team.contentHeadline": "Zespoły Ferdi",
355 "settings.workspace.form.servicesInWorkspaceHeadline" : "Usługi w obszarze roboczym", 355 "settings.team.copy": "Ferdi umożliwia zespołom opcję zapraszania pracowników do zespołu wysyłając im maila z zaproszeniem i pozwala zarządzać ich subskrypcją w ustawieniach konta. Nie trać czasu na ustawianie subskrypcji dla każdego zespołu osobno, zapomnij o wielu fakturach i różnych cyklicznych opłatach - jeden zespół do zarządzania wszystkim!",
356 "settings.workspace.form.yourWorkspaces" : "Twoje obszary robocze", 356 "settings.team.headline": "Zespół",
357 "settings.workspaces.deletedInfo" : "Obszar roboczy został skasowany", 357 "settings.team.intro": "Czy Ty i zesół używacie programu Ferdi? Możesz teraz zarządzać subskrypcją Premium dla tylu kolegów, przyjaciół lub rodziny ilu chcesz, wszystko w obrębie jednego konta.",
358 "settings.workspaces.headline" : "Twoje obszary robocze", 358 "settings.team.manageAction": "Zarządzaj zespołem na getferdi.com",
359 "settings.workspaces.noWorkspacesAdded" : "Nie dodałeś jeszcze żadnego obszaru roboczego.", 359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.workspaces.tryReloadWorkspaces" : "Spróbuj ponownie", 360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.workspaces.updatedInfo" : "Twoje zmiany zostały zapisane", 361 "settings.team.upgradeAction": "Ulepsz swoje konto",
362 "settings.workspaces.workspaceFeatureHeadline" : "Mniej znaczy więcej: Wprowadzenie do obszarów roboczych Franz", 362 "settings.user.form.accountType.company": "Firma",
363 "settings.workspaces.workspaceFeatureInfo" : "Obszary robocze programu Franz pozawala Ci na skupieniu się na tym co ważne w danym momencie. Ustaw różne zestawy usług i przełączaj się między nimi w łatwiejszy sposób w dowolnym momencie. Decyduj, które usługi potrzebujesz , więc pomagamy Ci pozostawać na szczycie gry - lub łatwiej wyłączyć się z pracy kiedy tego potrzebujesz.", 363 "settings.user.form.accountType.individual": "Prywatne",
364 "settings.workspaces.workspacesRequestFailed" : "Nie można załadować obszaru roboczego", 364 "settings.user.form.accountType.label": "Typ konta",
365 "sidebar.addNewService" : "Dodaj kolejną usługę", 365 "settings.user.form.accountType.non-profit": "Non-Profit",
366 "sidebar.closeTodosDrawer" : "Close Franz Todos", 366 "settings.user.form.currentPassword": "Obecne hasło",
367 "sidebar.closeWorkspaceDrawer" : "Zamknij edycję obszaru roboczego", 367 "settings.user.form.email": "Adres email",
368 "sidebar.muteApp" : "Wyłącz powiadomienia i dźwięki", 368 "settings.user.form.firstname": "Imię",
369 "sidebar.openTodosDrawer" : "Open Franz Todos", 369 "settings.user.form.lastname": "Nazwisko",
370 "sidebar.openWorkspaceDrawer" : "Otwórz edycję obszaru roboczego", 370 "settings.user.form.newPassword": "Nowe hasło",
371 "sidebar.settings" : "Ustawienia", 371 "settings.workspace.add.form.name": "Imię",
372 "sidebar.unmuteApp" : "Włącz powiadomienia i dźwięki", 372 "settings.workspace.add.form.submitButton": "Stwórz obszar roboczy",
373 "signup.email.label" : "Adres email", 373 "settings.workspace.form.buttonDelete": "Usuń obszar roboczy",
374 "signup.emailDuplicate" : "Użytkownik z takim adresem email już istnieje", 374 "settings.workspace.form.buttonSave": "Zapisz obszar roboczy",
375 "signup.firstname.label" : "Imię", 375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "signup.headline" : "Zarejestruj się", 376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "signup.lastname.label" : "Nazwisko", 377 "settings.workspace.form.name": "Imię",
378 "signup.legal.info" : "Poprzez utworzenie konta Franz akceptujesz", 378 "settings.workspace.form.servicesInWorkspaceHeadline": "Usługi w obszarze roboczym",
379 "signup.legal.privacy" : "Polityka prywatności", 379 "settings.workspace.form.yourWorkspaces": "Twoje obszary robocze",
380 "signup.legal.terms" : "Warunki świadczenia usług", 380 "settings.workspaces.deletedInfo": "Obszar roboczy został skasowany",
381 "signup.link.login" : "Masz już konto, zalogować się?", 381 "settings.workspaces.headline": "Twoje obszary robocze",
382 "signup.password.label" : "Hasło", 382 "settings.workspaces.noWorkspacesAdded": "Nie dodałeś jeszcze żadnego obszaru roboczego.",
383 "signup.submit.label" : "Stwórz konto", 383 "settings.workspaces.tryReloadWorkspaces": "Spróbuj ponownie",
384 "subscription.bestValue" : "Best value", 384 "settings.workspaces.updatedInfo": "Twoje zmiany zostały zapisane",
385 "subscription.cta.activateTrial" : "Yes, start the free Franz Professional trial", 385 "settings.workspaces.workspaceFeatureHeadline": "Mniej znaczy więcej: Wprowadzenie do obszarów roboczych Ferdi",
386 "subscription.cta.allOptions" : "See all options", 386 "settings.workspaces.workspaceFeatureInfo": "Obszary robocze programu Ferdi pozawala Ci na skupieniu się na tym co ważne w danym momencie. Ustaw różne zestawy usług i przełączaj się między nimi w łatwiejszy sposób w dowolnym momencie. Decyduj, które usługi potrzebujesz , więc pomagamy Ci pozostawać na szczycie gry - lub łatwiej wyłączyć się z pracy kiedy tego potrzebujesz.",
387 "subscription.cta.choosePlan" : "Choose your plan", 387 "settings.workspaces.workspacesRequestFailed": "Nie można załadować obszaru roboczego",
388 "subscription.includedProFeatures" : "The Franz Professional Plan includes:", 388 "sidebar.addNewService": "Dodaj kolejną usługę",
389 "subscription.interval.per" : "per {interval}", 389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "subscription.interval.perMonth" : "per month", 390 "sidebar.closeWorkspaceDrawer": "Zamknij edytor obszaru roboczego",
391 "subscription.interval.perMonthPerUser" : "per month & user", 391 "sidebar.lockFerdi": "Lock Ferdi",
392 "subscription.planItem.upgradeAccount" : "Ulepsz konto", 392 "sidebar.muteApp": "Wyłącz powiadomienia i dźwięki",
393 "subscription.teaser.includedFeatures" : "Paid Franz Plans include:", 393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "subscription.teaser.intro" : "Franz 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!", 394 "sidebar.openWorkspaceDrawer": "Otwórz edytor obszaru roboczego",
395 "subscriptionPopup.buttonCancel" : "Anuluj", 395 "sidebar.settings": "Ustawienia",
396 "subscriptionPopup.buttonDone" : "Zrobione", 396 "sidebar.unmuteApp": "Włącz powiadomienia i dźwięki",
397 "tabs.item.deleteService" : "Usuń usługę", 397 "signup.email.label": "Adres email",
398 "tabs.item.disableAudio" : "Wyłącz dźwięk", 398 "signup.emailDuplicate": "Użytkownik z takim adresem email już istnieje",
399 "tabs.item.disableNotifications" : "Wyłącz powiadomienia", 399 "signup.firstname.label": "Imię",
400 "tabs.item.disableService" : "Wyłącz usługę", 400 "signup.headline": "Zarejestruj się",
401 "tabs.item.edit" : "Edytuj", 401 "signup.lastname.label": "Nazwisko",
402 "tabs.item.enableAudio" : "Włącz dźwięk ", 402 "signup.legal.info": "Poprzez utworzenie konta Ferdi akceptujesz",
403 "tabs.item.enableNotification" : "Włącz powiadomienia", 403 "signup.legal.privacy": "Polityka prywatności",
404 "tabs.item.enableService" : "Aktywuj usługę", 404 "signup.legal.terms": "Warunki świadczenia usług",
405 "tabs.item.reload" : "Przeładuj", 405 "signup.link.login": "Masz już konto, zalogować się?",
406 "validation.email" : "Pole {field} nie jest poprawne", 406 "signup.password.label": "Password",
407 "validation.minLength" : "Pole {field} powinno składać się z co najmniej {length} znaków", 407 "signup.submit.label": "Stwórz konto",
408 "validation.oneRequired" : "Przynajmniej jeden jest wymagany", 408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "validation.required" : "Pole {field} jest wymagane", 409 "subscription.cta.allOptions": "See all options",
410 "validation.url" : "Pole {field} nie jest poprawnym ciągiem URL.", 410 "subscription.cta.choosePlan": "Choose your plan",
411 "webControls.back" : "Back", 411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "webControls.forward" : "Forward", 412 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:",
413 "webControls.goHome" : "Strona główna", 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!",
414 "webControls.openInBrowser" : "Open in Browser", 414 "subscriptionPopup.buttonCancel": "Anuluj",
415 "webControls.reload" : "Reload", 415 "subscriptionPopup.buttonDone": "Zrobione",
416 "welcome.loginButton" : "Zaloguj się na swoje konto", 416 "tabs.item.deleteService": "Usuń usługę",
417 "welcome.signupButton" : "Stwórz darmowe konto", 417 "tabs.item.disableAudio": "Wyłącz dźwięk",
418 "workspaceDrawer.addNewWorkspaceLabel" : "Dodaj nowy obszar roboczy", 418 "tabs.item.disableNotifications": "Wyłącz powiadomienia",
419 "workspaceDrawer.allServices" : "Wszystkie usługi", 419 "tabs.item.disableService": "Wyłącz usługę",
420 "workspaceDrawer.headline" : "Obszary robocze", 420 "tabs.item.edit": "Edytuj",
421 "workspaceDrawer.item.contextMenuEdit" : "Edycja", 421 "tabs.item.enableAudio": "Włącz dźwięk",
422 "workspaceDrawer.item.noServicesAddedYet" : "Żadne usługi nie zostały jeszcze dodane", 422 "tabs.item.enableNotification": "Aktywuj powiadomienia",
423 "workspaceDrawer.premiumCtaButtonLabel" : "Stwórz pierwszy obszar roboczy", 423 "tabs.item.enableService": "Aktywuj usługę",
424 "workspaceDrawer.proFeatureBadge" : "Funkcje Premium", 424 "tabs.item.reload": "Odśwież",
425 "workspaceDrawer.reactivatePremiumAccountLabel" : "Aktywuj ponownie konto premium", 425 "validation.email": "Pole {field} nie jest poprawne",
426 "workspaceDrawer.workspaceFeatureInfo" : "<p>Obszary robocze programu Franz pozawala Ci na skupieniu się na tym co ważne w danym momencie. Ustaw różne zestawy usług i przełączaj się między nimi w łatwiejszy sposób w dowolnym momencie. <\/p><p>Decyduj, które usługi potrzebujesz , więc pomagamy Ci pozostawać na szczycie gry - lub łatwiej wyłączyć się z pracy kiedy tego potrzebujesz.<\/p>", 426 "validation.minLength": "Pole {field} powinno składać się z co najmniej {length} znaków",
427 "workspaceDrawer.workspacesSettingsTooltip" : "Edytuj ustawienia obszaru roboczego", 427 "validation.oneRequired": "Przynajmniej jeden jest wymagany",
428 "workspaces.switchingIndicator.switchingTo" : "Przełącz do" 428 "validation.required": "Pole {field} jest wymagane",
429 "validation.url": "Pole {field} nie jest poprawnym ciągiem URL.",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Odśwież",
435 "welcome.loginButton": "Zaloguj się na swoje konto",
436 "welcome.signupButton": "Załóż darmowe konto",
437 "workspaceDrawer.addNewWorkspaceLabel": "Dodaj nowy obszar roboczy",
438 "workspaceDrawer.allServices": "Wszystkie usługi",
439 "workspaceDrawer.headline": "Obszary robocze",
440 "workspaceDrawer.item.contextMenuEdit": "Edycja",
441 "workspaceDrawer.item.noServicesAddedYet": "Żadne usługi nie zostały jeszcze dodane",
442 "workspaceDrawer.premiumCtaButtonLabel": "Stwórz pierwszy obszar roboczy",
443 "workspaceDrawer.proFeatureBadge": "Funkcje Premium",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Aktywuj ponownie konto premium",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Obszary robocze programu Ferdi pozawala Ci na skupieniu się na tym co ważne w danym momencie. Ustaw różne zestawy usług i przełączaj się między nimi w łatwiejszy sposób w dowolnym momencie. </p><p>Decyduj, które usługi potrzebujesz , więc pomagamy Ci pozostawać na szczycie gry - lub łatwiej wyłączyć się z pracy kiedy tego potrzebujesz.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edytuj ustawienia obszaru roboczego",
447 "workspaces.switchingIndicator.switchingTo": "Przełącz do"
429} 448}
diff --git a/src/i18n/locales/pt-BR.json b/src/i18n/locales/pt-BR.json
index 3ebbee605..3d16482c9 100644
--- a/src/i18n/locales/pt-BR.json
+++ b/src/i18n/locales/pt-BR.json
@@ -1,429 +1,448 @@
1{ 1{
2 "app.errorHandler.action" : "Recarregar", 2 "app.errorHandler.action": "Recarregar",
3 "app.errorHandler.headline" : "Opa! Algo deu errado.", 3 "app.errorHandler.headline": "Opa! Algo deu errado.",
4 "feature.announcements.changelog.headline" : "Mudanças no Franz {version}", 4 "feature.announcements.changelog.headline": "Mudanças no Ferdi {version}",
5 "feature.delayApp.headline" : "Upgrade your Franz plan to skip the wait", 5 "feature.delayApp.headline": "Por favor, adquira uma licença para pular o tempo de espera",
6 "feature.delayApp.text" : "Franz continuará em {seconds} segundos.", 6 "feature.delayApp.text": "Ferdi continuará em {seconds} segundos.",
7 "feature.delayApp.trial.action" : "Sim, eu quero o período de testes gratuito de 14 dias do Franz Professional", 7 "feature.delayApp.trial.action": "Sim, eu quero o período de testes gratuito de 14 dias do Ferdi Professional",
8 "feature.delayApp.trial.actionShort" : "Ativar período de testes gratuito do Franz Professional", 8 "feature.delayApp.trial.actionShort": "Ativar período de testes gratuito do Ferdi Professional",
9 "feature.delayApp.trial.headline" : "Get the free Franz Professional 14-days trial and skip the wait", 9 "feature.delayApp.trial.headline": "Empieza el periodo de prueba de Ferdi Profesional por 14 días y cruza la linea.",
10 "feature.delayApp.upgrade.action" : "Upgrade Franz", 10 "feature.delayApp.upgrade.action": "Adquira uma licença de suporte Ferdi",
11 "feature.delayApp.upgrade.actionShort" : "Atualizar conta", 11 "feature.delayApp.upgrade.actionShort": "Atualizar conta",
12 "feature.planSelection.cta.ctaDowngradeFree" : "Downgrade to Free", 12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.planSelection.cta.stayOnFree" : "Continuar no plano grátis", 13 "feature.quickSwitch.search": "Search...",
14 "feature.planSelection.cta.trial" : "Iniciar minha avaliação gratuita de 14 dias", 14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.planSelection.cta.upgradePersonal" : "Escolha o plano Pessoal", 15 "feature.serviceLimit.limitReached": "Você adicionou {amount} serviços de um total de {limit} que estão inclusos no seu plano. Por favor, atualize sua conta para adicionar mais serviços.",
16 "feature.planSelection.cta.upgradePro" : "Escolha o plano Profissional", 16 "feature.shareFranz.action.email": "Enviar por e-mail",
17 "feature.planSelection.free.text" : "Funcionalidade básica", 17 "feature.shareFranz.action.facebook": "Compartilhar no Facebook",
18 "feature.planSelection.fullFeatureList" : "Comparação completa de todos os planos", 18 "feature.shareFranz.action.twitter": "Compartilhar no Twitter",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 19 "feature.shareFranz.headline": "Ferdi é melhor em grupo!",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade" : "Escolha o plano Pessoal", 20 "feature.shareFranz.shareText.email": "Eu adicionei {count} serviços ao Ferdi! Adquira o aplicativo gratuito para WhatsApp, Messenger, Slack, Skype e mais em www.getferdi.com",
21 "feature.planSelection.fullscreen.dialog.message" : "Você está prestes a mudar para o plano Gratuito. Você tem certeza? Se não, clique aqui para obter mais serviços e funcionalidade por apenas {currency}{price} por mês.", 21 "feature.shareFranz.shareText.twitter": "Eu adicionei uma contagem de serviços para o Ferdi! Baixe gratuitamente o aplicativo para WhatsApp, Messenger, Slack, Skype e outros em www.getferdi.com /cc @FerdiMessenger",
22 "feature.planSelection.fullscreen.dialog.title" : "Alterar seu Plano Franz", 22 "feature.shareFranz.text": "Conte aos seus amigos e colegas o quanto incrível o Ferdi é e nos ajude a espalhar a mensagem. ",
23 "feature.planSelection.fullscreen.subheadline" : "É hora de fazer uma escolha. O Franz trabalha melhor nos nossos planos Pessoal e Profissional. Por favor, dê uma olhada e veja qual a melhor opção para você.", 23 "feature.todos.premium.info": "As Listas de Tarefa do Ferdi estão disponíveis para usuários premium!",
24 "feature.planSelection.fullscreen.welcome" : "Você está pronto para escolher, {name}?", 24 "feature.todos.premium.rollout": "As outras pessoas terão que esperar um pouquinho mais.",
25 "feature.planSelection.personal.text" : "Mais serviços, sem espera - ideal para uso pessoal.", 25 "feature.todos.premium.upgrade": "Actualizar cuenta",
26 "feature.planSelection.pricesBasedOnAnnualPayment" : "All prices based on yearly payment", 26 "global.api.unhealthy": "Não foi possível conectar-se aos serviços on-line do Ferdi.",
27 "feature.planSelection.pro.text" : "Serviços ilimitados e funcionalidades profissionais para você - e seu time.", 27 "global.franzProRequired": "Se requiere una cuenta Ferdi Profesional",
28 "feature.serviceLimit.limitReached" : "Você adicionou {amount} serviços de um total de {limit} que estão inclusos no seu plano. Por favor, atualize sua conta para adicionar mais serviços.", 28 "global.notConnectedToTheInternet": "Você não está conectado à internet",
29 "feature.shareFranz.action.email" : "Enviar por e-mail", 29 "global.spellchecker.useDefault": "Use o padrão do sistema ({default})",
30 "feature.shareFranz.action.facebook" : "Compartilhar no Facebook", 30 "global.spellchecking.autodetect": "Detectar idioma automaticamente.",
31 "feature.shareFranz.action.twitter" : "Compartilhar no Twitter", 31 "global.spellchecking.autodetect.short": "Automático",
32 "feature.shareFranz.headline" : "Franz é melhor em grupo!", 32 "global.spellchecking.language": "Idioma para verificação ortográfica",
33 "feature.shareFranz.shareText.email" : "Eu adicionei {count} serviços ao Franz! Adquira o aplicativo gratuito para WhatsApp, Messenger, Slack, Skype e mais em www.meetfranz.com", 33 "global.upgradeButton.upgradeToPro": "Atualizar para o Ferdi Profissional",
34 "feature.shareFranz.shareText.twitter" : "Eu adicionei uma contagem de serviços para o Franz! Baixe gratuitamente o aplicativo para WhatsApp, Messenger, Slack, Skype e outros em www.meetfranz.com \/cc @FranzMessenger", 34 "import.headline": "Importe seus serviços do Ferdi 4 ",
35 "feature.shareFranz.text" : "Conte aos seus amigos e colegas o quanto incrível o Franz é e nos ajude a espalhar a mensagem. ", 35 "import.notSupportedHeadline": "Serviços ainda não suportados pelo Ferdi 5 ",
36 "feature.todos.premium.info" : "As Listas de Tarefa do Franz estão disponíveis para usuários premium!", 36 "import.skip.label": "Quero adicionar serviços manualmente",
37 "feature.todos.premium.rollout" : "As outras pessoas terão que esperar um pouquinho mais.", 37 "import.submit.label": "Importar serviços",
38 "feature.todos.premium.upgrade" : "Melhore sua conta", 38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "feature.trialStatusBar.cta" : "Atualizar agora", 39 "infobar.buttonChangelog": "O que há de novo?",
40 "feature.trialStatusBar.expired" : "Your free Franz {plan} Trial has expired, please upgrade your account.", 40 "infobar.buttonInstallUpdate": "Reiniciar e instalar atualizações ",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 41 "infobar.buttonReloadServices": "Recarregar serviços",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade" : "Escolha o plano Pessoal", 42 "infobar.requiredRequestsFailed": "Não foi possível carregar os serviços e informações de usuário",
43 "feature.trialStatusBar.fullscreen.dialog.message" : "Você está prestes a mudar para o plano Gratuito. Você tem certeza? Se não, clique aqui para obter mais serviços e funcionalidade por apenas {currency}{price} por mês.", 43 "infobar.servicesUpdated": "Seus serviços foram atualizados.",
44 "feature.trialStatusBar.fullscreen.dialog.title" : "Alterar seu Plano Franz", 44 "infobar.trialActivated": "O seu período de testes foi ativado com sucesso! Boas mensagens!",
45 "feature.trialStatusBar.restTime" : "Your Free Franz {plan} Trial ends in {time}.", 45 "infobar.updateAvailable": "Uma nova atualização do Ferdi está disponível.",
46 "global.api.unhealthy" : "Não foi possível conectar-se aos serviços on-line do Franz.", 46 "invite.email.label": "Endereço de E-mail",
47 "global.franzProRequired" : "Franz Profissional necessário", 47 "invite.headline.friends": "Convide 3 amigos ou colegas",
48 "global.notConnectedToTheInternet" : "Você não está conectado à internet", 48 "invite.name.label": "Nome",
49 "global.spellchecker.useDefault" : "Use o padrão do sistema ({default})", 49 "invite.skip.label": "Quero fazer isso depois",
50 "global.spellchecking.autodetect" : "Detectar idioma automaticamente.", 50 "invite.submit.label": "Enviar convites",
51 "global.spellchecking.autodetect.short" : "Automático", 51 "invite.successInfo": "Convites enviados com sucesso",
52 "global.spellchecking.language" : "Idioma para verificação ortográfica", 52 "locked.headline": "Locked",
53 "global.upgradeButton.upgradeToPro" : "Atualizar para o Franz Profissional", 53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "import.headline" : "Importe seus serviços do Franz 4 ", 54 "locked.invalidCredentials": "Password invalid",
55 "import.notSupportedHeadline" : "Serviços ainda não suportados pelo Franz 5 ", 55 "locked.password.label": "Password",
56 "import.skip.label" : "Quero adicionar serviços manualmente", 56 "locked.submit.label": "Unlock",
57 "import.submit.label" : "Importar serviços", 57 "login.changeServer": "Change server",
58 "infobar.buttonChangelog" : "O que há de novo?", 58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "infobar.buttonInstallUpdate" : "Reiniciar e instalar atualizações ", 59 "login.customServerSuggestion": "Try importing your Franz account",
60 "infobar.buttonReloadServices" : "Recarregar serviços", 60 "login.email.label": "Endereço de E-mail",
61 "infobar.requiredRequestsFailed" : "Não foi possível carregar os serviços e informações de usuário", 61 "login.headline": "Entrar",
62 "infobar.servicesUpdated" : "Seus serviços foram atualizados.", 62 "login.invalidCredentials": "E-mail ou senha inválida",
63 "infobar.trialActivated" : "O seu período de testes foi ativado com sucesso! Boas mensagens!", 63 "login.link.password": "Trocar a senha",
64 "infobar.updateAvailable" : "Uma nova atualização do Franz está disponível.", 64 "login.link.signup": "Criar uma conta gratuita",
65 "invite.email.label" : "Endereço de E-mail", 65 "login.password.label": "Password",
66 "invite.headline.friends" : "Convide 3 amigos ou colegas", 66 "login.serverLogout": "Sua sessão expirou, faça o login novamente.",
67 "invite.name.label" : "Nome", 67 "login.submit.label": "Entrar",
68 "invite.skip.label" : "Quero fazer isso depois", 68 "login.tokenExpired": "Sua sessão expirou, faça o login novamente.",
69 "invite.submit.label" : "Enviar convites", 69 "menu.Todoss.closeTodosDrawer": "Fechar a gaveta de Listas de Tarefa",
70 "invite.successInfo" : "Convites enviados com sucesso", 70 "menu.Todoss.openTodosDrawer": "Abrir a gaveta de Listas de Tarefa",
71 "login.email.label" : "E-mail", 71 "menu.app.about": "Sobre Ferdi",
72 "login.headline" : "Entrar", 72 "menu.app.announcement": "Quais as novidades?",
73 "login.invalidCredentials" : "E-mail ou senha inválida", 73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "login.link.password" : "Trocar a senha", 74 "menu.app.checkForUpdates": "Verificar se há atualizações",
75 "login.link.signup" : "Criar uma conta gratuita", 75 "menu.app.hide": "Ocultar",
76 "login.password.label" : "Senha", 76 "menu.app.hideOthers": "Ocultar Outros",
77 "login.serverLogout" : "Sua sessão expirou, faça o login novamente.", 77 "menu.app.quit": "Sair",
78 "login.submit.label" : "Entrar", 78 "menu.app.settings": "Configurações",
79 "login.tokenExpired" : "Sua sessão expirou, faça o login novamente.", 79 "menu.app.unhide": "Mostrar",
80 "menu.Todoss.closeTodosDrawer" : "Fechar a gaveta de Listas de Tarefa", 80 "menu.edit": "Editar",
81 "menu.Todoss.openTodosDrawer" : "Abrir a gaveta de Listas de Tarefa", 81 "menu.edit.copy": "Copiar",
82 "menu.app.about" : "Sobre Franz", 82 "menu.edit.cut": "Cortar",
83 "menu.app.announcement" : "Quais as novidades?", 83 "menu.edit.delete": "Excluir",
84 "menu.app.checkForUpdates" : "Verificar se há atualizações", 84 "menu.edit.emojiSymbols": "Emoji & Símbolos",
85 "menu.app.hide" : "Ocultar", 85 "menu.edit.paste": "Colar",
86 "menu.app.hideOthers" : "Ocultar Outros", 86 "menu.edit.pasteAndMatchStyle": "Colar e Corresponder ao Estilo",
87 "menu.app.quit" : "Sair", 87 "menu.edit.redo": "Refazer",
88 "menu.app.settings" : "Configurações", 88 "menu.edit.selectAll": "Selecionar Tudo",
89 "menu.app.unhide" : "Mostrar", 89 "menu.edit.speech": "Falar",
90 "menu.edit" : "Editar", 90 "menu.edit.startDictation": "Iniciar Digitação",
91 "menu.edit.copy" : "Copiar", 91 "menu.edit.startSpeaking": "Começar a Falar",
92 "menu.edit.cut" : "Cortar", 92 "menu.edit.stopSpeaking": "Parar de Falar",
93 "menu.edit.delete" : "Excluir", 93 "menu.edit.undo": "Desfazer",
94 "menu.edit.emojiSymbols" : "Emoji & Símbolos", 94 "menu.file": "Arquivo",
95 "menu.edit.paste" : "Colar", 95 "menu.help": "Ajuda",
96 "menu.edit.pasteAndMatchStyle" : "Colar e Corresponder ao Estilo", 96 "menu.help.changelog": "Registro de Alterações ",
97 "menu.edit.redo" : "Refazer", 97 "menu.help.debugInfo": "Copiar Informações de Depuração",
98 "menu.edit.selectAll" : "Selecionar Tudo", 98 "menu.help.debugInfoCopiedBody": "As Informações de Depuração foram copiadas para a área de transferência.",
99 "menu.edit.speech" : "Falar", 99 "menu.help.debugInfoCopiedHeadline": "Informações de Depuração do Ferdi",
100 "menu.edit.startDictation" : "Iniciar Digitação", 100 "menu.help.learnMore": "Saiba Mais ",
101 "menu.edit.startSpeaking" : "Começar a Falar", 101 "menu.help.privacy": "Declaração de Privacidade ",
102 "menu.edit.stopSpeaking" : "Parar de Falar", 102 "menu.help.support": "Suporte",
103 "menu.edit.undo" : "Desfazer", 103 "menu.help.tos": "Termos de Serviço",
104 "menu.file" : "Arquivo", 104 "menu.services": "Serviços",
105 "menu.help" : "Ajuda", 105 "menu.services.activatePreviousService": "Pular para serviço anterior",
106 "menu.help.changelog" : "Registro de Alterações ", 106 "menu.services.addNewService": "Adicionar Novo Serviço",
107 "menu.help.debugInfo" : "Copiar Informações de Depuração", 107 "menu.services.goHome": "Home",
108 "menu.help.debugInfoCopiedBody" : "As Informações de Depuração foram copiadas para a área de transferência.", 108 "menu.services.setNextServiceActive": "Pular para próximo serviço",
109 "menu.help.debugInfoCopiedHeadline" : "Informações de Depuração do Franz", 109 "menu.todos": "Tareas pendientes",
110 "menu.help.learnMore" : "Saiba Mais ", 110 "menu.todos.enableTodos": "Habilitar Tareas pendientes",
111 "menu.help.privacy" : "Declaração de Privacidade ", 111 "menu.view": "Visualizar ",
112 "menu.help.support" : "Suporte", 112 "menu.view.back": "Back",
113 "menu.help.tos" : "Termos de Serviço", 113 "menu.view.enterFullScreen": "Modo Tela Cheia",
114 "menu.services" : "Serviços", 114 "menu.view.exitFullScreen": "Sair da Tela Cheia",
115 "menu.services.activatePreviousService" : "Pular para serviço anterior", 115 "menu.view.forward": "Forward",
116 "menu.services.addNewService" : "Adicionar Novo Serviço", 116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.services.goHome" : "Inicio", 117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.services.setNextServiceActive" : "Pular para próximo serviço", 118 "menu.view.reloadFranz": "Recarregar Ferdi",
119 "menu.todos" : "A fazer", 119 "menu.view.reloadService": "Reiniciar o Serviço",
120 "menu.todos.enableTodos" : "Habilitar logs", 120 "menu.view.resetZoom": "Tamanho real",
121 "menu.view" : "Visualizar ", 121 "menu.view.toggleDevTools": "Ferramentas de Desenvolvedor",
122 "menu.view.enterFullScreen" : "Modo Tela Cheia", 122 "menu.view.toggleFullScreen": "Modo Tela Cheia",
123 "menu.view.exitFullScreen" : "Sair da Tela Cheia", 123 "menu.view.toggleServiceDevTools": "Ferramentas de Serviços de Desenvolvedor",
124 "menu.view.reloadFranz" : "Recarregar Franz", 124 "menu.view.toggleTodosDevTools": "Ativar as Ferramentas de Desenvolvedor das Listas de Tarefas ",
125 "menu.view.reloadService" : "Reiniciar o Serviço", 125 "menu.view.zoomIn": "Ampliar",
126 "menu.view.resetZoom" : "Tamanho real", 126 "menu.view.zoomOut": "Reduzir",
127 "menu.view.toggleDevTools" : "Ferramentas de Desenvolvedor", 127 "menu.window": "Modo Janela",
128 "menu.view.toggleFullScreen" : "Modo Tela Cheia", 128 "menu.window.close": "Fechar",
129 "menu.view.toggleServiceDevTools" : "Ferramentas de Serviços de Desenvolvedor", 129 "menu.window.minimize": "Minimizar",
130 "menu.view.toggleTodosDevTools" : "Ativar as Ferramentas de Desenvolvedor das Listas de Tarefas ", 130 "menu.workspaces": "Áreas de trabalho",
131 "menu.view.zoomIn" : "Ampliar", 131 "menu.workspaces.addNewWorkspace": "Adicionar nova área de trabalho...",
132 "menu.view.zoomOut" : "Reduzir", 132 "menu.workspaces.closeWorkspaceDrawer": "Fechar menu da área de trabalho",
133 "menu.window" : "Modo Janela", 133 "menu.workspaces.defaultWorkspace": "Todos os serviços",
134 "menu.window.close" : "Fechar", 134 "menu.workspaces.openWorkspaceDrawer": "Abrir o menu da área de trabalho",
135 "menu.window.minimize" : "Minimizar", 135 "password.email.label": "Endereço de E-mail",
136 "menu.workspaces" : "Áreas de trabalho", 136 "password.headline": "Trocar a senha",
137 "menu.workspaces.addNewWorkspace" : "Adicionar nova área de trabalho...", 137 "password.link.login": "Fazer login na sua conta",
138 "menu.workspaces.closeWorkspaceDrawer" : "Fechar menu da área de trabalho", 138 "password.link.signup": "Criar uma conta gratuita",
139 "menu.workspaces.defaultWorkspace" : "Todos os serviços", 139 "password.noUser": "Nenhum usuário com este e-mail foi encontrado",
140 "menu.workspaces.openWorkspaceDrawer" : "Abrir o menu da área de trabalho", 140 "password.submit.label": "Enviar",
141 "password.email.label" : "E-mail", 141 "password.successInfo": "Por favor, verifique o seu e-mail",
142 "password.headline" : "Trocar senha", 142 "premiumFeature.button.upgradeAccount": "Atualizar conta",
143 "password.link.login" : "Fazer login na sua conta", 143 "pricing.features.adFree": "Sin anuncios para siempre!",
144 "password.link.signup" : "Criar uma conta grátis", 144 "pricing.features.appDelays": "Sem Telas de Espera",
145 "password.noUser" : "Nenhum usuário com este e-mail foi encontrado", 145 "pricing.features.customWebsites": "Adicionar Websites Personalizados",
146 "password.submit.label" : "Enviar", 146 "pricing.features.onPremise": "En sitio y otros servicios alojados",
147 "password.successInfo" : "Por favor, verifique o seu e-mail", 147 "pricing.features.serviceProxies": "Apoderados de Servicio",
148 "premiumFeature.button.upgradeAccount" : "Atualizar conta", 148 "pricing.features.spellchecker": "Soporte de corrector ortográfico",
149 "pricing.features.accountSync" : "Account Synchronisation", 149 "pricing.features.teamManagement": "Gestão de Time",
150 "pricing.features.adFree" : "Pra sempre sem propagandas", 150 "pricing.features.thirdPartyServices": "Instalar servicios de terceros",
151 "pricing.features.appDelays" : "Sem Telas de Espera", 151 "pricing.features.unlimitedServices": "Agregar servicios ilimitados",
152 "pricing.features.customWebsites" : "Adicionar Websites Personalizados", 152 "pricing.features.workspaces": "Áreas de trabalho",
153 "pricing.features.desktopNotifications" : "Desktop Notifications", 153 "pricing.plan.free": "Ferdi Gratuito",
154 "pricing.features.onPremise" : "On-premise & other Hosted Services", 154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.features.recipes" : "Choose from more than 70 Services", 155 "pricing.plan.personal": "Ferdi Pessoal",
156 "pricing.features.serviceProxies" : "Service Proxies", 156 "pricing.plan.personal-monthly": "Ferdi Pessoal Mensal",
157 "pricing.features.spellchecker" : "Spellchecker support", 157 "pricing.plan.personal-yearly": "Ferdi Pessoal Anual",
158 "pricing.features.teamManagement" : "Gestão de Time", 158 "pricing.plan.pro": "Ferdi Profissional",
159 "pricing.features.thirdPartyServices" : "Instalar serviços de terceiros", 159 "pricing.plan.pro-monthly": "Ferdi Profissional Mensal",
160 "pricing.features.unlimitedServices" : "Adicione ilimitados serviços", 160 "pricing.plan.pro-yearly": "Ferdi Profissional Anual",
161 "pricing.features.upToSixServices" : "Add up to 6 services", 161 "pricing.trial.cta.accept": "Sim, atualizar minha conta para o Ferdi Profissional",
162 "pricing.features.upToThreeServices" : "Add up to 3 services", 162 "pricing.trial.cta.skip": "Continuar para o Ferdi",
163 "pricing.features.workspaces" : "Áreas de Trabalho", 163 "pricing.trial.error": "Desculpe, não conseguimos ativar o seu período de testes",
164 "pricing.plan.free" : "Free", 164 "pricing.trial.features.headline": "Incluso no Ferdi Profissional:",
165 "pricing.plan.legacy" : "Premium", 165 "pricing.trial.headline": "Ferdi Profissional",
166 "pricing.plan.personal" : "Personal", 166 "pricing.trial.subheadline": "Sua oferta pessoal de boas-vindas:",
167 "pricing.plan.personal-monthly" : "Personal Monthly", 167 "pricing.trial.terms.automaticTrialEnd": "Seu período de testes encerra automaticamente em 14 dias",
168 "pricing.plan.personal-yearly" : "Personal Yearly", 168 "pricing.trial.terms.headline": "Sem vínculos",
169 "pricing.plan.pro" : "Professional", 169 "pricing.trial.terms.noCreditCard": "No necesita tarjeta de crédito",
170 "pricing.plan.pro-monthly" : "Professional Monthly", 170 "service.crashHandler.action": "Recarregar {name}",
171 "pricing.plan.pro-yearly" : "Professional Yearly", 171 "service.crashHandler.autoReload": "Tentando reestabelecer {name} automaticamente em {seconds} segundos",
172 "pricing.trial.cta.accept" : "Start my 14-day Franz Professional Trial ", 172 "service.crashHandler.headline": "Ah, não!",
173 "pricing.trial.cta.skip" : "Continuar para o Franz", 173 "service.crashHandler.text": "{name} causou um erro.",
174 "pricing.trial.cta.start" : "Start using Franz", 174 "service.disabledHandler.action": "Ativar {name}",
175 "pricing.trial.error" : "Desculpe, não conseguimos ativar o seu período de testes", 175 "service.disabledHandler.headline": "{name} está desativado",
176 "pricing.trial.features.headline" : "Incluso no Franz Profissional:", 176 "service.errorHandler.action": "Recarregar {name}",
177 "pricing.trial.headline.pro" : "Hi {name}, welcome to Franz", 177 "service.errorHandler.editAction": "Editar {name}",
178 "pricing.trial.intro.happyMessaging" : "Happy messaging,", 178 "service.errorHandler.headline": "Ah, não!",
179 "pricing.trial.intro.specialTreat" : "We have a special treat for you.", 179 "service.errorHandler.message": "Erro",
180 "pricing.trial.intro.tryPro" : "Enjoy the full Franz Professional experience completely free for 14 days.", 180 "service.errorHandler.text": "{name} não pôde ser carregado.",
181 "pricing.trial.terms.automaticTrialEnd" : "Seu período de testes encerra automaticamente em 14 dias", 181 "service.restrictedHandler.action": "Actualizar cuenta",
182 "pricing.trial.terms.headline" : "Sem vínculos", 182 "service.restrictedHandler.customUrl.headline": "Necesita el Plan Ferdi Profesional",
183 "pricing.trial.terms.noCreditCard" : "Cartão de crédito não exigido", 183 "service.restrictedHandler.customUrl.text": "Por favor suscribase al Plan Ferdi Profesional para utilizar urls personalizadas y servicios auto alojados.",
184 "pricing.trial.terms.trialWorth" : "Free trial (normally {currency}{price} per month)", 184 "service.restrictedHandler.serviceLimit.headline": "Ha llegado al límite del servicio.",
185 "service.crashHandler.action" : "Recarregar {name}", 185 "service.restrictedHandler.serviceLimit.text": "Por favor mejore su cuenta para poder utilizar más de {count} servicios.",
186 "service.crashHandler.autoReload" : "Tentando reestabelecer {name} automaticamente em {seconds} segundos", 186 "service.webviewLoader.loading": "Carregando",
187 "service.crashHandler.headline" : "Ah, não!", 187 "services.getStarted": "Iniciar",
188 "service.crashHandler.text" : "{name} causou um erro.", 188 "services.login": "Please login to use Ferdi.",
189 "service.disabledHandler.action" : "Ativar {name}", 189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "service.disabledHandler.headline" : "{name} está desativado", 190 "services.serverless": "Use Ferdi without an Account",
191 "service.errorHandler.action" : "Recarregar {name}", 191 "services.welcome": "Bem-vindo ao Ferdi!",
192 "service.errorHandler.editAction" : "Editar {name}", 192 "settings.account.account.editButton": "Editar conta",
193 "service.errorHandler.headline" : "Ah, não!", 193 "settings.account.accountType.basic": "Conta Básica",
194 "service.errorHandler.message" : "Erro", 194 "settings.account.accountType.premium": "Conta Apoiador Premium",
195 "service.errorHandler.text" : "{name} não pôde ser carregado.", 195 "settings.account.buttonSave": "Atualizar perfil",
196 "service.restrictedHandler.action" : "Melhorar sua conta", 196 "settings.account.deleteAccount": "Excluir conta",
197 "service.restrictedHandler.customUrl.headline" : "Franz Professional exigido", 197 "settings.account.deleteEmailSent": "Você recebeu um e-mail com um link para confirmar a exclusão da sua conta. Atenção! Sua conta e dados não poderão ser restaurados!",
198 "service.restrictedHandler.customUrl.text" : "Por favor, atualize para o Franz Professional para usar urls customizadas e serviços próprios", 198 "settings.account.deleteInfo": "Se você não precisa mais de sua conta Ferdi, pode exclui-la juntamente com todos os dados relacionados, aqui.",
199 "service.restrictedHandler.serviceLimit.headline" : "Você atingiu seu limite de serviço", 199 "settings.account.headline": "Conta",
200 "service.restrictedHandler.serviceLimit.text" : "Por favor, atualize sua conta para usar mais do que {count} serviços", 200 "settings.account.headlineAccount": "Informações de conta",
201 "service.webviewLoader.loading" : "Carregando", 201 "settings.account.headlineDangerZone": "Zona de Perigo",
202 "services.getStarted" : "Iniciar", 202 "settings.account.headlineInvoices": "Recibos",
203 "services.welcome" : "Bem-vindo ao Franz!", 203 "settings.account.headlinePassword": "Mudar senha",
204 "settings.account.account.editButton" : "Editar conta", 204 "settings.account.headlineProfile": "Atualizar perfil",
205 "settings.account.accountType.basic" : "Conta Básica", 205 "settings.account.headlineSubscription": "Sua assinatura",
206 "settings.account.accountType.premium" : "Conta Apoiador Premium", 206 "settings.account.headlineTrialUpgrade": "Consiga 14 días de prueba gratis de Ferdi Profesional ",
207 "settings.account.buttonSave" : "Atualizar perfil", 207 "settings.account.headlineUpgradeAccount": "Mejore su cuenta y reciba la experiencia completa de Ferdi",
208 "settings.account.deleteAccount" : "Excluir conta", 208 "settings.account.invoiceDownload": "Baixar",
209 "settings.account.deleteEmailSent" : "Você recebeu um e-mail com um link para confirmar a exclusão da sua conta. Atenção! Sua conta e dados não poderão ser restaurados!", 209 "settings.account.manageSubscription.label": "Gerencie a sua assinatura",
210 "settings.account.deleteInfo" : "Se você não precisa mais de sua conta Franz, pode exclui-la juntamente com todos os dados relacionados, aqui.", 210 "settings.account.successInfo": "Suas alterações foram gravadas",
211 "settings.account.headline" : "Conta", 211 "settings.account.trial": "Prueba Gratis",
212 "settings.account.headlineAccount" : "Informações de conta", 212 "settings.account.trialEndsIn": "Su prueba gratis finaliza en {duration}.",
213 "settings.account.headlineDangerZone" : "Zona de Perigo", 213 "settings.account.trialUpdateBillingInfo": "Por favor actualice su información de facturación para continuar utilizando {license} luego del periodo de prueba.",
214 "settings.account.headlineInvoices" : "Recibos", 214 "settings.account.tryReloadServices": "Tente novamente",
215 "settings.account.headlinePassword" : "Mudar senha", 215 "settings.account.tryReloadUserInfoRequest": "Tente novamente",
216 "settings.account.headlineProfile" : "Atualizar perfil", 216 "settings.account.upgradeToPro.label": "Atualizar para o Ferdi Profissional",
217 "settings.account.headlineSubscription" : "Sua assinatura", 217 "settings.account.userInfoRequestFailed": "Não foi possível carregar as informações do usuário",
218 "settings.account.headlineTrialUpgrade" : "Teste o Franz Professional por 14 dias de graça.", 218 "settings.account.yourLicense": "Su Licencia Ferdi",
219 "settings.account.headlineUpgradeAccount" : "Dê um upgrade na sua conta e tenha uma completa experiência do Franz", 219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.account.invoiceDownload" : "Baixar", 220 "settings.app.buttonClearAllCache": "Limpar cache",
221 "settings.account.manageSubscription.label" : "Gerencie a sua assinatura", 221 "settings.app.buttonInstallUpdate": "Reiniciar e instalar atualizações ",
222 "settings.account.successInfo" : "Suas alterações foram gravadas", 222 "settings.app.buttonSearchForUpdate": "Verificar se há atualizações",
223 "settings.account.trial" : "Teste grátis", 223 "settings.app.cacheInfo": "O cache do Ferdi está usando {size} de espaço em disco atualmente.",
224 "settings.account.trialEndsIn" : "Seu teste grátis acaba em {duration}", 224 "settings.app.currentVersion": "Versão atual:",
225 "settings.account.trialUpdateBillingInfo" : "Por favor, atualize suas informações de compra para continuar usando {license} depois do período de teste grátis", 225 "settings.app.form.accentColor": "Accent color",
226 "settings.account.tryReloadServices" : "Tente novamente", 226 "settings.app.form.autoLaunchInBackground": "Abrir em segundo plano",
227 "settings.account.tryReloadUserInfoRequest" : "Tentar novamente", 227 "settings.app.form.autoLaunchOnStart": "Abrir o Ferdi ao iniciar o sistema",
228 "settings.account.upgradeToPro.label" : "Upgrade para o Franz Professional", 228 "settings.app.form.beta": "Incluir versões beta",
229 "settings.account.userInfoRequestFailed" : "Não foi possível carregar as informações do usuário", 229 "settings.app.form.darkMode": "Venha para o Lado Negro da força",
230 "settings.account.yourLicense" : "Sua lincença do Franz", 230 "settings.app.form.enableGPUAcceleration": "Ativar Aceleração de GPU",
231 "settings.app.buttonClearAllCache" : "Limpar cache", 231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.buttonInstallUpdate" : "Reiniciar e instalar atualização", 232 "settings.app.form.enableSpellchecking": "Ativar correção ortográfica",
233 "settings.app.buttonSearchForUpdate" : "Verificar por atualizações", 233 "settings.app.form.enableSystemTray": "Exibir o Ferdi na barra de sistema",
234 "settings.app.cacheInfo" : "O cache do Franz está usando {size} de espaço em disco atualmente.", 234 "settings.app.form.enableTodos": "Activar Ferdi Todos",
235 "settings.app.currentVersion" : "Versão atual:", 235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.autoLaunchInBackground" : "Abrir em segundo plano", 236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.autoLaunchOnStart" : "Abrir o Franz ao iniciar o sistema", 237 "settings.app.form.keepAllWorkspacesLoaded": "Mantener todas las Áreas de trabajo cargadas",
238 "settings.app.form.beta" : "Incluir versões beta", 238 "settings.app.form.language": "Idioma",
239 "settings.app.form.darkMode" : "Venha para o Lado Negro da força", 239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.enableGPUAcceleration" : "Ativar Aceleração de GPU", 240 "settings.app.form.minimizeToSystemTray": "Minimizar o Ferdi para a área de sistema",
241 "settings.app.form.enableSpellchecking" : "Ativar correção ortográfica", 241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.enableSystemTray" : "Exibir o Franz na barra de sistema", 242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.enableTodos" : "Enable Franz Todos", 243 "settings.app.form.runInBackground": "Manter o Ferdi no fundo quando fechar a janela",
244 "settings.app.form.keepAllWorkspacesLoaded" : "Matenha todos os workspaces carregados", 244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.language" : "Idioma", 245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.minimizeToSystemTray" : "Minimizar o Franz para a área de sistema", 246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.runInBackground" : "Manter o Franz no fundo quando fechar a janela", 247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices" : "Mostrar abas de serviços desativados", 248 "settings.app.form.showDisabledServices": "Mostrar abas de serviços desativados",
249 "settings.app.form.showMessagesBadgesWhenMuted" : "Mostrar ícone de mensagem não lida quando as notificações estiverem desativadas", 249 "settings.app.form.showMessagesBadgesWhenMuted": "Mostrar ícone de mensagem não lida quando as notificações estiverem desativadas",
250 "settings.app.headline" : "Configurações", 250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.headlineAdvanced" : "Avançado", 251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.headlineAppearance" : "Aparência", 252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headlineGeneral" : "Geral", 253 "settings.app.headline": "Configurações",
254 "settings.app.headlineLanguage" : "Idioma", 254 "settings.app.headlineAdvanced": "Avançado",
255 "settings.app.headlineUpdates" : "Atualizações", 255 "settings.app.headlineAppearance": "Aparência",
256 "settings.app.languageDisclaimer" : "As traduções oficiais são em inglês e alemão. As demais traduções são baseadas na ajuda da comunidade.", 256 "settings.app.headlineGeneral": "Geral",
257 "settings.app.restartRequired" : "As mudanças exigem reiniciar o sistema", 257 "settings.app.headlineLanguage": "Idioma",
258 "settings.app.subheadlineCache" : "memória cache", 258 "settings.app.headlineUpdates": "Atualizações",
259 "settings.app.translationHelp" : "Ajude-nos a traduzir o Franz para seu idioma.", 259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.updateStatusAvailable" : "Atualização disponível, baixando...", 260 "settings.app.languageDisclaimer": "As traduções oficiais são em inglês e alemão. As demais traduções são baseadas na ajuda da comunidade.",
261 "settings.app.updateStatusSearching" : "Buscando atualizações", 261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.updateStatusUpToDate" : "Você está usando a última versão do Franz", 262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.invite.headline" : "Convidar Amigos", 263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.navigation.account" : "Conta", 264 "settings.app.restartRequired": "As mudanças exigem reiniciar o sistema",
265 "settings.navigation.availableServices" : "Serviços disponíveis", 265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.navigation.inviteFriends" : "Convidar Amigos", 266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.navigation.logout" : "Sair", 267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.navigation.settings" : "Ajustes", 268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.navigation.team" : "Administrar a equipe", 269 "settings.app.subheadlineCache": "memória cache",
270 "settings.navigation.yourServices" : "Seus serviços", 270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.navigation.yourWorkspaces" : "Suas áreas de trabalho", 271 "settings.app.translationHelp": "Ajude-nos a traduzir o Ferdi para seu idioma.",
272 "settings.recipes.all" : "Todos os serviços", 272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.recipes.custom" : "Serviços customizados", 273 "settings.app.updateStatusAvailable": "Atualização disponível, baixando...",
274 "settings.recipes.customService.headline.communityRecipes" : "Community 3rd Party Recipes", 274 "settings.app.updateStatusSearching": "Buscando atualizações",
275 "settings.recipes.customService.headline.customRecipes" : "Custom 3rd Party Recipes", 275 "settings.app.updateStatusUpToDate": "Você está usando a última versão do Ferdi",
276 "settings.recipes.customService.headline.devRecipes" : "Your Development Service Recipes", 276 "settings.invite.headline": "Convidar Amigos",
277 "settings.recipes.customService.intro" : "To add a custom service, copy the service recipe to:", 277 "settings.navigation.account": "Conta",
278 "settings.recipes.customService.openDevDocs" : "Documentação do desenvolvedor", 278 "settings.navigation.availableServices": "Serviços disponíveis",
279 "settings.recipes.customService.openFolder" : "Abrir pasta", 279 "settings.navigation.logout": "Sair",
280 "settings.recipes.headline" : "Serviços disponíveis", 280 "settings.navigation.settings": "Configurações",
281 "settings.recipes.missingService" : "Sentiu falta de algum serviço?", 281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.recipes.mostPopular" : "Mais populares", 282 "settings.navigation.team": "Administrar a equipe",
283 "settings.recipes.nothingFound" : "Desculpe, mas nenhum serviço corresponde a sua pesquisa.", 283 "settings.navigation.yourServices": "Seus serviços",
284 "settings.recipes.servicesSuccessfulAddedInfo" : "Serviço adicionado", 284 "settings.navigation.yourWorkspaces": "Suas áreas de trabalho",
285 "settings.searchService" : "Procurar serviço", 285 "settings.recipes.all": "Todos os serviços",
286 "settings.service.error.goBack" : "Voltar aos serviços", 286 "settings.recipes.custom": "Servicios Personalizados",
287 "settings.service.error.headline" : "Erro", 287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.service.error.message" : "Não foi possível carregar a receita do serviço.", 288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.service.form.addServiceHeadline" : "Adicionar {name}", 289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.service.form.availableServices" : "Serviços disponíveis", 290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.service.form.customUrl" : "Servidor personalizado", 291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.service.form.customUrlPremiumInfo" : "Para adicionar serviços auto-hospedados, você precisa de uma conta Apoiador Franz Premium.", 292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.service.form.customUrlUpgradeAccount" : "Atualize a sua conta", 293 "settings.recipes.headline": "Serviços disponíveis",
294 "settings.service.form.customUrlValidationError" : "Não foi possível validar o servidor personalizado {name}.", 294 "settings.recipes.missingService": "Sentiu falta de algum serviço?",
295 "settings.service.form.deleteButton" : "Apagar serviço", 295 "settings.recipes.mostPopular": "Mais populares",
296 "settings.service.form.editServiceHeadline" : "Editar {name}", 296 "settings.recipes.nothingFound": "Desculpe, mas nenhum serviço corresponde a sua pesquisa.",
297 "settings.service.form.enableAudio" : "Ativar áudio", 297 "settings.recipes.servicesSuccessfulAddedInfo": "Serviço adicionado",
298 "settings.service.form.enableBadge" : "Mostrar aviso de mensagens não lidas", 298 "settings.searchService": "Procurar serviço",
299 "settings.service.form.enableDarkMode" : "Ativar modo noturno", 299 "settings.service.error.goBack": "Voltar aos serviços",
300 "settings.service.form.enableNotification" : "Ativar notificações", 300 "settings.service.error.headline": "Erro",
301 "settings.service.form.enableService" : "Ativar serviço", 301 "settings.service.error.message": "Não foi possível carregar a receita do serviço.",
302 "settings.service.form.headlineBadges" : "Mensagens não lidas", 302 "settings.service.form.addServiceHeadline": "Adicionar {name}",
303 "settings.service.form.headlineGeneral" : "Geral", 303 "settings.service.form.availableServices": "Serviços disponíveis",
304 "settings.service.form.headlineNotifications" : "Notificações", 304 "settings.service.form.customUrl": "Servidor personalizado",
305 "settings.service.form.icon" : "Ícone personalizado", 305 "settings.service.form.customUrlPremiumInfo": "Para adicionar serviços auto-hospedados, você precisa de uma conta Apoiador Ferdi Premium.",
306 "settings.service.form.iconDelete" : "Excluir", 306 "settings.service.form.customUrlUpgradeAccount": "Atualize a sua conta",
307 "settings.service.form.iconUpload" : "Solte sua imagem ou clique aqui", 307 "settings.service.form.customUrlValidationError": "Não foi possível validar o servidor personalizado {name}.",
308 "settings.service.form.indirectMessageInfo" : "Você será notificado por todas as mensagens em um canal, não apenas @usuário, @channel, @here, ...", 308 "settings.service.form.deleteButton": "Apagar serviço",
309 "settings.service.form.indirectMessages" : "Mostrar avisos para todas as mensagens", 309 "settings.service.form.editServiceHeadline": "Editar {name}",
310 "settings.service.form.isMutedInfo" : "Quando desativado, as notificações sonoras e áudios ficarão em silêncio", 310 "settings.service.form.enableAudio": "Ativar áudio",
311 "settings.service.form.name" : "Nome", 311 "settings.service.form.enableBadge": "Mostrar aviso de mensagens não lidas",
312 "settings.service.form.proxy.headline" : "Configurações de HTTP\/HTTPS Proxy", 312 "settings.service.form.enableDarkMode": "Ativar modo noturno",
313 "settings.service.form.proxy.host" : "Proxy Host\/IP", 313 "settings.service.form.enableNotification": "Ativar notificações",
314 "settings.service.form.proxy.info" : "As configurações de proxy não serão sincronizadas com os servidores do Franz.", 314 "settings.service.form.enableService": "Ativar serviço",
315 "settings.service.form.proxy.isEnabled" : "Usar o Proxy", 315 "settings.service.form.headlineBadges": "Mensagens não lidas",
316 "settings.service.form.proxy.password" : "Senha (opcional)", 316 "settings.service.form.headlineGeneral": "Geral",
317 "settings.service.form.proxy.port" : "Porta", 317 "settings.service.form.headlineNotifications": "Notificações",
318 "settings.service.form.proxy.restartInfo" : "Por favor, reinicie o Franz após alterar as configurações de proxy.", 318 "settings.service.form.icon": "Ícone personalizado",
319 "settings.service.form.proxy.user" : "Usuário (opcional)", 319 "settings.service.form.iconDelete": "Excluir",
320 "settings.service.form.saveButton" : "Salvar serviço", 320 "settings.service.form.iconUpload": "Solte sua imagem ou clique aqui",
321 "settings.service.form.tabHosted" : "Hospedado", 321 "settings.service.form.indirectMessageInfo": "Você será notificado por todas as mensagens em um canal, não apenas @usuário, @channel, @here, ...",
322 "settings.service.form.tabOnPremise" : "Auto-hospedado ⭐️", 322 "settings.service.form.indirectMessages": "Mostrar avisos para todas as mensagens",
323 "settings.service.form.team" : "Equipe", 323 "settings.service.form.isMutedInfo": "Quando desativado, as notificações sonoras e áudios ficarão em silêncio",
324 "settings.service.form.useHostedService" : "Use o serviço {nome} hospedado.", 324 "settings.service.form.name": "Nome",
325 "settings.service.form.yourServices" : "Seus serviços", 325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.services.deletedInfo" : "Serviço excluído", 326 "settings.service.form.proxy.headline": "Configurações de HTTP/HTTPS Proxy",
327 "settings.services.discoverServices" : "Descobrir serviços", 327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.services.headline" : "Seus serviços", 328 "settings.service.form.proxy.info": "As configurações de proxy não serão sincronizadas com os servidores do Ferdi.",
329 "settings.services.noServicesAdded" : "Você ainda não adicionou nenhum serviço.", 329 "settings.service.form.proxy.isEnabled": "Usar o Proxy",
330 "settings.services.servicesRequestFailed" : "Não foi possível carregar os seus serviços", 330 "settings.service.form.proxy.password": "Senha (opcional)",
331 "settings.services.tooltip.isDisabled" : "O serviço está desativado", 331 "settings.service.form.proxy.port": "Porta",
332 "settings.services.tooltip.isMuted" : "Sem som", 332 "settings.service.form.proxy.restartInfo": "Por favor, reinicie o Ferdi após alterar as configurações de proxy.",
333 "settings.services.tooltip.notificationsDisabled" : "Notificações desativadas", 333 "settings.service.form.proxy.user": "Usuário (opcional)",
334 "settings.services.updatedInfo" : "Suas mudanças foram gravadas", 334 "settings.service.form.saveButton": "Salvar serviço",
335 "settings.team.contentHeadline" : "Franz para Equipes", 335 "settings.service.form.tabHosted": "Hospedado",
336 "settings.team.copy" : "\"Franz para Equipes\" possui a opção de convidar ajudantes para a sua equipe através de mensagens por e-mail e gerenciar as inscrições deles em suas preferências de conta. Não perca tempo configurando as inscrições para membro da equipe individualmente, esqueça as múltiplas faturas e tempos de pagamento. Uma regra universal para todos os membros da equipe.", 336 "settings.service.form.tabOnPremise": "Auto-hospedado ⭐️",
337 "settings.team.headline" : "Equipe", 337 "settings.service.form.team": "Equipe",
338 "settings.team.intro" : "Você e sua equipe usam Franz? Você pode agora administrar as inscrições pagas de todos os seus colegas, amigos e membros da família que você quiser, tudo isso em uma única conta.", 338 "settings.service.form.useHostedService": "Use o serviço {nome} hospedado.",
339 "settings.team.manageAction" : "Gerencie sua Equipe no meetfranz.com", 339 "settings.service.form.yourServices": "Seus serviços",
340 "settings.team.upgradeAction" : "Atualize a sua conta para versão paga", 340 "settings.services.deletedInfo": "Serviço excluído",
341 "settings.user.form.accountType.company" : "Empresa", 341 "settings.services.discoverServices": "Descobrir serviços",
342 "settings.user.form.accountType.individual" : "Pessoal", 342 "settings.services.headline": "Seus serviços",
343 "settings.user.form.accountType.label" : "Tipo de conta", 343 "settings.services.noServicesAdded": "Você ainda não adicionou nenhum serviço.",
344 "settings.user.form.accountType.non-profit" : "Sem fins lucrativos", 344 "settings.services.servicesRequestFailed": "Não foi possível carregar os seus serviços",
345 "settings.user.form.currentPassword" : "Senha atual", 345 "settings.services.tooltip.isDisabled": "O serviço está desativado",
346 "settings.user.form.email" : "E-mail", 346 "settings.services.tooltip.isMuted": "Sem som",
347 "settings.user.form.firstname" : "Nome", 347 "settings.services.tooltip.notificationsDisabled": "Notificações desativadas",
348 "settings.user.form.lastname" : "Sobrenome", 348 "settings.services.updatedInfo": "Suas alterações foram gravadas",
349 "settings.user.form.newPassword" : "Nova senha", 349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.workspace.add.form.name" : "Nome", 350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.workspace.add.form.submitButton" : "Criar workspace", 351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.workspace.form.buttonDelete" : "Apagar workspace", 352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.workspace.form.buttonSave" : "Salvar workspace", 353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.workspace.form.name" : "Nome", 354 "settings.team.contentHeadline": "Ferdi para Equipes",
355 "settings.workspace.form.servicesInWorkspaceHeadline" : "Serviços neste Workspace", 355 "settings.team.copy": "\"Ferdi para Equipes\" possui a opção de convidar ajudantes para a sua equipe através de mensagens por e-mail e gerenciar as inscrições deles em suas preferências de conta. Não perca tempo configurando as inscrições para membro da equipe individualmente, esqueça as múltiplas faturas e tempos de pagamento. Uma regra universal para todos os membros da equipe.",
356 "settings.workspace.form.yourWorkspaces" : "Seus workspaces", 356 "settings.team.headline": "Equipe",
357 "settings.workspaces.deletedInfo" : "Área de trabalho deletada", 357 "settings.team.intro": "Você e sua equipe usam Ferdi? Você pode agora administrar as inscrições pagas de todos os seus colegas, amigos e membros da família que você quiser, tudo isso em uma única conta.",
358 "settings.workspaces.headline" : "Suas Áreas de Trabalho", 358 "settings.team.manageAction": "Gerencie sua Equipe no getferdi.com",
359 "settings.workspaces.noWorkspacesAdded" : "Você não possui nenhuma área de trabalho adicionadas anteriormente.", 359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.workspaces.tryReloadWorkspaces" : "Tente de novo", 360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.workspaces.updatedInfo" : "Suas mudanças foram salvas", 361 "settings.team.upgradeAction": "Atualize a sua conta para versão paga",
362 "settings.workspaces.workspaceFeatureHeadline" : "Menos é Mais: Introduzindo Workspaces do Franz", 362 "settings.user.form.accountType.company": "Empresa",
363 "settings.workspaces.workspaceFeatureInfo" : "As áreas de trabalho do Franz permite você focar no que realmente é importante agora. Configure diferentes conjuntos de serviços e alterne entre eles facilmente em qualquer momento. Você decide quais serviços você precisa e onde deseja colocá-los, então nós podemos te ajudar a aumentar a produtividade de suas tarefas. Ou facilmente deletar os aplicativos que você nunca irá precisar.", 363 "settings.user.form.accountType.individual": "Pessoal",
364 "settings.workspaces.workspacesRequestFailed" : "Não foi possível carregar suas áreas de trabalho", 364 "settings.user.form.accountType.label": "Tipo de conta",
365 "sidebar.addNewService" : "Adicionar novo serviço", 365 "settings.user.form.accountType.non-profit": "Sem fins lucrativos",
366 "sidebar.closeTodosDrawer" : "Close Franz Todos", 366 "settings.user.form.currentPassword": "Senha atual",
367 "sidebar.closeWorkspaceDrawer" : "Fechar o menu da área de trabalho", 367 "settings.user.form.email": "E-mail",
368 "sidebar.muteApp" : "Desativar notificações e áudio", 368 "settings.user.form.firstname": "Nome",
369 "sidebar.openTodosDrawer" : "Open Franz Todos", 369 "settings.user.form.lastname": "Sobrenome",
370 "sidebar.openWorkspaceDrawer" : "Abrir menu da área de trabalho", 370 "settings.user.form.newPassword": "Nova senha",
371 "sidebar.settings" : "Ajustes", 371 "settings.workspace.add.form.name": "Nome",
372 "sidebar.unmuteApp" : "Ativar notificações e áudio", 372 "settings.workspace.add.form.submitButton": "Criar workspace",
373 "signup.email.label" : "Endereço de e-mail", 373 "settings.workspace.form.buttonDelete": "Apagar workspace",
374 "signup.emailDuplicate" : "Já existe um usuário com este endereço de e-mail", 374 "settings.workspace.form.buttonSave": "Salvar workspace",
375 "signup.firstname.label" : "Nome", 375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "signup.headline" : "Cadastrar-se", 376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "signup.lastname.label" : "Sobrenome", 377 "settings.workspace.form.name": "Nome",
378 "signup.legal.info" : "Ao criar uma conta Franz, você aceita os ", 378 "settings.workspace.form.servicesInWorkspaceHeadline": "Serviços neste Workspace",
379 "signup.legal.privacy" : "Declaração de Privacidade", 379 "settings.workspace.form.yourWorkspaces": "Suas áreas de trabalho",
380 "signup.legal.terms" : "Termos de serviço", 380 "settings.workspaces.deletedInfo": "Área de trabalho deletada",
381 "signup.link.login" : "Já tem uma conta?", 381 "settings.workspaces.headline": "Suas áreas de trabalho",
382 "signup.password.label" : "Senha", 382 "settings.workspaces.noWorkspacesAdded": "Você não possui nenhuma área de trabalho adicionadas anteriormente.",
383 "signup.submit.label" : "Criar uma conta", 383 "settings.workspaces.tryReloadWorkspaces": "Tente novamente",
384 "subscription.bestValue" : "Best value", 384 "settings.workspaces.updatedInfo": "Suas alterações foram gravadas",
385 "subscription.cta.activateTrial" : "Yes, start the free Franz Professional trial", 385 "settings.workspaces.workspaceFeatureHeadline": "Menos é Mais: Introduzindo Workspaces do Ferdi",
386 "subscription.cta.allOptions" : "Ver todas as opções", 386 "settings.workspaces.workspaceFeatureInfo": "As áreas de trabalho do Ferdi permite você focar no que realmente é importante agora. Configure diferentes conjuntos de serviços e alterne entre eles facilmente em qualquer momento. Você decide quais serviços você precisa e onde deseja colocá-los, então nós podemos te ajudar a aumentar a produtividade de suas tarefas. Ou facilmente deletar os aplicativos que você nunca irá precisar.",
387 "subscription.cta.choosePlan" : "Escolha seu plano", 387 "settings.workspaces.workspacesRequestFailed": "Não foi possível carregar suas áreas de trabalho",
388 "subscription.includedProFeatures" : "O Franz Professional inclui:", 388 "sidebar.addNewService": "Adicionar novo serviço",
389 "subscription.interval.per" : "per {interval}", 389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "subscription.interval.perMonth" : "per month", 390 "sidebar.closeWorkspaceDrawer": "Fechar menu da área de trabalho",
391 "subscription.interval.perMonthPerUser" : "per month & user", 391 "sidebar.lockFerdi": "Lock Ferdi",
392 "subscription.planItem.upgradeAccount" : "Upgrade Account", 392 "sidebar.muteApp": "Desativar notificações e áudio",
393 "subscription.teaser.includedFeatures" : "Paid Franz Plans include:", 393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "subscription.teaser.intro" : "O Franz 5 vem com uma variedade de novas funcionalidades para melhorar a sua comunicação diária - pilhas inclusas. Confira os nossos novos planos e encontre aquele que melhor serve para você!", 394 "sidebar.openWorkspaceDrawer": "Abrir o menu da área de trabalho",
395 "subscriptionPopup.buttonCancel" : "Cancelar", 395 "sidebar.settings": "Configurações",
396 "subscriptionPopup.buttonDone" : "Feito", 396 "sidebar.unmuteApp": "Ativar notificações e áudio",
397 "tabs.item.deleteService" : "Excluir serviço", 397 "signup.email.label": "Endereço de E-mail",
398 "tabs.item.disableAudio" : "Desativar áudio", 398 "signup.emailDuplicate": "Já existe um usuário com este endereço de e-mail",
399 "tabs.item.disableNotifications" : "Desativar notificações", 399 "signup.firstname.label": "Nome",
400 "tabs.item.disableService" : "Desativar serviço", 400 "signup.headline": "Cadastrar-se",
401 "tabs.item.edit" : "Editar", 401 "signup.lastname.label": "Sobrenome",
402 "tabs.item.enableAudio" : "Ativar áudio", 402 "signup.legal.info": "Ao criar uma conta Ferdi, você aceita os ",
403 "tabs.item.enableNotification" : "Ativar notificações", 403 "signup.legal.privacy": "Declaração de Privacidade ",
404 "tabs.item.enableService" : "Ativar serviço", 404 "signup.legal.terms": "Termos de serviço",
405 "tabs.item.reload" : "Recarregar", 405 "signup.link.login": "Já tem uma conta?",
406 "validation.email" : "inválido", 406 "signup.password.label": "Password",
407 "validation.minLength" : "{campo} deve ter pelo menos {comprimento} mais caracteres ", 407 "signup.submit.label": "Criar uma conta",
408 "validation.oneRequired" : "Necessário pelo menos um", 408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "validation.required" : "{campo} obrigatório", 409 "subscription.cta.allOptions": "See all options",
410 "validation.url" : "{campo} essa URL não é válida", 410 "subscription.cta.choosePlan": "Choose your plan",
411 "webControls.back" : "Voltar", 411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "webControls.forward" : "Avançar", 412 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:",
413 "webControls.goHome" : "Home", 413 "subscription.teaser.intro": "O Ferdi 5 vem com uma variedade de novas funcionalidades para melhorar a sua comunicação diária - pilhas inclusas. Confira os nossos novos planos e encontre aquele que melhor serve para você!",
414 "webControls.openInBrowser" : "Abrir no navegador", 414 "subscriptionPopup.buttonCancel": "Cancelar",
415 "webControls.reload" : "Recarregar", 415 "subscriptionPopup.buttonDone": "Feito",
416 "welcome.loginButton" : "Entrar na sua conta", 416 "tabs.item.deleteService": "Apagar serviço",
417 "welcome.signupButton" : "Criar uma conta grátis", 417 "tabs.item.disableAudio": "Desativar áudio",
418 "workspaceDrawer.addNewWorkspaceLabel" : "Adicionar uma nova área de trabalho", 418 "tabs.item.disableNotifications": "Desativar notificações",
419 "workspaceDrawer.allServices" : "Todos os serviços", 419 "tabs.item.disableService": "Desativar serviço",
420 "workspaceDrawer.headline" : "Áreas de Trabalho", 420 "tabs.item.edit": "Editar",
421 "workspaceDrawer.item.contextMenuEdit" : "editar", 421 "tabs.item.enableAudio": "Ativar áudio",
422 "workspaceDrawer.item.noServicesAddedYet" : "Nenhum serviço adicionado anteriormente", 422 "tabs.item.enableNotification": "Ativar notificações",
423 "workspaceDrawer.premiumCtaButtonLabel" : "Crie sua primeira área de trabalho", 423 "tabs.item.enableService": "Ativar serviço",
424 "workspaceDrawer.proFeatureBadge" : "Vantagem paga oferecida aos assinantes", 424 "tabs.item.reload": "Recarregar",
425 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reative sua conta paga", 425 "validation.email": "inválido",
426 "workspaceDrawer.workspaceFeatureInfo" : "<p>As áreas de trabalho do Franz te ajuda a focar no que realmente é importante agora. Configure diferente cenários para serviços e mude entre eles facilmente em qualquer momento. <\/p><p>Você decide quais serviços precisa e onde deseja posicioná-los, e então nós iremos te ajudar em aumentar a sua produtividade. Você pode desligar os serviços que não são úteis para você.<\/p>", 426 "validation.minLength": "{campo} deve ter pelo menos {comprimento} mais caracteres ",
427 "workspaceDrawer.workspacesSettingsTooltip" : "Editar configurações das áreas de trabalho", 427 "validation.oneRequired": "Necessário pelo menos um",
428 "workspaces.switchingIndicator.switchingTo" : "Mudando para" 428 "validation.required": "{campo} obrigatório",
429 "validation.url": "{campo} essa URL não é válida",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Recarregar",
435 "welcome.loginButton": "Entrar na sua conta",
436 "welcome.signupButton": "Criar uma conta gratuita",
437 "workspaceDrawer.addNewWorkspaceLabel": "Adicionar uma nova área de trabalho",
438 "workspaceDrawer.allServices": "Todos os serviços",
439 "workspaceDrawer.headline": "Áreas de trabalho",
440 "workspaceDrawer.item.contextMenuEdit": "editar",
441 "workspaceDrawer.item.noServicesAddedYet": "Nenhum serviço adicionado anteriormente",
442 "workspaceDrawer.premiumCtaButtonLabel": "Crie sua primeira área de trabalho",
443 "workspaceDrawer.proFeatureBadge": "Vantagem paga oferecida aos assinantes",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reative sua conta paga",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>As áreas de trabalho do Ferdi te ajuda a focar no que realmente é importante agora. Configure diferente cenários para serviços e mude entre eles facilmente em qualquer momento. </p><p>Você decide quais serviços precisa e onde deseja posicioná-los, e então nós iremos te ajudar em aumentar a sua produtividade. Você pode desligar os serviços que não são úteis para você.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Editar configurações das áreas de trabalho",
447 "workspaces.switchingIndicator.switchingTo": "Mudando para"
429} 448}
diff --git a/src/i18n/locales/pt.json b/src/i18n/locales/pt.json
index ff2d46b83..175322720 100644
--- a/src/i18n/locales/pt.json
+++ b/src/i18n/locales/pt.json
@@ -1,429 +1,448 @@
1{ 1{
2 "app.errorHandler.action" : "Recarregar", 2 "app.errorHandler.action": "Recarregar",
3 "app.errorHandler.headline" : "Alguma coisa correu mal", 3 "app.errorHandler.headline": "Alguma coisa correu mal",
4 "feature.announcements.changelog.headline" : "Alterações no Franz {version}", 4 "feature.announcements.changelog.headline": "Alterações no Ferdi {version}",
5 "feature.delayApp.headline" : "Upgrade your Franz plan to skip the wait", 5 "feature.delayApp.headline": "Por favor compre uma licença Ferdi Supporter para saltar a fila de espera",
6 "feature.delayApp.text" : "Franz irá continuar em {seconds} segundos.", 6 "feature.delayApp.text": "Ferdi irá continuar em {seconds} segundos.",
7 "feature.delayApp.trial.action" : "Sim, Quero a versão experimental do Franz Profissional de 14 dias", 7 "feature.delayApp.trial.action": "Sim, Quero a versão experimental do Ferdi Profissional de 14 dias",
8 "feature.delayApp.trial.actionShort" : "Activate the free Franz Professional trial", 8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
9 "feature.delayApp.trial.headline" : "Get the free Franz Professional 14-days trial and skip the wait", 9 "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line",
10 "feature.delayApp.upgrade.action" : "Upgrade Franz", 10 "feature.delayApp.upgrade.action": "Faz parte do grupo de apoio do Ferdi",
11 "feature.delayApp.upgrade.actionShort" : "Atualiza a tua conta", 11 "feature.delayApp.upgrade.actionShort": "Atualiza a tua conta",
12 "feature.planSelection.cta.ctaDowngradeFree" : "Downgrade to Free", 12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.planSelection.cta.stayOnFree" : "Stay on Free", 13 "feature.quickSwitch.search": "Search...",
14 "feature.planSelection.cta.trial" : "Start my free 14-days Trial", 14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.planSelection.cta.upgradePersonal" : "Choose Personal", 15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.planSelection.cta.upgradePro" : "Choose Professional", 16 "feature.shareFranz.action.email": "Enviar por e-mail",
17 "feature.planSelection.free.text" : "Basic functionality", 17 "feature.shareFranz.action.facebook": "Compartilahr no Facebook",
18 "feature.planSelection.fullFeatureList" : "Complete comparison of all plans", 18 "feature.shareFranz.action.twitter": "Compartilhar no Twitter",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 19 "feature.shareFranz.headline": "Ferdi is better together!",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade" : "Choose Personal", 20 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
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.", 21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.planSelection.fullscreen.dialog.title" : "Downgrade your Franz Plan", 22 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
23 "feature.planSelection.fullscreen.subheadline" : "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.", 23 "feature.todos.premium.info": "Ferdi Todos are available to premium users now!",
24 "feature.planSelection.fullscreen.welcome" : "Are you ready to choose, {name}?", 24 "feature.todos.premium.rollout": "Everyone else will have to wait a little longer.",
25 "feature.planSelection.personal.text" : "More services, no waiting - ideal for personal use.", 25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "feature.planSelection.pricesBasedOnAnnualPayment" : "All prices based on yearly payment", 26 "global.api.unhealthy": "Não foi possível estabelecer ligação aos serviços do Ferdi",
27 "feature.planSelection.pro.text" : "Unlimited services and professional features for you - and your team.", 27 "global.franzProRequired": "Ferdi Professional Required",
28 "feature.serviceLimit.limitReached" : "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.", 28 "global.notConnectedToTheInternet": "Não estás ligado à Internet",
29 "feature.shareFranz.action.email" : "Enviar por e-mail", 29 "global.spellchecker.useDefault": "Utilizar o Sistema por Omissão ({default})",
30 "feature.shareFranz.action.facebook" : "Compartilahr no Facebook", 30 "global.spellchecking.autodetect": "Detectar a lingua automaticamente",
31 "feature.shareFranz.action.twitter" : "Compartilhar no Twitter", 31 "global.spellchecking.autodetect.short": "Automático",
32 "feature.shareFranz.headline" : "Franz é melhor junto!", 32 "global.spellchecking.language": "Linguagem para correção ortográfica",
33 "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", 33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "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 @FranzMessenger", 34 "import.headline": "Importa os teus serviços do Ferdi",
35 "feature.shareFranz.text" : "Tell your friends and colleagues how awesome Franz is and help us to spread the word.", 35 "import.notSupportedHeadline": "Estes serviços ainda não são suportados pelo Ferdi 5",
36 "feature.todos.premium.info" : "Franz Todos está agora disponível para utilizadores premium!", 36 "import.skip.label": "Eu quero adicionar serviços manualmente",
37 "feature.todos.premium.rollout" : "Todos os outros vão ter de esperar um pouco mais.", 37 "import.submit.label": "Importar serviços",
38 "feature.todos.premium.upgrade" : "Melhorar a conta", 38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "feature.trialStatusBar.cta" : "Upgrade now", 39 "infobar.buttonChangelog": "O que há de novo?",
40 "feature.trialStatusBar.expired" : "Your free Franz {plan} Trial has expired, please upgrade your account.", 40 "infobar.buttonInstallUpdate": "Reiniciar e instalar atualizações",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 41 "infobar.buttonReloadServices": "Recarregar serviços",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade" : "Choose Personal", 42 "infobar.requiredRequestsFailed": "Não foi possível carregar os serviços e informações do utilizador",
43 "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.", 43 "infobar.servicesUpdated": "Os seus serviços foram atualizados.",
44 "feature.trialStatusBar.fullscreen.dialog.title" : "Downgrade your Franz Plan", 44 "infobar.trialActivated": "A tua versão experimental foi activada com êxito. Boas mensagens!",
45 "feature.trialStatusBar.restTime" : "Your Free Franz {plan} Trial ends in {time}.", 45 "infobar.updateAvailable": "Está disponível uma nova atualização para o Ferdi",
46 "global.api.unhealthy" : "Não foi possível estabelecer ligação aos serviços do Franz", 46 "invite.email.label": "Endereço de e-mail",
47 "global.franzProRequired" : "Franz Professional Required", 47 "invite.headline.friends": "Convide 3 amigos ou colegas",
48 "global.notConnectedToTheInternet" : "Não estás ligado à Internet", 48 "invite.name.label": "Nome",
49 "global.spellchecker.useDefault" : "Utilizar o Sistema por Omissão ({default})", 49 "invite.skip.label": "Pretendo fazer isto mais tarde",
50 "global.spellchecking.autodetect" : "Detectar a lingua automaticamente", 50 "invite.submit.label": "Enviar convites",
51 "global.spellchecking.autodetect.short" : "Automático", 51 "invite.successInfo": "Convites enviados com sucesso",
52 "global.spellchecking.language" : "Linguagem para correção ortográfica", 52 "locked.headline": "Locked",
53 "global.upgradeButton.upgradeToPro" : "Actualiza para o Franz Profissional", 53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "import.headline" : "Importa os teus serviços do Franz", 54 "locked.invalidCredentials": "Password invalid",
55 "import.notSupportedHeadline" : "Estes serviços ainda não são suportados pelo Franz 5", 55 "locked.password.label": "Password",
56 "import.skip.label" : "Eu quero adicionar serviços manualmente", 56 "locked.submit.label": "Unlock",
57 "import.submit.label" : "Importar serviços", 57 "login.changeServer": "Change server",
58 "infobar.buttonChangelog" : "O que há de novo?", 58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "infobar.buttonInstallUpdate" : "Reiniciar e instalar atualizações", 59 "login.customServerSuggestion": "Try importing your Franz account",
60 "infobar.buttonReloadServices" : "Recarregar serviços", 60 "login.email.label": "Endereço de e-mail",
61 "infobar.requiredRequestsFailed" : "Não foi possível carregar os serviços e informações do utilizador", 61 "login.headline": "Iniciar Sessão",
62 "infobar.servicesUpdated" : "Os seus serviços foram atualizados.", 62 "login.invalidCredentials": "O email ou a palavra-passe estão incorrectos",
63 "infobar.trialActivated" : "A tua versão experimental foi activada com êxito. Boas mensagens!", 63 "login.link.password": "Repor a minha palavra-passe",
64 "infobar.updateAvailable" : "Está disponível uma nova atualização para o Franz", 64 "login.link.signup": "Criar uma conta gratuita",
65 "invite.email.label" : "Endereço de e-mail", 65 "login.password.label": "Password",
66 "invite.headline.friends" : "Convide 3 amigos ou colegas", 66 "login.serverLogout": "A sua sessão expirou, inicie sessão novamente.",
67 "invite.name.label" : "Nome", 67 "login.submit.label": "Iniciar Sessão",
68 "invite.skip.label" : "Pretendo fazer isto mais tarde", 68 "login.tokenExpired": "A sua sessão expirou, inicie sessão novamente.",
69 "invite.submit.label" : "Enviar convites", 69 "menu.Todoss.closeTodosDrawer": "Fechar a gaveta Todos",
70 "invite.successInfo" : "Convites enviados com sucesso", 70 "menu.Todoss.openTodosDrawer": "Abrir a gaveta Todos",
71 "login.email.label" : "Endereço de e-mail", 71 "menu.app.about": "Sobre o Ferdi",
72 "login.headline" : "Iniciar Sessão", 72 "menu.app.announcement": "O que há de novo?",
73 "login.invalidCredentials" : "O email ou a palavra-passe estão incorrectos", 73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "login.link.password" : "Repor a minha palavra-passe", 74 "menu.app.checkForUpdates": "Procurar atualizações",
75 "login.link.signup" : "Criar uma conta gratuita", 75 "menu.app.hide": "Ocultar",
76 "login.password.label" : "Palavra-passe", 76 "menu.app.hideOthers": "Ocultar Outros",
77 "login.serverLogout" : "A sua sessão expirou, inicie sessão novamente.", 77 "menu.app.quit": "Sair",
78 "login.submit.label" : "Iniciar sessão", 78 "menu.app.settings": "Definições",
79 "login.tokenExpired" : "A sua sessão expirou, inicie sessão novamente.", 79 "menu.app.unhide": "Mostrar",
80 "menu.Todoss.closeTodosDrawer" : "Fechar a gaveta Todos", 80 "menu.edit": "Editar",
81 "menu.Todoss.openTodosDrawer" : "Abrir a gaveta Todos", 81 "menu.edit.copy": "Copiar",
82 "menu.app.about" : "Sobre o Franz", 82 "menu.edit.cut": "Cortar",
83 "menu.app.announcement" : "O que há de novo?", 83 "menu.edit.delete": "Apagar",
84 "menu.app.checkForUpdates" : "Procurar atualizações", 84 "menu.edit.emojiSymbols": "Emojis e Símbolos",
85 "menu.app.hide" : "Ocultar", 85 "menu.edit.paste": "Colar",
86 "menu.app.hideOthers" : "Ocultar Outros", 86 "menu.edit.pasteAndMatchStyle": "Colar e Manter Estilo",
87 "menu.app.quit" : "Sair", 87 "menu.edit.redo": "Refazer",
88 "menu.app.settings" : "Definições", 88 "menu.edit.selectAll": "Selecionar Tudo",
89 "menu.app.unhide" : "Mostrar", 89 "menu.edit.speech": "Voz",
90 "menu.edit" : "Editar", 90 "menu.edit.startDictation": "Começar a ditar",
91 "menu.edit.copy" : "Copiar", 91 "menu.edit.startSpeaking": "Comece a falar",
92 "menu.edit.cut" : "Cortar", 92 "menu.edit.stopSpeaking": "Pare de Falar",
93 "menu.edit.delete" : "Apagar", 93 "menu.edit.undo": "Desfazer",
94 "menu.edit.emojiSymbols" : "Emojis e Símbolos", 94 "menu.file": "Ficheiro",
95 "menu.edit.paste" : "Colar", 95 "menu.help": "Ajuda",
96 "menu.edit.pasteAndMatchStyle" : "Colar e Manter Estilo", 96 "menu.help.changelog": "Registo de alterações",
97 "menu.edit.redo" : "Refazer", 97 "menu.help.debugInfo": "Copiar a informação Debug",
98 "menu.edit.selectAll" : "Selecionar Tudo", 98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.edit.speech" : "Voz", 99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.edit.startDictation" : "Começar a ditar", 100 "menu.help.learnMore": "Saber mais",
101 "menu.edit.startSpeaking" : "Comece a falar", 101 "menu.help.privacy": "Declaração de privacidade",
102 "menu.edit.stopSpeaking" : "Pare de Falar", 102 "menu.help.support": "Suporte",
103 "menu.edit.undo" : "Desfazer", 103 "menu.help.tos": "Termos do Serviço",
104 "menu.file" : "Ficheiro", 104 "menu.services": "Serviços",
105 "menu.help" : "Ajuda", 105 "menu.services.activatePreviousService": "Activar o serviço anterior",
106 "menu.help.changelog" : "Registo de alterações", 106 "menu.services.addNewService": "Adicionar Novo Serviço...",
107 "menu.help.debugInfo" : "Copiar a informação Debug", 107 "menu.services.goHome": "Home",
108 "menu.help.debugInfoCopiedBody" : "Your Debug Information has been copied to your clipboard.", 108 "menu.services.setNextServiceActive": "Activar o próximo serviço",
109 "menu.help.debugInfoCopiedHeadline" : "Franz Debug Information", 109 "menu.todos": "Todos",
110 "menu.help.learnMore" : "Saber mais", 110 "menu.todos.enableTodos": "Activar Todos",
111 "menu.help.privacy" : "Declaração de privacidade", 111 "menu.view": "Ver",
112 "menu.help.support" : "Suporte", 112 "menu.view.back": "Back",
113 "menu.help.tos" : "Termos do Serviço", 113 "menu.view.enterFullScreen": "Ativar Modo de Ecrã Completo",
114 "menu.services" : "Serviços", 114 "menu.view.exitFullScreen": "Sair do Modo de Ecrã Completo",
115 "menu.services.activatePreviousService" : "Activar o serviço anterior", 115 "menu.view.forward": "Forward",
116 "menu.services.addNewService" : "Adicionar Novo Serviço...", 116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.services.goHome" : "Home", 117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.services.setNextServiceActive" : "Activar o próximo serviço", 118 "menu.view.reloadFranz": "Recarregar Ferdi",
119 "menu.todos" : "Todos", 119 "menu.view.reloadService": "Recarregar serviço",
120 "menu.todos.enableTodos" : "Activar Todos", 120 "menu.view.resetZoom": "Tamanho Real",
121 "menu.view" : "Ver", 121 "menu.view.toggleDevTools": "Ativar/Desativar Ferramentas de Desenvolvimento",
122 "menu.view.enterFullScreen" : "Ativar Modo de Ecrã Completo", 122 "menu.view.toggleFullScreen": "Ativar/Desativar Ecrã Completo",
123 "menu.view.exitFullScreen" : "Sair do Modo de Ecrã Completo", 123 "menu.view.toggleServiceDevTools": "Ativar/Desativar Ferramentas de Desenvolvimento de Serviços",
124 "menu.view.reloadFranz" : "Recarregar Franz", 124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.reloadService" : "Recarregar serviço", 125 "menu.view.zoomIn": "Aumentar",
126 "menu.view.resetZoom" : "Tamanho Real", 126 "menu.view.zoomOut": "Reduzir",
127 "menu.view.toggleDevTools" : "Ativar\/Desativar Ferramentas de Desenvolvimento", 127 "menu.window": "Janela",
128 "menu.view.toggleFullScreen" : "Ativar\/Desativar Ecrã Completo", 128 "menu.window.close": "Fechar",
129 "menu.view.toggleServiceDevTools" : "Ativar\/Desativar Ferramentas de Desenvolvimento de Serviços", 129 "menu.window.minimize": "Minimizar",
130 "menu.view.toggleTodosDevTools" : "Toggle Todos Developer Tools", 130 "menu.workspaces": "Espaços de trabalho",
131 "menu.view.zoomIn" : "Aumentar", 131 "menu.workspaces.addNewWorkspace": "Adicionar novo Espaço de trabalho",
132 "menu.view.zoomOut" : "Reduzir", 132 "menu.workspaces.closeWorkspaceDrawer": "Fechar a janela do Espaço de trabalho",
133 "menu.window" : "Janela", 133 "menu.workspaces.defaultWorkspace": "Todos os serviços",
134 "menu.window.close" : "Fechar", 134 "menu.workspaces.openWorkspaceDrawer": "Abrir a janela do Espaço de trabalho",
135 "menu.window.minimize" : "Minimizar", 135 "password.email.label": "Endereço de e-mail",
136 "menu.workspaces" : "Espaços de trabalho", 136 "password.headline": "Repor a minha palavra-passe",
137 "menu.workspaces.addNewWorkspace" : "Adicionar novo Espaço de trabalho", 137 "password.link.login": "Iniciar sessão",
138 "menu.workspaces.closeWorkspaceDrawer" : "Fechar a janela do Espaço de trabalho", 138 "password.link.signup": "Criar uma conta gratuita",
139 "menu.workspaces.defaultWorkspace" : "Todos os serviços", 139 "password.noUser": "Não existe nenhuma conta associada a esse endereço de e-mail",
140 "menu.workspaces.openWorkspaceDrawer" : "Abrir a janela do Espaço de trabalho", 140 "password.submit.label": "Submeter",
141 "password.email.label" : "Endereço de e-mail", 141 "password.successInfo": "Por favor verifique o seu endereço de e-mail",
142 "password.headline" : "Repor a minha palavra-passe", 142 "premiumFeature.button.upgradeAccount": "Atualiza a tua conta",
143 "password.link.login" : "Iniciar sessão", 143 "pricing.features.adFree": "Sem publicidade para sempre",
144 "password.link.signup" : "Criar uma conta gratuita", 144 "pricing.features.appDelays": "No Waiting Screens",
145 "password.noUser" : "Não existe nenhuma conta associada a esse endereço de e-mail", 145 "pricing.features.customWebsites": "Add Custom Websites",
146 "password.submit.label" : "Submeter", 146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "password.successInfo" : "Por favor verifique o seu endereço de e-mail", 147 "pricing.features.serviceProxies": "Service Proxies",
148 "premiumFeature.button.upgradeAccount" : "Atualizar conta", 148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.accountSync" : "Account Synchronisation", 149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.adFree" : "Sem publicidade para sempre", 150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.appDelays" : "No Waiting Screens", 151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.customWebsites" : "Add Custom Websites", 152 "pricing.features.workspaces": "Espaços de trabalho",
153 "pricing.features.desktopNotifications" : "Desktop Notifications", 153 "pricing.plan.free": "Ferdi Free",
154 "pricing.features.onPremise" : "On-premise & other Hosted Services", 154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.features.recipes" : "Choose from more than 70 Services", 155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.features.serviceProxies" : "Service Proxies", 156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.features.spellchecker" : "Spellchecker support", 157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.features.teamManagement" : "Team Management", 158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.features.thirdPartyServices" : "Install 3rd party services", 159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.features.unlimitedServices" : "Add unlimited services", 160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.features.upToSixServices" : "Add up to 6 services", 161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.features.upToThreeServices" : "Add up to 3 services", 162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.features.workspaces" : "Espaços de trabalho", 163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.plan.free" : "Free", 164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.plan.legacy" : "Premium", 165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.plan.personal" : "Personal", 166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.plan.personal-monthly" : "Personal Monthly", 167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.plan.personal-yearly" : "Personal Yearly", 168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.plan.pro" : "Professional", 169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "pricing.plan.pro-monthly" : "Professional Monthly", 170 "service.crashHandler.action": "Recarregar {name}",
171 "pricing.plan.pro-yearly" : "Professional Yearly", 171 "service.crashHandler.autoReload": "A tentar restaurar automaticamente {name} em {seconds} segundos",
172 "pricing.trial.cta.accept" : "Start my 14-day Franz Professional Trial ", 172 "service.crashHandler.headline": "Oh não!",
173 "pricing.trial.cta.skip" : "Continue to Franz", 173 "service.crashHandler.text": "{name} causou um erro.",
174 "pricing.trial.cta.start" : "Start using Franz", 174 "service.disabledHandler.action": "Ativar {name}",
175 "pricing.trial.error" : "Sorry, we could not activate your trial!", 175 "service.disabledHandler.headline": "{name} está desativado",
176 "pricing.trial.features.headline" : "Franz Professional includes:", 176 "service.errorHandler.action": "Recarregar {name}",
177 "pricing.trial.headline.pro" : "Hi {name}, welcome to Franz", 177 "service.errorHandler.editAction": "Editar {name}",
178 "pricing.trial.intro.happyMessaging" : "Happy messaging,", 178 "service.errorHandler.headline": "Oh não!",
179 "pricing.trial.intro.specialTreat" : "We have a special treat for you.", 179 "service.errorHandler.message": "Erro",
180 "pricing.trial.intro.tryPro" : "Enjoy the full Franz Professional experience completely free for 14 days.", 180 "service.errorHandler.text": "{name} falhou o carregamento",
181 "pricing.trial.terms.automaticTrialEnd" : "Your free trial ends automatically after 14 days", 181 "service.restrictedHandler.action": "Upgrade Account",
182 "pricing.trial.terms.headline" : "No strings attached", 182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "pricing.trial.terms.noCreditCard" : "No credit card required", 183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "pricing.trial.terms.trialWorth" : "Free trial (normally {currency}{price} per month)", 184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.crashHandler.action" : "Recarregar {name}", 185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.crashHandler.autoReload" : "A tentar restaurar automaticamente {name} em {seconds} segundos", 186 "service.webviewLoader.loading": "A ler",
187 "service.crashHandler.headline" : "Oh não!", 187 "services.getStarted": "Vamos começar",
188 "service.crashHandler.text" : "{name} causou um erro.", 188 "services.login": "Please login to use Ferdi.",
189 "service.disabledHandler.action" : "Ativar {name}", 189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "service.disabledHandler.headline" : "{name} está desativado", 190 "services.serverless": "Use Ferdi without an Account",
191 "service.errorHandler.action" : "Recarregar {name}", 191 "services.welcome": "Bem-vindo ao Ferdi",
192 "service.errorHandler.editAction" : "Editar {name}", 192 "settings.account.account.editButton": "Editar conta",
193 "service.errorHandler.headline" : "Oh não!", 193 "settings.account.accountType.basic": "Conta Básica",
194 "service.errorHandler.message" : "Erro", 194 "settings.account.accountType.premium": "Conta Premium",
195 "service.errorHandler.text" : "{name} falhou o carregamento", 195 "settings.account.buttonSave": "Atualizar o perfil",
196 "service.restrictedHandler.action" : "Melhorar a conta", 196 "settings.account.deleteAccount": "Apagar conta",
197 "service.restrictedHandler.customUrl.headline" : "Franz Professional Plan required", 197 "settings.account.deleteEmailSent": "Recebeu um email com um endereço para confirmar a remoção da sua conta. A sua conta e dados não poderão ser restaurados!",
198 "service.restrictedHandler.customUrl.text" : "Please upgrade to the Franz Professional plan to use custom urls & self hosted services.", 198 "settings.account.deleteInfo": "Se já não necessita da sua conta Ferdi, pode apagar a sua conta e todos os dados aqui.",
199 "service.restrictedHandler.serviceLimit.headline" : "You have reached your service limit.", 199 "settings.account.headline": "Conta",
200 "service.restrictedHandler.serviceLimit.text" : "Please upgrade your account to use more than {count} services.", 200 "settings.account.headlineAccount": "Informação da conta",
201 "service.webviewLoader.loading" : "A ler", 201 "settings.account.headlineDangerZone": "Zona de perigo",
202 "services.getStarted" : "Vamos começar", 202 "settings.account.headlineInvoices": "Faturas",
203 "services.welcome" : "Bem-vindo ao Franz", 203 "settings.account.headlinePassword": "Alterar palavra-passe",
204 "settings.account.account.editButton" : "Editar conta", 204 "settings.account.headlineProfile": "Atualizar o perfil",
205 "settings.account.accountType.basic" : "Conta Básica", 205 "settings.account.headlineSubscription": "A sua subscrição",
206 "settings.account.accountType.premium" : "Conta Premium", 206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.buttonSave" : "Atualizar o perfil", 207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.deleteAccount" : "Apagar conta", 208 "settings.account.invoiceDownload": "Transferir",
209 "settings.account.deleteEmailSent" : "Recebeu um email com um endereço para confirmar a remoção da sua conta. A sua conta e dados não poderão ser restaurados!", 209 "settings.account.manageSubscription.label": "Gerir as minhas subscrições",
210 "settings.account.deleteInfo" : "Se já não necessita da sua conta Franz, pode apagar a sua conta e todos os dados aqui.", 210 "settings.account.successInfo": "As suas alterações foram efetuadas com sucesso",
211 "settings.account.headline" : "Conta", 211 "settings.account.trial": "Free Trial",
212 "settings.account.headlineAccount" : "Informação da conta", 212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.headlineDangerZone" : "Zona de perigo", 213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.headlineInvoices" : "Faturas", 214 "settings.account.tryReloadServices": "Tentar novamente",
215 "settings.account.headlinePassword" : "Alterar palavra-passe", 215 "settings.account.tryReloadUserInfoRequest": "Tentar novamente",
216 "settings.account.headlineProfile" : "Atualizar perfil", 216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.headlineSubscription" : "A sua subscrição", 217 "settings.account.userInfoRequestFailed": "Não é possível carregar a informação do utilizador",
218 "settings.account.headlineTrialUpgrade" : "Get the free 14 day Franz Professional Trial", 218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.account.headlineUpgradeAccount" : "Upgrade your account & get the full Franz experience", 219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.account.invoiceDownload" : "Transferir", 220 "settings.app.buttonClearAllCache": "Limpar cache",
221 "settings.account.manageSubscription.label" : "Gerir as minhas subscrições", 221 "settings.app.buttonInstallUpdate": "Reiniciar e instalar atualizações",
222 "settings.account.successInfo" : "As suas alterações foram efetuadas com sucesso", 222 "settings.app.buttonSearchForUpdate": "Procurar atualizações",
223 "settings.account.trial" : "Free Trial", 223 "settings.app.cacheInfo": "A cache do Ferdi está a usar {size} de espaço em disco.",
224 "settings.account.trialEndsIn" : "Your free trial ends in {duration}.", 224 "settings.app.currentVersion": "Versão atual",
225 "settings.account.trialUpdateBillingInfo" : "Please update your billing info to continue using {license} after your trial period.", 225 "settings.app.form.accentColor": "Accent color",
226 "settings.account.tryReloadServices" : "Tentar novamente", 226 "settings.app.form.autoLaunchInBackground": "Abrir em segundo plano",
227 "settings.account.tryReloadUserInfoRequest" : "Tentar novamente", 227 "settings.app.form.autoLaunchOnStart": "Iniciar o Ferdi após iniciar o computador",
228 "settings.account.upgradeToPro.label" : "Actualiza para o Franz Profissional", 228 "settings.app.form.beta": "Incluir versões instáveis (beta)",
229 "settings.account.userInfoRequestFailed" : "Não é possível carregar a informação do utilizador", 229 "settings.app.form.darkMode": "Junta-te ao Lado Negro",
230 "settings.account.yourLicense" : "Your Franz License", 230 "settings.app.form.enableGPUAcceleration": "Activar Aceleração de GPU",
231 "settings.app.buttonClearAllCache" : "Limpar cache", 231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.buttonInstallUpdate" : "Reiniciar & instalar atualização", 232 "settings.app.form.enableSpellchecking": "Ativar verificação ortográfica",
233 "settings.app.buttonSearchForUpdate" : "Procurar atualizações", 233 "settings.app.form.enableSystemTray": "Mostrar o Ferdi na barra do sistema",
234 "settings.app.cacheInfo" : "A cache do Franz está a usar {size} de espaço em disco.", 234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.currentVersion" : "Versão atual", 235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.autoLaunchInBackground" : "Abrir em segundo plano", 236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.autoLaunchOnStart" : "Iniciar o Franz após iniciar o computador", 237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.beta" : "Incluir versões instáveis (beta)", 238 "settings.app.form.language": "Idioma",
239 "settings.app.form.darkMode" : "Junta-te ao Lado Negro", 239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.enableGPUAcceleration" : "Activar Aceleração de GPU", 240 "settings.app.form.minimizeToSystemTray": "Minimizar o Ferdi para a barra do sistema",
241 "settings.app.form.enableSpellchecking" : "Ativar verificação ortográfica", 241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.enableSystemTray" : "Mostrar o Franz na barra do sistema", 242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.enableTodos" : "Enable Franz Todos", 243 "settings.app.form.runInBackground": "Manter o Ferdi em segundo plano ao fechar a janela",
244 "settings.app.form.keepAllWorkspacesLoaded" : "Keep all workspaces loaded", 244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.language" : "Idioma", 245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.minimizeToSystemTray" : "Minimizar o Franz para a barra do sistema", 246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.runInBackground" : "Manter o Franz em segundo plano ao fechar a janela", 247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices" : "Apresentar separadores de serviços desativados", 248 "settings.app.form.showDisabledServices": "Apresentar separadores de serviços desativados",
249 "settings.app.form.showMessagesBadgesWhenMuted" : "Apresentar emblema com o número de mensagens não lidas quando as notificações estão desativadas", 249 "settings.app.form.showMessagesBadgesWhenMuted": "Apresentar emblema com o número de mensagens não lidas quando as notificações estão desativadas",
250 "settings.app.headline" : "Definições", 250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.headlineAdvanced" : "Avançado", 251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.headlineAppearance" : "Aparência", 252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headlineGeneral" : "Geral", 253 "settings.app.headline": "Definições",
254 "settings.app.headlineLanguage" : "Idioma", 254 "settings.app.headlineAdvanced": "Avançado",
255 "settings.app.headlineUpdates" : "Atualizações", 255 "settings.app.headlineAppearance": "Aparência",
256 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.", 256 "settings.app.headlineGeneral": "Geral",
257 "settings.app.restartRequired" : "Alterações requerem reinício", 257 "settings.app.headlineLanguage": "Idioma",
258 "settings.app.subheadlineCache" : "Cache", 258 "settings.app.headlineUpdates": "Atualizações",
259 "settings.app.translationHelp" : "Ajude-nos a traduzir a Franz para a sua língua.", 259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.updateStatusAvailable" : "Atualização disponivel, a transferir...", 260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.updateStatusSearching" : "A procurar atualizações", 261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.updateStatusUpToDate" : "Está a usar a versão mais recente do Franz", 262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.invite.headline" : "Convide Amigos", 263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.navigation.account" : "Conta", 264 "settings.app.restartRequired": "Alterações requerem reinício",
265 "settings.navigation.availableServices" : "Serviços disponíveis", 265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.navigation.inviteFriends" : "Convide Amigos", 266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.navigation.logout" : "Terminar sessão", 267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.navigation.settings" : "Definições", 268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.navigation.team" : "Gerir a equipa", 269 "settings.app.subheadlineCache": "Cache",
270 "settings.navigation.yourServices" : "Os seus serviços", 270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.navigation.yourWorkspaces" : "Os teus Espaços de trabalho", 271 "settings.app.translationHelp": "Ajude-nos a traduzir a Ferdi para a sua língua.",
272 "settings.recipes.all" : "Todos os serviços", 272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.recipes.custom" : "Custom Services", 273 "settings.app.updateStatusAvailable": "Atualização disponivel, a transferir...",
274 "settings.recipes.customService.headline.communityRecipes" : "Community 3rd Party Recipes", 274 "settings.app.updateStatusSearching": "A procurar atualizações",
275 "settings.recipes.customService.headline.customRecipes" : "Custom 3rd Party Recipes", 275 "settings.app.updateStatusUpToDate": "Está a usar a versão mais recente do Ferdi",
276 "settings.recipes.customService.headline.devRecipes" : "Your Development Service Recipes", 276 "settings.invite.headline": "Convide Amigos",
277 "settings.recipes.customService.intro" : "To add a custom service, copy the service recipe to:", 277 "settings.navigation.account": "Conta",
278 "settings.recipes.customService.openDevDocs" : "Developer Documentation", 278 "settings.navigation.availableServices": "Serviços disponíveis",
279 "settings.recipes.customService.openFolder" : "Open folder", 279 "settings.navigation.logout": "Terminar sessão",
280 "settings.recipes.headline" : "Serviços disponíveis", 280 "settings.navigation.settings": "Definições",
281 "settings.recipes.missingService" : "Falta um serviço?", 281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.recipes.mostPopular" : "Os mais populares", 282 "settings.navigation.team": "Gerir a equipa",
283 "settings.recipes.nothingFound" : "Lamentamos, nenhum serviço corresponde ao termo pesquisado.", 283 "settings.navigation.yourServices": "Os seus serviços",
284 "settings.recipes.servicesSuccessfulAddedInfo" : "Serviço adicionado com sucesso", 284 "settings.navigation.yourWorkspaces": "Os teus Espaços de trabalho",
285 "settings.searchService" : "Pesquisar erviço", 285 "settings.recipes.all": "Todos os serviços",
286 "settings.service.error.goBack" : "Voltar aos serviços", 286 "settings.recipes.custom": "Custom Services",
287 "settings.service.error.headline" : "Erro", 287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.service.error.message" : "Não foi possível carregar a receita do serviço.", 288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.service.form.addServiceHeadline" : "Adicionar {name}", 289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.service.form.availableServices" : "Serviços disponíveis", 290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.service.form.customUrl" : "Servidor personalizado", 291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.service.form.customUrlPremiumInfo" : "Para adicionar serviços com domínio próprio, é necessário uma Conta Premium no Franz.", 292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.service.form.customUrlUpgradeAccount" : "Atualizar a conta", 293 "settings.recipes.headline": "Serviços disponíveis",
294 "settings.service.form.customUrlValidationError" : "Não foi possível validar o servidor {nome}.", 294 "settings.recipes.missingService": "Falta um serviço?",
295 "settings.service.form.deleteButton" : "Apagar serviço", 295 "settings.recipes.mostPopular": "Os mais populares",
296 "settings.service.form.editServiceHeadline" : "Editar {name}", 296 "settings.recipes.nothingFound": "Lamentamos, nenhum serviço corresponde ao termo pesquisado.",
297 "settings.service.form.enableAudio" : "Ativar áudio", 297 "settings.recipes.servicesSuccessfulAddedInfo": "Serviço adicionado com sucesso",
298 "settings.service.form.enableBadge" : "Mostrar emblemas de mensagens não lidas", 298 "settings.searchService": "Pesquisar erviço",
299 "settings.service.form.enableDarkMode" : "Ativar o Tema Escuro", 299 "settings.service.error.goBack": "Voltar aos serviços",
300 "settings.service.form.enableNotification" : "Ativar notificações", 300 "settings.service.error.headline": "Erro",
301 "settings.service.form.enableService" : "Ativar serviço", 301 "settings.service.error.message": "Não foi possível carregar a receita do serviço.",
302 "settings.service.form.headlineBadges" : "Emblema de mensagem não lida", 302 "settings.service.form.addServiceHeadline": "Adicionar {name}",
303 "settings.service.form.headlineGeneral" : "Geral", 303 "settings.service.form.availableServices": "Serviços disponíveis",
304 "settings.service.form.headlineNotifications" : "Notificações", 304 "settings.service.form.customUrl": "Servidor personalizado",
305 "settings.service.form.icon" : "Ícone personalizado", 305 "settings.service.form.customUrlPremiumInfo": "Para adicionar serviços com domínio próprio, é necessário uma Conta Premium no Ferdi.",
306 "settings.service.form.iconDelete" : "Apagar", 306 "settings.service.form.customUrlUpgradeAccount": "Atualizar a conta",
307 "settings.service.form.iconUpload" : "Arraste a sua imagem, ou clique aqui", 307 "settings.service.form.customUrlValidationError": "Não foi possível validar o servidor {nome}.",
308 "settings.service.form.indirectMessageInfo" : "Será notificado sobre todas as novas mensagens num canal, não apenas @username, @channel, @here, ...", 308 "settings.service.form.deleteButton": "Apagar serviço",
309 "settings.service.form.indirectMessages" : "Mostrar o emblema da mensagem para todas as novas mensagens", 309 "settings.service.form.editServiceHeadline": "Editar {name}",
310 "settings.service.form.isMutedInfo" : "Quando desativado, todos sons e reproduções de áudio serão silenciados", 310 "settings.service.form.enableAudio": "Ativar áudio",
311 "settings.service.form.name" : "Nome", 311 "settings.service.form.enableBadge": "Mostrar emblemas de mensagens não lidas",
312 "settings.service.form.proxy.headline" : "Definições HTTP\/HTTPS Proxy", 312 "settings.service.form.enableDarkMode": "Ativar o Tema Escuro",
313 "settings.service.form.proxy.host" : "Host\/IP proxy", 313 "settings.service.form.enableNotification": "Ativar notificações",
314 "settings.service.form.proxy.info" : "As definições do proxy não serão guardadas nos servidores do Franz.", 314 "settings.service.form.enableService": "Ativar serviço",
315 "settings.service.form.proxy.isEnabled" : "Usar Proxy", 315 "settings.service.form.headlineBadges": "Emblema de mensagem não lida",
316 "settings.service.form.proxy.password" : "Palavra-chave (opcional)", 316 "settings.service.form.headlineGeneral": "Geral",
317 "settings.service.form.proxy.port" : "Porta", 317 "settings.service.form.headlineNotifications": "Notificações",
318 "settings.service.form.proxy.restartInfo" : "Reinicie, por favor, após atualizar as definições do Franz", 318 "settings.service.form.icon": "Ícone personalizado",
319 "settings.service.form.proxy.user" : "Utilizador (opcional)", 319 "settings.service.form.iconDelete": "Apagar",
320 "settings.service.form.saveButton" : "Guardar serviço", 320 "settings.service.form.iconUpload": "Arraste a sua imagem, ou clique aqui",
321 "settings.service.form.tabHosted" : "Com domínio", 321 "settings.service.form.indirectMessageInfo": "Será notificado sobre todas as novas mensagens num canal, não apenas @username, @channel, @here, ...",
322 "settings.service.form.tabOnPremise" : "Com domínio próprio ⭐️", 322 "settings.service.form.indirectMessages": "Mostrar o emblema da mensagem para todas as novas mensagens",
323 "settings.service.form.team" : "Equipa", 323 "settings.service.form.isMutedInfo": "Quando desativado, todos sons e reproduções de áudio serão silenciados",
324 "settings.service.form.useHostedService" : "Utilize o serviço oferecido por {name}.", 324 "settings.service.form.name": "Nome",
325 "settings.service.form.yourServices" : "Os seus serviços", 325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.services.deletedInfo" : "O serviço foi apagado", 326 "settings.service.form.proxy.headline": "Definições HTTP/HTTPS Proxy",
327 "settings.services.discoverServices" : "Descobrir serviços", 327 "settings.service.form.proxy.host": "Host/IP proxy",
328 "settings.services.headline" : "Os seus serviços", 328 "settings.service.form.proxy.info": "As definições do proxy não serão guardadas nos servidores do Ferdi.",
329 "settings.services.noServicesAdded" : "Ainda não adicionou nenhum serviço.", 329 "settings.service.form.proxy.isEnabled": "Usar Proxy",
330 "settings.services.servicesRequestFailed" : "Não foi possível ler os teus serviços", 330 "settings.service.form.proxy.password": "Palavra-chave (opcional)",
331 "settings.services.tooltip.isDisabled" : "O serviço está desativado", 331 "settings.service.form.proxy.port": "Porta",
332 "settings.services.tooltip.isMuted" : "Todos os sons estão silenciados", 332 "settings.service.form.proxy.restartInfo": "Reinicie, por favor, após atualizar as definições do Ferdi",
333 "settings.services.tooltip.notificationsDisabled" : "As notificações estão desativadas", 333 "settings.service.form.proxy.user": "Utilizador (opcional)",
334 "settings.services.updatedInfo" : "As alterações foram guardadas", 334 "settings.service.form.saveButton": "Guardar serviço",
335 "settings.team.contentHeadline" : "Franz para equipas", 335 "settings.service.form.tabHosted": "Com domínio",
336 "settings.team.copy" : "Franz for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!", 336 "settings.service.form.tabOnPremise": "Com domínio próprio ⭐️",
337 "settings.team.headline" : "Equipa", 337 "settings.service.form.team": "Equipa",
338 "settings.team.intro" : "You and your team use Franz? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.", 338 "settings.service.form.useHostedService": "Utilize o serviço oferecido por {name}.",
339 "settings.team.manageAction" : "Gerir a tua Equipa em meetfranz.com", 339 "settings.service.form.yourServices": "Os seus serviços",
340 "settings.team.upgradeAction" : "Actualiza a tua conta", 340 "settings.services.deletedInfo": "O serviço foi apagado",
341 "settings.user.form.accountType.company" : "Empresa", 341 "settings.services.discoverServices": "Descobrir serviços",
342 "settings.user.form.accountType.individual" : "Indivíduo", 342 "settings.services.headline": "Os seus serviços",
343 "settings.user.form.accountType.label" : "Tipo de conta", 343 "settings.services.noServicesAdded": "Ainda não adicionou nenhum serviço.",
344 "settings.user.form.accountType.non-profit" : "Sem fins lucrativos", 344 "settings.services.servicesRequestFailed": "Não foi possível ler os teus serviços",
345 "settings.user.form.currentPassword" : "Palavra-passe atual", 345 "settings.services.tooltip.isDisabled": "O serviço está desativado",
346 "settings.user.form.email" : "Email", 346 "settings.services.tooltip.isMuted": "Todos os sons estão silenciados",
347 "settings.user.form.firstname" : "Primeiro Nome", 347 "settings.services.tooltip.notificationsDisabled": "As notificações estão desativadas",
348 "settings.user.form.lastname" : "Último Nome", 348 "settings.services.updatedInfo": "As suas alterações foram efetuadas com sucesso",
349 "settings.user.form.newPassword" : "Nova palavra-passe", 349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.workspace.add.form.name" : "Nome", 350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.workspace.add.form.submitButton" : "Criar um Espaço de trabalho", 351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.workspace.form.buttonDelete" : "Apagar um Espaço de trabalho", 352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.workspace.form.buttonSave" : "Gravar um Espaço de trabalho", 353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.workspace.form.name" : "Nome", 354 "settings.team.contentHeadline": "Ferdi para equipas",
355 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace", 355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.workspace.form.yourWorkspaces" : "Os teus Espaços de trabalho", 356 "settings.team.headline": "Equipa",
357 "settings.workspaces.deletedInfo" : "O Espaço de trabalho foi apagado", 357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.workspaces.headline" : "Os teus Espaços de trabalho", 358 "settings.team.manageAction": "Gerir a tua Equipa em getferdi.com",
359 "settings.workspaces.noWorkspacesAdded" : "Ainda não adicionou nenhum Espaço de trabalho", 359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.workspaces.tryReloadWorkspaces" : "Tentar novamente", 360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.workspaces.updatedInfo" : "As suas alterações foram gravadas", 361 "settings.team.upgradeAction": "Actualiza a tua conta",
362 "settings.workspaces.workspaceFeatureHeadline" : "Menos é Mais: Introduzindo os Espaço de trabalho Franz", 362 "settings.user.form.accountType.company": "Empresa",
363 "settings.workspaces.workspaceFeatureInfo" : "Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.", 363 "settings.user.form.accountType.individual": "Indivíduo",
364 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces", 364 "settings.user.form.accountType.label": "Tipo de conta",
365 "sidebar.addNewService" : "Adicionar um novo serviço", 365 "settings.user.form.accountType.non-profit": "Sem fins lucrativos",
366 "sidebar.closeTodosDrawer" : "Close Franz Todos", 366 "settings.user.form.currentPassword": "Palavra-passe atual",
367 "sidebar.closeWorkspaceDrawer" : "Fechar a janela do Espaço de trabalho", 367 "settings.user.form.email": "Email",
368 "sidebar.muteApp" : "Desativar notificações e áudio", 368 "settings.user.form.firstname": "Primeiro Nome",
369 "sidebar.openTodosDrawer" : "Open Franz Todos", 369 "settings.user.form.lastname": "Último Nome",
370 "sidebar.openWorkspaceDrawer" : "Abrir a janela do Espaço de trabalho", 370 "settings.user.form.newPassword": "Nova palavra-passe",
371 "sidebar.settings" : "Definições", 371 "settings.workspace.add.form.name": "Nome",
372 "sidebar.unmuteApp" : "Ativar notificações e áudio", 372 "settings.workspace.add.form.submitButton": "Criar um Espaço de trabalho",
373 "signup.email.label" : "Endereço de email", 373 "settings.workspace.form.buttonDelete": "Apagar um Espaço de trabalho",
374 "signup.emailDuplicate" : "Já existe uma conta associada a este endereço de email", 374 "settings.workspace.form.buttonSave": "Gravar um Espaço de trabalho",
375 "signup.firstname.label" : "Primeiro Nome", 375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "signup.headline" : "Criar conta", 376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "signup.lastname.label" : "Último Nome", 377 "settings.workspace.form.name": "Nome",
378 "signup.legal.info" : "Ao criar uma conta Franz, aceita", 378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "signup.legal.privacy" : "Declaração de Privacidade", 379 "settings.workspace.form.yourWorkspaces": "Os teus Espaços de trabalho",
380 "signup.legal.terms" : "Termos do Serviço", 380 "settings.workspaces.deletedInfo": "O Espaço de trabalho foi apagado",
381 "signup.link.login" : "Já tem uma conta, iniciar sessão?", 381 "settings.workspaces.headline": "Os teus Espaços de trabalho",
382 "signup.password.label" : "Palavra-passe", 382 "settings.workspaces.noWorkspacesAdded": "Ainda não adicionou nenhum Espaço de trabalho",
383 "signup.submit.label" : "Criar uma conta", 383 "settings.workspaces.tryReloadWorkspaces": "Tentar novamente",
384 "subscription.bestValue" : "Best value", 384 "settings.workspaces.updatedInfo": "As suas alterações foram efetuadas com sucesso",
385 "subscription.cta.activateTrial" : "Yes, start the free Franz Professional trial", 385 "settings.workspaces.workspaceFeatureHeadline": "Menos é Mais: Introduzindo os Espaço de trabalho Ferdi",
386 "subscription.cta.allOptions" : "See all options", 386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "subscription.cta.choosePlan" : "Choose your plan", 387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "subscription.includedProFeatures" : "The Franz Professional Plan includes:", 388 "sidebar.addNewService": "Adicionar um novo serviço",
389 "subscription.interval.per" : "per {interval}", 389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "subscription.interval.perMonth" : "per month", 390 "sidebar.closeWorkspaceDrawer": "Fechar a janela do Espaço de trabalho",
391 "subscription.interval.perMonthPerUser" : "per month & user", 391 "sidebar.lockFerdi": "Lock Ferdi",
392 "subscription.planItem.upgradeAccount" : "Melhorar a conta", 392 "sidebar.muteApp": "Desativar notificações e áudio",
393 "subscription.teaser.includedFeatures" : "Paid Franz Plans include:", 393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "subscription.teaser.intro" : "Franz 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!", 394 "sidebar.openWorkspaceDrawer": "Abrir a janela do Espaço de trabalho",
395 "subscriptionPopup.buttonCancel" : "Cancelar", 395 "sidebar.settings": "Definições",
396 "subscriptionPopup.buttonDone" : "Concluído", 396 "sidebar.unmuteApp": "Ativar notificações e áudio",
397 "tabs.item.deleteService" : "Apagar serviço", 397 "signup.email.label": "Endereço de e-mail",
398 "tabs.item.disableAudio" : "Desativar áudio", 398 "signup.emailDuplicate": "Já existe uma conta associada a este endereço de email",
399 "tabs.item.disableNotifications" : "Desativar notificações", 399 "signup.firstname.label": "Primeiro Nome",
400 "tabs.item.disableService" : "Desativar serviço", 400 "signup.headline": "Criar conta",
401 "tabs.item.edit" : "Editar", 401 "signup.lastname.label": "Último Nome",
402 "tabs.item.enableAudio" : "Ativar áudio", 402 "signup.legal.info": "Ao criar uma conta Ferdi, aceita",
403 "tabs.item.enableNotification" : "Ativar notificações", 403 "signup.legal.privacy": "Declaração de privacidade",
404 "tabs.item.enableService" : "Ativar serviço", 404 "signup.legal.terms": "Termos do Serviço",
405 "tabs.item.reload" : "Recarregar", 405 "signup.link.login": "Já tem uma conta, iniciar sessão?",
406 "validation.email" : "{field} não é válido", 406 "signup.password.label": "Password",
407 "validation.minLength" : "{field} deveria ter pelo menos {length} caracteres", 407 "signup.submit.label": "Criar uma conta",
408 "validation.oneRequired" : "At least one is required", 408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "validation.required" : "{field} é obrigatório", 409 "subscription.cta.allOptions": "See all options",
410 "validation.url" : "{field} não é uma hiperligação válida", 410 "subscription.cta.choosePlan": "Choose your plan",
411 "webControls.back" : "Back", 411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "webControls.forward" : "Forward", 412 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:",
413 "webControls.goHome" : "Home", 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!",
414 "webControls.openInBrowser" : "Open in Browser", 414 "subscriptionPopup.buttonCancel": "Cancelar",
415 "webControls.reload" : "Recarregar", 415 "subscriptionPopup.buttonDone": "Concluído",
416 "welcome.loginButton" : "Iniciar sessão", 416 "tabs.item.deleteService": "Apagar serviço",
417 "welcome.signupButton" : "Criar uma conta gratuita", 417 "tabs.item.disableAudio": "Desativar áudio",
418 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace", 418 "tabs.item.disableNotifications": "Desativar notificações",
419 "workspaceDrawer.allServices" : "Todos os serviços", 419 "tabs.item.disableService": "Desativar serviço",
420 "workspaceDrawer.headline" : "Espaços de trabalho", 420 "tabs.item.edit": "Editar",
421 "workspaceDrawer.item.contextMenuEdit" : "edit", 421 "tabs.item.enableAudio": "Ativar áudio",
422 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet", 422 "tabs.item.enableNotification": "Ativar notificações",
423 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace", 423 "tabs.item.enableService": "Ativar serviço",
424 "workspaceDrawer.proFeatureBadge" : "Premium feature", 424 "tabs.item.reload": "Recarregar",
425 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account", 425 "validation.email": "{field} não é válido",
426 "workspaceDrawer.workspaceFeatureInfo" : "<p>Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.<\/p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.<\/p>", 426 "validation.minLength": "{field} deveria ter pelo menos {length} caracteres",
427 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings", 427 "validation.oneRequired": "At least one is required",
428 "workspaces.switchingIndicator.switchingTo" : "Switching to" 428 "validation.required": "{field} é obrigatório",
429 "validation.url": "{field} não é uma hiperligação válida",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Recarregar",
435 "welcome.loginButton": "Iniciar sessão",
436 "welcome.signupButton": "Criar uma conta gratuita",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "Todos os serviços",
439 "workspaceDrawer.headline": "Espaços de trabalho",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
429} 448}
diff --git a/src/i18n/locales/ro.json b/src/i18n/locales/ro.json
new file mode 100644
index 000000000..628880d9f
--- /dev/null
+++ b/src/i18n/locales/ro.json
@@ -0,0 +1,448 @@
1{
2 "app.errorHandler.action": "Reload",
3 "app.errorHandler.headline": "Something went wrong",
4 "feature.announcements.changelog.headline": "Changes in Ferdi {version}",
5 "feature.delayApp.headline": "Please purchase a Ferdi Supporter License to skip waiting",
6 "feature.delayApp.text": "Ferdi will continue in {seconds} seconds.",
7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
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",
11 "feature.delayApp.upgrade.actionShort": "Upgrade account",
12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.quickSwitch.search": "Search...",
14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.shareFranz.action.email": "Send as email",
17 "feature.shareFranz.action.facebook": "Share on Facebook",
18 "feature.shareFranz.action.twitter": "Share on Twitter",
19 "feature.shareFranz.headline": "Ferdi is better together!",
20 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
23 "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.",
25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "global.api.unhealthy": "Can't connect to Ferdi online services",
27 "global.franzProRequired": "Ferdi Professional Required",
28 "global.notConnectedToTheInternet": "You are not connected to the internet.",
29 "global.spellchecker.useDefault": "Use System Default ({default})",
30 "global.spellchecking.autodetect": "Detect language automatically",
31 "global.spellchecking.autodetect.short": "Automatic",
32 "global.spellchecking.language": "Spell checking language",
33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "import.headline": "Import your Ferdi 4 services",
35 "import.notSupportedHeadline": "Services not yet supported in Ferdi 5",
36 "import.skip.label": "I want to add services manually",
37 "import.submit.label": "Import services",
38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "infobar.buttonChangelog": "What is new?",
40 "infobar.buttonInstallUpdate": "Restart & install update",
41 "infobar.buttonReloadServices": "Reload services",
42 "infobar.requiredRequestsFailed": "Could not load services and user information",
43 "infobar.servicesUpdated": "Your services have been updated.",
44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "infobar.updateAvailable": "A new update for Ferdi is available.",
46 "invite.email.label": "Email address",
47 "invite.headline.friends": "Invite 3 of your friends or colleagues",
48 "invite.name.label": "Name",
49 "invite.skip.label": "I want to do this later",
50 "invite.submit.label": "Send invites",
51 "invite.successInfo": "Invitations sent successfully",
52 "locked.headline": "Locked",
53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "locked.invalidCredentials": "Password invalid",
55 "locked.password.label": "Password",
56 "locked.submit.label": "Unlock",
57 "login.changeServer": "Change server",
58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "login.customServerSuggestion": "Try importing your Franz account",
60 "login.email.label": "Email address",
61 "login.headline": "Sign in",
62 "login.invalidCredentials": "Email or password not valid",
63 "login.link.password": "Reset password",
64 "login.link.signup": "Create a free account",
65 "login.password.label": "Password",
66 "login.serverLogout": "Your session expired, please login again.",
67 "login.submit.label": "Sign in",
68 "login.tokenExpired": "Your session expired, please login again.",
69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "menu.app.about": "About Ferdi",
72 "menu.app.announcement": "What's new?",
73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "menu.app.checkForUpdates": "Check for updates",
75 "menu.app.hide": "Hide",
76 "menu.app.hideOthers": "Hide Others",
77 "menu.app.quit": "Quit",
78 "menu.app.settings": "Settings",
79 "menu.app.unhide": "Unhide",
80 "menu.edit": "Edit",
81 "menu.edit.copy": "Copy",
82 "menu.edit.cut": "Cut",
83 "menu.edit.delete": "Delete",
84 "menu.edit.emojiSymbols": "Emoji & Symbols",
85 "menu.edit.paste": "Paste",
86 "menu.edit.pasteAndMatchStyle": "Paste And Match Style",
87 "menu.edit.redo": "Redo",
88 "menu.edit.selectAll": "Select All",
89 "menu.edit.speech": "Speech",
90 "menu.edit.startDictation": "Start Dictation",
91 "menu.edit.startSpeaking": "Start Speaking",
92 "menu.edit.stopSpeaking": "Stop Speaking",
93 "menu.edit.undo": "Undo",
94 "menu.file": "File",
95 "menu.help": "Help",
96 "menu.help.changelog": "Changelog",
97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.help.learnMore": "Learn More",
101 "menu.help.privacy": "Privacy Statement",
102 "menu.help.support": "Support",
103 "menu.help.tos": "Terms of Service",
104 "menu.services": "Services",
105 "menu.services.activatePreviousService": "Activate previous service",
106 "menu.services.addNewService": "Add New Service...",
107 "menu.services.goHome": "Home",
108 "menu.services.setNextServiceActive": "Activate next service",
109 "menu.todos": "Todos",
110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.view": "View",
112 "menu.view.back": "Back",
113 "menu.view.enterFullScreen": "Enter Full Screen",
114 "menu.view.exitFullScreen": "Exit Full Screen",
115 "menu.view.forward": "Forward",
116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.view.reloadFranz": "Reload Ferdi",
119 "menu.view.reloadService": "Reload Service",
120 "menu.view.resetZoom": "Actual Size",
121 "menu.view.toggleDevTools": "Toggle Developer Tools",
122 "menu.view.toggleFullScreen": "Toggle Full Screen",
123 "menu.view.toggleServiceDevTools": "Toggle Service Developer Tools",
124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.zoomIn": "Zoom In",
126 "menu.view.zoomOut": "Zoom Out",
127 "menu.window": "Window",
128 "menu.window.close": "Close",
129 "menu.window.minimize": "Minimize",
130 "menu.workspaces": "Workspaces",
131 "menu.workspaces.addNewWorkspace": "Add New Workspace...",
132 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
133 "menu.workspaces.defaultWorkspace": "All services",
134 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
135 "password.email.label": "Email address",
136 "password.headline": "Reset password",
137 "password.link.login": "Sign in to your account",
138 "password.link.signup": "Create a free account",
139 "password.noUser": "No user with that email address was found",
140 "password.submit.label": "Submit",
141 "password.successInfo": "Please check your email",
142 "premiumFeature.button.upgradeAccount": "Upgrade account",
143 "pricing.features.adFree": "Forever ad-free",
144 "pricing.features.appDelays": "No Waiting Screens",
145 "pricing.features.customWebsites": "Add Custom Websites",
146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "pricing.features.serviceProxies": "Service Proxies",
148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.workspaces": "Workspaces",
153 "pricing.plan.free": "Ferdi Free",
154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "service.crashHandler.action": "Reload {name}",
171 "service.crashHandler.autoReload": "Trying to automatically restore {name} in {seconds} seconds",
172 "service.crashHandler.headline": "Oh no!",
173 "service.crashHandler.text": "{name} has caused an error.",
174 "service.disabledHandler.action": "Enable {name}",
175 "service.disabledHandler.headline": "{name} is disabled",
176 "service.errorHandler.action": "Reload {name}",
177 "service.errorHandler.editAction": "Edit {name}",
178 "service.errorHandler.headline": "Oh no!",
179 "service.errorHandler.message": "Error",
180 "service.errorHandler.text": "{name} has failed to load.",
181 "service.restrictedHandler.action": "Upgrade Account",
182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.webviewLoader.loading": "Loading",
187 "services.getStarted": "Get started",
188 "services.login": "Please login to use Ferdi.",
189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "services.serverless": "Use Ferdi without an Account",
191 "services.welcome": "Welcome to Ferdi",
192 "settings.account.account.editButton": "Edit account",
193 "settings.account.accountType.basic": "Basic Account",
194 "settings.account.accountType.premium": "Premium Supporter Account",
195 "settings.account.buttonSave": "Update profile",
196 "settings.account.deleteAccount": "Delete account",
197 "settings.account.deleteEmailSent": "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!",
198 "settings.account.deleteInfo": "If you don't need your Ferdi account any longer, you can delete your account and all related data here.",
199 "settings.account.headline": "Account",
200 "settings.account.headlineAccount": "Account information",
201 "settings.account.headlineDangerZone": "Danger Zone",
202 "settings.account.headlineInvoices": "Invoices",
203 "settings.account.headlinePassword": "Change password",
204 "settings.account.headlineProfile": "Update profile",
205 "settings.account.headlineSubscription": "Your subscription",
206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.invoiceDownload": "Download",
209 "settings.account.manageSubscription.label": "Manage your subscription",
210 "settings.account.successInfo": "Your changes have been saved",
211 "settings.account.trial": "Free Trial",
212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.tryReloadServices": "Try again",
215 "settings.account.tryReloadUserInfoRequest": "Try again",
216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.userInfoRequestFailed": "Could not load user information",
218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.app.buttonClearAllCache": "Clear cache",
221 "settings.app.buttonInstallUpdate": "Restart & install update",
222 "settings.app.buttonSearchForUpdate": "Check for updates",
223 "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.",
224 "settings.app.currentVersion": "Current version:",
225 "settings.app.form.accentColor": "Accent color",
226 "settings.app.form.autoLaunchInBackground": "Open in background",
227 "settings.app.form.autoLaunchOnStart": "Launch Ferdi on start",
228 "settings.app.form.beta": "Include beta versions",
229 "settings.app.form.darkMode": "Join the Dark Side",
230 "settings.app.form.enableGPUAcceleration": "Enable GPU Acceleration",
231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.form.enableSpellchecking": "Enable spell checking",
233 "settings.app.form.enableSystemTray": "Show Ferdi in system tray",
234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.language": "Language",
239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.minimizeToSystemTray": "Minimize Ferdi to system tray",
241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.runInBackground": "Keep Ferdi in background when closing the window",
244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices": "Display disabled services tabs",
249 "settings.app.form.showMessagesBadgesWhenMuted": "Show unread message badge when notifications are disabled",
250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headline": "Settings",
254 "settings.app.headlineAdvanced": "Advanced",
255 "settings.app.headlineAppearance": "Appearance",
256 "settings.app.headlineGeneral": "General",
257 "settings.app.headlineLanguage": "Language",
258 "settings.app.headlineUpdates": "Updates",
259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.app.restartRequired": "Changes require restart",
265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.app.subheadlineCache": "Cache",
270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.app.translationHelp": "Help us to translate Ferdi into your language.",
272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.app.updateStatusAvailable": "Update available, downloading...",
274 "settings.app.updateStatusSearching": "Is searching for update",
275 "settings.app.updateStatusUpToDate": "You are using the latest version of Ferdi",
276 "settings.invite.headline": "Invite Friends",
277 "settings.navigation.account": "Account",
278 "settings.navigation.availableServices": "Available services",
279 "settings.navigation.logout": "Logout",
280 "settings.navigation.settings": "Settings",
281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.navigation.team": "Manage Team",
283 "settings.navigation.yourServices": "Your services",
284 "settings.navigation.yourWorkspaces": "Your workspaces",
285 "settings.recipes.all": "All services",
286 "settings.recipes.custom": "Custom Services",
287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.recipes.headline": "Available services",
294 "settings.recipes.missingService": "Missing a service?",
295 "settings.recipes.mostPopular": "Most popular",
296 "settings.recipes.nothingFound": "Sorry, but no service matched your search term.",
297 "settings.recipes.servicesSuccessfulAddedInfo": "Service successfully added",
298 "settings.searchService": "Search service",
299 "settings.service.error.goBack": "Back to services",
300 "settings.service.error.headline": "Error",
301 "settings.service.error.message": "Could not load service recipe.",
302 "settings.service.form.addServiceHeadline": "Add {name}",
303 "settings.service.form.availableServices": "Available services",
304 "settings.service.form.customUrl": "Custom server",
305 "settings.service.form.customUrlPremiumInfo": "To add self hosted services, you need a Ferdi Premium Supporter Account.",
306 "settings.service.form.customUrlUpgradeAccount": "Upgrade your account",
307 "settings.service.form.customUrlValidationError": "Could not validate custom {name} server.",
308 "settings.service.form.deleteButton": "Delete service",
309 "settings.service.form.editServiceHeadline": "Edit {name}",
310 "settings.service.form.enableAudio": "Enable audio",
311 "settings.service.form.enableBadge": "Show unread message badges",
312 "settings.service.form.enableDarkMode": "Enable Dark Mode",
313 "settings.service.form.enableNotification": "Enable notifications",
314 "settings.service.form.enableService": "Enable service",
315 "settings.service.form.headlineBadges": "Unread message badges",
316 "settings.service.form.headlineGeneral": "General",
317 "settings.service.form.headlineNotifications": "Notifications",
318 "settings.service.form.icon": "Custom icon",
319 "settings.service.form.iconDelete": "Delete",
320 "settings.service.form.iconUpload": "Drop your image, or click here",
321 "settings.service.form.indirectMessageInfo": "You will be notified about all new messages in a channel, not just @username, @channel, @here, ...",
322 "settings.service.form.indirectMessages": "Show message badge for all new messages",
323 "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted",
324 "settings.service.form.name": "Name",
325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings",
327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.service.form.proxy.info": "Proxy settings will not synced with the Ferdi servers.",
329 "settings.service.form.proxy.isEnabled": "Use Proxy",
330 "settings.service.form.proxy.password": "Password (optional)",
331 "settings.service.form.proxy.port": "Port",
332 "settings.service.form.proxy.restartInfo": "Please restart Ferdi after changing proxy Settings.",
333 "settings.service.form.proxy.user": "User (optional)",
334 "settings.service.form.saveButton": "Save service",
335 "settings.service.form.tabHosted": "Hosted",
336 "settings.service.form.tabOnPremise": "Self hosted ⭐️",
337 "settings.service.form.team": "Team",
338 "settings.service.form.useHostedService": "Use the hosted {name} service.",
339 "settings.service.form.yourServices": "Your services",
340 "settings.services.deletedInfo": "Service has been deleted",
341 "settings.services.discoverServices": "Discover services",
342 "settings.services.headline": "Your services",
343 "settings.services.noServicesAdded": "You haven't added any services yet.",
344 "settings.services.servicesRequestFailed": "Could not load your services",
345 "settings.services.tooltip.isDisabled": "Service is disabled",
346 "settings.services.tooltip.isMuted": "All sounds are muted",
347 "settings.services.tooltip.notificationsDisabled": "Notifications are disabled",
348 "settings.services.updatedInfo": "Your changes have been saved",
349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.team.headline": "Team",
357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.team.manageAction": "Manage your Team on getferdi.com",
359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.team.upgradeAction": "Upgrade your Account",
362 "settings.user.form.accountType.company": "Company",
363 "settings.user.form.accountType.individual": "Individual",
364 "settings.user.form.accountType.label": "Account type",
365 "settings.user.form.accountType.non-profit": "Non-Profit",
366 "settings.user.form.currentPassword": "Current password",
367 "settings.user.form.email": "Email",
368 "settings.user.form.firstname": "First Name",
369 "settings.user.form.lastname": "Last Name",
370 "settings.user.form.newPassword": "New password",
371 "settings.workspace.add.form.name": "Name",
372 "settings.workspace.add.form.submitButton": "Create workspace",
373 "settings.workspace.form.buttonDelete": "Delete workspace",
374 "settings.workspace.form.buttonSave": "Save workspace",
375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "settings.workspace.form.name": "Name",
378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "settings.workspace.form.yourWorkspaces": "Your workspaces",
380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "settings.workspaces.headline": "Your workspaces",
382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "settings.workspaces.tryReloadWorkspaces": "Try again",
384 "settings.workspaces.updatedInfo": "Your changes have been saved",
385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "sidebar.addNewService": "Add new service",
389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
391 "sidebar.lockFerdi": "Lock Ferdi",
392 "sidebar.muteApp": "Disable notifications & audio",
393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
395 "sidebar.settings": "Settings",
396 "sidebar.unmuteApp": "Enable notifications & audio",
397 "signup.email.label": "Email address",
398 "signup.emailDuplicate": "A user with that email address already exists",
399 "signup.firstname.label": "First Name",
400 "signup.headline": "Sign up",
401 "signup.lastname.label": "Last Name",
402 "signup.legal.info": "By creating a Ferdi account you accept the",
403 "signup.legal.privacy": "Privacy Statement",
404 "signup.legal.terms": "Terms of service",
405 "signup.link.login": "Already have an account, sign in?",
406 "signup.password.label": "Password",
407 "signup.submit.label": "Create account",
408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "subscription.cta.allOptions": "See all options",
410 "subscription.cta.choosePlan": "Choose your plan",
411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "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!",
414 "subscriptionPopup.buttonCancel": "Cancel",
415 "subscriptionPopup.buttonDone": "Done",
416 "tabs.item.deleteService": "Delete service",
417 "tabs.item.disableAudio": "Disable audio",
418 "tabs.item.disableNotifications": "Disable notifications",
419 "tabs.item.disableService": "Disable service",
420 "tabs.item.edit": "Edit",
421 "tabs.item.enableAudio": "Enable audio",
422 "tabs.item.enableNotification": "Enable notifications",
423 "tabs.item.enableService": "Enable service",
424 "tabs.item.reload": "Reload",
425 "validation.email": "{field} is not valid",
426 "validation.minLength": "{field} should be at least {length} characters long",
427 "validation.oneRequired": "At least one is required",
428 "validation.required": "{field} is required",
429 "validation.url": "{field} is not a valid URL",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Reload",
435 "welcome.loginButton": "Login to your account",
436 "welcome.signupButton": "Create a free account",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "All services",
439 "workspaceDrawer.headline": "Workspaces",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
448}
diff --git a/src/i18n/locales/ru.json b/src/i18n/locales/ru.json
index 725ff0576..c1ae5cafd 100644
--- a/src/i18n/locales/ru.json
+++ b/src/i18n/locales/ru.json
@@ -1,429 +1,448 @@
1{ 1{
2 "app.errorHandler.action" : "Перезагрузить", 2 "app.errorHandler.action": "Перезагрузить",
3 "app.errorHandler.headline" : "Что-то пошло не так", 3 "app.errorHandler.headline": "Что-то пошло не так",
4 "feature.announcements.changelog.headline" : "Изменения в версии Franz {version}", 4 "feature.announcements.changelog.headline": "Изменения в версии Ferdi {version}",
5 "feature.delayApp.headline" : "Upgrade your Franz plan to skip the wait", 5 "feature.delayApp.headline": "Пожалуйста приобретите лицензию Ferdi Supporter чтобы убрать ожидание",
6 "feature.delayApp.text" : "Franz продолжит работу через {seconds} секунд.", 6 "feature.delayApp.text": "Ferdi продолжит работу через {seconds} секунд.",
7 "feature.delayApp.trial.action" : "Да, я хочу бесплатную 14-дневную триальную версию Franz Professional", 7 "feature.delayApp.trial.action": "Да, я хочу бесплатную 14-дневную триальную версию Ferdi Professional",
8 "feature.delayApp.trial.actionShort" : "Активировать бесплатную триальную версию Franz Professional", 8 "feature.delayApp.trial.actionShort": "Активировать бесплатную триальную версию Ferdi Professional",
9 "feature.delayApp.trial.headline" : "Get the free Franz Professional 14-days trial and skip the wait", 9 "feature.delayApp.trial.headline": "Получить бесплатную 14-дневную триальную версию Ferdi Professional и перейти к следующему полю",
10 "feature.delayApp.upgrade.action" : "Upgrade Franz", 10 "feature.delayApp.upgrade.action": "Получите лицензию поддержки Ferdi",
11 "feature.delayApp.upgrade.actionShort" : "Апгрейдить аккаунт", 11 "feature.delayApp.upgrade.actionShort": "Апгрейдить аккаунт",
12 "feature.planSelection.cta.ctaDowngradeFree" : "Downgrade to Free", 12 "feature.quickSwitch.info": "Выберите сервис с Tab, вверх и вниз. Откройте сервис нажав на ENTER.",
13 "feature.planSelection.cta.stayOnFree" : "Stay on Free", 13 "feature.quickSwitch.search": "Поиск...",
14 "feature.planSelection.cta.trial" : "Start my free 14-days Trial", 14 "feature.quickSwitch.title": "Быстрое переключение",
15 "feature.planSelection.cta.upgradePersonal" : "Choose Personal", 15 "feature.serviceLimit.limitReached": "Вы добавили {amount} максимальное {limit} количество сервисов, входящих в ваш план. Пожалуйста, обновите свой план чтобы добавить больше сервисов.",
16 "feature.planSelection.cta.upgradePro" : "Choose Professional", 16 "feature.shareFranz.action.email": "Отправить по email",
17 "feature.planSelection.free.text" : "Basic functionality", 17 "feature.shareFranz.action.facebook": "Поделиться на Facebook",
18 "feature.planSelection.fullFeatureList" : "Complete comparison of all plans", 18 "feature.shareFranz.action.twitter": "Поделиться в Twitter",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 19 "feature.shareFranz.headline": "Сделаем Ferdi лучше вместе!",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade" : "Choose Personal", 20 "feature.shareFranz.shareText.email": "Я добавил {count} сервисов во Ferdi! Теперь доступны такие мессенджеры как WhatsApp, Messenger, Slack, Skype и другие. Полый список вы найдете на www.getferdi.com",
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.", 21 "feature.shareFranz.shareText.twitter": "Я добавил {count} сервис(ов) в Ferdi! Скачай бесплатную аппку для WhatsApp, Messenger, Slack, Skype и иже на www.getferdi.com /cc @FerdiMessenger",
22 "feature.planSelection.fullscreen.dialog.title" : "Downgrade your Franz Plan", 22 "feature.shareFranz.text": "Расскажи своим друзьям и коллегам насколько прелестен Ferdi и помоги нам развиться",
23 "feature.planSelection.fullscreen.subheadline" : "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.", 23 "feature.todos.premium.info": "Ferdi Todos теперь доступны для премиум пользователей!",
24 "feature.planSelection.fullscreen.welcome" : "Are you ready to choose, {name}?", 24 "feature.todos.premium.rollout": "Все остальные должны будут ждать немного дольше.",
25 "feature.planSelection.personal.text" : "More services, no waiting - ideal for personal use.", 25 "feature.todos.premium.upgrade": "Повысить уровень учетной записи",
26 "feature.planSelection.pricesBasedOnAnnualPayment" : "All prices based on yearly payment", 26 "global.api.unhealthy": "Невозможно подключиться к онлайн-сервисам Ferdi",
27 "feature.planSelection.pro.text" : "Unlimited services and professional features for you - and your team.", 27 "global.franzProRequired": "Требуется Ferdi Professional",
28 "feature.serviceLimit.limitReached" : "Вы добавили {amount} максимальное {limit} количество сервисов, входящих в ваш план. Пожалуйста, обновите свой план чтобы добавить больше сервисов.", 28 "global.notConnectedToTheInternet": "Вы не подключены к сети Интернет",
29 "feature.shareFranz.action.email" : "Отправить по email", 29 "global.spellchecker.useDefault": "Использовать системные параметры по умолчанию ({default})",
30 "feature.shareFranz.action.facebook" : "Поделиться на Facebook", 30 "global.spellchecking.autodetect": "Найти язык автоматически",
31 "feature.shareFranz.action.twitter" : "Поделиться в Twitter", 31 "global.spellchecking.autodetect.short": "Авто",
32 "feature.shareFranz.headline" : "Сделаем Franz лучше вместе!", 32 "global.spellchecking.language": "Проверка правописания",
33 "feature.shareFranz.shareText.email" : "Я добавил {count} сервисов во Franz! Теперь доступны такие мессенджеры как WhatsApp, Messenger, Slack, Skype и другие. Полый список вы найдете на www.meetfranz.com", 33 "global.upgradeButton.upgradeToPro": "Повысьте до Ferdi Professional",
34 "feature.shareFranz.shareText.twitter" : "Я добавил {count} сервис(ов) в Franz! Скачай бесплатную аппку для WhatsApp, Messenger, Slack, Skype и иже на www.meetfranz.com \/cc @FranzMessenger", 34 "import.headline": "Импортировать ваши сервисы из Ferdi 4",
35 "feature.shareFranz.text" : "Расскажи своим друзьям и коллегам насколько прелестен Franz и помоги нам развиться", 35 "import.notSupportedHeadline": "Сервисы пока ещё не поддерживаются в Ferdi 5",
36 "feature.todos.premium.info" : "Franz Todos are available to premium users now!", 36 "import.skip.label": "Я хочу добавить сервисы вручную",
37 "feature.todos.premium.rollout" : "Всем остальным придётся ждать чуть-чуть дольше", 37 "import.submit.label": "Импортировать сервисы",
38 "feature.todos.premium.upgrade" : "Улучшить Аккаунт", 38 "infobar.authRequestFailed": "При попытке выполнить аутентифицированный запрос произошли ошибки. Пожалуйста, попробуйте выйти из системы и вернуться в систему, если эта ошибка повторяется.",
39 "feature.trialStatusBar.cta" : "Upgrade now", 39 "infobar.buttonChangelog": "Что новенького?",
40 "feature.trialStatusBar.expired" : "Your free Franz {plan} Trial has expired, please upgrade your account.", 40 "infobar.buttonInstallUpdate": "Перезапустить и установить обновления",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 41 "infobar.buttonReloadServices": "Перезагрузить сервисы",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade" : "Choose Personal", 42 "infobar.requiredRequestsFailed": "Невозможно загрузить сервисы и информацию пользователя",
43 "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.", 43 "infobar.servicesUpdated": "Ваши сервисы были обновлены.",
44 "feature.trialStatusBar.fullscreen.dialog.title" : "Downgrade your Franz Plan", 44 "infobar.trialActivated": "Пробный период успешно активирован. Счастливых переписок!",
45 "feature.trialStatusBar.restTime" : "Your Free Franz {plan} Trial ends in {time}.", 45 "infobar.updateAvailable": "Доступно обновление Ferdi.",
46 "global.api.unhealthy" : "Невозможно подключиться к онлайн-сервисам Franz", 46 "invite.email.label": "Адрес электронной почты",
47 "global.franzProRequired" : "Требуется \"Franz Professional\"", 47 "invite.headline.friends": "Пригласите 3-х друзей или коллег",
48 "global.notConnectedToTheInternet" : "Вы не подключены к сети Интернет", 48 "invite.name.label": "Имя",
49 "global.spellchecker.useDefault" : "Использовать системные параметры по умолчанию ({default})", 49 "invite.skip.label": "Я сделаю это позже",
50 "global.spellchecking.autodetect" : "Найти язык автоматически", 50 "invite.submit.label": "Выслать приглашения",
51 "global.spellchecking.autodetect.short" : "Авто", 51 "invite.successInfo": "Приглашения успешно отправлены",
52 "global.spellchecking.language" : "Проверка правописания", 52 "locked.headline": "Заблокировано",
53 "global.upgradeButton.upgradeToPro" : "Обновить до Franz Professional", 53 "locked.info": "Ferdi сейчас заблокирован. Пожалуйста, разблокируйте Ferdi своим паролем, чтобы увидеть ваши сообщения.",
54 "import.headline" : "Импортировать ваши сервисы из Franz 4", 54 "locked.invalidCredentials": "Неверный пароль",
55 "import.notSupportedHeadline" : "Сервисы пока ещё не поддерживаются в Franz 5", 55 "locked.password.label": "Пароль",
56 "import.skip.label" : "Я хочу добавить сервисы вручную", 56 "locked.submit.label": "Разблокировать",
57 "import.submit.label" : "Импортировать сервисы", 57 "login.changeServer": "Изменить сервер",
58 "infobar.buttonChangelog" : "Что новенького?", 58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "infobar.buttonInstallUpdate" : "Перезапустить и установить обновления", 59 "login.customServerSuggestion": "Try importing your Franz account",
60 "infobar.buttonReloadServices" : "Перезагрузить сервисы", 60 "login.email.label": "Адрес электронной почты",
61 "infobar.requiredRequestsFailed" : "Невозможно загрузить сервисы и информацию пользователя", 61 "login.headline": "Вход",
62 "infobar.servicesUpdated" : "Ваши сервисы были обновлены.", 62 "login.invalidCredentials": "Неправильный адрес электронной почты или пароль",
63 "infobar.trialActivated" : "Пробный период удачно активирован. Хорошей переписки!", 63 "login.link.password": "Восстановить пароль",
64 "infobar.updateAvailable" : "Доступно обновление Franz.", 64 "login.link.signup": "Создать бесплатный аккаунт",
65 "invite.email.label" : "Адрес электронной почты", 65 "login.password.label": "Пароль",
66 "invite.headline.friends" : "Пригласите 3-х друзей или коллег", 66 "login.serverLogout": "Сессия устарела, пожалуйста, войдите снова.",
67 "invite.name.label" : "Имя", 67 "login.submit.label": "Вход",
68 "invite.skip.label" : "Я сделаю это позже", 68 "login.tokenExpired": "Сессия устарела, пожалуйста, войдите снова.",
69 "invite.submit.label" : "Выслать приглашения", 69 "menu.Todoss.closeTodosDrawer": "Закрыть панель задач Todos",
70 "invite.successInfo" : "Приглашения успешно отправлены", 70 "menu.Todoss.openTodosDrawer": "Закрыть панель задач Todos",
71 "login.email.label" : "Адрес электронной почты", 71 "menu.app.about": "О Ferdi",
72 "login.headline" : "Вход", 72 "menu.app.announcement": "Что нового?",
73 "login.invalidCredentials" : "Неправильный адрес электронной почты или пароль", 73 "menu.app.autohideMenuBar": "Автоматически скрывать панель",
74 "login.link.password" : "Восстановить пароль", 74 "menu.app.checkForUpdates": "Проверить обновления",
75 "login.link.signup" : "Создать бесплатный аккаунт", 75 "menu.app.hide": "Скрыть",
76 "login.password.label" : "Пароль", 76 "menu.app.hideOthers": "Скрыть остальные",
77 "login.serverLogout" : "Сессия устарела, пожалуйста, войдите снова.", 77 "menu.app.quit": "Выйти",
78 "login.submit.label" : "Вход", 78 "menu.app.settings": "Настройки",
79 "login.tokenExpired" : "Сессия устарела, пожалуйста, войдите снова.", 79 "menu.app.unhide": "Показать",
80 "menu.Todoss.closeTodosDrawer" : "Закрыть редактор Планировщика", 80 "menu.edit": "Правка",
81 "menu.Todoss.openTodosDrawer" : "Открыть редактор Планировщика", 81 "menu.edit.copy": "Копировать",
82 "menu.app.about" : "О Franz", 82 "menu.edit.cut": "Вырезать",
83 "menu.app.announcement" : "Что нового?", 83 "menu.edit.delete": "Удалить",
84 "menu.app.checkForUpdates" : "Проверить обновления", 84 "menu.edit.emojiSymbols": "Эмодзи и символы",
85 "menu.app.hide" : "Скрыть", 85 "menu.edit.paste": "Вставить",
86 "menu.app.hideOthers" : "Скрыть остальные", 86 "menu.edit.pasteAndMatchStyle": "Вставить с соблюдением стиля",
87 "menu.app.quit" : "Выйти", 87 "menu.edit.redo": "Вернуть",
88 "menu.app.settings" : "Настройки", 88 "menu.edit.selectAll": "Выделить всё",
89 "menu.app.unhide" : "Показать", 89 "menu.edit.speech": "Речь",
90 "menu.edit" : "Правка", 90 "menu.edit.startDictation": "Начать диктовать",
91 "menu.edit.copy" : "Копировать", 91 "menu.edit.startSpeaking": "Начать говорить",
92 "menu.edit.cut" : "Вырезать", 92 "menu.edit.stopSpeaking": "Закончить говорить",
93 "menu.edit.delete" : "Удалить", 93 "menu.edit.undo": "Отменить",
94 "menu.edit.emojiSymbols" : "Эмодзи и символы", 94 "menu.file": "Файл",
95 "menu.edit.paste" : "Вставить", 95 "menu.help": "Справка",
96 "menu.edit.pasteAndMatchStyle" : "Вставить с соблюдением стиля", 96 "menu.help.changelog": "Журнал изменений",
97 "menu.edit.redo" : "Вернуть", 97 "menu.help.debugInfo": "Скопировать отладочную информацию",
98 "menu.edit.selectAll" : "Выделить всё", 98 "menu.help.debugInfoCopiedBody": "Ваша информация отладки была скопирована в буфер обмена.",
99 "menu.edit.speech" : "Речь", 99 "menu.help.debugInfoCopiedHeadline": "Отладочная информация Ferdi",
100 "menu.edit.startDictation" : "Начать диктовать", 100 "menu.help.learnMore": "Подробнее",
101 "menu.edit.startSpeaking" : "Начать говорить", 101 "menu.help.privacy": "Политика конфиденциальности",
102 "menu.edit.stopSpeaking" : "Закончить говорить", 102 "menu.help.support": "Поддержка",
103 "menu.edit.undo" : "Отменить", 103 "menu.help.tos": "Условия использования",
104 "menu.file" : "Файл", 104 "menu.services": "Сервис",
105 "menu.help" : "Справка", 105 "menu.services.activatePreviousService": "Активировать предыдущий сервич",
106 "menu.help.changelog" : "Журнал изменений", 106 "menu.services.addNewService": "Добавить новый сервис...",
107 "menu.help.debugInfo" : "Копировать отладочную информацию", 107 "menu.services.goHome": "Домой",
108 "menu.help.debugInfoCopiedBody" : "Ваша отладочная информация была скопирована в буфер обмена.", 108 "menu.services.setNextServiceActive": "Активировать следующий сервис",
109 "menu.help.debugInfoCopiedHeadline" : "Отладочная информация Franz", 109 "menu.todos": "Задачи",
110 "menu.help.learnMore" : "Подробнее", 110 "menu.todos.enableTodos": "Включить задачи",
111 "menu.help.privacy" : "Политика конфиденциальности", 111 "menu.view": "Вид",
112 "menu.help.support" : "Поддержка", 112 "menu.view.back": "Назад",
113 "menu.help.tos" : "Условия использования", 113 "menu.view.enterFullScreen": "На весь экран",
114 "menu.services" : "Сервис", 114 "menu.view.exitFullScreen": "В окне",
115 "menu.services.activatePreviousService" : "Активировать предыдущий сервич", 115 "menu.view.forward": "Переслать",
116 "menu.services.addNewService" : "Добавить новый сервис...", 116 "menu.view.lockFerdi": "Заблокировать Ferdi",
117 "menu.services.goHome" : "Home", 117 "menu.view.openQuickSwitch": "Открыть быстрый переключатель",
118 "menu.services.setNextServiceActive" : "Активировать следующий сервис", 118 "menu.view.reloadFranz": "Перезагрузить Ferdi",
119 "menu.todos" : "Задачи", 119 "menu.view.reloadService": "Перезапустить сервис",
120 "menu.todos.enableTodos" : "Включить Планировщик", 120 "menu.view.resetZoom": "Фактический размер",
121 "menu.view" : "Вид", 121 "menu.view.toggleDevTools": "Показать инструменты разработчика",
122 "menu.view.enterFullScreen" : "На весь экран", 122 "menu.view.toggleFullScreen": "Переключиться на полный экран",
123 "menu.view.exitFullScreen" : "В окне", 123 "menu.view.toggleServiceDevTools": "Показать инструменты разработчика сервиса",
124 "menu.view.reloadFranz" : "Перезагрузить Franz", 124 "menu.view.toggleTodosDevTools": "Включить инструменты разработчика Todos",
125 "menu.view.reloadService" : "Перезапустить сервис", 125 "menu.view.zoomIn": "Увеличить масштаб",
126 "menu.view.resetZoom" : "Фактический размер", 126 "menu.view.zoomOut": "Уменьшить масштаб",
127 "menu.view.toggleDevTools" : "Показать инструменты разработчика", 127 "menu.window": "Окно",
128 "menu.view.toggleFullScreen" : "Переключиться на полный экран", 128 "menu.window.close": "Закрыть",
129 "menu.view.toggleServiceDevTools" : "Показать инструменты разработчика сервиса", 129 "menu.window.minimize": "Свернуть",
130 "menu.view.toggleTodosDevTools" : "Влюкчить средства разработчика Todos", 130 "menu.workspaces": "Окружение",
131 "menu.view.zoomIn" : "Увеличить масштаб", 131 "menu.workspaces.addNewWorkspace": "Добавить Новое Окружение...",
132 "menu.view.zoomOut" : "Уменьшить масштаб", 132 "menu.workspaces.closeWorkspaceDrawer": "Закрыть меню окружений",
133 "menu.window" : "Окно", 133 "menu.workspaces.defaultWorkspace": "Все сервисы",
134 "menu.window.close" : "Закрыть", 134 "menu.workspaces.openWorkspaceDrawer": "Открыть меню окружений",
135 "menu.window.minimize" : "Свернуть", 135 "password.email.label": "Адрес электронной почты",
136 "menu.workspaces" : "Окружение", 136 "password.headline": "Восстановить пароль",
137 "menu.workspaces.addNewWorkspace" : "Добавить Новое Окружение...", 137 "password.link.login": "Вход",
138 "menu.workspaces.closeWorkspaceDrawer" : "Закрыть меню окружений", 138 "password.link.signup": "Создать бесплатный аккаунт",
139 "menu.workspaces.defaultWorkspace" : "Все сервисы", 139 "password.noUser": "Не найдено пользователя с таким адресом электронной почты",
140 "menu.workspaces.openWorkspaceDrawer" : "Открыть меню окружений", 140 "password.submit.label": "Принять",
141 "password.email.label" : "Адрес электронной почты", 141 "password.successInfo": "Проверьте вашу электронную почту",
142 "password.headline" : "Сбросить пароль", 142 "premiumFeature.button.upgradeAccount": "Апгрейдить аккаунт",
143 "password.link.login" : "Вход", 143 "pricing.features.adFree": "Всегда бесплатен с рекламой",
144 "password.link.signup" : "Создать бесплатную учётную запись пользователя", 144 "pricing.features.appDelays": "Без экранов ожидания",
145 "password.noUser" : "Не найдено пользователя с таким адресом электронной почты", 145 "pricing.features.customWebsites": "Добавить пользовательские веб-сайты",
146 "password.submit.label" : "Принять", 146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "password.successInfo" : "Проверьте вашу электронную почту", 147 "pricing.features.serviceProxies": "Прокси сервиса",
148 "premiumFeature.button.upgradeAccount" : "Перейти на платную подписку", 148 "pricing.features.spellchecker": "Поддержка Spellchecker",
149 "pricing.features.accountSync" : "Account Synchronisation", 149 "pricing.features.teamManagement": "Команда управления",
150 "pricing.features.adFree" : "Forever ad-free", 150 "pricing.features.thirdPartyServices": "Установить сторонние сервисы",
151 "pricing.features.appDelays" : "No Waiting Screens", 151 "pricing.features.unlimitedServices": "Добавить неограниченные сервисы",
152 "pricing.features.customWebsites" : "Add Custom Websites", 152 "pricing.features.workspaces": "Окружение",
153 "pricing.features.desktopNotifications" : "Desktop Notifications", 153 "pricing.plan.free": "Ferdi Free",
154 "pricing.features.onPremise" : "On-premise & other Hosted Services", 154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.features.recipes" : "Choose from more than 70 Services", 155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.features.serviceProxies" : "Service Proxies", 156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.features.spellchecker" : "Spellchecker support", 157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.features.teamManagement" : "Team Management", 158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.features.thirdPartyServices" : "Install 3rd party services", 159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.features.unlimitedServices" : "Add unlimited services", 160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.features.upToSixServices" : "Add up to 6 services", 161 "pricing.trial.cta.accept": "Да, обновите мой аккаунт до Ferdi Professional",
162 "pricing.features.upToThreeServices" : "Add up to 3 services", 162 "pricing.trial.cta.skip": "Перейти к Ферди",
163 "pricing.features.workspaces" : "Окружение", 163 "pricing.trial.error": "К сожалению, мы не смогли активировать ваш пробный период!",
164 "pricing.plan.free" : "Free", 164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.plan.legacy" : "Premium", 165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.plan.personal" : "Personal", 166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.plan.personal-monthly" : "Personal Monthly", 167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.plan.personal-yearly" : "Personal Yearly", 168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.plan.pro" : "Professional", 169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "pricing.plan.pro-monthly" : "Professional Monthly", 170 "service.crashHandler.action": "Перезагрузить {name}",
171 "pricing.plan.pro-yearly" : "Professional Yearly", 171 "service.crashHandler.autoReload": "Пытаюсь автоматически восстановить {name} в течение {seconds} секунд",
172 "pricing.trial.cta.accept" : "Start my 14-day Franz Professional Trial ", 172 "service.crashHandler.headline": "О, нет!",
173 "pricing.trial.cta.skip" : "Continue to Franz", 173 "service.crashHandler.text": "{name} вызвало ошибку.",
174 "pricing.trial.cta.start" : "Start using Franz", 174 "service.disabledHandler.action": "Включить {name}",
175 "pricing.trial.error" : "Sorry, we could not activate your trial!", 175 "service.disabledHandler.headline": "{name} выключено",
176 "pricing.trial.features.headline" : "Franz Professional includes:", 176 "service.errorHandler.action": "Перезагрузить {name}",
177 "pricing.trial.headline.pro" : "Hi {name}, welcome to Franz", 177 "service.errorHandler.editAction": "Редактирование {name}",
178 "pricing.trial.intro.happyMessaging" : "Happy messaging,", 178 "service.errorHandler.headline": "О, нет!",
179 "pricing.trial.intro.specialTreat" : "We have a special treat for you.", 179 "service.errorHandler.message": "Ошибка",
180 "pricing.trial.intro.tryPro" : "Enjoy the full Franz Professional experience completely free for 14 days.", 180 "service.errorHandler.text": "{name} не смог загрузиться.",
181 "pricing.trial.terms.automaticTrialEnd" : "Your free trial ends automatically after 14 days", 181 "service.restrictedHandler.action": "Повысить уровень учетной записи",
182 "pricing.trial.terms.headline" : "No strings attached", 182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "pricing.trial.terms.noCreditCard" : "No credit card required", 183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "pricing.trial.terms.trialWorth" : "Free trial (normally {currency}{price} per month)", 184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.crashHandler.action" : "Перезагрузить {name}", 185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.crashHandler.autoReload" : "Пытаюсь автоматически восстановить {name} в течение {seconds} секунд", 186 "service.webviewLoader.loading": "Загрузка",
187 "service.crashHandler.headline" : "О, нет!", 187 "services.getStarted": "Начать работу",
188 "service.crashHandler.text" : "{name} вызвало ошибку.", 188 "services.login": "Please login to use Ferdi.",
189 "service.disabledHandler.action" : "Включить {name}", 189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "service.disabledHandler.headline" : "{name} выключено", 190 "services.serverless": "Use Ferdi without an Account",
191 "service.errorHandler.action" : "Перезагрузить {name}", 191 "services.welcome": "Добро пожаловать во Ferdi",
192 "service.errorHandler.editAction" : "Редактирование {name}", 192 "settings.account.account.editButton": "Редактировать аккаунт",
193 "service.errorHandler.headline" : "О, нет!", 193 "settings.account.accountType.basic": "Базовый аккаунт",
194 "service.errorHandler.message" : "Ошибка", 194 "settings.account.accountType.premium": "Премиум аккаунт",
195 "service.errorHandler.text" : "{name} не смог загрузиться.", 195 "settings.account.buttonSave": "Обновить профиль",
196 "service.restrictedHandler.action" : "Улучшить Аккаунт", 196 "settings.account.deleteAccount": "Удалить аккаунт",
197 "service.restrictedHandler.customUrl.headline" : "Franz Professional Plan required", 197 "settings.account.deleteEmailSent": "Вам выслано письмо с ссылкой для подтверждения удаления аккаунта. После этого ваш аккаунт и данные не смогут быть восстановлены!",
198 "service.restrictedHandler.customUrl.text" : "Please upgrade to the Franz Professional plan to use custom urls & self hosted services.", 198 "settings.account.deleteInfo": "Если вам больше не нужна ваша учетная запись в Ferdi, вы можете удалить аккаунт и всю связанную с ней информацию.",
199 "service.restrictedHandler.serviceLimit.headline" : "You have reached your service limit.", 199 "settings.account.headline": "Аккаунт",
200 "service.restrictedHandler.serviceLimit.text" : "Please upgrade your account to use more than {count} services.", 200 "settings.account.headlineAccount": "Информация аккаунта",
201 "service.webviewLoader.loading" : "Загрузка", 201 "settings.account.headlineDangerZone": "Запретная Зона",
202 "services.getStarted" : "Начать работу", 202 "settings.account.headlineInvoices": "Счета",
203 "services.welcome" : "Добро пожаловать во Franz", 203 "settings.account.headlinePassword": "Сменить пароль",
204 "settings.account.account.editButton" : "Редактировать аккаунт", 204 "settings.account.headlineProfile": "Обновить профиль",
205 "settings.account.accountType.basic" : "Базовый аккаунт", 205 "settings.account.headlineSubscription": "Ваша подписка",
206 "settings.account.accountType.premium" : "Премиум аккаунт", 206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.buttonSave" : "Обновить профиль", 207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.deleteAccount" : "Удалить аккаунт", 208 "settings.account.invoiceDownload": "Скачать",
209 "settings.account.deleteEmailSent" : "Вам выслано письмо с ссылкой для подтверждения удаления аккаунта. После этого ваш аккаунт и данные не смогут быть восстановлены!", 209 "settings.account.manageSubscription.label": "Управление вашей подпиской",
210 "settings.account.deleteInfo" : "Если вам больше не нужна ваша учетная запись в Franz, вы можете удалить аккаунт и всю связанную с ней информацию.", 210 "settings.account.successInfo": "Ваши изменения были сохранены",
211 "settings.account.headline" : "Аккаунт", 211 "settings.account.trial": "Free Trial",
212 "settings.account.headlineAccount" : "Информация аккаунта", 212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.headlineDangerZone" : "Запретная Зона", 213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.headlineInvoices" : "Счета", 214 "settings.account.tryReloadServices": "Попробовать снова",
215 "settings.account.headlinePassword" : "Сменить пароль", 215 "settings.account.tryReloadUserInfoRequest": "Попробовать снова",
216 "settings.account.headlineProfile" : "Обновить профиль", 216 "settings.account.upgradeToPro.label": "Повысьте до Ferdi Professional",
217 "settings.account.headlineSubscription" : "Ваша подписка", 217 "settings.account.userInfoRequestFailed": "Невозможно загрузить информацию пользователя",
218 "settings.account.headlineTrialUpgrade" : "Get the free 14 day Franz Professional Trial", 218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.account.headlineUpgradeAccount" : "Upgrade your account & get the full Franz experience", 219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.account.invoiceDownload" : "Скачать", 220 "settings.app.buttonClearAllCache": "Очистить кэш",
221 "settings.account.manageSubscription.label" : "Управление вашей подпиской", 221 "settings.app.buttonInstallUpdate": "Перезапустить и установить обновления",
222 "settings.account.successInfo" : "Ваши изменения были сохранены", 222 "settings.app.buttonSearchForUpdate": "Проверить обновления",
223 "settings.account.trial" : "Free Trial", 223 "settings.app.cacheInfo": "Кэш занимает {size} на диске.",
224 "settings.account.trialEndsIn" : "Your free trial ends in {duration}.", 224 "settings.app.currentVersion": "Текущая версия:",
225 "settings.account.trialUpdateBillingInfo" : "Please update your billing info to continue using {license} after your trial period.", 225 "settings.app.form.accentColor": "Accent color",
226 "settings.account.tryReloadServices" : "Попробовать снова", 226 "settings.app.form.autoLaunchInBackground": "Открывать в фоне",
227 "settings.account.tryReloadUserInfoRequest" : "Попробовать снова", 227 "settings.app.form.autoLaunchOnStart": "Запускать Ferdi при старте",
228 "settings.account.upgradeToPro.label" : "Обновить до Franz Professional", 228 "settings.app.form.beta": "Включая бета версии",
229 "settings.account.userInfoRequestFailed" : "Невозможно загрузить информацию пользователя", 229 "settings.app.form.darkMode": "Перейти на Тёмную сторону",
230 "settings.account.yourLicense" : "Your Franz License", 230 "settings.app.form.enableGPUAcceleration": "Включить ускорение GPU",
231 "settings.app.buttonClearAllCache" : "Очистить кэш", 231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.buttonInstallUpdate" : "Перезапустить и обновить", 232 "settings.app.form.enableSpellchecking": "Включить проверку правописания",
233 "settings.app.buttonSearchForUpdate" : "Проверить обновления", 233 "settings.app.form.enableSystemTray": "Показывать Ferdi в системном трее",
234 "settings.app.cacheInfo" : "Кэш занимает {size} на диске.", 234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.currentVersion" : "Текущая версия:", 235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.autoLaunchInBackground" : "Открывать в фоне", 236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.autoLaunchOnStart" : "Запускать Franz при старте", 237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.beta" : "Включая бета версии", 238 "settings.app.form.language": "Язык",
239 "settings.app.form.darkMode" : "Перейти на Тёмную сторону", 239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.enableGPUAcceleration" : "Включить ускорение GPU", 240 "settings.app.form.minimizeToSystemTray": "Сворачивать Ferdi в системный трей",
241 "settings.app.form.enableSpellchecking" : "Включить проверку правописания", 241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.enableSystemTray" : "Показывать Franz в системном трее", 242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.enableTodos" : "Enable Franz Todos", 243 "settings.app.form.runInBackground": "Оставлять Ferdi в фоне при закрытии окна",
244 "settings.app.form.keepAllWorkspacesLoaded" : "Keep all workspaces loaded", 244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.language" : "Язык", 245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.minimizeToSystemTray" : "Сворачивать Franz в системный трей", 246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.runInBackground" : "Оставлять Franz в фоне при закрытии окна", 247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices" : "Показывать вкладки отключённых служб", 248 "settings.app.form.showDisabledServices": "Показывать вкладки отключённых служб",
249 "settings.app.form.showMessagesBadgesWhenMuted" : "Показывать значок непрочитанного сообщения при отключённых уведомлениях", 249 "settings.app.form.showMessagesBadgesWhenMuted": "Показывать значок непрочитанного сообщения при отключённых уведомлениях",
250 "settings.app.headline" : "Настройки", 250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.headlineAdvanced" : "Дополнительно", 251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.headlineAppearance" : "Внешний вид", 252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headlineGeneral" : "Общие", 253 "settings.app.headline": "Настройки",
254 "settings.app.headlineLanguage" : "Язык", 254 "settings.app.headlineAdvanced": "Дополнительно",
255 "settings.app.headlineUpdates" : "Обновления", 255 "settings.app.headlineAppearance": "Внешний вид",
256 "settings.app.languageDisclaimer" : "Официальная поддержка только для английского и немецкого языков. Остальные языки переведены сообществом.", 256 "settings.app.headlineGeneral": "Общие",
257 "settings.app.restartRequired" : "Изменения требуют перезагрузки приложения", 257 "settings.app.headlineLanguage": "Язык",
258 "settings.app.subheadlineCache" : "Кэш", 258 "settings.app.headlineUpdates": "Обновления",
259 "settings.app.translationHelp" : "Помогите нам перевести Franz на ваш язык.", 259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.updateStatusAvailable" : "Доступно обновление, идёт загрузка...", 260 "settings.app.languageDisclaimer": "Официальная поддержка только для английского и немецкого языков. Остальные языки переведены сообществом.",
261 "settings.app.updateStatusSearching" : "Поиск обновлений", 261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.updateStatusUpToDate" : "Вы используете актуальную версию Franz", 262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.invite.headline" : "Пригласить друзей", 263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.navigation.account" : "Аккаунт", 264 "settings.app.restartRequired": "Изменения требуют перезагрузки приложения",
265 "settings.navigation.availableServices" : "Доступные сервисы", 265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.navigation.inviteFriends" : "Пригласить друзей", 266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.navigation.logout" : "Выход", 267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.navigation.settings" : "Настройки", 268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.navigation.team" : "Управление Командой", 269 "settings.app.subheadlineCache": "Кэш",
270 "settings.navigation.yourServices" : "Ваши сервисы", 270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.navigation.yourWorkspaces" : "Ваши окружения", 271 "settings.app.translationHelp": "Помогите нам перевести Ferdi на ваш язык.",
272 "settings.recipes.all" : "Все сервисы", 272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.recipes.custom" : "Custom Services", 273 "settings.app.updateStatusAvailable": "Доступно обновление, идёт загрузка...",
274 "settings.recipes.customService.headline.communityRecipes" : "Community 3rd Party Recipes", 274 "settings.app.updateStatusSearching": "Поиск обновлений",
275 "settings.recipes.customService.headline.customRecipes" : "Custom 3rd Party Recipes", 275 "settings.app.updateStatusUpToDate": "Вы используете актуальную версию Ferdi",
276 "settings.recipes.customService.headline.devRecipes" : "Your Development Service Recipes", 276 "settings.invite.headline": "Пригласить друзей",
277 "settings.recipes.customService.intro" : "To add a custom service, copy the service recipe to:", 277 "settings.navigation.account": "Аккаунт",
278 "settings.recipes.customService.openDevDocs" : "Developer Documentation", 278 "settings.navigation.availableServices": "Доступные сервисы",
279 "settings.recipes.customService.openFolder" : "Open folder", 279 "settings.navigation.logout": "Выход",
280 "settings.recipes.headline" : "Доступные сервисы", 280 "settings.navigation.settings": "Настройки",
281 "settings.recipes.missingService" : "Не можете найти сервис?", 281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.recipes.mostPopular" : "Самые популярные", 282 "settings.navigation.team": "Управление Командой",
283 "settings.recipes.nothingFound" : "Извините, но ничего не найдено по вашему поисковому запросу.", 283 "settings.navigation.yourServices": "Ваши сервисы",
284 "settings.recipes.servicesSuccessfulAddedInfo" : "Сервис успешно добавлен", 284 "settings.navigation.yourWorkspaces": "Ваши окружения",
285 "settings.searchService" : "Найти сервис", 285 "settings.recipes.all": "Все сервисы",
286 "settings.service.error.goBack" : "Вернуться к сервисам", 286 "settings.recipes.custom": "Custom Services",
287 "settings.service.error.headline" : "Ошибка", 287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.service.error.message" : "Невозможно загрузить \"рецепт\" сервиса.", 288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.service.form.addServiceHeadline" : "Добавление {name}", 289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.service.form.availableServices" : "Доступные сервисы", 290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.service.form.customUrl" : "Пользовательский сервер", 291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.service.form.customUrlPremiumInfo" : "Для добавления сервиса на своем хостинге необходим премиум аккаунт Franz.", 292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.service.form.customUrlUpgradeAccount" : "Улучшить ваш аккаунт", 293 "settings.recipes.headline": "Доступные сервисы",
294 "settings.service.form.customUrlValidationError" : "Невозможно проверить сервер {name}.", 294 "settings.recipes.missingService": "Не можете найти сервис?",
295 "settings.service.form.deleteButton" : "Удалить сервис", 295 "settings.recipes.mostPopular": "Самые популярные",
296 "settings.service.form.editServiceHeadline" : "Редактировать {name}", 296 "settings.recipes.nothingFound": "Извините, но ничего не найдено по вашему поисковому запросу.",
297 "settings.service.form.enableAudio" : "Включить звук", 297 "settings.recipes.servicesSuccessfulAddedInfo": "Сервис успешно добавлен",
298 "settings.service.form.enableBadge" : "Показывать иконку непрочитанных сообщений", 298 "settings.searchService": "Найти сервис",
299 "settings.service.form.enableDarkMode" : "Включить Тёмный режим", 299 "settings.service.error.goBack": "Вернуться к сервисам",
300 "settings.service.form.enableNotification" : "Включить уведомления", 300 "settings.service.error.headline": "Ошибка",
301 "settings.service.form.enableService" : "Включить сервис", 301 "settings.service.error.message": "Невозможно загрузить \"рецепт\" сервиса.",
302 "settings.service.form.headlineBadges" : "Значки непрочитанных сообщений", 302 "settings.service.form.addServiceHeadline": "Добавление {name}",
303 "settings.service.form.headlineGeneral" : "Общие", 303 "settings.service.form.availableServices": "Доступные сервисы",
304 "settings.service.form.headlineNotifications" : "Уведомления", 304 "settings.service.form.customUrl": "Пользовательский сервер",
305 "settings.service.form.icon" : "Пользовательская иконка", 305 "settings.service.form.customUrlPremiumInfo": "Для добавления сервиса на своем хостинге необходим премиум аккаунт Ferdi.",
306 "settings.service.form.iconDelete" : "Удалить", 306 "settings.service.form.customUrlUpgradeAccount": "Улучшить ваш аккаунт",
307 "settings.service.form.iconUpload" : "Перетащите ваше изображение или кликните здесь", 307 "settings.service.form.customUrlValidationError": "Невозможно проверить сервер {name}.",
308 "settings.service.form.indirectMessageInfo" : "Вы будете получать уведомления обо всех новых сообщений на канале, не только для @username, @channel, @here, ...", 308 "settings.service.form.deleteButton": "Удалить сервис",
309 "settings.service.form.indirectMessages" : "Показывать значок уведомлений для всех новых сообщений", 309 "settings.service.form.editServiceHeadline": "Редактирование {name}",
310 "settings.service.form.isMutedInfo" : "Когда выключено, все звуковые уведомления будут отключены", 310 "settings.service.form.enableAudio": "Включить звук",
311 "settings.service.form.name" : "Название", 311 "settings.service.form.enableBadge": "Показывать иконку непрочитанных сообщений",
312 "settings.service.form.proxy.headline" : "Настройки Прокси HTTP\/HTTPS", 312 "settings.service.form.enableDarkMode": "Включить Тёмный режим",
313 "settings.service.form.proxy.host" : "Прокси Host\/IP", 313 "settings.service.form.enableNotification": "Включить уведомления",
314 "settings.service.form.proxy.info" : "Настройки прокси не будут синхронизированны с серверами Franz", 314 "settings.service.form.enableService": "Включить сервис",
315 "settings.service.form.proxy.isEnabled" : "Использовать прокси", 315 "settings.service.form.headlineBadges": "Значки непрочитанных сообщений",
316 "settings.service.form.proxy.password" : "Пароль (опционально)", 316 "settings.service.form.headlineGeneral": "Общие",
317 "settings.service.form.proxy.port" : "Порт", 317 "settings.service.form.headlineNotifications": "Уведомления",
318 "settings.service.form.proxy.restartInfo" : "Пожалуйста перезапустите Franz после изменения настроек прокси.", 318 "settings.service.form.icon": "Пользовательская иконка",
319 "settings.service.form.proxy.user" : "Пользователь (опционально)", 319 "settings.service.form.iconDelete": "Удалить",
320 "settings.service.form.saveButton" : "Сохранить сервис", 320 "settings.service.form.iconUpload": "Перетащите ваше изображение или кликните здесь",
321 "settings.service.form.tabHosted" : "Размещено", 321 "settings.service.form.indirectMessageInfo": "Вы будете получать уведомления обо всех новых сообщений на канале, не только для @username, @channel, @here, ...",
322 "settings.service.form.tabOnPremise" : "Свой хостинг ⭐️", 322 "settings.service.form.indirectMessages": "Показывать значок уведомлений для всех новых сообщений",
323 "settings.service.form.team" : "Команда", 323 "settings.service.form.isMutedInfo": "Когда выключено, все звуковые уведомления будут отключены",
324 "settings.service.form.useHostedService" : "Использовать собственный сервис {name}", 324 "settings.service.form.name": "Имя",
325 "settings.service.form.yourServices" : "Ваши сервисы", 325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.services.deletedInfo" : "Сервис был удален", 326 "settings.service.form.proxy.headline": "Настройки Прокси HTTP/HTTPS",
327 "settings.services.discoverServices" : "Найти сервисы", 327 "settings.service.form.proxy.host": "Прокси Host/IP",
328 "settings.services.headline" : "Ваши сервисы", 328 "settings.service.form.proxy.info": "Настройки прокси не будут синхронизированны с серверами Ferdi",
329 "settings.services.noServicesAdded" : "Вы пока не добавили никаких сервисов.", 329 "settings.service.form.proxy.isEnabled": "Использовать прокси",
330 "settings.services.servicesRequestFailed" : "Ошибка загрузки сервисов", 330 "settings.service.form.proxy.password": "Пароль (опционально)",
331 "settings.services.tooltip.isDisabled" : "Сервис отключен", 331 "settings.service.form.proxy.port": "Порт",
332 "settings.services.tooltip.isMuted" : "Все звуки отключены", 332 "settings.service.form.proxy.restartInfo": "Пожалуйста перезапустите Ferdi после изменения настроек прокси.",
333 "settings.services.tooltip.notificationsDisabled" : "Уведомления отключены", 333 "settings.service.form.proxy.user": "Пользователь (опционально)",
334 "settings.services.updatedInfo" : "Изменения сохранены", 334 "settings.service.form.saveButton": "Сохранить сервис",
335 "settings.team.contentHeadline" : "Franz для Команд", 335 "settings.service.form.tabHosted": "Размещено",
336 "settings.team.copy" : "Franz для Команд позволяет пригласить коллег в вашу команду, отправив им емайл с приглашением, а также управлять их подписками в настройках вашего аккаунта. Не тратьте время на настройку подписок для каждого члена команды индивидуально, забудьте о многочисленных платежках и разных циклах оплаты - одна команда для управления всеми!", 336 "settings.service.form.tabOnPremise": "Свой хостинг ⭐️",
337 "settings.team.headline" : "Команда", 337 "settings.service.form.team": "Команда",
338 "settings.team.intro" : "Вы и ваша команда испльзуете Franz? Вы теперь можете управлять Премиум подписками любого количества коллег, друзей и членов семьи, из одного и того же аккаунта.", 338 "settings.service.form.useHostedService": "Использовать собственный сервис {name}",
339 "settings.team.manageAction" : "Управляйте вашей Командой на meetfranz.com", 339 "settings.service.form.yourServices": "Ваши сервисы",
340 "settings.team.upgradeAction" : "Улучшить ваш аккаунт", 340 "settings.services.deletedInfo": "Сервис был удален",
341 "settings.user.form.accountType.company" : "Компания", 341 "settings.services.discoverServices": "Найти сервисы",
342 "settings.user.form.accountType.individual" : "Индивидуальный", 342 "settings.services.headline": "Ваши сервисы",
343 "settings.user.form.accountType.label" : "Тип аккаунта", 343 "settings.services.noServicesAdded": "Вы пока не добавили никаких сервисов.",
344 "settings.user.form.accountType.non-profit" : "Некоммерческий", 344 "settings.services.servicesRequestFailed": "Ошибка загрузки сервисов",
345 "settings.user.form.currentPassword" : "Текущий пароль", 345 "settings.services.tooltip.isDisabled": "Сервис отключен",
346 "settings.user.form.email" : "Адрес электронной почты", 346 "settings.services.tooltip.isMuted": "Все звуки отключены",
347 "settings.user.form.firstname" : "Имя", 347 "settings.services.tooltip.notificationsDisabled": "Уведомления отключены",
348 "settings.user.form.lastname" : "Фамилия", 348 "settings.services.updatedInfo": "Ваши изменения были сохранены",
349 "settings.user.form.newPassword" : "Новый пароль", 349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.workspace.add.form.name" : "Имя", 350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.workspace.add.form.submitButton" : "Создать окружение", 351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.workspace.form.buttonDelete" : "Удалить окружение", 352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.workspace.form.buttonSave" : "Сохранить окружение", 353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.workspace.form.name" : "Имя", 354 "settings.team.contentHeadline": "Ferdi для Команд",
355 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace", 355 "settings.team.copy": "Ferdi для Команд позволяет пригласить коллег в вашу команду, отправив им емайл с приглашением, а также управлять их подписками в настройках вашего аккаунта. Не тратьте время на настройку подписок для каждого члена команды индивидуально, забудьте о многочисленных платежках и разных циклах оплаты - одна команда для управления всеми!",
356 "settings.workspace.form.yourWorkspaces" : "Ваши окружения", 356 "settings.team.headline": "Команда",
357 "settings.workspaces.deletedInfo" : "Workspace has been deleted", 357 "settings.team.intro": "Вы и ваша команда испльзуете Ferdi? Вы теперь можете управлять Премиум подписками любого количества коллег, друзей и членов семьи, из одного и того же аккаунта.",
358 "settings.workspaces.headline" : "Ваши окружения", 358 "settings.team.manageAction": "Управляйте вашей Командой на getferdi.com",
359 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.", 359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.workspaces.tryReloadWorkspaces" : "Попробовать снова", 360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.workspaces.updatedInfo" : "Your changes have been saved", 361 "settings.team.upgradeAction": "Улучшить ваш аккаунт",
362 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces", 362 "settings.user.form.accountType.company": "Компания",
363 "settings.workspaces.workspaceFeatureInfo" : "Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.", 363 "settings.user.form.accountType.individual": "Индивидуальный",
364 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces", 364 "settings.user.form.accountType.label": "Тип аккаунта",
365 "sidebar.addNewService" : "Добавить новый сервис", 365 "settings.user.form.accountType.non-profit": "Некоммерческий",
366 "sidebar.closeTodosDrawer" : "Close Franz Todos", 366 "settings.user.form.currentPassword": "Текущий пароль",
367 "sidebar.closeWorkspaceDrawer" : "Закрыть меню окружений", 367 "settings.user.form.email": "Адрес электронной почты",
368 "sidebar.muteApp" : "Отключить уведомления и звук", 368 "settings.user.form.firstname": "Имя",
369 "sidebar.openTodosDrawer" : "Open Franz Todos", 369 "settings.user.form.lastname": "Фамилия",
370 "sidebar.openWorkspaceDrawer" : "Открыть меню окружений", 370 "settings.user.form.newPassword": "Новый пароль",
371 "sidebar.settings" : "Настройки", 371 "settings.workspace.add.form.name": "Имя",
372 "sidebar.unmuteApp" : "Включить уведомления и звук", 372 "settings.workspace.add.form.submitButton": "Создать окружение",
373 "signup.email.label" : "Адрес электронной почты", 373 "settings.workspace.form.buttonDelete": "Удалить окружение",
374 "signup.emailDuplicate" : "Пользователь с таким адресом электронной почты уже существует", 374 "settings.workspace.form.buttonSave": "Сохранить окружение",
375 "signup.firstname.label" : "Имя", 375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "signup.headline" : "Регистрация", 376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "signup.lastname.label" : "Фамилия", 377 "settings.workspace.form.name": "Имя",
378 "signup.legal.info" : "Создавая аккаунт Franz, вы принимаете", 378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "signup.legal.privacy" : "Политика конфиденциальности", 379 "settings.workspace.form.yourWorkspaces": "Ваши окружения",
380 "signup.legal.terms" : "Условия обслуживания", 380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "signup.link.login" : "Уже есть аккаунт, войти?", 381 "settings.workspaces.headline": "Ваши окружения",
382 "signup.password.label" : "Пароль", 382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "signup.submit.label" : "Создать аккаунт", 383 "settings.workspaces.tryReloadWorkspaces": "Попробовать снова",
384 "subscription.bestValue" : "Best value", 384 "settings.workspaces.updatedInfo": "Ваши изменения были сохранены",
385 "subscription.cta.activateTrial" : "Yes, start the free Franz Professional trial", 385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
386 "subscription.cta.allOptions" : "See all options", 386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "subscription.cta.choosePlan" : "Choose your plan", 387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "subscription.includedProFeatures" : "The Franz Professional Plan includes:", 388 "sidebar.addNewService": "Добавить новый сервис",
389 "subscription.interval.per" : "per {interval}", 389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "subscription.interval.perMonth" : "per month", 390 "sidebar.closeWorkspaceDrawer": "Закрыть меню окружений",
391 "subscription.interval.perMonthPerUser" : "per month & user", 391 "sidebar.lockFerdi": "Заблокировать Ferdi",
392 "subscription.planItem.upgradeAccount" : "Улучшить Аккаунт", 392 "sidebar.muteApp": "Отключить уведомления и звук",
393 "subscription.teaser.includedFeatures" : "Paid Franz Plans include:", 393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "subscription.teaser.intro" : "Franz 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!", 394 "sidebar.openWorkspaceDrawer": "Открыть меню окружений",
395 "subscriptionPopup.buttonCancel" : "Отмена", 395 "sidebar.settings": "Настройки",
396 "subscriptionPopup.buttonDone" : "Готово", 396 "sidebar.unmuteApp": "Включить уведомления и звук",
397 "tabs.item.deleteService" : "Удалить сервис", 397 "signup.email.label": "Адрес электронной почты",
398 "tabs.item.disableAudio" : "Отключить звук", 398 "signup.emailDuplicate": "Пользователь с таким адресом электронной почты уже существует",
399 "tabs.item.disableNotifications" : "Отключить уведомления", 399 "signup.firstname.label": "Имя",
400 "tabs.item.disableService" : "Отключить сервис", 400 "signup.headline": "Регистрация",
401 "tabs.item.edit" : "Правка", 401 "signup.lastname.label": "Фамилия",
402 "tabs.item.enableAudio" : "Включить аудио", 402 "signup.legal.info": "Создавая аккаунт Ferdi, вы принимаете",
403 "tabs.item.enableNotification" : "Включить уведомления", 403 "signup.legal.privacy": "Политика конфиденциальности",
404 "tabs.item.enableService" : "Включить службу", 404 "signup.legal.terms": "Условия обслуживания",
405 "tabs.item.reload" : "Перезагрузить", 405 "signup.link.login": "Уже есть аккаунт, войти?",
406 "validation.email" : "{field} недействительно", 406 "signup.password.label": "Пароль",
407 "validation.minLength" : "{field} должно быть не менее {length} символов", 407 "signup.submit.label": "Создать аккаунт",
408 "validation.oneRequired" : "At least one is required", 408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "validation.required" : "{field} обязательно", 409 "subscription.cta.allOptions": "See all options",
410 "validation.url" : "{field} является недействительной ссылкой", 410 "subscription.cta.choosePlan": "Choose your plan",
411 "webControls.back" : "Back", 411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "webControls.forward" : "Forward", 412 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:",
413 "webControls.goHome" : "Home", 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!",
414 "webControls.openInBrowser" : "Open in Browser", 414 "subscriptionPopup.buttonCancel": "Отмена",
415 "webControls.reload" : "Перезагрузить", 415 "subscriptionPopup.buttonDone": "Готово",
416 "welcome.loginButton" : "Вход", 416 "tabs.item.deleteService": "Удалить сервис",
417 "welcome.signupButton" : "Создать бесплатный аккаунт", 417 "tabs.item.disableAudio": "Отключить звук",
418 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace", 418 "tabs.item.disableNotifications": "Отключить уведомления",
419 "workspaceDrawer.allServices" : "Все сервисы", 419 "tabs.item.disableService": "Отключить сервис",
420 "workspaceDrawer.headline" : "Окружение", 420 "tabs.item.edit": "Правка",
421 "workspaceDrawer.item.contextMenuEdit" : "edit", 421 "tabs.item.enableAudio": "Включить звук",
422 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet", 422 "tabs.item.enableNotification": "Включить уведомления",
423 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace", 423 "tabs.item.enableService": "Включить сервис",
424 "workspaceDrawer.proFeatureBadge" : "Premium feature", 424 "tabs.item.reload": "Перезагрузить",
425 "workspaceDrawer.reactivatePremiumAccountLabel" : "Восстановить премиум аккаунт", 425 "validation.email": "{field} недействительно",
426 "workspaceDrawer.workspaceFeatureInfo" : "<p>Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.<\/p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.<\/p>", 426 "validation.minLength": "{field} должно быть не менее {length} символов",
427 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings", 427 "validation.oneRequired": "At least one is required",
428 "workspaces.switchingIndicator.switchingTo" : "Switching to" 428 "validation.required": "{field} обязательно",
429 "validation.url": "{field} является недействительной ссылкой",
430 "webControls.back": "Назад",
431 "webControls.forward": "Переслать",
432 "webControls.goHome": "Домой",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Перезагрузить",
435 "welcome.loginButton": "Вход",
436 "welcome.signupButton": "Создать бесплатный аккаунт",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "Все сервисы",
439 "workspaceDrawer.headline": "Окружение",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Восстановить премиум аккаунт",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
429} 448}
diff --git a/src/i18n/locales/sk.json b/src/i18n/locales/sk.json
index df8ee4b47..aa8c65005 100644
--- a/src/i18n/locales/sk.json
+++ b/src/i18n/locales/sk.json
@@ -1,429 +1,448 @@
1{ 1{
2 "app.errorHandler.action" : "Obnoviť", 2 "app.errorHandler.action": "Obnoviť",
3 "app.errorHandler.headline" : "Niečo sa pokazilo", 3 "app.errorHandler.headline": "Niečo sa pokazilo",
4 "feature.announcements.changelog.headline" : "Zmeny vo Franz {version}", 4 "feature.announcements.changelog.headline": "Zmeny vo Ferdi {version}",
5 "feature.delayApp.headline" : "Upgrade your Franz plan to skip the wait", 5 "feature.delayApp.headline": "Prosím, kúp si licenciu Ferdi Supporter a nebudeš musieť čakať",
6 "feature.delayApp.text" : "Franz bude pokračovať v {seconds} sekundách.", 6 "feature.delayApp.text": "Ferdi bude pokračovať v {seconds} sekundách.",
7 "feature.delayApp.trial.action" : "Áno, chcem bezplatnú 14-dňovú skúšobnú verziu Franz Professional", 7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort" : "Aktivujte bezplatnú skúšobnú verziu Franz Professional", 8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
9 "feature.delayApp.trial.headline" : "Get the free Franz Professional 14-days trial and skip the wait", 9 "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line",
10 "feature.delayApp.upgrade.action" : "Upgrade Franz", 10 "feature.delayApp.upgrade.action": "Získajte licenciu pre Ferdi podporu",
11 "feature.delayApp.upgrade.actionShort" : "Upgradovať účet", 11 "feature.delayApp.upgrade.actionShort": "Upgradovať účet",
12 "feature.planSelection.cta.ctaDowngradeFree" : "Downgrade to Free", 12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.planSelection.cta.stayOnFree" : "Stay on Free", 13 "feature.quickSwitch.search": "Search...",
14 "feature.planSelection.cta.trial" : "Start my free 14-days Trial", 14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.planSelection.cta.upgradePersonal" : "Choose Personal", 15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.planSelection.cta.upgradePro" : "Choose Professional", 16 "feature.shareFranz.action.email": "Odoslať ako e-mail",
17 "feature.planSelection.free.text" : "Basic functionality", 17 "feature.shareFranz.action.facebook": "Zdielať na Facebook-u",
18 "feature.planSelection.fullFeatureList" : "Complete comparison of all plans", 18 "feature.shareFranz.action.twitter": "Zdieľať na Twitter-i",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 19 "feature.shareFranz.headline": "Ferdi je lepší spolu!",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade" : "Choose Personal", 20 "feature.shareFranz.shareText.email": "Pridali sme {count} služieb do Ferdi! Získajte zadarmo aplikáciu pre WhatsApp, Messenger, Slack, Skype a iné na www.getferdi.com",
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.", 21 "feature.shareFranz.shareText.twitter": "Pridal som {count} služieb do Ferdi! Získajte zadarmo aplikáciu pre WhatsApp, Messenger, Slack, Skype a iné na www.getferdi.com /cc @FerdiMessenger",
22 "feature.planSelection.fullscreen.dialog.title" : "Downgrade your Franz Plan", 22 "feature.shareFranz.text": "Povedzte vašim priateľom a známym aký je Ferdi skvelý a pomôžte nám rozšíriť sa do sveta.",
23 "feature.planSelection.fullscreen.subheadline" : "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.", 23 "feature.todos.premium.info": "Ferdi Todos are available to premium users now!",
24 "feature.planSelection.fullscreen.welcome" : "Are you ready to choose, {name}?", 24 "feature.todos.premium.rollout": "Everyone else will have to wait a little longer.",
25 "feature.planSelection.personal.text" : "More services, no waiting - ideal for personal use.", 25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "feature.planSelection.pricesBasedOnAnnualPayment" : "All prices based on yearly payment", 26 "global.api.unhealthy": "Nedá sa pripojiť k online službám Ferdi",
27 "feature.planSelection.pro.text" : "Unlimited services and professional features for you - and your team.", 27 "global.franzProRequired": "Ferdi Professional Required",
28 "feature.serviceLimit.limitReached" : "Pridali ste {amount} z {limit} služieb, ktoré sú zahrnuté vo vašom pláne. Ak chcete pridať ďalšie služby, inovujte svoj účet.", 28 "global.notConnectedToTheInternet": "Nie ste pripojení k internetu.",
29 "feature.shareFranz.action.email" : "Odoslať ako e-mail", 29 "global.spellchecker.useDefault": "Použiť predvolené nastavenie systému ({default})",
30 "feature.shareFranz.action.facebook" : "Zdielať na Facebook-u", 30 "global.spellchecking.autodetect": "Automaticky rozpoznať jazyk",
31 "feature.shareFranz.action.twitter" : "Zdieľať na Twitter-i", 31 "global.spellchecking.autodetect.short": "Automatický",
32 "feature.shareFranz.headline" : "Franz je lepší spolu!", 32 "global.spellchecking.language": "Jazyk kontroly pravopisu",
33 "feature.shareFranz.shareText.email" : "Pridali sme {count} služieb do Franz! Získajte zadarmo aplikáciu pre WhatsApp, Messenger, Slack, Skype a iné na www.meetfranz.com", 33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "feature.shareFranz.shareText.twitter" : "Pridal som {count} služieb do Franz! Získajte zadarmo aplikáciu pre WhatsApp, Messenger, Slack, Skype a iné na www.meetfranz.com \/cc @FranzMessenger", 34 "import.headline": "Importovať vaše služby z Ferdi 4",
35 "feature.shareFranz.text" : "Povedzte vašim priateľom a známym aký je Franz skvelý a pomôžte nám rozšíriť sa do sveta.", 35 "import.notSupportedHeadline": "Služby zatiaľ nie sú podporované vo verzii Ferdi 5",
36 "feature.todos.premium.info" : "Franz Todos sú teraz k dispozícii pre prémiových používateľov!", 36 "import.skip.label": "Chcem pridať služby ručne",
37 "feature.todos.premium.rollout" : "Všetci ostatní budú musieť počkať trochu dlhšie.", 37 "import.submit.label": "Importovať služby",
38 "feature.todos.premium.upgrade" : "Upgrade Account", 38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "feature.trialStatusBar.cta" : "Upgrade now", 39 "infobar.buttonChangelog": "Čo je nového?",
40 "feature.trialStatusBar.expired" : "Your free Franz {plan} Trial has expired, please upgrade your account.", 40 "infobar.buttonInstallUpdate": "Reštartovať a nainštalovať aktualizáciu",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 41 "infobar.buttonReloadServices": "Obnoviť služby",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade" : "Choose Personal", 42 "infobar.requiredRequestsFailed": "Nie je možné načítať služby a informácie o používateľovi",
43 "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.", 43 "infobar.servicesUpdated": "Vaše služby boli aktualizované.",
44 "feature.trialStatusBar.fullscreen.dialog.title" : "Downgrade your Franz Plan", 44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "feature.trialStatusBar.restTime" : "Your Free Franz {plan} Trial ends in {time}.", 45 "infobar.updateAvailable": "Je k dispozícii nová aktualizácia Ferdi.",
46 "global.api.unhealthy" : "Nedá sa pripojiť k online službám Franz", 46 "invite.email.label": "E-mailová adresa",
47 "global.franzProRequired" : "Franz Professional Required", 47 "invite.headline.friends": "Pozvite troch vašich priateľov alebo kolegov",
48 "global.notConnectedToTheInternet" : "Nie ste pripojení k internetu.", 48 "invite.name.label": "Meno",
49 "global.spellchecker.useDefault" : "Použiť predvolené nastavenie systému ({default})", 49 "invite.skip.label": "Chcem to urobiť neskôr",
50 "global.spellchecking.autodetect" : "Automaticky rozpoznať jazyk", 50 "invite.submit.label": "Poslať pozvánky",
51 "global.spellchecking.autodetect.short" : "Automatický", 51 "invite.successInfo": "Pozvánky boli úspešne odoslané",
52 "global.spellchecking.language" : "Jazyk kontroly pravopisu", 52 "locked.headline": "Locked",
53 "global.upgradeButton.upgradeToPro" : "Upgrade to Franz Professional", 53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "import.headline" : "Importovať vaše služby z Franz 4", 54 "locked.invalidCredentials": "Password invalid",
55 "import.notSupportedHeadline" : "Služby zatiaľ nie sú podporované vo verzii Franz 5", 55 "locked.password.label": "Password",
56 "import.skip.label" : "Chcem pridať služby ručne", 56 "locked.submit.label": "Unlock",
57 "import.submit.label" : "Importovať služby", 57 "login.changeServer": "Change server",
58 "infobar.buttonChangelog" : "Čo je nového?", 58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "infobar.buttonInstallUpdate" : "Reštartovať a nainštalovať aktualizáciu", 59 "login.customServerSuggestion": "Try importing your Franz account",
60 "infobar.buttonReloadServices" : "Obnoviť služby", 60 "login.email.label": "E-mailová adresa",
61 "infobar.requiredRequestsFailed" : "Nie je možné načítať služby a informácie o používateľovi", 61 "login.headline": "Prihlásiť sa",
62 "infobar.servicesUpdated" : "Vaše služby boli aktualizované.", 62 "login.invalidCredentials": "E-mail alebo heslo nesúhlasia",
63 "infobar.trialActivated" : "Your trial was successfully activated. Happy messaging!", 63 "login.link.password": "Obnoviť heslo",
64 "infobar.updateAvailable" : "Je k dispozícii nová aktualizácia Franz.", 64 "login.link.signup": "Vytvoriť používateľský účet zdarma",
65 "invite.email.label" : "E-mailová adresa", 65 "login.password.label": "Password",
66 "invite.headline.friends" : "Pozvite troch vašich priateľov alebo kolegov", 66 "login.serverLogout": "Vaša relácia vypršala, prihláste sa prosím znovu.",
67 "invite.name.label" : "Meno", 67 "login.submit.label": "Prihlásiť sa",
68 "invite.skip.label" : "Chcem to urobiť neskôr", 68 "login.tokenExpired": "Vaša relácia vypršala, prihláste sa prosím znovu.",
69 "invite.submit.label" : "Poslať pozvánky", 69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "invite.successInfo" : "Pozvánky boli úspešne odoslané", 70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "login.email.label" : "E-mailová adresa", 71 "menu.app.about": "O aplikácii",
72 "login.headline" : "Prihlásiť sa", 72 "menu.app.announcement": "Čo je nové?",
73 "login.invalidCredentials" : "E-mail alebo heslo nesúhlasia", 73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "login.link.password" : "Obnoviť heslo", 74 "menu.app.checkForUpdates": "Skontrolovať aktualizácie",
75 "login.link.signup" : "Vytvoriť používateľský účet zdarma", 75 "menu.app.hide": "Skryť",
76 "login.password.label" : "Heslo", 76 "menu.app.hideOthers": "Skryť ostatné",
77 "login.serverLogout" : "Vaša relácia vypršala, prihláste sa prosím znovu.", 77 "menu.app.quit": "Ukončiť",
78 "login.submit.label" : "Prihlásiť sa", 78 "menu.app.settings": "Nastavenia",
79 "login.tokenExpired" : "Vaša relácia vypršala, prihláste sa prosím znovu.", 79 "menu.app.unhide": "Odkryť",
80 "menu.Todoss.closeTodosDrawer" : "Close Todos drawer", 80 "menu.edit": "Upraviť",
81 "menu.Todoss.openTodosDrawer" : "Open Todos drawer", 81 "menu.edit.copy": "Kopírovať",
82 "menu.app.about" : "O aplikácii", 82 "menu.edit.cut": "Vystrihnúť",
83 "menu.app.announcement" : "Čo je nové?", 83 "menu.edit.delete": "Zmazať",
84 "menu.app.checkForUpdates" : "Skontrolovať aktualizácie", 84 "menu.edit.emojiSymbols": "Emoji a symboly",
85 "menu.app.hide" : "Skryť", 85 "menu.edit.paste": "Vložiť",
86 "menu.app.hideOthers" : "Skryť ostatné", 86 "menu.edit.pasteAndMatchStyle": "Vložiť s prevzatím jestvujúceho štýlu",
87 "menu.app.quit" : "Ukončiť", 87 "menu.edit.redo": "Znovu",
88 "menu.app.settings" : "Nastavenia", 88 "menu.edit.selectAll": "Vybrať všetko",
89 "menu.app.unhide" : "Odkryť", 89 "menu.edit.speech": "Rozprávanie",
90 "menu.edit" : "Upraviť", 90 "menu.edit.startDictation": "Začať diktovanie",
91 "menu.edit.copy" : "Kopírovať", 91 "menu.edit.startSpeaking": "Začať rozprávanie",
92 "menu.edit.cut" : "Vystrihnúť", 92 "menu.edit.stopSpeaking": "Zastaviť rozprávanie",
93 "menu.edit.delete" : "Zmazať", 93 "menu.edit.undo": "Späť",
94 "menu.edit.emojiSymbols" : "Emoji a symboly", 94 "menu.file": "Súbor",
95 "menu.edit.paste" : "Vložiť", 95 "menu.help": "Pomocník",
96 "menu.edit.pasteAndMatchStyle" : "Vložiť s prevzatím jestvujúceho štýlu", 96 "menu.help.changelog": "Záznam zmien",
97 "menu.edit.redo" : "Znovu", 97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.edit.selectAll" : "Vybrať všetko", 98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.edit.speech" : "Rozprávanie", 99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.edit.startDictation" : "Začať diktovanie", 100 "menu.help.learnMore": "Zistiť viac",
101 "menu.edit.startSpeaking" : "Začať rozprávanie", 101 "menu.help.privacy": "Vyhlásenie o ochrane súkromia",
102 "menu.edit.stopSpeaking" : "Zastaviť rozprávanie", 102 "menu.help.support": "Podpora",
103 "menu.edit.undo" : "Späť", 103 "menu.help.tos": "Podmienky použitia",
104 "menu.file" : "Súbor", 104 "menu.services": "Služby",
105 "menu.help" : "Pomocník", 105 "menu.services.activatePreviousService": "Aktivovať predchádzajúcu službu",
106 "menu.help.changelog" : "Záznam zmien", 106 "menu.services.addNewService": "Pridať novú službu...",
107 "menu.help.debugInfo" : "Copy Debug Information", 107 "menu.services.goHome": "Home",
108 "menu.help.debugInfoCopiedBody" : "Your Debug Information has been copied to your clipboard.", 108 "menu.services.setNextServiceActive": "Aktivujte ďalšiu službu",
109 "menu.help.debugInfoCopiedHeadline" : "Franz Debug Information", 109 "menu.todos": "Todos",
110 "menu.help.learnMore" : "Zistiť viac", 110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.help.privacy" : "Vyhlásenie o ochrane súkromia", 111 "menu.view": "Zobraziť",
112 "menu.help.support" : "Podpora", 112 "menu.view.back": "Back",
113 "menu.help.tos" : "Podmienky použitia", 113 "menu.view.enterFullScreen": "Na celú obrazovku",
114 "menu.services" : "Služby", 114 "menu.view.exitFullScreen": "Ukončiť režim na celú obrazovku",
115 "menu.services.activatePreviousService" : "Aktivovať predchádzajúcu službu", 115 "menu.view.forward": "Forward",
116 "menu.services.addNewService" : "Pridať novú službu...", 116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.services.goHome" : "Home", 117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.services.setNextServiceActive" : "Aktivujte ďalšiu službu", 118 "menu.view.reloadFranz": "Obnoviť Ferdi",
119 "menu.todos" : "Todos", 119 "menu.view.reloadService": "Obnoviť službu",
120 "menu.todos.enableTodos" : "Enable Todos", 120 "menu.view.resetZoom": "Pôvodná veľkosť",
121 "menu.view" : "Zobraziť", 121 "menu.view.toggleDevTools": "Prepnúť vývojárske nástroje",
122 "menu.view.enterFullScreen" : "Na celú obrazovku", 122 "menu.view.toggleFullScreen": "Prepnúť na celú obrazovku",
123 "menu.view.exitFullScreen" : "Ukončiť režim na celú obrazovku", 123 "menu.view.toggleServiceDevTools": "Prepnúť vývojárske nástroje služby",
124 "menu.view.reloadFranz" : "Obnoviť Franz", 124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.reloadService" : "Obnoviť službu", 125 "menu.view.zoomIn": "Priblížiť",
126 "menu.view.resetZoom" : "Pôvodná veľkosť", 126 "menu.view.zoomOut": "Oddialiť",
127 "menu.view.toggleDevTools" : "Prepnúť vývojárske nástroje", 127 "menu.window": "Okno",
128 "menu.view.toggleFullScreen" : "Prepnúť na celú obrazovku", 128 "menu.window.close": "Zatvoriť",
129 "menu.view.toggleServiceDevTools" : "Prepnúť vývojárske nástroje služby", 129 "menu.window.minimize": "Minimalizovať",
130 "menu.view.toggleTodosDevTools" : "Toggle Todos Developer Tools", 130 "menu.workspaces": "Pracovný priestor",
131 "menu.view.zoomIn" : "Priblížiť", 131 "menu.workspaces.addNewWorkspace": "Pridať nový pracovný priestor ...",
132 "menu.view.zoomOut" : "Oddialiť", 132 "menu.workspaces.closeWorkspaceDrawer": "Zavrieť workspace záložku",
133 "menu.window" : "Okno", 133 "menu.workspaces.defaultWorkspace": "Všetky služby",
134 "menu.window.close" : "Zatvoriť", 134 "menu.workspaces.openWorkspaceDrawer": "Otvoriť workspace záložku",
135 "menu.window.minimize" : "Minimalizovať", 135 "password.email.label": "E-mailová adresa",
136 "menu.workspaces" : "Pracovný priestor", 136 "password.headline": "Obnoviť heslo",
137 "menu.workspaces.addNewWorkspace" : "Pridať nový pracovný priestor ...", 137 "password.link.login": "Prihlásiť sa do vášho účtu",
138 "menu.workspaces.closeWorkspaceDrawer" : "Zavrieť workspace záložku", 138 "password.link.signup": "Vytvoriť používateľský účet zdarma",
139 "menu.workspaces.defaultWorkspace" : "Všetky služby", 139 "password.noUser": "Používateľ s touto e-mailovou adresou nebol nájdený",
140 "menu.workspaces.openWorkspaceDrawer" : "Otvoriť workspace záložku", 140 "password.submit.label": "Odoslať",
141 "password.email.label" : "E-mailová adresa", 141 "password.successInfo": "Skontrolujte prosím váš e-mail",
142 "password.headline" : "Obnoviť heslo", 142 "premiumFeature.button.upgradeAccount": "Upgradovať účet",
143 "password.link.login" : "Prihlásiť sa do vášho účtu", 143 "pricing.features.adFree": "Forever ad-free",
144 "password.link.signup" : "Vytvoriť používateľský účet zdarma", 144 "pricing.features.appDelays": "No Waiting Screens",
145 "password.noUser" : "Používateľ s touto e-mailovou adresou nebol nájdený", 145 "pricing.features.customWebsites": "Add Custom Websites",
146 "password.submit.label" : "Odoslať", 146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "password.successInfo" : "Skontrolujte prosím váš e-mail", 147 "pricing.features.serviceProxies": "Service Proxies",
148 "premiumFeature.button.upgradeAccount" : "Upgradovať účet", 148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.accountSync" : "Account Synchronisation", 149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.adFree" : "Forever ad-free", 150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.appDelays" : "No Waiting Screens", 151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.customWebsites" : "Add Custom Websites", 152 "pricing.features.workspaces": "Pracovný priestor",
153 "pricing.features.desktopNotifications" : "Desktop Notifications", 153 "pricing.plan.free": "Ferdi Free",
154 "pricing.features.onPremise" : "On-premise & other Hosted Services", 154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.features.recipes" : "Choose from more than 70 Services", 155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.features.serviceProxies" : "Service Proxies", 156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.features.spellchecker" : "Spellchecker support", 157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.features.teamManagement" : "Team Management", 158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.features.thirdPartyServices" : "Install 3rd party services", 159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.features.unlimitedServices" : "Add unlimited services", 160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.features.upToSixServices" : "Add up to 6 services", 161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.features.upToThreeServices" : "Add up to 3 services", 162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.features.workspaces" : "Workspaces", 163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.plan.free" : "Free", 164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.plan.legacy" : "Premium", 165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.plan.personal" : "Personal", 166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.plan.personal-monthly" : "Personal Monthly", 167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.plan.personal-yearly" : "Personal Yearly", 168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.plan.pro" : "Professional", 169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "pricing.plan.pro-monthly" : "Professional Monthly", 170 "service.crashHandler.action": "Znovu načítať {name}",
171 "pricing.plan.pro-yearly" : "Professional Yearly", 171 "service.crashHandler.autoReload": "Najbližší pokus o automatické obnovenie {name} o {seconds} sekúnd",
172 "pricing.trial.cta.accept" : "Start my 14-day Franz Professional Trial ", 172 "service.crashHandler.headline": "Ale nie!",
173 "pricing.trial.cta.skip" : "Continue to Franz", 173 "service.crashHandler.text": "{name} spôsobil chybu.",
174 "pricing.trial.cta.start" : "Start using Franz", 174 "service.disabledHandler.action": "Zapnúť {name}",
175 "pricing.trial.error" : "Sorry, we could not activate your trial!", 175 "service.disabledHandler.headline": "{name} je vypnuté",
176 "pricing.trial.features.headline" : "Franz Professional includes:", 176 "service.errorHandler.action": "Znovu načítať {name}",
177 "pricing.trial.headline.pro" : "Hi {name}, welcome to Franz", 177 "service.errorHandler.editAction": "Upraviť {name}",
178 "pricing.trial.intro.happyMessaging" : "Happy messaging,", 178 "service.errorHandler.headline": "Ale nie!",
179 "pricing.trial.intro.specialTreat" : "We have a special treat for you.", 179 "service.errorHandler.message": "Chyba",
180 "pricing.trial.intro.tryPro" : "Enjoy the full Franz Professional experience completely free for 14 days.", 180 "service.errorHandler.text": "{name} sa nepodarilo načítať.",
181 "pricing.trial.terms.automaticTrialEnd" : "Your free trial ends automatically after 14 days", 181 "service.restrictedHandler.action": "Upgrade Account",
182 "pricing.trial.terms.headline" : "No strings attached", 182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "pricing.trial.terms.noCreditCard" : "No credit card required", 183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "pricing.trial.terms.trialWorth" : "Free trial (normally {currency}{price} per month)", 184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.crashHandler.action" : "Znovu načítať {name}", 185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.crashHandler.autoReload" : "Najbližší pokus o automatické obnovenie {name} o {seconds} sekúnd", 186 "service.webviewLoader.loading": "Načítava",
187 "service.crashHandler.headline" : "Ale nie!", 187 "services.getStarted": "Začíname",
188 "service.crashHandler.text" : "{name} spôsobil chybu.", 188 "services.login": "Please login to use Ferdi.",
189 "service.disabledHandler.action" : "Zapnúť {name}", 189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "service.disabledHandler.headline" : "{name} je vypnuté", 190 "services.serverless": "Use Ferdi without an Account",
191 "service.errorHandler.action" : "Znovu načítať {name}", 191 "services.welcome": "Vítajte v aplikácii Ferdi",
192 "service.errorHandler.editAction" : "Upraviť {name}", 192 "settings.account.account.editButton": "Upraviť účet",
193 "service.errorHandler.headline" : "Ale nie!", 193 "settings.account.accountType.basic": "Základný účet",
194 "service.errorHandler.message" : "Chyba", 194 "settings.account.accountType.premium": "Prémiový účet podporovateľa",
195 "service.errorHandler.text" : "{name} sa nepodarilo načítať.", 195 "settings.account.buttonSave": "Aktualizovať profil",
196 "service.restrictedHandler.action" : "Upgrade Account", 196 "settings.account.deleteAccount": "Odstrániť účet",
197 "service.restrictedHandler.customUrl.headline" : "Franz Professional Plan required", 197 "settings.account.deleteEmailSent": "Bol vám odoslaný e-mail s odkazom pre potvrdenie odstránenia vášho účtu. Váš účet a údaje sa nebudú dať obnoviť!",
198 "service.restrictedHandler.customUrl.text" : "Please upgrade to the Franz Professional plan to use custom urls & self hosted services.", 198 "settings.account.deleteInfo": "Ak už nepotrebujete váš Ferdi účet, tu ho môžete zmazať spolu so všetkými prislúchajúcimi údajmi.",
199 "service.restrictedHandler.serviceLimit.headline" : "You have reached your service limit.", 199 "settings.account.headline": "Účet",
200 "service.restrictedHandler.serviceLimit.text" : "Please upgrade your account to use more than {count} services.", 200 "settings.account.headlineAccount": "Informácie o účte",
201 "service.webviewLoader.loading" : "Načítava", 201 "settings.account.headlineDangerZone": "Nebezpečná zóna",
202 "services.getStarted" : "Začíname", 202 "settings.account.headlineInvoices": "Faktúry",
203 "services.welcome" : "Vítajte v aplikácii Franz", 203 "settings.account.headlinePassword": "Zmeniť heslo",
204 "settings.account.account.editButton" : "Upraviť účet", 204 "settings.account.headlineProfile": "Aktualizovať profil",
205 "settings.account.accountType.basic" : "Základný účet", 205 "settings.account.headlineSubscription": "Vaše odoberanie",
206 "settings.account.accountType.premium" : "Prémiový účet podporovateľa", 206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.buttonSave" : "Aktualizovať profil", 207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.deleteAccount" : "Odstrániť účet", 208 "settings.account.invoiceDownload": "Prevziať",
209 "settings.account.deleteEmailSent" : "Bol vám odoslaný e-mail s odkazom pre potvrdenie odstránenia vášho účtu. Váš účet a údaje sa nebudú dať obnoviť!", 209 "settings.account.manageSubscription.label": "Spravovať vaše odoberanie",
210 "settings.account.deleteInfo" : "Ak už nepotrebujete váš Franz účet, tu ho môžete zmazať spolu so všetkými prislúchajúcimi údajmi.", 210 "settings.account.successInfo": "Vaše zmeny boli uložené",
211 "settings.account.headline" : "Účet", 211 "settings.account.trial": "Free Trial",
212 "settings.account.headlineAccount" : "Informácie o účte", 212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.headlineDangerZone" : "Nebezpečná zóna", 213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.headlineInvoices" : "Faktúry", 214 "settings.account.tryReloadServices": "Skúsiť znova",
215 "settings.account.headlinePassword" : "Zmeniť heslo", 215 "settings.account.tryReloadUserInfoRequest": "Skúsiť znova",
216 "settings.account.headlineProfile" : "Aktualizovať profil", 216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.headlineSubscription" : "Vaše odoberanie", 217 "settings.account.userInfoRequestFailed": "Nebolo možné načítať informácie o používateľovi",
218 "settings.account.headlineTrialUpgrade" : "Get the free 14 day Franz Professional Trial", 218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.account.headlineUpgradeAccount" : "Upgrade your account & get the full Franz experience", 219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.account.invoiceDownload" : "Prevziať", 220 "settings.app.buttonClearAllCache": "Vyčistiť vyrovnávaciu pamäť",
221 "settings.account.manageSubscription.label" : "Spravovať vaše odoberanie", 221 "settings.app.buttonInstallUpdate": "Reštartovať a nainštalovať aktualizáciu",
222 "settings.account.successInfo" : "Vaše zmeny boli uložené", 222 "settings.app.buttonSearchForUpdate": "Skontrolovať aktualizácie",
223 "settings.account.trial" : "Free Trial", 223 "settings.app.cacheInfo": "Vyrovnávacia pamäť Ferdi momentálne používa {size} miesta na disku.",
224 "settings.account.trialEndsIn" : "Your free trial ends in {duration}.", 224 "settings.app.currentVersion": "Súčasná verzia:",
225 "settings.account.trialUpdateBillingInfo" : "Please update your billing info to continue using {license} after your trial period.", 225 "settings.app.form.accentColor": "Accent color",
226 "settings.account.tryReloadServices" : "Skúsiť znova", 226 "settings.app.form.autoLaunchInBackground": "Otvoriť na pozadí",
227 "settings.account.tryReloadUserInfoRequest" : "Skúsiť znova", 227 "settings.app.form.autoLaunchOnStart": "Spustiť Ferdi pri štarte",
228 "settings.account.upgradeToPro.label" : "Upgrade to Franz Professional", 228 "settings.app.form.beta": "Vrátane beta verzií",
229 "settings.account.userInfoRequestFailed" : "Nebolo možné načítať informácie o používateľovi", 229 "settings.app.form.darkMode": "Spustiť Dark Side",
230 "settings.account.yourLicense" : "Your Franz License", 230 "settings.app.form.enableGPUAcceleration": "Zapnúť GPU zrýchlenie",
231 "settings.app.buttonClearAllCache" : "Vyčistiť vyrovnávaciu pamäť", 231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.buttonInstallUpdate" : "Reštartovať a nainštalovať aktualizáciu", 232 "settings.app.form.enableSpellchecking": "Zapnúť kontrolu pravopisu",
233 "settings.app.buttonSearchForUpdate" : "Skontrolovať aktualizácie", 233 "settings.app.form.enableSystemTray": "Zobrazovať Ferdi v systémovej lište",
234 "settings.app.cacheInfo" : "Vyrovnávacia pamäť Franz momentálne používa {size} miesta na disku.", 234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.currentVersion" : "Súčasná verzia:", 235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.autoLaunchInBackground" : "Otvoriť na pozadí", 236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.autoLaunchOnStart" : "Spustiť Franz pri štarte", 237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.beta" : "Vrátane beta verzií", 238 "settings.app.form.language": "Jazyk",
239 "settings.app.form.darkMode" : "Spustiť Dark Side", 239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.enableGPUAcceleration" : "Zapnúť GPU zrýchlenie", 240 "settings.app.form.minimizeToSystemTray": "Minimalizovať Ferdi do systémovej lišty",
241 "settings.app.form.enableSpellchecking" : "Zapnúť kontrolu pravopisu", 241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.enableSystemTray" : "Zobrazovať Franz v systémovej lište", 242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.enableTodos" : "Enable Franz Todos", 243 "settings.app.form.runInBackground": "Po zatvorení okna ponechať Ferdi spustený na pozadí",
244 "settings.app.form.keepAllWorkspacesLoaded" : "Keep all workspaces loaded", 244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.language" : "Jazyk", 245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.minimizeToSystemTray" : "Minimalizovať Franz do systémovej lišty", 246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.runInBackground" : "Po zatvorení okna ponechať Franz spustený na pozadí", 247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices" : "Zobraziť záložky vypnutých služieb", 248 "settings.app.form.showDisabledServices": "Zobraziť záložky vypnutých služieb",
249 "settings.app.form.showMessagesBadgesWhenMuted" : "Zobraziť symbol pre neprečítané správy, keď sú vypnuté upozornenia", 249 "settings.app.form.showMessagesBadgesWhenMuted": "Zobraziť symbol pre neprečítané správy, keď sú vypnuté upozornenia",
250 "settings.app.headline" : "Nastavenia", 250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.headlineAdvanced" : "Pokročilé", 251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.headlineAppearance" : "Vzhľad", 252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headlineGeneral" : "Všeobecné", 253 "settings.app.headline": "Nastavenia",
254 "settings.app.headlineLanguage" : "Jazyk", 254 "settings.app.headlineAdvanced": "Pokročilé",
255 "settings.app.headlineUpdates" : "Aktualizácie", 255 "settings.app.headlineAppearance": "Vzhľad",
256 "settings.app.languageDisclaimer" : "Oficiálne preklady sú angličtina a nemčina. Všetky ostatné jazyky sú preklady založené na komunite.", 256 "settings.app.headlineGeneral": "Všeobecné",
257 "settings.app.restartRequired" : "Zmeny vyžadujú reštart", 257 "settings.app.headlineLanguage": "Jazyk",
258 "settings.app.subheadlineCache" : "Vyrovnávacia pamäť", 258 "settings.app.headlineUpdates": "Aktualizácie",
259 "settings.app.translationHelp" : "Pomôžte nám preložiť Franz do svojho jazyka.", 259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.updateStatusAvailable" : "Je dostupná aktualizácia, sťahuje sa...", 260 "settings.app.languageDisclaimer": "Oficiálne preklady sú angličtina a nemčina. Všetky ostatné jazyky sú preklady založené na komunite.",
261 "settings.app.updateStatusSearching" : "Vyhľadáva aktualizácie", 261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.updateStatusUpToDate" : "Používate najnovšiu verziu Franz", 262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.invite.headline" : "Pozvať priateľov", 263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.navigation.account" : "Účet", 264 "settings.app.restartRequired": "Zmeny vyžadujú reštart",
265 "settings.navigation.availableServices" : "Dostupné služby", 265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.navigation.inviteFriends" : "Pozvať priateľov", 266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.navigation.logout" : "Odhlásiť sa", 267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.navigation.settings" : "Nastavenia", 268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.navigation.team" : "Spravovať tím", 269 "settings.app.subheadlineCache": "Vyrovnávacia pamäť",
270 "settings.navigation.yourServices" : "Vaše služby", 270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.navigation.yourWorkspaces" : "Tvoje pracovné priestory", 271 "settings.app.translationHelp": "Pomôžte nám preložiť Ferdi do svojho jazyka.",
272 "settings.recipes.all" : "Všetky služby", 272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.recipes.custom" : "Custom Services", 273 "settings.app.updateStatusAvailable": "Je dostupná aktualizácia, sťahuje sa...",
274 "settings.recipes.customService.headline.communityRecipes" : "Community 3rd Party Recipes", 274 "settings.app.updateStatusSearching": "Vyhľadáva aktualizácie",
275 "settings.recipes.customService.headline.customRecipes" : "Custom 3rd Party Recipes", 275 "settings.app.updateStatusUpToDate": "Používate najnovšiu verziu Ferdi",
276 "settings.recipes.customService.headline.devRecipes" : "Your Development Service Recipes", 276 "settings.invite.headline": "Pozvať priateľov",
277 "settings.recipes.customService.intro" : "To add a custom service, copy the service recipe to:", 277 "settings.navigation.account": "Účet",
278 "settings.recipes.customService.openDevDocs" : "Developer Documentation", 278 "settings.navigation.availableServices": "Dostupné služby",
279 "settings.recipes.customService.openFolder" : "Open folder", 279 "settings.navigation.logout": "Odhlásiť sa",
280 "settings.recipes.headline" : "Dostupné služby", 280 "settings.navigation.settings": "Nastavenia",
281 "settings.recipes.missingService" : "Chýba vám služba?", 281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.recipes.mostPopular" : "Najpopulárnejšie", 282 "settings.navigation.team": "Spravovať tím",
283 "settings.recipes.nothingFound" : "Ľutujeme, ale žiadna služba nezodpovedá vami hľadanému výrazu.", 283 "settings.navigation.yourServices": "Vaše služby",
284 "settings.recipes.servicesSuccessfulAddedInfo" : "Služba bola úspešne pridaná", 284 "settings.navigation.yourWorkspaces": "Tvoje pracovné priestory",
285 "settings.searchService" : "Vyhľadať službu", 285 "settings.recipes.all": "Všetky služby",
286 "settings.service.error.goBack" : "Späť na služby", 286 "settings.recipes.custom": "Custom Services",
287 "settings.service.error.headline" : "Chyba", 287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.service.error.message" : "Nepodarilo sa načítať službu.", 288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.service.form.addServiceHeadline" : "Pridať {name}", 289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.service.form.availableServices" : "Dostupné služby", 290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.service.form.customUrl" : "Vlastný server", 291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.service.form.customUrlPremiumInfo" : "Ak chcete pridať vlastné hostované služby, potrebujete účet Franz Premium Supporter.", 292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.service.form.customUrlUpgradeAccount" : "Povýšte váš účet", 293 "settings.recipes.headline": "Dostupné služby",
294 "settings.service.form.customUrlValidationError" : "Nebolo možné overiť vlastný server: {name}.", 294 "settings.recipes.missingService": "Chýba vám služba?",
295 "settings.service.form.deleteButton" : "Odstrániť službu", 295 "settings.recipes.mostPopular": "Najpopulárnejšie",
296 "settings.service.form.editServiceHeadline" : "Upraviť {name}", 296 "settings.recipes.nothingFound": "Ľutujeme, ale žiadna služba nezodpovedá vami hľadanému výrazu.",
297 "settings.service.form.enableAudio" : "Zapnúť zvuk", 297 "settings.recipes.servicesSuccessfulAddedInfo": "Služba bola úspešne pridaná",
298 "settings.service.form.enableBadge" : "Zobraziť symboly neprečítaných správ", 298 "settings.searchService": "Vyhľadať službu",
299 "settings.service.form.enableDarkMode" : "Zapnúť Dark Mode", 299 "settings.service.error.goBack": "Späť na služby",
300 "settings.service.form.enableNotification" : "Povoliť oznámenia", 300 "settings.service.error.headline": "Chyba",
301 "settings.service.form.enableService" : "Povoliť službu", 301 "settings.service.error.message": "Nepodarilo sa načítať službu.",
302 "settings.service.form.headlineBadges" : "Symboly neprečítaných správ", 302 "settings.service.form.addServiceHeadline": "Pridať {name}",
303 "settings.service.form.headlineGeneral" : "Všeobecné", 303 "settings.service.form.availableServices": "Dostupné služby",
304 "settings.service.form.headlineNotifications" : "Oznámenia", 304 "settings.service.form.customUrl": "Vlastný server",
305 "settings.service.form.icon" : "Vlastná ikona", 305 "settings.service.form.customUrlPremiumInfo": "Ak chcete pridať vlastné hostované služby, potrebujete účet Ferdi Premium Supporter.",
306 "settings.service.form.iconDelete" : "Zmazať", 306 "settings.service.form.customUrlUpgradeAccount": "Povýšte váš účet",
307 "settings.service.form.iconUpload" : "Presuňte váš obrázok, alebo kliknite sem", 307 "settings.service.form.customUrlValidationError": "Nebolo možné overiť vlastný server: {name}.",
308 "settings.service.form.indirectMessageInfo" : "Budete dostávať upozornenia na všetky nové správy v kanáli, nielen na @username, @channel, @here, ......", 308 "settings.service.form.deleteButton": "Odstrániť službu",
309 "settings.service.form.indirectMessages" : "Zobraziť symbol správy pre všetky nové správy", 309 "settings.service.form.editServiceHeadline": "Upraviť {name}",
310 "settings.service.form.isMutedInfo" : "Ak je vypnuté, všetky zvuky oznámení a iné prehrávania budú stíšené", 310 "settings.service.form.enableAudio": "Zapnúť zvuk",
311 "settings.service.form.name" : "Meno", 311 "settings.service.form.enableBadge": "Zobraziť symboly neprečítaných správ",
312 "settings.service.form.proxy.headline" : "HTTP\/HTTPS Proxy Settings", 312 "settings.service.form.enableDarkMode": "Zapnúť Dark Mode",
313 "settings.service.form.proxy.host" : "Proxy Host\/IP", 313 "settings.service.form.enableNotification": "Povoliť oznámenia",
314 "settings.service.form.proxy.info" : "Nastavenia servera proxy sa nebudú synchronizovať so servermi Franz.", 314 "settings.service.form.enableService": "Povoliť službu",
315 "settings.service.form.proxy.isEnabled" : "Použiť Proxy", 315 "settings.service.form.headlineBadges": "Symboly neprečítaných správ",
316 "settings.service.form.proxy.password" : "Heslo (voliteľné)", 316 "settings.service.form.headlineGeneral": "Všeobecné",
317 "settings.service.form.proxy.port" : "Port", 317 "settings.service.form.headlineNotifications": "Oznámenia",
318 "settings.service.form.proxy.restartInfo" : "Po zmene nastavení servera proxy reštartujte Franz.", 318 "settings.service.form.icon": "Vlastná ikona",
319 "settings.service.form.proxy.user" : "Používateľ (voliteľné)", 319 "settings.service.form.iconDelete": "Zmazať",
320 "settings.service.form.saveButton" : "Uložiť službu", 320 "settings.service.form.iconUpload": "Presuňte váš obrázok, alebo kliknite sem",
321 "settings.service.form.tabHosted" : "Hostované", 321 "settings.service.form.indirectMessageInfo": "Budete dostávať upozornenia na všetky nové správy v kanáli, nielen na @username, @channel, @here, ......",
322 "settings.service.form.tabOnPremise" : "Vlastné hostovanie ⭐️", 322 "settings.service.form.indirectMessages": "Zobraziť symbol správy pre všetky nové správy",
323 "settings.service.form.team" : "Tím", 323 "settings.service.form.isMutedInfo": "Ak je vypnuté, všetky zvuky oznámení a iné prehrávania budú stíšené",
324 "settings.service.form.useHostedService" : "Použiť hostovanú {name} službu.", 324 "settings.service.form.name": "Meno",
325 "settings.service.form.yourServices" : "Vaše služby", 325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.services.deletedInfo" : "Služba bola odstránená", 326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings",
327 "settings.services.discoverServices" : "Preskúmať služby", 327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.services.headline" : "Vaše služby", 328 "settings.service.form.proxy.info": "Nastavenia servera proxy sa nebudú synchronizovať so servermi Ferdi.",
329 "settings.services.noServicesAdded" : "Doposiaľ ste nepridali žiadne služby.", 329 "settings.service.form.proxy.isEnabled": "Použiť Proxy",
330 "settings.services.servicesRequestFailed" : "Nepodarilo sa načítať vaše služby", 330 "settings.service.form.proxy.password": "Heslo (voliteľné)",
331 "settings.services.tooltip.isDisabled" : "Služba je vypnutá", 331 "settings.service.form.proxy.port": "Port",
332 "settings.services.tooltip.isMuted" : "Všetky zvuky sú stíšené", 332 "settings.service.form.proxy.restartInfo": "Po zmene nastavení servera proxy reštartujte Ferdi.",
333 "settings.services.tooltip.notificationsDisabled" : "Oznámenia sú vypnuté", 333 "settings.service.form.proxy.user": "Používateľ (voliteľné)",
334 "settings.services.updatedInfo" : "Vaše zmeny boli uložené", 334 "settings.service.form.saveButton": "Uložiť službu",
335 "settings.team.contentHeadline" : "Franz pre tímy", 335 "settings.service.form.tabHosted": "Hostované",
336 "settings.team.copy" : "Franz for Teams vám dáva možnosť pozvať spolupracovníkov do vášho tímu odoslaním e-mailových pozvánok a spravovaním ich odberov v preferenciách vášho účtu. Nestrácajte čas vytváraním predplatného pre každého člena tímu jednotlivo, zabudnite na viac faktúr a rôzne fakturačné cykly - jeden tím bude pre všetkých!", 336 "settings.service.form.tabOnPremise": "Vlastné hostovanie ⭐️",
337 "settings.team.headline" : "Tím", 337 "settings.service.form.team": "Tím",
338 "settings.team.intro" : "Vy a váš tím používate Franz? Teraz môžete spravovať prémiové predplatné pre toľko kolegov, priateľov alebo rodinných príslušníkov, koľko chcete, všetko z jedného účtu.", 338 "settings.service.form.useHostedService": "Použiť hostovanú {name} službu.",
339 "settings.team.manageAction" : "Spravujte svoj tím na adrese meetfranz.com", 339 "settings.service.form.yourServices": "Vaše služby",
340 "settings.team.upgradeAction" : "Vylepšite svoj účet", 340 "settings.services.deletedInfo": "Služba bola odstránená",
341 "settings.user.form.accountType.company" : "Spoločnosť", 341 "settings.services.discoverServices": "Preskúmať služby",
342 "settings.user.form.accountType.individual" : "Osoba", 342 "settings.services.headline": "Vaše služby",
343 "settings.user.form.accountType.label" : "Typ účtu", 343 "settings.services.noServicesAdded": "Doposiaľ ste nepridali žiadne služby.",
344 "settings.user.form.accountType.non-profit" : "Nezisková organizácia", 344 "settings.services.servicesRequestFailed": "Nepodarilo sa načítať vaše služby",
345 "settings.user.form.currentPassword" : "Súčasné heslo", 345 "settings.services.tooltip.isDisabled": "Služba je vypnutá",
346 "settings.user.form.email" : "E-mail", 346 "settings.services.tooltip.isMuted": "Všetky zvuky sú stíšené",
347 "settings.user.form.firstname" : "Krstné meno", 347 "settings.services.tooltip.notificationsDisabled": "Oznámenia sú vypnuté",
348 "settings.user.form.lastname" : "Priezvisko", 348 "settings.services.updatedInfo": "Vaše zmeny boli uložené",
349 "settings.user.form.newPassword" : "Nové heslo", 349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.workspace.add.form.name" : "Meno", 350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.workspace.add.form.submitButton" : "Vytvoriť pracovný priestor", 351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.workspace.form.buttonDelete" : "Vymazať pracovný priestor", 352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.workspace.form.buttonSave" : "Uložiť pracovný priestor", 353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.workspace.form.name" : "Meno", 354 "settings.team.contentHeadline": "Ferdi pre tímy",
355 "settings.workspace.form.servicesInWorkspaceHeadline" : "Služby v tomto pracovnom priestore", 355 "settings.team.copy": "Ferdi for Teams vám dáva možnosť pozvať spolupracovníkov do vášho tímu odoslaním e-mailových pozvánok a spravovaním ich odberov v preferenciách vášho účtu. Nestrácajte čas vytváraním predplatného pre každého člena tímu jednotlivo, zabudnite na viac faktúr a rôzne fakturačné cykly - jeden tím bude pre všetkých!",
356 "settings.workspace.form.yourWorkspaces" : "Tvoje pracovné priestory", 356 "settings.team.headline": "Tím",
357 "settings.workspaces.deletedInfo" : "Pracovný priestor bol odstránený", 357 "settings.team.intro": "Vy a váš tím používate Ferdi? Teraz môžete spravovať prémiové predplatné pre toľko kolegov, priateľov alebo rodinných príslušníkov, koľko chcete, všetko z jedného účtu.",
358 "settings.workspaces.headline" : "Tvoje pracovné priestory", 358 "settings.team.manageAction": "Spravujte svoj tím na adrese getferdi.com",
359 "settings.workspaces.noWorkspacesAdded" : "Zatiaľ si nepridal žiadne pracovné priestory.", 359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.workspaces.tryReloadWorkspaces" : "Skúsiť znova", 360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.workspaces.updatedInfo" : "Vaše zmeny boli uložené", 361 "settings.team.upgradeAction": "Vylepšite svoj účet",
362 "settings.workspaces.workspaceFeatureHeadline" : "Menej je viac: Predstavenie Franz Pracovné priestory", 362 "settings.user.form.accountType.company": "Spoločnosť",
363 "settings.workspaces.workspaceFeatureInfo" : "Franz Workspace vám umožňujú sústrediť sa na to, čo je práve dôležité. Nastavte si rozličné skupiny služieb a jednoducho medzi nimi kedykoľvek prepínajte. Vy rozhodujete ktoré služby, kedy a kde potrebujete, a my vám potom vieme pomôcť sústrediť sa na prácu - alebo jednoducho prepnúť z práce na čokoľvek iné.", 363 "settings.user.form.accountType.individual": "Osoba",
364 "settings.workspaces.workspacesRequestFailed" : "Nebolo možné načítať vaše workspace", 364 "settings.user.form.accountType.label": "Typ účtu",
365 "sidebar.addNewService" : "Pridať novú službu", 365 "settings.user.form.accountType.non-profit": "Nezisková organizácia",
366 "sidebar.closeTodosDrawer" : "Close Franz Todos", 366 "settings.user.form.currentPassword": "Súčasné heslo",
367 "sidebar.closeWorkspaceDrawer" : "Zavrieť workspace záložku", 367 "settings.user.form.email": "E-mail",
368 "sidebar.muteApp" : "Vypnúť upozornenia a zvuky", 368 "settings.user.form.firstname": "Krstné meno",
369 "sidebar.openTodosDrawer" : "Open Franz Todos", 369 "settings.user.form.lastname": "Priezvisko",
370 "sidebar.openWorkspaceDrawer" : "Otvoriť workspace záložku", 370 "settings.user.form.newPassword": "Nové heslo",
371 "sidebar.settings" : "Nastavenia", 371 "settings.workspace.add.form.name": "Meno",
372 "sidebar.unmuteApp" : "Povoliť oznámenia a zvuky", 372 "settings.workspace.add.form.submitButton": "Vytvoriť pracovný priestor",
373 "signup.email.label" : "E-mailová adresa", 373 "settings.workspace.form.buttonDelete": "Vymazať pracovný priestor",
374 "signup.emailDuplicate" : "Používateľ s touto e-mailovou adresou už jestvuje", 374 "settings.workspace.form.buttonSave": "Uložiť pracovný priestor",
375 "signup.firstname.label" : "Krstné meno", 375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "signup.headline" : "Prihlásiť sa", 376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "signup.lastname.label" : "Priezvisko", 377 "settings.workspace.form.name": "Meno",
378 "signup.legal.info" : "Vytvorením účtu Franz súhlasíte s", 378 "settings.workspace.form.servicesInWorkspaceHeadline": "Služby v tomto pracovnom priestore",
379 "signup.legal.privacy" : "Vyhlásenie o ochrane súkromia", 379 "settings.workspace.form.yourWorkspaces": "Tvoje pracovné priestory",
380 "signup.legal.terms" : "Podmienky služby", 380 "settings.workspaces.deletedInfo": "Pracovný priestor bol odstránený",
381 "signup.link.login" : "Už máte účet, chcete sa prihlásiť?", 381 "settings.workspaces.headline": "Tvoje pracovné priestory",
382 "signup.password.label" : "Heslo", 382 "settings.workspaces.noWorkspacesAdded": "Zatiaľ si nepridal žiadne pracovné priestory.",
383 "signup.submit.label" : "Vytvoriť účet", 383 "settings.workspaces.tryReloadWorkspaces": "Skúsiť znova",
384 "subscription.bestValue" : "Best value", 384 "settings.workspaces.updatedInfo": "Vaše zmeny boli uložené",
385 "subscription.cta.activateTrial" : "Yes, start the free Franz Professional trial", 385 "settings.workspaces.workspaceFeatureHeadline": "Menej je viac: Predstavenie Ferdi Pracovné priestory",
386 "subscription.cta.allOptions" : "See all options", 386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspace vám umožňujú sústrediť sa na to, čo je práve dôležité. Nastavte si rozličné skupiny služieb a jednoducho medzi nimi kedykoľvek prepínajte. Vy rozhodujete ktoré služby, kedy a kde potrebujete, a my vám potom vieme pomôcť sústrediť sa na prácu - alebo jednoducho prepnúť z práce na čokoľvek iné.",
387 "subscription.cta.choosePlan" : "Choose your plan", 387 "settings.workspaces.workspacesRequestFailed": "Nebolo možné načítať vaše workspace",
388 "subscription.includedProFeatures" : "The Franz Professional Plan includes:", 388 "sidebar.addNewService": "Pridať novú službu",
389 "subscription.interval.per" : "per {interval}", 389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "subscription.interval.perMonth" : "per month", 390 "sidebar.closeWorkspaceDrawer": "Zavrieť workspace záložku",
391 "subscription.interval.perMonthPerUser" : "per month & user", 391 "sidebar.lockFerdi": "Lock Ferdi",
392 "subscription.planItem.upgradeAccount" : "Upgrade Account", 392 "sidebar.muteApp": "Vypnúť upozornenia a zvuky",
393 "subscription.teaser.includedFeatures" : "Paid Franz Plans include:", 393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "subscription.teaser.intro" : "Franz 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!", 394 "sidebar.openWorkspaceDrawer": "Otvoriť workspace záložku",
395 "subscriptionPopup.buttonCancel" : "Zrušiť", 395 "sidebar.settings": "Nastavenia",
396 "subscriptionPopup.buttonDone" : "Dokončiť", 396 "sidebar.unmuteApp": "Povoliť oznámenia a zvuky",
397 "tabs.item.deleteService" : "Odstrániť službu", 397 "signup.email.label": "E-mailová adresa",
398 "tabs.item.disableAudio" : "Vypnúť zvuk", 398 "signup.emailDuplicate": "Používateľ s touto e-mailovou adresou už jestvuje",
399 "tabs.item.disableNotifications" : "Zakázať oznámenia", 399 "signup.firstname.label": "Krstné meno",
400 "tabs.item.disableService" : "Vypnúť službu", 400 "signup.headline": "Prihlásiť sa",
401 "tabs.item.edit" : "Upraviť", 401 "signup.lastname.label": "Priezvisko",
402 "tabs.item.enableAudio" : "Zapnúť zvuk", 402 "signup.legal.info": "Vytvorením účtu Ferdi súhlasíte s",
403 "tabs.item.enableNotification" : "Povoliť oznámenia", 403 "signup.legal.privacy": "Vyhlásenie o ochrane súkromia",
404 "tabs.item.enableService" : "Povoliť službu", 404 "signup.legal.terms": "Podmienky služby",
405 "tabs.item.reload" : "Obnoviť", 405 "signup.link.login": "Už máte účet, chcete sa prihlásiť?",
406 "validation.email" : "{field} je neplatný", 406 "signup.password.label": "Password",
407 "validation.minLength" : "{field} by malo byť dlhé aspoň {length} znakov", 407 "signup.submit.label": "Vytvoriť účet",
408 "validation.oneRequired" : "Je nutné zadať aspoň jeden", 408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "validation.required" : "{field} je povinné", 409 "subscription.cta.allOptions": "See all options",
410 "validation.url" : "{field} nie je platné URL", 410 "subscription.cta.choosePlan": "Choose your plan",
411 "webControls.back" : "Back", 411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "webControls.forward" : "Forward", 412 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:",
413 "webControls.goHome" : "Home", 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!",
414 "webControls.openInBrowser" : "Open in Browser", 414 "subscriptionPopup.buttonCancel": "Zrušiť",
415 "webControls.reload" : "Obnoviť", 415 "subscriptionPopup.buttonDone": "Dokončiť",
416 "welcome.loginButton" : "Prihlásiť sa do vášho účtu", 416 "tabs.item.deleteService": "Odstrániť službu",
417 "welcome.signupButton" : "Vytvoriť účet zdarma", 417 "tabs.item.disableAudio": "Vypnúť zvuk",
418 "workspaceDrawer.addNewWorkspaceLabel" : "Pridať nový workspace", 418 "tabs.item.disableNotifications": "Zakázať oznámenia",
419 "workspaceDrawer.allServices" : "Všetky služby", 419 "tabs.item.disableService": "Vypnúť službu",
420 "workspaceDrawer.headline" : "Pracovné plochy", 420 "tabs.item.edit": "Upraviť",
421 "workspaceDrawer.item.contextMenuEdit" : "Upraviť", 421 "tabs.item.enableAudio": "Zapnúť zvuk",
422 "workspaceDrawer.item.noServicesAddedYet" : "Zatiaľ žiadne služby", 422 "tabs.item.enableNotification": "Povoliť oznámenia",
423 "workspaceDrawer.premiumCtaButtonLabel" : "Vytvorte váš prvý workspace", 423 "tabs.item.enableService": "Povoliť službu",
424 "workspaceDrawer.proFeatureBadge" : "Prémiová funkcia", 424 "tabs.item.reload": "Obnoviť",
425 "workspaceDrawer.reactivatePremiumAccountLabel" : "Obnovte svoj prémiový účet", 425 "validation.email": "{field} je neplatný",
426 "workspaceDrawer.workspaceFeatureInfo" : "<p>Franz Workspace vám umožňujú sústrediť sa na to, čo je práve dôležité. Nastavte si rozličné skupiny služieb a jednoducho medzi nimi kedykoľvek prepínajte.<\/p><p>Vy rozhodujete ktoré služby, kedy a kde potrebujete, a my vám potom vieme pomôcť sústrediť sa na prácu - alebo jednoducho prepnúť z práce na čokoľvek iné. <\/p>", 426 "validation.minLength": "{field} by malo byť dlhé aspoň {length} znakov",
427 "workspaceDrawer.workspacesSettingsTooltip" : "Upraviť nastavenia workspace", 427 "validation.oneRequired": "Je nutné zadať aspoň jeden",
428 "workspaces.switchingIndicator.switchingTo" : "Prepínanie na" 428 "validation.required": "{field} je povinné",
429 "validation.url": "{field} nie je platné URL",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Obnoviť",
435 "welcome.loginButton": "Prihlásiť sa do vášho účtu",
436 "welcome.signupButton": "Vytvoriť používateľský účet zdarma",
437 "workspaceDrawer.addNewWorkspaceLabel": "Pridať nový workspace",
438 "workspaceDrawer.allServices": "Všetky služby",
439 "workspaceDrawer.headline": "Pracovný priestor",
440 "workspaceDrawer.item.contextMenuEdit": "Upraviť",
441 "workspaceDrawer.item.noServicesAddedYet": "Zatiaľ žiadne služby",
442 "workspaceDrawer.premiumCtaButtonLabel": "Vytvorte váš prvý workspace",
443 "workspaceDrawer.proFeatureBadge": "Prémiová funkcia",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Obnovte svoj prémiový účet",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspace vám umožňujú sústrediť sa na to, čo je práve dôležité. Nastavte si rozličné skupiny služieb a jednoducho medzi nimi kedykoľvek prepínajte.</p><p>Vy rozhodujete ktoré služby, kedy a kde potrebujete, a my vám potom vieme pomôcť sústrediť sa na prácu - alebo jednoducho prepnúť z práce na čokoľvek iné. </p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Upraviť nastavenia workspace",
447 "workspaces.switchingIndicator.switchingTo": "Prepínanie na"
429} 448}
diff --git a/src/i18n/locales/sl.json b/src/i18n/locales/sl.json
new file mode 100644
index 000000000..628880d9f
--- /dev/null
+++ b/src/i18n/locales/sl.json
@@ -0,0 +1,448 @@
1{
2 "app.errorHandler.action": "Reload",
3 "app.errorHandler.headline": "Something went wrong",
4 "feature.announcements.changelog.headline": "Changes in Ferdi {version}",
5 "feature.delayApp.headline": "Please purchase a Ferdi Supporter License to skip waiting",
6 "feature.delayApp.text": "Ferdi will continue in {seconds} seconds.",
7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
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",
11 "feature.delayApp.upgrade.actionShort": "Upgrade account",
12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.quickSwitch.search": "Search...",
14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.shareFranz.action.email": "Send as email",
17 "feature.shareFranz.action.facebook": "Share on Facebook",
18 "feature.shareFranz.action.twitter": "Share on Twitter",
19 "feature.shareFranz.headline": "Ferdi is better together!",
20 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
23 "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.",
25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "global.api.unhealthy": "Can't connect to Ferdi online services",
27 "global.franzProRequired": "Ferdi Professional Required",
28 "global.notConnectedToTheInternet": "You are not connected to the internet.",
29 "global.spellchecker.useDefault": "Use System Default ({default})",
30 "global.spellchecking.autodetect": "Detect language automatically",
31 "global.spellchecking.autodetect.short": "Automatic",
32 "global.spellchecking.language": "Spell checking language",
33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "import.headline": "Import your Ferdi 4 services",
35 "import.notSupportedHeadline": "Services not yet supported in Ferdi 5",
36 "import.skip.label": "I want to add services manually",
37 "import.submit.label": "Import services",
38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "infobar.buttonChangelog": "What is new?",
40 "infobar.buttonInstallUpdate": "Restart & install update",
41 "infobar.buttonReloadServices": "Reload services",
42 "infobar.requiredRequestsFailed": "Could not load services and user information",
43 "infobar.servicesUpdated": "Your services have been updated.",
44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "infobar.updateAvailable": "A new update for Ferdi is available.",
46 "invite.email.label": "Email address",
47 "invite.headline.friends": "Invite 3 of your friends or colleagues",
48 "invite.name.label": "Name",
49 "invite.skip.label": "I want to do this later",
50 "invite.submit.label": "Send invites",
51 "invite.successInfo": "Invitations sent successfully",
52 "locked.headline": "Locked",
53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "locked.invalidCredentials": "Password invalid",
55 "locked.password.label": "Password",
56 "locked.submit.label": "Unlock",
57 "login.changeServer": "Change server",
58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "login.customServerSuggestion": "Try importing your Franz account",
60 "login.email.label": "Email address",
61 "login.headline": "Sign in",
62 "login.invalidCredentials": "Email or password not valid",
63 "login.link.password": "Reset password",
64 "login.link.signup": "Create a free account",
65 "login.password.label": "Password",
66 "login.serverLogout": "Your session expired, please login again.",
67 "login.submit.label": "Sign in",
68 "login.tokenExpired": "Your session expired, please login again.",
69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "menu.app.about": "About Ferdi",
72 "menu.app.announcement": "What's new?",
73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "menu.app.checkForUpdates": "Check for updates",
75 "menu.app.hide": "Hide",
76 "menu.app.hideOthers": "Hide Others",
77 "menu.app.quit": "Quit",
78 "menu.app.settings": "Settings",
79 "menu.app.unhide": "Unhide",
80 "menu.edit": "Edit",
81 "menu.edit.copy": "Copy",
82 "menu.edit.cut": "Cut",
83 "menu.edit.delete": "Delete",
84 "menu.edit.emojiSymbols": "Emoji & Symbols",
85 "menu.edit.paste": "Paste",
86 "menu.edit.pasteAndMatchStyle": "Paste And Match Style",
87 "menu.edit.redo": "Redo",
88 "menu.edit.selectAll": "Select All",
89 "menu.edit.speech": "Speech",
90 "menu.edit.startDictation": "Start Dictation",
91 "menu.edit.startSpeaking": "Start Speaking",
92 "menu.edit.stopSpeaking": "Stop Speaking",
93 "menu.edit.undo": "Undo",
94 "menu.file": "File",
95 "menu.help": "Help",
96 "menu.help.changelog": "Changelog",
97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.help.learnMore": "Learn More",
101 "menu.help.privacy": "Privacy Statement",
102 "menu.help.support": "Support",
103 "menu.help.tos": "Terms of Service",
104 "menu.services": "Services",
105 "menu.services.activatePreviousService": "Activate previous service",
106 "menu.services.addNewService": "Add New Service...",
107 "menu.services.goHome": "Home",
108 "menu.services.setNextServiceActive": "Activate next service",
109 "menu.todos": "Todos",
110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.view": "View",
112 "menu.view.back": "Back",
113 "menu.view.enterFullScreen": "Enter Full Screen",
114 "menu.view.exitFullScreen": "Exit Full Screen",
115 "menu.view.forward": "Forward",
116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.view.reloadFranz": "Reload Ferdi",
119 "menu.view.reloadService": "Reload Service",
120 "menu.view.resetZoom": "Actual Size",
121 "menu.view.toggleDevTools": "Toggle Developer Tools",
122 "menu.view.toggleFullScreen": "Toggle Full Screen",
123 "menu.view.toggleServiceDevTools": "Toggle Service Developer Tools",
124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.zoomIn": "Zoom In",
126 "menu.view.zoomOut": "Zoom Out",
127 "menu.window": "Window",
128 "menu.window.close": "Close",
129 "menu.window.minimize": "Minimize",
130 "menu.workspaces": "Workspaces",
131 "menu.workspaces.addNewWorkspace": "Add New Workspace...",
132 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
133 "menu.workspaces.defaultWorkspace": "All services",
134 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
135 "password.email.label": "Email address",
136 "password.headline": "Reset password",
137 "password.link.login": "Sign in to your account",
138 "password.link.signup": "Create a free account",
139 "password.noUser": "No user with that email address was found",
140 "password.submit.label": "Submit",
141 "password.successInfo": "Please check your email",
142 "premiumFeature.button.upgradeAccount": "Upgrade account",
143 "pricing.features.adFree": "Forever ad-free",
144 "pricing.features.appDelays": "No Waiting Screens",
145 "pricing.features.customWebsites": "Add Custom Websites",
146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "pricing.features.serviceProxies": "Service Proxies",
148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.workspaces": "Workspaces",
153 "pricing.plan.free": "Ferdi Free",
154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "service.crashHandler.action": "Reload {name}",
171 "service.crashHandler.autoReload": "Trying to automatically restore {name} in {seconds} seconds",
172 "service.crashHandler.headline": "Oh no!",
173 "service.crashHandler.text": "{name} has caused an error.",
174 "service.disabledHandler.action": "Enable {name}",
175 "service.disabledHandler.headline": "{name} is disabled",
176 "service.errorHandler.action": "Reload {name}",
177 "service.errorHandler.editAction": "Edit {name}",
178 "service.errorHandler.headline": "Oh no!",
179 "service.errorHandler.message": "Error",
180 "service.errorHandler.text": "{name} has failed to load.",
181 "service.restrictedHandler.action": "Upgrade Account",
182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.webviewLoader.loading": "Loading",
187 "services.getStarted": "Get started",
188 "services.login": "Please login to use Ferdi.",
189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "services.serverless": "Use Ferdi without an Account",
191 "services.welcome": "Welcome to Ferdi",
192 "settings.account.account.editButton": "Edit account",
193 "settings.account.accountType.basic": "Basic Account",
194 "settings.account.accountType.premium": "Premium Supporter Account",
195 "settings.account.buttonSave": "Update profile",
196 "settings.account.deleteAccount": "Delete account",
197 "settings.account.deleteEmailSent": "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!",
198 "settings.account.deleteInfo": "If you don't need your Ferdi account any longer, you can delete your account and all related data here.",
199 "settings.account.headline": "Account",
200 "settings.account.headlineAccount": "Account information",
201 "settings.account.headlineDangerZone": "Danger Zone",
202 "settings.account.headlineInvoices": "Invoices",
203 "settings.account.headlinePassword": "Change password",
204 "settings.account.headlineProfile": "Update profile",
205 "settings.account.headlineSubscription": "Your subscription",
206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.invoiceDownload": "Download",
209 "settings.account.manageSubscription.label": "Manage your subscription",
210 "settings.account.successInfo": "Your changes have been saved",
211 "settings.account.trial": "Free Trial",
212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.tryReloadServices": "Try again",
215 "settings.account.tryReloadUserInfoRequest": "Try again",
216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.userInfoRequestFailed": "Could not load user information",
218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.app.buttonClearAllCache": "Clear cache",
221 "settings.app.buttonInstallUpdate": "Restart & install update",
222 "settings.app.buttonSearchForUpdate": "Check for updates",
223 "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.",
224 "settings.app.currentVersion": "Current version:",
225 "settings.app.form.accentColor": "Accent color",
226 "settings.app.form.autoLaunchInBackground": "Open in background",
227 "settings.app.form.autoLaunchOnStart": "Launch Ferdi on start",
228 "settings.app.form.beta": "Include beta versions",
229 "settings.app.form.darkMode": "Join the Dark Side",
230 "settings.app.form.enableGPUAcceleration": "Enable GPU Acceleration",
231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.form.enableSpellchecking": "Enable spell checking",
233 "settings.app.form.enableSystemTray": "Show Ferdi in system tray",
234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.language": "Language",
239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.minimizeToSystemTray": "Minimize Ferdi to system tray",
241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.runInBackground": "Keep Ferdi in background when closing the window",
244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices": "Display disabled services tabs",
249 "settings.app.form.showMessagesBadgesWhenMuted": "Show unread message badge when notifications are disabled",
250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headline": "Settings",
254 "settings.app.headlineAdvanced": "Advanced",
255 "settings.app.headlineAppearance": "Appearance",
256 "settings.app.headlineGeneral": "General",
257 "settings.app.headlineLanguage": "Language",
258 "settings.app.headlineUpdates": "Updates",
259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.app.restartRequired": "Changes require restart",
265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.app.subheadlineCache": "Cache",
270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.app.translationHelp": "Help us to translate Ferdi into your language.",
272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.app.updateStatusAvailable": "Update available, downloading...",
274 "settings.app.updateStatusSearching": "Is searching for update",
275 "settings.app.updateStatusUpToDate": "You are using the latest version of Ferdi",
276 "settings.invite.headline": "Invite Friends",
277 "settings.navigation.account": "Account",
278 "settings.navigation.availableServices": "Available services",
279 "settings.navigation.logout": "Logout",
280 "settings.navigation.settings": "Settings",
281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.navigation.team": "Manage Team",
283 "settings.navigation.yourServices": "Your services",
284 "settings.navigation.yourWorkspaces": "Your workspaces",
285 "settings.recipes.all": "All services",
286 "settings.recipes.custom": "Custom Services",
287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.recipes.headline": "Available services",
294 "settings.recipes.missingService": "Missing a service?",
295 "settings.recipes.mostPopular": "Most popular",
296 "settings.recipes.nothingFound": "Sorry, but no service matched your search term.",
297 "settings.recipes.servicesSuccessfulAddedInfo": "Service successfully added",
298 "settings.searchService": "Search service",
299 "settings.service.error.goBack": "Back to services",
300 "settings.service.error.headline": "Error",
301 "settings.service.error.message": "Could not load service recipe.",
302 "settings.service.form.addServiceHeadline": "Add {name}",
303 "settings.service.form.availableServices": "Available services",
304 "settings.service.form.customUrl": "Custom server",
305 "settings.service.form.customUrlPremiumInfo": "To add self hosted services, you need a Ferdi Premium Supporter Account.",
306 "settings.service.form.customUrlUpgradeAccount": "Upgrade your account",
307 "settings.service.form.customUrlValidationError": "Could not validate custom {name} server.",
308 "settings.service.form.deleteButton": "Delete service",
309 "settings.service.form.editServiceHeadline": "Edit {name}",
310 "settings.service.form.enableAudio": "Enable audio",
311 "settings.service.form.enableBadge": "Show unread message badges",
312 "settings.service.form.enableDarkMode": "Enable Dark Mode",
313 "settings.service.form.enableNotification": "Enable notifications",
314 "settings.service.form.enableService": "Enable service",
315 "settings.service.form.headlineBadges": "Unread message badges",
316 "settings.service.form.headlineGeneral": "General",
317 "settings.service.form.headlineNotifications": "Notifications",
318 "settings.service.form.icon": "Custom icon",
319 "settings.service.form.iconDelete": "Delete",
320 "settings.service.form.iconUpload": "Drop your image, or click here",
321 "settings.service.form.indirectMessageInfo": "You will be notified about all new messages in a channel, not just @username, @channel, @here, ...",
322 "settings.service.form.indirectMessages": "Show message badge for all new messages",
323 "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted",
324 "settings.service.form.name": "Name",
325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings",
327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.service.form.proxy.info": "Proxy settings will not synced with the Ferdi servers.",
329 "settings.service.form.proxy.isEnabled": "Use Proxy",
330 "settings.service.form.proxy.password": "Password (optional)",
331 "settings.service.form.proxy.port": "Port",
332 "settings.service.form.proxy.restartInfo": "Please restart Ferdi after changing proxy Settings.",
333 "settings.service.form.proxy.user": "User (optional)",
334 "settings.service.form.saveButton": "Save service",
335 "settings.service.form.tabHosted": "Hosted",
336 "settings.service.form.tabOnPremise": "Self hosted ⭐️",
337 "settings.service.form.team": "Team",
338 "settings.service.form.useHostedService": "Use the hosted {name} service.",
339 "settings.service.form.yourServices": "Your services",
340 "settings.services.deletedInfo": "Service has been deleted",
341 "settings.services.discoverServices": "Discover services",
342 "settings.services.headline": "Your services",
343 "settings.services.noServicesAdded": "You haven't added any services yet.",
344 "settings.services.servicesRequestFailed": "Could not load your services",
345 "settings.services.tooltip.isDisabled": "Service is disabled",
346 "settings.services.tooltip.isMuted": "All sounds are muted",
347 "settings.services.tooltip.notificationsDisabled": "Notifications are disabled",
348 "settings.services.updatedInfo": "Your changes have been saved",
349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.team.headline": "Team",
357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.team.manageAction": "Manage your Team on getferdi.com",
359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.team.upgradeAction": "Upgrade your Account",
362 "settings.user.form.accountType.company": "Company",
363 "settings.user.form.accountType.individual": "Individual",
364 "settings.user.form.accountType.label": "Account type",
365 "settings.user.form.accountType.non-profit": "Non-Profit",
366 "settings.user.form.currentPassword": "Current password",
367 "settings.user.form.email": "Email",
368 "settings.user.form.firstname": "First Name",
369 "settings.user.form.lastname": "Last Name",
370 "settings.user.form.newPassword": "New password",
371 "settings.workspace.add.form.name": "Name",
372 "settings.workspace.add.form.submitButton": "Create workspace",
373 "settings.workspace.form.buttonDelete": "Delete workspace",
374 "settings.workspace.form.buttonSave": "Save workspace",
375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "settings.workspace.form.name": "Name",
378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "settings.workspace.form.yourWorkspaces": "Your workspaces",
380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "settings.workspaces.headline": "Your workspaces",
382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "settings.workspaces.tryReloadWorkspaces": "Try again",
384 "settings.workspaces.updatedInfo": "Your changes have been saved",
385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "sidebar.addNewService": "Add new service",
389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
391 "sidebar.lockFerdi": "Lock Ferdi",
392 "sidebar.muteApp": "Disable notifications & audio",
393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
395 "sidebar.settings": "Settings",
396 "sidebar.unmuteApp": "Enable notifications & audio",
397 "signup.email.label": "Email address",
398 "signup.emailDuplicate": "A user with that email address already exists",
399 "signup.firstname.label": "First Name",
400 "signup.headline": "Sign up",
401 "signup.lastname.label": "Last Name",
402 "signup.legal.info": "By creating a Ferdi account you accept the",
403 "signup.legal.privacy": "Privacy Statement",
404 "signup.legal.terms": "Terms of service",
405 "signup.link.login": "Already have an account, sign in?",
406 "signup.password.label": "Password",
407 "signup.submit.label": "Create account",
408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "subscription.cta.allOptions": "See all options",
410 "subscription.cta.choosePlan": "Choose your plan",
411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "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!",
414 "subscriptionPopup.buttonCancel": "Cancel",
415 "subscriptionPopup.buttonDone": "Done",
416 "tabs.item.deleteService": "Delete service",
417 "tabs.item.disableAudio": "Disable audio",
418 "tabs.item.disableNotifications": "Disable notifications",
419 "tabs.item.disableService": "Disable service",
420 "tabs.item.edit": "Edit",
421 "tabs.item.enableAudio": "Enable audio",
422 "tabs.item.enableNotification": "Enable notifications",
423 "tabs.item.enableService": "Enable service",
424 "tabs.item.reload": "Reload",
425 "validation.email": "{field} is not valid",
426 "validation.minLength": "{field} should be at least {length} characters long",
427 "validation.oneRequired": "At least one is required",
428 "validation.required": "{field} is required",
429 "validation.url": "{field} is not a valid URL",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Reload",
435 "welcome.loginButton": "Login to your account",
436 "welcome.signupButton": "Create a free account",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "All services",
439 "workspaceDrawer.headline": "Workspaces",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
448}
diff --git a/src/i18n/locales/sr.json b/src/i18n/locales/sr.json
index 97de357ec..97ec48859 100644
--- a/src/i18n/locales/sr.json
+++ b/src/i18n/locales/sr.json
@@ -1,429 +1,448 @@
1{ 1{
2 "app.errorHandler.action" : "Ponovno učitavanje", 2 "app.errorHandler.action": "Ponovno učitavanje",
3 "app.errorHandler.headline" : "Something went wrong", 3 "app.errorHandler.headline": "Something went wrong",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}", 4 "feature.announcements.changelog.headline": "Changes in Ferdi {version}",
5 "feature.delayApp.headline" : "Upgrade your Franz plan to skip the wait", 5 "feature.delayApp.headline": "Please purchase a Ferdi Supporter License to skip waiting",
6 "feature.delayApp.text" : "Franz will continue in {seconds} seconds.", 6 "feature.delayApp.text": "Ferdi will continue in {seconds} seconds.",
7 "feature.delayApp.trial.action" : "Yes, I want the free 14 day trial of Franz Professional", 7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort" : "Activate the free Franz Professional trial", 8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
9 "feature.delayApp.trial.headline" : "Get the free Franz Professional 14-days trial and skip the wait", 9 "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line",
10 "feature.delayApp.upgrade.action" : "Upgrade Franz", 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", 12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.planSelection.cta.stayOnFree" : "Stay on Free", 13 "feature.quickSwitch.search": "Search...",
14 "feature.planSelection.cta.trial" : "Start my free 14-days Trial", 14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.planSelection.cta.upgradePersonal" : "Choose Personal", 15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.planSelection.cta.upgradePro" : "Choose Professional", 16 "feature.shareFranz.action.email": "Send as email",
17 "feature.planSelection.free.text" : "Basic functionality", 17 "feature.shareFranz.action.facebook": "Share on Facebook",
18 "feature.planSelection.fullFeatureList" : "Complete comparison of all plans", 18 "feature.shareFranz.action.twitter": "Share on Twitter",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 19 "feature.shareFranz.headline": "Ferdi is better together!",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade" : "Choose Personal", 20 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
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.", 21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.planSelection.fullscreen.dialog.title" : "Downgrade your Franz Plan", 22 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
23 "feature.planSelection.fullscreen.subheadline" : "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.", 23 "feature.todos.premium.info": "Ferdi Todos are available to premium users now!",
24 "feature.planSelection.fullscreen.welcome" : "Are you ready to choose, {name}?", 24 "feature.todos.premium.rollout": "Everyone else will have to wait a little longer.",
25 "feature.planSelection.personal.text" : "More services, no waiting - ideal for personal use.", 25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "feature.planSelection.pricesBasedOnAnnualPayment" : "All prices based on yearly payment", 26 "global.api.unhealthy": "Nije moguće pristupiti Ferdi-ovim on-line servisima. ",
27 "feature.planSelection.pro.text" : "Unlimited services and professional features for you - and your team.", 27 "global.franzProRequired": "Ferdi Professional Required",
28 "feature.serviceLimit.limitReached" : "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.", 28 "global.notConnectedToTheInternet": "Niste povezani sa serverom.",
29 "feature.shareFranz.action.email" : "Send as email", 29 "global.spellchecker.useDefault": "Use System Default ({default})",
30 "feature.shareFranz.action.facebook" : "Share on Facebook", 30 "global.spellchecking.autodetect": "Detect language automatically",
31 "feature.shareFranz.action.twitter" : "Share on Twitter", 31 "global.spellchecking.autodetect.short": "Automatic",
32 "feature.shareFranz.headline" : "Franz is better together!", 32 "global.spellchecking.language": "Spell checking language",
33 "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", 33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "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 @FranzMessenger", 34 "import.headline": "Uvezite svoje Ferdi 4 servise",
35 "feature.shareFranz.text" : "Tell your friends and colleagues how awesome Franz is and help us to spread the word.", 35 "import.notSupportedHeadline": "Servis trenutno nije podržan u Ferdi 5",
36 "feature.todos.premium.info" : "Franz Todos are available to premium users now!", 36 "import.skip.label": "Желим да додам услуге ручно",
37 "feature.todos.premium.rollout" : "Everyone else will have to wait a little longer.", 37 "import.submit.label": "Uvezi servise",
38 "feature.todos.premium.upgrade" : "Upgrade Account", 38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "feature.trialStatusBar.cta" : "Upgrade now", 39 "infobar.buttonChangelog": "Šta je novo? ",
40 "feature.trialStatusBar.expired" : "Your free Franz {plan} Trial has expired, please upgrade your account.", 40 "infobar.buttonInstallUpdate": "Ponovo pokreni i instaliraj ažuriranje ",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 41 "infobar.buttonReloadServices": "Ponovo učitaj servise ",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade" : "Choose Personal", 42 "infobar.requiredRequestsFailed": "Nemoguće učitati servise i korisničke informacije",
43 "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.", 43 "infobar.servicesUpdated": "Vaši servisi su ažurirani. ",
44 "feature.trialStatusBar.fullscreen.dialog.title" : "Downgrade your Franz Plan", 44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "feature.trialStatusBar.restTime" : "Your Free Franz {plan} Trial ends in {time}.", 45 "infobar.updateAvailable": "Novo ažuriranje Ferdi-a je dostupno. ",
46 "global.api.unhealthy" : "Nije moguće pristupiti Franz-ovim on-line servisima. ", 46 "invite.email.label": "Vaša e-adresa",
47 "global.franzProRequired" : "Franz Professional Required", 47 "invite.headline.friends": "Pozovite 3 vaša prijatelja ili kolege",
48 "global.notConnectedToTheInternet" : "Niste povezani sa serverom.", 48 "invite.name.label": "Ime",
49 "global.spellchecker.useDefault" : "Use System Default ({default})", 49 "invite.skip.label": "Želim da ovo uradim kasnije",
50 "global.spellchecking.autodetect" : "Detect language automatically", 50 "invite.submit.label": "Pošalji pozivnice",
51 "global.spellchecking.autodetect.short" : "Automatic", 51 "invite.successInfo": "Poziv je uspešno poslat.",
52 "global.spellchecking.language" : "Spell checking language", 52 "locked.headline": "Locked",
53 "global.upgradeButton.upgradeToPro" : "Upgrade to Franz Professional", 53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "import.headline" : "Uvezite svoje Franz 4 servise", 54 "locked.invalidCredentials": "Password invalid",
55 "import.notSupportedHeadline" : "Servis trenutno nije podržan u Franz 5", 55 "locked.password.label": "Password",
56 "import.skip.label" : "Желим да додам услуге ручно", 56 "locked.submit.label": "Unlock",
57 "import.submit.label" : "Uvezi servise", 57 "login.changeServer": "Change server",
58 "infobar.buttonChangelog" : "Šta je novo? ", 58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "infobar.buttonInstallUpdate" : "Ponovo pokreni i instaliraj ažuriranje ", 59 "login.customServerSuggestion": "Try importing your Franz account",
60 "infobar.buttonReloadServices" : "Ponovo učitaj servise ", 60 "login.email.label": "Vaša e-adresa",
61 "infobar.requiredRequestsFailed" : "Nemoguće učitati servise i korisničke informacije", 61 "login.headline": "Prijavite se",
62 "infobar.servicesUpdated" : "Vaši servisi su ažurirani. ", 62 "login.invalidCredentials": "E-mail ili lozinka nisu točni",
63 "infobar.trialActivated" : "Your trial was successfully activated. Happy messaging!", 63 "login.link.password": "Stvaranje nove lozinke",
64 "infobar.updateAvailable" : "Novo ažuriranje Franz-a je dostupno. ", 64 "login.link.signup": "Stvorite besplatan račun",
65 "invite.email.label" : "Vaša e-adresa", 65 "login.password.label": "Password",
66 "invite.headline.friends" : "Pozovite 3 vaša prijatelja ili kolege", 66 "login.serverLogout": "Vaša sesija je istekla, prijavite se ponovo.",
67 "invite.name.label" : "Ime", 67 "login.submit.label": "Prijavite se",
68 "invite.skip.label" : "Želim da ovo uradim kasnije", 68 "login.tokenExpired": "Vaša sesija je istekla, prijavite se ponovo.",
69 "invite.submit.label" : "Pošalji pozivnice", 69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "invite.successInfo" : "Poziv je uspešno poslat.", 70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "login.email.label" : "Vaša e-adresa:", 71 "menu.app.about": "O Francu",
72 "login.headline" : "Prijavite se", 72 "menu.app.announcement": "What's new?",
73 "login.invalidCredentials" : "E-mail ili lozinka nisu točni", 73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "login.link.password" : "Stvaranje nove lozinke", 74 "menu.app.checkForUpdates": "Potraži ažuriranja",
75 "login.link.signup" : "Stvorite besplatan račun", 75 "menu.app.hide": "Sakrij",
76 "login.password.label" : "Lozinka", 76 "menu.app.hideOthers": "Sakrij ostale",
77 "login.serverLogout" : "Vaša sesija je istekla, prijavite se ponovo.", 77 "menu.app.quit": "Izađi",
78 "login.submit.label" : "Prijavite se", 78 "menu.app.settings": "Postavke",
79 "login.tokenExpired" : "Vaša sesija je istekla, prijavite se ponovo.", 79 "menu.app.unhide": "Otkrij",
80 "menu.Todoss.closeTodosDrawer" : "Close Todos drawer", 80 "menu.edit": "Uredi",
81 "menu.Todoss.openTodosDrawer" : "Open Todos drawer", 81 "menu.edit.copy": "Kopiraj",
82 "menu.app.about" : "O Francu", 82 "menu.edit.cut": "Iseci",
83 "menu.app.announcement" : "What's new?", 83 "menu.edit.delete": "Obriši",
84 "menu.app.checkForUpdates" : "Potraži ažuriranja", 84 "menu.edit.emojiSymbols": "Smajliji i simboli",
85 "menu.app.hide" : "Sakrij", 85 "menu.edit.paste": "Nalepi",
86 "menu.app.hideOthers" : "Sakrij ostale", 86 "menu.edit.pasteAndMatchStyle": "Налепи не мењајући стил",
87 "menu.app.quit" : "Izađi", 87 "menu.edit.redo": "Понови",
88 "menu.app.settings" : "Postavke", 88 "menu.edit.selectAll": "Изабери све",
89 "menu.app.unhide" : "Otkrij", 89 "menu.edit.speech": "Говор",
90 "menu.edit" : "Uredi", 90 "menu.edit.startDictation": "Започни диктирање",
91 "menu.edit.copy" : "Kopiraj", 91 "menu.edit.startSpeaking": "Започни изговор",
92 "menu.edit.cut" : "Iseci", 92 "menu.edit.stopSpeaking": "Заустави изговор",
93 "menu.edit.delete" : "Obriši", 93 "menu.edit.undo": "Поништи",
94 "menu.edit.emojiSymbols" : "Smajliji i simboli", 94 "menu.file": "Датотека",
95 "menu.edit.paste" : "Nalepi", 95 "menu.help": "Помоћ",
96 "menu.edit.pasteAndMatchStyle" : "Налепи не мењајући стил", 96 "menu.help.changelog": "Дневник измена",
97 "menu.edit.redo" : "Понови", 97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.edit.selectAll" : "Изабери све", 98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.edit.speech" : "Говор", 99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.edit.startDictation" : "Започни диктирање", 100 "menu.help.learnMore": "Сазнајте више",
101 "menu.edit.startSpeaking" : "Започни изговор", 101 "menu.help.privacy": "Izjava o privatnosti",
102 "menu.edit.stopSpeaking" : "Заустави изговор", 102 "menu.help.support": "Подршка",
103 "menu.edit.undo" : "Поништи", 103 "menu.help.tos": "Услови коришћења услуге",
104 "menu.file" : "Датотека", 104 "menu.services": "Usluge",
105 "menu.help" : "Помоћ", 105 "menu.services.activatePreviousService": "Activate previous service",
106 "menu.help.changelog" : "Дневник измена", 106 "menu.services.addNewService": "Додај нову услугу",
107 "menu.help.debugInfo" : "Copy Debug Information", 107 "menu.services.goHome": "Home",
108 "menu.help.debugInfoCopiedBody" : "Your Debug Information has been copied to your clipboard.", 108 "menu.services.setNextServiceActive": "Activate next service",
109 "menu.help.debugInfoCopiedHeadline" : "Franz Debug Information", 109 "menu.todos": "Todos",
110 "menu.help.learnMore" : "Сазнајте више", 110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.help.privacy" : "Izjava o privatnosti", 111 "menu.view": "Преглед",
112 "menu.help.support" : "Подршка", 112 "menu.view.back": "Back",
113 "menu.help.tos" : "Услови коришћења услуге", 113 "menu.view.enterFullScreen": "Отвори у целом екрану",
114 "menu.services" : "Usluge", 114 "menu.view.exitFullScreen": "Напусти цео екран",
115 "menu.services.activatePreviousService" : "Activate previous service", 115 "menu.view.forward": "Forward",
116 "menu.services.addNewService" : "Додај нову услугу", 116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.services.goHome" : "Home", 117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.services.setNextServiceActive" : "Activate next service", 118 "menu.view.reloadFranz": "Поново учитај Франз",
119 "menu.todos" : "Todos", 119 "menu.view.reloadService": "Поново учирај услугу",
120 "menu.todos.enableTodos" : "Enable Todos", 120 "menu.view.resetZoom": "Стварна величина",
121 "menu.view" : "Преглед", 121 "menu.view.toggleDevTools": "Промени алатке за развој",
122 "menu.view.enterFullScreen" : "Отвори у целом екрану", 122 "menu.view.toggleFullScreen": "Преко целог екрана",
123 "menu.view.exitFullScreen" : "Напусти цео екран", 123 "menu.view.toggleServiceDevTools": "Toggle Service Developer Tools",
124 "menu.view.reloadFranz" : "Поново учитај Франз", 124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.reloadService" : "Поново учирај услугу", 125 "menu.view.zoomIn": "Увећај приказ",
126 "menu.view.resetZoom" : "Стварна величина", 126 "menu.view.zoomOut": "Умањи приказ",
127 "menu.view.toggleDevTools" : "Промени алатке за развој", 127 "menu.window": "У прозору",
128 "menu.view.toggleFullScreen" : "Преко целог екрана", 128 "menu.window.close": "Затвори",
129 "menu.view.toggleServiceDevTools" : "Toggle Service Developer Tools", 129 "menu.window.minimize": "Умањи",
130 "menu.view.toggleTodosDevTools" : "Toggle Todos Developer Tools", 130 "menu.workspaces": "Workspaces",
131 "menu.view.zoomIn" : "Увећај приказ", 131 "menu.workspaces.addNewWorkspace": "Add New Workspace...",
132 "menu.view.zoomOut" : "Умањи приказ", 132 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
133 "menu.window" : "У прозору", 133 "menu.workspaces.defaultWorkspace": "Sve usluge",
134 "menu.window.close" : "Затвори", 134 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
135 "menu.window.minimize" : "Умањи", 135 "password.email.label": "Vaša e-adresa",
136 "menu.workspaces" : "Workspaces", 136 "password.headline": "Stvaranje nove lozinke",
137 "menu.workspaces.addNewWorkspace" : "Add New Workspace...", 137 "password.link.login": "Prijavite se na Vaš račun",
138 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer", 138 "password.link.signup": "Stvorite besplatan račun",
139 "menu.workspaces.defaultWorkspace" : "Sve usluge", 139 "password.noUser": "Ne postoji ni jedan korisnik s tom e-mail adresom",
140 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer", 140 "password.submit.label": "Pošalji",
141 "password.email.label" : "Vaša e-adresa", 141 "password.successInfo": "Molimo Vas da provjerite vašu e-mail adresu",
142 "password.headline" : "Stvorite novu zaporku", 142 "premiumFeature.button.upgradeAccount": "Upgrade account",
143 "password.link.login" : "Prijavite se na Vaš račun", 143 "pricing.features.adFree": "Forever ad-free",
144 "password.link.signup" : "Stvorite besplatan račun", 144 "pricing.features.appDelays": "No Waiting Screens",
145 "password.noUser" : "Ne postoji ni jedan korisnik s tom e-mail adresom", 145 "pricing.features.customWebsites": "Add Custom Websites",
146 "password.submit.label" : "Pošalji", 146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "password.successInfo" : "Molimo Vas da provjerite vašu e-mail adresu", 147 "pricing.features.serviceProxies": "Service Proxies",
148 "premiumFeature.button.upgradeAccount" : "Upgrade account", 148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.accountSync" : "Account Synchronisation", 149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.adFree" : "Forever ad-free", 150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.appDelays" : "No Waiting Screens", 151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.customWebsites" : "Add Custom Websites", 152 "pricing.features.workspaces": "Workspaces",
153 "pricing.features.desktopNotifications" : "Desktop Notifications", 153 "pricing.plan.free": "Ferdi Free",
154 "pricing.features.onPremise" : "On-premise & other Hosted Services", 154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.features.recipes" : "Choose from more than 70 Services", 155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.features.serviceProxies" : "Service Proxies", 156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.features.spellchecker" : "Spellchecker support", 157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.features.teamManagement" : "Team Management", 158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.features.thirdPartyServices" : "Install 3rd party services", 159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.features.unlimitedServices" : "Add unlimited services", 160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.features.upToSixServices" : "Add up to 6 services", 161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.features.upToThreeServices" : "Add up to 3 services", 162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.features.workspaces" : "Workspaces", 163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.plan.free" : "Free", 164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.plan.legacy" : "Premium", 165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.plan.personal" : "Personal", 166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.plan.personal-monthly" : "Personal Monthly", 167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.plan.personal-yearly" : "Personal Yearly", 168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.plan.pro" : "Professional", 169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "pricing.plan.pro-monthly" : "Professional Monthly", 170 "service.crashHandler.action": "Osvježi {ime}",
171 "pricing.plan.pro-yearly" : "Professional Yearly", 171 "service.crashHandler.autoReload": "Pokušaću automatski povratiti {ime} u {sekundi} sekundi",
172 "pricing.trial.cta.accept" : "Start my 14-day Franz Professional Trial ", 172 "service.crashHandler.headline": "O, ne! ",
173 "pricing.trial.cta.skip" : "Continue to Franz", 173 "service.crashHandler.text": "{ime} je izazvalo grešku. ",
174 "pricing.trial.cta.start" : "Start using Franz", 174 "service.disabledHandler.action": "Omogući {ime} ",
175 "pricing.trial.error" : "Sorry, we could not activate your trial!", 175 "service.disabledHandler.headline": "{ime} je onemogućen/o",
176 "pricing.trial.features.headline" : "Franz Professional includes:", 176 "service.errorHandler.action": "Osvježi {ime}",
177 "pricing.trial.headline.pro" : "Hi {name}, welcome to Franz", 177 "service.errorHandler.editAction": "Uredite {ime}",
178 "pricing.trial.intro.happyMessaging" : "Happy messaging,", 178 "service.errorHandler.headline": "O, ne! ",
179 "pricing.trial.intro.specialTreat" : "We have a special treat for you.", 179 "service.errorHandler.message": "Greška ",
180 "pricing.trial.intro.tryPro" : "Enjoy the full Franz Professional experience completely free for 14 days.", 180 "service.errorHandler.text": "{name} has failed to load.",
181 "pricing.trial.terms.automaticTrialEnd" : "Your free trial ends automatically after 14 days", 181 "service.restrictedHandler.action": "Upgrade Account",
182 "pricing.trial.terms.headline" : "No strings attached", 182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "pricing.trial.terms.noCreditCard" : "No credit card required", 183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "pricing.trial.terms.trialWorth" : "Free trial (normally {currency}{price} per month)", 184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.crashHandler.action" : "Osvježi {ime}", 185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.crashHandler.autoReload" : "Pokušaću automatski povratiti {ime} u {sekundi} sekundi", 186 "service.webviewLoader.loading": "Loading",
187 "service.crashHandler.headline" : "O, ne! ", 187 "services.getStarted": "Započnimo! ",
188 "service.crashHandler.text" : "{ime} je izazvalo grešku. ", 188 "services.login": "Please login to use Ferdi.",
189 "service.disabledHandler.action" : "Omogući {ime} ", 189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "service.disabledHandler.headline" : "{ime} je onemogućen\/o", 190 "services.serverless": "Use Ferdi without an Account",
191 "service.errorHandler.action" : "Osvježi {ime}", 191 "services.welcome": "Dobrodošli u Ferdi",
192 "service.errorHandler.editAction" : "Uredite {ime}", 192 "settings.account.account.editButton": "Uredi račun",
193 "service.errorHandler.headline" : "O, ne! ", 193 "settings.account.accountType.basic": "Osnovni račun",
194 "service.errorHandler.message" : "Greška ", 194 "settings.account.accountType.premium": "Premium račun",
195 "service.errorHandler.text" : "{name} has failed to load.", 195 "settings.account.buttonSave": "Ažuriraj profil",
196 "service.restrictedHandler.action" : "Upgrade Account", 196 "settings.account.deleteAccount": "Обриши налог",
197 "service.restrictedHandler.customUrl.headline" : "Franz Professional Plan required", 197 "settings.account.deleteEmailSent": "Добили сте имејл са линком путем којег потврђујете брисање свог налога. Ваш налог и подаци не могу бити повраћени!",
198 "service.restrictedHandler.customUrl.text" : "Please upgrade to the Franz Professional plan to use custom urls & self hosted services.", 198 "settings.account.deleteInfo": "Уколико Вам више није потребан Франз налог, овде можете обрисати свој налог и све податке везане за исти.",
199 "service.restrictedHandler.serviceLimit.headline" : "You have reached your service limit.", 199 "settings.account.headline": "Korisnički nalog",
200 "service.restrictedHandler.serviceLimit.text" : "Please upgrade your account to use more than {count} services.", 200 "settings.account.headlineAccount": "Podaci o nalogu",
201 "service.webviewLoader.loading" : "Loading", 201 "settings.account.headlineDangerZone": "Зона опреза",
202 "services.getStarted" : "Započnimo! ", 202 "settings.account.headlineInvoices": "Fakture",
203 "services.welcome" : "Dobrodošli u Franz", 203 "settings.account.headlinePassword": "Promijenite lozinku",
204 "settings.account.account.editButton" : "Uredi račun", 204 "settings.account.headlineProfile": "Ažuriraj profil",
205 "settings.account.accountType.basic" : "Osnovni račun", 205 "settings.account.headlineSubscription": "Vaša pretplata",
206 "settings.account.accountType.premium" : "Premium račun", 206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.buttonSave" : "Ažuriraj profil", 207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.deleteAccount" : "Обриши налог", 208 "settings.account.invoiceDownload": "Preuzmite",
209 "settings.account.deleteEmailSent" : "Добили сте имејл са линком путем којег потврђујете брисање свог налога. Ваш налог и подаци не могу бити повраћени!", 209 "settings.account.manageSubscription.label": "Upravljajte pretplatama",
210 "settings.account.deleteInfo" : "Уколико Вам више није потребан Франз налог, овде можете обрисати свој налог и све податке везане за исти.", 210 "settings.account.successInfo": "Vaše promjene su spremljene",
211 "settings.account.headline" : "Korisnički nalog", 211 "settings.account.trial": "Free Trial",
212 "settings.account.headlineAccount" : "Podaci o nalogu", 212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.headlineDangerZone" : "Зона опреза", 213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.headlineInvoices" : "Fakture", 214 "settings.account.tryReloadServices": "Pokušajte ponovno",
215 "settings.account.headlinePassword" : "Promijenite lozinku", 215 "settings.account.tryReloadUserInfoRequest": "Pokušajte ponovno",
216 "settings.account.headlineProfile" : "Ažurirajte profil", 216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.headlineSubscription" : "Vaša pretplata", 217 "settings.account.userInfoRequestFailed": "Nije moguće učitati informacije o korisniku",
218 "settings.account.headlineTrialUpgrade" : "Get the free 14 day Franz Professional Trial", 218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.account.headlineUpgradeAccount" : "Upgrade your account & get the full Franz experience", 219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.account.invoiceDownload" : "Preuzmite", 220 "settings.app.buttonClearAllCache": "Очисти кеш",
221 "settings.account.manageSubscription.label" : "Upravljajte pretplatama", 221 "settings.app.buttonInstallUpdate": "Ponovo pokreni i instaliraj ažuriranje ",
222 "settings.account.successInfo" : "Vaše promjene su spremljene", 222 "settings.app.buttonSearchForUpdate": "Potraži ažuriranja",
223 "settings.account.trial" : "Free Trial", 223 "settings.app.cacheInfo": "Франз кеш тренутно користи {величина} простора на диску.",
224 "settings.account.trialEndsIn" : "Your free trial ends in {duration}.", 224 "settings.app.currentVersion": "Trenutna verzija:",
225 "settings.account.trialUpdateBillingInfo" : "Please update your billing info to continue using {license} after your trial period.", 225 "settings.app.form.accentColor": "Accent color",
226 "settings.account.tryReloadServices" : "Pokušajte ponovno", 226 "settings.app.form.autoLaunchInBackground": "Otvori u pozadini",
227 "settings.account.tryReloadUserInfoRequest" : "Pokušajte ponovno", 227 "settings.app.form.autoLaunchOnStart": "Pokreni Ferdi sa sistemom",
228 "settings.account.upgradeToPro.label" : "Upgrade to Franz Professional", 228 "settings.app.form.beta": "Obuhvati i beta verzije",
229 "settings.account.userInfoRequestFailed" : "Nije moguće učitati informacije o korisniku", 229 "settings.app.form.darkMode": "Join the Dark Side",
230 "settings.account.yourLicense" : "Your Franz License", 230 "settings.app.form.enableGPUAcceleration": "Омогући убрзање графичке јединице",
231 "settings.app.buttonClearAllCache" : "Очисти кеш", 231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.buttonInstallUpdate" : "Ponovo pokreni i instaliraj ažuriranje", 232 "settings.app.form.enableSpellchecking": "Omogući provjeru pravopisa",
233 "settings.app.buttonSearchForUpdate" : "Potraži ažuriranja", 233 "settings.app.form.enableSystemTray": "Prikaži aplikaciju u sustavskoj traci",
234 "settings.app.cacheInfo" : "Франз кеш тренутно користи {величина} простора на диску.", 234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.currentVersion" : "Trenutna verzija:", 235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.autoLaunchInBackground" : "Otvori u pozadini", 236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.autoLaunchOnStart" : "Pokreni Franz sa sistemom", 237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.beta" : "Obuhvati i beta verzije", 238 "settings.app.form.language": "Jezik",
239 "settings.app.form.darkMode" : "Join the Dark Side", 239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.enableGPUAcceleration" : "Омогући убрзање графичке јединице", 240 "settings.app.form.minimizeToSystemTray": "Smanji Franca u sustavsku traku",
241 "settings.app.form.enableSpellchecking" : "Omogući provjeru pravopisa", 241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.enableSystemTray" : "Prikaži aplikaciju u sustavskoj traci", 242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.enableTodos" : "Enable Franz Todos", 243 "settings.app.form.runInBackground": "Neka se Franc održava u pozadini i ako je prozor zatvoren",
244 "settings.app.form.keepAllWorkspacesLoaded" : "Keep all workspaces loaded", 244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.language" : "Jezik", 245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.minimizeToSystemTray" : "Smanji Franca u sustavsku traku", 246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.runInBackground" : "Neka se Franc održava u pozadini i ako je prozor zatvoren", 247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices" : "Prikaži ploče s onemogućenim servisima", 248 "settings.app.form.showDisabledServices": "Prikaži ploče s onemogućenim servisima",
249 "settings.app.form.showMessagesBadgesWhenMuted" : "Покажи беџ за непрочитане поруке када су обавештења онемогућена", 249 "settings.app.form.showMessagesBadgesWhenMuted": "Покажи беџ за непрочитане поруке када су обавештења онемогућена",
250 "settings.app.headline" : "Подешавања", 250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.headlineAdvanced" : "Napredne alatke", 251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.headlineAppearance" : "Izgled", 252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headlineGeneral" : "Općenito", 253 "settings.app.headline": "Postavke",
254 "settings.app.headlineLanguage" : "Jezik", 254 "settings.app.headlineAdvanced": "Napredne alatke",
255 "settings.app.headlineUpdates" : "Nadogradnje", 255 "settings.app.headlineAppearance": "Izgled",
256 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.", 256 "settings.app.headlineGeneral": "Općenito",
257 "settings.app.restartRequired" : "Promjene postavki zahtijevaju ponovni pogon", 257 "settings.app.headlineLanguage": "Jezik",
258 "settings.app.subheadlineCache" : "Кеш", 258 "settings.app.headlineUpdates": "Nadogradnje",
259 "settings.app.translationHelp" : "Pomozite nam prevesti aplikaciju na Vaš jezik. ", 259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.updateStatusAvailable" : "Nadogradnja dostupna, preuzimanje...", 260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.updateStatusSearching" : "Traže se ažuriranja", 261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.updateStatusUpToDate" : "Koristite najnoviju verziju Franca.", 262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.invite.headline" : "Позови пријатеље", 263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.navigation.account" : "Račun", 264 "settings.app.restartRequired": "Promjene postavki zahtijevaju ponovni pogon",
265 "settings.navigation.availableServices" : "Dostupne usluge", 265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.navigation.inviteFriends" : "Позови пријатеље", 266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.navigation.logout" : "Odjava", 267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.navigation.settings" : "Postavke", 268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.navigation.team" : "Manage Team", 269 "settings.app.subheadlineCache": "Кеш",
270 "settings.navigation.yourServices" : "Vaše usluge", 270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.navigation.yourWorkspaces" : "Your workspaces", 271 "settings.app.translationHelp": "Pomozite nam prevesti aplikaciju na Vaš jezik. ",
272 "settings.recipes.all" : "Sve usluge", 272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.recipes.custom" : "Custom Services", 273 "settings.app.updateStatusAvailable": "Nadogradnja dostupna, preuzimanje...",
274 "settings.recipes.customService.headline.communityRecipes" : "Community 3rd Party Recipes", 274 "settings.app.updateStatusSearching": "Traže se ažuriranja",
275 "settings.recipes.customService.headline.customRecipes" : "Custom 3rd Party Recipes", 275 "settings.app.updateStatusUpToDate": "Koristite najnoviju verziju Franca.",
276 "settings.recipes.customService.headline.devRecipes" : "Your Development Service Recipes", 276 "settings.invite.headline": "Позови пријатеље",
277 "settings.recipes.customService.intro" : "To add a custom service, copy the service recipe to:", 277 "settings.navigation.account": "Korisnički nalog",
278 "settings.recipes.customService.openDevDocs" : "Developer Documentation", 278 "settings.navigation.availableServices": "Dostupne usluge",
279 "settings.recipes.customService.openFolder" : "Open folder", 279 "settings.navigation.logout": "Odjava",
280 "settings.recipes.headline" : "Dostupne usluge", 280 "settings.navigation.settings": "Postavke",
281 "settings.recipes.missingService" : "Da li neki servis nedostaje?", 281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.recipes.mostPopular" : "Najpopularniji", 282 "settings.navigation.team": "Manage Team",
283 "settings.recipes.nothingFound" : "Žao nam je, ali ne postoje usluge koje se poklapaju s onima koje tražite", 283 "settings.navigation.yourServices": "Vaše usluge",
284 "settings.recipes.servicesSuccessfulAddedInfo" : "Usluga uspješno dodana", 284 "settings.navigation.yourWorkspaces": "Your workspaces",
285 "settings.searchService" : "Претражи услуге", 285 "settings.recipes.all": "Sve usluge",
286 "settings.service.error.goBack" : "Nazad do servisa", 286 "settings.recipes.custom": "Custom Services",
287 "settings.service.error.headline" : "Greška ", 287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.service.error.message" : "Nemoguće učitati sadržaj usluge", 288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.service.form.addServiceHeadline" : "Dodaj {ime} ", 289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.service.form.availableServices" : "Dostupne usluge", 290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.service.form.customUrl" : "Prilagođen server", 291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.service.form.customUrlPremiumInfo" : "Da bi ste dodali samo-hostovane usluge, potreban vam je Premium račun.", 292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.service.form.customUrlUpgradeAccount" : "Nadogradite Vaš račun", 293 "settings.recipes.headline": "Dostupne usluge",
294 "settings.service.form.customUrlValidationError" : "Nije moguće odobriti prilagođeno {ime} servera.", 294 "settings.recipes.missingService": "Da li neki servis nedostaje?",
295 "settings.service.form.deleteButton" : "Izbriši uslugu", 295 "settings.recipes.mostPopular": "Najpopularniji",
296 "settings.service.form.editServiceHeadline" : "Uredite {ime}", 296 "settings.recipes.nothingFound": "Žao nam je, ali ne postoje usluge koje se poklapaju s onima koje tražite",
297 "settings.service.form.enableAudio" : "Omogućite zvuk", 297 "settings.recipes.servicesSuccessfulAddedInfo": "Usluga uspješno dodana",
298 "settings.service.form.enableBadge" : "Покажи беџеве за непрочитане поруке", 298 "settings.searchService": "Претражи услуге",
299 "settings.service.form.enableDarkMode" : "Enable Dark Mode", 299 "settings.service.error.goBack": "Nazad do servisa",
300 "settings.service.form.enableNotification" : "Omogućite obavijesti", 300 "settings.service.error.headline": "Greška ",
301 "settings.service.form.enableService" : "Omogućite usluge", 301 "settings.service.error.message": "Nemoguće učitati sadržaj usluge",
302 "settings.service.form.headlineBadges" : "Беџеви за непрочитане поруке", 302 "settings.service.form.addServiceHeadline": "Dodaj {ime} ",
303 "settings.service.form.headlineGeneral" : "Опште", 303 "settings.service.form.availableServices": "Dostupne usluge",
304 "settings.service.form.headlineNotifications" : "Обавештења", 304 "settings.service.form.customUrl": "Prilagođen server",
305 "settings.service.form.icon" : "Посебна иконица", 305 "settings.service.form.customUrlPremiumInfo": "Da bi ste dodali samo-hostovane usluge, potreban vam je Premium račun.",
306 "settings.service.form.iconDelete" : "Обриши", 306 "settings.service.form.customUrlUpgradeAccount": "Nadogradite Vaš račun",
307 "settings.service.form.iconUpload" : "Превуци слику или кликни овде", 307 "settings.service.form.customUrlValidationError": "Nije moguće odobriti prilagođeno {ime} servera.",
308 "settings.service.form.indirectMessageInfo" : "Vi ćete biti obavješteni o svim novim porukama na kanalu, ne samo o @imenima, kanalima, @ovdje, ...", 308 "settings.service.form.deleteButton": "Izbriši uslugu",
309 "settings.service.form.indirectMessages" : "Prikaži značku na svim novim porukuama", 309 "settings.service.form.editServiceHeadline": "Uredite {ime}",
310 "settings.service.form.isMutedInfo" : "Kada je onemogućeno, sve obavijesti, svi zvukovi i sva pozadinska podrška će biti nečujna.", 310 "settings.service.form.enableAudio": "Omogućite zvuk",
311 "settings.service.form.name" : "Ime", 311 "settings.service.form.enableBadge": "Покажи беџеве за непрочитане поруке",
312 "settings.service.form.proxy.headline" : "HTTP\/HTTPS Proxy Settings", 312 "settings.service.form.enableDarkMode": "Enable Dark Mode",
313 "settings.service.form.proxy.host" : "Proxy Host\/IP", 313 "settings.service.form.enableNotification": "Omogućite obavijesti",
314 "settings.service.form.proxy.info" : "Proxy settings will not synced with the Franz servers.", 314 "settings.service.form.enableService": "Omogućite usluge",
315 "settings.service.form.proxy.isEnabled" : "Use Proxy", 315 "settings.service.form.headlineBadges": "Беџеви за непрочитане поруке",
316 "settings.service.form.proxy.password" : "Password (optional)", 316 "settings.service.form.headlineGeneral": "Općenito",
317 "settings.service.form.proxy.port" : "Port", 317 "settings.service.form.headlineNotifications": "Обавештења",
318 "settings.service.form.proxy.restartInfo" : "Please restart Franz after changing proxy Settings.", 318 "settings.service.form.icon": "Посебна иконица",
319 "settings.service.form.proxy.user" : "User (optional)", 319 "settings.service.form.iconDelete": "Obriši",
320 "settings.service.form.saveButton" : "Sačuvaj uslugu\/e", 320 "settings.service.form.iconUpload": "Превуци слику или кликни овде",
321 "settings.service.form.tabHosted" : "Hostovano", 321 "settings.service.form.indirectMessageInfo": "Vi ćete biti obavješteni o svim novim porukama na kanalu, ne samo o @imenima, kanalima, @ovdje, ...",
322 "settings.service.form.tabOnPremise" : "Samo-hostovano ⭐️", 322 "settings.service.form.indirectMessages": "Prikaži značku na svim novim porukuama",
323 "settings.service.form.team" : "Tim", 323 "settings.service.form.isMutedInfo": "Kada je onemogućeno, sve obavijesti, svi zvukovi i sva pozadinska podrška će biti nečujna.",
324 "settings.service.form.useHostedService" : "Користи хостовану {име} услугу.", 324 "settings.service.form.name": "Ime",
325 "settings.service.form.yourServices" : "Vaše usluge", 325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.services.deletedInfo" : "Usluga je onemogućena", 326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings",
327 "settings.services.discoverServices" : "Pronađite usluge", 327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.services.headline" : "Vaše usluge", 328 "settings.service.form.proxy.info": "Proxy settings will not synced with the Ferdi servers.",
329 "settings.services.noServicesAdded" : "Još uvijek niste unijeli niti jednu uslugu.", 329 "settings.service.form.proxy.isEnabled": "Use Proxy",
330 "settings.services.servicesRequestFailed" : "Could not load your services", 330 "settings.service.form.proxy.password": "Password (optional)",
331 "settings.services.tooltip.isDisabled" : "Usluga je onemogućena.", 331 "settings.service.form.proxy.port": "Port",
332 "settings.services.tooltip.isMuted" : "Svi zvukovi su onemogućeni.", 332 "settings.service.form.proxy.restartInfo": "Please restart Ferdi after changing proxy Settings.",
333 "settings.services.tooltip.notificationsDisabled" : "Obavijesti su onemogućene.", 333 "settings.service.form.proxy.user": "User (optional)",
334 "settings.services.updatedInfo" : "Vaše promjene su pohranjene.", 334 "settings.service.form.saveButton": "Sačuvaj uslugu/e",
335 "settings.team.contentHeadline" : "Franz for Teams", 335 "settings.service.form.tabHosted": "Hostovano",
336 "settings.team.copy" : "Franz for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!", 336 "settings.service.form.tabOnPremise": "Samo-hostovano ⭐️",
337 "settings.team.headline" : "Tim", 337 "settings.service.form.team": "Tim",
338 "settings.team.intro" : "You and your team use Franz? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.", 338 "settings.service.form.useHostedService": "Користи хостовану {име} услугу.",
339 "settings.team.manageAction" : "Manage your Team on meetfranz.com", 339 "settings.service.form.yourServices": "Vaše usluge",
340 "settings.team.upgradeAction" : "Upgrade your Account", 340 "settings.services.deletedInfo": "Usluga je onemogućena",
341 "settings.user.form.accountType.company" : "Tvrtka", 341 "settings.services.discoverServices": "Pronađite usluge",
342 "settings.user.form.accountType.individual" : "Pojedinac", 342 "settings.services.headline": "Vaše usluge",
343 "settings.user.form.accountType.label" : "Tip računa", 343 "settings.services.noServicesAdded": "Još uvijek niste unijeli niti jednu uslugu.",
344 "settings.user.form.accountType.non-profit" : "Neprofitno", 344 "settings.services.servicesRequestFailed": "Could not load your services",
345 "settings.user.form.currentPassword" : "Trenutna lozinka", 345 "settings.services.tooltip.isDisabled": "Usluga je onemogućena.",
346 "settings.user.form.email" : "E-pošta", 346 "settings.services.tooltip.isMuted": "Svi zvukovi su onemogućeni.",
347 "settings.user.form.firstname" : "Ime", 347 "settings.services.tooltip.notificationsDisabled": "Obavijesti su onemogućene.",
348 "settings.user.form.lastname" : "Prezime", 348 "settings.services.updatedInfo": "Vaše promjene su spremljene",
349 "settings.user.form.newPassword" : "Nova lozinka", 349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.workspace.add.form.name" : "Ime", 350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.workspace.add.form.submitButton" : "Create workspace", 351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.workspace.form.buttonDelete" : "Delete workspace", 352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.workspace.form.buttonSave" : "Save workspace", 353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.workspace.form.name" : "Ime", 354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace", 355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.workspace.form.yourWorkspaces" : "Your workspaces", 356 "settings.team.headline": "Tim",
357 "settings.workspaces.deletedInfo" : "Workspace has been deleted", 357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.workspaces.headline" : "Your workspaces", 358 "settings.team.manageAction": "Manage your Team on getferdi.com",
359 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.", 359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.workspaces.tryReloadWorkspaces" : "Pokušajte ponovno", 360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.workspaces.updatedInfo" : "Your changes have been saved", 361 "settings.team.upgradeAction": "Upgrade your Account",
362 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces", 362 "settings.user.form.accountType.company": "Tvrtka",
363 "settings.workspaces.workspaceFeatureInfo" : "Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.", 363 "settings.user.form.accountType.individual": "Pojedinac",
364 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces", 364 "settings.user.form.accountType.label": "Tip računa",
365 "sidebar.addNewService" : "Dodajte novu uslugu", 365 "settings.user.form.accountType.non-profit": "Neprofitno",
366 "sidebar.closeTodosDrawer" : "Close Franz Todos", 366 "settings.user.form.currentPassword": "Trenutna lozinka",
367 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer", 367 "settings.user.form.email": "E-pošta",
368 "sidebar.muteApp" : "Онемогући обавештења и звукове", 368 "settings.user.form.firstname": "Ime",
369 "sidebar.openTodosDrawer" : "Open Franz Todos", 369 "settings.user.form.lastname": "Prezime",
370 "sidebar.openWorkspaceDrawer" : "Open workspace drawer", 370 "settings.user.form.newPassword": "Nova lozinka",
371 "sidebar.settings" : "Postavke", 371 "settings.workspace.add.form.name": "Ime",
372 "sidebar.unmuteApp" : "Искључи обавештења и звукове", 372 "settings.workspace.add.form.submitButton": "Create workspace",
373 "signup.email.label" : "Vaša e-adresa", 373 "settings.workspace.form.buttonDelete": "Delete workspace",
374 "signup.emailDuplicate" : "Već postoji korisnik s tom e-mail adresom", 374 "settings.workspace.form.buttonSave": "Save workspace",
375 "signup.firstname.label" : "Ime", 375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "signup.headline" : "Prijava", 376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "signup.lastname.label" : "Prezime", 377 "settings.workspace.form.name": "Ime",
378 "signup.legal.info" : "Prilikom stvaranja Franz računa, slažete se sa sljedećim stavkama", 378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "signup.legal.privacy" : "Изјава о приватности", 379 "settings.workspace.form.yourWorkspaces": "Your workspaces",
380 "signup.legal.terms" : "Uvjeti korištenja", 380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "signup.link.login" : "Imate račun? Prijavite se.", 381 "settings.workspaces.headline": "Your workspaces",
382 "signup.password.label" : "Lozinka", 382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "signup.submit.label" : "Napravite novi račun", 383 "settings.workspaces.tryReloadWorkspaces": "Pokušajte ponovno",
384 "subscription.bestValue" : "Best value", 384 "settings.workspaces.updatedInfo": "Vaše promjene su spremljene",
385 "subscription.cta.activateTrial" : "Yes, start the free Franz Professional trial", 385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
386 "subscription.cta.allOptions" : "See all options", 386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "subscription.cta.choosePlan" : "Choose your plan", 387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "subscription.includedProFeatures" : "The Franz Professional Plan includes:", 388 "sidebar.addNewService": "Dodajte novu uslugu",
389 "subscription.interval.per" : "per {interval}", 389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "subscription.interval.perMonth" : "per month", 390 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
391 "subscription.interval.perMonthPerUser" : "per month & user", 391 "sidebar.lockFerdi": "Lock Ferdi",
392 "subscription.planItem.upgradeAccount" : "Upgrade Account", 392 "sidebar.muteApp": "Онемогући обавештења и звукове",
393 "subscription.teaser.includedFeatures" : "Paid Franz Plans include:", 393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "subscription.teaser.intro" : "Franz 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!", 394 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
395 "subscriptionPopup.buttonCancel" : "Odustani", 395 "sidebar.settings": "Postavke",
396 "subscriptionPopup.buttonDone" : "Završeno", 396 "sidebar.unmuteApp": "Искључи обавештења и звукове",
397 "tabs.item.deleteService" : "Izbriši servis", 397 "signup.email.label": "Vaša e-adresa",
398 "tabs.item.disableAudio" : "Onemogući zvuk", 398 "signup.emailDuplicate": "Već postoji korisnik s tom e-mail adresom",
399 "tabs.item.disableNotifications" : "Onemogući obavijesti", 399 "signup.firstname.label": "Ime",
400 "tabs.item.disableService" : "Onemogući servis", 400 "signup.headline": "Prijava",
401 "tabs.item.edit" : "Уреди", 401 "signup.lastname.label": "Prezime",
402 "tabs.item.enableAudio" : "Uključi zvuk", 402 "signup.legal.info": "Prilikom stvaranja Ferdi računa, slažete se sa sljedećim stavkama",
403 "tabs.item.enableNotification" : "Omogući obavijesti", 403 "signup.legal.privacy": "Izjava o privatnosti",
404 "tabs.item.enableService" : "Omogući usluge", 404 "signup.legal.terms": "Uvjeti korištenja",
405 "tabs.item.reload" : "Ponovno učitavanje", 405 "signup.link.login": "Imate račun? Prijavite se.",
406 "validation.email" : "{поље} није валидно", 406 "signup.password.label": "Password",
407 "validation.minLength" : "{поље} треба да буде најмање {дужина} карактера дугачко", 407 "signup.submit.label": "Napravite novi račun",
408 "validation.oneRequired" : "At least one is required", 408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "validation.required" : "{поље} је неопходно", 409 "subscription.cta.allOptions": "See all options",
410 "validation.url" : "{field} није валидан УРЛ", 410 "subscription.cta.choosePlan": "Choose your plan",
411 "webControls.back" : "Back", 411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "webControls.forward" : "Forward", 412 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:",
413 "webControls.goHome" : "Home", 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!",
414 "webControls.openInBrowser" : "Open in Browser", 414 "subscriptionPopup.buttonCancel": "Odustani",
415 "webControls.reload" : "Ponovno učitavanje", 415 "subscriptionPopup.buttonDone": "Završeno",
416 "welcome.loginButton" : "Prijavite se na račun", 416 "tabs.item.deleteService": "Izbriši uslugu",
417 "welcome.signupButton" : "Stvorite novi korisnički račun", 417 "tabs.item.disableAudio": "Onemogući zvuk",
418 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace", 418 "tabs.item.disableNotifications": "Onemogući obavijesti",
419 "workspaceDrawer.allServices" : "Sve usluge", 419 "tabs.item.disableService": "Onemogući servis",
420 "workspaceDrawer.headline" : "Workspaces", 420 "tabs.item.edit": "Uredi",
421 "workspaceDrawer.item.contextMenuEdit" : "edit", 421 "tabs.item.enableAudio": "Omogućite zvuk",
422 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet", 422 "tabs.item.enableNotification": "Omogućite obavijesti",
423 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace", 423 "tabs.item.enableService": "Omogućite usluge",
424 "workspaceDrawer.proFeatureBadge" : "Premium feature", 424 "tabs.item.reload": "Ponovno učitavanje",
425 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account", 425 "validation.email": "{поље} није валидно",
426 "workspaceDrawer.workspaceFeatureInfo" : "<p>Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.<\/p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.<\/p>", 426 "validation.minLength": "{поље} треба да буде најмање {дужина} карактера дугачко",
427 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings", 427 "validation.oneRequired": "At least one is required",
428 "workspaces.switchingIndicator.switchingTo" : "Switching to" 428 "validation.required": "{поље} је неопходно",
429 "validation.url": "{field} није валидан УРЛ",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Ponovno učitavanje",
435 "welcome.loginButton": "Prijavite se na račun",
436 "welcome.signupButton": "Stvorite besplatan račun",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "Sve usluge",
439 "workspaceDrawer.headline": "Workspaces",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
429} 448}
diff --git a/src/i18n/locales/sv.json b/src/i18n/locales/sv.json
new file mode 100644
index 000000000..628880d9f
--- /dev/null
+++ b/src/i18n/locales/sv.json
@@ -0,0 +1,448 @@
1{
2 "app.errorHandler.action": "Reload",
3 "app.errorHandler.headline": "Something went wrong",
4 "feature.announcements.changelog.headline": "Changes in Ferdi {version}",
5 "feature.delayApp.headline": "Please purchase a Ferdi Supporter License to skip waiting",
6 "feature.delayApp.text": "Ferdi will continue in {seconds} seconds.",
7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
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",
11 "feature.delayApp.upgrade.actionShort": "Upgrade account",
12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.quickSwitch.search": "Search...",
14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.shareFranz.action.email": "Send as email",
17 "feature.shareFranz.action.facebook": "Share on Facebook",
18 "feature.shareFranz.action.twitter": "Share on Twitter",
19 "feature.shareFranz.headline": "Ferdi is better together!",
20 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
23 "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.",
25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "global.api.unhealthy": "Can't connect to Ferdi online services",
27 "global.franzProRequired": "Ferdi Professional Required",
28 "global.notConnectedToTheInternet": "You are not connected to the internet.",
29 "global.spellchecker.useDefault": "Use System Default ({default})",
30 "global.spellchecking.autodetect": "Detect language automatically",
31 "global.spellchecking.autodetect.short": "Automatic",
32 "global.spellchecking.language": "Spell checking language",
33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "import.headline": "Import your Ferdi 4 services",
35 "import.notSupportedHeadline": "Services not yet supported in Ferdi 5",
36 "import.skip.label": "I want to add services manually",
37 "import.submit.label": "Import services",
38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "infobar.buttonChangelog": "What is new?",
40 "infobar.buttonInstallUpdate": "Restart & install update",
41 "infobar.buttonReloadServices": "Reload services",
42 "infobar.requiredRequestsFailed": "Could not load services and user information",
43 "infobar.servicesUpdated": "Your services have been updated.",
44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "infobar.updateAvailable": "A new update for Ferdi is available.",
46 "invite.email.label": "Email address",
47 "invite.headline.friends": "Invite 3 of your friends or colleagues",
48 "invite.name.label": "Name",
49 "invite.skip.label": "I want to do this later",
50 "invite.submit.label": "Send invites",
51 "invite.successInfo": "Invitations sent successfully",
52 "locked.headline": "Locked",
53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "locked.invalidCredentials": "Password invalid",
55 "locked.password.label": "Password",
56 "locked.submit.label": "Unlock",
57 "login.changeServer": "Change server",
58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "login.customServerSuggestion": "Try importing your Franz account",
60 "login.email.label": "Email address",
61 "login.headline": "Sign in",
62 "login.invalidCredentials": "Email or password not valid",
63 "login.link.password": "Reset password",
64 "login.link.signup": "Create a free account",
65 "login.password.label": "Password",
66 "login.serverLogout": "Your session expired, please login again.",
67 "login.submit.label": "Sign in",
68 "login.tokenExpired": "Your session expired, please login again.",
69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "menu.app.about": "About Ferdi",
72 "menu.app.announcement": "What's new?",
73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "menu.app.checkForUpdates": "Check for updates",
75 "menu.app.hide": "Hide",
76 "menu.app.hideOthers": "Hide Others",
77 "menu.app.quit": "Quit",
78 "menu.app.settings": "Settings",
79 "menu.app.unhide": "Unhide",
80 "menu.edit": "Edit",
81 "menu.edit.copy": "Copy",
82 "menu.edit.cut": "Cut",
83 "menu.edit.delete": "Delete",
84 "menu.edit.emojiSymbols": "Emoji & Symbols",
85 "menu.edit.paste": "Paste",
86 "menu.edit.pasteAndMatchStyle": "Paste And Match Style",
87 "menu.edit.redo": "Redo",
88 "menu.edit.selectAll": "Select All",
89 "menu.edit.speech": "Speech",
90 "menu.edit.startDictation": "Start Dictation",
91 "menu.edit.startSpeaking": "Start Speaking",
92 "menu.edit.stopSpeaking": "Stop Speaking",
93 "menu.edit.undo": "Undo",
94 "menu.file": "File",
95 "menu.help": "Help",
96 "menu.help.changelog": "Changelog",
97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.help.learnMore": "Learn More",
101 "menu.help.privacy": "Privacy Statement",
102 "menu.help.support": "Support",
103 "menu.help.tos": "Terms of Service",
104 "menu.services": "Services",
105 "menu.services.activatePreviousService": "Activate previous service",
106 "menu.services.addNewService": "Add New Service...",
107 "menu.services.goHome": "Home",
108 "menu.services.setNextServiceActive": "Activate next service",
109 "menu.todos": "Todos",
110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.view": "View",
112 "menu.view.back": "Back",
113 "menu.view.enterFullScreen": "Enter Full Screen",
114 "menu.view.exitFullScreen": "Exit Full Screen",
115 "menu.view.forward": "Forward",
116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.view.reloadFranz": "Reload Ferdi",
119 "menu.view.reloadService": "Reload Service",
120 "menu.view.resetZoom": "Actual Size",
121 "menu.view.toggleDevTools": "Toggle Developer Tools",
122 "menu.view.toggleFullScreen": "Toggle Full Screen",
123 "menu.view.toggleServiceDevTools": "Toggle Service Developer Tools",
124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.zoomIn": "Zoom In",
126 "menu.view.zoomOut": "Zoom Out",
127 "menu.window": "Window",
128 "menu.window.close": "Close",
129 "menu.window.minimize": "Minimize",
130 "menu.workspaces": "Workspaces",
131 "menu.workspaces.addNewWorkspace": "Add New Workspace...",
132 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
133 "menu.workspaces.defaultWorkspace": "All services",
134 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
135 "password.email.label": "Email address",
136 "password.headline": "Reset password",
137 "password.link.login": "Sign in to your account",
138 "password.link.signup": "Create a free account",
139 "password.noUser": "No user with that email address was found",
140 "password.submit.label": "Submit",
141 "password.successInfo": "Please check your email",
142 "premiumFeature.button.upgradeAccount": "Upgrade account",
143 "pricing.features.adFree": "Forever ad-free",
144 "pricing.features.appDelays": "No Waiting Screens",
145 "pricing.features.customWebsites": "Add Custom Websites",
146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "pricing.features.serviceProxies": "Service Proxies",
148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.workspaces": "Workspaces",
153 "pricing.plan.free": "Ferdi Free",
154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "service.crashHandler.action": "Reload {name}",
171 "service.crashHandler.autoReload": "Trying to automatically restore {name} in {seconds} seconds",
172 "service.crashHandler.headline": "Oh no!",
173 "service.crashHandler.text": "{name} has caused an error.",
174 "service.disabledHandler.action": "Enable {name}",
175 "service.disabledHandler.headline": "{name} is disabled",
176 "service.errorHandler.action": "Reload {name}",
177 "service.errorHandler.editAction": "Edit {name}",
178 "service.errorHandler.headline": "Oh no!",
179 "service.errorHandler.message": "Error",
180 "service.errorHandler.text": "{name} has failed to load.",
181 "service.restrictedHandler.action": "Upgrade Account",
182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.webviewLoader.loading": "Loading",
187 "services.getStarted": "Get started",
188 "services.login": "Please login to use Ferdi.",
189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "services.serverless": "Use Ferdi without an Account",
191 "services.welcome": "Welcome to Ferdi",
192 "settings.account.account.editButton": "Edit account",
193 "settings.account.accountType.basic": "Basic Account",
194 "settings.account.accountType.premium": "Premium Supporter Account",
195 "settings.account.buttonSave": "Update profile",
196 "settings.account.deleteAccount": "Delete account",
197 "settings.account.deleteEmailSent": "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!",
198 "settings.account.deleteInfo": "If you don't need your Ferdi account any longer, you can delete your account and all related data here.",
199 "settings.account.headline": "Account",
200 "settings.account.headlineAccount": "Account information",
201 "settings.account.headlineDangerZone": "Danger Zone",
202 "settings.account.headlineInvoices": "Invoices",
203 "settings.account.headlinePassword": "Change password",
204 "settings.account.headlineProfile": "Update profile",
205 "settings.account.headlineSubscription": "Your subscription",
206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.invoiceDownload": "Download",
209 "settings.account.manageSubscription.label": "Manage your subscription",
210 "settings.account.successInfo": "Your changes have been saved",
211 "settings.account.trial": "Free Trial",
212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.tryReloadServices": "Try again",
215 "settings.account.tryReloadUserInfoRequest": "Try again",
216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.userInfoRequestFailed": "Could not load user information",
218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.app.buttonClearAllCache": "Clear cache",
221 "settings.app.buttonInstallUpdate": "Restart & install update",
222 "settings.app.buttonSearchForUpdate": "Check for updates",
223 "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.",
224 "settings.app.currentVersion": "Current version:",
225 "settings.app.form.accentColor": "Accent color",
226 "settings.app.form.autoLaunchInBackground": "Open in background",
227 "settings.app.form.autoLaunchOnStart": "Launch Ferdi on start",
228 "settings.app.form.beta": "Include beta versions",
229 "settings.app.form.darkMode": "Join the Dark Side",
230 "settings.app.form.enableGPUAcceleration": "Enable GPU Acceleration",
231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.form.enableSpellchecking": "Enable spell checking",
233 "settings.app.form.enableSystemTray": "Show Ferdi in system tray",
234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.language": "Language",
239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.minimizeToSystemTray": "Minimize Ferdi to system tray",
241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.runInBackground": "Keep Ferdi in background when closing the window",
244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices": "Display disabled services tabs",
249 "settings.app.form.showMessagesBadgesWhenMuted": "Show unread message badge when notifications are disabled",
250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headline": "Settings",
254 "settings.app.headlineAdvanced": "Advanced",
255 "settings.app.headlineAppearance": "Appearance",
256 "settings.app.headlineGeneral": "General",
257 "settings.app.headlineLanguage": "Language",
258 "settings.app.headlineUpdates": "Updates",
259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.app.restartRequired": "Changes require restart",
265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.app.subheadlineCache": "Cache",
270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.app.translationHelp": "Help us to translate Ferdi into your language.",
272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.app.updateStatusAvailable": "Update available, downloading...",
274 "settings.app.updateStatusSearching": "Is searching for update",
275 "settings.app.updateStatusUpToDate": "You are using the latest version of Ferdi",
276 "settings.invite.headline": "Invite Friends",
277 "settings.navigation.account": "Account",
278 "settings.navigation.availableServices": "Available services",
279 "settings.navigation.logout": "Logout",
280 "settings.navigation.settings": "Settings",
281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.navigation.team": "Manage Team",
283 "settings.navigation.yourServices": "Your services",
284 "settings.navigation.yourWorkspaces": "Your workspaces",
285 "settings.recipes.all": "All services",
286 "settings.recipes.custom": "Custom Services",
287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.recipes.headline": "Available services",
294 "settings.recipes.missingService": "Missing a service?",
295 "settings.recipes.mostPopular": "Most popular",
296 "settings.recipes.nothingFound": "Sorry, but no service matched your search term.",
297 "settings.recipes.servicesSuccessfulAddedInfo": "Service successfully added",
298 "settings.searchService": "Search service",
299 "settings.service.error.goBack": "Back to services",
300 "settings.service.error.headline": "Error",
301 "settings.service.error.message": "Could not load service recipe.",
302 "settings.service.form.addServiceHeadline": "Add {name}",
303 "settings.service.form.availableServices": "Available services",
304 "settings.service.form.customUrl": "Custom server",
305 "settings.service.form.customUrlPremiumInfo": "To add self hosted services, you need a Ferdi Premium Supporter Account.",
306 "settings.service.form.customUrlUpgradeAccount": "Upgrade your account",
307 "settings.service.form.customUrlValidationError": "Could not validate custom {name} server.",
308 "settings.service.form.deleteButton": "Delete service",
309 "settings.service.form.editServiceHeadline": "Edit {name}",
310 "settings.service.form.enableAudio": "Enable audio",
311 "settings.service.form.enableBadge": "Show unread message badges",
312 "settings.service.form.enableDarkMode": "Enable Dark Mode",
313 "settings.service.form.enableNotification": "Enable notifications",
314 "settings.service.form.enableService": "Enable service",
315 "settings.service.form.headlineBadges": "Unread message badges",
316 "settings.service.form.headlineGeneral": "General",
317 "settings.service.form.headlineNotifications": "Notifications",
318 "settings.service.form.icon": "Custom icon",
319 "settings.service.form.iconDelete": "Delete",
320 "settings.service.form.iconUpload": "Drop your image, or click here",
321 "settings.service.form.indirectMessageInfo": "You will be notified about all new messages in a channel, not just @username, @channel, @here, ...",
322 "settings.service.form.indirectMessages": "Show message badge for all new messages",
323 "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted",
324 "settings.service.form.name": "Name",
325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings",
327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.service.form.proxy.info": "Proxy settings will not synced with the Ferdi servers.",
329 "settings.service.form.proxy.isEnabled": "Use Proxy",
330 "settings.service.form.proxy.password": "Password (optional)",
331 "settings.service.form.proxy.port": "Port",
332 "settings.service.form.proxy.restartInfo": "Please restart Ferdi after changing proxy Settings.",
333 "settings.service.form.proxy.user": "User (optional)",
334 "settings.service.form.saveButton": "Save service",
335 "settings.service.form.tabHosted": "Hosted",
336 "settings.service.form.tabOnPremise": "Self hosted ⭐️",
337 "settings.service.form.team": "Team",
338 "settings.service.form.useHostedService": "Use the hosted {name} service.",
339 "settings.service.form.yourServices": "Your services",
340 "settings.services.deletedInfo": "Service has been deleted",
341 "settings.services.discoverServices": "Discover services",
342 "settings.services.headline": "Your services",
343 "settings.services.noServicesAdded": "You haven't added any services yet.",
344 "settings.services.servicesRequestFailed": "Could not load your services",
345 "settings.services.tooltip.isDisabled": "Service is disabled",
346 "settings.services.tooltip.isMuted": "All sounds are muted",
347 "settings.services.tooltip.notificationsDisabled": "Notifications are disabled",
348 "settings.services.updatedInfo": "Your changes have been saved",
349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.team.headline": "Team",
357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.team.manageAction": "Manage your Team on getferdi.com",
359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.team.upgradeAction": "Upgrade your Account",
362 "settings.user.form.accountType.company": "Company",
363 "settings.user.form.accountType.individual": "Individual",
364 "settings.user.form.accountType.label": "Account type",
365 "settings.user.form.accountType.non-profit": "Non-Profit",
366 "settings.user.form.currentPassword": "Current password",
367 "settings.user.form.email": "Email",
368 "settings.user.form.firstname": "First Name",
369 "settings.user.form.lastname": "Last Name",
370 "settings.user.form.newPassword": "New password",
371 "settings.workspace.add.form.name": "Name",
372 "settings.workspace.add.form.submitButton": "Create workspace",
373 "settings.workspace.form.buttonDelete": "Delete workspace",
374 "settings.workspace.form.buttonSave": "Save workspace",
375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "settings.workspace.form.name": "Name",
378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "settings.workspace.form.yourWorkspaces": "Your workspaces",
380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "settings.workspaces.headline": "Your workspaces",
382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "settings.workspaces.tryReloadWorkspaces": "Try again",
384 "settings.workspaces.updatedInfo": "Your changes have been saved",
385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "sidebar.addNewService": "Add new service",
389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
391 "sidebar.lockFerdi": "Lock Ferdi",
392 "sidebar.muteApp": "Disable notifications & audio",
393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
395 "sidebar.settings": "Settings",
396 "sidebar.unmuteApp": "Enable notifications & audio",
397 "signup.email.label": "Email address",
398 "signup.emailDuplicate": "A user with that email address already exists",
399 "signup.firstname.label": "First Name",
400 "signup.headline": "Sign up",
401 "signup.lastname.label": "Last Name",
402 "signup.legal.info": "By creating a Ferdi account you accept the",
403 "signup.legal.privacy": "Privacy Statement",
404 "signup.legal.terms": "Terms of service",
405 "signup.link.login": "Already have an account, sign in?",
406 "signup.password.label": "Password",
407 "signup.submit.label": "Create account",
408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "subscription.cta.allOptions": "See all options",
410 "subscription.cta.choosePlan": "Choose your plan",
411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "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!",
414 "subscriptionPopup.buttonCancel": "Cancel",
415 "subscriptionPopup.buttonDone": "Done",
416 "tabs.item.deleteService": "Delete service",
417 "tabs.item.disableAudio": "Disable audio",
418 "tabs.item.disableNotifications": "Disable notifications",
419 "tabs.item.disableService": "Disable service",
420 "tabs.item.edit": "Edit",
421 "tabs.item.enableAudio": "Enable audio",
422 "tabs.item.enableNotification": "Enable notifications",
423 "tabs.item.enableService": "Enable service",
424 "tabs.item.reload": "Reload",
425 "validation.email": "{field} is not valid",
426 "validation.minLength": "{field} should be at least {length} characters long",
427 "validation.oneRequired": "At least one is required",
428 "validation.required": "{field} is required",
429 "validation.url": "{field} is not a valid URL",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Reload",
435 "welcome.loginButton": "Login to your account",
436 "welcome.signupButton": "Create a free account",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "All services",
439 "workspaceDrawer.headline": "Workspaces",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
448}
diff --git a/src/i18n/locales/tr.json b/src/i18n/locales/tr.json
index c91ade6bb..1fd54a50d 100644
--- a/src/i18n/locales/tr.json
+++ b/src/i18n/locales/tr.json
@@ -1,429 +1,448 @@
1{ 1{
2 "app.errorHandler.action" : "Tekrar Yükle", 2 "app.errorHandler.action": "Yenile",
3 "app.errorHandler.headline" : "Bir terslik çıktı", 3 "app.errorHandler.headline": "Bir terslik çıktı",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}", 4 "feature.announcements.changelog.headline": "Ferdi {version} Sürümündeki Değişiklikler",
5 "feature.delayApp.headline" : "Upgrade your Franz plan to skip the wait", 5 "feature.delayApp.headline": "Beklememek için Ferdi Destek Lisansı'nı satın alın",
6 "feature.delayApp.text" : "Franz {seconds} saniye sonra devam edecek.", 6 "feature.delayApp.text": "Ferdi {seconds} saniye sonra devam edecek.",
7 "feature.delayApp.trial.action" : "Yes, I want the free 14 day trial of Franz Professional", 7 "feature.delayApp.trial.action": "Evet, Ferdi Professional'ın 14 günlük ücretsiz denemesini istiyorum",
8 "feature.delayApp.trial.actionShort" : "Activate the free Franz Professional trial", 8 "feature.delayApp.trial.actionShort": "Ferdi Professional'ın denemesini aktive et",
9 "feature.delayApp.trial.headline" : "Get the free Franz Professional 14-days trial and skip the wait", 9 "feature.delayApp.trial.headline": "Ferdi Professional'ın 14 günlük denemesini et ve sıranın önüne geç",
10 "feature.delayApp.upgrade.action" : "Upgrade Franz", 10 "feature.delayApp.upgrade.action": "Ferdi Destek Lisansı'nı alın",
11 "feature.delayApp.upgrade.actionShort" : "Hesabı Yükselt", 11 "feature.delayApp.upgrade.actionShort": "Hesabı Yükselt",
12 "feature.planSelection.cta.ctaDowngradeFree" : "Downgrade to Free", 12 "feature.quickSwitch.info": "TAB, ↑ ve ↓ ile bir servis seç. ENTER ile bir servisi aç.",
13 "feature.planSelection.cta.stayOnFree" : "Stay on Free", 13 "feature.quickSwitch.search": "Ara...",
14 "feature.planSelection.cta.trial" : "Start my free 14-days Trial", 14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.planSelection.cta.upgradePersonal" : "Choose Personal", 15 "feature.serviceLimit.limitReached": "Hesabında {limit} adet servis limiti olmasına rağmen {amount} servis ekledin. Lütfen daha fazla servis eklemek için hesabını yükselt.",
16 "feature.planSelection.cta.upgradePro" : "Choose Professional", 16 "feature.shareFranz.action.email": "Mail olarak gönder",
17 "feature.planSelection.free.text" : "Basic functionality", 17 "feature.shareFranz.action.facebook": "Facebook'ta Paylaş",
18 "feature.planSelection.fullFeatureList" : "Complete comparison of all plans", 18 "feature.shareFranz.action.twitter": "Twitter'da Paylaş",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 19 "feature.shareFranz.headline": "Ferdi birlikte daha iyi!",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade" : "Choose Personal", 20 "feature.shareFranz.shareText.email": "Ferdi'a {count} tane servis ekledim! WhatsApp, Messenger, Slack ve fazlasını içeren ücretsiz uygulamayı www.getferdi.com adresinden edinin.",
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.", 21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.planSelection.fullscreen.dialog.title" : "Downgrade your Franz Plan", 22 "feature.shareFranz.text": "Arkadaşlarına ve meslektaşlarına Ferdi'ın ne kadar harika olduğunu söyle ve bize bu kelimeyi yaymamızda yardım et.",
23 "feature.planSelection.fullscreen.subheadline" : "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.", 23 "feature.todos.premium.info": "Ferdi Yapılacaklar Listesi şimdi Premium kullanıcılar için kullanılabilir!",
24 "feature.planSelection.fullscreen.welcome" : "Are you ready to choose, {name}?", 24 "feature.todos.premium.rollout": "Diğer herkes biraz daha beklemek zorunda.",
25 "feature.planSelection.personal.text" : "More services, no waiting - ideal for personal use.", 25 "feature.todos.premium.upgrade": "Hesabını Yükselt",
26 "feature.planSelection.pricesBasedOnAnnualPayment" : "All prices based on yearly payment", 26 "global.api.unhealthy": "Ferdi hizmetlerine şu anda erişilemiyor",
27 "feature.planSelection.pro.text" : "Unlimited services and professional features for you - and your team.", 27 "global.franzProRequired": "Ferdi Professional Gerekli",
28 "feature.serviceLimit.limitReached" : "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.", 28 "global.notConnectedToTheInternet": "İnternete bağlı değilsiniz.",
29 "feature.shareFranz.action.email" : "Mail olarak gönder", 29 "global.spellchecker.useDefault": "Sistem Dilini Kullan ({default})",
30 "feature.shareFranz.action.facebook" : "Facebook'ta Paylaş", 30 "global.spellchecking.autodetect": "Dili otomatik tespit et",
31 "feature.shareFranz.action.twitter" : "Twitter'da Paylaş", 31 "global.spellchecking.autodetect.short": "Otomatik",
32 "feature.shareFranz.headline" : "Franz birlikte daha iyi!", 32 "global.spellchecking.language": "İmla kontrol dili",
33 "feature.shareFranz.shareText.email" : "Franz'a {count} tane servis ekledim! WhatsApp, Messenger, Slack ve fazlasını içeren ücretsiz uygulamayı www.meetfranz.com adresinden edinin.", 33 "global.upgradeButton.upgradeToPro": "Ferdi Professional'a Yükselt",
34 "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 @FranzMessenger", 34 "import.headline": "Ferdi 4 servislerinizi içeri aktarın",
35 "feature.shareFranz.text" : "Arkadaşlarına ve meslektaşlarına Franz'ın ne kadar harika olduğunu söyle ve bize bu kelimeyi yaymamızda yardım et.", 35 "import.notSupportedHeadline": "Henüz Ferdi 5'te desteklenmeyen servisler",
36 "feature.todos.premium.info" : "Franz Todos are available to premium users now!", 36 "import.skip.label": "Servisleri kendim eklemek istiyorum",
37 "feature.todos.premium.rollout" : "Everyone else will have to wait a little longer.", 37 "import.submit.label": "Servisleri içe aktar",
38 "feature.todos.premium.upgrade" : "Upgrade Account", 38 "infobar.authRequestFailed": "Yetkili bir işlem yapılmaya çalışırken hatalar ortaya çıktı. Lütfen bu hata tekrarlarsa çıkış yapıp tekrar girmeyi dene.",
39 "feature.trialStatusBar.cta" : "Upgrade now", 39 "infobar.buttonChangelog": "Yeni ne var?",
40 "feature.trialStatusBar.expired" : "Your free Franz {plan} Trial has expired, please upgrade your account.", 40 "infobar.buttonInstallUpdate": "Yeniden Başlat ve Güncelleştirmeleri Kur",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 41 "infobar.buttonReloadServices": "Hizmetleri yeniden yükle",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade" : "Choose Personal", 42 "infobar.requiredRequestsFailed": "Hizmetler ve kullanıcı bilgileri yüklenemedi",
43 "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.", 43 "infobar.servicesUpdated": "Hizmetleriniz güncellendi.",
44 "feature.trialStatusBar.fullscreen.dialog.title" : "Downgrade your Franz Plan", 44 "infobar.trialActivated": "Denemen başarıyla aktifleştirildi. Mutlu mesajlaşmalar!",
45 "feature.trialStatusBar.restTime" : "Your Free Franz {plan} Trial ends in {time}.", 45 "infobar.updateAvailable": "Yeni Ferdi güncellemesi mevcut.",
46 "global.api.unhealthy" : "Franz hizmetlerine şu anda erişilemiyor", 46 "invite.email.label": "E-posta adresi",
47 "global.franzProRequired" : "Franz Professional Required", 47 "invite.headline.friends": "3 arkadaşını ya da çalışma arkadaşını davet et",
48 "global.notConnectedToTheInternet" : "İnternete bağlı değilsiniz.", 48 "invite.name.label": "Ad",
49 "global.spellchecker.useDefault" : "Sistem Dilini Kullan ({default})", 49 "invite.skip.label": "Daha sonra yapmak istiyorum",
50 "global.spellchecking.autodetect" : "Dili otomatik tespit et", 50 "invite.submit.label": "Davetiye gönder",
51 "global.spellchecking.autodetect.short" : "Otomatik", 51 "invite.successInfo": "Davetiyeler başarıyla gönderildi",
52 "global.spellchecking.language" : "İmla kontrol dili", 52 "locked.headline": "Kilitli",
53 "global.upgradeButton.upgradeToPro" : "Upgrade to Franz Professional", 53 "locked.info": "Ferdi şu anda kilitli. Lütfen mesajlarını görmek için Ferdi'nin kilidini şifrenle aç.",
54 "import.headline" : "Franz 4 servislerinizi içeri aktarın", 54 "locked.invalidCredentials": "Geçersiz şifre",
55 "import.notSupportedHeadline" : "Henüz Franz 5'te desteklenmeyen servisler", 55 "locked.password.label": "Şifre",
56 "import.skip.label" : "Servisleri kendim eklemek istiyorum", 56 "locked.submit.label": "Kilidi aç",
57 "import.submit.label" : "Servisleri içe aktar", 57 "login.changeServer": "Sunucuyu değiştir",
58 "infobar.buttonChangelog" : "Yeni ne var?", 58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "infobar.buttonInstallUpdate" : "Yeniden Başlat ve Güncelleştirmeleri Kur", 59 "login.customServerSuggestion": "Try importing your Franz account",
60 "infobar.buttonReloadServices" : "Hizmetleri yeniden yükle", 60 "login.email.label": "E-posta adresi",
61 "infobar.requiredRequestsFailed" : "Hizmetler ve kullanıcı bilgileri yüklenemedi", 61 "login.headline": "Oturum Aç",
62 "infobar.servicesUpdated" : "Hizmetleriniz güncellendi.", 62 "login.invalidCredentials": "Yanlış parola ya da e-posta adresi",
63 "infobar.trialActivated" : "Your trial was successfully activated. Happy messaging!", 63 "login.link.password": "Parola sıfırla",
64 "infobar.updateAvailable" : "Yeni Franz güncellemesi mevcut.", 64 "login.link.signup": "Ücretsiz hesap oluştur",
65 "invite.email.label" : "E-posta adresi", 65 "login.password.label": "Şifre",
66 "invite.headline.friends" : "3 arkadaşını ya da çalışma arkadaşını davet et", 66 "login.serverLogout": "Oturum süreniz dolmuş, lütfen tekrar giriş yapın.",
67 "invite.name.label" : "Ad", 67 "login.submit.label": "Oturum Aç",
68 "invite.skip.label" : "Daha sonra yapmak istiyorum", 68 "login.tokenExpired": "Oturum süreniz dolmuş, lütfen tekrar giriş yapın.",
69 "invite.submit.label" : "Davetiye gönder", 69 "menu.Todoss.closeTodosDrawer": "Yapılacaklar çekmecesini kapat",
70 "invite.successInfo" : "Davetiyeler başarıyla gönderildi", 70 "menu.Todoss.openTodosDrawer": "Yapılacaklar çekmecesini aç",
71 "login.email.label" : "E-posta adresi", 71 "menu.app.about": "Ferdi Hakkında",
72 "login.headline" : "Oturum Aç", 72 "menu.app.announcement": "Neler yeni?",
73 "login.invalidCredentials" : "Yanlış parola ya da e-posta adresi", 73 "menu.app.autohideMenuBar": "Menü çubuğunu otomatik otomatik olarak gizle",
74 "login.link.password" : "Parola sıfırla", 74 "menu.app.checkForUpdates": "Güncellemeleri kontrol et",
75 "login.link.signup" : "Ücretsiz hesap oluştur", 75 "menu.app.hide": "Gizle",
76 "login.password.label" : "Parola", 76 "menu.app.hideOthers": "Diğerlerini Gizle",
77 "login.serverLogout" : "Oturum süreniz dolmuş, lütfen tekrar giriş yapın.", 77 "menu.app.quit": "Çıkış",
78 "login.submit.label" : "Oturum Aç", 78 "menu.app.settings": "Ayarlar",
79 "login.tokenExpired" : "Oturum zaman aşımına uğradı, lütfen tekrar giriş yapın.", 79 "menu.app.unhide": "Göster",
80 "menu.Todoss.closeTodosDrawer" : "Close Todos drawer", 80 "menu.edit": "Düzenle",
81 "menu.Todoss.openTodosDrawer" : "Open Todos drawer", 81 "menu.edit.copy": "Kopyala",
82 "menu.app.about" : "Franz Hakkında", 82 "menu.edit.cut": "Kes",
83 "menu.app.announcement" : "Neler yeni?", 83 "menu.edit.delete": "Sil",
84 "menu.app.checkForUpdates" : "Güncellemeleri kontrol et", 84 "menu.edit.emojiSymbols": "Emoji & Semboller",
85 "menu.app.hide" : "Gizle", 85 "menu.edit.paste": "Yapıştır",
86 "menu.app.hideOthers" : "Diğerlerini Gizle", 86 "menu.edit.pasteAndMatchStyle": "Yapıştır ve Stili Eşleştir",
87 "menu.app.quit" : "Çıkış", 87 "menu.edit.redo": "Yeniden Yap",
88 "menu.app.settings" : "Ayarlar", 88 "menu.edit.selectAll": "Hepsini Seç",
89 "menu.app.unhide" : "Göster", 89 "menu.edit.speech": "Konuşma",
90 "menu.edit" : "Düzenle", 90 "menu.edit.startDictation": "İmlaya Başla",
91 "menu.edit.copy" : "Kopyala", 91 "menu.edit.startSpeaking": "Konuşmaya Başla",
92 "menu.edit.cut" : "Kes", 92 "menu.edit.stopSpeaking": "Konuşmayı Bırak/Durdur",
93 "menu.edit.delete" : "Sil", 93 "menu.edit.undo": "Geri al",
94 "menu.edit.emojiSymbols" : "Emoji & Semboller", 94 "menu.file": "Dosya",
95 "menu.edit.paste" : "Yapıştır", 95 "menu.help": "Yardım",
96 "menu.edit.pasteAndMatchStyle" : "Yapıştır ve Stili Eşleştir", 96 "menu.help.changelog": "Değişim Günlüğü",
97 "menu.edit.redo" : "Yeniden Yap", 97 "menu.help.debugInfo": "Hata ayıklama bilgisini kopyala",
98 "menu.edit.selectAll" : "Hepsini Seç", 98 "menu.help.debugInfoCopiedBody": "Hata ayıklama bilgilerin panoya kopyalandı.",
99 "menu.edit.speech" : "Konuşma", 99 "menu.help.debugInfoCopiedHeadline": "Ferdi Hata Ayıklama Bilgisi",
100 "menu.edit.startDictation" : "İmlaya Başla", 100 "menu.help.learnMore": "Daha Fazlasını Öğrenin",
101 "menu.edit.startSpeaking" : "Konuşmaya Başla", 101 "menu.help.privacy": "Gizlilik Sözleşmesi",
102 "menu.edit.stopSpeaking" : "Konuşmayı Bırak\/Durdur", 102 "menu.help.support": "Destek",
103 "menu.edit.undo" : "Geri al", 103 "menu.help.tos": "Kullanım Şartları",
104 "menu.file" : "Dosya", 104 "menu.services": "Hizmetler",
105 "menu.help" : "Yardım", 105 "menu.services.activatePreviousService": "Bir önceki servisi aktive et",
106 "menu.help.changelog" : "Değişim Günlüğü", 106 "menu.services.addNewService": "Yeni servis ekle...",
107 "menu.help.debugInfo" : "Copy Debug Information", 107 "menu.services.goHome": "Ana Sayfa",
108 "menu.help.debugInfoCopiedBody" : "Your Debug Information has been copied to your clipboard.", 108 "menu.services.setNextServiceActive": "Bir sonraki servisi aktive et",
109 "menu.help.debugInfoCopiedHeadline" : "Franz Debug Information", 109 "menu.todos": "Yapılacaklar",
110 "menu.help.learnMore" : "Daha Fazlasını Öğrenin", 110 "menu.todos.enableTodos": "Yapılacaklar Listesi'ni Aç",
111 "menu.help.privacy" : "Gizlilik Sözleşmesi", 111 "menu.view": "Görünüm",
112 "menu.help.support" : "Destek", 112 "menu.view.back": "Geri",
113 "menu.help.tos" : "Kullanım Şartları", 113 "menu.view.enterFullScreen": "Tam Ekrana Geç",
114 "menu.services" : "Hizmetler", 114 "menu.view.exitFullScreen": "Tam Ekrandan Çık",
115 "menu.services.activatePreviousService" : "Activate previous service", 115 "menu.view.forward": "İleri",
116 "menu.services.addNewService" : "Yeni servis ekle...", 116 "menu.view.lockFerdi": "Ferdi'yi Kilitle",
117 "menu.services.goHome" : "Home", 117 "menu.view.openQuickSwitch": "QuickSwitch'i aç",
118 "menu.services.setNextServiceActive" : "Activate next service", 118 "menu.view.reloadFranz": "Ferdi'ı Yeniden Yükle",
119 "menu.todos" : "Todos", 119 "menu.view.reloadService": "Servisi Tekrar Yükle",
120 "menu.todos.enableTodos" : "Enable Todos", 120 "menu.view.resetZoom": "Orijinal Boyut",
121 "menu.view" : "Görünüm", 121 "menu.view.toggleDevTools": "Geliştirici Araçlarına Geç",
122 "menu.view.enterFullScreen" : "Tam Ekrana Geç", 122 "menu.view.toggleFullScreen": "Tam Ekrana Geç",
123 "menu.view.exitFullScreen" : "Tam Ekrandan Çık", 123 "menu.view.toggleServiceDevTools": "Hizmet Geliştirici Araçlarını Değiştir",
124 "menu.view.reloadFranz" : "Franz'ı Yeniden Yükle", 124 "menu.view.toggleTodosDevTools": "Yapılacaklar Listesi Geliştirici Araçlarını Aç",
125 "menu.view.reloadService" : "Servisi Tekrar Yükle", 125 "menu.view.zoomIn": "Yakınlaştır",
126 "menu.view.resetZoom" : "Orijinal Boyut", 126 "menu.view.zoomOut": "Uzaklaştır",
127 "menu.view.toggleDevTools" : "Geliştirici Araçlarına Geç", 127 "menu.window": "Pencere",
128 "menu.view.toggleFullScreen" : "Tam Ekrana Geç", 128 "menu.window.close": "Kapat",
129 "menu.view.toggleServiceDevTools" : "Hizmet Geliştirici Araçlarını Değiştir", 129 "menu.window.minimize": "Simge Durumuna Küçült",
130 "menu.view.toggleTodosDevTools" : "Toggle Todos Developer Tools", 130 "menu.workspaces": "Çalışma Alanları",
131 "menu.view.zoomIn" : "Yakınlaştır", 131 "menu.workspaces.addNewWorkspace": "Yeni Çalışma Alanı ekle...",
132 "menu.view.zoomOut" : "Uzaklaştır", 132 "menu.workspaces.closeWorkspaceDrawer": "Çalışma alanı çekmecesini kapat",
133 "menu.window" : "Pencere", 133 "menu.workspaces.defaultWorkspace": "Tüm servisler",
134 "menu.window.close" : "Kapat", 134 "menu.workspaces.openWorkspaceDrawer": "Çalışma alanı çekmecesini aç",
135 "menu.window.minimize" : "Simge Durumuna Küçült", 135 "password.email.label": "E-posta adresi",
136 "menu.workspaces" : "Workspaces", 136 "password.headline": "Parola sıfırla",
137 "menu.workspaces.addNewWorkspace" : "Add New Workspace...", 137 "password.link.login": "Hesabına giriş yap",
138 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer", 138 "password.link.signup": "Ücretsiz hesap oluştur",
139 "menu.workspaces.defaultWorkspace" : "Tüm servisler", 139 "password.noUser": "Bu e-posta adresinde bir kullanıcı bulunamadı",
140 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer", 140 "password.submit.label": "Gönder",
141 "password.email.label" : "E-posta adresi", 141 "password.successInfo": "E-postanızı kontrol ediniz",
142 "password.headline" : "Parola sıfırla", 142 "premiumFeature.button.upgradeAccount": "Hesabı Yükselt",
143 "password.link.login" : "Hesabına giriş yap", 143 "pricing.features.adFree": "Sonsuza dek reklamsız",
144 "password.link.signup" : "Ücretsiz bir hesap oluştur", 144 "pricing.features.appDelays": "Yükleme Ekranları Yok",
145 "password.noUser" : "Bu e-posta adresinde bir kullanıcı bulunamadı", 145 "pricing.features.customWebsites": "Özel Siteler Ekle",
146 "password.submit.label" : "Gönder", 146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "password.successInfo" : "E-postanızı kontrol ediniz", 147 "pricing.features.serviceProxies": "Servis proxy'leri",
148 "premiumFeature.button.upgradeAccount" : "Hesabı Yükselt", 148 "pricing.features.spellchecker": "Yazım denetimi desteği",
149 "pricing.features.accountSync" : "Account Synchronisation", 149 "pricing.features.teamManagement": "Takım yönetimi",
150 "pricing.features.adFree" : "Forever ad-free", 150 "pricing.features.thirdPartyServices": "3. parti servisleri yükleme",
151 "pricing.features.appDelays" : "No Waiting Screens", 151 "pricing.features.unlimitedServices": "Sınırsız servis ekleme",
152 "pricing.features.customWebsites" : "Add Custom Websites", 152 "pricing.features.workspaces": "Çalışma Alanları",
153 "pricing.features.desktopNotifications" : "Desktop Notifications", 153 "pricing.plan.free": "Ferdi - Ücretsiz",
154 "pricing.features.onPremise" : "On-premise & other Hosted Services", 154 "pricing.plan.legacy": "Ferdi - Premium",
155 "pricing.features.recipes" : "Choose from more than 70 Services", 155 "pricing.plan.personal": "Ferdi - Kişisel",
156 "pricing.features.serviceProxies" : "Service Proxies", 156 "pricing.plan.personal-monthly": "Ferdi - Aylık Kişisel",
157 "pricing.features.spellchecker" : "Spellchecker support", 157 "pricing.plan.personal-yearly": "Ferdi - Yıllık Kişisel",
158 "pricing.features.teamManagement" : "Team Management", 158 "pricing.plan.pro": "Ferdi - Professional",
159 "pricing.features.thirdPartyServices" : "Install 3rd party services", 159 "pricing.plan.pro-monthly": "Ferdi - Aylık Professional",
160 "pricing.features.unlimitedServices" : "Add unlimited services", 160 "pricing.plan.pro-yearly": "Ferdi - Yıllık Professional",
161 "pricing.features.upToSixServices" : "Add up to 6 services", 161 "pricing.trial.cta.accept": "Evet, hesabını Ferdi Professional'a yükselt",
162 "pricing.features.upToThreeServices" : "Add up to 3 services", 162 "pricing.trial.cta.skip": "Ferdi'ye Devam Et",
163 "pricing.features.workspaces" : "Workspaces", 163 "pricing.trial.error": "Üzgünüz, ücretsiz denemeni başlatamadık!",
164 "pricing.plan.free" : "Free", 164 "pricing.trial.features.headline": "Ferdi Professional şunları içerir:",
165 "pricing.plan.legacy" : "Premium", 165 "pricing.trial.headline": "Ferdi - Professional",
166 "pricing.plan.personal" : "Personal", 166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.plan.personal-monthly" : "Personal Monthly", 167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.plan.personal-yearly" : "Personal Yearly", 168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.plan.pro" : "Professional", 169 "pricing.trial.terms.noCreditCard": "Kredi kartı gerektirmez",
170 "pricing.plan.pro-monthly" : "Professional Monthly", 170 "service.crashHandler.action": "{name} yeniden yükle",
171 "pricing.plan.pro-yearly" : "Professional Yearly", 171 "service.crashHandler.autoReload": "{name}'i {seconds} saniye içerisinde otomatik onarmayı deniyoruz",
172 "pricing.trial.cta.accept" : "Start my 14-day Franz Professional Trial ", 172 "service.crashHandler.headline": "Olamaz!",
173 "pricing.trial.cta.skip" : "Continue to Franz", 173 "service.crashHandler.text": "{name} bir hataya neden oldu.",
174 "pricing.trial.cta.start" : "Start using Franz", 174 "service.disabledHandler.action": "{name} aktif",
175 "pricing.trial.error" : "Sorry, we could not activate your trial!", 175 "service.disabledHandler.headline": "{name} devredışı",
176 "pricing.trial.features.headline" : "Franz Professional includes:", 176 "service.errorHandler.action": "{name} yeniden yükle",
177 "pricing.trial.headline.pro" : "Hi {name}, welcome to Franz", 177 "service.errorHandler.editAction": "{name} düzenle",
178 "pricing.trial.intro.happyMessaging" : "Happy messaging,", 178 "service.errorHandler.headline": "Olamaz!",
179 "pricing.trial.intro.specialTreat" : "We have a special treat for you.", 179 "service.errorHandler.message": "Hata",
180 "pricing.trial.intro.tryPro" : "Enjoy the full Franz Professional experience completely free for 14 days.", 180 "service.errorHandler.text": "{name} yüklenemedi.",
181 "pricing.trial.terms.automaticTrialEnd" : "Your free trial ends automatically after 14 days", 181 "service.restrictedHandler.action": "Hesabını Yükselt",
182 "pricing.trial.terms.headline" : "No strings attached", 182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "pricing.trial.terms.noCreditCard" : "No credit card required", 183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "pricing.trial.terms.trialWorth" : "Free trial (normally {currency}{price} per month)", 184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.crashHandler.action" : "{name} yeniden yükle", 185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.crashHandler.autoReload" : "{name}'i {seconds} saniye içerisinde otomatik onarmayı deniyoruz", 186 "service.webviewLoader.loading": "Yükleniyor",
187 "service.crashHandler.headline" : "Aman Tanrım hayır!", 187 "services.getStarted": "Haydi başlayalım",
188 "service.crashHandler.text" : "{name} bir hataya neden oldu.", 188 "services.login": "Please login to use Ferdi.",
189 "service.disabledHandler.action" : "{name} aktif", 189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "service.disabledHandler.headline" : "{name} devredışı", 190 "services.serverless": "Ferdi'yi bir hesap olmadan kullan",
191 "service.errorHandler.action" : "{İsim} Yeniden Yükle", 191 "services.welcome": "Ferdi'a Hoşgeldiniz",
192 "service.errorHandler.editAction" : "{name} düzenle", 192 "settings.account.account.editButton": "Hesabı düzenle",
193 "service.errorHandler.headline" : "Hayııırrr!", 193 "settings.account.accountType.basic": "Basit Hesap",
194 "service.errorHandler.message" : "Hata", 194 "settings.account.accountType.premium": "Premium Destekçi Hesabı",
195 "service.errorHandler.text" : "{name} yüklenemedi.", 195 "settings.account.buttonSave": "Profili güncelle",
196 "service.restrictedHandler.action" : "Upgrade Account", 196 "settings.account.deleteAccount": "Hesabı sil",
197 "service.restrictedHandler.customUrl.headline" : "Franz Professional Plan required", 197 "settings.account.deleteEmailSent": "Hesabınızın silinmesini onaylamanız için e-posta adresinize gönderilen bağlantıya tıklayınız. Bu işlem sonrasında hesabınız ve bilgileriniz geri getirilemez!",
198 "service.restrictedHandler.customUrl.text" : "Please upgrade to the Franz Professional plan to use custom urls & self hosted services.", 198 "settings.account.deleteInfo": "Ferdi hesabınıza artık ihtiyaç duymuyorsanız, hesabınızı ve buradaki bütün bağlantılı bilgilerinizi silebilirsiniz.",
199 "service.restrictedHandler.serviceLimit.headline" : "You have reached your service limit.", 199 "settings.account.headline": "Hesap",
200 "service.restrictedHandler.serviceLimit.text" : "Please upgrade your account to use more than {count} services.", 200 "settings.account.headlineAccount": "Hesap bilgileri",
201 "service.webviewLoader.loading" : "Yükleniyor", 201 "settings.account.headlineDangerZone": "Tehlike Bölgesi",
202 "services.getStarted" : "Haydi başlayalım", 202 "settings.account.headlineInvoices": "Faturalar",
203 "services.welcome" : "Franz'a Hoşgeldiniz", 203 "settings.account.headlinePassword": "Parolayı değiştir",
204 "settings.account.account.editButton" : "Hesabı düzenle", 204 "settings.account.headlineProfile": "Profili güncelle",
205 "settings.account.accountType.basic" : "Basit Hesap", 205 "settings.account.headlineSubscription": "Aboneliğin",
206 "settings.account.accountType.premium" : "Premium Destekçi Hesabı", 206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.buttonSave" : "Profili güncelle", 207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.deleteAccount" : "Hesabı sil", 208 "settings.account.invoiceDownload": "İndir",
209 "settings.account.deleteEmailSent" : "Hesabınızın silinmesini onaylamanız için e-posta adresinize gönderilen bağlantıya tıklayınız. Bu işlem sonrasında hesabınız ve bilgileriniz geri getirilemez!", 209 "settings.account.manageSubscription.label": "Aboneliğini yönet",
210 "settings.account.deleteInfo" : "Franz hesabınıza artık ihtiyaç duymuyorsanız, hesabınızı ve buradaki bütün bağlantılı bilgilerinizi silebilirsiniz.", 210 "settings.account.successInfo": "Değişikliklerin kaydedildi",
211 "settings.account.headline" : "Hesap", 211 "settings.account.trial": "Free Trial",
212 "settings.account.headlineAccount" : "Hesap bilgileri", 212 "settings.account.trialEndsIn": "Ücretsiz denemen {duration} içinde bitiyor.",
213 "settings.account.headlineDangerZone" : "Tehlike Bölgesi", 213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.headlineInvoices" : "Faturalar", 214 "settings.account.tryReloadServices": "Tekrar deneyin",
215 "settings.account.headlinePassword" : "Parolayı değiştir", 215 "settings.account.tryReloadUserInfoRequest": "Tekrar deneyin",
216 "settings.account.headlineProfile" : "Profili güncelle", 216 "settings.account.upgradeToPro.label": "Ferdi Professional'a Yükselt",
217 "settings.account.headlineSubscription" : "Aboneliğin", 217 "settings.account.userInfoRequestFailed": "Kullanıcı bilgisi yüklenemedi",
218 "settings.account.headlineTrialUpgrade" : "Get the free 14 day Franz Professional Trial", 218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.account.headlineUpgradeAccount" : "Upgrade your account & get the full Franz experience", 219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.account.invoiceDownload" : "İndir", 220 "settings.app.buttonClearAllCache": "Önbelleği temizle",
221 "settings.account.manageSubscription.label" : "Aboneliğini yönet", 221 "settings.app.buttonInstallUpdate": "Yeniden Başlat ve Güncelleştirmeleri Kur",
222 "settings.account.successInfo" : "Değişikliklerin kaydedildi", 222 "settings.app.buttonSearchForUpdate": "Güncellemeleri kontrol et",
223 "settings.account.trial" : "Free Trial", 223 "settings.app.cacheInfo": "Ferdi önbelleği şu anda {size} disk alanı kullanıyor.",
224 "settings.account.trialEndsIn" : "Your free trial ends in {duration}.", 224 "settings.app.currentVersion": "Geçerli sürüm:",
225 "settings.account.trialUpdateBillingInfo" : "Please update your billing info to continue using {license} after your trial period.", 225 "settings.app.form.accentColor": "Accent color",
226 "settings.account.tryReloadServices" : "Tekrar deneyin", 226 "settings.app.form.autoLaunchInBackground": "Arka planda aç",
227 "settings.account.tryReloadUserInfoRequest" : "Tekrar deneyin", 227 "settings.app.form.autoLaunchOnStart": "Ferdi'ı başlangıçta aç",
228 "settings.account.upgradeToPro.label" : "Upgrade to Franz Professional", 228 "settings.app.form.beta": "Beta versiyonları dahil et",
229 "settings.account.userInfoRequestFailed" : "Kullanıcı bilgisi yüklenemedi", 229 "settings.app.form.darkMode": "Karanlık tarafa katıl",
230 "settings.account.yourLicense" : "Your Franz License", 230 "settings.app.form.enableGPUAcceleration": "Grafik İşlemci Ünitesi (GPU) Hızlandırıcısını Aktif et",
231 "settings.app.buttonClearAllCache" : "Önbelleği temizle", 231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.buttonInstallUpdate" : "Yeniden Başlat ve Güncelleştirmeleri Kur", 232 "settings.app.form.enableSpellchecking": "Yazım denetimini etkinleştir",
233 "settings.app.buttonSearchForUpdate" : "Güncellemeleri kontrol et", 233 "settings.app.form.enableSystemTray": "Ferdi'ı sistem tepsisinde göster",
234 "settings.app.cacheInfo" : "Franz önbelleği şu anda {size} disk alanı kullanıyor.", 234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.currentVersion" : "Geçerli sürüm:", 235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.autoLaunchInBackground" : "Arka planda aç", 236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.autoLaunchOnStart" : "Franz'ı başlangıçta aç", 237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.beta" : "Beta versiyonları dahil et", 238 "settings.app.form.language": "Dil",
239 "settings.app.form.darkMode" : "Karanlık tarafa katıl", 239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.enableGPUAcceleration" : "Grafik İşlemci Ünitesi (GPU) Hızlandırıcısını Aktif et", 240 "settings.app.form.minimizeToSystemTray": "Ferdi'ı sistem tepsisine küçült",
241 "settings.app.form.enableSpellchecking" : "Yazım denetimini etkinleştir", 241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.enableSystemTray" : "Franz'ı sistem tepsisinde göster", 242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.enableTodos" : "Enable Franz Todos", 243 "settings.app.form.runInBackground": "Pencereyi kapatırken Ferdi'ı arka planda tut",
244 "settings.app.form.keepAllWorkspacesLoaded" : "Keep all workspaces loaded", 244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.language" : "Dil", 245 "settings.app.form.scheduledDNDEnd": "Kime:",
246 "settings.app.form.minimizeToSystemTray" : "Franz'ı sistem tepsisine küçült", 246 "settings.app.form.scheduledDNDStart": "Kimden:",
247 "settings.app.form.runInBackground" : "Pencereyi kapatırken Franz'ı arka planda tut", 247 "settings.app.form.server": "Sunucu",
248 "settings.app.form.showDisabledServices" : "Devre dışı bırakılan servis sekmelerini göster", 248 "settings.app.form.showDisabledServices": "Devre dışı bırakılan servis sekmelerini göster",
249 "settings.app.form.showMessagesBadgesWhenMuted" : "Bildirimler kapalı iken okunmamış mesaj sayısını göster", 249 "settings.app.form.showMessagesBadgesWhenMuted": "Bildirimler kapalı iken okunmamış mesaj sayısını göster",
250 "settings.app.headline" : "Ayarlar", 250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.headlineAdvanced" : "Gelişmiş", 251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.headlineAppearance" : "Görünüm", 252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headlineGeneral" : "Genel", 253 "settings.app.headline": "Ayarlar",
254 "settings.app.headlineLanguage" : "Dil", 254 "settings.app.headlineAdvanced": "Gelişmiş",
255 "settings.app.headlineUpdates" : "Güncellemeler", 255 "settings.app.headlineAppearance": "Görünüm",
256 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.", 256 "settings.app.headlineGeneral": "Genel",
257 "settings.app.restartRequired" : "Değişiklikler yeniden başlatmayı gerektiriyor", 257 "settings.app.headlineLanguage": "Dil",
258 "settings.app.subheadlineCache" : "Önbellek", 258 "settings.app.headlineUpdates": "Güncellemeler",
259 "settings.app.translationHelp" : "Franz'ı senin diline tercüme etmemiz için yardım et.", 259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.updateStatusAvailable" : "Güncelleme mevcut, indiriliyor...", 260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.updateStatusSearching" : "Güncellemeleri denetliyor", 261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.updateStatusUpToDate" : "Franz'ın son versiyonunu kullanıyorsun", 262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.invite.headline" : "Arkadaşlarını davet et", 263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.navigation.account" : "Hesap", 264 "settings.app.restartRequired": "Değişiklikler yeniden başlatmayı gerektiriyor",
265 "settings.navigation.availableServices" : "Mevcut servisler", 265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.navigation.inviteFriends" : "Arkadaşlarını Davet Et", 266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.navigation.logout" : "Çıkış", 267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.navigation.settings" : "Ayarlar", 268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.navigation.team" : "Manage Team", 269 "settings.app.subheadlineCache": "Önbellek",
270 "settings.navigation.yourServices" : "Servislerin", 270 "settings.app.todoServerInfo": "Bu sunucu \"Ferdi Yapılacaklar Listesi\" özelliği için kullanılacakdır. (varsayılan: https://app.franztodos.com)",
271 "settings.navigation.yourWorkspaces" : "Your workspaces", 271 "settings.app.translationHelp": "Ferdi'ı senin diline tercüme etmemiz için yardım et.",
272 "settings.recipes.all" : "Tüm servisler", 272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.recipes.custom" : "Custom Services", 273 "settings.app.updateStatusAvailable": "Güncelleme mevcut, indiriliyor...",
274 "settings.recipes.customService.headline.communityRecipes" : "Community 3rd Party Recipes", 274 "settings.app.updateStatusSearching": "Güncellemeleri denetliyor",
275 "settings.recipes.customService.headline.customRecipes" : "Custom 3rd Party Recipes", 275 "settings.app.updateStatusUpToDate": "Ferdi'ın son versiyonunu kullanıyorsun",
276 "settings.recipes.customService.headline.devRecipes" : "Your Development Service Recipes", 276 "settings.invite.headline": "Arkadaşlarını davet et",
277 "settings.recipes.customService.intro" : "To add a custom service, copy the service recipe to:", 277 "settings.navigation.account": "Hesap",
278 "settings.recipes.customService.openDevDocs" : "Developer Documentation", 278 "settings.navigation.availableServices": "Mevcut servisler",
279 "settings.recipes.customService.openFolder" : "Open folder", 279 "settings.navigation.logout": "Çıkış",
280 "settings.recipes.headline" : "Mevcut servisler", 280 "settings.navigation.settings": "Ayarlar",
281 "settings.recipes.missingService" : "Aradığın servisi bulamadın mı?", 281 "settings.navigation.supportFerdi": "Ferdi'yi Destekle",
282 "settings.recipes.mostPopular" : "En popüler", 282 "settings.navigation.team": "Ekibini Yönet",
283 "settings.recipes.nothingFound" : "Aradığın terimle eşleşen servis bulunamadı.", 283 "settings.navigation.yourServices": "Servislerin",
284 "settings.recipes.servicesSuccessfulAddedInfo" : "Servis başarıyla eklendi", 284 "settings.navigation.yourWorkspaces": "Çalışma alanların",
285 "settings.searchService" : "Hizmeti ara", 285 "settings.recipes.all": "Tüm servisler",
286 "settings.service.error.goBack" : "Servislere geri dön", 286 "settings.recipes.custom": "Custom Services",
287 "settings.service.error.headline" : "Hata", 287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.service.error.message" : "Servis tarifi yüklenemedi.", 288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.service.form.addServiceHeadline" : "{name} Ekle", 289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.service.form.availableServices" : "Mevcut servisler", 290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.service.form.customUrl" : "Özel sunucu", 291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.service.form.customUrlPremiumInfo" : "Kendi barındırdığın servisi ekleyebilmek için Franz Premium Destek Hesabına ihtiyacın var.", 292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.service.form.customUrlUpgradeAccount" : "Hesabını yükselt", 293 "settings.recipes.headline": "Mevcut servisler",
294 "settings.service.form.customUrlValidationError" : "{name} özel sunucu doğrulanamadı.", 294 "settings.recipes.missingService": "Aradığın servisi bulamadın mı?",
295 "settings.service.form.deleteButton" : "Servisi sil", 295 "settings.recipes.mostPopular": "En popüler",
296 "settings.service.form.editServiceHeadline" : "{İsim} Düzenle", 296 "settings.recipes.nothingFound": "Aradığın terimle eşleşen servis bulunamadı.",
297 "settings.service.form.enableAudio" : "Sesi etkinleştirin", 297 "settings.recipes.servicesSuccessfulAddedInfo": "Servis başarıyla eklendi",
298 "settings.service.form.enableBadge" : "Okunmamış mesajları göster", 298 "settings.searchService": "Hizmeti ara",
299 "settings.service.form.enableDarkMode" : "Karanlık modu aç", 299 "settings.service.error.goBack": "Servislere geri dön",
300 "settings.service.form.enableNotification" : "Bildirimleri etkinleştir", 300 "settings.service.error.headline": "Hata",
301 "settings.service.form.enableService" : "Servisi etkinleştir", 301 "settings.service.error.message": "Servis tarifi yüklenemedi.",
302 "settings.service.form.headlineBadges" : "Okunmamış mesajlar", 302 "settings.service.form.addServiceHeadline": "{name} Ekle",
303 "settings.service.form.headlineGeneral" : "Genel", 303 "settings.service.form.availableServices": "Mevcut servisler",
304 "settings.service.form.headlineNotifications" : "Bildirimler", 304 "settings.service.form.customUrl": "Özel sunucu",
305 "settings.service.form.icon" : "Özel simge", 305 "settings.service.form.customUrlPremiumInfo": "Kendi barındırdığın servisi ekleyebilmek için Ferdi Premium Destek Hesabına ihtiyacın var.",
306 "settings.service.form.iconDelete" : "Sil", 306 "settings.service.form.customUrlUpgradeAccount": "Hesabını yükselt",
307 "settings.service.form.iconUpload" : "Resmini sürükle veya buraya tıkla", 307 "settings.service.form.customUrlValidationError": "{name} özel sunucu doğrulanamadı.",
308 "settings.service.form.indirectMessageInfo" : "Bir kanaldaki tüm yeni mesajlar hakkında size bilgi verilecektir, bunlar daihil @username, @channel, @here, ...", 308 "settings.service.form.deleteButton": "Servisi sil",
309 "settings.service.form.indirectMessages" : "Mesaj rozetini tüm yeni mesajlar için göster", 309 "settings.service.form.editServiceHeadline": "{name} düzenle",
310 "settings.service.form.isMutedInfo" : "Devre dışı bırakıldığında, tüm bildirim sesleri sessize alınır", 310 "settings.service.form.enableAudio": "Sesi etkinleştirin",
311 "settings.service.form.name" : "İsim", 311 "settings.service.form.enableBadge": "Okunmamış mesajları göster",
312 "settings.service.form.proxy.headline" : "HTTP\/HTTPS Proxy Ayarları", 312 "settings.service.form.enableDarkMode": "Karanlık modu aç",
313 "settings.service.form.proxy.host" : "Proxy Sunucusu\/IP", 313 "settings.service.form.enableNotification": "Bildirimleri etkinleştir",
314 "settings.service.form.proxy.info" : "Proxy ayarları Franz serverlarına yüklenmeyecektir.", 314 "settings.service.form.enableService": "Servisi etkinleştir",
315 "settings.service.form.proxy.isEnabled" : "Proxy Kullan", 315 "settings.service.form.headlineBadges": "Okunmamış mesajlar",
316 "settings.service.form.proxy.password" : "Parola (opsiyonel)", 316 "settings.service.form.headlineGeneral": "Genel",
317 "settings.service.form.proxy.port" : "Port", 317 "settings.service.form.headlineNotifications": "Bildirimler",
318 "settings.service.form.proxy.restartInfo" : "Proxy ayarlarını değiştirdikten sonra Franz'ı yeniden başlatınız.", 318 "settings.service.form.icon": "Özel simge",
319 "settings.service.form.proxy.user" : "Kullanıcı (opsiyonel)", 319 "settings.service.form.iconDelete": "Sil",
320 "settings.service.form.saveButton" : "Servisi kaydet", 320 "settings.service.form.iconUpload": "Resmini sürükle veya buraya tıkla",
321 "settings.service.form.tabHosted" : "Barındırılan", 321 "settings.service.form.indirectMessageInfo": "Bir kanaldaki tüm yeni mesajlar hakkında size bilgi verilecektir, bunlar daihil @username, @channel, @here, ...",
322 "settings.service.form.tabOnPremise" : "Kendi barındırılan", 322 "settings.service.form.indirectMessages": "Mesaj rozetini tüm yeni mesajlar için göster",
323 "settings.service.form.team" : "Takım", 323 "settings.service.form.isMutedInfo": "Devre dışı bırakıldığında, tüm bildirim sesleri sessize alınır",
324 "settings.service.form.useHostedService" : "Barındırılan {name} hizmetini kullanın.", 324 "settings.service.form.name": "Ad",
325 "settings.service.form.yourServices" : "Servislerin", 325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.services.deletedInfo" : "Servis silindi", 326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Ayarları",
327 "settings.services.discoverServices" : "Servisleri keşfet", 327 "settings.service.form.proxy.host": "Proxy Sunucusu/IP",
328 "settings.services.headline" : "Servislerin", 328 "settings.service.form.proxy.info": "Proxy ayarları Ferdi serverlarına yüklenmeyecektir.",
329 "settings.services.noServicesAdded" : "Henüz hiç servis eklemedin.", 329 "settings.service.form.proxy.isEnabled": "Proxy Kullan",
330 "settings.services.servicesRequestFailed" : "Hizmetiniz yüklenemedi", 330 "settings.service.form.proxy.password": "Parola (opsiyonel)",
331 "settings.services.tooltip.isDisabled" : "Servis devre dışı", 331 "settings.service.form.proxy.port": "Port",
332 "settings.services.tooltip.isMuted" : "Tüm sesler kapalı", 332 "settings.service.form.proxy.restartInfo": "Proxy ayarlarını değiştirdikten sonra Ferdi'ı yeniden başlatınız.",
333 "settings.services.tooltip.notificationsDisabled" : "Bildirimler devre dışı", 333 "settings.service.form.proxy.user": "Kullanıcı (opsiyonel)",
334 "settings.services.updatedInfo" : "Değişikliklerin kaydedildi", 334 "settings.service.form.saveButton": "Servisi kaydet",
335 "settings.team.contentHeadline" : "Franz for Teams", 335 "settings.service.form.tabHosted": "Barındırılan",
336 "settings.team.copy" : "Franz for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!", 336 "settings.service.form.tabOnPremise": "Kendi barındırılan",
337 "settings.team.headline" : "Takım", 337 "settings.service.form.team": "Takım",
338 "settings.team.intro" : "You and your team use Franz? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.", 338 "settings.service.form.useHostedService": "Barındırılan {name} hizmetini kullanın.",
339 "settings.team.manageAction" : "Manage your Team on meetfranz.com", 339 "settings.service.form.yourServices": "Servislerin",
340 "settings.team.upgradeAction" : "Upgrade your Account", 340 "settings.services.deletedInfo": "Servis silindi",
341 "settings.user.form.accountType.company" : "Kurum", 341 "settings.services.discoverServices": "Servisleri keşfet",
342 "settings.user.form.accountType.individual" : "Bireysel", 342 "settings.services.headline": "Servislerin",
343 "settings.user.form.accountType.label" : "Hesap tipi", 343 "settings.services.noServicesAdded": "Henüz hiç servis eklemedin.",
344 "settings.user.form.accountType.non-profit" : "Kar amacı gütmeyen", 344 "settings.services.servicesRequestFailed": "Hizmetiniz yüklenemedi",
345 "settings.user.form.currentPassword" : "Mevcut şifre", 345 "settings.services.tooltip.isDisabled": "Servis devre dışı",
346 "settings.user.form.email" : "E-posta", 346 "settings.services.tooltip.isMuted": "Tüm sesler kapalı",
347 "settings.user.form.firstname" : "Ad", 347 "settings.services.tooltip.notificationsDisabled": "Bildirimler devre dışı",
348 "settings.user.form.lastname" : "Soyad", 348 "settings.services.updatedInfo": "Değişikliklerin kaydedildi",
349 "settings.user.form.newPassword" : "Yeni şifre", 349 "settings.supportFerdi.github": "GitHub'da Yıldızla",
350 "settings.workspace.add.form.name" : "Name", 350 "settings.supportFerdi.headline": "Ferdi'yi Destekle",
351 "settings.workspace.add.form.submitButton" : "Create workspace", 351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.workspace.form.buttonDelete" : "Delete workspace", 352 "settings.supportFerdi.share": "Arkadaşlarınla Paylaş",
353 "settings.workspace.form.buttonSave" : "Save workspace", 353 "settings.supportFerdi.title": "Ferdi'yi seviyor musun? Hayat paylaştıkça güzel!",
354 "settings.workspace.form.name" : "Name", 354 "settings.team.contentHeadline": "Ekipler için Ferdi",
355 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace", 355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.workspace.form.yourWorkspaces" : "Your workspaces", 356 "settings.team.headline": "Takım",
357 "settings.workspaces.deletedInfo" : "Workspace has been deleted", 357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.workspaces.headline" : "Your workspaces", 358 "settings.team.manageAction": "getferdi.com adresinden Ekibini yönet",
359 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.", 359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.workspaces.tryReloadWorkspaces" : "Tekrar deneyin", 360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.workspaces.updatedInfo" : "Değişikliklerin kaydedildi", 361 "settings.team.upgradeAction": "Upgrade your Account",
362 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces", 362 "settings.user.form.accountType.company": "Kurum",
363 "settings.workspaces.workspaceFeatureInfo" : "Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.", 363 "settings.user.form.accountType.individual": "Bireysel",
364 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces", 364 "settings.user.form.accountType.label": "Hesap tipi",
365 "sidebar.addNewService" : "Yeni servis ekle", 365 "settings.user.form.accountType.non-profit": "Kar amacı gütmeyen",
366 "sidebar.closeTodosDrawer" : "Close Franz Todos", 366 "settings.user.form.currentPassword": "Mevcut şifre",
367 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer", 367 "settings.user.form.email": "E-posta",
368 "sidebar.muteApp" : "Bildirimleri ve sesli uyarıları kapat", 368 "settings.user.form.firstname": "Ad",
369 "sidebar.openTodosDrawer" : "Open Franz Todos", 369 "settings.user.form.lastname": "Soyad",
370 "sidebar.openWorkspaceDrawer" : "Open workspace drawer", 370 "settings.user.form.newPassword": "Yeni şifre",
371 "sidebar.settings" : "Ayarlar", 371 "settings.workspace.add.form.name": "Ad",
372 "sidebar.unmuteApp" : "Bildirimleri ve sesli uyarıları etkinleştir", 372 "settings.workspace.add.form.submitButton": "Create workspace",
373 "signup.email.label" : "E-posta adresi", 373 "settings.workspace.form.buttonDelete": "Delete workspace",
374 "signup.emailDuplicate" : "Bu email adresine sahip bir kullanıcı zaten mevcut", 374 "settings.workspace.form.buttonSave": "Save workspace",
375 "signup.firstname.label" : "Ad", 375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "signup.headline" : "Hesap oluştur", 376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "signup.lastname.label" : "Soyad", 377 "settings.workspace.form.name": "Ad",
378 "signup.legal.info" : "Franz'ı hesabı oluşturark kabul ediyorsun", 378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "signup.legal.privacy" : "Gizlilik Sözleşmesi", 379 "settings.workspace.form.yourWorkspaces": "Çalışma alanların",
380 "signup.legal.terms" : "Kullanım Koşulları", 380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "signup.link.login" : "Hali hazırda hesabınız varsa giriş yapmak ister misiniz?", 381 "settings.workspaces.headline": "Çalışma alanların",
382 "signup.password.label" : "Şifre", 382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "signup.submit.label" : "Hesap oluştur", 383 "settings.workspaces.tryReloadWorkspaces": "Tekrar deneyin",
384 "subscription.bestValue" : "Best value", 384 "settings.workspaces.updatedInfo": "Değişikliklerin kaydedildi",
385 "subscription.cta.activateTrial" : "Yes, start the free Franz Professional trial", 385 "settings.workspaces.workspaceFeatureHeadline": "Az Çoktan Fazladır: Karşınızda Ferdi Workspaces",
386 "subscription.cta.allOptions" : "See all options", 386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "subscription.cta.choosePlan" : "Choose your plan", 387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "subscription.includedProFeatures" : "The Franz Professional Plan includes:", 388 "sidebar.addNewService": "Yeni servis ekle",
389 "subscription.interval.per" : "per {interval}", 389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "subscription.interval.perMonth" : "per month", 390 "sidebar.closeWorkspaceDrawer": "Çalışma alanı çekmecesini kapat",
391 "subscription.interval.perMonthPerUser" : "per month & user", 391 "sidebar.lockFerdi": "Ferdi'yi Kilitle",
392 "subscription.planItem.upgradeAccount" : "Upgrade Account", 392 "sidebar.muteApp": "Bildirimleri ve sesli uyarıları kapat",
393 "subscription.teaser.includedFeatures" : "Paid Franz Plans include:", 393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "subscription.teaser.intro" : "Franz 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!", 394 "sidebar.openWorkspaceDrawer": "Çalışma alanı çekmecesini aç",
395 "subscriptionPopup.buttonCancel" : "İptal", 395 "sidebar.settings": "Ayarlar",
396 "subscriptionPopup.buttonDone" : "Tamamlandı", 396 "sidebar.unmuteApp": "Bildirimleri ve sesli uyarıları etkinleştir",
397 "tabs.item.deleteService" : "Servisi sil", 397 "signup.email.label": "E-posta adresi",
398 "tabs.item.disableAudio" : "Sesi kapat", 398 "signup.emailDuplicate": "Bu email adresine sahip bir kullanıcı zaten mevcut",
399 "tabs.item.disableNotifications" : "Bildirimleri devre dışı bırak", 399 "signup.firstname.label": "Ad",
400 "tabs.item.disableService" : "Servisi devre dışı bırak", 400 "signup.headline": "Hesap oluştur",
401 "tabs.item.edit" : "Düzenle", 401 "signup.lastname.label": "Soyad",
402 "tabs.item.enableAudio" : "Sesi etkinleştir", 402 "signup.legal.info": "Ferdi'ı hesabı oluşturark kabul ediyorsun",
403 "tabs.item.enableNotification" : "Bildirimleri etkinleştir", 403 "signup.legal.privacy": "Gizlilik Sözleşmesi",
404 "tabs.item.enableService" : "Servisi etkinleştir", 404 "signup.legal.terms": "Kullanım Koşulları",
405 "tabs.item.reload" : "Tekrar yükle", 405 "signup.link.login": "Hali hazırda hesabınız varsa giriş yapmak ister misiniz?",
406 "validation.email" : "{alan} geçerli değil", 406 "signup.password.label": "Şifre",
407 "validation.minLength" : "{field} en az {length} karakter uzunluğunda olmalı", 407 "signup.submit.label": "Hesap oluştur",
408 "validation.oneRequired" : "At least one is required", 408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "validation.required" : "{field} gereklidir", 409 "subscription.cta.allOptions": "See all options",
410 "validation.url" : "{field} geçerli bir URL değil", 410 "subscription.cta.choosePlan": "Choose your plan",
411 "webControls.back" : "Back", 411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "webControls.forward" : "Forward", 412 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:",
413 "webControls.goHome" : "Home", 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!",
414 "webControls.openInBrowser" : "Open in Browser", 414 "subscriptionPopup.buttonCancel": "İptal",
415 "webControls.reload" : "Reload", 415 "subscriptionPopup.buttonDone": "Tamamlandı",
416 "welcome.loginButton" : "Hesabına giriş yap", 416 "tabs.item.deleteService": "Servisi sil",
417 "welcome.signupButton" : "Ücretsiz hesap oluştur", 417 "tabs.item.disableAudio": "Sesi kapat",
418 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace", 418 "tabs.item.disableNotifications": "Bildirimleri devre dışı bırak",
419 "workspaceDrawer.allServices" : "Tüm servisler", 419 "tabs.item.disableService": "Servisi devre dışı bırak",
420 "workspaceDrawer.headline" : "Workspaces", 420 "tabs.item.edit": "Düzenle",
421 "workspaceDrawer.item.contextMenuEdit" : "edit", 421 "tabs.item.enableAudio": "Sesi etkinleştirin",
422 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet", 422 "tabs.item.enableNotification": "Bildirimleri etkinleştir",
423 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace", 423 "tabs.item.enableService": "Servisi etkinleştir",
424 "workspaceDrawer.proFeatureBadge" : "Premium feature", 424 "tabs.item.reload": "Yenile",
425 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account", 425 "validation.email": "{alan} geçerli değil",
426 "workspaceDrawer.workspaceFeatureInfo" : "<p>Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.<\/p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.<\/p>", 426 "validation.minLength": "{field} en az {length} karakter uzunluğunda olmalı",
427 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings", 427 "validation.oneRequired": "At least one is required",
428 "workspaces.switchingIndicator.switchingTo" : "Switching to" 428 "validation.required": "{field} gereklidir",
429 "validation.url": "{field} geçerli bir URL değil",
430 "webControls.back": "Geri",
431 "webControls.forward": "İleri",
432 "webControls.goHome": "Ana Sayfa",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Yenile",
435 "welcome.loginButton": "Hesabına giriş yap",
436 "welcome.signupButton": "Ücretsiz hesap oluştur",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "Tüm servisler",
439 "workspaceDrawer.headline": "Çalışma Alanları",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
429} 448}
diff --git a/src/i18n/locales/ua.json b/src/i18n/locales/ua.json
index fcb99c4e4..dfd9b6fa4 100644
--- a/src/i18n/locales/ua.json
+++ b/src/i18n/locales/ua.json
@@ -1,5 +1,5 @@
1{ 1{
2 "global.api.unhealthy": "Не можна підключитись до онлайн сервісів Franz", 2 "global.api.unhealthy": "Не можна підключитись до онлайн сервісів Ferdi",
3 "global.notConnectedToTheInternet": "Ви не підключені до Інтернету.", 3 "global.notConnectedToTheInternet": "Ви не підключені до Інтернету.",
4 "welcome.signupButton": "Створити безплатний акаунт", 4 "welcome.signupButton": "Створити безплатний акаунт",
5 "welcome.loginButton": "Увійдіть до свого акаунту", 5 "welcome.loginButton": "Увійдіть до свого акаунту",
@@ -29,15 +29,15 @@
29 "signup.submit.label": "Створити акаунт", 29 "signup.submit.label": "Створити акаунт",
30 "signup.link.login": "У вас вже є обліковий запис, увійти?", 30 "signup.link.login": "У вас вже є обліковий запис, увійти?",
31 "signup.emailDuplicate": "Користувач із цією email адресою вже існує", 31 "signup.emailDuplicate": "Користувач із цією email адресою вже існує",
32 "signup.legal.info": "Створенням акаунту Franz ви приймаєте", 32 "signup.legal.info": "Створенням акаунту Ferdi ви приймаєте",
33 "signup.legal.terms": "Умови використання", 33 "signup.legal.terms": "Умови використання",
34 "signup.legal.privacy": "Заява про конфіденційність", 34 "signup.legal.privacy": "Заява про конфіденційність",
35 "pricing.headline": "Підтримайте Franz", 35 "pricing.headline": "Підтримайте Ferdi",
36 "pricing.support.label": "Виберіть свій план підтримки", 36 "pricing.support.label": "Виберіть свій план підтримки",
37 "pricing.submit.label": "Я хочу підтримати розробку Franz", 37 "pricing.submit.label": "Я хочу підтримати розробку Ferdi",
38 "pricing.link.skipPayment": "Я не хочу підтримувати розробку Franz.", 38 "pricing.link.skipPayment": "Я не хочу підтримувати розробку Ferdi.",
39 "import.headline": "Імпортувати ваші сервіси з Franz 4", 39 "import.headline": "Імпортувати ваші сервіси з Ferdi 4",
40 "import.notSupportedHeadline": "Сервіси ще не підтримуються в Franz 5", 40 "import.notSupportedHeadline": "Сервіси ще не підтримуються в Ferdi 5",
41 "import.submit.label": "Імпортувати сервіси", 41 "import.submit.label": "Імпортувати сервіси",
42 "import.skip.label": "Я хочу додати сервіси вручну", 42 "import.skip.label": "Я хочу додати сервіси вручну",
43 "invite.submit.label": "Відправити запрошення", 43 "invite.submit.label": "Відправити запрошення",
@@ -45,9 +45,9 @@
45 "invite.name.label": "Ім'я", 45 "invite.name.label": "Ім'я",
46 "invite.email.label": "Email адреса", 46 "invite.email.label": "Email адреса",
47 "invite.skip.label": "Я хочу зробити це пізніше", 47 "invite.skip.label": "Я хочу зробити це пізніше",
48 "subscription.submit.label": "Я хочу підтримати розробку Franz", 48 "subscription.submit.label": "Я хочу підтримати розробку Ferdi",
49 "subscription.paymentSessionError": "Не вдалося ініціалізувати форму платежу", 49 "subscription.paymentSessionError": "Не вдалося ініціалізувати форму платежу",
50 "subscription.includedFeatures": "Платний Преміальний Акаунт Прихильника Franz включає", 50 "subscription.includedFeatures": "Платний Преміальний Акаунт Прихильника Ferdi включає",
51 "subscription.features.onpremise": "Додайте on-premise / hosted сервіси, такі як Hipchat", 51 "subscription.features.onpremise": "Додайте on-premise / hosted сервіси, такі як Hipchat",
52 "subscription.features.customServices": "Приватні сервіси для вас і вашої команди", 52 "subscription.features.customServices": "Приватні сервіси для вас і вашої команди",
53 "subscription.features.encryptedSync": "Шифрована синхронізація сеансу", 53 "subscription.features.encryptedSync": "Шифрована синхронізація сеансу",
@@ -55,17 +55,17 @@
55 "subscription.features.ads": "Жодної реклами!", 55 "subscription.features.ads": "Жодної реклами!",
56 "subscription.features.comingSoon": "очікуйте незабаром", 56 "subscription.features.comingSoon": "очікуйте незабаром",
57 "infobar.servicesUpdated": "Ваші сервіси було оновлено.", 57 "infobar.servicesUpdated": "Ваші сервіси було оновлено.",
58 "infobar.updateAvailable": "Нове оновлення для Franz доступне.", 58 "infobar.updateAvailable": "Нове оновлення для Ferdi доступне.",
59 "infobar.buttonReloadServices": "Перезавантажити сервіси", 59 "infobar.buttonReloadServices": "Перезавантажити сервіси",
60 "infobar.buttonInstallUpdate": "Перезавантажити і встановити оновлення", 60 "infobar.buttonInstallUpdate": "Перезавантажити і встановити оновлення",
61 "infobar.requiredRequestsFailed": "Не вдалося завантажити сервіси та інформацію користувача", 61 "infobar.requiredRequestsFailed": "Не вдалося завантажити сервіси та інформацію користувача",
62 "sidebar.settings": "Налаштування", 62 "sidebar.settings": "Налаштування",
63 "sidebar.addNewService": "!!!Add new service", 63 "sidebar.addNewService": "Add new service",
64 "services.welcome": "Ласкаво просимо в Franz", 64 "services.welcome": "Ласкаво просимо в Ferdi",
65 "services.getStarted": "Почати", 65 "services.getStarted": "Почати",
66 "settings.account.headline": "Акаунт", 66 "settings.account.headline": "Акаунт",
67 "settings.account.headlineSubscription": "Ваша підписка", 67 "settings.account.headlineSubscription": "Ваша підписка",
68 "settings.account.headlineUpgrade": "Оновити ваш акаунт і підтримати Franz", 68 "settings.account.headlineUpgrade": "Оновити ваш акаунт і підтримати Ferdi",
69 "settings.account.headlineInvoices": "Інвойси", 69 "settings.account.headlineInvoices": "Інвойси",
70 "settings.account.manageSubscription.label": "Керування вашою підпискою", 70 "settings.account.manageSubscription.label": "Керування вашою підпискою",
71 "settings.account.accountType.basic": "Базовий акаунт", 71 "settings.account.accountType.basic": "Базовий акаунт",
@@ -79,7 +79,7 @@
79 "settings.account.headlinePassword": "Змінити пароль", 79 "settings.account.headlinePassword": "Змінити пароль",
80 "settings.account.successInfo": "Ваші зміни були збережені", 80 "settings.account.successInfo": "Ваші зміни були збережені",
81 "settings.account.buttonSave": "Оновити профіль", 81 "settings.account.buttonSave": "Оновити профіль",
82 "settings.account.mining.thankyou": "Дякую, що підтримуєте Franz своєю обчислювальною потужністю.", 82 "settings.account.mining.thankyou": "Дякую, що підтримуєте Ferdi своєю обчислювальною потужністю.",
83 "settings.account.mining.active": "Ви зараз здійснюєте {hashes} розрахунків за секунду.", 83 "settings.account.mining.active": "Ви зараз здійснюєте {hashes} розрахунків за секунду.",
84 "settings.account.mining.moreInformation": "Отримати більше інформації", 84 "settings.account.mining.moreInformation": "Отримати більше інформації",
85 "settings.account.mining.cancel": "Скасувати видобуток", 85 "settings.account.mining.cancel": "Скасувати видобуток",
@@ -103,7 +103,7 @@
103 "settings.service.form.tabHosted": "Розміщений", 103 "settings.service.form.tabHosted": "Розміщений",
104 "settings.service.form.tabOnPremise": "Самостійно розміщений ⭐️", 104 "settings.service.form.tabOnPremise": "Самостійно розміщений ⭐️",
105 "settings.service.form.customUrlValidationError": "Не вдалось підтвердити власний {name} сервер.", 105 "settings.service.form.customUrlValidationError": "Не вдалось підтвердити власний {name} сервер.",
106 "settings.service.form.customUrlPremiumInfo": "Щоб додати самостійно розміщені сервіси, вам потріьно мати Преміумним Акаунт Прихильника Franz.", 106 "settings.service.form.customUrlPremiumInfo": "Щоб додати самостійно розміщені сервіси, вам потріьно мати Преміумним Акаунт Прихильника Ferdi.",
107 "settings.service.form.customUrlUpgradeAccount": "Оновити ваш обліковий запис", 107 "settings.service.form.customUrlUpgradeAccount": "Оновити ваш обліковий запис",
108 "settings.service.form.indirectMessageInfo": "Ви отримаєте сповіщення про всі нові повідомлення в каналі, а не лише про @username, @channel, @here, ...", 108 "settings.service.form.indirectMessageInfo": "Ви отримаєте сповіщення про всі нові повідомлення в каналі, а не лише про @username, @channel, @here, ...",
109 "settings.service.error.headline": "Помилка", 109 "settings.service.error.headline": "Помилка",
@@ -124,11 +124,11 @@
124 "settings.app.buttonInstallUpdate": "Перезавантажити і встановити оновлення", 124 "settings.app.buttonInstallUpdate": "Перезавантажити і встановити оновлення",
125 "settings.app.updateStatusSearching": "Шукає оновлення", 125 "settings.app.updateStatusSearching": "Шукає оновлення",
126 "settings.app.updateStatusAvailable": "Оновлення доступне, завантаження...", 126 "settings.app.updateStatusAvailable": "Оновлення доступне, завантаження...",
127 "settings.app.updateStatusUpToDate": "Ви використовуєте останню версію Franz", 127 "settings.app.updateStatusUpToDate": "Ви використовуєте останню версію Ferdi",
128 "settings.app.form.autoLaunchOnStart": "Запускати Franz на початку", 128 "settings.app.form.autoLaunchOnStart": "Запускати Ferdi на початку",
129 "settings.app.form.autoLaunchInBackground": "Відкрити у фоновому режимі", 129 "settings.app.form.autoLaunchInBackground": "Відкрити у фоновому режимі",
130 "settings.app.form.minimizeToSystemTray": "Мінімізувати Franz до системного лотка", 130 "settings.app.form.minimizeToSystemTray": "Мінімізувати Ferdi до системного лотка",
131 "settings.app.form.runInBackground": "Тримати Franz в фоні при закритті вікна", 131 "settings.app.form.runInBackground": "Тримати Ferdi в фоні при закритті вікна",
132 "settings.app.form.language": "Мова", 132 "settings.app.form.language": "Мова",
133 "settings.app.form.beta": "Включити бета-версії", 133 "settings.app.form.beta": "Включити бета-версії",
134 "settings.app.currentVersion": "Поточна версія:", 134 "settings.app.currentVersion": "Поточна версія:",
@@ -150,12 +150,12 @@
150 "subscription.type.free": "безплатно", 150 "subscription.type.free": "безплатно",
151 "subscription.type.month": "місяць", 151 "subscription.type.month": "місяць",
152 "subscription.type.year": "рік", 152 "subscription.type.year": "рік",
153 "subscription.type.mining": "Підтримати Franz обчислювальною потужністю", 153 "subscription.type.mining": "Підтримати Ferdi обчислювальною потужністю",
154 "subscription.mining.headline": "Як це працює?", 154 "subscription.mining.headline": "Як це працює?",
155 "subscription.mining.experimental": "експериментальний", 155 "subscription.mining.experimental": "експериментальний",
156 "subscription.mining.line1": "Вмикаючи \"Підтримати обчислювальною потужністю\", Franz буде використовувати приблизно 20-50% вашого процесора щоб майнити криптовалюту Monero, що приблизно рівне $ 5/рік.", 156 "subscription.mining.line1": "Вмикаючи \"Підтримати обчислювальною потужністю\", Ferdi буде використовувати приблизно 20-50% вашого процесора щоб майнити криптовалюту Monero, що приблизно рівне $ 5/рік.",
157 "subscription.mining.line2": "Ми адаптуємо використання процесора відповідно до вашої поведінки, щоб не виснажувати акумулятор, не сповільнити вашу роботу і роботу вашої машини.", 157 "subscription.mining.line2": "Ми адаптуємо використання процесора відповідно до вашої поведінки, щоб не виснажувати акумулятор, не сповільнити вашу роботу і роботу вашої машини.",
158 "subscription.mining.line3": "Поки майнер активний, ви матимете необмежений доступ до всіх особливостей підтримки Franz Premium.", 158 "subscription.mining.line3": "Поки майнер активний, ви матимете необмежений доступ до всіх особливостей підтримки Ferdi Premium.",
159 "subscription.mining.moreInformation": "Отримати більше інформації про цей план.", 159 "subscription.mining.moreInformation": "Отримати більше інформації про цей план.",
160 "subscriptionPopup.buttonCancel": "Відмінити", 160 "subscriptionPopup.buttonCancel": "Відмінити",
161 "subscriptionPopup.buttonDone": "Готово", 161 "subscriptionPopup.buttonDone": "Готово",
diff --git a/src/i18n/locales/uk.json b/src/i18n/locales/uk.json
index 4cf53d7c4..d6da96961 100644
--- a/src/i18n/locales/uk.json
+++ b/src/i18n/locales/uk.json
@@ -1,429 +1,448 @@
1{ 1{
2 "app.errorHandler.action" : "Перезавантажити", 2 "app.errorHandler.action": "Перезавантажити",
3 "app.errorHandler.headline" : "Щось пішло не так", 3 "app.errorHandler.headline": "Щось пішло не так",
4 "feature.announcements.changelog.headline" : "Зміни у версії Franz {version}", 4 "feature.announcements.changelog.headline": "Changes in Ferdi {version}",
5 "feature.delayApp.headline" : "Upgrade your Franz plan to skip the wait", 5 "feature.delayApp.headline": "Будь ласка, придбайте ліцензію Ferdi Supporter аби пропустити очікування",
6 "feature.delayApp.text" : "Franz відновить роботу за {seconds} секунд", 6 "feature.delayApp.text": "Ferdi відновить роботу за {seconds} секунд",
7 "feature.delayApp.trial.action" : "Так, я хочу безкоштовну 14-денну триальную версію Franz Professional", 7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort" : "Активувати безкоштовну триальную версію Franz Professional", 8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
9 "feature.delayApp.trial.headline" : "Get the free Franz Professional 14-days trial and skip the wait", 9 "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line",
10 "feature.delayApp.upgrade.action" : "Upgrade Franz", 10 "feature.delayApp.upgrade.action": "Отримати ліцензію Ferdi Supporter ",
11 "feature.delayApp.upgrade.actionShort" : "Преміум акаунт", 11 "feature.delayApp.upgrade.actionShort": "Преміум акаунт",
12 "feature.planSelection.cta.ctaDowngradeFree" : "Downgrade to Free", 12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.planSelection.cta.stayOnFree" : "Stay on Free", 13 "feature.quickSwitch.search": "Search...",
14 "feature.planSelection.cta.trial" : "Start my free 14-days Trial", 14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.planSelection.cta.upgradePersonal" : "Choose Personal", 15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.planSelection.cta.upgradePro" : "Choose Professional", 16 "feature.shareFranz.action.email": "Send as email",
17 "feature.planSelection.free.text" : "Basic functionality", 17 "feature.shareFranz.action.facebook": "Share on Facebook",
18 "feature.planSelection.fullFeatureList" : "Complete comparison of all plans", 18 "feature.shareFranz.action.twitter": "Share on Twitter",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 19 "feature.shareFranz.headline": "Ferdi is better together!",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade" : "Choose Personal", 20 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
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.", 21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.planSelection.fullscreen.dialog.title" : "Downgrade your Franz Plan", 22 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
23 "feature.planSelection.fullscreen.subheadline" : "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.", 23 "feature.todos.premium.info": "Ferdi Todos are available to premium users now!",
24 "feature.planSelection.fullscreen.welcome" : "Are you ready to choose, {name}?", 24 "feature.todos.premium.rollout": "Everyone else will have to wait a little longer.",
25 "feature.planSelection.personal.text" : "More services, no waiting - ideal for personal use.", 25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "feature.planSelection.pricesBasedOnAnnualPayment" : "All prices based on yearly payment", 26 "global.api.unhealthy": "Не можливо підключитись до онлайн сервісів Ferdi",
27 "feature.planSelection.pro.text" : "Unlimited services and professional features for you - and your team.", 27 "global.franzProRequired": "Ferdi Professional Required",
28 "feature.serviceLimit.limitReached" : "Ви додали {amount} максимальну {limit} кількість сервісів, що входять в ваш план. Будь ласка, поновіть свій план щоб додати більше сервісів.", 28 "global.notConnectedToTheInternet": "Ви не підключені до Інтернету.",
29 "feature.shareFranz.action.email" : "Надіслати по email", 29 "global.spellchecker.useDefault": "Використовувати системні параметри за змовчуванням ({default})",
30 "feature.shareFranz.action.facebook" : "Поділитися на Facebook", 30 "global.spellchecking.autodetect": "Detect language automatically",
31 "feature.shareFranz.action.twitter" : "Поділитися в Twitter", 31 "global.spellchecking.autodetect.short": "Automatic",
32 "feature.shareFranz.headline" : "Зробимо Franz краще разом!", 32 "global.spellchecking.language": "Мова перевірки правопису",
33 "feature.shareFranz.shareText.email" : "Я додав {count} сервісів у Franz! Тепер доступні такі месенджери як WhatsApp, Messenger, Slack, Skype та інші. Повний список ви знайдете на www.meetfranz.com", 33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "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 @FranzMessenger", 34 "import.headline": "Імпортувати ваші сервіси з Ferdi 4",
35 "feature.shareFranz.text" : "Tell your friends and colleagues how awesome Franz is and help us to spread the word.", 35 "import.notSupportedHeadline": "Наразі сервіси не підтримуються у Ferdi 5",
36 "feature.todos.premium.info" : "Franz Todos тепер доступний для преміум-користувачів!", 36 "import.skip.label": "Я бажаю додати сервіс вручну",
37 "feature.todos.premium.rollout" : "Всім іншим доведеться почекати ще трохи.", 37 "import.submit.label": "Імпортувати сервіси",
38 "feature.todos.premium.upgrade" : "Поліпшити Аккаунт", 38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "feature.trialStatusBar.cta" : "Upgrade now", 39 "infobar.buttonChangelog": "Що нового?",
40 "feature.trialStatusBar.expired" : "Your free Franz {plan} Trial has expired, please upgrade your account.", 40 "infobar.buttonInstallUpdate": "Перезавантажити і встановити оновлення",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 41 "infobar.buttonReloadServices": "Перезавантажити сервіси",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade" : "Choose Personal", 42 "infobar.requiredRequestsFailed": "Не вдалося завантажити сервіси та інформацію користувача",
43 "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.", 43 "infobar.servicesUpdated": "Ваші сервіси було оновлено.",
44 "feature.trialStatusBar.fullscreen.dialog.title" : "Downgrade your Franz Plan", 44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "feature.trialStatusBar.restTime" : "Your Free Franz {plan} Trial ends in {time}.", 45 "infobar.updateAvailable": "Нове оновлення для Ferdi доступне.",
46 "global.api.unhealthy" : "Не можливо підключитись до онлайн сервісів Franz", 46 "invite.email.label": "Email адреса",
47 "global.franzProRequired" : "Franz Professional обов'язковий", 47 "invite.headline.friends": "Запросіть 3-х ваших друзів або колег",
48 "global.notConnectedToTheInternet" : "Ви не підключені до Інтернету.", 48 "invite.name.label": "Ім'я",
49 "global.spellchecker.useDefault" : "Використовувати системні параметри за змовчуванням ({default})", 49 "invite.skip.label": "Я хочу зробити це пізніше",
50 "global.spellchecking.autodetect" : "Найти мову автоматично", 50 "invite.submit.label": "Відправити запрошення",
51 "global.spellchecking.autodetect.short" : "Авто", 51 "invite.successInfo": "Запрошення успішно надіслані",
52 "global.spellchecking.language" : "Мова перевірки правопису", 52 "locked.headline": "Locked",
53 "global.upgradeButton.upgradeToPro" : "Оновіть до Franz Professional", 53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "import.headline" : "Імпортувати ваші сервіси з Franz 4", 54 "locked.invalidCredentials": "Password invalid",
55 "import.notSupportedHeadline" : "Наразі сервіси не підтримуються у Franz 5", 55 "locked.password.label": "Password",
56 "import.skip.label" : "Я бажаю додати сервіс вручну", 56 "locked.submit.label": "Unlock",
57 "import.submit.label" : "Імпортувати сервіси", 57 "login.changeServer": "Change server",
58 "infobar.buttonChangelog" : "Що нового?", 58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "infobar.buttonInstallUpdate" : "Перезавантажити і встановити оновлення", 59 "login.customServerSuggestion": "Try importing your Franz account",
60 "infobar.buttonReloadServices" : "Перезавантажити сервіси", 60 "login.email.label": "Email адреса",
61 "infobar.requiredRequestsFailed" : "Не вдалося завантажити сервіси та інформацію користувача", 61 "login.headline": "Увійти",
62 "infobar.servicesUpdated" : "Ваші сервіси було оновлено.", 62 "login.invalidCredentials": "Email або пароль некоректні",
63 "infobar.trialActivated" : "Ваш пробний період успішно активовано. Щасливого обміну повідомленнями!", 63 "login.link.password": "Скинути пароль",
64 "infobar.updateAvailable" : "Нове оновлення для Franz доступне.", 64 "login.link.signup": "Створити безплатний акаунт",
65 "invite.email.label" : "Email адреса", 65 "login.password.label": "Password",
66 "invite.headline.friends" : "Запросіть 3-х ваших друзів або колег", 66 "login.serverLogout": "Ваша сесія закінчилась, будь ласка, увійдіть знову.",
67 "invite.name.label" : "Ім'я", 67 "login.submit.label": "Увійти",
68 "invite.skip.label" : "Я хочу зробити це пізніше", 68 "login.tokenExpired": "Ваша сесія закінчилась, будь ласка, увійдіть знову.",
69 "invite.submit.label" : "Відправити запрошення", 69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "invite.successInfo" : "Запрошення успішно надіслані", 70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "login.email.label" : "Email адреса", 71 "menu.app.about": "Про Ferdi",
72 "login.headline" : "Увійти", 72 "menu.app.announcement": "What's new?",
73 "login.invalidCredentials" : "Email або пароль некоректні", 73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "login.link.password" : "Скинути пароль", 74 "menu.app.checkForUpdates": "Перевірити наявність оновлень",
75 "login.link.signup" : "Створити безплатний акаунт", 75 "menu.app.hide": "Приховати",
76 "login.password.label" : "Пароль", 76 "menu.app.hideOthers": "Приховати інші",
77 "login.serverLogout" : "Ваша сесія закінчилась, будь ласка, увійдіть знову.", 77 "menu.app.quit": "Вийти",
78 "login.submit.label" : "Увійти", 78 "menu.app.settings": "Налаштування",
79 "login.tokenExpired" : "Ваша сесія закінчилась, будь ласка, увійдіть знову.", 79 "menu.app.unhide": "Показати",
80 "menu.Todoss.closeTodosDrawer" : "Close Todos drawer", 80 "menu.edit": "Редагувати",
81 "menu.Todoss.openTodosDrawer" : "Open Todos drawer", 81 "menu.edit.copy": "Копіювати",
82 "menu.app.about" : "Про Franz", 82 "menu.edit.cut": "Вирізати",
83 "menu.app.announcement" : "Що нового?", 83 "menu.edit.delete": "Видалити",
84 "menu.app.checkForUpdates" : "Перевірити наявність оновлень", 84 "menu.edit.emojiSymbols": "Емодзі та символи",
85 "menu.app.hide" : "Приховати", 85 "menu.edit.paste": "Вставити",
86 "menu.app.hideOthers" : "Приховати інші", 86 "menu.edit.pasteAndMatchStyle": "Вставити з дотриманням стилю",
87 "menu.app.quit" : "Вийти", 87 "menu.edit.redo": "Повернути",
88 "menu.app.settings" : "Налаштування", 88 "menu.edit.selectAll": "Виділити все",
89 "menu.app.unhide" : "Показати", 89 "menu.edit.speech": "Мова",
90 "menu.edit" : "Редагувати", 90 "menu.edit.startDictation": "Почати диктувати",
91 "menu.edit.copy" : "Копіювати", 91 "menu.edit.startSpeaking": "Почати говорити",
92 "menu.edit.cut" : "Вирізати", 92 "menu.edit.stopSpeaking": "Закінчити говорити",
93 "menu.edit.delete" : "Видалити", 93 "menu.edit.undo": "Відмінити",
94 "menu.edit.emojiSymbols" : "Емодзі та символи", 94 "menu.file": "Файл",
95 "menu.edit.paste" : "Вставити", 95 "menu.help": "Довідка",
96 "menu.edit.pasteAndMatchStyle" : "Вставити з дотриманням стилю", 96 "menu.help.changelog": "Журнал змін",
97 "menu.edit.redo" : "Повернути", 97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.edit.selectAll" : "Виділити все", 98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.edit.speech" : "Мова", 99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.edit.startDictation" : "Почати диктувати", 100 "menu.help.learnMore": "Докладніше",
101 "menu.edit.startSpeaking" : "Почати говорити", 101 "menu.help.privacy": "Заява про конфіденційність",
102 "menu.edit.stopSpeaking" : "Закінчити говорити", 102 "menu.help.support": "Підтримка",
103 "menu.edit.undo" : "Відмінити", 103 "menu.help.tos": "Умови використання",
104 "menu.file" : "Файл", 104 "menu.services": "Служби",
105 "menu.help" : "Довідка", 105 "menu.services.activatePreviousService": "Activate previous service",
106 "menu.help.changelog" : "Журнал змін", 106 "menu.services.addNewService": "Додати сервіс",
107 "menu.help.debugInfo" : "Копіювати діагностичну інформацію", 107 "menu.services.goHome": "Home",
108 "menu.help.debugInfoCopiedBody" : "Інформація про налагодження скопійована у буфер обміну.", 108 "menu.services.setNextServiceActive": "Activate next service",
109 "menu.help.debugInfoCopiedHeadline" : "Діагностична інформація Franz", 109 "menu.todos": "Todos",
110 "menu.help.learnMore" : "Докладніше", 110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.help.privacy" : "Заява про конфіденційність", 111 "menu.view": "Вигляд",
112 "menu.help.support" : "Підтримка", 112 "menu.view.back": "Back",
113 "menu.help.tos" : "Умови використання", 113 "menu.view.enterFullScreen": "Вікно на повний екран",
114 "menu.services" : "Служби", 114 "menu.view.exitFullScreen": "Вийти з повного екрану",
115 "menu.services.activatePreviousService" : "Активуйте попередню послугу", 115 "menu.view.forward": "Forward",
116 "menu.services.addNewService" : "Додати сервіс", 116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.services.goHome" : "Home", 117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.services.setNextServiceActive" : "Активуйте наступний сервіс", 118 "menu.view.reloadFranz": "Перезавантажити Ferdi",
119 "menu.todos" : "Завдання", 119 "menu.view.reloadService": "Перезавантажити сервіс",
120 "menu.todos.enableTodos" : "Увімкнути завдання", 120 "menu.view.resetZoom": "Фактичний розмір",
121 "menu.view" : "Вигляд", 121 "menu.view.toggleDevTools": "Переключити інструмент розробника",
122 "menu.view.enterFullScreen" : "Вікно на повний екран", 122 "menu.view.toggleFullScreen": "Переключитися на повний екран",
123 "menu.view.exitFullScreen" : "Вийти з повного екрану", 123 "menu.view.toggleServiceDevTools": "Переключити інструменти розробника сервісу",
124 "menu.view.reloadFranz" : "Перезавантажити Franz", 124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.reloadService" : "Перезавантажити сервіс", 125 "menu.view.zoomIn": "Збільшити масштаб",
126 "menu.view.resetZoom" : "Фактичний розмір", 126 "menu.view.zoomOut": "Зменьшити масштаб",
127 "menu.view.toggleDevTools" : "Переключити інструмент розробника", 127 "menu.window": "Вікно",
128 "menu.view.toggleFullScreen" : "Переключитися на повний екран", 128 "menu.window.close": "Закрити",
129 "menu.view.toggleServiceDevTools" : "Переключити інструменти розробника сервісу", 129 "menu.window.minimize": "Згорнути",
130 "menu.view.toggleTodosDevTools" : "Увімкніть інструменти для розробників завдань", 130 "menu.workspaces": "Workspaces",
131 "menu.view.zoomIn" : "Збільшити масштаб", 131 "menu.workspaces.addNewWorkspace": "Add New Workspace...",
132 "menu.view.zoomOut" : "Зменьшити масштаб", 132 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
133 "menu.window" : "Вікно", 133 "menu.workspaces.defaultWorkspace": "Всі сервіси",
134 "menu.window.close" : "Закрити", 134 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
135 "menu.window.minimize" : "Згорнути", 135 "password.email.label": "Email адреса",
136 "menu.workspaces" : "Робочі простори", 136 "password.headline": "Скинути пароль",
137 "menu.workspaces.addNewWorkspace" : "Додати нову робочу область ...", 137 "password.link.login": "Увійти до вашого акаунту",
138 "menu.workspaces.closeWorkspaceDrawer" : "Закрийте ящик робочої області", 138 "password.link.signup": "Створити безплатний акаунт",
139 "menu.workspaces.defaultWorkspace" : "Всі служби", 139 "password.noUser": "Не знайдено жодного користувача з цією email адресою",
140 "menu.workspaces.openWorkspaceDrawer" : "Відкрити ящик робочої області", 140 "password.submit.label": "Подати",
141 "password.email.label" : "Email адреса", 141 "password.successInfo": "Будь ласка, перевірте ваш email",
142 "password.headline" : "Скинути пароль", 142 "premiumFeature.button.upgradeAccount": "Преміум акаунт",
143 "password.link.login" : "Увійти до вашого акаунту", 143 "pricing.features.adFree": "Forever ad-free",
144 "password.link.signup" : "Створити безплатний акаунт", 144 "pricing.features.appDelays": "No Waiting Screens",
145 "password.noUser" : "Не знайдено жодного користувача з цією email адресою", 145 "pricing.features.customWebsites": "Add Custom Websites",
146 "password.submit.label" : "Подати", 146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "password.successInfo" : "Будь ласка, перевірте ваш email", 147 "pricing.features.serviceProxies": "Service Proxies",
148 "premiumFeature.button.upgradeAccount" : "Преміум акаунт", 148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.accountSync" : "Account Synchronisation", 149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.adFree" : "Forever ad-free", 150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.appDelays" : "No Waiting Screens", 151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.customWebsites" : "Add Custom Websites", 152 "pricing.features.workspaces": "Workspaces",
153 "pricing.features.desktopNotifications" : "Desktop Notifications", 153 "pricing.plan.free": "Ferdi Free",
154 "pricing.features.onPremise" : "On-premise & other Hosted Services", 154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.features.recipes" : "Choose from more than 70 Services", 155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.features.serviceProxies" : "Service Proxies", 156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.features.spellchecker" : "Spellchecker support", 157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.features.teamManagement" : "Team Management", 158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.features.thirdPartyServices" : "Install 3rd party services", 159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.features.unlimitedServices" : "Add unlimited services", 160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.features.upToSixServices" : "Add up to 6 services", 161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.features.upToThreeServices" : "Add up to 3 services", 162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.features.workspaces" : "Робочі простори", 163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.plan.free" : "Free", 164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.plan.legacy" : "Premium", 165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.plan.personal" : "Personal", 166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.plan.personal-monthly" : "Personal Monthly", 167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.plan.personal-yearly" : "Personal Yearly", 168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.plan.pro" : "Professional", 169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "pricing.plan.pro-monthly" : "Professional Monthly", 170 "service.crashHandler.action": "Перезавантажити {name}",
171 "pricing.plan.pro-yearly" : "Professional Yearly", 171 "service.crashHandler.autoReload": "Спробую автоматично відновити {name} через {seconds} с",
172 "pricing.trial.cta.accept" : "Start my 14-day Franz Professional Trial ", 172 "service.crashHandler.headline": "О, ні!",
173 "pricing.trial.cta.skip" : "Continue to Franz", 173 "service.crashHandler.text": "{name} призвів до помилки.",
174 "pricing.trial.cta.start" : "Start using Franz", 174 "service.disabledHandler.action": "Увімкнути {name} ",
175 "pricing.trial.error" : "Sorry, we could not activate your trial!", 175 "service.disabledHandler.headline": "{name} вимкнено",
176 "pricing.trial.features.headline" : "Franz Professional includes:", 176 "service.errorHandler.action": "Перезавантажити {name}",
177 "pricing.trial.headline.pro" : "Hi {name}, welcome to Franz", 177 "service.errorHandler.editAction": "Редагувати {name}",
178 "pricing.trial.intro.happyMessaging" : "Happy messaging,", 178 "service.errorHandler.headline": "О, ні!",
179 "pricing.trial.intro.specialTreat" : "We have a special treat for you.", 179 "service.errorHandler.message": "Помилка",
180 "pricing.trial.intro.tryPro" : "Enjoy the full Franz Professional experience completely free for 14 days.", 180 "service.errorHandler.text": "{name} не завантажено",
181 "pricing.trial.terms.automaticTrialEnd" : "Your free trial ends automatically after 14 days", 181 "service.restrictedHandler.action": "Upgrade Account",
182 "pricing.trial.terms.headline" : "No strings attached", 182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "pricing.trial.terms.noCreditCard" : "No credit card required", 183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "pricing.trial.terms.trialWorth" : "Free trial (normally {currency}{price} per month)", 184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.crashHandler.action" : "Перезавантажити {name}", 185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.crashHandler.autoReload" : "Спробую автоматично відновити {name} через {seconds} с", 186 "service.webviewLoader.loading": "Loading",
187 "service.crashHandler.headline" : "О, ні!", 187 "services.getStarted": "Почати",
188 "service.crashHandler.text" : "{name} призвів до помилки.", 188 "services.login": "Please login to use Ferdi.",
189 "service.disabledHandler.action" : "Увімкнути {name} ", 189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "service.disabledHandler.headline" : "{name} вимкнено", 190 "services.serverless": "Use Ferdi without an Account",
191 "service.errorHandler.action" : "Перезавантажити {name}", 191 "services.welcome": "Ласкаво просимо в Ferdi",
192 "service.errorHandler.editAction" : "Редагувати {name}", 192 "settings.account.account.editButton": "Редагувати акаунт",
193 "service.errorHandler.headline" : "О, ні!", 193 "settings.account.accountType.basic": "Базовий акаунт",
194 "service.errorHandler.message" : "Помилка", 194 "settings.account.accountType.premium": "Преміум Акаунт Прихильника",
195 "service.errorHandler.text" : "{name} не завантажено", 195 "settings.account.buttonSave": "Оновити профіль",
196 "service.restrictedHandler.action" : "Поліпшити Аккаунт", 196 "settings.account.deleteAccount": "Видалити обліковий запис",
197 "service.restrictedHandler.customUrl.headline" : "Franz Professional Plan required", 197 "settings.account.deleteEmailSent": "Ви отримали електронного листа з посиланням, щоб підтвердити видалення облікового запису. Ваш обліковий запис і дані не можна буде відновити!",
198 "service.restrictedHandler.customUrl.text" : "Please upgrade to the Franz Professional plan to use custom urls & self hosted services.", 198 "settings.account.deleteInfo": "Якщо Вам більше не потрібний обліковий запис Ferdi, Ви можете його видалити і всі суміжні дані.",
199 "service.restrictedHandler.serviceLimit.headline" : "You have reached your service limit.", 199 "settings.account.headline": "Акаунт",
200 "service.restrictedHandler.serviceLimit.text" : "Please upgrade your account to use more than {count} services.", 200 "settings.account.headlineAccount": "Інформація про акаунт",
201 "service.webviewLoader.loading" : "Loading", 201 "settings.account.headlineDangerZone": "На свій страх і ризик",
202 "services.getStarted" : "Почати", 202 "settings.account.headlineInvoices": "Інвойси",
203 "services.welcome" : "Ласкаво просимо в Franz", 203 "settings.account.headlinePassword": "Змінити пароль",
204 "settings.account.account.editButton" : "Редагувати акаунт", 204 "settings.account.headlineProfile": "Оновити профіль",
205 "settings.account.accountType.basic" : "Базовий акаунт", 205 "settings.account.headlineSubscription": "Ваша підписка",
206 "settings.account.accountType.premium" : "Преміум Акаунт Прихильника", 206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.buttonSave" : "Оновити профіль", 207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.deleteAccount" : "Видалити обліковий запис", 208 "settings.account.invoiceDownload": "Завантажити",
209 "settings.account.deleteEmailSent" : "Ви отримали електронного листа з посиланням, щоб підтвердити видалення облікового запису. Ваш обліковий запис і дані не можна буде відновити!", 209 "settings.account.manageSubscription.label": "Керування вашою підпискою",
210 "settings.account.deleteInfo" : "Якщо Вам більше не потрібний обліковий запис Franz, Ви можете його видалити і всі суміжні дані.", 210 "settings.account.successInfo": "Ваші зміни були збережені",
211 "settings.account.headline" : "Акаунт", 211 "settings.account.trial": "Free Trial",
212 "settings.account.headlineAccount" : "Інформація про акаунт", 212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.headlineDangerZone" : "На свій страх і ризик", 213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.headlineInvoices" : "Інвойси", 214 "settings.account.tryReloadServices": "Спробуйте ще раз",
215 "settings.account.headlinePassword" : "Змінити пароль", 215 "settings.account.tryReloadUserInfoRequest": "Спробуйте ще раз",
216 "settings.account.headlineProfile" : "Оновити профіль", 216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.headlineSubscription" : "Ваша підписка", 217 "settings.account.userInfoRequestFailed": "Не вдалося завантажити інформацію користувача",
218 "settings.account.headlineTrialUpgrade" : "Get the free 14 day Franz Professional Trial", 218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.account.headlineUpgradeAccount" : "Upgrade your account & get the full Franz experience", 219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.account.invoiceDownload" : "Завантажити", 220 "settings.app.buttonClearAllCache": "Очистити кеш",
221 "settings.account.manageSubscription.label" : "Керування вашою підпискою", 221 "settings.app.buttonInstallUpdate": "Перезавантажити і встановити оновлення",
222 "settings.account.successInfo" : "Ваші зміни були збережені", 222 "settings.app.buttonSearchForUpdate": "Перевірити наявність оновлень",
223 "settings.account.trial" : "Free Trial", 223 "settings.app.cacheInfo": "Кеш, який використовує Ferdi, займає {size} дискового простору.",
224 "settings.account.trialEndsIn" : "Your free trial ends in {duration}.", 224 "settings.app.currentVersion": "Поточна версія:",
225 "settings.account.trialUpdateBillingInfo" : "Please update your billing info to continue using {license} after your trial period.", 225 "settings.app.form.accentColor": "Accent color",
226 "settings.account.tryReloadServices" : "Спробуйте ще раз", 226 "settings.app.form.autoLaunchInBackground": "Відкрити у фоновому режимі",
227 "settings.account.tryReloadUserInfoRequest" : "Спробуйте ще раз", 227 "settings.app.form.autoLaunchOnStart": "Запускати Ferdi на початку",
228 "settings.account.upgradeToPro.label" : "Оновіть до Franz Professional", 228 "settings.app.form.beta": "Включити бета-версії",
229 "settings.account.userInfoRequestFailed" : "Не вдалося завантажити інформацію користувача", 229 "settings.app.form.darkMode": "Переходь на Темну Сторону",
230 "settings.account.yourLicense" : "Your Franz License", 230 "settings.app.form.enableGPUAcceleration": "Ввімкнути прискорення GPU",
231 "settings.app.buttonClearAllCache" : "Очистити кеш", 231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.buttonInstallUpdate" : "Перезавантажити і встановити оновлення", 232 "settings.app.form.enableSpellchecking": "Увімкнути перевірку орфографії",
233 "settings.app.buttonSearchForUpdate" : "Перевірити наявність оновлень", 233 "settings.app.form.enableSystemTray": "Показувати Ferdi у системному лотку",
234 "settings.app.cacheInfo" : "Кеш, який використовує Franz, займає {size} дискового простору.", 234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.currentVersion" : "Поточна версія:", 235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.autoLaunchInBackground" : "Відкрити у фоновому режимі", 236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.autoLaunchOnStart" : "Запускати Franz на початку", 237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.beta" : "Включити бета-версії", 238 "settings.app.form.language": "Мова",
239 "settings.app.form.darkMode" : "Переходь на Темну Сторону", 239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.enableGPUAcceleration" : "Ввімкнути прискорення GPU", 240 "settings.app.form.minimizeToSystemTray": "Мінімізувати Ferdi до системного лотка",
241 "settings.app.form.enableSpellchecking" : "Увімкнути перевірку орфографії", 241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.enableSystemTray" : "Показувати Franz у системному лотку", 242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.enableTodos" : "Enable Franz Todos", 243 "settings.app.form.runInBackground": "Тримати Ferdi в фоні при закритті вікна",
244 "settings.app.form.keepAllWorkspacesLoaded" : "Keep all workspaces loaded", 244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.language" : "Мова", 245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.minimizeToSystemTray" : "Мінімізувати Franz до системного лотка", 246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.runInBackground" : "Тримати Franz в фоні при закритті вікна", 247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices" : "Показати вкладку вимкнених сервісів", 248 "settings.app.form.showDisabledServices": "Показати вкладку вимкнених сервісів",
249 "settings.app.form.showMessagesBadgesWhenMuted" : "Показувати значок непрочитаних повідомлень коли сповіщення вимкнені", 249 "settings.app.form.showMessagesBadgesWhenMuted": "Показувати значок непрочитаних повідомлень коли сповіщення вимкнені",
250 "settings.app.headline" : "Налаштування", 250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.headlineAdvanced" : "Додаткові налаштування", 251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.headlineAppearance" : "Вигляд", 252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headlineGeneral" : "Загальні", 253 "settings.app.headline": "Налаштування",
254 "settings.app.headlineLanguage" : "Мова", 254 "settings.app.headlineAdvanced": "Додаткові налаштування",
255 "settings.app.headlineUpdates" : "Оновлення", 255 "settings.app.headlineAppearance": "Вигляд",
256 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.", 256 "settings.app.headlineGeneral": "Загальні",
257 "settings.app.restartRequired" : "Зміни потребують перезапуску", 257 "settings.app.headlineLanguage": "Мова",
258 "settings.app.subheadlineCache" : "Кеш", 258 "settings.app.headlineUpdates": "Оновлення",
259 "settings.app.translationHelp" : "Допоможіть перекласти Franz на Вашу мову.", 259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.updateStatusAvailable" : "Оновлення доступне, завантаження...", 260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.updateStatusSearching" : "Шукає оновлення", 261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.updateStatusUpToDate" : "Ви використовуєте останню версію Franz", 262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.invite.headline" : "Запросити друзів", 263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.navigation.account" : "Акаунт", 264 "settings.app.restartRequired": "Зміни потребують перезапуску",
265 "settings.navigation.availableServices" : "Доступні сервіси", 265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.navigation.inviteFriends" : "Запросити друзів", 266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.navigation.logout" : "Вийти", 267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.navigation.settings" : "Налаштування", 268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.navigation.team" : "Manage Team", 269 "settings.app.subheadlineCache": "Кеш",
270 "settings.navigation.yourServices" : "Ваші сервіси", 270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.navigation.yourWorkspaces" : "Your workspaces", 271 "settings.app.translationHelp": "Допоможіть перекласти Ferdi на Вашу мову.",
272 "settings.recipes.all" : "Всі сервіси", 272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.recipes.custom" : "Custom Services", 273 "settings.app.updateStatusAvailable": "Оновлення доступне, завантаження...",
274 "settings.recipes.customService.headline.communityRecipes" : "Community 3rd Party Recipes", 274 "settings.app.updateStatusSearching": "Шукає оновлення",
275 "settings.recipes.customService.headline.customRecipes" : "Custom 3rd Party Recipes", 275 "settings.app.updateStatusUpToDate": "Ви використовуєте останню версію Ferdi",
276 "settings.recipes.customService.headline.devRecipes" : "Your Development Service Recipes", 276 "settings.invite.headline": "Запросити друзів",
277 "settings.recipes.customService.intro" : "To add a custom service, copy the service recipe to:", 277 "settings.navigation.account": "Акаунт",
278 "settings.recipes.customService.openDevDocs" : "Developer Documentation", 278 "settings.navigation.availableServices": "Доступні сервіси",
279 "settings.recipes.customService.openFolder" : "Open folder", 279 "settings.navigation.logout": "Вийти",
280 "settings.recipes.headline" : "Доступні сервіси", 280 "settings.navigation.settings": "Налаштування",
281 "settings.recipes.missingService" : "Не знайшли сервісу?", 281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.recipes.mostPopular" : "Найбільш популярні", 282 "settings.navigation.team": "Manage Team",
283 "settings.recipes.nothingFound" : "Вибачте, але жоден сервіс не відповідає пошуковому терміну.", 283 "settings.navigation.yourServices": "Ваші сервіси",
284 "settings.recipes.servicesSuccessfulAddedInfo" : "Сервіс успішно додано", 284 "settings.navigation.yourWorkspaces": "Your workspaces",
285 "settings.searchService" : "Знайти сервіс", 285 "settings.recipes.all": "Всі сервіси",
286 "settings.service.error.goBack" : "Повернутись до сервісів", 286 "settings.recipes.custom": "Custom Services",
287 "settings.service.error.headline" : "Помилка", 287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.service.error.message" : "Не вдалось завантажити серверний протокол.", 288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.service.form.addServiceHeadline" : "Додати {name}", 289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.service.form.availableServices" : "Доступні сервіси", 290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.service.form.customUrl" : "Користувацький сервер", 291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.service.form.customUrlPremiumInfo" : "Щоб додати самостійно розміщені сервіси, вам потріьно мати Преміумним Акаунт Прихильника Franz.", 292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.service.form.customUrlUpgradeAccount" : "Оновити ваш обліковий запис", 293 "settings.recipes.headline": "Доступні сервіси",
294 "settings.service.form.customUrlValidationError" : "Не вдалось підтвердити власний {name} сервер.", 294 "settings.recipes.missingService": "Не знайшли сервісу?",
295 "settings.service.form.deleteButton" : "Видалити сервіс", 295 "settings.recipes.mostPopular": "Найбільш популярні",
296 "settings.service.form.editServiceHeadline" : "Редагувати {name}", 296 "settings.recipes.nothingFound": "Вибачте, але жоден сервіс не відповідає пошуковому терміну.",
297 "settings.service.form.enableAudio" : "Увімкнути звук", 297 "settings.recipes.servicesSuccessfulAddedInfo": "Сервіс успішно додано",
298 "settings.service.form.enableBadge" : "Показувати непрочитані повідомлення", 298 "settings.searchService": "Знайти сервіс",
299 "settings.service.form.enableDarkMode" : "Переходь на Темну Сторону", 299 "settings.service.error.goBack": "Повернутись до сервісів",
300 "settings.service.form.enableNotification" : "Увімкнути сповіщення", 300 "settings.service.error.headline": "Помилка",
301 "settings.service.form.enableService" : "Увімкнути сервіс", 301 "settings.service.error.message": "Не вдалось завантажити серверний протокол.",
302 "settings.service.form.headlineBadges" : "Значки непрочитаних повідомлень", 302 "settings.service.form.addServiceHeadline": "Додати {name}",
303 "settings.service.form.headlineGeneral" : "Загальні", 303 "settings.service.form.availableServices": "Доступні сервіси",
304 "settings.service.form.headlineNotifications" : "Сповіщення", 304 "settings.service.form.customUrl": "Користувацький сервер",
305 "settings.service.form.icon" : "Своя іконка", 305 "settings.service.form.customUrlPremiumInfo": "Щоб додати самостійно розміщені сервіси, вам потріьно мати Преміумним Акаунт Прихильника Ferdi.",
306 "settings.service.form.iconDelete" : "Видалити", 306 "settings.service.form.customUrlUpgradeAccount": "Оновити ваш обліковий запис",
307 "settings.service.form.iconUpload" : "Скиньте своє зображення або натисніть тут", 307 "settings.service.form.customUrlValidationError": "Не вдалось підтвердити власний {name} сервер.",
308 "settings.service.form.indirectMessageInfo" : "Ви отримаєте сповіщення про всі нові повідомлення в каналі, а не лише про @username, @channel, @here, ...", 308 "settings.service.form.deleteButton": "Видалити сервіс",
309 "settings.service.form.indirectMessages" : "Показувати значок повідомлення для всіх нових повідомлень", 309 "settings.service.form.editServiceHeadline": "Редагувати {name}",
310 "settings.service.form.isMutedInfo" : "Коли вимкнено, всі сповищення та відтворення ігноруються", 310 "settings.service.form.enableAudio": "Увімкнути звук",
311 "settings.service.form.name" : "Ім'я", 311 "settings.service.form.enableBadge": "Показувати непрочитані повідомлення",
312 "settings.service.form.proxy.headline" : "Налаштування HTTP\/HTTPS проксі ", 312 "settings.service.form.enableDarkMode": "Переходь на Темну Сторону",
313 "settings.service.form.proxy.host" : "Проксі Host\/IP", 313 "settings.service.form.enableNotification": "Увімкнути сповіщення",
314 "settings.service.form.proxy.info" : "Налаштування проксі не будуть синхронізовані із серверами Franz", 314 "settings.service.form.enableService": "Увімкнути сервіс",
315 "settings.service.form.proxy.isEnabled" : "Використовувати проксі", 315 "settings.service.form.headlineBadges": "Значки непрочитаних повідомлень",
316 "settings.service.form.proxy.password" : "Пароль (опційно)", 316 "settings.service.form.headlineGeneral": "Загальні",
317 "settings.service.form.proxy.port" : "Порт", 317 "settings.service.form.headlineNotifications": "Сповіщення",
318 "settings.service.form.proxy.restartInfo" : "Будь ласка, перезапустіть Franz після зміни налуштувань проксі", 318 "settings.service.form.icon": "Своя іконка",
319 "settings.service.form.proxy.user" : "Користувач (опційно)", 319 "settings.service.form.iconDelete": "Видалити",
320 "settings.service.form.saveButton" : "Зберегти сервіс", 320 "settings.service.form.iconUpload": "Скиньте своє зображення або натисніть тут",
321 "settings.service.form.tabHosted" : "Розміщений", 321 "settings.service.form.indirectMessageInfo": "Ви отримаєте сповіщення про всі нові повідомлення в каналі, а не лише про @username, @channel, @here, ...",
322 "settings.service.form.tabOnPremise" : "Самостійно розміщений ⭐️", 322 "settings.service.form.indirectMessages": "Показувати значок повідомлення для всіх нових повідомлень",
323 "settings.service.form.team" : "Команда", 323 "settings.service.form.isMutedInfo": "Коли вимкнено, всі сповищення та відтворення ігноруються",
324 "settings.service.form.useHostedService" : "Викоритати розміщений {name} сервіс.", 324 "settings.service.form.name": "Ім'я",
325 "settings.service.form.yourServices" : "Ваші сервіси", 325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.services.deletedInfo" : "Сервіс було видалено", 326 "settings.service.form.proxy.headline": "Налаштування HTTP/HTTPS проксі ",
327 "settings.services.discoverServices" : "Відкрийте для себе сервіси", 327 "settings.service.form.proxy.host": "Проксі Host/IP",
328 "settings.services.headline" : "Ваші сервіси", 328 "settings.service.form.proxy.info": "Налаштування проксі не будуть синхронізовані із серверами Ferdi",
329 "settings.services.noServicesAdded" : "Ви ще не додавали жодних сервісів.", 329 "settings.service.form.proxy.isEnabled": "Використовувати проксі",
330 "settings.services.servicesRequestFailed" : "Could not load your services", 330 "settings.service.form.proxy.password": "Пароль (опційно)",
331 "settings.services.tooltip.isDisabled" : "Сервіс відключений", 331 "settings.service.form.proxy.port": "Порт",
332 "settings.services.tooltip.isMuted" : "Всі звуки вимкнено", 332 "settings.service.form.proxy.restartInfo": "Будь ласка, перезапустіть Ferdi після зміни налуштувань проксі",
333 "settings.services.tooltip.notificationsDisabled" : "Сповіщення відключені", 333 "settings.service.form.proxy.user": "Користувач (опційно)",
334 "settings.services.updatedInfo" : "Ваші зміни були збережені", 334 "settings.service.form.saveButton": "Зберегти сервіс",
335 "settings.team.contentHeadline" : "Franz for Teams", 335 "settings.service.form.tabHosted": "Розміщений",
336 "settings.team.copy" : "Franz for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!", 336 "settings.service.form.tabOnPremise": "Самостійно розміщений ⭐️",
337 "settings.team.headline" : "Команда", 337 "settings.service.form.team": "Команда",
338 "settings.team.intro" : "You and your team use Franz? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.", 338 "settings.service.form.useHostedService": "Викоритати розміщений {name} сервіс.",
339 "settings.team.manageAction" : "Manage your Team on meetfranz.com", 339 "settings.service.form.yourServices": "Ваші сервіси",
340 "settings.team.upgradeAction" : "Upgrade your Account", 340 "settings.services.deletedInfo": "Сервіс було видалено",
341 "settings.user.form.accountType.company" : "Компанія", 341 "settings.services.discoverServices": "Відкрийте для себе сервіси",
342 "settings.user.form.accountType.individual" : "Індивідуальний", 342 "settings.services.headline": "Ваші сервіси",
343 "settings.user.form.accountType.label" : "Тип акаунту", 343 "settings.services.noServicesAdded": "Ви ще не додавали жодних сервісів.",
344 "settings.user.form.accountType.non-profit" : "Некомерційний", 344 "settings.services.servicesRequestFailed": "Could not load your services",
345 "settings.user.form.currentPassword" : "Поточний пароль", 345 "settings.services.tooltip.isDisabled": "Сервіс відключений",
346 "settings.user.form.email" : "Ел. пошта", 346 "settings.services.tooltip.isMuted": "Всі звуки вимкнено",
347 "settings.user.form.firstname" : "Ім`я", 347 "settings.services.tooltip.notificationsDisabled": "Сповіщення відключені",
348 "settings.user.form.lastname" : "Прізвище", 348 "settings.services.updatedInfo": "Ваші зміни були збережені",
349 "settings.user.form.newPassword" : "Новий пароль", 349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.workspace.add.form.name" : "Ім'я", 350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.workspace.add.form.submitButton" : "Create workspace", 351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.workspace.form.buttonDelete" : "Delete workspace", 352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.workspace.form.buttonSave" : "Save workspace", 353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.workspace.form.name" : "Ім'я", 354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace", 355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.workspace.form.yourWorkspaces" : "Your workspaces", 356 "settings.team.headline": "Команда",
357 "settings.workspaces.deletedInfo" : "Workspace has been deleted", 357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.workspaces.headline" : "Your workspaces", 358 "settings.team.manageAction": "Manage your Team on getferdi.com",
359 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.", 359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.workspaces.tryReloadWorkspaces" : "Спробуйте ще раз", 360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.workspaces.updatedInfo" : "Ваші зміни були збережені", 361 "settings.team.upgradeAction": "Upgrade your Account",
362 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces", 362 "settings.user.form.accountType.company": "Компанія",
363 "settings.workspaces.workspaceFeatureInfo" : "Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.", 363 "settings.user.form.accountType.individual": "Індивідуальний",
364 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces", 364 "settings.user.form.accountType.label": "Тип акаунту",
365 "sidebar.addNewService" : "Додати новий сервіс", 365 "settings.user.form.accountType.non-profit": "Некомерційний",
366 "sidebar.closeTodosDrawer" : "Close Franz Todos", 366 "settings.user.form.currentPassword": "Поточний пароль",
367 "sidebar.closeWorkspaceDrawer" : "Закрийте ящик робочої області", 367 "settings.user.form.email": "Ел. пошта",
368 "sidebar.muteApp" : "Вимкнути сповіщення та звуки", 368 "settings.user.form.firstname": "Ім`я",
369 "sidebar.openTodosDrawer" : "Open Franz Todos", 369 "settings.user.form.lastname": "Прізвище",
370 "sidebar.openWorkspaceDrawer" : "Відкрити ящик робочої області", 370 "settings.user.form.newPassword": "Новий пароль",
371 "sidebar.settings" : "Налаштування", 371 "settings.workspace.add.form.name": "Ім'я",
372 "sidebar.unmuteApp" : "Увімкнути сповіщення та звуки", 372 "settings.workspace.add.form.submitButton": "Create workspace",
373 "signup.email.label" : "Email адреса", 373 "settings.workspace.form.buttonDelete": "Delete workspace",
374 "signup.emailDuplicate" : "Користувач із цією email адресою вже існує", 374 "settings.workspace.form.buttonSave": "Save workspace",
375 "signup.firstname.label" : "Ім`я", 375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "signup.headline" : "Увійти", 376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "signup.lastname.label" : "Прізвище", 377 "settings.workspace.form.name": "Ім'я",
378 "signup.legal.info" : "Створенням акаунту Franz ви приймаєте", 378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "signup.legal.privacy" : "Політика конфіденційності", 379 "settings.workspace.form.yourWorkspaces": "Your workspaces",
380 "signup.legal.terms" : "Умови використання", 380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "signup.link.login" : "У вас вже є обліковий запис, увійти?", 381 "settings.workspaces.headline": "Your workspaces",
382 "signup.password.label" : "Пароль", 382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "signup.submit.label" : "Створити акаунт", 383 "settings.workspaces.tryReloadWorkspaces": "Спробуйте ще раз",
384 "subscription.bestValue" : "Best value", 384 "settings.workspaces.updatedInfo": "Ваші зміни були збережені",
385 "subscription.cta.activateTrial" : "Yes, start the free Franz Professional trial", 385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
386 "subscription.cta.allOptions" : "See all options", 386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "subscription.cta.choosePlan" : "Choose your plan", 387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "subscription.includedProFeatures" : "The Franz Professional Plan includes:", 388 "sidebar.addNewService": "Додати новий сервіс",
389 "subscription.interval.per" : "per {interval}", 389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "subscription.interval.perMonth" : "per month", 390 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
391 "subscription.interval.perMonthPerUser" : "per month & user", 391 "sidebar.lockFerdi": "Lock Ferdi",
392 "subscription.planItem.upgradeAccount" : "Поліпшити Аккаунт", 392 "sidebar.muteApp": "Вимкнути сповіщення та звуки",
393 "subscription.teaser.includedFeatures" : "Paid Franz Plans include:", 393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "subscription.teaser.intro" : "Franz 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!", 394 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
395 "subscriptionPopup.buttonCancel" : "Відмінити", 395 "sidebar.settings": "Налаштування",
396 "subscriptionPopup.buttonDone" : "Готово", 396 "sidebar.unmuteApp": "Увімкнути сповіщення та звуки",
397 "tabs.item.deleteService" : "Видалити сервіс", 397 "signup.email.label": "Email адреса",
398 "tabs.item.disableAudio" : "відключити звук", 398 "signup.emailDuplicate": "Користувач із цією email адресою вже існує",
399 "tabs.item.disableNotifications" : "Вимкнути сповіщення", 399 "signup.firstname.label": "Ім`я",
400 "tabs.item.disableService" : "Вимкнути сервіс", 400 "signup.headline": "Увійти",
401 "tabs.item.edit" : "Редагувати", 401 "signup.lastname.label": "Прізвище",
402 "tabs.item.enableAudio" : "Увімкнути звук", 402 "signup.legal.info": "Створенням акаунту Ferdi ви приймаєте",
403 "tabs.item.enableNotification" : "Увімкнути сповіщення", 403 "signup.legal.privacy": "Заява про конфіденційність",
404 "tabs.item.enableService" : "Увімкнути службу", 404 "signup.legal.terms": "Умови використання",
405 "tabs.item.reload" : "Перезавантажити", 405 "signup.link.login": "У вас вже є обліковий запис, увійти?",
406 "validation.email" : "{field} не валідне", 406 "signup.password.label": "Password",
407 "validation.minLength" : "Кількість символів в {field} повина бути не меньше {length} ", 407 "signup.submit.label": "Створити акаунт",
408 "validation.oneRequired" : "At least one is required", 408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "validation.required" : "{field} обов'язвоке", 409 "subscription.cta.allOptions": "See all options",
410 "validation.url" : "{field} не валідний URL", 410 "subscription.cta.choosePlan": "Choose your plan",
411 "webControls.back" : "Back", 411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "webControls.forward" : "Forward", 412 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:",
413 "webControls.goHome" : "Home", 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!",
414 "webControls.openInBrowser" : "Open in Browser", 414 "subscriptionPopup.buttonCancel": "Відмінити",
415 "webControls.reload" : "Перезавантажити", 415 "subscriptionPopup.buttonDone": "Готово",
416 "welcome.loginButton" : "Увійдіть до свого акаунту", 416 "tabs.item.deleteService": "Видалити сервіс",
417 "welcome.signupButton" : "Створити безплатний акаунт", 417 "tabs.item.disableAudio": "відключити звук",
418 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace", 418 "tabs.item.disableNotifications": "Вимкнути сповіщення",
419 "workspaceDrawer.allServices" : "Всі сервіси", 419 "tabs.item.disableService": "Вимкнути сервіс",
420 "workspaceDrawer.headline" : "Робочі простори", 420 "tabs.item.edit": "Редагувати",
421 "workspaceDrawer.item.contextMenuEdit" : "edit", 421 "tabs.item.enableAudio": "Увімкнути звук",
422 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet", 422 "tabs.item.enableNotification": "Увімкнути сповіщення",
423 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace", 423 "tabs.item.enableService": "Увімкнути сервіс",
424 "workspaceDrawer.proFeatureBadge" : "Premium feature", 424 "tabs.item.reload": "Перезавантажити",
425 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account", 425 "validation.email": "{field} не валідне",
426 "workspaceDrawer.workspaceFeatureInfo" : "<p>Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.<\/p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.<\/p>", 426 "validation.minLength": "Кількість символів в {field} повина бути не меньше {length} ",
427 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings", 427 "validation.oneRequired": "At least one is required",
428 "workspaces.switchingIndicator.switchingTo" : "Switching to" 428 "validation.required": "{field} обов'язвоке",
429 "validation.url": "{field} не валідний URL",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Перезавантажити",
435 "welcome.loginButton": "Увійдіть до свого акаунту",
436 "welcome.signupButton": "Створити безплатний акаунт",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "Всі сервіси",
439 "workspaceDrawer.headline": "Workspaces",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
429} 448}
diff --git a/src/i18n/locales/vi.json b/src/i18n/locales/vi.json
new file mode 100644
index 000000000..628880d9f
--- /dev/null
+++ b/src/i18n/locales/vi.json
@@ -0,0 +1,448 @@
1{
2 "app.errorHandler.action": "Reload",
3 "app.errorHandler.headline": "Something went wrong",
4 "feature.announcements.changelog.headline": "Changes in Ferdi {version}",
5 "feature.delayApp.headline": "Please purchase a Ferdi Supporter License to skip waiting",
6 "feature.delayApp.text": "Ferdi will continue in {seconds} seconds.",
7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
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",
11 "feature.delayApp.upgrade.actionShort": "Upgrade account",
12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.quickSwitch.search": "Search...",
14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.shareFranz.action.email": "Send as email",
17 "feature.shareFranz.action.facebook": "Share on Facebook",
18 "feature.shareFranz.action.twitter": "Share on Twitter",
19 "feature.shareFranz.headline": "Ferdi is better together!",
20 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
23 "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.",
25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "global.api.unhealthy": "Can't connect to Ferdi online services",
27 "global.franzProRequired": "Ferdi Professional Required",
28 "global.notConnectedToTheInternet": "You are not connected to the internet.",
29 "global.spellchecker.useDefault": "Use System Default ({default})",
30 "global.spellchecking.autodetect": "Detect language automatically",
31 "global.spellchecking.autodetect.short": "Automatic",
32 "global.spellchecking.language": "Spell checking language",
33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "import.headline": "Import your Ferdi 4 services",
35 "import.notSupportedHeadline": "Services not yet supported in Ferdi 5",
36 "import.skip.label": "I want to add services manually",
37 "import.submit.label": "Import services",
38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "infobar.buttonChangelog": "What is new?",
40 "infobar.buttonInstallUpdate": "Restart & install update",
41 "infobar.buttonReloadServices": "Reload services",
42 "infobar.requiredRequestsFailed": "Could not load services and user information",
43 "infobar.servicesUpdated": "Your services have been updated.",
44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "infobar.updateAvailable": "A new update for Ferdi is available.",
46 "invite.email.label": "Email address",
47 "invite.headline.friends": "Invite 3 of your friends or colleagues",
48 "invite.name.label": "Name",
49 "invite.skip.label": "I want to do this later",
50 "invite.submit.label": "Send invites",
51 "invite.successInfo": "Invitations sent successfully",
52 "locked.headline": "Locked",
53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "locked.invalidCredentials": "Password invalid",
55 "locked.password.label": "Password",
56 "locked.submit.label": "Unlock",
57 "login.changeServer": "Change server",
58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "login.customServerSuggestion": "Try importing your Franz account",
60 "login.email.label": "Email address",
61 "login.headline": "Sign in",
62 "login.invalidCredentials": "Email or password not valid",
63 "login.link.password": "Reset password",
64 "login.link.signup": "Create a free account",
65 "login.password.label": "Password",
66 "login.serverLogout": "Your session expired, please login again.",
67 "login.submit.label": "Sign in",
68 "login.tokenExpired": "Your session expired, please login again.",
69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "menu.app.about": "About Ferdi",
72 "menu.app.announcement": "What's new?",
73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "menu.app.checkForUpdates": "Check for updates",
75 "menu.app.hide": "Hide",
76 "menu.app.hideOthers": "Hide Others",
77 "menu.app.quit": "Quit",
78 "menu.app.settings": "Settings",
79 "menu.app.unhide": "Unhide",
80 "menu.edit": "Edit",
81 "menu.edit.copy": "Copy",
82 "menu.edit.cut": "Cut",
83 "menu.edit.delete": "Delete",
84 "menu.edit.emojiSymbols": "Emoji & Symbols",
85 "menu.edit.paste": "Paste",
86 "menu.edit.pasteAndMatchStyle": "Paste And Match Style",
87 "menu.edit.redo": "Redo",
88 "menu.edit.selectAll": "Select All",
89 "menu.edit.speech": "Speech",
90 "menu.edit.startDictation": "Start Dictation",
91 "menu.edit.startSpeaking": "Start Speaking",
92 "menu.edit.stopSpeaking": "Stop Speaking",
93 "menu.edit.undo": "Undo",
94 "menu.file": "File",
95 "menu.help": "Help",
96 "menu.help.changelog": "Changelog",
97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.help.learnMore": "Learn More",
101 "menu.help.privacy": "Privacy Statement",
102 "menu.help.support": "Support",
103 "menu.help.tos": "Terms of Service",
104 "menu.services": "Services",
105 "menu.services.activatePreviousService": "Activate previous service",
106 "menu.services.addNewService": "Add New Service...",
107 "menu.services.goHome": "Home",
108 "menu.services.setNextServiceActive": "Activate next service",
109 "menu.todos": "Todos",
110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.view": "View",
112 "menu.view.back": "Back",
113 "menu.view.enterFullScreen": "Enter Full Screen",
114 "menu.view.exitFullScreen": "Exit Full Screen",
115 "menu.view.forward": "Forward",
116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.view.reloadFranz": "Reload Ferdi",
119 "menu.view.reloadService": "Reload Service",
120 "menu.view.resetZoom": "Actual Size",
121 "menu.view.toggleDevTools": "Toggle Developer Tools",
122 "menu.view.toggleFullScreen": "Toggle Full Screen",
123 "menu.view.toggleServiceDevTools": "Toggle Service Developer Tools",
124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.zoomIn": "Zoom In",
126 "menu.view.zoomOut": "Zoom Out",
127 "menu.window": "Window",
128 "menu.window.close": "Close",
129 "menu.window.minimize": "Minimize",
130 "menu.workspaces": "Workspaces",
131 "menu.workspaces.addNewWorkspace": "Add New Workspace...",
132 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
133 "menu.workspaces.defaultWorkspace": "All services",
134 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
135 "password.email.label": "Email address",
136 "password.headline": "Reset password",
137 "password.link.login": "Sign in to your account",
138 "password.link.signup": "Create a free account",
139 "password.noUser": "No user with that email address was found",
140 "password.submit.label": "Submit",
141 "password.successInfo": "Please check your email",
142 "premiumFeature.button.upgradeAccount": "Upgrade account",
143 "pricing.features.adFree": "Forever ad-free",
144 "pricing.features.appDelays": "No Waiting Screens",
145 "pricing.features.customWebsites": "Add Custom Websites",
146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "pricing.features.serviceProxies": "Service Proxies",
148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.workspaces": "Workspaces",
153 "pricing.plan.free": "Ferdi Free",
154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "service.crashHandler.action": "Reload {name}",
171 "service.crashHandler.autoReload": "Trying to automatically restore {name} in {seconds} seconds",
172 "service.crashHandler.headline": "Oh no!",
173 "service.crashHandler.text": "{name} has caused an error.",
174 "service.disabledHandler.action": "Enable {name}",
175 "service.disabledHandler.headline": "{name} is disabled",
176 "service.errorHandler.action": "Reload {name}",
177 "service.errorHandler.editAction": "Edit {name}",
178 "service.errorHandler.headline": "Oh no!",
179 "service.errorHandler.message": "Error",
180 "service.errorHandler.text": "{name} has failed to load.",
181 "service.restrictedHandler.action": "Upgrade Account",
182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.webviewLoader.loading": "Loading",
187 "services.getStarted": "Get started",
188 "services.login": "Please login to use Ferdi.",
189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "services.serverless": "Use Ferdi without an Account",
191 "services.welcome": "Welcome to Ferdi",
192 "settings.account.account.editButton": "Edit account",
193 "settings.account.accountType.basic": "Basic Account",
194 "settings.account.accountType.premium": "Premium Supporter Account",
195 "settings.account.buttonSave": "Update profile",
196 "settings.account.deleteAccount": "Delete account",
197 "settings.account.deleteEmailSent": "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!",
198 "settings.account.deleteInfo": "If you don't need your Ferdi account any longer, you can delete your account and all related data here.",
199 "settings.account.headline": "Account",
200 "settings.account.headlineAccount": "Account information",
201 "settings.account.headlineDangerZone": "Danger Zone",
202 "settings.account.headlineInvoices": "Invoices",
203 "settings.account.headlinePassword": "Change password",
204 "settings.account.headlineProfile": "Update profile",
205 "settings.account.headlineSubscription": "Your subscription",
206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.invoiceDownload": "Download",
209 "settings.account.manageSubscription.label": "Manage your subscription",
210 "settings.account.successInfo": "Your changes have been saved",
211 "settings.account.trial": "Free Trial",
212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.tryReloadServices": "Try again",
215 "settings.account.tryReloadUserInfoRequest": "Try again",
216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.userInfoRequestFailed": "Could not load user information",
218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.app.buttonClearAllCache": "Clear cache",
221 "settings.app.buttonInstallUpdate": "Restart & install update",
222 "settings.app.buttonSearchForUpdate": "Check for updates",
223 "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.",
224 "settings.app.currentVersion": "Current version:",
225 "settings.app.form.accentColor": "Accent color",
226 "settings.app.form.autoLaunchInBackground": "Open in background",
227 "settings.app.form.autoLaunchOnStart": "Launch Ferdi on start",
228 "settings.app.form.beta": "Include beta versions",
229 "settings.app.form.darkMode": "Join the Dark Side",
230 "settings.app.form.enableGPUAcceleration": "Enable GPU Acceleration",
231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.form.enableSpellchecking": "Enable spell checking",
233 "settings.app.form.enableSystemTray": "Show Ferdi in system tray",
234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.language": "Language",
239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.minimizeToSystemTray": "Minimize Ferdi to system tray",
241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.runInBackground": "Keep Ferdi in background when closing the window",
244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices": "Display disabled services tabs",
249 "settings.app.form.showMessagesBadgesWhenMuted": "Show unread message badge when notifications are disabled",
250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headline": "Settings",
254 "settings.app.headlineAdvanced": "Advanced",
255 "settings.app.headlineAppearance": "Appearance",
256 "settings.app.headlineGeneral": "General",
257 "settings.app.headlineLanguage": "Language",
258 "settings.app.headlineUpdates": "Updates",
259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.app.restartRequired": "Changes require restart",
265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.app.subheadlineCache": "Cache",
270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.app.translationHelp": "Help us to translate Ferdi into your language.",
272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.app.updateStatusAvailable": "Update available, downloading...",
274 "settings.app.updateStatusSearching": "Is searching for update",
275 "settings.app.updateStatusUpToDate": "You are using the latest version of Ferdi",
276 "settings.invite.headline": "Invite Friends",
277 "settings.navigation.account": "Account",
278 "settings.navigation.availableServices": "Available services",
279 "settings.navigation.logout": "Logout",
280 "settings.navigation.settings": "Settings",
281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.navigation.team": "Manage Team",
283 "settings.navigation.yourServices": "Your services",
284 "settings.navigation.yourWorkspaces": "Your workspaces",
285 "settings.recipes.all": "All services",
286 "settings.recipes.custom": "Custom Services",
287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.recipes.headline": "Available services",
294 "settings.recipes.missingService": "Missing a service?",
295 "settings.recipes.mostPopular": "Most popular",
296 "settings.recipes.nothingFound": "Sorry, but no service matched your search term.",
297 "settings.recipes.servicesSuccessfulAddedInfo": "Service successfully added",
298 "settings.searchService": "Search service",
299 "settings.service.error.goBack": "Back to services",
300 "settings.service.error.headline": "Error",
301 "settings.service.error.message": "Could not load service recipe.",
302 "settings.service.form.addServiceHeadline": "Add {name}",
303 "settings.service.form.availableServices": "Available services",
304 "settings.service.form.customUrl": "Custom server",
305 "settings.service.form.customUrlPremiumInfo": "To add self hosted services, you need a Ferdi Premium Supporter Account.",
306 "settings.service.form.customUrlUpgradeAccount": "Upgrade your account",
307 "settings.service.form.customUrlValidationError": "Could not validate custom {name} server.",
308 "settings.service.form.deleteButton": "Delete service",
309 "settings.service.form.editServiceHeadline": "Edit {name}",
310 "settings.service.form.enableAudio": "Enable audio",
311 "settings.service.form.enableBadge": "Show unread message badges",
312 "settings.service.form.enableDarkMode": "Enable Dark Mode",
313 "settings.service.form.enableNotification": "Enable notifications",
314 "settings.service.form.enableService": "Enable service",
315 "settings.service.form.headlineBadges": "Unread message badges",
316 "settings.service.form.headlineGeneral": "General",
317 "settings.service.form.headlineNotifications": "Notifications",
318 "settings.service.form.icon": "Custom icon",
319 "settings.service.form.iconDelete": "Delete",
320 "settings.service.form.iconUpload": "Drop your image, or click here",
321 "settings.service.form.indirectMessageInfo": "You will be notified about all new messages in a channel, not just @username, @channel, @here, ...",
322 "settings.service.form.indirectMessages": "Show message badge for all new messages",
323 "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted",
324 "settings.service.form.name": "Name",
325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings",
327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.service.form.proxy.info": "Proxy settings will not synced with the Ferdi servers.",
329 "settings.service.form.proxy.isEnabled": "Use Proxy",
330 "settings.service.form.proxy.password": "Password (optional)",
331 "settings.service.form.proxy.port": "Port",
332 "settings.service.form.proxy.restartInfo": "Please restart Ferdi after changing proxy Settings.",
333 "settings.service.form.proxy.user": "User (optional)",
334 "settings.service.form.saveButton": "Save service",
335 "settings.service.form.tabHosted": "Hosted",
336 "settings.service.form.tabOnPremise": "Self hosted ⭐️",
337 "settings.service.form.team": "Team",
338 "settings.service.form.useHostedService": "Use the hosted {name} service.",
339 "settings.service.form.yourServices": "Your services",
340 "settings.services.deletedInfo": "Service has been deleted",
341 "settings.services.discoverServices": "Discover services",
342 "settings.services.headline": "Your services",
343 "settings.services.noServicesAdded": "You haven't added any services yet.",
344 "settings.services.servicesRequestFailed": "Could not load your services",
345 "settings.services.tooltip.isDisabled": "Service is disabled",
346 "settings.services.tooltip.isMuted": "All sounds are muted",
347 "settings.services.tooltip.notificationsDisabled": "Notifications are disabled",
348 "settings.services.updatedInfo": "Your changes have been saved",
349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.team.headline": "Team",
357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.team.manageAction": "Manage your Team on getferdi.com",
359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.team.upgradeAction": "Upgrade your Account",
362 "settings.user.form.accountType.company": "Company",
363 "settings.user.form.accountType.individual": "Individual",
364 "settings.user.form.accountType.label": "Account type",
365 "settings.user.form.accountType.non-profit": "Non-Profit",
366 "settings.user.form.currentPassword": "Current password",
367 "settings.user.form.email": "Email",
368 "settings.user.form.firstname": "First Name",
369 "settings.user.form.lastname": "Last Name",
370 "settings.user.form.newPassword": "New password",
371 "settings.workspace.add.form.name": "Name",
372 "settings.workspace.add.form.submitButton": "Create workspace",
373 "settings.workspace.form.buttonDelete": "Delete workspace",
374 "settings.workspace.form.buttonSave": "Save workspace",
375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "settings.workspace.form.name": "Name",
378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "settings.workspace.form.yourWorkspaces": "Your workspaces",
380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "settings.workspaces.headline": "Your workspaces",
382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "settings.workspaces.tryReloadWorkspaces": "Try again",
384 "settings.workspaces.updatedInfo": "Your changes have been saved",
385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "sidebar.addNewService": "Add new service",
389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
391 "sidebar.lockFerdi": "Lock Ferdi",
392 "sidebar.muteApp": "Disable notifications & audio",
393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
395 "sidebar.settings": "Settings",
396 "sidebar.unmuteApp": "Enable notifications & audio",
397 "signup.email.label": "Email address",
398 "signup.emailDuplicate": "A user with that email address already exists",
399 "signup.firstname.label": "First Name",
400 "signup.headline": "Sign up",
401 "signup.lastname.label": "Last Name",
402 "signup.legal.info": "By creating a Ferdi account you accept the",
403 "signup.legal.privacy": "Privacy Statement",
404 "signup.legal.terms": "Terms of service",
405 "signup.link.login": "Already have an account, sign in?",
406 "signup.password.label": "Password",
407 "signup.submit.label": "Create account",
408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "subscription.cta.allOptions": "See all options",
410 "subscription.cta.choosePlan": "Choose your plan",
411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "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!",
414 "subscriptionPopup.buttonCancel": "Cancel",
415 "subscriptionPopup.buttonDone": "Done",
416 "tabs.item.deleteService": "Delete service",
417 "tabs.item.disableAudio": "Disable audio",
418 "tabs.item.disableNotifications": "Disable notifications",
419 "tabs.item.disableService": "Disable service",
420 "tabs.item.edit": "Edit",
421 "tabs.item.enableAudio": "Enable audio",
422 "tabs.item.enableNotification": "Enable notifications",
423 "tabs.item.enableService": "Enable service",
424 "tabs.item.reload": "Reload",
425 "validation.email": "{field} is not valid",
426 "validation.minLength": "{field} should be at least {length} characters long",
427 "validation.oneRequired": "At least one is required",
428 "validation.required": "{field} is required",
429 "validation.url": "{field} is not a valid URL",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Reload",
435 "welcome.loginButton": "Login to your account",
436 "welcome.signupButton": "Create a free account",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "All services",
439 "workspaceDrawer.headline": "Workspaces",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
448}
diff --git a/src/i18n/locales/whitelist_en-US.json b/src/i18n/locales/whitelist_en-US.json
index 32960f8ce..fe51488c7 100644
--- a/src/i18n/locales/whitelist_en-US.json
+++ b/src/i18n/locales/whitelist_en-US.json
@@ -1,2 +1 @@
1[ []
2] \ No newline at end of file
diff --git a/src/i18n/locales/zh-HANT.json b/src/i18n/locales/zh-HANT.json
new file mode 100644
index 000000000..899591ab0
--- /dev/null
+++ b/src/i18n/locales/zh-HANT.json
@@ -0,0 +1,448 @@
1{
2 "app.errorHandler.action": "Reload",
3 "app.errorHandler.headline": "Something went wrong",
4 "feature.announcements.changelog.headline": "Changes in Ferdi {version}",
5 "feature.delayApp.headline": "Please purchase a Ferdi Supporter License to skip waiting",
6 "feature.delayApp.text": "Ferdi will continue in {seconds} seconds.",
7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
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",
11 "feature.delayApp.upgrade.actionShort": "Upgrade account",
12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.quickSwitch.search": "Search...",
14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.shareFranz.action.email": "Send as email",
17 "feature.shareFranz.action.facebook": "Share on Facebook",
18 "feature.shareFranz.action.twitter": "Share on Twitter",
19 "feature.shareFranz.headline": "Ferdi is better together!",
20 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
23 "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.",
25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "global.api.unhealthy": "無法連接到Ferdi網路服務",
27 "global.franzProRequired": "Ferdi Professional Required",
28 "global.notConnectedToTheInternet": "您未連上網際網路",
29 "global.spellchecker.useDefault": "Use System Default ({default})",
30 "global.spellchecking.autodetect": "Detect language automatically",
31 "global.spellchecking.autodetect.short": "Automatic",
32 "global.spellchecking.language": "Spell checking language",
33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "import.headline": "匯入您的 Ferdi 4 服務",
35 "import.notSupportedHeadline": "此服務不被 Ferdi 5 支持",
36 "import.skip.label": "我想手動匯入",
37 "import.submit.label": "匯入服務",
38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "infobar.buttonChangelog": "What is new?",
40 "infobar.buttonInstallUpdate": "重新啟動並且更新",
41 "infobar.buttonReloadServices": "重新載入",
42 "infobar.requiredRequestsFailed": "無法載入服務與帳戶資訊",
43 "infobar.servicesUpdated": "您的服務已更新",
44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "infobar.updateAvailable": "有新的更新可安裝",
46 "invite.email.label": "電子郵件信箱",
47 "invite.headline.friends": "邀請三個人",
48 "invite.name.label": "名子",
49 "invite.skip.label": "我想晚點進行",
50 "invite.submit.label": "Send invites",
51 "invite.successInfo": "Invitations sent successfully",
52 "locked.headline": "Locked",
53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "locked.invalidCredentials": "Password invalid",
55 "locked.password.label": "Password",
56 "locked.submit.label": "Unlock",
57 "login.changeServer": "Change server",
58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "login.customServerSuggestion": "Try importing your Franz account",
60 "login.email.label": "電子郵件信箱",
61 "login.headline": "登入",
62 "login.invalidCredentials": "電子郵件帳戶或密碼有誤",
63 "login.link.password": "密碼重設",
64 "login.link.signup": "建立一個免費帳戶",
65 "login.password.label": "Password",
66 "login.serverLogout": "登入狀態過期,請重新登入",
67 "login.submit.label": "登入",
68 "login.tokenExpired": "登入狀態過期,請重新登入",
69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "menu.app.about": "About Ferdi",
72 "menu.app.announcement": "What's new?",
73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "menu.app.checkForUpdates": "Check for updates",
75 "menu.app.hide": "Hide",
76 "menu.app.hideOthers": "Hide Others",
77 "menu.app.quit": "Quit",
78 "menu.app.settings": "Settings",
79 "menu.app.unhide": "Unhide",
80 "menu.edit": "Edit",
81 "menu.edit.copy": "Copy",
82 "menu.edit.cut": "Cut",
83 "menu.edit.delete": "Delete",
84 "menu.edit.emojiSymbols": "Emoji & Symbols",
85 "menu.edit.paste": "Paste",
86 "menu.edit.pasteAndMatchStyle": "Paste And Match Style",
87 "menu.edit.redo": "Redo",
88 "menu.edit.selectAll": "Select All",
89 "menu.edit.speech": "Speech",
90 "menu.edit.startDictation": "Start Dictation",
91 "menu.edit.startSpeaking": "Start Speaking",
92 "menu.edit.stopSpeaking": "Stop Speaking",
93 "menu.edit.undo": "Undo",
94 "menu.file": "File",
95 "menu.help": "Help",
96 "menu.help.changelog": "Changelog",
97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.help.learnMore": "Learn More",
101 "menu.help.privacy": "Privacy Statement",
102 "menu.help.support": "Support",
103 "menu.help.tos": "Terms of Service",
104 "menu.services": "Services",
105 "menu.services.activatePreviousService": "Activate previous service",
106 "menu.services.addNewService": "Add New Service...",
107 "menu.services.goHome": "Home",
108 "menu.services.setNextServiceActive": "Activate next service",
109 "menu.todos": "Todos",
110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.view": "View",
112 "menu.view.back": "Back",
113 "menu.view.enterFullScreen": "Enter Full Screen",
114 "menu.view.exitFullScreen": "Exit Full Screen",
115 "menu.view.forward": "Forward",
116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.view.reloadFranz": "Reload Ferdi",
119 "menu.view.reloadService": "Reload Service",
120 "menu.view.resetZoom": "Actual Size",
121 "menu.view.toggleDevTools": "Toggle Developer Tools",
122 "menu.view.toggleFullScreen": "Toggle Full Screen",
123 "menu.view.toggleServiceDevTools": "Toggle Service Developer Tools",
124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.zoomIn": "Zoom In",
126 "menu.view.zoomOut": "Zoom Out",
127 "menu.window": "Window",
128 "menu.window.close": "Close",
129 "menu.window.minimize": "Minimize",
130 "menu.workspaces": "Workspaces",
131 "menu.workspaces.addNewWorkspace": "Add New Workspace...",
132 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
133 "menu.workspaces.defaultWorkspace": "All services",
134 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
135 "password.email.label": "電子郵件信箱",
136 "password.headline": "密碼重設",
137 "password.link.login": "登入您的帳戶",
138 "password.link.signup": "建立一個免費帳戶",
139 "password.noUser": "此電子郵件帳戶不存在",
140 "password.submit.label": "送出",
141 "password.successInfo": "請重新確認您的電子郵件信箱",
142 "premiumFeature.button.upgradeAccount": "Upgrade account",
143 "pricing.features.adFree": "Forever ad-free",
144 "pricing.features.appDelays": "No Waiting Screens",
145 "pricing.features.customWebsites": "Add Custom Websites",
146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "pricing.features.serviceProxies": "Service Proxies",
148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.workspaces": "Workspaces",
153 "pricing.plan.free": "Ferdi Free",
154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "service.crashHandler.action": "Reload {name}",
171 "service.crashHandler.autoReload": "Trying to automatically restore {name} in {seconds} seconds",
172 "service.crashHandler.headline": "Oh no!",
173 "service.crashHandler.text": "{name} has caused an error.",
174 "service.disabledHandler.action": "Enable {name}",
175 "service.disabledHandler.headline": "{name} is disabled",
176 "service.errorHandler.action": "Reload {name}",
177 "service.errorHandler.editAction": "Edit {name}",
178 "service.errorHandler.headline": "Oh no!",
179 "service.errorHandler.message": "Error",
180 "service.errorHandler.text": "{name} has failed to load.",
181 "service.restrictedHandler.action": "Upgrade Account",
182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.webviewLoader.loading": "Loading",
187 "services.getStarted": "開始使用",
188 "services.login": "Please login to use Ferdi.",
189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "services.serverless": "Use Ferdi without an Account",
191 "services.welcome": "歡迎使用 Ferdi",
192 "settings.account.account.editButton": "更改帳戶資訊",
193 "settings.account.accountType.basic": "基本帳戶",
194 "settings.account.accountType.premium": "Premium Supporter Account",
195 "settings.account.buttonSave": "更新帳戶資訊",
196 "settings.account.deleteAccount": "Delete account",
197 "settings.account.deleteEmailSent": "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!",
198 "settings.account.deleteInfo": "If you don't need your Ferdi account any longer, you can delete your account and all related data here.",
199 "settings.account.headline": "帳戶",
200 "settings.account.headlineAccount": "帳戶資訊",
201 "settings.account.headlineDangerZone": "Danger Zone",
202 "settings.account.headlineInvoices": "Invoices",
203 "settings.account.headlinePassword": "更改密碼",
204 "settings.account.headlineProfile": "更新帳戶資訊",
205 "settings.account.headlineSubscription": "您的訂閱",
206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.invoiceDownload": "下載",
209 "settings.account.manageSubscription.label": "管理訂閱",
210 "settings.account.successInfo": "您的更改已經儲存",
211 "settings.account.trial": "Free Trial",
212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.tryReloadServices": "Try again",
215 "settings.account.tryReloadUserInfoRequest": "Try again",
216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.userInfoRequestFailed": "無法載入帳戶資訊",
218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.app.buttonClearAllCache": "Clear cache",
221 "settings.app.buttonInstallUpdate": "重新啟動並且更新",
222 "settings.app.buttonSearchForUpdate": "Check for updates",
223 "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.",
224 "settings.app.currentVersion": "當前版本:",
225 "settings.app.form.accentColor": "Accent color",
226 "settings.app.form.autoLaunchInBackground": "背景啟動",
227 "settings.app.form.autoLaunchOnStart": "開機時啟動",
228 "settings.app.form.beta": "包含開發中版本",
229 "settings.app.form.darkMode": "Join the Dark Side",
230 "settings.app.form.enableGPUAcceleration": "Enable GPU Acceleration",
231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.form.enableSpellchecking": "Enable spell checking",
233 "settings.app.form.enableSystemTray": "在系統匣上顯示",
234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.language": "語言",
239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.minimizeToSystemTray": "最小化至系統匣",
241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.runInBackground": "關閉時保持在背景運作",
244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices": "Display disabled services tabs",
249 "settings.app.form.showMessagesBadgesWhenMuted": "Show unread message badge when notifications are disabled",
250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headline": "Settings",
254 "settings.app.headlineAdvanced": "Advanced",
255 "settings.app.headlineAppearance": "Appearance",
256 "settings.app.headlineGeneral": "一般",
257 "settings.app.headlineLanguage": "語言",
258 "settings.app.headlineUpdates": "更新",
259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.app.restartRequired": "Changes require restart",
265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.app.subheadlineCache": "Cache",
270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.app.translationHelp": "Help us to translate Ferdi into your language.",
272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.app.updateStatusAvailable": "有可用更新,下載中...",
274 "settings.app.updateStatusSearching": "檢查更新中...",
275 "settings.app.updateStatusUpToDate": "已經是最新版本了",
276 "settings.invite.headline": "Invite Friends",
277 "settings.navigation.account": "帳戶",
278 "settings.navigation.availableServices": "可用服務",
279 "settings.navigation.logout": "登出",
280 "settings.navigation.settings": "Settings",
281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.navigation.team": "Manage Team",
283 "settings.navigation.yourServices": "您的服務",
284 "settings.navigation.yourWorkspaces": "Your workspaces",
285 "settings.recipes.all": "All services",
286 "settings.recipes.custom": "Custom Services",
287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.recipes.headline": "可用服務",
294 "settings.recipes.missingService": "Missing a service?",
295 "settings.recipes.mostPopular": "熱門",
296 "settings.recipes.nothingFound": "抱歉,找不到您所要的服務",
297 "settings.recipes.servicesSuccessfulAddedInfo": "新增服務成功",
298 "settings.searchService": "Search service",
299 "settings.service.error.goBack": "返回",
300 "settings.service.error.headline": "Error",
301 "settings.service.error.message": "無法載入服務元件",
302 "settings.service.form.addServiceHeadline": "新增 {name}",
303 "settings.service.form.availableServices": "可用服務",
304 "settings.service.form.customUrl": "Custom server",
305 "settings.service.form.customUrlPremiumInfo": "To add self hosted services, you need a Ferdi Premium Supporter Account.",
306 "settings.service.form.customUrlUpgradeAccount": "升級帳戶",
307 "settings.service.form.customUrlValidationError": "Could not validate custom {name} server.",
308 "settings.service.form.deleteButton": "刪除",
309 "settings.service.form.editServiceHeadline": "Edit {name}",
310 "settings.service.form.enableAudio": "Enable audio",
311 "settings.service.form.enableBadge": "Show unread message badges",
312 "settings.service.form.enableDarkMode": "Enable Dark Mode",
313 "settings.service.form.enableNotification": "啟用通知",
314 "settings.service.form.enableService": "啟用服務",
315 "settings.service.form.headlineBadges": "Unread message badges",
316 "settings.service.form.headlineGeneral": "一般",
317 "settings.service.form.headlineNotifications": "Notifications",
318 "settings.service.form.icon": "Custom icon",
319 "settings.service.form.iconDelete": "Delete",
320 "settings.service.form.iconUpload": "Drop your image, or click here",
321 "settings.service.form.indirectMessageInfo": "除了 @username, @channel, @here 之外,當您參與的頻道有訊息時,就會通知",
322 "settings.service.form.indirectMessages": "針對全部訊息顯示通知",
323 "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted",
324 "settings.service.form.name": "名子",
325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings",
327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.service.form.proxy.info": "Proxy settings will not synced with the Ferdi servers.",
329 "settings.service.form.proxy.isEnabled": "Use Proxy",
330 "settings.service.form.proxy.password": "Password (optional)",
331 "settings.service.form.proxy.port": "Port",
332 "settings.service.form.proxy.restartInfo": "Please restart Ferdi after changing proxy Settings.",
333 "settings.service.form.proxy.user": "User (optional)",
334 "settings.service.form.saveButton": "儲存",
335 "settings.service.form.tabHosted": "Hosted",
336 "settings.service.form.tabOnPremise": "Self hosted ⭐️",
337 "settings.service.form.team": "Team",
338 "settings.service.form.useHostedService": "Use the hosted {name} service.",
339 "settings.service.form.yourServices": "您的服務",
340 "settings.services.deletedInfo": "服務已刪除",
341 "settings.services.discoverServices": "服務列表",
342 "settings.services.headline": "您的服務",
343 "settings.services.noServicesAdded": "您還沒加入任何服務",
344 "settings.services.servicesRequestFailed": "Could not load your services",
345 "settings.services.tooltip.isDisabled": "已停用服務",
346 "settings.services.tooltip.isMuted": "All sounds are muted",
347 "settings.services.tooltip.notificationsDisabled": "已停用通知",
348 "settings.services.updatedInfo": "您的更改已經儲存",
349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.team.headline": "Team",
357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.team.manageAction": "Manage your Team on getferdi.com",
359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.team.upgradeAction": "Upgrade your Account",
362 "settings.user.form.accountType.company": "公司",
363 "settings.user.form.accountType.individual": "個人",
364 "settings.user.form.accountType.label": "帳戶類型",
365 "settings.user.form.accountType.non-profit": "非營利",
366 "settings.user.form.currentPassword": "舊密碼",
367 "settings.user.form.email": "電子郵件信箱",
368 "settings.user.form.firstname": "名子",
369 "settings.user.form.lastname": "姓氏",
370 "settings.user.form.newPassword": "新密碼",
371 "settings.workspace.add.form.name": "名子",
372 "settings.workspace.add.form.submitButton": "Create workspace",
373 "settings.workspace.form.buttonDelete": "Delete workspace",
374 "settings.workspace.form.buttonSave": "Save workspace",
375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "settings.workspace.form.name": "名子",
378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "settings.workspace.form.yourWorkspaces": "Your workspaces",
380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "settings.workspaces.headline": "Your workspaces",
382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "settings.workspaces.tryReloadWorkspaces": "Try again",
384 "settings.workspaces.updatedInfo": "您的更改已經儲存",
385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "sidebar.addNewService": "Add new service",
389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
391 "sidebar.lockFerdi": "Lock Ferdi",
392 "sidebar.muteApp": "Disable notifications & audio",
393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
395 "sidebar.settings": "Settings",
396 "sidebar.unmuteApp": "Enable notifications & audio",
397 "signup.email.label": "電子郵件信箱",
398 "signup.emailDuplicate": "此電子郵件信箱已被註冊",
399 "signup.firstname.label": "名子",
400 "signup.headline": "註冊",
401 "signup.lastname.label": "姓氏",
402 "signup.legal.info": "在建立帳戶同時,您同意:",
403 "signup.legal.privacy": "Privacy Statement",
404 "signup.legal.terms": "服務條款",
405 "signup.link.login": "您已有一個帳戶,請問是否要登入?",
406 "signup.password.label": "Password",
407 "signup.submit.label": "建立帳戶",
408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "subscription.cta.allOptions": "See all options",
410 "subscription.cta.choosePlan": "Choose your plan",
411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "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!",
414 "subscriptionPopup.buttonCancel": "取消",
415 "subscriptionPopup.buttonDone": "完成",
416 "tabs.item.deleteService": "刪除",
417 "tabs.item.disableAudio": "Disable audio",
418 "tabs.item.disableNotifications": "停用通知",
419 "tabs.item.disableService": "停用服務",
420 "tabs.item.edit": "Edit",
421 "tabs.item.enableAudio": "Enable audio",
422 "tabs.item.enableNotification": "啟用通知",
423 "tabs.item.enableService": "啟用服務",
424 "tabs.item.reload": "Reload",
425 "validation.email": "{field} is not valid",
426 "validation.minLength": "{field} should be at least {length} characters long",
427 "validation.oneRequired": "At least one is required",
428 "validation.required": "{field} is required",
429 "validation.url": "{field} is not a valid URL",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Reload",
435 "welcome.loginButton": "登入",
436 "welcome.signupButton": "建立一個免費帳戶",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "All services",
439 "workspaceDrawer.headline": "Workspaces",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
448}
diff --git a/src/i18n/locales/zh-Hant.json b/src/i18n/locales/zh-Hant.json
deleted file mode 100644
index e52b9ca26..000000000
--- a/src/i18n/locales/zh-Hant.json
+++ /dev/null
@@ -1,168 +0,0 @@
1{
2 "global.api.unhealthy": "無法連接到Franz網路服務",
3 "global.notConnectedToTheInternet": "您未連上網際網路",
4 "welcome.signupButton": "建立一個免費帳戶",
5 "welcome.loginButton": "登入",
6 "welcome.slogan": "Messaging that works for you",
7 "login.headline": "登入",
8 "login.email.label": "電子郵件信箱",
9 "login.password.label": "密碼",
10 "login.submit.label": "登入",
11 "login.invalidCredentials": "電子郵件帳戶或密碼有誤",
12 "login.tokenExpired": "登入狀態過期,請重新登入",
13 "login.serverLogout": "登入狀態過期,請重新登入",
14 "login.link.signup": "建立一個免費帳戶",
15 "login.link.password": "密碼重設",
16 "password.headline": "密碼重設",
17 "password.email.label": "電子郵件信箱",
18 "password.submit.label": "送出",
19 "password.noUser": "此電子郵件帳戶不存在",
20 "password.successInfo": "請重新確認您的電子郵件信箱",
21 "password.link.signup": "建立一個免費帳戶",
22 "password.link.login": "登入您的帳戶",
23 "signup.headline": "註冊",
24 "signup.firstname.label": "名子",
25 "signup.lastname.label": "姓氏",
26 "signup.email.label": "電子郵件信箱",
27 "signup.company.label": "公司",
28 "signup.password.label": "密碼",
29 "signup.submit.label": "建立帳戶",
30 "signup.link.login": "您已有一個帳戶,請問是否要登入?",
31 "signup.emailDuplicate": "此電子郵件信箱已被註冊",
32 "signup.legal.info": "在建立帳戶同時,您同意:",
33 "signup.legal.terms": "服務條款",
34 "signup.legal.privacy": "隱私聲明",
35 "pricing.headline": "贊助 Franz",
36 "pricing.support.label": "選擇贊助方案",
37 "pricing.submit.label": "我想協助 Franz 的開發",
38 "pricing.link.skipPayment": "我不想協助 Franz 的開發",
39 "import.headline": "匯入您的 Franz 4 服務",
40 "import.notSupportedHeadline": "此服務不被 Franz 5 支持",
41 "import.submit.label": "匯入服務",
42 "import.skip.label": "我想手動匯入",
43 "invite.submit.label": "Send invites",
44 "invite.headline.friends": "邀請三個人",
45 "invite.name.label": "名子",
46 "invite.email.label": "電子郵件信箱",
47 "invite.skip.label": "我想晚點進行",
48 "subscription.submit.label": "我想協助 Franz 的開發",
49 "subscription.paymentSessionError": "無法初始化付費表單",
50 "subscription.includedFeatures": "Paid Franz Premium Supporter Account includes",
51 "subscription.features.onpremise": "Add on-premise/hosted services like HipChat",
52 "subscription.features.customServices": "Private services for you and your team",
53 "subscription.features.encryptedSync": "Encrypted session synchronization",
54 "subscription.features.vpn": "支援 Proxy & VPN",
55 "subscription.features.ads": "不再有任何廣告",
56 "subscription.features.comingSoon": "敬請期待",
57 "infobar.servicesUpdated": "您的服務已更新",
58 "infobar.updateAvailable": "有新的更新可安裝",
59 "infobar.buttonReloadServices": "重新載入",
60 "infobar.buttonInstallUpdate": "重新啟動並且更新",
61 "infobar.requiredRequestsFailed": "無法載入服務與帳戶資訊",
62 "sidebar.settings": "設定",
63 "services.welcome": "歡迎使用 Franz",
64 "services.getStarted": "開始使用",
65 "settings.account.headline": "帳戶",
66 "settings.account.headlineSubscription": "您的訂閱",
67 "settings.account.headlineUpgrade": "升級帳戶以及贊助 Franz",
68 "settings.account.headlineInvoices": "Invoices",
69 "settings.account.manageSubscription.label": "管理訂閱",
70 "settings.account.accountType.basic": "基本帳戶",
71 "settings.account.accountType.premium": "Premium Supporter Account",
72 "settings.account.account.editButton": "更改帳戶資訊",
73 "settings.account.invoiceDownload": "下載",
74 "settings.account.userInfoRequestFailed": "無法載入帳戶資訊",
75 "settings.account.tryReloadUserInfoRequest": "請重試",
76 "settings.account.headlineProfile": "更新帳戶資訊",
77 "settings.account.headlineAccount": "帳戶資訊",
78 "settings.account.headlinePassword": "更改密碼",
79 "settings.account.successInfo": "您的更改已經儲存",
80 "settings.account.buttonSave": "更新帳戶資訊",
81 "settings.account.mining.thankyou": "感謝您贊助運算能力",
82 "settings.account.mining.active": "您現在每秒執行 {hashes} 個計算",
83 "settings.account.mining.moreInformation": "取得更多資訊",
84 "settings.account.mining.cancel": "取消贊助運算",
85 "settings.navigation.availableServices": "可用服務",
86 "settings.navigation.yourServices": "您的服務",
87 "settings.navigation.account": "帳戶",
88 "settings.navigation.settings": "設定",
89 "settings.navigation.logout": "登出",
90 "settings.recipes.headline": "可用服務",
91 "settings.recipes.mostPopular": "熱門",
92 "settings.recipes.all": "全部",
93 "settings.recipes.dev": "開發中",
94 "settings.recipes.nothingFound": "抱歉,找不到您所要的服務",
95 "settings.recipes.servicesSuccessfulAddedInfo": "新增服務成功",
96 "settings.service.form.saveButton": "儲存",
97 "settings.service.form.deleteButton": "刪除",
98 "settings.service.form.availableServices": "可用服務",
99 "settings.service.form.yourServices": "您的服務",
100 "settings.service.form.addServiceHeadline": "新增 {name}",
101 "settings.service.form.editServiceHeadline": "更改 {name}",
102 "settings.service.form.tabHosted": "Hosted",
103 "settings.service.form.tabOnPremise": "Self hosted ⭐️",
104 "settings.service.form.customUrlValidationError": "Could not validate custom {name} server.",
105 "settings.service.form.customUrlPremiumInfo": "To add self hosted services, you need a Franz Premium Supporter Account.",
106 "settings.service.form.customUrlUpgradeAccount": "升級帳戶",
107 "settings.service.form.indirectMessageInfo": "除了 @username, @channel, @here 之外,當您參與的頻道有訊息時,就會通知",
108 "settings.service.error.headline": "錯誤",
109 "settings.service.error.goBack": "返回",
110 "settings.service.error.message": "無法載入服務元件",
111 "settings.services.tooltip.isDisabled": "已停用服務",
112 "settings.services.tooltip.notificationsDisabled": "已停用通知",
113 "settings.services.headline": "您的服務",
114 "settings.services.noServicesAdded": "您還沒加入任何服務",
115 "settings.services.discoverServices": "服務列表",
116 "settings.services.updatedInfo": "更動已經儲存",
117 "settings.services.deletedInfo": "服務已刪除",
118 "settings.app.headline": "設定",
119 "settings.app.headlineGeneral": "一般",
120 "settings.app.headlineLanguage": "語言",
121 "settings.app.headlineUpdates": "更新",
122 "settings.app.buttonSearchForUpdate": "檢查更新",
123 "settings.app.buttonInstallUpdate": "重新開啟並且更新",
124 "settings.app.updateStatusSearching": "檢查更新中...",
125 "settings.app.updateStatusAvailable": "有可用更新,下載中...",
126 "settings.app.updateStatusUpToDate": "已經是最新版本了",
127 "settings.app.form.autoLaunchOnStart": "開機時啟動",
128 "settings.app.form.autoLaunchInBackground": "背景啟動",
129 "settings.app.form.enableSystemTray": "在系統匣上顯示",
130 "settings.app.form.minimizeToSystemTray": "最小化至系統匣",
131 "settings.app.form.runInBackground": "關閉時保持在背景運作",
132 "settings.app.form.language": "語言",
133 "settings.app.form.beta": "包含開發中版本",
134 "settings.app.currentVersion": "當前版本:",
135 "settings.service.form.name": "Name",
136 "settings.service.form.enableService": "啟用服務",
137 "settings.service.form.enableNotification": "啟用通知",
138 "settings.service.form.team": "Team",
139 "settings.service.form.customUrl": "Custom server",
140 "settings.service.form.indirectMessages": "針對全部訊息顯示通知",
141 "settings.user.form.firstname": "名子",
142 "settings.user.form.lastname": "姓氏",
143 "settings.user.form.email": "電子郵件信箱",
144 "settings.user.form.currentPassword": "舊密碼",
145 "settings.user.form.newPassword": "新密碼",
146 "settings.user.form.accountType.label": "帳戶類型",
147 "settings.user.form.accountType.individual": "個人",
148 "settings.user.form.accountType.non-profit": "非營利",
149 "settings.user.form.accountType.company": "公司",
150 "subscription.type.free": "免費",
151 "subscription.type.month": "月",
152 "subscription.type.year": "年",
153 "subscription.type.mining": "用您機器的計算能力來贊助 Franz",
154 "subscription.mining.headline": "如何進行的?",
155 "subscription.mining.experimental": "實驗性功能",
156 "subscription.mining.line1": "Franz 運用您CPU的20%至50%的運算能力來挖門羅幣(一種開源加密貨幣),每年約莫可得到5美元。",
157 "subscription.mining.line2": "我們會調整運算強度,避免消耗過多電池電量及影響效能。",
158 "subscription.mining.line3": "當您允許我們挖掘門羅幣之時,我們便允許您使用全部的加值服務。",
159 "subscription.mining.moreInformation": "取得更多資訊",
160 "subscriptionPopup.buttonCancel": "取消",
161 "subscriptionPopup.buttonDone": "完成",
162 "tabs.item.reload": "重新載入",
163 "tabs.item.edit": "更改",
164 "tabs.item.disableNotifications": "停用通知",
165 "tabs.item.enableNotification": "啟用通知",
166 "tabs.item.disableService": "停用服務",
167 "tabs.item.deleteService": "刪除服務"
168}
diff --git a/src/i18n/locales/zh-TW.json b/src/i18n/locales/zh-TW.json
index a8000c13d..6aea92a62 100644
--- a/src/i18n/locales/zh-TW.json
+++ b/src/i18n/locales/zh-TW.json
@@ -1,429 +1,386 @@
1{ 1{
2 "app.errorHandler.action" : "重新整理", 2 "app.errorHandler.action": "重新整理",
3 "app.errorHandler.headline" : "糟糕!有些地方出問題了。", 3 "app.errorHandler.headline": "糟糕!有些地方出問題了。",
4 "feature.announcements.changelog.headline" : "透過 email 傳送", 4 "feature.announcements.changelog.headline": "透過 email 傳送",
5 "feature.delayApp.headline" : "Upgrade your Franz plan to skip the wait", 5 "feature.delayApp.headline": "請購買 Ferdi 支援授權以跳過等候",
6 "feature.delayApp.text" : "Franz 會在 {seconds} 秒後繼續。", 6 "feature.delayApp.text": "Ferdi 會在 {seconds} 秒後繼續。",
7 "feature.delayApp.trial.action" : "Yes, I want the free 14 day trial of Franz Professional", 7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort" : "Activate the free Franz Professional trial", 8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
9 "feature.delayApp.trial.headline" : "Get the free Franz Professional 14-days trial and skip the wait", 9 "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line",
10 "feature.delayApp.upgrade.action" : "Upgrade Franz", 10 "feature.delayApp.upgrade.action": "取得 Ferdi 支援授權",
11 "feature.delayApp.upgrade.actionShort" : "升級帳號", 11 "feature.delayApp.upgrade.actionShort": "升級帳號",
12 "feature.planSelection.cta.ctaDowngradeFree" : "Downgrade to Free", 12 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
13 "feature.planSelection.cta.stayOnFree" : "Stay on Free", 13 "feature.shareFranz.action.email": "以電子郵件傳送",
14 "feature.planSelection.cta.trial" : "Start my free 14-days Trial", 14 "feature.shareFranz.action.facebook": "透過 Facebook 分享",
15 "feature.planSelection.cta.upgradePersonal" : "Choose Personal", 15 "feature.shareFranz.action.twitter": "在 Twitter 上分享",
16 "feature.planSelection.cta.upgradePro" : "Choose Professional", 16 "feature.shareFranz.headline": "Ferdi is better together!",
17 "feature.planSelection.free.text" : "Basic functionality", 17 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
18 "feature.planSelection.fullFeatureList" : "Complete comparison of all plans", 18 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
19 "feature.planSelection.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 19 "feature.shareFranz.text": "告訴所有朋友和同事Ferdi有多棒!",
20 "feature.planSelection.fullscreen.dialog.cta.upgrade" : "Choose Personal", 20 "feature.todos.premium.info": "Ferdi Todos are available to premium users now!",
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.", 21 "feature.todos.premium.rollout": "Everyone else will have to wait a little longer.",
22 "feature.planSelection.fullscreen.dialog.title" : "Downgrade your Franz Plan", 22 "feature.todos.premium.upgrade": "Upgrade Account",
23 "feature.planSelection.fullscreen.subheadline" : "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.", 23 "global.api.unhealthy": "無法連線至 Ferdi 的伺服器",
24 "feature.planSelection.fullscreen.welcome" : "Are you ready to choose, {name}?", 24 "global.franzProRequired": "Ferdi Professional Required",
25 "feature.planSelection.personal.text" : "More services, no waiting - ideal for personal use.", 25 "global.notConnectedToTheInternet": "你沒有連上網路。",
26 "feature.planSelection.pricesBasedOnAnnualPayment" : "All prices based on yearly payment", 26 "global.spellchecker.useDefault": "使用系統預設 ({default})",
27 "feature.planSelection.pro.text" : "Unlimited services and professional features for you - and your team.", 27 "global.spellchecking.autodetect": "自動偵測語言",
28 "feature.serviceLimit.limitReached" : "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.", 28 "global.spellchecking.autodetect.short": "自動的",
29 "feature.shareFranz.action.email" : "以電子郵件傳送", 29 "global.spellchecking.language": "拼字檢查語言",
30 "feature.shareFranz.action.facebook" : "透過 Facebook 分享", 30 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
31 "feature.shareFranz.action.twitter" : "在 Twitter 上分享", 31 "import.headline": "匯入 Ferdi 4 的服務",
32 "feature.shareFranz.headline" : "Franz is better together!", 32 "import.notSupportedHeadline": "Ferdi 5 尚未支援此服務",
33 "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", 33 "import.skip.label": "手動添加服務",
34 "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 @FranzMessenger", 34 "import.submit.label": "匯入服務",
35 "feature.shareFranz.text" : "告訴所有朋友和同事Franz有多棒!", 35 "infobar.buttonChangelog": "有什麼新功能呢?",
36 "feature.todos.premium.info" : "Franz Todos are available to premium users now!", 36 "infobar.buttonInstallUpdate": "重新啟動並安裝更新",
37 "feature.todos.premium.rollout" : "Everyone else will have to wait a little longer.", 37 "infobar.buttonReloadServices": "重新載入服務",
38 "feature.todos.premium.upgrade" : "Upgrade Account", 38 "infobar.requiredRequestsFailed": "無法載入服務和使用者資訊",
39 "feature.trialStatusBar.cta" : "Upgrade now", 39 "infobar.servicesUpdated": "已經更新你的服務",
40 "feature.trialStatusBar.expired" : "Your free Franz {plan} Trial has expired, please upgrade your account.", 40 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
41 "feature.trialStatusBar.fullscreen.dialog.cta.downgrade" : "Downgrade to Free", 41 "infobar.updateAvailable": "Ferdi 有可用的更新",
42 "feature.trialStatusBar.fullscreen.dialog.cta.upgrade" : "Choose Personal", 42 "invite.email.label": "電子郵件地址",
43 "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.", 43 "invite.headline.friends": "邀請 3 位朋友或同事",
44 "feature.trialStatusBar.fullscreen.dialog.title" : "Downgrade your Franz Plan", 44 "invite.name.label": "名稱",
45 "feature.trialStatusBar.restTime" : "Your Free Franz {plan} Trial ends in {time}.", 45 "invite.skip.label": "我想稍後再做",
46 "global.api.unhealthy" : "無法連線至 Franz 的伺服器", 46 "invite.submit.label": "送出邀請",
47 "global.franzProRequired" : "Franz Professional Required", 47 "invite.successInfo": "註冊請求已送出",
48 "global.notConnectedToTheInternet" : "你沒有連上網路。", 48 "login.email.label": "電子郵件地址",
49 "global.spellchecker.useDefault" : "使用系統預設 ({default})", 49 "login.headline": "登入",
50 "global.spellchecking.autodetect" : "自動偵測語言", 50 "login.invalidCredentials": "電子郵件或密碼有誤",
51 "global.spellchecking.autodetect.short" : "自動的", 51 "login.link.password": "重設密碼",
52 "global.spellchecking.language" : "拼字檢查語言", 52 "login.link.signup": "建立免費帳號",
53 "global.upgradeButton.upgradeToPro" : "Upgrade to Franz Professional", 53 "login.password.label": "密碼",
54 "import.headline" : "匯入 Franz 4 的服務", 54 "login.serverLogout": "您的登入期間已過期,請重新登錄",
55 "import.notSupportedHeadline" : "Franz 5 尚未支援此服務", 55 "login.submit.label": "登入",
56 "import.skip.label" : "手動添加服務", 56 "login.tokenExpired": "您的登入已過期,請重新登入。",
57 "import.submit.label" : "匯入服務", 57 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
58 "infobar.buttonChangelog" : "有什麼新功能呢?", 58 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
59 "infobar.buttonInstallUpdate" : "重新啟動並安裝更新", 59 "menu.app.about": "關於 Ferdi",
60 "infobar.buttonReloadServices" : "重新載入服務", 60 "menu.app.announcement": "更新說明",
61 "infobar.requiredRequestsFailed" : "無法載入服務和使用者資訊", 61 "menu.app.checkForUpdates": "檢查更新",
62 "infobar.servicesUpdated" : "已經更新你的服務", 62 "menu.app.hide": "隱藏",
63 "infobar.trialActivated" : "Your trial was successfully activated. Happy messaging!", 63 "menu.app.hideOthers": "隱藏其他",
64 "infobar.updateAvailable" : "Franz 有可用的更新", 64 "menu.app.quit": "結束",
65 "invite.email.label" : "電子郵件地址", 65 "menu.app.settings": "設定",
66 "invite.headline.friends" : "邀請 3 位朋友或同事", 66 "menu.app.unhide": "顯示",
67 "invite.name.label" : "名稱", 67 "menu.edit": "編輯",
68 "invite.skip.label" : "我想稍後再做", 68 "menu.edit.copy": "拷貝",
69 "invite.submit.label" : "送出邀請", 69 "menu.edit.cut": "剪下",
70 "invite.successInfo" : "註冊請求已送出", 70 "menu.edit.delete": "刪除",
71 "login.email.label" : "電子郵件地址", 71 "menu.edit.emojiSymbols": "貼紙和表情包",
72 "login.headline" : "登入", 72 "menu.edit.paste": "貼上",
73 "login.invalidCredentials" : "電子郵件或密碼有誤", 73 "menu.edit.pasteAndMatchStyle": "貼上并匹配樣式",
74 "login.link.password" : "重設密碼", 74 "menu.edit.redo": "重來",
75 "login.link.signup" : "建立免費帳號", 75 "menu.edit.selectAll": "選擇所有",
76 "login.password.label" : "密碼", 76 "menu.edit.speech": "朗讀",
77 "login.serverLogout" : "您的登入期間已過期,請重新登錄", 77 "menu.edit.startDictation": "開始聽寫",
78 "login.submit.label" : "登入", 78 "menu.edit.startSpeaking": "開始語音",
79 "login.tokenExpired" : "您的登入已過期,請重新登入。", 79 "menu.edit.stopSpeaking": "停止語音",
80 "menu.Todoss.closeTodosDrawer" : "Close Todos drawer", 80 "menu.edit.undo": "復原",
81 "menu.Todoss.openTodosDrawer" : "Open Todos drawer", 81 "menu.file": "檔案",
82 "menu.app.about" : "關於 Franz", 82 "menu.help": "求助",
83 "menu.app.announcement" : "更新說明", 83 "menu.help.changelog": "變更紀錄",
84 "menu.app.checkForUpdates" : "檢查更新", 84 "menu.help.debugInfo": "Copy Debug Information",
85 "menu.app.hide" : "隱藏", 85 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
86 "menu.app.hideOthers" : "隱藏其他", 86 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
87 "menu.app.quit" : "結束", 87 "menu.help.learnMore": "深入瞭解",
88 "menu.app.settings" : "設定", 88 "menu.help.privacy": "隱私聲明",
89 "menu.app.unhide" : "顯示", 89 "menu.help.support": "支援",
90 "menu.edit" : "編輯", 90 "menu.help.tos": "服務條款",
91 "menu.edit.copy" : "拷貝", 91 "menu.services": "服務",
92 "menu.edit.cut" : "剪下", 92 "menu.services.activatePreviousService": "啟動前一個服務",
93 "menu.edit.delete" : "刪除", 93 "menu.services.addNewService": "新增服務",
94 "menu.edit.emojiSymbols" : "貼紙和表情包", 94 "menu.services.setNextServiceActive": "啟動下一個服務",
95 "menu.edit.paste" : "貼上", 95 "menu.todos": "Todos",
96 "menu.edit.pasteAndMatchStyle" : "貼上并匹配樣式", 96 "menu.todos.enableTodos": "Enable Todos",
97 "menu.edit.redo" : "重來", 97 "menu.view": "檢視",
98 "menu.edit.selectAll" : "選擇所有", 98 "menu.view.enterFullScreen": "進入全螢幕模式",
99 "menu.edit.speech" : "朗讀", 99 "menu.view.exitFullScreen": "離開全螢幕模式",
100 "menu.edit.startDictation" : "開始聽寫", 100 "menu.view.reloadFranz": "重新載入 Ferdi",
101 "menu.edit.startSpeaking" : "開始語音", 101 "menu.view.reloadService": "重新載入服務",
102 "menu.edit.stopSpeaking" : "停止語音", 102 "menu.view.resetZoom": "實際大小",
103 "menu.edit.undo" : "復原", 103 "menu.view.toggleDevTools": "切換開發者工具",
104 "menu.file" : "檔案", 104 "menu.view.toggleFullScreen": "切換全螢幕",
105 "menu.help" : "求助", 105 "menu.view.toggleServiceDevTools": "切換服務開發者工具",
106 "menu.help.changelog" : "變更紀錄", 106 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
107 "menu.help.debugInfo" : "Copy Debug Information", 107 "menu.view.zoomIn": "放大",
108 "menu.help.debugInfoCopiedBody" : "Your Debug Information has been copied to your clipboard.", 108 "menu.view.zoomOut": "縮小",
109 "menu.help.debugInfoCopiedHeadline" : "Franz Debug Information", 109 "menu.window": "視窗",
110 "menu.help.learnMore" : "深入瞭解", 110 "menu.window.close": "關閉",
111 "menu.help.privacy" : "隱私聲明", 111 "menu.window.minimize": "最小化",
112 "menu.help.support" : "支援", 112 "menu.workspaces": "工作區",
113 "menu.help.tos" : "服務條款", 113 "menu.workspaces.addNewWorkspace": "新增工作區",
114 "menu.services" : "服務", 114 "menu.workspaces.closeWorkspaceDrawer": "關閉工作空間",
115 "menu.services.activatePreviousService" : "啟動前一個服務", 115 "menu.workspaces.defaultWorkspace": "所有服務",
116 "menu.services.addNewService" : "新增服務", 116 "menu.workspaces.openWorkspaceDrawer": "打開工作空間",
117 "menu.services.goHome" : "Home", 117 "password.email.label": "電子郵件地址",
118 "menu.services.setNextServiceActive" : "啟動下一個服務", 118 "password.headline": "重設密碼",
119 "menu.todos" : "Todos", 119 "password.link.login": "登入您的帳號",
120 "menu.todos.enableTodos" : "Enable Todos", 120 "password.link.signup": "建立免費帳號",
121 "menu.view" : "檢視", 121 "password.noUser": "找不到該電子郵件地址的用戶",
122 "menu.view.enterFullScreen" : "進入全螢幕模式", 122 "password.submit.label": "送出",
123 "menu.view.exitFullScreen" : "離開全螢幕模式", 123 "password.successInfo": "請檢查您的電子郵件",
124 "menu.view.reloadFranz" : "重新載入 Franz", 124 "premiumFeature.button.upgradeAccount": "升級帳號",
125 "menu.view.reloadService" : "重新載入服務", 125 "pricing.features.adFree": "Forever ad-free",
126 "menu.view.resetZoom" : "實際大小", 126 "pricing.features.appDelays": "No Waiting Screens",
127 "menu.view.toggleDevTools" : "切換開發者工具", 127 "pricing.features.customWebsites": "Add Custom Websites",
128 "menu.view.toggleFullScreen" : "切換全螢幕", 128 "pricing.features.onPremise": "On-premise & other Hosted Services",
129 "menu.view.toggleServiceDevTools" : "切換服務開發者工具", 129 "pricing.features.serviceProxies": "Service Proxies",
130 "menu.view.toggleTodosDevTools" : "Toggle Todos Developer Tools", 130 "pricing.features.spellchecker": "Spellchecker support",
131 "menu.view.zoomIn" : "放大", 131 "pricing.features.teamManagement": "Team Management",
132 "menu.view.zoomOut" : "縮小", 132 "pricing.features.thirdPartyServices": "Install 3rd party services",
133 "menu.window" : "視窗", 133 "pricing.features.unlimitedServices": "Add unlimited services",
134 "menu.window.close" : "關閉", 134 "pricing.features.workspaces": "工作區",
135 "menu.window.minimize" : "最小化", 135 "pricing.plan.free": "Ferdi Free",
136 "menu.workspaces" : "工作區", 136 "pricing.plan.legacy": "Ferdi Premium",
137 "menu.workspaces.addNewWorkspace" : "新增工作區", 137 "pricing.plan.personal": "Ferdi Personal",
138 "menu.workspaces.closeWorkspaceDrawer" : "關閉工作空間", 138 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
139 "menu.workspaces.defaultWorkspace" : "所有服務", 139 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
140 "menu.workspaces.openWorkspaceDrawer" : "打開工作空間", 140 "pricing.plan.pro": "Ferdi Professional",
141 "password.email.label" : "電子郵件地址", 141 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
142 "password.headline" : "重設密碼", 142 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
143 "password.link.login" : "登入您的帳號", 143 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
144 "password.link.signup" : "建立免費帳號", 144 "pricing.trial.cta.skip": "Continue to Ferdi",
145 "password.noUser" : "找不到該電子郵件地址的用戶", 145 "pricing.trial.error": "Sorry, we could not activate your trial!",
146 "password.submit.label" : "送出", 146 "pricing.trial.features.headline": "Ferdi Professional includes:",
147 "password.successInfo" : "請檢查您的電子郵件", 147 "pricing.trial.headline": "Ferdi Professional",
148 "premiumFeature.button.upgradeAccount" : "升級帳號", 148 "pricing.trial.subheadline": "Your personal welcome offer:",
149 "pricing.features.accountSync" : "Account Synchronisation", 149 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
150 "pricing.features.adFree" : "Forever ad-free", 150 "pricing.trial.terms.headline": "No strings attached",
151 "pricing.features.appDelays" : "No Waiting Screens", 151 "pricing.trial.terms.noCreditCard": "No credit card required",
152 "pricing.features.customWebsites" : "Add Custom Websites", 152 "service.crashHandler.action": "重新載入{name}",
153 "pricing.features.desktopNotifications" : "Desktop Notifications", 153 "service.crashHandler.autoReload": "嘗試在{seconds}秒內自動恢復{name}",
154 "pricing.features.onPremise" : "On-premise & other Hosted Services", 154 "service.crashHandler.headline": "噢不!",
155 "pricing.features.recipes" : "Choose from more than 70 Services", 155 "service.crashHandler.text": "{name}導致了一個錯誤。",
156 "pricing.features.serviceProxies" : "Service Proxies", 156 "service.disabledHandler.action": "啟用{name}",
157 "pricing.features.spellchecker" : "Spellchecker support", 157 "service.disabledHandler.headline": "{name}已停用",
158 "pricing.features.teamManagement" : "Team Management", 158 "service.errorHandler.action": "重新載入 {name}",
159 "pricing.features.thirdPartyServices" : "Install 3rd party services", 159 "service.errorHandler.editAction": "編輯{名稱}",
160 "pricing.features.unlimitedServices" : "Add unlimited services", 160 "service.errorHandler.headline": "噢不!",
161 "pricing.features.upToSixServices" : "Add up to 6 services", 161 "service.errorHandler.message": "錯誤",
162 "pricing.features.upToThreeServices" : "Add up to 3 services", 162 "service.errorHandler.text": "{name} 載入失敗。",
163 "pricing.features.workspaces" : "工作區", 163 "service.restrictedHandler.action": "Upgrade Account",
164 "pricing.plan.free" : "Free", 164 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
165 "pricing.plan.legacy" : "Premium", 165 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
166 "pricing.plan.personal" : "Personal", 166 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
167 "pricing.plan.personal-monthly" : "Personal Monthly", 167 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
168 "pricing.plan.personal-yearly" : "Personal Yearly", 168 "service.webviewLoader.loading": "正在載入",
169 "pricing.plan.pro" : "Professional", 169 "services.getStarted": "開始",
170 "pricing.plan.pro-monthly" : "Professional Monthly", 170 "services.welcome": "歡迎使用 Ferdi",
171 "pricing.plan.pro-yearly" : "Professional Yearly", 171 "settings.account.account.editButton": "編輯帳號",
172 "pricing.trial.cta.accept" : "Start my 14-day Franz Professional Trial ", 172 "settings.account.accountType.basic": "基礎帳號",
173 "pricing.trial.cta.skip" : "Continue to Franz", 173 "settings.account.accountType.premium": "高級支援帳戶",
174 "pricing.trial.cta.start" : "Start using Franz", 174 "settings.account.buttonSave": "更新簡介",
175 "pricing.trial.error" : "Sorry, we could not activate your trial!", 175 "settings.account.deleteAccount": "移除帳號",
176 "pricing.trial.features.headline" : "Franz Professional includes:", 176 "settings.account.deleteEmailSent": "移除帳號之確認電郵已送出。你的帳號及相關資料將無法恢復!",
177 "pricing.trial.headline.pro" : "Hi {name}, welcome to Franz", 177 "settings.account.deleteInfo": "如果不再需要你的帳號,你可以在這裡刪除帳號和所有相關資料。",
178 "pricing.trial.intro.happyMessaging" : "Happy messaging,", 178 "settings.account.headline": "帳號",
179 "pricing.trial.intro.specialTreat" : "We have a special treat for you.", 179 "settings.account.headlineAccount": "帳戶資訊",
180 "pricing.trial.intro.tryPro" : "Enjoy the full Franz Professional experience completely free for 14 days.", 180 "settings.account.headlineDangerZone": "危險地帶",
181 "pricing.trial.terms.automaticTrialEnd" : "Your free trial ends automatically after 14 days", 181 "settings.account.headlineInvoices": "帳單",
182 "pricing.trial.terms.headline" : "No strings attached", 182 "settings.account.headlinePassword": "變更密碼",
183 "pricing.trial.terms.noCreditCard" : "No credit card required", 183 "settings.account.headlineProfile": "更新簡介",
184 "pricing.trial.terms.trialWorth" : "Free trial (normally {currency}{price} per month)", 184 "settings.account.headlineSubscription": "您的訂閱",
185 "service.crashHandler.action" : "重新載入{name}", 185 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
186 "service.crashHandler.autoReload" : "嘗試在{seconds}秒內自動恢復{name}", 186 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
187 "service.crashHandler.headline" : "噢不!", 187 "settings.account.invoiceDownload": "下載",
188 "service.crashHandler.text" : "{name}導致了一個錯誤。", 188 "settings.account.manageSubscription.label": "管理您的訂閱",
189 "service.disabledHandler.action" : "啟用{name}", 189 "settings.account.successInfo": "您的更變已經被儲存",
190 "service.disabledHandler.headline" : "{name}已停用", 190 "settings.account.trial": "Free Trial",
191 "service.errorHandler.action" : "重新載入 {name}", 191 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
192 "service.errorHandler.editAction" : "編輯{名稱}", 192 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
193 "service.errorHandler.headline" : "噢不!", 193 "settings.account.tryReloadServices": "再試一次",
194 "service.errorHandler.message" : "錯誤", 194 "settings.account.tryReloadUserInfoRequest": "再試一次",
195 "service.errorHandler.text" : "{name} 載入失敗。", 195 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
196 "service.restrictedHandler.action" : "Upgrade Account", 196 "settings.account.userInfoRequestFailed": "無法載入使用者資訊。",
197 "service.restrictedHandler.customUrl.headline" : "Franz Professional Plan required", 197 "settings.account.yourLicense": "Your Ferdi License",
198 "service.restrictedHandler.customUrl.text" : "Please upgrade to the Franz Professional plan to use custom urls & self hosted services.", 198 "settings.app.buttonClearAllCache": "清除快取",
199 "service.restrictedHandler.serviceLimit.headline" : "You have reached your service limit.", 199 "settings.app.buttonInstallUpdate": "重新啟動並安裝更新",
200 "service.restrictedHandler.serviceLimit.text" : "Please upgrade your account to use more than {count} services.", 200 "settings.app.buttonSearchForUpdate": "檢查更新",
201 "service.webviewLoader.loading" : "正在載入", 201 "settings.app.cacheInfo": "Ferdi 快取目前占用 {size} 的磁碟空間。",
202 "services.getStarted" : "開始", 202 "settings.app.currentVersion": "目前的版本",
203 "services.welcome" : "歡迎使用 Franz", 203 "settings.app.form.autoLaunchInBackground": "在背景開啟",
204 "settings.account.account.editButton" : "編輯帳號", 204 "settings.app.form.autoLaunchOnStart": "開機時啟動 Ferdi",
205 "settings.account.accountType.basic" : "基礎帳號", 205 "settings.app.form.beta": "包含測試版",
206 "settings.account.accountType.premium" : "高級支援帳戶", 206 "settings.app.form.darkMode": "加入黑暗面",
207 "settings.account.buttonSave" : "更新簡介", 207 "settings.app.form.enableGPUAcceleration": "啟用 GPU 加速",
208 "settings.account.deleteAccount" : "移除帳號", 208 "settings.app.form.enableSpellchecking": "啟用拼字檢查",
209 "settings.account.deleteEmailSent" : "移除帳號之確認電郵已送出。你的帳號及相關資料將無法恢復!", 209 "settings.app.form.enableSystemTray": "在系統列顯示 Ferdi",
210 "settings.account.deleteInfo" : "如果不再需要你的帳號,你可以在這裡刪除帳號和所有相關資料。", 210 "settings.app.form.enableTodos": "Enable Ferdi Todos",
211 "settings.account.headline" : "帳號", 211 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
212 "settings.account.headlineAccount" : "帳戶資訊", 212 "settings.app.form.language": "語言",
213 "settings.account.headlineDangerZone" : "危險地帶", 213 "settings.app.form.minimizeToSystemTray": "最小化 Ferdi 到系統列",
214 "settings.account.headlineInvoices" : "帳單", 214 "settings.app.form.runInBackground": "當關閉視窗時,保持 Ferdi 在背景運作",
215 "settings.account.headlinePassword" : "變更密碼", 215 "settings.app.form.showDisabledServices": "顯示停用的服務標籤",
216 "settings.account.headlineProfile" : "更新簡介", 216 "settings.app.form.showMessagesBadgesWhenMuted": "當通知關閉時,標記未讀的訊息",
217 "settings.account.headlineSubscription" : "您的訂閱", 217 "settings.app.headline": "設定",
218 "settings.account.headlineTrialUpgrade" : "Get the free 14 day Franz Professional Trial", 218 "settings.app.headlineAdvanced": "進階",
219 "settings.account.headlineUpgradeAccount" : "Upgrade your account & get the full Franz experience", 219 "settings.app.headlineAppearance": "外觀",
220 "settings.account.invoiceDownload" : "下載", 220 "settings.app.headlineGeneral": "一般",
221 "settings.account.manageSubscription.label" : "管理您的訂閱", 221 "settings.app.headlineLanguage": "語言",
222 "settings.account.successInfo" : "您的更變已經被儲存", 222 "settings.app.headlineUpdates": "更新",
223 "settings.account.trial" : "Free Trial", 223 "settings.app.languageDisclaimer": "官方僅提供英語與德語,其他語言由社群提供翻譯。",
224 "settings.account.trialEndsIn" : "Your free trial ends in {duration}.", 224 "settings.app.restartRequired": "需要重啟以更變",
225 "settings.account.trialUpdateBillingInfo" : "Please update your billing info to continue using {license} after your trial period.", 225 "settings.app.subheadlineCache": "快取",
226 "settings.account.tryReloadServices" : "再試一次", 226 "settings.app.translationHelp": "幫助我們將 Ferdi 翻譯成您的語言。",
227 "settings.account.tryReloadUserInfoRequest" : "再試一次", 227 "settings.app.updateStatusAvailable": "有可用更新,下載中...",
228 "settings.account.upgradeToPro.label" : "Upgrade to Franz Professional", 228 "settings.app.updateStatusSearching": "正在搜尋更新",
229 "settings.account.userInfoRequestFailed" : "無法載入使用者資訊。", 229 "settings.app.updateStatusUpToDate": "您正在使用最新版本的 Ferdi",
230 "settings.account.yourLicense" : "Your Franz License", 230 "settings.invite.headline": "邀請朋友",
231 "settings.app.buttonClearAllCache" : "清除快取", 231 "settings.navigation.account": "帳號",
232 "settings.app.buttonInstallUpdate" : "重新啟動並安裝更新", 232 "settings.navigation.availableServices": "可使用的服務",
233 "settings.app.buttonSearchForUpdate" : "檢查更新", 233 "settings.navigation.inviteFriends": "邀請朋友",
234 "settings.app.cacheInfo" : "Franz 快取目前占用 {size} 的磁碟空間。", 234 "settings.navigation.logout": "登出",
235 "settings.app.currentVersion" : "目前的版本", 235 "settings.navigation.settings": "設定",
236 "settings.app.form.autoLaunchInBackground" : "在背景開啟", 236 "settings.navigation.team": "管理團隊",
237 "settings.app.form.autoLaunchOnStart" : "開機時啟動 Franz", 237 "settings.navigation.yourServices": "您的服務",
238 "settings.app.form.beta" : "包含測試版", 238 "settings.navigation.yourWorkspaces": "所有工作區",
239 "settings.app.form.darkMode" : "加入黑暗面", 239 "settings.recipes.all": "所有服務",
240 "settings.app.form.enableGPUAcceleration" : "啟用 GPU 加速", 240 "settings.recipes.custom": "Custom Services",
241 "settings.app.form.enableSpellchecking" : "啟用拼字檢查", 241 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
242 "settings.app.form.enableSystemTray" : "在系統列顯示 Franz", 242 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
243 "settings.app.form.enableTodos" : "Enable Franz Todos", 243 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
244 "settings.app.form.keepAllWorkspacesLoaded" : "Keep all workspaces loaded", 244 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
245 "settings.app.form.language" : "語言", 245 "settings.recipes.customService.openDevDocs": "Developer Documentation",
246 "settings.app.form.minimizeToSystemTray" : "最小化 Franz 到系統列", 246 "settings.recipes.customService.openFolder": "Open folder",
247 "settings.app.form.runInBackground" : "當關閉視窗時,保持 Franz 在背景運作", 247 "settings.recipes.headline": "可使用的服務",
248 "settings.app.form.showDisabledServices" : "顯示停用的服務標籤", 248 "settings.recipes.missingService": "缺少服務?",
249 "settings.app.form.showMessagesBadgesWhenMuted" : "當通知關閉時,標記未讀的訊息", 249 "settings.recipes.mostPopular": "最熱門",
250 "settings.app.headline" : "設定", 250 "settings.recipes.nothingFound": "很抱歉,沒有與您的搜尋字詞符合的服務",
251 "settings.app.headlineAdvanced" : "進階", 251 "settings.recipes.servicesSuccessfulAddedInfo": "服務已成功新增。",
252 "settings.app.headlineAppearance" : "外觀", 252 "settings.searchService": "尋找服務",
253 "settings.app.headlineGeneral" : "一般", 253 "settings.service.error.goBack": "返回服務",
254 "settings.app.headlineLanguage" : "語言", 254 "settings.service.error.headline": "錯誤",
255 "settings.app.headlineUpdates" : "更新", 255 "settings.service.error.message": "無法載入服務命令。",
256 "settings.app.languageDisclaimer" : "官方僅提供英語與德語,其他語言由社群提供翻譯。", 256 "settings.service.form.addServiceHeadline": "新增{name}",
257 "settings.app.restartRequired" : "需要重啟以更變", 257 "settings.service.form.availableServices": "可使用的服務",
258 "settings.app.subheadlineCache" : "快取", 258 "settings.service.form.customUrl": "自訂伺服器",
259 "settings.app.translationHelp" : "幫助我們將 Franz 翻譯成您的語言。", 259 "settings.service.form.customUrlPremiumInfo": "要添加自行託管的服務,您需要擁有 Ferdi 高級支援帳戶。",
260 "settings.app.updateStatusAvailable" : "有可用更新,下載中...", 260 "settings.service.form.customUrlUpgradeAccount": "升級您的帳戶",
261 "settings.app.updateStatusSearching" : "正在搜尋更新", 261 "settings.service.form.customUrlValidationError": "無法驗證自定義{name}服務器。",
262 "settings.app.updateStatusUpToDate" : "您正在使用最新版本的 Franz", 262 "settings.service.form.deleteButton": "刪除服務",
263 "settings.invite.headline" : "邀請朋友", 263 "settings.service.form.editServiceHeadline": "編輯 {名稱}",
264 "settings.navigation.account" : "帳號", 264 "settings.service.form.enableAudio": "啟用音訊",
265 "settings.navigation.availableServices" : "可使用的服務", 265 "settings.service.form.enableBadge": "顯示未讀訊息圖示",
266 "settings.navigation.inviteFriends" : "邀請朋友", 266 "settings.service.form.enableDarkMode": "開啟深色模式",
267 "settings.navigation.logout" : "登出", 267 "settings.service.form.enableNotification": "啟用通知",
268 "settings.navigation.settings" : "設定", 268 "settings.service.form.enableService": "啟用服務",
269 "settings.navigation.team" : "管理團隊", 269 "settings.service.form.headlineBadges": "未讀訊息圖示",
270 "settings.navigation.yourServices" : "您的服務", 270 "settings.service.form.headlineGeneral": "一般",
271 "settings.navigation.yourWorkspaces" : "所有工作區", 271 "settings.service.form.headlineNotifications": "通知",
272 "settings.recipes.all" : "所有服務", 272 "settings.service.form.icon": "自訂圖示",
273 "settings.recipes.custom" : "Custom Services", 273 "settings.service.form.iconDelete": "刪除",
274 "settings.recipes.customService.headline.communityRecipes" : "Community 3rd Party Recipes", 274 "settings.service.form.iconUpload": "拖曳你的圖片,或按此上傳",
275 "settings.recipes.customService.headline.customRecipes" : "Custom 3rd Party Recipes", 275 "settings.service.form.indirectMessageInfo": "您將收到有關頻道中所有新消息的通知,而不僅僅是@username,@channel,@here,...",
276 "settings.recipes.customService.headline.devRecipes" : "Your Development Service Recipes", 276 "settings.service.form.indirectMessages": "顯示所有新消息的消息標誌",
277 "settings.recipes.customService.intro" : "To add a custom service, copy the service recipe to:", 277 "settings.service.form.isMutedInfo": "停用時,所有通知聲和聲音播放都將靜音",
278 "settings.recipes.customService.openDevDocs" : "Developer Documentation", 278 "settings.service.form.name": "名稱",
279 "settings.recipes.customService.openFolder" : "Open folder", 279 "settings.service.form.proxy.headline": "HTTP/HTTPS 代理伺服器設定",
280 "settings.recipes.headline" : "可使用的服務", 280 "settings.service.form.proxy.host": "代理伺服器網域 / IP",
281 "settings.recipes.missingService" : "缺少服務?", 281 "settings.service.form.proxy.info": "Proxy 設定不會與 Ferdi 伺服器同步",
282 "settings.recipes.mostPopular" : "最熱門", 282 "settings.service.form.proxy.isEnabled": "使用 Proxy",
283 "settings.recipes.nothingFound" : "很抱歉,沒有與您的搜尋字詞符合的服務", 283 "settings.service.form.proxy.password": "密碼 (選填)",
284 "settings.recipes.servicesSuccessfulAddedInfo" : "服務已成功新增。", 284 "settings.service.form.proxy.port": "通訊阜",
285 "settings.searchService" : "尋找服務", 285 "settings.service.form.proxy.restartInfo": "在變更 Proxy 設定後,請重新啟動 Ferdi",
286 "settings.service.error.goBack" : "返回服務", 286 "settings.service.form.proxy.user": "使用者 (選填)",
287 "settings.service.error.headline" : "錯誤", 287 "settings.service.form.saveButton": "保存服務",
288 "settings.service.error.message" : "無法載入服務命令。", 288 "settings.service.form.tabHosted": "託管",
289 "settings.service.form.addServiceHeadline" : "新增{name}", 289 "settings.service.form.tabOnPremise": "自我託管⭐️",
290 "settings.service.form.availableServices" : "可使用的服務", 290 "settings.service.form.team": "團隊",
291 "settings.service.form.customUrl" : "自訂伺服器", 291 "settings.service.form.useHostedService": "使用託管{name}服務",
292 "settings.service.form.customUrlPremiumInfo" : "要添加自行託管的服務,您需要擁有 Franz 高級支援帳戶。", 292 "settings.service.form.yourServices": "您的服務",
293 "settings.service.form.customUrlUpgradeAccount" : "升級您的帳戶", 293 "settings.services.deletedInfo": "已刪除服務",
294 "settings.service.form.customUrlValidationError" : "無法驗證自定義{name}服務器。", 294 "settings.services.discoverServices": "發現服務",
295 "settings.service.form.deleteButton" : "刪除服務", 295 "settings.services.headline": "您的服務",
296 "settings.service.form.editServiceHeadline" : "編輯 {名稱}", 296 "settings.services.noServicesAdded": "你尚未新增任何服務",
297 "settings.service.form.enableAudio" : "啟用音訊", 297 "settings.services.servicesRequestFailed": "無法載入此服務",
298 "settings.service.form.enableBadge" : "顯示未讀訊息圖示", 298 "settings.services.tooltip.isDisabled": "服務已停用",
299 "settings.service.form.enableDarkMode" : "開啟深色模式", 299 "settings.services.tooltip.isMuted": "所有的聲音都是靜音",
300 "settings.service.form.enableNotification" : "啟用通知", 300 "settings.services.tooltip.notificationsDisabled": "通知已停用",
301 "settings.service.form.enableService" : "啟用服務", 301 "settings.services.updatedInfo": "已儲存你的變更",
302 "settings.service.form.headlineBadges" : "未讀訊息圖示", 302 "settings.team.contentHeadline": "Ferdi 團隊",
303 "settings.service.form.headlineGeneral" : "一般", 303 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
304 "settings.service.form.headlineNotifications" : "通知", 304 "settings.team.headline": "團隊",
305 "settings.service.form.icon" : "自訂圖示", 305 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
306 "settings.service.form.iconDelete" : "刪除", 306 "settings.team.manageAction": "Manage your Team on getferdi.com",
307 "settings.service.form.iconUpload" : "拖曳你的圖片,或按此上傳", 307 "settings.team.upgradeAction": "升級你的帳戶",
308 "settings.service.form.indirectMessageInfo" : "您將收到有關頻道中所有新消息的通知,而不僅僅是@username,@channel,@here,...", 308 "settings.user.form.accountType.company": "公司",
309 "settings.service.form.indirectMessages" : "顯示所有新消息的消息標誌", 309 "settings.user.form.accountType.individual": "個人",
310 "settings.service.form.isMutedInfo" : "停用時,所有通知聲和聲音播放都將靜音", 310 "settings.user.form.accountType.label": "帳戶類型",
311 "settings.service.form.name" : "名稱", 311 "settings.user.form.accountType.non-profit": "非盈利",
312 "settings.service.form.proxy.headline" : "HTTP\/HTTPS 代理伺服器設定", 312 "settings.user.form.currentPassword": "目前密碼",
313 "settings.service.form.proxy.host" : "代理伺服器網域 \/ IP", 313 "settings.user.form.email": "電子郵件",
314 "settings.service.form.proxy.info" : "Proxy 設定不會與 Franz 伺服器同步", 314 "settings.user.form.firstname": "名",
315 "settings.service.form.proxy.isEnabled" : "使用 Proxy", 315 "settings.user.form.lastname": "姓",
316 "settings.service.form.proxy.password" : "密碼 (選填)", 316 "settings.user.form.newPassword": "新密碼",
317 "settings.service.form.proxy.port" : "通訊阜", 317 "settings.workspace.add.form.name": "名稱",
318 "settings.service.form.proxy.restartInfo" : "在變更 Proxy 設定後,請重新啟動 Franz", 318 "settings.workspace.add.form.submitButton": "建立工作區",
319 "settings.service.form.proxy.user" : "使用者 (選填)", 319 "settings.workspace.form.buttonDelete": "刪除工作區",
320 "settings.service.form.saveButton" : "保存服務", 320 "settings.workspace.form.buttonSave": "儲存工作區",
321 "settings.service.form.tabHosted" : "託管", 321 "settings.workspace.form.name": "名稱",
322 "settings.service.form.tabOnPremise" : "自我託管⭐️", 322 "settings.workspace.form.servicesInWorkspaceHeadline": "這個工作區的服務",
323 "settings.service.form.team" : "團隊", 323 "settings.workspace.form.yourWorkspaces": "你的工作區",
324 "settings.service.form.useHostedService" : "使用託管{name}服務", 324 "settings.workspaces.deletedInfo": "成功刪除工作區",
325 "settings.service.form.yourServices" : "您的服務", 325 "settings.workspaces.headline": "你的工作區",
326 "settings.services.deletedInfo" : "已刪除服務", 326 "settings.workspaces.noWorkspacesAdded": "你尚未加入任何工作區",
327 "settings.services.discoverServices" : "發現服務", 327 "settings.workspaces.tryReloadWorkspaces": "再試一次",
328 "settings.services.headline" : "您的服務", 328 "settings.workspaces.updatedInfo": "成功儲存",
329 "settings.services.noServicesAdded" : "你尚未新增任何服務", 329 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
330 "settings.services.servicesRequestFailed" : "無法載入此服務", 330 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
331 "settings.services.tooltip.isDisabled" : "服務已停用", 331 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
332 "settings.services.tooltip.isMuted" : "所有的聲音都是靜音", 332 "sidebar.addNewService": "新增新的服務",
333 "settings.services.tooltip.notificationsDisabled" : "通知已停用", 333 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
334 "settings.services.updatedInfo" : "已儲存你的變更", 334 "sidebar.closeWorkspaceDrawer": "關閉工作空間",
335 "settings.team.contentHeadline" : "Franz 團隊", 335 "sidebar.muteApp": "關閉通知和通知音效",
336 "settings.team.copy" : "Franz for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!", 336 "sidebar.openTodosDrawer": "Open Ferdi Todos",
337 "settings.team.headline" : "團隊", 337 "sidebar.openWorkspaceDrawer": "打開工作空間",
338 "settings.team.intro" : "You and your team use Franz? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.", 338 "sidebar.settings": "設定",
339 "settings.team.manageAction" : "Manage your Team on meetfranz.com", 339 "sidebar.unmuteApp": "開啟通知和通知音效",
340 "settings.team.upgradeAction" : "升級你的帳戶", 340 "signup.email.label": "電子郵件地址",
341 "settings.user.form.accountType.company" : "公司", 341 "signup.emailDuplicate": "該使用者的電子郵件位址已存在",
342 "settings.user.form.accountType.individual" : "個人", 342 "signup.firstname.label": "名",
343 "settings.user.form.accountType.label" : "帳戶類型", 343 "signup.headline": "註冊",
344 "settings.user.form.accountType.non-profit" : "非盈利", 344 "signup.lastname.label": "姓",
345 "settings.user.form.currentPassword" : "目前密碼", 345 "signup.legal.info": "透過創建一個 Ferdi 帳戶,你同意",
346 "settings.user.form.email" : "電子郵件", 346 "signup.legal.privacy": "隱私聲明",
347 "settings.user.form.firstname" : "名", 347 "signup.legal.terms": "服務條款",
348 "settings.user.form.lastname" : "姓", 348 "signup.link.login": "已經有一個帳戶,登入?",
349 "settings.user.form.newPassword" : "新密碼", 349 "signup.password.label": "密碼",
350 "settings.workspace.add.form.name" : "名稱", 350 "signup.submit.label": "建立帳號",
351 "settings.workspace.add.form.submitButton" : "建立工作區", 351 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
352 "settings.workspace.form.buttonDelete" : "刪除工作區", 352 "subscription.cta.allOptions": "See all options",
353 "settings.workspace.form.buttonSave" : "儲存工作區", 353 "subscription.cta.choosePlan": "Choose your plan",
354 "settings.workspace.form.name" : "名稱", 354 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
355 "settings.workspace.form.servicesInWorkspaceHeadline" : "這個工作區的服務", 355 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:",
356 "settings.workspace.form.yourWorkspaces" : "你的工作區", 356 "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!",
357 "settings.workspaces.deletedInfo" : "成功刪除工作區", 357 "subscriptionPopup.buttonCancel": "取消",
358 "settings.workspaces.headline" : "你的工作區", 358 "subscriptionPopup.buttonDone": "完成",
359 "settings.workspaces.noWorkspacesAdded" : "你尚未加入任何工作區", 359 "tabs.item.deleteService": "刪除服務",
360 "settings.workspaces.tryReloadWorkspaces" : "再試一次", 360 "tabs.item.disableAudio": "停用音訊",
361 "settings.workspaces.updatedInfo" : "成功儲存", 361 "tabs.item.disableNotifications": "停用通知",
362 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces", 362 "tabs.item.disableService": "關閉服務",
363 "settings.workspaces.workspaceFeatureInfo" : "Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.", 363 "tabs.item.edit": "編輯",
364 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces", 364 "tabs.item.enableAudio": "啟用音訊",
365 "sidebar.addNewService" : "新增新的服務", 365 "tabs.item.enableNotification": "啟用通知",
366 "sidebar.closeTodosDrawer" : "Close Franz Todos", 366 "tabs.item.enableService": "啟用服務",
367 "sidebar.closeWorkspaceDrawer" : "關閉工作空間", 367 "tabs.item.reload": "重新載入",
368 "sidebar.muteApp" : "關閉通知和通知音效", 368 "validation.email": "{field}無效",
369 "sidebar.openTodosDrawer" : "Open Franz Todos", 369 "validation.minLength": "{field}長度至少應為{length}個字",
370 "sidebar.openWorkspaceDrawer" : "打開工作空間", 370 "validation.oneRequired": "At least one is required",
371 "sidebar.settings" : "設定", 371 "validation.required": "{field}為必填",
372 "sidebar.unmuteApp" : "開啟通知和通知音效", 372 "validation.url": "{field}不是個有效的網址",
373 "signup.email.label" : "電子郵件地址", 373 "welcome.loginButton": "登入您的帳戶",
374 "signup.emailDuplicate" : "該使用者的電子郵件位址已存在", 374 "welcome.signupButton": "建立免費帳號",
375 "signup.firstname.label" : "名", 375 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
376 "signup.headline" : "註冊", 376 "workspaceDrawer.allServices": "所有服務",
377 "signup.lastname.label" : "姓", 377 "workspaceDrawer.headline": "工作區",
378 "signup.legal.info" : "透過創建一個 Franz 帳戶,你同意", 378 "workspaceDrawer.item.contextMenuEdit": "edit",
379 "signup.legal.privacy" : "隱私聲明", 379 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
380 "signup.legal.terms" : "服務條款", 380 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
381 "signup.link.login" : "已經有一個帳戶,登入?", 381 "workspaceDrawer.proFeatureBadge": "Premium feature",
382 "signup.password.label" : "密碼", 382 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
383 "signup.submit.label" : "建立帳號", 383 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
384 "subscription.bestValue" : "Best value", 384 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
385 "subscription.cta.activateTrial" : "Yes, start the free Franz Professional trial", 385 "workspaces.switchingIndicator.switchingTo": "Switching to"
386 "subscription.cta.allOptions" : "See all options",
387 "subscription.cta.choosePlan" : "Choose your plan",
388 "subscription.includedProFeatures" : "The Franz Professional Plan includes:",
389 "subscription.interval.per" : "per {interval}",
390 "subscription.interval.perMonth" : "per month",
391 "subscription.interval.perMonthPerUser" : "per month & user",
392 "subscription.planItem.upgradeAccount" : "Upgrade Account",
393 "subscription.teaser.includedFeatures" : "Paid Franz Plans include:",
394 "subscription.teaser.intro" : "Franz 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!",
395 "subscriptionPopup.buttonCancel" : "取消",
396 "subscriptionPopup.buttonDone" : "完成",
397 "tabs.item.deleteService" : "刪除服務",
398 "tabs.item.disableAudio" : "停用音訊",
399 "tabs.item.disableNotifications" : "停用通知",
400 "tabs.item.disableService" : "關閉服務",
401 "tabs.item.edit" : "編輯",
402 "tabs.item.enableAudio" : "啟用音訊",
403 "tabs.item.enableNotification" : "啟用通知",
404 "tabs.item.enableService" : "啟用服務",
405 "tabs.item.reload" : "重新載入",
406 "validation.email" : "{field}無效",
407 "validation.minLength" : "{field}長度至少應為{length}個字",
408 "validation.oneRequired" : "At least one is required",
409 "validation.required" : "{field}為必填",
410 "validation.url" : "{field}不是個有效的網址",
411 "webControls.back" : "Back",
412 "webControls.forward" : "Forward",
413 "webControls.goHome" : "Home",
414 "webControls.openInBrowser" : "Open in Browser",
415 "webControls.reload" : "Reload",
416 "welcome.loginButton" : "登入您的帳戶",
417 "welcome.signupButton" : "建立免費帳號",
418 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace",
419 "workspaceDrawer.allServices" : "所有服務",
420 "workspaceDrawer.headline" : "工作區",
421 "workspaceDrawer.item.contextMenuEdit" : "edit",
422 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet",
423 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace",
424 "workspaceDrawer.proFeatureBadge" : "Premium feature",
425 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account",
426 "workspaceDrawer.workspaceFeatureInfo" : "<p>Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.<\/p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.<\/p>",
427 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings",
428 "workspaces.switchingIndicator.switchingTo" : "Switching to"
429} 386}
diff --git a/src/i18n/locales/zh.json b/src/i18n/locales/zh.json
new file mode 100644
index 000000000..628880d9f
--- /dev/null
+++ b/src/i18n/locales/zh.json
@@ -0,0 +1,448 @@
1{
2 "app.errorHandler.action": "Reload",
3 "app.errorHandler.headline": "Something went wrong",
4 "feature.announcements.changelog.headline": "Changes in Ferdi {version}",
5 "feature.delayApp.headline": "Please purchase a Ferdi Supporter License to skip waiting",
6 "feature.delayApp.text": "Ferdi will continue in {seconds} seconds.",
7 "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional",
8 "feature.delayApp.trial.actionShort": "Activate the free Ferdi Professional trial",
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",
11 "feature.delayApp.upgrade.actionShort": "Upgrade account",
12 "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
13 "feature.quickSwitch.search": "Search...",
14 "feature.quickSwitch.title": "QuickSwitch",
15 "feature.serviceLimit.limitReached": "You have added {amount} out of {limit} services that are included in your plan. Please upgrade your account to add more services.",
16 "feature.shareFranz.action.email": "Send as email",
17 "feature.shareFranz.action.facebook": "Share on Facebook",
18 "feature.shareFranz.action.twitter": "Share on Twitter",
19 "feature.shareFranz.headline": "Ferdi is better together!",
20 "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com",
21 "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger",
22 "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
23 "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.",
25 "feature.todos.premium.upgrade": "Upgrade Account",
26 "global.api.unhealthy": "Can't connect to Ferdi online services",
27 "global.franzProRequired": "Ferdi Professional Required",
28 "global.notConnectedToTheInternet": "You are not connected to the internet.",
29 "global.spellchecker.useDefault": "Use System Default ({default})",
30 "global.spellchecking.autodetect": "Detect language automatically",
31 "global.spellchecking.autodetect.short": "Automatic",
32 "global.spellchecking.language": "Spell checking language",
33 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
34 "import.headline": "Import your Ferdi 4 services",
35 "import.notSupportedHeadline": "Services not yet supported in Ferdi 5",
36 "import.skip.label": "I want to add services manually",
37 "import.submit.label": "Import services",
38 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.",
39 "infobar.buttonChangelog": "What is new?",
40 "infobar.buttonInstallUpdate": "Restart & install update",
41 "infobar.buttonReloadServices": "Reload services",
42 "infobar.requiredRequestsFailed": "Could not load services and user information",
43 "infobar.servicesUpdated": "Your services have been updated.",
44 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
45 "infobar.updateAvailable": "A new update for Ferdi is available.",
46 "invite.email.label": "Email address",
47 "invite.headline.friends": "Invite 3 of your friends or colleagues",
48 "invite.name.label": "Name",
49 "invite.skip.label": "I want to do this later",
50 "invite.submit.label": "Send invites",
51 "invite.successInfo": "Invitations sent successfully",
52 "locked.headline": "Locked",
53 "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
54 "locked.invalidCredentials": "Password invalid",
55 "locked.password.label": "Password",
56 "locked.submit.label": "Unlock",
57 "login.changeServer": "Change server",
58 "login.customServerQuestion": "Using a custom Ferdi server?",
59 "login.customServerSuggestion": "Try importing your Franz account",
60 "login.email.label": "Email address",
61 "login.headline": "Sign in",
62 "login.invalidCredentials": "Email or password not valid",
63 "login.link.password": "Reset password",
64 "login.link.signup": "Create a free account",
65 "login.password.label": "Password",
66 "login.serverLogout": "Your session expired, please login again.",
67 "login.submit.label": "Sign in",
68 "login.tokenExpired": "Your session expired, please login again.",
69 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
70 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
71 "menu.app.about": "About Ferdi",
72 "menu.app.announcement": "What's new?",
73 "menu.app.autohideMenuBar": "Auto-hide menu bar",
74 "menu.app.checkForUpdates": "Check for updates",
75 "menu.app.hide": "Hide",
76 "menu.app.hideOthers": "Hide Others",
77 "menu.app.quit": "Quit",
78 "menu.app.settings": "Settings",
79 "menu.app.unhide": "Unhide",
80 "menu.edit": "Edit",
81 "menu.edit.copy": "Copy",
82 "menu.edit.cut": "Cut",
83 "menu.edit.delete": "Delete",
84 "menu.edit.emojiSymbols": "Emoji & Symbols",
85 "menu.edit.paste": "Paste",
86 "menu.edit.pasteAndMatchStyle": "Paste And Match Style",
87 "menu.edit.redo": "Redo",
88 "menu.edit.selectAll": "Select All",
89 "menu.edit.speech": "Speech",
90 "menu.edit.startDictation": "Start Dictation",
91 "menu.edit.startSpeaking": "Start Speaking",
92 "menu.edit.stopSpeaking": "Stop Speaking",
93 "menu.edit.undo": "Undo",
94 "menu.file": "File",
95 "menu.help": "Help",
96 "menu.help.changelog": "Changelog",
97 "menu.help.debugInfo": "Copy Debug Information",
98 "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.",
99 "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information",
100 "menu.help.learnMore": "Learn More",
101 "menu.help.privacy": "Privacy Statement",
102 "menu.help.support": "Support",
103 "menu.help.tos": "Terms of Service",
104 "menu.services": "Services",
105 "menu.services.activatePreviousService": "Activate previous service",
106 "menu.services.addNewService": "Add New Service...",
107 "menu.services.goHome": "Home",
108 "menu.services.setNextServiceActive": "Activate next service",
109 "menu.todos": "Todos",
110 "menu.todos.enableTodos": "Enable Todos",
111 "menu.view": "View",
112 "menu.view.back": "Back",
113 "menu.view.enterFullScreen": "Enter Full Screen",
114 "menu.view.exitFullScreen": "Exit Full Screen",
115 "menu.view.forward": "Forward",
116 "menu.view.lockFerdi": "Lock Ferdi",
117 "menu.view.openQuickSwitch": "Open Quick Switch",
118 "menu.view.reloadFranz": "Reload Ferdi",
119 "menu.view.reloadService": "Reload Service",
120 "menu.view.resetZoom": "Actual Size",
121 "menu.view.toggleDevTools": "Toggle Developer Tools",
122 "menu.view.toggleFullScreen": "Toggle Full Screen",
123 "menu.view.toggleServiceDevTools": "Toggle Service Developer Tools",
124 "menu.view.toggleTodosDevTools": "Toggle Todos Developer Tools",
125 "menu.view.zoomIn": "Zoom In",
126 "menu.view.zoomOut": "Zoom Out",
127 "menu.window": "Window",
128 "menu.window.close": "Close",
129 "menu.window.minimize": "Minimize",
130 "menu.workspaces": "Workspaces",
131 "menu.workspaces.addNewWorkspace": "Add New Workspace...",
132 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
133 "menu.workspaces.defaultWorkspace": "All services",
134 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
135 "password.email.label": "Email address",
136 "password.headline": "Reset password",
137 "password.link.login": "Sign in to your account",
138 "password.link.signup": "Create a free account",
139 "password.noUser": "No user with that email address was found",
140 "password.submit.label": "Submit",
141 "password.successInfo": "Please check your email",
142 "premiumFeature.button.upgradeAccount": "Upgrade account",
143 "pricing.features.adFree": "Forever ad-free",
144 "pricing.features.appDelays": "No Waiting Screens",
145 "pricing.features.customWebsites": "Add Custom Websites",
146 "pricing.features.onPremise": "On-premise & other Hosted Services",
147 "pricing.features.serviceProxies": "Service Proxies",
148 "pricing.features.spellchecker": "Spellchecker support",
149 "pricing.features.teamManagement": "Team Management",
150 "pricing.features.thirdPartyServices": "Install 3rd party services",
151 "pricing.features.unlimitedServices": "Add unlimited services",
152 "pricing.features.workspaces": "Workspaces",
153 "pricing.plan.free": "Ferdi Free",
154 "pricing.plan.legacy": "Ferdi Premium",
155 "pricing.plan.personal": "Ferdi Personal",
156 "pricing.plan.personal-monthly": "Ferdi Personal Monthly",
157 "pricing.plan.personal-yearly": "Ferdi Personal Yearly",
158 "pricing.plan.pro": "Ferdi Professional",
159 "pricing.plan.pro-monthly": "Ferdi Professional Monthly",
160 "pricing.plan.pro-yearly": "Ferdi Professional Yearly",
161 "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional",
162 "pricing.trial.cta.skip": "Continue to Ferdi",
163 "pricing.trial.error": "Sorry, we could not activate your trial!",
164 "pricing.trial.features.headline": "Ferdi Professional includes:",
165 "pricing.trial.headline": "Ferdi Professional",
166 "pricing.trial.subheadline": "Your personal welcome offer:",
167 "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days",
168 "pricing.trial.terms.headline": "No strings attached",
169 "pricing.trial.terms.noCreditCard": "No credit card required",
170 "service.crashHandler.action": "Reload {name}",
171 "service.crashHandler.autoReload": "Trying to automatically restore {name} in {seconds} seconds",
172 "service.crashHandler.headline": "Oh no!",
173 "service.crashHandler.text": "{name} has caused an error.",
174 "service.disabledHandler.action": "Enable {name}",
175 "service.disabledHandler.headline": "{name} is disabled",
176 "service.errorHandler.action": "Reload {name}",
177 "service.errorHandler.editAction": "Edit {name}",
178 "service.errorHandler.headline": "Oh no!",
179 "service.errorHandler.message": "Error",
180 "service.errorHandler.text": "{name} has failed to load.",
181 "service.restrictedHandler.action": "Upgrade Account",
182 "service.restrictedHandler.customUrl.headline": "Ferdi Professional Plan required",
183 "service.restrictedHandler.customUrl.text": "Please upgrade to the Ferdi Professional plan to use custom urls & self hosted services.",
184 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.",
185 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
186 "service.webviewLoader.loading": "Loading",
187 "services.getStarted": "Get started",
188 "services.login": "Please login to use Ferdi.",
189 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
190 "services.serverless": "Use Ferdi without an Account",
191 "services.welcome": "Welcome to Ferdi",
192 "settings.account.account.editButton": "Edit account",
193 "settings.account.accountType.basic": "Basic Account",
194 "settings.account.accountType.premium": "Premium Supporter Account",
195 "settings.account.buttonSave": "Update profile",
196 "settings.account.deleteAccount": "Delete account",
197 "settings.account.deleteEmailSent": "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!",
198 "settings.account.deleteInfo": "If you don't need your Ferdi account any longer, you can delete your account and all related data here.",
199 "settings.account.headline": "Account",
200 "settings.account.headlineAccount": "Account information",
201 "settings.account.headlineDangerZone": "Danger Zone",
202 "settings.account.headlineInvoices": "Invoices",
203 "settings.account.headlinePassword": "Change password",
204 "settings.account.headlineProfile": "Update profile",
205 "settings.account.headlineSubscription": "Your subscription",
206 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
207 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
208 "settings.account.invoiceDownload": "Download",
209 "settings.account.manageSubscription.label": "Manage your subscription",
210 "settings.account.successInfo": "Your changes have been saved",
211 "settings.account.trial": "Free Trial",
212 "settings.account.trialEndsIn": "Your free trial ends in {duration}.",
213 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
214 "settings.account.tryReloadServices": "Try again",
215 "settings.account.tryReloadUserInfoRequest": "Try again",
216 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
217 "settings.account.userInfoRequestFailed": "Could not load user information",
218 "settings.account.yourLicense": "Your Ferdi License",
219 "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: #7367f0)",
220 "settings.app.buttonClearAllCache": "Clear cache",
221 "settings.app.buttonInstallUpdate": "Restart & install update",
222 "settings.app.buttonSearchForUpdate": "Check for updates",
223 "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.",
224 "settings.app.currentVersion": "Current version:",
225 "settings.app.form.accentColor": "Accent color",
226 "settings.app.form.autoLaunchInBackground": "Open in background",
227 "settings.app.form.autoLaunchOnStart": "Launch Ferdi on start",
228 "settings.app.form.beta": "Include beta versions",
229 "settings.app.form.darkMode": "Join the Dark Side",
230 "settings.app.form.enableGPUAcceleration": "Enable GPU Acceleration",
231 "settings.app.form.enableLock": "Enable Ferdi password lock",
232 "settings.app.form.enableSpellchecking": "Enable spell checking",
233 "settings.app.form.enableSystemTray": "Show Ferdi in system tray",
234 "settings.app.form.enableTodos": "Enable Ferdi Todos",
235 "settings.app.form.hibernate": "Enable service hibernation",
236 "settings.app.form.hibernationStrategy": "Hibernation strategy",
237 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
238 "settings.app.form.language": "Language",
239 "settings.app.form.lockPassword": "Ferdi Lock password",
240 "settings.app.form.minimizeToSystemTray": "Minimize Ferdi to system tray",
241 "settings.app.form.noUpdates": "Disable updates",
242 "settings.app.form.privateNotifications": "Don't show message content in notifications",
243 "settings.app.form.runInBackground": "Keep Ferdi in background when closing the window",
244 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
245 "settings.app.form.scheduledDNDEnd": "To",
246 "settings.app.form.scheduledDNDStart": "From",
247 "settings.app.form.server": "Server",
248 "settings.app.form.showDisabledServices": "Display disabled services tabs",
249 "settings.app.form.showMessagesBadgesWhenMuted": "Show unread message badge when notifications are disabled",
250 "settings.app.form.showServiceNavigationBar": "Always show service navigation bar",
251 "settings.app.form.todoServer": "Todo Server",
252 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
253 "settings.app.headline": "Settings",
254 "settings.app.headlineAdvanced": "Advanced",
255 "settings.app.headlineAppearance": "Appearance",
256 "settings.app.headlineGeneral": "General",
257 "settings.app.headlineLanguage": "Language",
258 "settings.app.headlineUpdates": "Updates",
259 "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
260 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
261 "settings.app.lockInfo": "Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
262 "settings.app.lockedPassword": "Ferdi Lock Password",
263 "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
264 "settings.app.restartRequired": "Changes require restart",
265 "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
266 "settings.app.scheduledDNDTimeInfo": "Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
267 "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.",
268 "settings.app.serverMoneyInfo": "You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
269 "settings.app.subheadlineCache": "Cache",
270 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
271 "settings.app.translationHelp": "Help us to translate Ferdi into your language.",
272 "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
273 "settings.app.updateStatusAvailable": "Update available, downloading...",
274 "settings.app.updateStatusSearching": "Is searching for update",
275 "settings.app.updateStatusUpToDate": "You are using the latest version of Ferdi",
276 "settings.invite.headline": "Invite Friends",
277 "settings.navigation.account": "Account",
278 "settings.navigation.availableServices": "Available services",
279 "settings.navigation.logout": "Logout",
280 "settings.navigation.settings": "Settings",
281 "settings.navigation.supportFerdi": "Support Ferdi",
282 "settings.navigation.team": "Manage Team",
283 "settings.navigation.yourServices": "Your services",
284 "settings.navigation.yourWorkspaces": "Your workspaces",
285 "settings.recipes.all": "All services",
286 "settings.recipes.custom": "Custom Services",
287 "settings.recipes.customService.headline.communityRecipes": "Community 3rd Party Recipes",
288 "settings.recipes.customService.headline.customRecipes": "Custom 3rd Party Recipes",
289 "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes",
290 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:",
291 "settings.recipes.customService.openDevDocs": "Developer Documentation",
292 "settings.recipes.customService.openFolder": "Open folder",
293 "settings.recipes.headline": "Available services",
294 "settings.recipes.missingService": "Missing a service?",
295 "settings.recipes.mostPopular": "Most popular",
296 "settings.recipes.nothingFound": "Sorry, but no service matched your search term.",
297 "settings.recipes.servicesSuccessfulAddedInfo": "Service successfully added",
298 "settings.searchService": "Search service",
299 "settings.service.error.goBack": "Back to services",
300 "settings.service.error.headline": "Error",
301 "settings.service.error.message": "Could not load service recipe.",
302 "settings.service.form.addServiceHeadline": "Add {name}",
303 "settings.service.form.availableServices": "Available services",
304 "settings.service.form.customUrl": "Custom server",
305 "settings.service.form.customUrlPremiumInfo": "To add self hosted services, you need a Ferdi Premium Supporter Account.",
306 "settings.service.form.customUrlUpgradeAccount": "Upgrade your account",
307 "settings.service.form.customUrlValidationError": "Could not validate custom {name} server.",
308 "settings.service.form.deleteButton": "Delete service",
309 "settings.service.form.editServiceHeadline": "Edit {name}",
310 "settings.service.form.enableAudio": "Enable audio",
311 "settings.service.form.enableBadge": "Show unread message badges",
312 "settings.service.form.enableDarkMode": "Enable Dark Mode",
313 "settings.service.form.enableNotification": "Enable notifications",
314 "settings.service.form.enableService": "Enable service",
315 "settings.service.form.headlineBadges": "Unread message badges",
316 "settings.service.form.headlineGeneral": "General",
317 "settings.service.form.headlineNotifications": "Notifications",
318 "settings.service.form.icon": "Custom icon",
319 "settings.service.form.iconDelete": "Delete",
320 "settings.service.form.iconUpload": "Drop your image, or click here",
321 "settings.service.form.indirectMessageInfo": "You will be notified about all new messages in a channel, not just @username, @channel, @here, ...",
322 "settings.service.form.indirectMessages": "Show message badge for all new messages",
323 "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted",
324 "settings.service.form.name": "Name",
325 "settings.service.form.openDarkmodeCss": "Open darkmode.css",
326 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings",
327 "settings.service.form.proxy.host": "Proxy Host/IP",
328 "settings.service.form.proxy.info": "Proxy settings will not synced with the Ferdi servers.",
329 "settings.service.form.proxy.isEnabled": "Use Proxy",
330 "settings.service.form.proxy.password": "Password (optional)",
331 "settings.service.form.proxy.port": "Port",
332 "settings.service.form.proxy.restartInfo": "Please restart Ferdi after changing proxy Settings.",
333 "settings.service.form.proxy.user": "User (optional)",
334 "settings.service.form.saveButton": "Save service",
335 "settings.service.form.tabHosted": "Hosted",
336 "settings.service.form.tabOnPremise": "Self hosted ⭐️",
337 "settings.service.form.team": "Team",
338 "settings.service.form.useHostedService": "Use the hosted {name} service.",
339 "settings.service.form.yourServices": "Your services",
340 "settings.services.deletedInfo": "Service has been deleted",
341 "settings.services.discoverServices": "Discover services",
342 "settings.services.headline": "Your services",
343 "settings.services.noServicesAdded": "You haven't added any services yet.",
344 "settings.services.servicesRequestFailed": "Could not load your services",
345 "settings.services.tooltip.isDisabled": "Service is disabled",
346 "settings.services.tooltip.isMuted": "All sounds are muted",
347 "settings.services.tooltip.notificationsDisabled": "Notifications are disabled",
348 "settings.services.updatedInfo": "Your changes have been saved",
349 "settings.supportFerdi.github": "Star on GitHub",
350 "settings.supportFerdi.headline": "Support Ferdi",
351 "settings.supportFerdi.openCollective": "Support our Open Collective",
352 "settings.supportFerdi.share": "Tell your Friends",
353 "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!",
354 "settings.team.contentHeadline": "Ferdi for Teams",
355 "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
356 "settings.team.headline": "Team",
357 "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.",
358 "settings.team.manageAction": "Manage your Team on getferdi.com",
359 "settings.team.teamsUnavailable": "Teams are unavailable",
360 "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
361 "settings.team.upgradeAction": "Upgrade your Account",
362 "settings.user.form.accountType.company": "Company",
363 "settings.user.form.accountType.individual": "Individual",
364 "settings.user.form.accountType.label": "Account type",
365 "settings.user.form.accountType.non-profit": "Non-Profit",
366 "settings.user.form.currentPassword": "Current password",
367 "settings.user.form.email": "Email",
368 "settings.user.form.firstname": "First Name",
369 "settings.user.form.lastname": "Last Name",
370 "settings.user.form.newPassword": "New password",
371 "settings.workspace.add.form.name": "Name",
372 "settings.workspace.add.form.submitButton": "Create workspace",
373 "settings.workspace.form.buttonDelete": "Delete workspace",
374 "settings.workspace.form.buttonSave": "Save workspace",
375 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*",
376 "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
377 "settings.workspace.form.name": "Name",
378 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
379 "settings.workspace.form.yourWorkspaces": "Your workspaces",
380 "settings.workspaces.deletedInfo": "Workspace has been deleted",
381 "settings.workspaces.headline": "Your workspaces",
382 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
383 "settings.workspaces.tryReloadWorkspaces": "Try again",
384 "settings.workspaces.updatedInfo": "Your changes have been saved",
385 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces",
386 "settings.workspaces.workspaceFeatureInfo": "Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.",
387 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
388 "sidebar.addNewService": "Add new service",
389 "sidebar.closeTodosDrawer": "Close Ferdi Todos",
390 "sidebar.closeWorkspaceDrawer": "Close workspace drawer",
391 "sidebar.lockFerdi": "Lock Ferdi",
392 "sidebar.muteApp": "Disable notifications & audio",
393 "sidebar.openTodosDrawer": "Open Ferdi Todos",
394 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
395 "sidebar.settings": "Settings",
396 "sidebar.unmuteApp": "Enable notifications & audio",
397 "signup.email.label": "Email address",
398 "signup.emailDuplicate": "A user with that email address already exists",
399 "signup.firstname.label": "First Name",
400 "signup.headline": "Sign up",
401 "signup.lastname.label": "Last Name",
402 "signup.legal.info": "By creating a Ferdi account you accept the",
403 "signup.legal.privacy": "Privacy Statement",
404 "signup.legal.terms": "Terms of service",
405 "signup.link.login": "Already have an account, sign in?",
406 "signup.password.label": "Password",
407 "signup.submit.label": "Create account",
408 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
409 "subscription.cta.allOptions": "See all options",
410 "subscription.cta.choosePlan": "Choose your plan",
411 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
412 "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!",
414 "subscriptionPopup.buttonCancel": "Cancel",
415 "subscriptionPopup.buttonDone": "Done",
416 "tabs.item.deleteService": "Delete service",
417 "tabs.item.disableAudio": "Disable audio",
418 "tabs.item.disableNotifications": "Disable notifications",
419 "tabs.item.disableService": "Disable service",
420 "tabs.item.edit": "Edit",
421 "tabs.item.enableAudio": "Enable audio",
422 "tabs.item.enableNotification": "Enable notifications",
423 "tabs.item.enableService": "Enable service",
424 "tabs.item.reload": "Reload",
425 "validation.email": "{field} is not valid",
426 "validation.minLength": "{field} should be at least {length} characters long",
427 "validation.oneRequired": "At least one is required",
428 "validation.required": "{field} is required",
429 "validation.url": "{field} is not a valid URL",
430 "webControls.back": "Back",
431 "webControls.forward": "Forward",
432 "webControls.goHome": "Home",
433 "webControls.openInBrowser": "Open in Browser",
434 "webControls.reload": "Reload",
435 "welcome.loginButton": "Login to your account",
436 "welcome.signupButton": "Create a free account",
437 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
438 "workspaceDrawer.allServices": "All services",
439 "workspaceDrawer.headline": "Workspaces",
440 "workspaceDrawer.item.contextMenuEdit": "edit",
441 "workspaceDrawer.item.noServicesAddedYet": "No services added yet",
442 "workspaceDrawer.premiumCtaButtonLabel": "Create your first workspace",
443 "workspaceDrawer.proFeatureBadge": "Premium feature",
444 "workspaceDrawer.reactivatePremiumAccountLabel": "Reactivate premium account",
445 "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>",
446 "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings",
447 "workspaces.switchingIndicator.switchingTo": "Switching to"
448}
diff --git a/src/i18n/messages/src/components/AppUpdateInfoBar.json b/src/i18n/messages/src/components/AppUpdateInfoBar.json
index c4c2d0cae..da801b548 100644
--- a/src/i18n/messages/src/components/AppUpdateInfoBar.json
+++ b/src/i18n/messages/src/components/AppUpdateInfoBar.json
@@ -1,7 +1,7 @@
1[ 1[
2 { 2 {
3 "id": "infobar.updateAvailable", 3 "id": "infobar.updateAvailable",
4 "defaultMessage": "!!!A new update for Franz is available.", 4 "defaultMessage": "!!!A new update for Ferdi is available.",
5 "file": "src/components/AppUpdateInfoBar.js", 5 "file": "src/components/AppUpdateInfoBar.js",
6 "start": { 6 "start": {
7 "line": 9, 7 "line": 9,
diff --git a/src/i18n/messages/src/components/auth/Import.json b/src/i18n/messages/src/components/auth/Import.json
index 264fc729b..98ae2e61f 100644
--- a/src/i18n/messages/src/components/auth/Import.json
+++ b/src/i18n/messages/src/components/auth/Import.json
@@ -1,7 +1,7 @@
1[ 1[
2 { 2 {
3 "id": "import.headline", 3 "id": "import.headline",
4 "defaultMessage": "!!!Import your Franz 4 services", 4 "defaultMessage": "!!!Import your Ferdi 4 services",
5 "file": "src/components/auth/Import.js", 5 "file": "src/components/auth/Import.js",
6 "start": { 6 "start": {
7 "line": 13, 7 "line": 13,
@@ -14,7 +14,7 @@
14 }, 14 },
15 { 15 {
16 "id": "import.notSupportedHeadline", 16 "id": "import.notSupportedHeadline",
17 "defaultMessage": "!!!Services not yet supported in Franz 5", 17 "defaultMessage": "!!!Services not yet supported in Ferdi 5",
18 "file": "src/components/auth/Import.js", 18 "file": "src/components/auth/Import.js",
19 "start": { 19 "start": {
20 "line": 17, 20 "line": 17,
diff --git a/src/i18n/messages/src/components/auth/Locked.json b/src/i18n/messages/src/components/auth/Locked.json
new file mode 100644
index 000000000..86b1cae90
--- /dev/null
+++ b/src/i18n/messages/src/components/auth/Locked.json
@@ -0,0 +1,67 @@
1[
2 {
3 "id": "locked.headline",
4 "defaultMessage": "!!!Locked",
5 "file": "src/components/auth/Locked.js",
6 "start": {
7 "line": 15,
8 "column": 12
9 },
10 "end": {
11 "line": 18,
12 "column": 3
13 }
14 },
15 {
16 "id": "locked.info",
17 "defaultMessage": "!!!Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.",
18 "file": "src/components/auth/Locked.js",
19 "start": {
20 "line": 19,
21 "column": 8
22 },
23 "end": {
24 "line": 22,
25 "column": 3
26 }
27 },
28 {
29 "id": "locked.password.label",
30 "defaultMessage": "!!!Password",
31 "file": "src/components/auth/Locked.js",
32 "start": {
33 "line": 23,
34 "column": 17
35 },
36 "end": {
37 "line": 26,
38 "column": 3
39 }
40 },
41 {
42 "id": "locked.submit.label",
43 "defaultMessage": "!!!Unlock",
44 "file": "src/components/auth/Locked.js",
45 "start": {
46 "line": 27,
47 "column": 21
48 },
49 "end": {
50 "line": 30,
51 "column": 3
52 }
53 },
54 {
55 "id": "locked.invalidCredentials",
56 "defaultMessage": "!!!Password invalid",
57 "file": "src/components/auth/Locked.js",
58 "start": {
59 "line": 31,
60 "column": 22
61 },
62 "end": {
63 "line": 34,
64 "column": 3
65 }
66 }
67] \ No newline at end of file
diff --git a/src/i18n/messages/src/components/auth/Login.json b/src/i18n/messages/src/components/auth/Login.json
index 177f6000b..c3b4ee4eb 100644
--- a/src/i18n/messages/src/components/auth/Login.json
+++ b/src/i18n/messages/src/components/auth/Login.json
@@ -4,11 +4,11 @@
4 "defaultMessage": "!!!Sign in", 4 "defaultMessage": "!!!Sign in",
5 "file": "src/components/auth/Login.js", 5 "file": "src/components/auth/Login.js",
6 "start": { 6 "start": {
7 "line": 17, 7 "line": 19,
8 "column": 12 8 "column": 12
9 }, 9 },
10 "end": { 10 "end": {
11 "line": 20, 11 "line": 22,
12 "column": 3 12 "column": 3
13 } 13 }
14 }, 14 },
@@ -17,11 +17,11 @@
17 "defaultMessage": "!!!Email address", 17 "defaultMessage": "!!!Email address",
18 "file": "src/components/auth/Login.js", 18 "file": "src/components/auth/Login.js",
19 "start": { 19 "start": {
20 "line": 21, 20 "line": 23,
21 "column": 14 21 "column": 14
22 }, 22 },
23 "end": { 23 "end": {
24 "line": 24, 24 "line": 26,
25 "column": 3 25 "column": 3
26 } 26 }
27 }, 27 },
@@ -30,11 +30,11 @@
30 "defaultMessage": "!!!Password", 30 "defaultMessage": "!!!Password",
31 "file": "src/components/auth/Login.js", 31 "file": "src/components/auth/Login.js",
32 "start": { 32 "start": {
33 "line": 25, 33 "line": 27,
34 "column": 17 34 "column": 17
35 }, 35 },
36 "end": { 36 "end": {
37 "line": 28, 37 "line": 30,
38 "column": 3 38 "column": 3
39 } 39 }
40 }, 40 },
@@ -43,11 +43,11 @@
43 "defaultMessage": "!!!Sign in", 43 "defaultMessage": "!!!Sign in",
44 "file": "src/components/auth/Login.js", 44 "file": "src/components/auth/Login.js",
45 "start": { 45 "start": {
46 "line": 29, 46 "line": 31,
47 "column": 21 47 "column": 21
48 }, 48 },
49 "end": { 49 "end": {
50 "line": 32, 50 "line": 34,
51 "column": 3 51 "column": 3
52 } 52 }
53 }, 53 },
@@ -56,11 +56,37 @@
56 "defaultMessage": "!!!Email or password not valid", 56 "defaultMessage": "!!!Email or password not valid",
57 "file": "src/components/auth/Login.js", 57 "file": "src/components/auth/Login.js",
58 "start": { 58 "start": {
59 "line": 33, 59 "line": 35,
60 "column": 22 60 "column": 22
61 }, 61 },
62 "end": { 62 "end": {
63 "line": 36, 63 "line": 38,
64 "column": 3
65 }
66 },
67 {
68 "id": "login.customServerQuestion",
69 "defaultMessage": "!!!Using a Franz account to log in?",
70 "file": "src/components/auth/Login.js",
71 "start": {
72 "line": 39,
73 "column": 24
74 },
75 "end": {
76 "line": 42,
77 "column": 3
78 }
79 },
80 {
81 "id": "login.customServerSuggestion",
82 "defaultMessage": "!!!Try importing your Franz account into Ferdi",
83 "file": "src/components/auth/Login.js",
84 "start": {
85 "line": 43,
86 "column": 26
87 },
88 "end": {
89 "line": 46,
64 "column": 3 90 "column": 3
65 } 91 }
66 }, 92 },
@@ -69,11 +95,11 @@
69 "defaultMessage": "!!!Your session expired, please login again.", 95 "defaultMessage": "!!!Your session expired, please login again.",
70 "file": "src/components/auth/Login.js", 96 "file": "src/components/auth/Login.js",
71 "start": { 97 "start": {
72 "line": 37, 98 "line": 47,
73 "column": 16 99 "column": 16
74 }, 100 },
75 "end": { 101 "end": {
76 "line": 40, 102 "line": 50,
77 "column": 3 103 "column": 3
78 } 104 }
79 }, 105 },
@@ -82,11 +108,11 @@
82 "defaultMessage": "!!!Your session expired, please login again.", 108 "defaultMessage": "!!!Your session expired, please login again.",
83 "file": "src/components/auth/Login.js", 109 "file": "src/components/auth/Login.js",
84 "start": { 110 "start": {
85 "line": 41, 111 "line": 51,
86 "column": 16 112 "column": 16
87 }, 113 },
88 "end": { 114 "end": {
89 "line": 44, 115 "line": 54,
90 "column": 3 116 "column": 3
91 } 117 }
92 }, 118 },
@@ -95,11 +121,37 @@
95 "defaultMessage": "!!!Create a free account", 121 "defaultMessage": "!!!Create a free account",
96 "file": "src/components/auth/Login.js", 122 "file": "src/components/auth/Login.js",
97 "start": { 123 "start": {
98 "line": 45, 124 "line": 55,
125 "column": 14
126 },
127 "end": {
128 "line": 58,
129 "column": 3
130 }
131 },
132 {
133 "id": "login.changeServer",
134 "defaultMessage": "!!!Change server",
135 "file": "src/components/auth/Login.js",
136 "start": {
137 "line": 59,
138 "column": 16
139 },
140 "end": {
141 "line": 62,
142 "column": 3
143 }
144 },
145 {
146 "id": "services.serverless",
147 "defaultMessage": "!!!Use Ferdi without an Account",
148 "file": "src/components/auth/Login.js",
149 "start": {
150 "line": 63,
99 "column": 14 151 "column": 14
100 }, 152 },
101 "end": { 153 "end": {
102 "line": 48, 154 "line": 66,
103 "column": 3 155 "column": 3
104 } 156 }
105 }, 157 },
@@ -108,11 +160,11 @@
108 "defaultMessage": "!!!Forgot password", 160 "defaultMessage": "!!!Forgot password",
109 "file": "src/components/auth/Login.js", 161 "file": "src/components/auth/Login.js",
110 "start": { 162 "start": {
111 "line": 49, 163 "line": 67,
112 "column": 16 164 "column": 16
113 }, 165 },
114 "end": { 166 "end": {
115 "line": 52, 167 "line": 70,
116 "column": 3 168 "column": 3
117 } 169 }
118 } 170 }
diff --git a/src/i18n/messages/src/components/auth/Pricing.json b/src/i18n/messages/src/components/auth/Pricing.json
index 6db39148c..c4c94bb32 100644
--- a/src/i18n/messages/src/components/auth/Pricing.json
+++ b/src/i18n/messages/src/components/auth/Pricing.json
@@ -144,7 +144,7 @@
144 }, 144 },
145 { 145 {
146 "id": "pricing.trial.cta.skip", 146 "id": "pricing.trial.cta.skip",
147 "defaultMessage": "!!!Continue to Franz", 147 "defaultMessage": "!!!Continue to Ferdi",
148 "file": "src/components/auth/Pricing.js", 148 "file": "src/components/auth/Pricing.js",
149 "start": { 149 "start": {
150 "line": 59, 150 "line": 59,
diff --git a/src/i18n/messages/src/components/auth/Signup.json b/src/i18n/messages/src/components/auth/Signup.json
index 2ea71e5ff..2628c9aa3 100644
--- a/src/i18n/messages/src/components/auth/Signup.json
+++ b/src/i18n/messages/src/components/auth/Signup.json
@@ -4,11 +4,11 @@
4 "defaultMessage": "!!!Sign up", 4 "defaultMessage": "!!!Sign up",
5 "file": "src/components/auth/Signup.js", 5 "file": "src/components/auth/Signup.js",
6 "start": { 6 "start": {
7 "line": 17, 7 "line": 19,
8 "column": 12 8 "column": 12
9 }, 9 },
10 "end": { 10 "end": {
11 "line": 20, 11 "line": 22,
12 "column": 3 12 "column": 3
13 } 13 }
14 }, 14 },
@@ -17,11 +17,11 @@
17 "defaultMessage": "!!!Firstname", 17 "defaultMessage": "!!!Firstname",
18 "file": "src/components/auth/Signup.js", 18 "file": "src/components/auth/Signup.js",
19 "start": { 19 "start": {
20 "line": 21, 20 "line": 23,
21 "column": 18 21 "column": 18
22 }, 22 },
23 "end": { 23 "end": {
24 "line": 24, 24 "line": 26,
25 "column": 3 25 "column": 3
26 } 26 }
27 }, 27 },
@@ -30,11 +30,11 @@
30 "defaultMessage": "!!!Lastname", 30 "defaultMessage": "!!!Lastname",
31 "file": "src/components/auth/Signup.js", 31 "file": "src/components/auth/Signup.js",
32 "start": { 32 "start": {
33 "line": 25, 33 "line": 27,
34 "column": 17 34 "column": 17
35 }, 35 },
36 "end": { 36 "end": {
37 "line": 28, 37 "line": 30,
38 "column": 3 38 "column": 3
39 } 39 }
40 }, 40 },
@@ -43,11 +43,11 @@
43 "defaultMessage": "!!!Email address", 43 "defaultMessage": "!!!Email address",
44 "file": "src/components/auth/Signup.js", 44 "file": "src/components/auth/Signup.js",
45 "start": { 45 "start": {
46 "line": 29, 46 "line": 31,
47 "column": 14 47 "column": 14
48 }, 48 },
49 "end": { 49 "end": {
50 "line": 32, 50 "line": 34,
51 "column": 3 51 "column": 3
52 } 52 }
53 }, 53 },
@@ -56,24 +56,24 @@
56 "defaultMessage": "!!!Password", 56 "defaultMessage": "!!!Password",
57 "file": "src/components/auth/Signup.js", 57 "file": "src/components/auth/Signup.js",
58 "start": { 58 "start": {
59 "line": 37, 59 "line": 39,
60 "column": 17 60 "column": 17
61 }, 61 },
62 "end": { 62 "end": {
63 "line": 40, 63 "line": 42,
64 "column": 3 64 "column": 3
65 } 65 }
66 }, 66 },
67 { 67 {
68 "id": "signup.legal.info", 68 "id": "signup.legal.info",
69 "defaultMessage": "!!!By creating a Franz account you accept the", 69 "defaultMessage": "!!!By creating a Ferdi account you accept the",
70 "file": "src/components/auth/Signup.js", 70 "file": "src/components/auth/Signup.js",
71 "start": { 71 "start": {
72 "line": 41, 72 "line": 43,
73 "column": 13 73 "column": 13
74 }, 74 },
75 "end": { 75 "end": {
76 "line": 44, 76 "line": 46,
77 "column": 3 77 "column": 3
78 } 78 }
79 }, 79 },
@@ -82,11 +82,11 @@
82 "defaultMessage": "!!!Terms of service", 82 "defaultMessage": "!!!Terms of service",
83 "file": "src/components/auth/Signup.js", 83 "file": "src/components/auth/Signup.js",
84 "start": { 84 "start": {
85 "line": 45, 85 "line": 47,
86 "column": 9 86 "column": 9
87 }, 87 },
88 "end": { 88 "end": {
89 "line": 48, 89 "line": 50,
90 "column": 3 90 "column": 3
91 } 91 }
92 }, 92 },
@@ -95,11 +95,11 @@
95 "defaultMessage": "!!!Privacy Statement", 95 "defaultMessage": "!!!Privacy Statement",
96 "file": "src/components/auth/Signup.js", 96 "file": "src/components/auth/Signup.js",
97 "start": { 97 "start": {
98 "line": 49, 98 "line": 51,
99 "column": 11 99 "column": 11
100 }, 100 },
101 "end": { 101 "end": {
102 "line": 52, 102 "line": 54,
103 "column": 3 103 "column": 3
104 } 104 }
105 }, 105 },
@@ -108,11 +108,11 @@
108 "defaultMessage": "!!!Create account", 108 "defaultMessage": "!!!Create account",
109 "file": "src/components/auth/Signup.js", 109 "file": "src/components/auth/Signup.js",
110 "start": { 110 "start": {
111 "line": 53, 111 "line": 55,
112 "column": 21 112 "column": 21
113 }, 113 },
114 "end": { 114 "end": {
115 "line": 56, 115 "line": 58,
116 "column": 3 116 "column": 3
117 } 117 }
118 }, 118 },
@@ -121,11 +121,37 @@
121 "defaultMessage": "!!!Already have an account, sign in?", 121 "defaultMessage": "!!!Already have an account, sign in?",
122 "file": "src/components/auth/Signup.js", 122 "file": "src/components/auth/Signup.js",
123 "start": { 123 "start": {
124 "line": 57, 124 "line": 59,
125 "column": 13 125 "column": 13
126 }, 126 },
127 "end": { 127 "end": {
128 "line": 60, 128 "line": 62,
129 "column": 3
130 }
131 },
132 {
133 "id": "login.changeServer",
134 "defaultMessage": "!!!Change server",
135 "file": "src/components/auth/Signup.js",
136 "start": {
137 "line": 63,
138 "column": 16
139 },
140 "end": {
141 "line": 66,
142 "column": 3
143 }
144 },
145 {
146 "id": "services.serverless",
147 "defaultMessage": "!!!Use Ferdi without an Account",
148 "file": "src/components/auth/Signup.js",
149 "start": {
150 "line": 67,
151 "column": 14
152 },
153 "end": {
154 "line": 70,
129 "column": 3 155 "column": 3
130 } 156 }
131 }, 157 },
@@ -134,11 +160,11 @@
134 "defaultMessage": "!!!A user with that email address already exists", 160 "defaultMessage": "!!!A user with that email address already exists",
135 "file": "src/components/auth/Signup.js", 161 "file": "src/components/auth/Signup.js",
136 "start": { 162 "start": {
137 "line": 61, 163 "line": 71,
138 "column": 18 164 "column": 18
139 }, 165 },
140 "end": { 166 "end": {
141 "line": 64, 167 "line": 74,
142 "column": 3 168 "column": 3
143 } 169 }
144 } 170 }
diff --git a/src/i18n/messages/src/components/auth/Welcome.json b/src/i18n/messages/src/components/auth/Welcome.json
index b4d2ce689..3f0c1e5c2 100644
--- a/src/i18n/messages/src/components/auth/Welcome.json
+++ b/src/i18n/messages/src/components/auth/Welcome.json
@@ -4,11 +4,11 @@
4 "defaultMessage": "!!!Create a free account", 4 "defaultMessage": "!!!Create a free account",
5 "file": "src/components/auth/Welcome.js", 5 "file": "src/components/auth/Welcome.js",
6 "start": { 6 "start": {
7 "line": 9, 7 "line": 11,
8 "column": 16 8 "column": 16
9 }, 9 },
10 "end": { 10 "end": {
11 "line": 12, 11 "line": 14,
12 "column": 3 12 "column": 3
13 } 13 }
14 }, 14 },
@@ -17,11 +17,24 @@
17 "defaultMessage": "!!!Login to your account", 17 "defaultMessage": "!!!Login to your account",
18 "file": "src/components/auth/Welcome.js", 18 "file": "src/components/auth/Welcome.js",
19 "start": { 19 "start": {
20 "line": 13, 20 "line": 15,
21 "column": 15 21 "column": 15
22 }, 22 },
23 "end": { 23 "end": {
24 "line": 16, 24 "line": 18,
25 "column": 3
26 }
27 },
28 {
29 "id": "services.serverless",
30 "defaultMessage": "!!!Use Ferdi without an Account",
31 "file": "src/components/auth/Welcome.js",
32 "start": {
33 "line": 19,
34 "column": 14
35 },
36 "end": {
37 "line": 22,
25 "column": 3 38 "column": 3
26 } 39 }
27 } 40 }
diff --git a/src/i18n/messages/src/components/layout/AppLayout.json b/src/i18n/messages/src/components/layout/AppLayout.json
index 95da24042..8b7fcf1b2 100644
--- a/src/i18n/messages/src/components/layout/AppLayout.json
+++ b/src/i18n/messages/src/components/layout/AppLayout.json
@@ -37,5 +37,18 @@
37 "line": 41, 37 "line": 41,
38 "column": 3 38 "column": 3
39 } 39 }
40 },
41 {
42 "id": "infobar.authRequestFailed",
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",
45 "start": {
46 "line": 40,
47 "column": 21
48 },
49 "end": {
50 "line": 43,
51 "column": 3
52 }
40 } 53 }
41] \ No newline at end of file 54] \ No newline at end of file
diff --git a/src/i18n/messages/src/components/layout/Sidebar.json b/src/i18n/messages/src/components/layout/Sidebar.json
index 837dc54bc..ddd9cd094 100644
--- a/src/i18n/messages/src/components/layout/Sidebar.json
+++ b/src/i18n/messages/src/components/layout/Sidebar.json
@@ -102,5 +102,18 @@
102 "line": 46, 102 "line": 46,
103 "column": 3 103 "column": 3
104 } 104 }
105 },
106 {
107 "id": "sidebar.lockFerdi",
108 "defaultMessage": "!!!Lock Ferdi",
109 "file": "src/components/layout/Sidebar.js",
110 "start": {
111 "line": 47,
112 "column": 13
113 },
114 "end": {
115 "line": 50,
116 "column": 3
117 }
105 } 118 }
106] \ No newline at end of file 119] \ No newline at end of file
diff --git a/src/i18n/messages/src/components/services/content/Services.json b/src/i18n/messages/src/components/services/content/Services.json
index eb466c0ac..6a5eb052e 100644
--- a/src/i18n/messages/src/components/services/content/Services.json
+++ b/src/i18n/messages/src/components/services/content/Services.json
@@ -1,14 +1,14 @@
1[ 1[
2 { 2 {
3 "id": "services.welcome", 3 "id": "services.welcome",
4 "defaultMessage": "!!!Welcome to Franz", 4 "defaultMessage": "!!!Welcome to Ferdi",
5 "file": "src/components/services/content/Services.js", 5 "file": "src/components/services/content/Services.js",
6 "start": { 6 "start": {
7 "line": 14, 7 "line": 15,
8 "column": 11 8 "column": 11
9 }, 9 },
10 "end": { 10 "end": {
11 "line": 17, 11 "line": 18,
12 "column": 3 12 "column": 3
13 } 13 }
14 }, 14 },
@@ -17,11 +17,50 @@
17 "defaultMessage": "!!!Get started", 17 "defaultMessage": "!!!Get started",
18 "file": "src/components/services/content/Services.js", 18 "file": "src/components/services/content/Services.js",
19 "start": { 19 "start": {
20 "line": 18, 20 "line": 19,
21 "column": 14
22 },
23 "end": {
24 "line": 22,
25 "column": 3
26 }
27 },
28 {
29 "id": "services.login",
30 "defaultMessage": "!!!Please login to use Ferdi.",
31 "file": "src/components/services/content/Services.js",
32 "start": {
33 "line": 23,
34 "column": 9
35 },
36 "end": {
37 "line": 26,
38 "column": 3
39 }
40 },
41 {
42 "id": "services.serverless",
43 "defaultMessage": "!!!Use Ferdi without an Account",
44 "file": "src/components/services/content/Services.js",
45 "start": {
46 "line": 27,
47 "column": 14
48 },
49 "end": {
50 "line": 30,
51 "column": 3
52 }
53 },
54 {
55 "id": "services.serverInfo",
56 "defaultMessage": "!!!Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
57 "file": "src/components/services/content/Services.js",
58 "start": {
59 "line": 31,
21 "column": 14 60 "column": 14
22 }, 61 },
23 "end": { 62 "end": {
24 "line": 21, 63 "line": 34,
25 "column": 3 64 "column": 3
26 } 65 }
27 } 66 }
diff --git a/src/i18n/messages/src/components/settings/account/AccountDashboard.json b/src/i18n/messages/src/components/settings/account/AccountDashboard.json
index 06d53e41d..48078c18d 100644
--- a/src/i18n/messages/src/components/settings/account/AccountDashboard.json
+++ b/src/i18n/messages/src/components/settings/account/AccountDashboard.json
@@ -170,7 +170,7 @@
170 }, 170 },
171 { 171 {
172 "id": "settings.account.deleteInfo", 172 "id": "settings.account.deleteInfo",
173 "defaultMessage": "!!!If you don't need your Franz account any longer, you can delete your account and all related data here.", 173 "defaultMessage": "!!!If you don't need your Ferdi account any longer, you can delete your account and all related data here.",
174 "file": "src/components/settings/account/AccountDashboard.js", 174 "file": "src/components/settings/account/AccountDashboard.js",
175 "start": { 175 "start": {
176 "line": 70, 176 "line": 70,
diff --git a/src/i18n/messages/src/components/settings/navigation/SettingsNavigation.json b/src/i18n/messages/src/components/settings/navigation/SettingsNavigation.json
index 7dfb3ce04..154cdbe84 100644
--- a/src/i18n/messages/src/components/settings/navigation/SettingsNavigation.json
+++ b/src/i18n/messages/src/components/settings/navigation/SettingsNavigation.json
@@ -4,11 +4,11 @@
4 "defaultMessage": "!!!Available services", 4 "defaultMessage": "!!!Available services",
5 "file": "src/components/settings/navigation/SettingsNavigation.js", 5 "file": "src/components/settings/navigation/SettingsNavigation.js",
6 "start": { 6 "start": {
7 "line": 14, 7 "line": 17,
8 "column": 21 8 "column": 21
9 }, 9 },
10 "end": { 10 "end": {
11 "line": 17, 11 "line": 20,
12 "column": 3 12 "column": 3
13 } 13 }
14 }, 14 },
@@ -17,11 +17,11 @@
17 "defaultMessage": "!!!Your services", 17 "defaultMessage": "!!!Your services",
18 "file": "src/components/settings/navigation/SettingsNavigation.js", 18 "file": "src/components/settings/navigation/SettingsNavigation.js",
19 "start": { 19 "start": {
20 "line": 18, 20 "line": 21,
21 "column": 16 21 "column": 16
22 }, 22 },
23 "end": { 23 "end": {
24 "line": 21, 24 "line": 24,
25 "column": 3 25 "column": 3
26 } 26 }
27 }, 27 },
@@ -30,11 +30,11 @@
30 "defaultMessage": "!!!Your workspaces", 30 "defaultMessage": "!!!Your workspaces",
31 "file": "src/components/settings/navigation/SettingsNavigation.js", 31 "file": "src/components/settings/navigation/SettingsNavigation.js",
32 "start": { 32 "start": {
33 "line": 22, 33 "line": 25,
34 "column": 18 34 "column": 18
35 }, 35 },
36 "end": { 36 "end": {
37 "line": 25, 37 "line": 28,
38 "column": 3 38 "column": 3
39 } 39 }
40 }, 40 },
@@ -43,11 +43,11 @@
43 "defaultMessage": "!!!Account", 43 "defaultMessage": "!!!Account",
44 "file": "src/components/settings/navigation/SettingsNavigation.js", 44 "file": "src/components/settings/navigation/SettingsNavigation.js",
45 "start": { 45 "start": {
46 "line": 26, 46 "line": 29,
47 "column": 11 47 "column": 11
48 }, 48 },
49 "end": { 49 "end": {
50 "line": 29, 50 "line": 32,
51 "column": 3 51 "column": 3
52 } 52 }
53 }, 53 },
@@ -56,11 +56,11 @@
56 "defaultMessage": "!!!Manage Team", 56 "defaultMessage": "!!!Manage Team",
57 "file": "src/components/settings/navigation/SettingsNavigation.js", 57 "file": "src/components/settings/navigation/SettingsNavigation.js",
58 "start": { 58 "start": {
59 "line": 30, 59 "line": 33,
60 "column": 8 60 "column": 8
61 }, 61 },
62 "end": { 62 "end": {
63 "line": 33, 63 "line": 36,
64 "column": 3 64 "column": 3
65 } 65 }
66 }, 66 },
@@ -69,24 +69,24 @@
69 "defaultMessage": "!!!Settings", 69 "defaultMessage": "!!!Settings",
70 "file": "src/components/settings/navigation/SettingsNavigation.js", 70 "file": "src/components/settings/navigation/SettingsNavigation.js",
71 "start": { 71 "start": {
72 "line": 34, 72 "line": 37,
73 "column": 12 73 "column": 12
74 }, 74 },
75 "end": { 75 "end": {
76 "line": 37, 76 "line": 40,
77 "column": 3 77 "column": 3
78 } 78 }
79 }, 79 },
80 { 80 {
81 "id": "settings.navigation.inviteFriends", 81 "id": "settings.navigation.supportFerdi",
82 "defaultMessage": "!!!Invite Friends", 82 "defaultMessage": "!!!Support Ferdi",
83 "file": "src/components/settings/navigation/SettingsNavigation.js", 83 "file": "src/components/settings/navigation/SettingsNavigation.js",
84 "start": { 84 "start": {
85 "line": 38, 85 "line": 41,
86 "column": 17 86 "column": 16
87 }, 87 },
88 "end": { 88 "end": {
89 "line": 41, 89 "line": 44,
90 "column": 3 90 "column": 3
91 } 91 }
92 }, 92 },
@@ -95,11 +95,11 @@
95 "defaultMessage": "!!!Logout", 95 "defaultMessage": "!!!Logout",
96 "file": "src/components/settings/navigation/SettingsNavigation.js", 96 "file": "src/components/settings/navigation/SettingsNavigation.js",
97 "start": { 97 "start": {
98 "line": 42, 98 "line": 45,
99 "column": 10 99 "column": 10
100 }, 100 },
101 "end": { 101 "end": {
102 "line": 45, 102 "line": 48,
103 "column": 3 103 "column": 3
104 } 104 }
105 } 105 }
diff --git a/src/i18n/messages/src/components/settings/services/EditServiceForm.json b/src/i18n/messages/src/components/settings/services/EditServiceForm.json
index e66db807d..f4692ed29 100644
--- a/src/i18n/messages/src/components/settings/services/EditServiceForm.json
+++ b/src/i18n/messages/src/components/settings/services/EditServiceForm.json
@@ -26,15 +26,28 @@
26 } 26 }
27 }, 27 },
28 { 28 {
29 "id": "settings.service.form.openDarkmodeCss",
30 "defaultMessage": "!!!Open darkmode.css",
31 "file": "src/components/settings/services/EditServiceForm.js",
32 "start": {
33 "line": 32,
34 "column": 19
35 },
36 "end": {
37 "line": 35,
38 "column": 3
39 }
40 },
41 {
29 "id": "settings.service.form.availableServices", 42 "id": "settings.service.form.availableServices",
30 "defaultMessage": "!!!Available services", 43 "defaultMessage": "!!!Available services",
31 "file": "src/components/settings/services/EditServiceForm.js", 44 "file": "src/components/settings/services/EditServiceForm.js",
32 "start": { 45 "start": {
33 "line": 32, 46 "line": 36,
34 "column": 21 47 "column": 21
35 }, 48 },
36 "end": { 49 "end": {
37 "line": 35, 50 "line": 39,
38 "column": 3 51 "column": 3
39 } 52 }
40 }, 53 },
@@ -43,11 +56,11 @@
43 "defaultMessage": "!!!Your services", 56 "defaultMessage": "!!!Your services",
44 "file": "src/components/settings/services/EditServiceForm.js", 57 "file": "src/components/settings/services/EditServiceForm.js",
45 "start": { 58 "start": {
46 "line": 36, 59 "line": 40,
47 "column": 16 60 "column": 16
48 }, 61 },
49 "end": { 62 "end": {
50 "line": 39, 63 "line": 43,
51 "column": 3 64 "column": 3
52 } 65 }
53 }, 66 },
@@ -56,11 +69,11 @@
56 "defaultMessage": "!!!Add {name}", 69 "defaultMessage": "!!!Add {name}",
57 "file": "src/components/settings/services/EditServiceForm.js", 70 "file": "src/components/settings/services/EditServiceForm.js",
58 "start": { 71 "start": {
59 "line": 40, 72 "line": 44,
60 "column": 22 73 "column": 22
61 }, 74 },
62 "end": { 75 "end": {
63 "line": 43, 76 "line": 47,
64 "column": 3 77 "column": 3
65 } 78 }
66 }, 79 },
@@ -69,11 +82,11 @@
69 "defaultMessage": "!!!Edit {name}", 82 "defaultMessage": "!!!Edit {name}",
70 "file": "src/components/settings/services/EditServiceForm.js", 83 "file": "src/components/settings/services/EditServiceForm.js",
71 "start": { 84 "start": {
72 "line": 44, 85 "line": 48,
73 "column": 23 86 "column": 23
74 }, 87 },
75 "end": { 88 "end": {
76 "line": 47, 89 "line": 51,
77 "column": 3 90 "column": 3
78 } 91 }
79 }, 92 },
@@ -82,11 +95,11 @@
82 "defaultMessage": "!!!Hosted", 95 "defaultMessage": "!!!Hosted",
83 "file": "src/components/settings/services/EditServiceForm.js", 96 "file": "src/components/settings/services/EditServiceForm.js",
84 "start": { 97 "start": {
85 "line": 48, 98 "line": 52,
86 "column": 13 99 "column": 13
87 }, 100 },
88 "end": { 101 "end": {
89 "line": 51, 102 "line": 55,
90 "column": 3 103 "column": 3
91 } 104 }
92 }, 105 },
@@ -95,11 +108,11 @@
95 "defaultMessage": "!!!Self hosted ⭐️", 108 "defaultMessage": "!!!Self hosted ⭐️",
96 "file": "src/components/settings/services/EditServiceForm.js", 109 "file": "src/components/settings/services/EditServiceForm.js",
97 "start": { 110 "start": {
98 "line": 52, 111 "line": 56,
99 "column": 16 112 "column": 16
100 }, 113 },
101 "end": { 114 "end": {
102 "line": 55, 115 "line": 59,
103 "column": 3 116 "column": 3
104 } 117 }
105 }, 118 },
@@ -108,11 +121,11 @@
108 "defaultMessage": "!!!Use the hosted {name} service.", 121 "defaultMessage": "!!!Use the hosted {name} service.",
109 "file": "src/components/settings/services/EditServiceForm.js", 122 "file": "src/components/settings/services/EditServiceForm.js",
110 "start": { 123 "start": {
111 "line": 56, 124 "line": 60,
112 "column": 20 125 "column": 20
113 }, 126 },
114 "end": { 127 "end": {
115 "line": 59, 128 "line": 63,
116 "column": 3 129 "column": 3
117 } 130 }
118 }, 131 },
@@ -121,24 +134,24 @@
121 "defaultMessage": "!!!Could not validate custom {name} server.", 134 "defaultMessage": "!!!Could not validate custom {name} server.",
122 "file": "src/components/settings/services/EditServiceForm.js", 135 "file": "src/components/settings/services/EditServiceForm.js",
123 "start": { 136 "start": {
124 "line": 60, 137 "line": 64,
125 "column": 28 138 "column": 28
126 }, 139 },
127 "end": { 140 "end": {
128 "line": 63, 141 "line": 67,
129 "column": 3 142 "column": 3
130 } 143 }
131 }, 144 },
132 { 145 {
133 "id": "settings.service.form.customUrlPremiumInfo", 146 "id": "settings.service.form.customUrlPremiumInfo",
134 "defaultMessage": "!!!To add self hosted services, you need a Franz Premium Supporter Account.", 147 "defaultMessage": "!!!To add self hosted services, you need a Ferdi Premium Supporter Account.",
135 "file": "src/components/settings/services/EditServiceForm.js", 148 "file": "src/components/settings/services/EditServiceForm.js",
136 "start": { 149 "start": {
137 "line": 64, 150 "line": 68,
138 "column": 24 151 "column": 24
139 }, 152 },
140 "end": { 153 "end": {
141 "line": 67, 154 "line": 71,
142 "column": 3 155 "column": 3
143 } 156 }
144 }, 157 },
@@ -147,11 +160,11 @@
147 "defaultMessage": "!!!Upgrade your account", 160 "defaultMessage": "!!!Upgrade your account",
148 "file": "src/components/settings/services/EditServiceForm.js", 161 "file": "src/components/settings/services/EditServiceForm.js",
149 "start": { 162 "start": {
150 "line": 68, 163 "line": 72,
151 "column": 27 164 "column": 27
152 }, 165 },
153 "end": { 166 "end": {
154 "line": 71, 167 "line": 75,
155 "column": 3 168 "column": 3
156 } 169 }
157 }, 170 },
@@ -160,11 +173,11 @@
160 "defaultMessage": "!!!You will be notified about all new messages in a channel, not just @username, @channel, @here, ...", 173 "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", 174 "file": "src/components/settings/services/EditServiceForm.js",
162 "start": { 175 "start": {
163 "line": 72, 176 "line": 76,
164 "column": 23 177 "column": 23
165 }, 178 },
166 "end": { 179 "end": {
167 "line": 75, 180 "line": 79,
168 "column": 3 181 "column": 3
169 } 182 }
170 }, 183 },
@@ -173,11 +186,11 @@
173 "defaultMessage": "!!!When disabled, all notification sounds and audio playback are muted", 186 "defaultMessage": "!!!When disabled, all notification sounds and audio playback are muted",
174 "file": "src/components/settings/services/EditServiceForm.js", 187 "file": "src/components/settings/services/EditServiceForm.js",
175 "start": { 188 "start": {
176 "line": 76, 189 "line": 80,
177 "column": 15 190 "column": 15
178 }, 191 },
179 "end": { 192 "end": {
180 "line": 79, 193 "line": 83,
181 "column": 3 194 "column": 3
182 } 195 }
183 }, 196 },
@@ -186,11 +199,11 @@
186 "defaultMessage": "!!!Notifications", 199 "defaultMessage": "!!!Notifications",
187 "file": "src/components/settings/services/EditServiceForm.js", 200 "file": "src/components/settings/services/EditServiceForm.js",
188 "start": { 201 "start": {
189 "line": 80, 202 "line": 84,
190 "column": 25 203 "column": 25
191 }, 204 },
192 "end": { 205 "end": {
193 "line": 83, 206 "line": 87,
194 "column": 3 207 "column": 3
195 } 208 }
196 }, 209 },
@@ -199,11 +212,11 @@
199 "defaultMessage": "!!!Unread message badges", 212 "defaultMessage": "!!!Unread message badges",
200 "file": "src/components/settings/services/EditServiceForm.js", 213 "file": "src/components/settings/services/EditServiceForm.js",
201 "start": { 214 "start": {
202 "line": 84, 215 "line": 88,
203 "column": 18 216 "column": 18
204 }, 217 },
205 "end": { 218 "end": {
206 "line": 87, 219 "line": 91,
207 "column": 3 220 "column": 3
208 } 221 }
209 }, 222 },
@@ -212,11 +225,11 @@
212 "defaultMessage": "!!!General", 225 "defaultMessage": "!!!General",
213 "file": "src/components/settings/services/EditServiceForm.js", 226 "file": "src/components/settings/services/EditServiceForm.js",
214 "start": { 227 "start": {
215 "line": 88, 228 "line": 92,
216 "column": 19 229 "column": 19
217 }, 230 },
218 "end": { 231 "end": {
219 "line": 91, 232 "line": 95,
220 "column": 3 233 "column": 3
221 } 234 }
222 }, 235 },
@@ -225,11 +238,11 @@
225 "defaultMessage": "!!!Delete", 238 "defaultMessage": "!!!Delete",
226 "file": "src/components/settings/services/EditServiceForm.js", 239 "file": "src/components/settings/services/EditServiceForm.js",
227 "start": { 240 "start": {
228 "line": 92, 241 "line": 96,
229 "column": 14 242 "column": 14
230 }, 243 },
231 "end": { 244 "end": {
232 "line": 95, 245 "line": 99,
233 "column": 3 246 "column": 3
234 } 247 }
235 }, 248 },
@@ -238,11 +251,11 @@
238 "defaultMessage": "!!!Drop your image, or click here", 251 "defaultMessage": "!!!Drop your image, or click here",
239 "file": "src/components/settings/services/EditServiceForm.js", 252 "file": "src/components/settings/services/EditServiceForm.js",
240 "start": { 253 "start": {
241 "line": 96, 254 "line": 100,
242 "column": 14 255 "column": 14
243 }, 256 },
244 "end": { 257 "end": {
245 "line": 99, 258 "line": 103,
246 "column": 3 259 "column": 3
247 } 260 }
248 }, 261 },
@@ -251,37 +264,37 @@
251 "defaultMessage": "!!!HTTP/HTTPS Proxy Settings", 264 "defaultMessage": "!!!HTTP/HTTPS Proxy Settings",
252 "file": "src/components/settings/services/EditServiceForm.js", 265 "file": "src/components/settings/services/EditServiceForm.js",
253 "start": { 266 "start": {
254 "line": 100, 267 "line": 104,
255 "column": 17 268 "column": 17
256 }, 269 },
257 "end": { 270 "end": {
258 "line": 103, 271 "line": 107,
259 "column": 3 272 "column": 3
260 } 273 }
261 }, 274 },
262 { 275 {
263 "id": "settings.service.form.proxy.restartInfo", 276 "id": "settings.service.form.proxy.restartInfo",
264 "defaultMessage": "!!!Please restart Franz after changing proxy Settings.", 277 "defaultMessage": "!!!Please restart Ferdi after changing proxy Settings.",
265 "file": "src/components/settings/services/EditServiceForm.js", 278 "file": "src/components/settings/services/EditServiceForm.js",
266 "start": { 279 "start": {
267 "line": 104, 280 "line": 108,
268 "column": 20 281 "column": 20
269 }, 282 },
270 "end": { 283 "end": {
271 "line": 107, 284 "line": 111,
272 "column": 3 285 "column": 3
273 } 286 }
274 }, 287 },
275 { 288 {
276 "id": "settings.service.form.proxy.info", 289 "id": "settings.service.form.proxy.info",
277 "defaultMessage": "!!!Proxy settings will not be synchronized with the Franz servers.", 290 "defaultMessage": "!!!Proxy settings will not be synchronized with the Ferdi servers.",
278 "file": "src/components/settings/services/EditServiceForm.js", 291 "file": "src/components/settings/services/EditServiceForm.js",
279 "start": { 292 "start": {
280 "line": 108, 293 "line": 112,
281 "column": 13 294 "column": 13
282 }, 295 },
283 "end": { 296 "end": {
284 "line": 111, 297 "line": 115,
285 "column": 3 298 "column": 3
286 } 299 }
287 } 300 }
diff --git a/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json b/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json
index fa21db10a..70c4fb87f 100644
--- a/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json
+++ b/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json
@@ -4,11 +4,11 @@
4 "defaultMessage": "!!!Settings", 4 "defaultMessage": "!!!Settings",
5 "file": "src/components/settings/settings/EditSettingsForm.js", 5 "file": "src/components/settings/settings/EditSettingsForm.js",
6 "start": { 6 "start": {
7 "line": 16, 7 "line": 26,
8 "column": 12 8 "column": 12
9 }, 9 },
10 "end": { 10 "end": {
11 "line": 19, 11 "line": 29,
12 "column": 3 12 "column": 3
13 } 13 }
14 }, 14 },
@@ -17,11 +17,128 @@
17 "defaultMessage": "!!!General", 17 "defaultMessage": "!!!General",
18 "file": "src/components/settings/settings/EditSettingsForm.js", 18 "file": "src/components/settings/settings/EditSettingsForm.js",
19 "start": { 19 "start": {
20 "line": 20, 20 "line": 30,
21 "column": 19 21 "column": 19
22 }, 22 },
23 "end": { 23 "end": {
24 "line": 23, 24 "line": 33,
25 "column": 3
26 }
27 },
28 {
29 "id": "settings.app.hibernateInfo",
30 "defaultMessage": "!!!By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.",
31 "file": "src/components/settings/settings/EditSettingsForm.js",
32 "start": {
33 "line": 34,
34 "column": 17
35 },
36 "end": {
37 "line": 37,
38 "column": 3
39 }
40 },
41 {
42 "id": "settings.app.serverInfo",
43 "defaultMessage": "!!!We advice you to logout after changing your server as your settings might not be saved otherwise.",
44 "file": "src/components/settings/settings/EditSettingsForm.js",
45 "start": {
46 "line": 38,
47 "column": 14
48 },
49 "end": {
50 "line": 41,
51 "column": 3
52 }
53 },
54 {
55 "id": "settings.app.serverMoneyInfo",
56 "defaultMessage": "!!!You are using the official Franz Server for Ferdi.\nWe know that Ferdi allows you to use all its features for free but you are still using Franz's server resources - which Franz's creator has to pay for.\nPlease still consider [Link 1]paying for a Franz account[/Link] or [Link 2]using a self-hosted ferdi-server[/Link] (if you have the knowledge and resources to do so). \nBy using Ferdi, you still profit greatly from Franz's recipe store, server resources and its development.",
57 "file": "src/components/settings/settings/EditSettingsForm.js",
58 "start": {
59 "line": 42,
60 "column": 19
61 },
62 "end": {
63 "line": 45,
64 "column": 3
65 }
66 },
67 {
68 "id": "settings.app.todoServerInfo",
69 "defaultMessage": "!!!This server will be used for the \"Franz Todo\" feature. (default: https://app.franztodos.com)",
70 "file": "src/components/settings/settings/EditSettingsForm.js",
71 "start": {
72 "line": 46,
73 "column": 18
74 },
75 "end": {
76 "line": 49,
77 "column": 3
78 }
79 },
80 {
81 "id": "settings.app.lockedPassword",
82 "defaultMessage": "!!!Ferdi Lock Password",
83 "file": "src/components/settings/settings/EditSettingsForm.js",
84 "start": {
85 "line": 50,
86 "column": 18
87 },
88 "end": {
89 "line": 53,
90 "column": 3
91 }
92 },
93 {
94 "id": "settings.app.lockedPasswordInfo",
95 "defaultMessage": "!!!Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
96 "file": "src/components/settings/settings/EditSettingsForm.js",
97 "start": {
98 "line": 54,
99 "column": 22
100 },
101 "end": {
102 "line": 57,
103 "column": 3
104 }
105 },
106 {
107 "id": "settings.app.lockInfo",
108 "defaultMessage": "!!!Ferdi password lock allows you to keep your messages protected.\nUsing Ferdi password lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.",
109 "file": "src/components/settings/settings/EditSettingsForm.js",
110 "start": {
111 "line": 58,
112 "column": 12
113 },
114 "end": {
115 "line": 61,
116 "column": 3
117 }
118 },
119 {
120 "id": "settings.app.scheduledDNDTimeInfo",
121 "defaultMessage": "!!!Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.",
122 "file": "src/components/settings/settings/EditSettingsForm.js",
123 "start": {
124 "line": 62,
125 "column": 24
126 },
127 "end": {
128 "line": 65,
129 "column": 3
130 }
131 },
132 {
133 "id": "settings.app.scheduledDNDInfo",
134 "defaultMessage": "!!!Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
135 "file": "src/components/settings/settings/EditSettingsForm.js",
136 "start": {
137 "line": 66,
138 "column": 20
139 },
140 "end": {
141 "line": 69,
25 "column": 3 142 "column": 3
26 } 143 }
27 }, 144 },
@@ -30,11 +147,11 @@
30 "defaultMessage": "!!!Language", 147 "defaultMessage": "!!!Language",
31 "file": "src/components/settings/settings/EditSettingsForm.js", 148 "file": "src/components/settings/settings/EditSettingsForm.js",
32 "start": { 149 "start": {
33 "line": 24, 150 "line": 70,
34 "column": 20 151 "column": 20
35 }, 152 },
36 "end": { 153 "end": {
37 "line": 27, 154 "line": 73,
38 "column": 3 155 "column": 3
39 } 156 }
40 }, 157 },
@@ -43,11 +160,11 @@
43 "defaultMessage": "!!!Updates", 160 "defaultMessage": "!!!Updates",
44 "file": "src/components/settings/settings/EditSettingsForm.js", 161 "file": "src/components/settings/settings/EditSettingsForm.js",
45 "start": { 162 "start": {
46 "line": 28, 163 "line": 74,
47 "column": 19 164 "column": 19
48 }, 165 },
49 "end": { 166 "end": {
50 "line": 31, 167 "line": 77,
51 "column": 3 168 "column": 3
52 } 169 }
53 }, 170 },
@@ -56,11 +173,37 @@
56 "defaultMessage": "!!!Appearance", 173 "defaultMessage": "!!!Appearance",
57 "file": "src/components/settings/settings/EditSettingsForm.js", 174 "file": "src/components/settings/settings/EditSettingsForm.js",
58 "start": { 175 "start": {
59 "line": 32, 176 "line": 78,
60 "column": 22 177 "column": 22
61 }, 178 },
62 "end": { 179 "end": {
63 "line": 35, 180 "line": 81,
181 "column": 3
182 }
183 },
184 {
185 "id": "settings.app.universalDarkModeInfo",
186 "defaultMessage": "!!!Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.",
187 "file": "src/components/settings/settings/EditSettingsForm.js",
188 "start": {
189 "line": 82,
190 "column": 25
191 },
192 "end": {
193 "line": 85,
194 "column": 3
195 }
196 },
197 {
198 "id": "settings.app.accentColorInfo",
199 "defaultMessage": "!!!Write your accent color in a CSS-compatible format. (Default: #7367f0)",
200 "file": "src/components/settings/settings/EditSettingsForm.js",
201 "start": {
202 "line": 86,
203 "column": 19
204 },
205 "end": {
206 "line": 89,
64 "column": 3 207 "column": 3
65 } 208 }
66 }, 209 },
@@ -69,24 +212,24 @@
69 "defaultMessage": "!!!Advanced", 212 "defaultMessage": "!!!Advanced",
70 "file": "src/components/settings/settings/EditSettingsForm.js", 213 "file": "src/components/settings/settings/EditSettingsForm.js",
71 "start": { 214 "start": {
72 "line": 36, 215 "line": 90,
73 "column": 20 216 "column": 20
74 }, 217 },
75 "end": { 218 "end": {
76 "line": 39, 219 "line": 93,
77 "column": 3 220 "column": 3
78 } 221 }
79 }, 222 },
80 { 223 {
81 "id": "settings.app.translationHelp", 224 "id": "settings.app.translationHelp",
82 "defaultMessage": "!!!Help us to translate Franz into your language.", 225 "defaultMessage": "!!!Help us to translate Ferdi into your language.",
83 "file": "src/components/settings/settings/EditSettingsForm.js", 226 "file": "src/components/settings/settings/EditSettingsForm.js",
84 "start": { 227 "start": {
85 "line": 40, 228 "line": 94,
86 "column": 19 229 "column": 19
87 }, 230 },
88 "end": { 231 "end": {
89 "line": 43, 232 "line": 97,
90 "column": 3 233 "column": 3
91 } 234 }
92 }, 235 },
@@ -95,24 +238,24 @@
95 "defaultMessage": "!!!Cache", 238 "defaultMessage": "!!!Cache",
96 "file": "src/components/settings/settings/EditSettingsForm.js", 239 "file": "src/components/settings/settings/EditSettingsForm.js",
97 "start": { 240 "start": {
98 "line": 44, 241 "line": 98,
99 "column": 20 242 "column": 20
100 }, 243 },
101 "end": { 244 "end": {
102 "line": 47, 245 "line": 101,
103 "column": 3 246 "column": 3
104 } 247 }
105 }, 248 },
106 { 249 {
107 "id": "settings.app.cacheInfo", 250 "id": "settings.app.cacheInfo",
108 "defaultMessage": "!!!Franz cache is currently using {size} of disk space.", 251 "defaultMessage": "!!!Ferdi cache is currently using {size} of disk space.",
109 "file": "src/components/settings/settings/EditSettingsForm.js", 252 "file": "src/components/settings/settings/EditSettingsForm.js",
110 "start": { 253 "start": {
111 "line": 48, 254 "line": 102,
112 "column": 13 255 "column": 13
113 }, 256 },
114 "end": { 257 "end": {
115 "line": 51, 258 "line": 105,
116 "column": 3 259 "column": 3
117 } 260 }
118 }, 261 },
@@ -121,11 +264,11 @@
121 "defaultMessage": "!!!Clear cache", 264 "defaultMessage": "!!!Clear cache",
122 "file": "src/components/settings/settings/EditSettingsForm.js", 265 "file": "src/components/settings/settings/EditSettingsForm.js",
123 "start": { 266 "start": {
124 "line": 52, 267 "line": 106,
125 "column": 23 268 "column": 23
126 }, 269 },
127 "end": { 270 "end": {
128 "line": 55, 271 "line": 109,
129 "column": 3 272 "column": 3
130 } 273 }
131 }, 274 },
@@ -134,11 +277,11 @@
134 "defaultMessage": "!!!Check for updates", 277 "defaultMessage": "!!!Check for updates",
135 "file": "src/components/settings/settings/EditSettingsForm.js", 278 "file": "src/components/settings/settings/EditSettingsForm.js",
136 "start": { 279 "start": {
137 "line": 56, 280 "line": 110,
138 "column": 25 281 "column": 25
139 }, 282 },
140 "end": { 283 "end": {
141 "line": 59, 284 "line": 113,
142 "column": 3 285 "column": 3
143 } 286 }
144 }, 287 },
@@ -147,11 +290,11 @@
147 "defaultMessage": "!!!Restart & install update", 290 "defaultMessage": "!!!Restart & install update",
148 "file": "src/components/settings/settings/EditSettingsForm.js", 291 "file": "src/components/settings/settings/EditSettingsForm.js",
149 "start": { 292 "start": {
150 "line": 60, 293 "line": 114,
151 "column": 23 294 "column": 23
152 }, 295 },
153 "end": { 296 "end": {
154 "line": 63, 297 "line": 117,
155 "column": 3 298 "column": 3
156 } 299 }
157 }, 300 },
@@ -160,11 +303,11 @@
160 "defaultMessage": "!!!Is searching for update", 303 "defaultMessage": "!!!Is searching for update",
161 "file": "src/components/settings/settings/EditSettingsForm.js", 304 "file": "src/components/settings/settings/EditSettingsForm.js",
162 "start": { 305 "start": {
163 "line": 64, 306 "line": 118,
164 "column": 25 307 "column": 25
165 }, 308 },
166 "end": { 309 "end": {
167 "line": 67, 310 "line": 121,
168 "column": 3 311 "column": 3
169 } 312 }
170 }, 313 },
@@ -173,24 +316,24 @@
173 "defaultMessage": "!!!Update available, downloading...", 316 "defaultMessage": "!!!Update available, downloading...",
174 "file": "src/components/settings/settings/EditSettingsForm.js", 317 "file": "src/components/settings/settings/EditSettingsForm.js",
175 "start": { 318 "start": {
176 "line": 68, 319 "line": 122,
177 "column": 25 320 "column": 25
178 }, 321 },
179 "end": { 322 "end": {
180 "line": 71, 323 "line": 125,
181 "column": 3 324 "column": 3
182 } 325 }
183 }, 326 },
184 { 327 {
185 "id": "settings.app.updateStatusUpToDate", 328 "id": "settings.app.updateStatusUpToDate",
186 "defaultMessage": "!!!You are using the latest version of Franz", 329 "defaultMessage": "!!!You are using the latest version of Ferdi",
187 "file": "src/components/settings/settings/EditSettingsForm.js", 330 "file": "src/components/settings/settings/EditSettingsForm.js",
188 "start": { 331 "start": {
189 "line": 72, 332 "line": 126,
190 "column": 24 333 "column": 24
191 }, 334 },
192 "end": { 335 "end": {
193 "line": 75, 336 "line": 129,
194 "column": 3 337 "column": 3
195 } 338 }
196 }, 339 },
@@ -199,11 +342,11 @@
199 "defaultMessage": "!!!Current version:", 342 "defaultMessage": "!!!Current version:",
200 "file": "src/components/settings/settings/EditSettingsForm.js", 343 "file": "src/components/settings/settings/EditSettingsForm.js",
201 "start": { 344 "start": {
202 "line": 76, 345 "line": 130,
203 "column": 18 346 "column": 18
204 }, 347 },
205 "end": { 348 "end": {
206 "line": 79, 349 "line": 133,
207 "column": 3 350 "column": 3
208 } 351 }
209 }, 352 },
@@ -212,11 +355,11 @@
212 "defaultMessage": "!!!Changes require restart", 355 "defaultMessage": "!!!Changes require restart",
213 "file": "src/components/settings/settings/EditSettingsForm.js", 356 "file": "src/components/settings/settings/EditSettingsForm.js",
214 "start": { 357 "start": {
215 "line": 80, 358 "line": 134,
216 "column": 29 359 "column": 29
217 }, 360 },
218 "end": { 361 "end": {
219 "line": 83, 362 "line": 137,
220 "column": 3 363 "column": 3
221 } 364 }
222 }, 365 },
@@ -225,11 +368,11 @@
225 "defaultMessage": "!!!Official translations are English & German. All other languages are community based translations.", 368 "defaultMessage": "!!!Official translations are English & German. All other languages are community based translations.",
226 "file": "src/components/settings/settings/EditSettingsForm.js", 369 "file": "src/components/settings/settings/EditSettingsForm.js",
227 "start": { 370 "start": {
228 "line": 84, 371 "line": 138,
229 "column": 22 372 "column": 22
230 }, 373 },
231 "end": { 374 "end": {
232 "line": 87, 375 "line": 141,
233 "column": 3 376 "column": 3
234 } 377 }
235 } 378 }
diff --git a/src/i18n/messages/src/components/settings/supportFerdi/SupportFerdiDashboard.json b/src/i18n/messages/src/components/settings/supportFerdi/SupportFerdiDashboard.json
new file mode 100644
index 000000000..bf8df6468
--- /dev/null
+++ b/src/i18n/messages/src/components/settings/supportFerdi/SupportFerdiDashboard.json
@@ -0,0 +1,67 @@
1[
2 {
3 "id": "settings.supportFerdi.headline",
4 "defaultMessage": "!!!Support Ferdi",
5 "file": "src/components/settings/supportFerdi/SupportFerdiDashboard.js",
6 "start": {
7 "line": 8,
8 "column": 12
9 },
10 "end": {
11 "line": 11,
12 "column": 3
13 }
14 },
15 {
16 "id": "settings.supportFerdi.title",
17 "defaultMessage": "!!!Do you like Ferdi? Spread the love!",
18 "file": "src/components/settings/supportFerdi/SupportFerdiDashboard.js",
19 "start": {
20 "line": 12,
21 "column": 9
22 },
23 "end": {
24 "line": 15,
25 "column": 3
26 }
27 },
28 {
29 "id": "settings.supportFerdi.github",
30 "defaultMessage": "!!!Star on GitHub",
31 "file": "src/components/settings/supportFerdi/SupportFerdiDashboard.js",
32 "start": {
33 "line": 16,
34 "column": 10
35 },
36 "end": {
37 "line": 19,
38 "column": 3
39 }
40 },
41 {
42 "id": "settings.supportFerdi.share",
43 "defaultMessage": "!!!Tell your Friends",
44 "file": "src/components/settings/supportFerdi/SupportFerdiDashboard.js",
45 "start": {
46 "line": 20,
47 "column": 9
48 },
49 "end": {
50 "line": 23,
51 "column": 3
52 }
53 },
54 {
55 "id": "settings.supportFerdi.openCollective",
56 "defaultMessage": "!!!Support our Open Collective",
57 "file": "src/components/settings/supportFerdi/SupportFerdiDashboard.js",
58 "start": {
59 "line": 24,
60 "column": 18
61 },
62 "end": {
63 "line": 27,
64 "column": 3
65 }
66 }
67] \ No newline at end of file
diff --git a/src/i18n/messages/src/components/settings/team/TeamDashboard.json b/src/i18n/messages/src/components/settings/team/TeamDashboard.json
index 0c33fee5f..bbf362087 100644
--- a/src/i18n/messages/src/components/settings/team/TeamDashboard.json
+++ b/src/i18n/messages/src/components/settings/team/TeamDashboard.json
@@ -14,7 +14,7 @@
14 }, 14 },
15 { 15 {
16 "id": "settings.team.contentHeadline", 16 "id": "settings.team.contentHeadline",
17 "defaultMessage": "!!!Franz for Teams", 17 "defaultMessage": "!!!Ferdi for Teams",
18 "file": "src/components/settings/team/TeamDashboard.js", 18 "file": "src/components/settings/team/TeamDashboard.js",
19 "start": { 19 "start": {
20 "line": 21, 20 "line": 21,
@@ -40,7 +40,7 @@
40 }, 40 },
41 { 41 {
42 "id": "settings.team.copy", 42 "id": "settings.team.copy",
43 "defaultMessage": "!!!Franz for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!", 43 "defaultMessage": "!!!Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!",
44 "file": "src/components/settings/team/TeamDashboard.js", 44 "file": "src/components/settings/team/TeamDashboard.js",
45 "start": { 45 "start": {
46 "line": 29, 46 "line": 29,
@@ -76,5 +76,31 @@
76 "line": 40, 76 "line": 40,
77 "column": 3 77 "column": 3
78 } 78 }
79 },
80 {
81 "id": "settings.team.teamsUnavailable",
82 "defaultMessage": "!!!Teams are unavailable",
83 "file": "src/components/settings/team/TeamDashboard.js",
84 "start": {
85 "line": 41,
86 "column": 20
87 },
88 "end": {
89 "line": 44,
90 "column": 3
91 }
92 },
93 {
94 "id": "settings.team.teamsUnavailableInfo",
95 "defaultMessage": "!!!Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.",
96 "file": "src/components/settings/team/TeamDashboard.js",
97 "start": {
98 "line": 45,
99 "column": 24
100 },
101 "end": {
102 "line": 48,
103 "column": 3
104 }
79 } 105 }
80] \ No newline at end of file 106] \ No newline at end of file
diff --git a/src/i18n/messages/src/components/ui/ActivateTrialButton/index.json b/src/i18n/messages/src/components/ui/ActivateTrialButton/index.json
index fd969da78..6370e4bb9 100644
--- a/src/i18n/messages/src/components/ui/ActivateTrialButton/index.json
+++ b/src/i18n/messages/src/components/ui/ActivateTrialButton/index.json
@@ -4,11 +4,11 @@
4 "defaultMessage": "!!!Get a Franz Supporter License", 4 "defaultMessage": "!!!Get a Franz Supporter License",
5 "file": "src/components/ui/ActivateTrialButton/index.js", 5 "file": "src/components/ui/ActivateTrialButton/index.js",
6 "start": { 6 "start": {
7 "line": 13, 7 "line": 12,
8 "column": 10 8 "column": 10
9 }, 9 },
10 "end": { 10 "end": {
11 "line": 16, 11 "line": 15,
12 "column": 3 12 "column": 3
13 } 13 }
14 }, 14 },
@@ -17,11 +17,11 @@
17 "defaultMessage": "!!!Yes, I want the free 14 day trial of Franz Professional", 17 "defaultMessage": "!!!Yes, I want the free 14 day trial of Franz Professional",
18 "file": "src/components/ui/ActivateTrialButton/index.js", 18 "file": "src/components/ui/ActivateTrialButton/index.js",
19 "start": { 19 "start": {
20 "line": 17, 20 "line": 16,
21 "column": 15 21 "column": 15
22 }, 22 },
23 "end": { 23 "end": {
24 "line": 20, 24 "line": 19,
25 "column": 3 25 "column": 3
26 } 26 }
27 }, 27 },
@@ -30,11 +30,11 @@
30 "defaultMessage": "!!!Upgrade account", 30 "defaultMessage": "!!!Upgrade account",
31 "file": "src/components/ui/ActivateTrialButton/index.js", 31 "file": "src/components/ui/ActivateTrialButton/index.js",
32 "start": { 32 "start": {
33 "line": 21, 33 "line": 20,
34 "column": 15 34 "column": 15
35 }, 35 },
36 "end": { 36 "end": {
37 "line": 24, 37 "line": 23,
38 "column": 3 38 "column": 3
39 } 39 }
40 }, 40 },
@@ -43,11 +43,11 @@
43 "defaultMessage": "!!!Activate the free Franz Professional trial", 43 "defaultMessage": "!!!Activate the free Franz Professional trial",
44 "file": "src/components/ui/ActivateTrialButton/index.js", 44 "file": "src/components/ui/ActivateTrialButton/index.js",
45 "start": { 45 "start": {
46 "line": 25, 46 "line": 24,
47 "column": 20 47 "column": 20
48 }, 48 },
49 "end": { 49 "end": {
50 "line": 28, 50 "line": 27,
51 "column": 3 51 "column": 3
52 } 52 }
53 }, 53 },
@@ -56,11 +56,11 @@
56 "defaultMessage": "!!!No strings attached", 56 "defaultMessage": "!!!No strings attached",
57 "file": "src/components/ui/ActivateTrialButton/index.js", 57 "file": "src/components/ui/ActivateTrialButton/index.js",
58 "start": { 58 "start": {
59 "line": 29, 59 "line": 28,
60 "column": 29 60 "column": 29
61 }, 61 },
62 "end": { 62 "end": {
63 "line": 32, 63 "line": 31,
64 "column": 3 64 "column": 3
65 } 65 }
66 }, 66 },
@@ -69,11 +69,11 @@
69 "defaultMessage": "!!!No credit card required", 69 "defaultMessage": "!!!No credit card required",
70 "file": "src/components/ui/ActivateTrialButton/index.js", 70 "file": "src/components/ui/ActivateTrialButton/index.js",
71 "start": { 71 "start": {
72 "line": 33, 72 "line": 32,
73 "column": 16 73 "column": 16
74 }, 74 },
75 "end": { 75 "end": {
76 "line": 36, 76 "line": 35,
77 "column": 3 77 "column": 3
78 } 78 }
79 }, 79 },
@@ -82,11 +82,11 @@
82 "defaultMessage": "!!!Your free trial ends automatically after 14 days", 82 "defaultMessage": "!!!Your free trial ends automatically after 14 days",
83 "file": "src/components/ui/ActivateTrialButton/index.js", 83 "file": "src/components/ui/ActivateTrialButton/index.js",
84 "start": { 84 "start": {
85 "line": 37, 85 "line": 36,
86 "column": 21 86 "column": 21
87 }, 87 },
88 "end": { 88 "end": {
89 "line": 40, 89 "line": 39,
90 "column": 3 90 "column": 3
91 } 91 }
92 } 92 }
diff --git a/src/i18n/messages/src/components/ui/PremiumFeatureContainer/index.json b/src/i18n/messages/src/components/ui/PremiumFeatureContainer/index.json
index 0cde4cee5..320d3ca3e 100644
--- a/src/i18n/messages/src/components/ui/PremiumFeatureContainer/index.json
+++ b/src/i18n/messages/src/components/ui/PremiumFeatureContainer/index.json
@@ -4,11 +4,11 @@
4 "defaultMessage": "!!!Upgrade account", 4 "defaultMessage": "!!!Upgrade account",
5 "file": "src/components/ui/PremiumFeatureContainer/index.js", 5 "file": "src/components/ui/PremiumFeatureContainer/index.js",
6 "start": { 6 "start": {
7 "line": 16, 7 "line": 15,
8 "column": 10 8 "column": 10
9 }, 9 },
10 "end": { 10 "end": {
11 "line": 19, 11 "line": 18,
12 "column": 3 12 "column": 3
13 } 13 }
14 } 14 }
diff --git a/src/i18n/messages/src/components/ui/UpgradeButton/index.json b/src/i18n/messages/src/components/ui/UpgradeButton/index.json
index 28e44cb66..f270f5a65 100644
--- a/src/i18n/messages/src/components/ui/UpgradeButton/index.json
+++ b/src/i18n/messages/src/components/ui/UpgradeButton/index.json
@@ -4,11 +4,11 @@
4 "defaultMessage": "!!!Upgrade to Franz Professional", 4 "defaultMessage": "!!!Upgrade to Franz Professional",
5 "file": "src/components/ui/UpgradeButton/index.js", 5 "file": "src/components/ui/UpgradeButton/index.js",
6 "start": { 6 "start": {
7 "line": 13, 7 "line": 12,
8 "column": 16 8 "column": 16
9 }, 9 },
10 "end": { 10 "end": {
11 "line": 16, 11 "line": 15,
12 "column": 3 12 "column": 3
13 } 13 }
14 } 14 }
diff --git a/src/i18n/messages/src/containers/settings/EditSettingsScreen.json b/src/i18n/messages/src/containers/settings/EditSettingsScreen.json
index d0a243ec0..5ec8fdba7 100644
--- a/src/i18n/messages/src/containers/settings/EditSettingsScreen.json
+++ b/src/i18n/messages/src/containers/settings/EditSettingsScreen.json
@@ -1,14 +1,14 @@
1[ 1[
2 { 2 {
3 "id": "settings.app.form.autoLaunchOnStart", 3 "id": "settings.app.form.autoLaunchOnStart",
4 "defaultMessage": "!!!Launch Franz on start", 4 "defaultMessage": "!!!Launch Ferdi on start",
5 "file": "src/containers/settings/EditSettingsScreen.js", 5 "file": "src/containers/settings/EditSettingsScreen.js",
6 "start": { 6 "start": {
7 "line": 26, 7 "line": 29,
8 "column": 21 8 "column": 21
9 }, 9 },
10 "end": { 10 "end": {
11 "line": 29, 11 "line": 32,
12 "column": 3 12 "column": 3
13 } 13 }
14 }, 14 },
@@ -17,50 +17,193 @@
17 "defaultMessage": "!!!Open in background", 17 "defaultMessage": "!!!Open in background",
18 "file": "src/containers/settings/EditSettingsScreen.js", 18 "file": "src/containers/settings/EditSettingsScreen.js",
19 "start": { 19 "start": {
20 "line": 30, 20 "line": 33,
21 "column": 26 21 "column": 26
22 }, 22 },
23 "end": { 23 "end": {
24 "line": 33, 24 "line": 36,
25 "column": 3 25 "column": 3
26 } 26 }
27 }, 27 },
28 { 28 {
29 "id": "settings.app.form.runInBackground", 29 "id": "settings.app.form.runInBackground",
30 "defaultMessage": "!!!Keep Franz in background when closing the window", 30 "defaultMessage": "!!!Keep Ferdi in background when closing the window",
31 "file": "src/containers/settings/EditSettingsScreen.js", 31 "file": "src/containers/settings/EditSettingsScreen.js",
32 "start": { 32 "start": {
33 "line": 34, 33 "line": 37,
34 "column": 19 34 "column": 19
35 }, 35 },
36 "end": { 36 "end": {
37 "line": 37, 37 "line": 40,
38 "column": 3 38 "column": 3
39 } 39 }
40 }, 40 },
41 { 41 {
42 "id": "settings.app.form.enableSystemTray", 42 "id": "settings.app.form.enableSystemTray",
43 "defaultMessage": "!!!Show Franz in system tray", 43 "defaultMessage": "!!!Show Ferdi in system tray",
44 "file": "src/containers/settings/EditSettingsScreen.js", 44 "file": "src/containers/settings/EditSettingsScreen.js",
45 "start": { 45 "start": {
46 "line": 38, 46 "line": 41,
47 "column": 20 47 "column": 20
48 }, 48 },
49 "end": { 49 "end": {
50 "line": 41, 50 "line": 44,
51 "column": 3 51 "column": 3
52 } 52 }
53 }, 53 },
54 { 54 {
55 "id": "settings.app.form.minimizeToSystemTray", 55 "id": "settings.app.form.minimizeToSystemTray",
56 "defaultMessage": "!!!Minimize Franz to system tray", 56 "defaultMessage": "!!!Minimize Ferdi to system tray",
57 "file": "src/containers/settings/EditSettingsScreen.js", 57 "file": "src/containers/settings/EditSettingsScreen.js",
58 "start": { 58 "start": {
59 "line": 42, 59 "line": 45,
60 "column": 24 60 "column": 24
61 }, 61 },
62 "end": { 62 "end": {
63 "line": 45, 63 "line": 48,
64 "column": 3
65 }
66 },
67 {
68 "id": "settings.app.form.privateNotifications",
69 "defaultMessage": "!!!Don't show message content in notifications",
70 "file": "src/containers/settings/EditSettingsScreen.js",
71 "start": {
72 "line": 49,
73 "column": 24
74 },
75 "end": {
76 "line": 52,
77 "column": 3
78 }
79 },
80 {
81 "id": "settings.app.form.showServiceNavigationBar",
82 "defaultMessage": "!!!Always show service navigation bar",
83 "file": "src/containers/settings/EditSettingsScreen.js",
84 "start": {
85 "line": 53,
86 "column": 28
87 },
88 "end": {
89 "line": 56,
90 "column": 3
91 }
92 },
93 {
94 "id": "settings.app.form.hibernate",
95 "defaultMessage": "!!!Enable service hibernation",
96 "file": "src/containers/settings/EditSettingsScreen.js",
97 "start": {
98 "line": 57,
99 "column": 13
100 },
101 "end": {
102 "line": 60,
103 "column": 3
104 }
105 },
106 {
107 "id": "settings.app.form.hibernationStrategy",
108 "defaultMessage": "!!!Hibernation strategy",
109 "file": "src/containers/settings/EditSettingsScreen.js",
110 "start": {
111 "line": 61,
112 "column": 23
113 },
114 "end": {
115 "line": 64,
116 "column": 3
117 }
118 },
119 {
120 "id": "settings.app.form.server",
121 "defaultMessage": "!!!Server",
122 "file": "src/containers/settings/EditSettingsScreen.js",
123 "start": {
124 "line": 65,
125 "column": 10
126 },
127 "end": {
128 "line": 68,
129 "column": 3
130 }
131 },
132 {
133 "id": "settings.app.form.todoServer",
134 "defaultMessage": "!!!Todo Server",
135 "file": "src/containers/settings/EditSettingsScreen.js",
136 "start": {
137 "line": 69,
138 "column": 14
139 },
140 "end": {
141 "line": 72,
142 "column": 3
143 }
144 },
145 {
146 "id": "settings.app.form.enableLock",
147 "defaultMessage": "!!!Enable Ferdi password lock",
148 "file": "src/containers/settings/EditSettingsScreen.js",
149 "start": {
150 "line": 73,
151 "column": 14
152 },
153 "end": {
154 "line": 76,
155 "column": 3
156 }
157 },
158 {
159 "id": "settings.app.form.lockPassword",
160 "defaultMessage": "!!!Ferdi Lock password",
161 "file": "src/containers/settings/EditSettingsScreen.js",
162 "start": {
163 "line": 77,
164 "column": 16
165 },
166 "end": {
167 "line": 80,
168 "column": 3
169 }
170 },
171 {
172 "id": "settings.app.form.scheduledDNDEnabled",
173 "defaultMessage": "!!!Enable scheduled Do-not-Disturb",
174 "file": "src/containers/settings/EditSettingsScreen.js",
175 "start": {
176 "line": 81,
177 "column": 23
178 },
179 "end": {
180 "line": 84,
181 "column": 3
182 }
183 },
184 {
185 "id": "settings.app.form.scheduledDNDStart",
186 "defaultMessage": "!!!From",
187 "file": "src/containers/settings/EditSettingsScreen.js",
188 "start": {
189 "line": 85,
190 "column": 21
191 },
192 "end": {
193 "line": 88,
194 "column": 3
195 }
196 },
197 {
198 "id": "settings.app.form.scheduledDNDEnd",
199 "defaultMessage": "!!!To",
200 "file": "src/containers/settings/EditSettingsScreen.js",
201 "start": {
202 "line": 89,
203 "column": 19
204 },
205 "end": {
206 "line": 92,
64 "column": 3 207 "column": 3
65 } 208 }
66 }, 209 },
@@ -69,11 +212,11 @@
69 "defaultMessage": "!!!Language", 212 "defaultMessage": "!!!Language",
70 "file": "src/containers/settings/EditSettingsScreen.js", 213 "file": "src/containers/settings/EditSettingsScreen.js",
71 "start": { 214 "start": {
72 "line": 46, 215 "line": 93,
73 "column": 12 216 "column": 12
74 }, 217 },
75 "end": { 218 "end": {
76 "line": 49, 219 "line": 96,
77 "column": 3 220 "column": 3
78 } 221 }
79 }, 222 },
@@ -82,11 +225,37 @@
82 "defaultMessage": "!!!Dark Mode", 225 "defaultMessage": "!!!Dark Mode",
83 "file": "src/containers/settings/EditSettingsScreen.js", 226 "file": "src/containers/settings/EditSettingsScreen.js",
84 "start": { 227 "start": {
85 "line": 50, 228 "line": 97,
86 "column": 12 229 "column": 12
87 }, 230 },
88 "end": { 231 "end": {
89 "line": 53, 232 "line": 100,
233 "column": 3
234 }
235 },
236 {
237 "id": "settings.app.form.universalDarkMode",
238 "defaultMessage": "!!!Enable universal Dark Mode",
239 "file": "src/containers/settings/EditSettingsScreen.js",
240 "start": {
241 "line": 101,
242 "column": 21
243 },
244 "end": {
245 "line": 104,
246 "column": 3
247 }
248 },
249 {
250 "id": "settings.app.form.accentColor",
251 "defaultMessage": "!!!Accent color",
252 "file": "src/containers/settings/EditSettingsScreen.js",
253 "start": {
254 "line": 105,
255 "column": 15
256 },
257 "end": {
258 "line": 108,
90 "column": 3 259 "column": 3
91 } 260 }
92 }, 261 },
@@ -95,11 +264,11 @@
95 "defaultMessage": "!!!Display disabled services tabs", 264 "defaultMessage": "!!!Display disabled services tabs",
96 "file": "src/containers/settings/EditSettingsScreen.js", 265 "file": "src/containers/settings/EditSettingsScreen.js",
97 "start": { 266 "start": {
98 "line": 54, 267 "line": 109,
99 "column": 24 268 "column": 24
100 }, 269 },
101 "end": { 270 "end": {
102 "line": 57, 271 "line": 112,
103 "column": 3 272 "column": 3
104 } 273 }
105 }, 274 },
@@ -108,11 +277,11 @@
108 "defaultMessage": "!!!Show unread message badge when notifications are disabled", 277 "defaultMessage": "!!!Show unread message badge when notifications are disabled",
109 "file": "src/containers/settings/EditSettingsScreen.js", 278 "file": "src/containers/settings/EditSettingsScreen.js",
110 "start": { 279 "start": {
111 "line": 58, 280 "line": 113,
112 "column": 29 281 "column": 29
113 }, 282 },
114 "end": { 283 "end": {
115 "line": 61, 284 "line": 116,
116 "column": 3 285 "column": 3
117 } 286 }
118 }, 287 },
@@ -121,11 +290,11 @@
121 "defaultMessage": "!!!Enable spell checking", 290 "defaultMessage": "!!!Enable spell checking",
122 "file": "src/containers/settings/EditSettingsScreen.js", 291 "file": "src/containers/settings/EditSettingsScreen.js",
123 "start": { 292 "start": {
124 "line": 62, 293 "line": 117,
125 "column": 23 294 "column": 23
126 }, 295 },
127 "end": { 296 "end": {
128 "line": 65, 297 "line": 120,
129 "column": 3 298 "column": 3
130 } 299 }
131 }, 300 },
@@ -134,11 +303,11 @@
134 "defaultMessage": "!!!Enable GPU Acceleration", 303 "defaultMessage": "!!!Enable GPU Acceleration",
135 "file": "src/containers/settings/EditSettingsScreen.js", 304 "file": "src/containers/settings/EditSettingsScreen.js",
136 "start": { 305 "start": {
137 "line": 66, 306 "line": 121,
138 "column": 25 307 "column": 25
139 }, 308 },
140 "end": { 309 "end": {
141 "line": 69, 310 "line": 124,
142 "column": 3 311 "column": 3
143 } 312 }
144 }, 313 },
@@ -147,11 +316,24 @@
147 "defaultMessage": "!!!Include beta versions", 316 "defaultMessage": "!!!Include beta versions",
148 "file": "src/containers/settings/EditSettingsScreen.js", 317 "file": "src/containers/settings/EditSettingsScreen.js",
149 "start": { 318 "start": {
150 "line": 70, 319 "line": 125,
151 "column": 8 320 "column": 8
152 }, 321 },
153 "end": { 322 "end": {
154 "line": 73, 323 "line": 128,
324 "column": 3
325 }
326 },
327 {
328 "id": "settings.app.form.noUpdates",
329 "defaultMessage": "!!!Disable updates",
330 "file": "src/containers/settings/EditSettingsScreen.js",
331 "start": {
332 "line": 129,
333 "column": 13
334 },
335 "end": {
336 "line": 132,
155 "column": 3 337 "column": 3
156 } 338 }
157 }, 339 },
@@ -160,11 +342,11 @@
160 "defaultMessage": "!!!Enable Franz Todos", 342 "defaultMessage": "!!!Enable Franz Todos",
161 "file": "src/containers/settings/EditSettingsScreen.js", 343 "file": "src/containers/settings/EditSettingsScreen.js",
162 "start": { 344 "start": {
163 "line": 74, 345 "line": 133,
164 "column": 15 346 "column": 15
165 }, 347 },
166 "end": { 348 "end": {
167 "line": 77, 349 "line": 136,
168 "column": 3 350 "column": 3
169 } 351 }
170 }, 352 },
@@ -173,11 +355,11 @@
173 "defaultMessage": "!!!Keep all workspaces loaded", 355 "defaultMessage": "!!!Keep all workspaces loaded",
174 "file": "src/containers/settings/EditSettingsScreen.js", 356 "file": "src/containers/settings/EditSettingsScreen.js",
175 "start": { 357 "start": {
176 "line": 78, 358 "line": 137,
177 "column": 27 359 "column": 27
178 }, 360 },
179 "end": { 361 "end": {
180 "line": 81, 362 "line": 140,
181 "column": 3 363 "column": 3
182 } 364 }
183 } 365 }
diff --git a/src/i18n/messages/src/features/announcements/components/AnnouncementScreen.json b/src/i18n/messages/src/features/announcements/components/AnnouncementScreen.json
index eb1b66916..ba8b624a1 100644
--- a/src/i18n/messages/src/features/announcements/components/AnnouncementScreen.json
+++ b/src/i18n/messages/src/features/announcements/components/AnnouncementScreen.json
@@ -1,14 +1,14 @@
1[ 1[
2 { 2 {
3 "id": "feature.announcements.changelog.headline", 3 "id": "feature.announcements.changelog.headline",
4 "defaultMessage": "!!!Changes in Franz {version}", 4 "defaultMessage": "!!!Changes in Ferdi {version}",
5 "file": "src/features/announcements/components/AnnouncementScreen.js", 5 "file": "src/features/announcements/components/AnnouncementScreen.js",
6 "start": { 6 "start": {
7 "line": 20, 7 "line": 19,
8 "column": 12 8 "column": 12
9 }, 9 },
10 "end": { 10 "end": {
11 "line": 23, 11 "line": 22,
12 "column": 3 12 "column": 3
13 } 13 }
14 } 14 }
diff --git a/src/i18n/messages/src/features/delayApp/Component.json b/src/i18n/messages/src/features/delayApp/Component.json
index f6bf9369a..f1d6886f5 100644
--- a/src/i18n/messages/src/features/delayApp/Component.json
+++ b/src/i18n/messages/src/features/delayApp/Component.json
@@ -4,11 +4,11 @@
4 "defaultMessage": "!!!Please purchase license to skip waiting", 4 "defaultMessage": "!!!Please purchase license to skip waiting",
5 "file": "src/features/delayApp/Component.js", 5 "file": "src/features/delayApp/Component.js",
6 "start": { 6 "start": {
7 "line": 17, 7 "line": 14,
8 "column": 12 8 "column": 12
9 }, 9 },
10 "end": { 10 "end": {
11 "line": 20, 11 "line": 17,
12 "column": 3 12 "column": 3
13 } 13 }
14 }, 14 },
@@ -17,11 +17,11 @@
17 "defaultMessage": "!!!Get the free Franz Professional 14 day trial and skip the line", 17 "defaultMessage": "!!!Get the free Franz Professional 14 day trial and skip the line",
18 "file": "src/features/delayApp/Component.js", 18 "file": "src/features/delayApp/Component.js",
19 "start": { 19 "start": {
20 "line": 21, 20 "line": 18,
21 "column": 17 21 "column": 17
22 }, 22 },
23 "end": { 23 "end": {
24 "line": 24, 24 "line": 21,
25 "column": 3 25 "column": 3
26 } 26 }
27 }, 27 },
@@ -30,11 +30,11 @@
30 "defaultMessage": "!!!Upgrade Franz", 30 "defaultMessage": "!!!Upgrade Franz",
31 "file": "src/features/delayApp/Component.js", 31 "file": "src/features/delayApp/Component.js",
32 "start": { 32 "start": {
33 "line": 25, 33 "line": 22,
34 "column": 10 34 "column": 10
35 }, 35 },
36 "end": { 36 "end": {
37 "line": 28, 37 "line": 25,
38 "column": 3 38 "column": 3
39 } 39 }
40 }, 40 },
@@ -43,24 +43,24 @@
43 "defaultMessage": "!!!Yes, I want the free 14 day trial of Franz Professional", 43 "defaultMessage": "!!!Yes, I want the free 14 day trial of Franz Professional",
44 "file": "src/features/delayApp/Component.js", 44 "file": "src/features/delayApp/Component.js",
45 "start": { 45 "start": {
46 "line": 29, 46 "line": 26,
47 "column": 15 47 "column": 15
48 }, 48 },
49 "end": { 49 "end": {
50 "line": 32, 50 "line": 29,
51 "column": 3 51 "column": 3
52 } 52 }
53 }, 53 },
54 { 54 {
55 "id": "feature.delayApp.text", 55 "id": "feature.delayApp.text",
56 "defaultMessage": "!!!Franz will continue in {seconds} seconds.", 56 "defaultMessage": "!!!Ferdi will continue in {seconds} seconds.",
57 "file": "src/features/delayApp/Component.js", 57 "file": "src/features/delayApp/Component.js",
58 "start": { 58 "start": {
59 "line": 33, 59 "line": 30,
60 "column": 8 60 "column": 8
61 }, 61 },
62 "end": { 62 "end": {
63 "line": 36, 63 "line": 33,
64 "column": 3 64 "column": 3
65 } 65 }
66 } 66 }
diff --git a/src/i18n/messages/src/features/quickSwitch/Component.json b/src/i18n/messages/src/features/quickSwitch/Component.json
new file mode 100644
index 000000000..d0debee0e
--- /dev/null
+++ b/src/i18n/messages/src/features/quickSwitch/Component.json
@@ -0,0 +1,41 @@
1[
2 {
3 "id": "feature.quickSwitch.title",
4 "defaultMessage": "!!!QuickSwitch",
5 "file": "src/features/quickSwitch/Component.js",
6 "start": {
7 "line": 16,
8 "column": 9
9 },
10 "end": {
11 "line": 19,
12 "column": 3
13 }
14 },
15 {
16 "id": "feature.quickSwitch.search",
17 "defaultMessage": "!!!Search...",
18 "file": "src/features/quickSwitch/Component.js",
19 "start": {
20 "line": 20,
21 "column": 10
22 },
23 "end": {
24 "line": 23,
25 "column": 3
26 }
27 },
28 {
29 "id": "feature.quickSwitch.info",
30 "defaultMessage": "!!!Select a service with TAB, ↑ and ↓. Open a service with ENTER.",
31 "file": "src/features/quickSwitch/Component.js",
32 "start": {
33 "line": 24,
34 "column": 8
35 },
36 "end": {
37 "line": 27,
38 "column": 3
39 }
40 }
41] \ No newline at end of file
diff --git a/src/i18n/messages/src/features/serviceLimit/components/LimitReachedInfobox.json b/src/i18n/messages/src/features/serviceLimit/components/LimitReachedInfobox.json
index df5bc03e8..e35ad8dd8 100644
--- a/src/i18n/messages/src/features/serviceLimit/components/LimitReachedInfobox.json
+++ b/src/i18n/messages/src/features/serviceLimit/components/LimitReachedInfobox.json
@@ -4,11 +4,11 @@
4 "defaultMessage": "!!!You have added {amount} of {limit} services. Please upgrade your account to add more services.", 4 "defaultMessage": "!!!You have added {amount} of {limit} services. Please upgrade your account to add more services.",
5 "file": "src/features/serviceLimit/components/LimitReachedInfobox.js", 5 "file": "src/features/serviceLimit/components/LimitReachedInfobox.js",
6 "start": { 6 "start": {
7 "line": 11, 7 "line": 9,
8 "column": 16 8 "column": 16
9 }, 9 },
10 "end": { 10 "end": {
11 "line": 14, 11 "line": 12,
12 "column": 3 12 "column": 3
13 } 13 }
14 }, 14 },
@@ -17,11 +17,11 @@
17 "defaultMessage": "!!!Upgrade account", 17 "defaultMessage": "!!!Upgrade account",
18 "file": "src/features/serviceLimit/components/LimitReachedInfobox.js", 18 "file": "src/features/serviceLimit/components/LimitReachedInfobox.js",
19 "start": { 19 "start": {
20 "line": 15, 20 "line": 13,
21 "column": 10 21 "column": 10
22 }, 22 },
23 "end": { 23 "end": {
24 "line": 18, 24 "line": 16,
25 "column": 3 25 "column": 3
26 } 26 }
27 } 27 }
diff --git a/src/i18n/messages/src/features/shareFranz/Component.json b/src/i18n/messages/src/features/shareFranz/Component.json
index 72150f2b0..402865ec5 100644
--- a/src/i18n/messages/src/features/shareFranz/Component.json
+++ b/src/i18n/messages/src/features/shareFranz/Component.json
@@ -1,27 +1,27 @@
1[ 1[
2 { 2 {
3 "id": "feature.shareFranz.headline", 3 "id": "feature.shareFranz.headline",
4 "defaultMessage": "!!!Franz is better together!", 4 "defaultMessage": "!!!Ferdi is better together!",
5 "file": "src/features/shareFranz/Component.js", 5 "file": "src/features/shareFranz/Component.js",
6 "start": { 6 "start": {
7 "line": 18, 7 "line": 17,
8 "column": 12 8 "column": 12
9 }, 9 },
10 "end": { 10 "end": {
11 "line": 21, 11 "line": 20,
12 "column": 3 12 "column": 3
13 } 13 }
14 }, 14 },
15 { 15 {
16 "id": "feature.shareFranz.text", 16 "id": "feature.shareFranz.text",
17 "defaultMessage": "!!!Tell your friends and colleagues how awesome Franz is and help us to spread the word.", 17 "defaultMessage": "!!!Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.",
18 "file": "src/features/shareFranz/Component.js", 18 "file": "src/features/shareFranz/Component.js",
19 "start": { 19 "start": {
20 "line": 22, 20 "line": 21,
21 "column": 8 21 "column": 8
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": "!!!Share as email", 30 "defaultMessage": "!!!Share as email",
31 "file": "src/features/shareFranz/Component.js", 31 "file": "src/features/shareFranz/Component.js",
32 "start": { 32 "start": {
33 "line": 26, 33 "line": 25,
34 "column": 16 34 "column": 16
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": "!!!Share on Facebook", 43 "defaultMessage": "!!!Share on Facebook",
44 "file": "src/features/shareFranz/Component.js", 44 "file": "src/features/shareFranz/Component.js",
45 "start": { 45 "start": {
46 "line": 30, 46 "line": 29,
47 "column": 19 47 "column": 19
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": "!!!Share on Twitter", 56 "defaultMessage": "!!!Share on Twitter",
57 "file": "src/features/shareFranz/Component.js", 57 "file": "src/features/shareFranz/Component.js",
58 "start": { 58 "start": {
59 "line": 34, 59 "line": 33,
60 "column": 18 60 "column": 18
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": "!!! I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", 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", 70 "file": "src/features/shareFranz/Component.js",
71 "start": { 71 "start": {
72 "line": 38, 72 "line": 37,
73 "column": 18 73 "column": 18
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": "!!! I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com /cc @FranzMessenger", 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 @FranzMessenger",
83 "file": "src/features/shareFranz/Component.js", 83 "file": "src/features/shareFranz/Component.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 }
diff --git a/src/i18n/messages/src/features/todos/components/TodosWebview.json b/src/i18n/messages/src/features/todos/components/TodosWebview.json
index 7f230e82a..19ea81171 100644
--- a/src/i18n/messages/src/features/todos/components/TodosWebview.json
+++ b/src/i18n/messages/src/features/todos/components/TodosWebview.json
@@ -4,11 +4,11 @@
4 "defaultMessage": "!!!Franz Todos are available to premium users now!", 4 "defaultMessage": "!!!Franz Todos are available to premium users now!",
5 "file": "src/features/todos/components/TodosWebview.js", 5 "file": "src/features/todos/components/TodosWebview.js",
6 "start": { 6 "start": {
7 "line": 15, 7 "line": 17,
8 "column": 15 8 "column": 15
9 }, 9 },
10 "end": { 10 "end": {
11 "line": 18, 11 "line": 20,
12 "column": 3 12 "column": 3
13 } 13 }
14 }, 14 },
@@ -17,11 +17,11 @@
17 "defaultMessage": "!!!Upgrade Account", 17 "defaultMessage": "!!!Upgrade Account",
18 "file": "src/features/todos/components/TodosWebview.js", 18 "file": "src/features/todos/components/TodosWebview.js",
19 "start": { 19 "start": {
20 "line": 19, 20 "line": 21,
21 "column": 14 21 "column": 14
22 }, 22 },
23 "end": { 23 "end": {
24 "line": 22, 24 "line": 24,
25 "column": 3 25 "column": 3
26 } 26 }
27 }, 27 },
@@ -30,11 +30,11 @@
30 "defaultMessage": "!!!Everyone else will have to wait a little longer.", 30 "defaultMessage": "!!!Everyone else will have to wait a little longer.",
31 "file": "src/features/todos/components/TodosWebview.js", 31 "file": "src/features/todos/components/TodosWebview.js",
32 "start": { 32 "start": {
33 "line": 23, 33 "line": 25,
34 "column": 15 34 "column": 15
35 }, 35 },
36 "end": { 36 "end": {
37 "line": 26, 37 "line": 28,
38 "column": 3 38 "column": 3
39 } 39 }
40 } 40 }
diff --git a/src/i18n/messages/src/features/workspaces/components/CreateWorkspaceForm.json b/src/i18n/messages/src/features/workspaces/components/CreateWorkspaceForm.json
index f62bac42c..1aabfb520 100644
--- a/src/i18n/messages/src/features/workspaces/components/CreateWorkspaceForm.json
+++ b/src/i18n/messages/src/features/workspaces/components/CreateWorkspaceForm.json
@@ -4,11 +4,11 @@
4 "defaultMessage": "!!!Create workspace", 4 "defaultMessage": "!!!Create workspace",
5 "file": "src/features/workspaces/components/CreateWorkspaceForm.js", 5 "file": "src/features/workspaces/components/CreateWorkspaceForm.js",
6 "start": { 6 "start": {
7 "line": 13, 7 "line": 12,
8 "column": 16 8 "column": 16
9 }, 9 },
10 "end": { 10 "end": {
11 "line": 16, 11 "line": 15,
12 "column": 3 12 "column": 3
13 } 13 }
14 }, 14 },
@@ -17,11 +17,11 @@
17 "defaultMessage": "!!!Name", 17 "defaultMessage": "!!!Name",
18 "file": "src/features/workspaces/components/CreateWorkspaceForm.js", 18 "file": "src/features/workspaces/components/CreateWorkspaceForm.js",
19 "start": { 19 "start": {
20 "line": 17, 20 "line": 16,
21 "column": 8 21 "column": 8
22 }, 22 },
23 "end": { 23 "end": {
24 "line": 20, 24 "line": 19,
25 "column": 3 25 "column": 3
26 } 26 }
27 } 27 }
diff --git a/src/i18n/messages/src/features/workspaces/components/EditWorkspaceForm.json b/src/i18n/messages/src/features/workspaces/components/EditWorkspaceForm.json
index 20ed99f8d..4b047eac1 100644
--- a/src/i18n/messages/src/features/workspaces/components/EditWorkspaceForm.json
+++ b/src/i18n/messages/src/features/workspaces/components/EditWorkspaceForm.json
@@ -4,11 +4,11 @@
4 "defaultMessage": "!!!Delete workspace", 4 "defaultMessage": "!!!Delete workspace",
5 "file": "src/features/workspaces/components/EditWorkspaceForm.js", 5 "file": "src/features/workspaces/components/EditWorkspaceForm.js",
6 "start": { 6 "start": {
7 "line": 19, 7 "line": 21,
8 "column": 16 8 "column": 16
9 }, 9 },
10 "end": { 10 "end": {
11 "line": 22, 11 "line": 24,
12 "column": 3 12 "column": 3
13 } 13 }
14 }, 14 },
@@ -17,11 +17,11 @@
17 "defaultMessage": "!!!Save workspace", 17 "defaultMessage": "!!!Save workspace",
18 "file": "src/features/workspaces/components/EditWorkspaceForm.js", 18 "file": "src/features/workspaces/components/EditWorkspaceForm.js",
19 "start": { 19 "start": {
20 "line": 23, 20 "line": 25,
21 "column": 14 21 "column": 14
22 }, 22 },
23 "end": { 23 "end": {
24 "line": 26, 24 "line": 28,
25 "column": 3 25 "column": 3
26 } 26 }
27 }, 27 },
@@ -30,11 +30,11 @@
30 "defaultMessage": "!!!Name", 30 "defaultMessage": "!!!Name",
31 "file": "src/features/workspaces/components/EditWorkspaceForm.js", 31 "file": "src/features/workspaces/components/EditWorkspaceForm.js",
32 "start": { 32 "start": {
33 "line": 27, 33 "line": 29,
34 "column": 8 34 "column": 8
35 }, 35 },
36 "end": { 36 "end": {
37 "line": 30, 37 "line": 32,
38 "column": 3 38 "column": 3
39 } 39 }
40 }, 40 },
@@ -43,11 +43,37 @@
43 "defaultMessage": "!!!Your workspaces", 43 "defaultMessage": "!!!Your workspaces",
44 "file": "src/features/workspaces/components/EditWorkspaceForm.js", 44 "file": "src/features/workspaces/components/EditWorkspaceForm.js",
45 "start": { 45 "start": {
46 "line": 31, 46 "line": 33,
47 "column": 18 47 "column": 18
48 }, 48 },
49 "end": { 49 "end": {
50 "line": 34, 50 "line": 36,
51 "column": 3
52 }
53 },
54 {
55 "id": "settings.workspace.form.keepLoaded",
56 "defaultMessage": "!!!Keep this workspace loaded*",
57 "file": "src/features/workspaces/components/EditWorkspaceForm.js",
58 "start": {
59 "line": 37,
60 "column": 14
61 },
62 "end": {
63 "line": 40,
64 "column": 3
65 }
66 },
67 {
68 "id": "settings.workspace.form.keepLoadedInfo",
69 "defaultMessage": "!!!*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
70 "file": "src/features/workspaces/components/EditWorkspaceForm.js",
71 "start": {
72 "line": 41,
73 "column": 18
74 },
75 "end": {
76 "line": 44,
51 "column": 3 77 "column": 3
52 } 78 }
53 }, 79 },
@@ -56,11 +82,11 @@
56 "defaultMessage": "!!!Services in this Workspace", 82 "defaultMessage": "!!!Services in this Workspace",
57 "file": "src/features/workspaces/components/EditWorkspaceForm.js", 83 "file": "src/features/workspaces/components/EditWorkspaceForm.js",
58 "start": { 84 "start": {
59 "line": 35, 85 "line": 45,
60 "column": 31 86 "column": 31
61 }, 87 },
62 "end": { 88 "end": {
63 "line": 38, 89 "line": 48,
64 "column": 3 90 "column": 3
65 } 91 }
66 }, 92 },
@@ -69,11 +95,11 @@
69 "defaultMessage": "!!!You haven't added any services yet.", 95 "defaultMessage": "!!!You haven't added any services yet.",
70 "file": "src/features/workspaces/components/EditWorkspaceForm.js", 96 "file": "src/features/workspaces/components/EditWorkspaceForm.js",
71 "start": { 97 "start": {
72 "line": 39, 98 "line": 49,
73 "column": 19 99 "column": 19
74 }, 100 },
75 "end": { 101 "end": {
76 "line": 42, 102 "line": 52,
77 "column": 3 103 "column": 3
78 } 104 }
79 }, 105 },
@@ -82,11 +108,11 @@
82 "defaultMessage": "!!!Discover services", 108 "defaultMessage": "!!!Discover services",
83 "file": "src/features/workspaces/components/EditWorkspaceForm.js", 109 "file": "src/features/workspaces/components/EditWorkspaceForm.js",
84 "start": { 110 "start": {
85 "line": 43, 111 "line": 53,
86 "column": 20 112 "column": 20
87 }, 113 },
88 "end": { 114 "end": {
89 "line": 46, 115 "line": 56,
90 "column": 3 116 "column": 3
91 } 117 }
92 } 118 }
diff --git a/src/i18n/messages/src/features/workspaces/components/WorkspaceDrawer.json b/src/i18n/messages/src/features/workspaces/components/WorkspaceDrawer.json
index 2f340f1e9..9f0935620 100644
--- a/src/i18n/messages/src/features/workspaces/components/WorkspaceDrawer.json
+++ b/src/i18n/messages/src/features/workspaces/components/WorkspaceDrawer.json
@@ -4,11 +4,11 @@
4 "defaultMessage": "!!!Workspaces", 4 "defaultMessage": "!!!Workspaces",
5 "file": "src/features/workspaces/components/WorkspaceDrawer.js", 5 "file": "src/features/workspaces/components/WorkspaceDrawer.js",
6 "start": { 6 "start": {
7 "line": 17, 7 "line": 16,
8 "column": 12 8 "column": 12
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": "!!!All services", 17 "defaultMessage": "!!!All services",
18 "file": "src/features/workspaces/components/WorkspaceDrawer.js", 18 "file": "src/features/workspaces/components/WorkspaceDrawer.js",
19 "start": { 19 "start": {
20 "line": 21, 20 "line": 20,
21 "column": 15 21 "column": 15
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": "!!!Workspaces settings", 30 "defaultMessage": "!!!Workspaces settings",
31 "file": "src/features/workspaces/components/WorkspaceDrawer.js", 31 "file": "src/features/workspaces/components/WorkspaceDrawer.js",
32 "start": { 32 "start": {
33 "line": 25, 33 "line": 24,
34 "column": 29 34 "column": 29
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": "!!!Info about workspace feature", 43 "defaultMessage": "!!!Info about workspace feature",
44 "file": "src/features/workspaces/components/WorkspaceDrawer.js", 44 "file": "src/features/workspaces/components/WorkspaceDrawer.js",
45 "start": { 45 "start": {
46 "line": 29, 46 "line": 28,
47 "column": 24 47 "column": 24
48 }, 48 },
49 "end": { 49 "end": {
50 "line": 32, 50 "line": 31,
51 "column": 3 51 "column": 3
52 } 52 }
53 }, 53 },
@@ -56,11 +56,11 @@
56 "defaultMessage": "!!!Create your first workspace", 56 "defaultMessage": "!!!Create your first workspace",
57 "file": "src/features/workspaces/components/WorkspaceDrawer.js", 57 "file": "src/features/workspaces/components/WorkspaceDrawer.js",
58 "start": { 58 "start": {
59 "line": 33, 59 "line": 32,
60 "column": 25 60 "column": 25
61 }, 61 },
62 "end": { 62 "end": {
63 "line": 36, 63 "line": 35,
64 "column": 3 64 "column": 3
65 } 65 }
66 }, 66 },
@@ -69,11 +69,11 @@
69 "defaultMessage": "!!!Reactivate premium account", 69 "defaultMessage": "!!!Reactivate premium account",
70 "file": "src/features/workspaces/components/WorkspaceDrawer.js", 70 "file": "src/features/workspaces/components/WorkspaceDrawer.js",
71 "start": { 71 "start": {
72 "line": 37, 72 "line": 36,
73 "column": 28 73 "column": 28
74 }, 74 },
75 "end": { 75 "end": {
76 "line": 40, 76 "line": 39,
77 "column": 3 77 "column": 3
78 } 78 }
79 }, 79 },
@@ -82,11 +82,11 @@
82 "defaultMessage": "!!!add new workspace", 82 "defaultMessage": "!!!add new workspace",
83 "file": "src/features/workspaces/components/WorkspaceDrawer.js", 83 "file": "src/features/workspaces/components/WorkspaceDrawer.js",
84 "start": { 84 "start": {
85 "line": 41, 85 "line": 40,
86 "column": 24 86 "column": 24
87 }, 87 },
88 "end": { 88 "end": {
89 "line": 44, 89 "line": 43,
90 "column": 3 90 "column": 3
91 } 91 }
92 }, 92 },
@@ -95,11 +95,11 @@
95 "defaultMessage": "!!!Premium feature", 95 "defaultMessage": "!!!Premium feature",
96 "file": "src/features/workspaces/components/WorkspaceDrawer.js", 96 "file": "src/features/workspaces/components/WorkspaceDrawer.js",
97 "start": { 97 "start": {
98 "line": 45, 98 "line": 44,
99 "column": 23 99 "column": 23
100 }, 100 },
101 "end": { 101 "end": {
102 "line": 48, 102 "line": 47,
103 "column": 3 103 "column": 3
104 } 104 }
105 } 105 }
diff --git a/src/i18n/messages/src/features/workspaces/components/WorkspacesDashboard.json b/src/i18n/messages/src/features/workspaces/components/WorkspacesDashboard.json
index 8a20eb8e8..87b8942ce 100644
--- a/src/i18n/messages/src/features/workspaces/components/WorkspacesDashboard.json
+++ b/src/i18n/messages/src/features/workspaces/components/WorkspacesDashboard.json
@@ -92,7 +92,7 @@
92 }, 92 },
93 { 93 {
94 "id": "settings.workspaces.workspaceFeatureHeadline", 94 "id": "settings.workspaces.workspaceFeatureHeadline",
95 "defaultMessage": "!!!Less is More: Introducing Franz Workspaces", 95 "defaultMessage": "!!!Less is More: Introducing Ferdi Workspaces",
96 "file": "src/features/workspaces/components/WorkspacesDashboard.js", 96 "file": "src/features/workspaces/components/WorkspacesDashboard.js",
97 "start": { 97 "start": {
98 "line": 48, 98 "line": 48,
diff --git a/src/i18n/messages/src/i18n/globalMessages.json b/src/i18n/messages/src/i18n/globalMessages.json
index f4fd5b8b0..903de64cb 100644
--- a/src/i18n/messages/src/i18n/globalMessages.json
+++ b/src/i18n/messages/src/i18n/globalMessages.json
@@ -1,7 +1,7 @@
1[ 1[
2 { 2 {
3 "id": "global.api.unhealthy", 3 "id": "global.api.unhealthy",
4 "defaultMessage": "!!!Can't connect to Franz Online Services", 4 "defaultMessage": "!!!Can't connect to Ferdi Online Services",
5 "file": "src/i18n/globalMessages.js", 5 "file": "src/i18n/globalMessages.js",
6 "start": { 6 "start": {
7 "line": 4, 7 "line": 4,
diff --git a/src/i18n/messages/src/lib/Menu.json b/src/i18n/messages/src/lib/Menu.json
index 08c8da77d..f69d951fd 100644
--- a/src/i18n/messages/src/lib/Menu.json
+++ b/src/i18n/messages/src/lib/Menu.json
@@ -4,11 +4,11 @@
4 "defaultMessage": "!!!Edit", 4 "defaultMessage": "!!!Edit",
5 "file": "src/lib/Menu.js", 5 "file": "src/lib/Menu.js",
6 "start": { 6 "start": {
7 "line": 18, 7 "line": 17,
8 "column": 8 8 "column": 8
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": "!!!Undo", 17 "defaultMessage": "!!!Undo",
18 "file": "src/lib/Menu.js", 18 "file": "src/lib/Menu.js",
19 "start": { 19 "start": {
20 "line": 22, 20 "line": 21,
21 "column": 8 21 "column": 8
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": "!!!Redo", 30 "defaultMessage": "!!!Redo",
31 "file": "src/lib/Menu.js", 31 "file": "src/lib/Menu.js",
32 "start": { 32 "start": {
33 "line": 26, 33 "line": 25,
34 "column": 8 34 "column": 8
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": "!!!Cut", 43 "defaultMessage": "!!!Cut",
44 "file": "src/lib/Menu.js", 44 "file": "src/lib/Menu.js",
45 "start": { 45 "start": {
46 "line": 30, 46 "line": 29,
47 "column": 7 47 "column": 7
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": "!!!Copy", 56 "defaultMessage": "!!!Copy",
57 "file": "src/lib/Menu.js", 57 "file": "src/lib/Menu.js",
58 "start": { 58 "start": {
59 "line": 34, 59 "line": 33,
60 "column": 8 60 "column": 8
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": "!!!Paste", 69 "defaultMessage": "!!!Paste",
70 "file": "src/lib/Menu.js", 70 "file": "src/lib/Menu.js",
71 "start": { 71 "start": {
72 "line": 38, 72 "line": 37,
73 "column": 9 73 "column": 9
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": "!!!Paste And Match Style", 82 "defaultMessage": "!!!Paste And Match Style",
83 "file": "src/lib/Menu.js", 83 "file": "src/lib/Menu.js",
84 "start": { 84 "start": {
85 "line": 42, 85 "line": 41,
86 "column": 22 86 "column": 22
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": "!!!Delete", 95 "defaultMessage": "!!!Delete",
96 "file": "src/lib/Menu.js", 96 "file": "src/lib/Menu.js",
97 "start": { 97 "start": {
98 "line": 46, 98 "line": 45,
99 "column": 10 99 "column": 10
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": "!!!Select All", 108 "defaultMessage": "!!!Select All",
109 "file": "src/lib/Menu.js", 109 "file": "src/lib/Menu.js",
110 "start": { 110 "start": {
111 "line": 50, 111 "line": 49,
112 "column": 13 112 "column": 13
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": "!!!Speech", 121 "defaultMessage": "!!!Speech",
122 "file": "src/lib/Menu.js", 122 "file": "src/lib/Menu.js",
123 "start": { 123 "start": {
124 "line": 54, 124 "line": 53,
125 "column": 10 125 "column": 10
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": "!!!Start Speaking", 134 "defaultMessage": "!!!Start Speaking",
135 "file": "src/lib/Menu.js", 135 "file": "src/lib/Menu.js",
136 "start": { 136 "start": {
137 "line": 58, 137 "line": 57,
138 "column": 17 138 "column": 17
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": "!!!Stop Speaking", 147 "defaultMessage": "!!!Stop Speaking",
148 "file": "src/lib/Menu.js", 148 "file": "src/lib/Menu.js",
149 "start": { 149 "start": {
150 "line": 62, 150 "line": 61,
151 "column": 16 151 "column": 16
152 }, 152 },
153 "end": { 153 "end": {
154 "line": 65, 154 "line": 64,
155 "column": 3 155 "column": 3
156 } 156 }
157 }, 157 },
@@ -160,11 +160,11 @@
160 "defaultMessage": "!!!Start Dictation", 160 "defaultMessage": "!!!Start Dictation",
161 "file": "src/lib/Menu.js", 161 "file": "src/lib/Menu.js",
162 "start": { 162 "start": {
163 "line": 66, 163 "line": 65,
164 "column": 18 164 "column": 18
165 }, 165 },
166 "end": { 166 "end": {
167 "line": 69, 167 "line": 68,
168 "column": 3 168 "column": 3
169 } 169 }
170 }, 170 },
@@ -173,11 +173,50 @@
173 "defaultMessage": "!!!Emoji & Symbols", 173 "defaultMessage": "!!!Emoji & Symbols",
174 "file": "src/lib/Menu.js", 174 "file": "src/lib/Menu.js",
175 "start": { 175 "start": {
176 "line": 70, 176 "line": 69,
177 "column": 16 177 "column": 16
178 }, 178 },
179 "end": { 179 "end": {
180 "line": 72,
181 "column": 3
182 }
183 },
184 {
185 "id": "menu.view.openQuickSwitch",
186 "defaultMessage": "!!!Open Quick Switch",
187 "file": "src/lib/Menu.js",
188 "start": {
180 "line": 73, 189 "line": 73,
190 "column": 19
191 },
192 "end": {
193 "line": 76,
194 "column": 3
195 }
196 },
197 {
198 "id": "menu.view.back",
199 "defaultMessage": "!!!Back",
200 "file": "src/lib/Menu.js",
201 "start": {
202 "line": 77,
203 "column": 8
204 },
205 "end": {
206 "line": 80,
207 "column": 3
208 }
209 },
210 {
211 "id": "menu.view.forward",
212 "defaultMessage": "!!!Forward",
213 "file": "src/lib/Menu.js",
214 "start": {
215 "line": 81,
216 "column": 11
217 },
218 "end": {
219 "line": 84,
181 "column": 3 220 "column": 3
182 } 221 }
183 }, 222 },
@@ -186,11 +225,11 @@
186 "defaultMessage": "!!!Actual Size", 225 "defaultMessage": "!!!Actual Size",
187 "file": "src/lib/Menu.js", 226 "file": "src/lib/Menu.js",
188 "start": { 227 "start": {
189 "line": 74, 228 "line": 85,
190 "column": 13 229 "column": 13
191 }, 230 },
192 "end": { 231 "end": {
193 "line": 77, 232 "line": 88,
194 "column": 3 233 "column": 3
195 } 234 }
196 }, 235 },
@@ -199,11 +238,11 @@
199 "defaultMessage": "!!!Zoom In", 238 "defaultMessage": "!!!Zoom In",
200 "file": "src/lib/Menu.js", 239 "file": "src/lib/Menu.js",
201 "start": { 240 "start": {
202 "line": 78, 241 "line": 89,
203 "column": 10 242 "column": 10
204 }, 243 },
205 "end": { 244 "end": {
206 "line": 81, 245 "line": 92,
207 "column": 3 246 "column": 3
208 } 247 }
209 }, 248 },
@@ -212,11 +251,11 @@
212 "defaultMessage": "!!!Zoom Out", 251 "defaultMessage": "!!!Zoom Out",
213 "file": "src/lib/Menu.js", 252 "file": "src/lib/Menu.js",
214 "start": { 253 "start": {
215 "line": 82, 254 "line": 93,
216 "column": 11 255 "column": 11
217 }, 256 },
218 "end": { 257 "end": {
219 "line": 85, 258 "line": 96,
220 "column": 3 259 "column": 3
221 } 260 }
222 }, 261 },
@@ -225,11 +264,11 @@
225 "defaultMessage": "!!!Enter Full Screen", 264 "defaultMessage": "!!!Enter Full Screen",
226 "file": "src/lib/Menu.js", 265 "file": "src/lib/Menu.js",
227 "start": { 266 "start": {
228 "line": 86, 267 "line": 97,
229 "column": 19 268 "column": 19
230 }, 269 },
231 "end": { 270 "end": {
232 "line": 89, 271 "line": 100,
233 "column": 3 272 "column": 3
234 } 273 }
235 }, 274 },
@@ -238,11 +277,11 @@
238 "defaultMessage": "!!!Exit Full Screen", 277 "defaultMessage": "!!!Exit Full Screen",
239 "file": "src/lib/Menu.js", 278 "file": "src/lib/Menu.js",
240 "start": { 279 "start": {
241 "line": 90, 280 "line": 101,
242 "column": 18 281 "column": 18
243 }, 282 },
244 "end": { 283 "end": {
245 "line": 93, 284 "line": 104,
246 "column": 3 285 "column": 3
247 } 286 }
248 }, 287 },
@@ -251,11 +290,11 @@
251 "defaultMessage": "!!!Toggle Full Screen", 290 "defaultMessage": "!!!Toggle Full Screen",
252 "file": "src/lib/Menu.js", 291 "file": "src/lib/Menu.js",
253 "start": { 292 "start": {
254 "line": 94, 293 "line": 105,
255 "column": 20 294 "column": 20
256 }, 295 },
257 "end": { 296 "end": {
258 "line": 97, 297 "line": 108,
259 "column": 3 298 "column": 3
260 } 299 }
261 }, 300 },
@@ -264,11 +303,11 @@
264 "defaultMessage": "!!!Toggle Developer Tools", 303 "defaultMessage": "!!!Toggle Developer Tools",
265 "file": "src/lib/Menu.js", 304 "file": "src/lib/Menu.js",
266 "start": { 305 "start": {
267 "line": 98, 306 "line": 109,
268 "column": 18 307 "column": 18
269 }, 308 },
270 "end": { 309 "end": {
271 "line": 101, 310 "line": 112,
272 "column": 3 311 "column": 3
273 } 312 }
274 }, 313 },
@@ -277,11 +316,11 @@
277 "defaultMessage": "!!!Toggle Todos Developer Tools", 316 "defaultMessage": "!!!Toggle Todos Developer Tools",
278 "file": "src/lib/Menu.js", 317 "file": "src/lib/Menu.js",
279 "start": { 318 "start": {
280 "line": 102, 319 "line": 113,
281 "column": 23 320 "column": 23
282 }, 321 },
283 "end": { 322 "end": {
284 "line": 105, 323 "line": 116,
285 "column": 3 324 "column": 3
286 } 325 }
287 }, 326 },
@@ -290,11 +329,11 @@
290 "defaultMessage": "!!!Toggle Service Developer Tools", 329 "defaultMessage": "!!!Toggle Service Developer Tools",
291 "file": "src/lib/Menu.js", 330 "file": "src/lib/Menu.js",
292 "start": { 331 "start": {
293 "line": 106, 332 "line": 117,
294 "column": 25 333 "column": 25
295 }, 334 },
296 "end": { 335 "end": {
297 "line": 109, 336 "line": 120,
298 "column": 3 337 "column": 3
299 } 338 }
300 }, 339 },
@@ -303,24 +342,37 @@
303 "defaultMessage": "!!!Reload Service", 342 "defaultMessage": "!!!Reload Service",
304 "file": "src/lib/Menu.js", 343 "file": "src/lib/Menu.js",
305 "start": { 344 "start": {
306 "line": 110, 345 "line": 121,
307 "column": 17 346 "column": 17
308 }, 347 },
309 "end": { 348 "end": {
310 "line": 113, 349 "line": 124,
311 "column": 3 350 "column": 3
312 } 351 }
313 }, 352 },
314 { 353 {
315 "id": "menu.view.reloadFranz", 354 "id": "menu.view.reloadFranz",
316 "defaultMessage": "!!!Reload Franz", 355 "defaultMessage": "!!!Reload Ferdi",
317 "file": "src/lib/Menu.js", 356 "file": "src/lib/Menu.js",
318 "start": { 357 "start": {
319 "line": 114, 358 "line": 125,
320 "column": 15 359 "column": 15
321 }, 360 },
322 "end": { 361 "end": {
323 "line": 117, 362 "line": 128,
363 "column": 3
364 }
365 },
366 {
367 "id": "menu.view.lockFerdi",
368 "defaultMessage": "!!!Lock Ferdi",
369 "file": "src/lib/Menu.js",
370 "start": {
371 "line": 129,
372 "column": 13
373 },
374 "end": {
375 "line": 132,
324 "column": 3 376 "column": 3
325 } 377 }
326 }, 378 },
@@ -329,11 +381,11 @@
329 "defaultMessage": "!!!Minimize", 381 "defaultMessage": "!!!Minimize",
330 "file": "src/lib/Menu.js", 382 "file": "src/lib/Menu.js",
331 "start": { 383 "start": {
332 "line": 118, 384 "line": 133,
333 "column": 12 385 "column": 12
334 }, 386 },
335 "end": { 387 "end": {
336 "line": 121, 388 "line": 136,
337 "column": 3 389 "column": 3
338 } 390 }
339 }, 391 },
@@ -342,11 +394,11 @@
342 "defaultMessage": "!!!Close", 394 "defaultMessage": "!!!Close",
343 "file": "src/lib/Menu.js", 395 "file": "src/lib/Menu.js",
344 "start": { 396 "start": {
345 "line": 122, 397 "line": 137,
346 "column": 9 398 "column": 9
347 }, 399 },
348 "end": { 400 "end": {
349 "line": 125, 401 "line": 140,
350 "column": 3 402 "column": 3
351 } 403 }
352 }, 404 },
@@ -355,11 +407,11 @@
355 "defaultMessage": "!!!Learn More", 407 "defaultMessage": "!!!Learn More",
356 "file": "src/lib/Menu.js", 408 "file": "src/lib/Menu.js",
357 "start": { 409 "start": {
358 "line": 126, 410 "line": 141,
359 "column": 13 411 "column": 13
360 }, 412 },
361 "end": { 413 "end": {
362 "line": 129, 414 "line": 144,
363 "column": 3 415 "column": 3
364 } 416 }
365 }, 417 },
@@ -368,11 +420,11 @@
368 "defaultMessage": "!!!Changelog", 420 "defaultMessage": "!!!Changelog",
369 "file": "src/lib/Menu.js", 421 "file": "src/lib/Menu.js",
370 "start": { 422 "start": {
371 "line": 130, 423 "line": 145,
372 "column": 13 424 "column": 13
373 }, 425 },
374 "end": { 426 "end": {
375 "line": 133, 427 "line": 148,
376 "column": 3 428 "column": 3
377 } 429 }
378 }, 430 },
@@ -381,11 +433,11 @@
381 "defaultMessage": "!!!Support", 433 "defaultMessage": "!!!Support",
382 "file": "src/lib/Menu.js", 434 "file": "src/lib/Menu.js",
383 "start": { 435 "start": {
384 "line": 134, 436 "line": 149,
385 "column": 11 437 "column": 11
386 }, 438 },
387 "end": { 439 "end": {
388 "line": 137, 440 "line": 152,
389 "column": 3 441 "column": 3
390 } 442 }
391 }, 443 },
@@ -394,24 +446,24 @@
394 "defaultMessage": "!!!Copy Debug Information", 446 "defaultMessage": "!!!Copy Debug Information",
395 "file": "src/lib/Menu.js", 447 "file": "src/lib/Menu.js",
396 "start": { 448 "start": {
397 "line": 138, 449 "line": 153,
398 "column": 13 450 "column": 13
399 }, 451 },
400 "end": { 452 "end": {
401 "line": 141, 453 "line": 156,
402 "column": 3 454 "column": 3
403 } 455 }
404 }, 456 },
405 { 457 {
406 "id": "menu.help.debugInfoCopiedHeadline", 458 "id": "menu.help.debugInfoCopiedHeadline",
407 "defaultMessage": "!!!Franz Debug Information", 459 "defaultMessage": "!!!Ferdi Debug Information",
408 "file": "src/lib/Menu.js", 460 "file": "src/lib/Menu.js",
409 "start": { 461 "start": {
410 "line": 142, 462 "line": 157,
411 "column": 27 463 "column": 27
412 }, 464 },
413 "end": { 465 "end": {
414 "line": 145, 466 "line": 160,
415 "column": 3 467 "column": 3
416 } 468 }
417 }, 469 },
@@ -420,11 +472,11 @@
420 "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.", 472 "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.",
421 "file": "src/lib/Menu.js", 473 "file": "src/lib/Menu.js",
422 "start": { 474 "start": {
423 "line": 146, 475 "line": 161,
424 "column": 23 476 "column": 23
425 }, 477 },
426 "end": { 478 "end": {
427 "line": 149, 479 "line": 164,
428 "column": 3 480 "column": 3
429 } 481 }
430 }, 482 },
@@ -433,11 +485,11 @@
433 "defaultMessage": "!!!Terms of Service", 485 "defaultMessage": "!!!Terms of Service",
434 "file": "src/lib/Menu.js", 486 "file": "src/lib/Menu.js",
435 "start": { 487 "start": {
436 "line": 150, 488 "line": 165,
437 "column": 7 489 "column": 7
438 }, 490 },
439 "end": { 491 "end": {
440 "line": 153, 492 "line": 168,
441 "column": 3 493 "column": 3
442 } 494 }
443 }, 495 },
@@ -446,11 +498,11 @@
446 "defaultMessage": "!!!Privacy Statement", 498 "defaultMessage": "!!!Privacy Statement",
447 "file": "src/lib/Menu.js", 499 "file": "src/lib/Menu.js",
448 "start": { 500 "start": {
449 "line": 154, 501 "line": 169,
450 "column": 11 502 "column": 11
451 }, 503 },
452 "end": { 504 "end": {
453 "line": 157, 505 "line": 172,
454 "column": 3 506 "column": 3
455 } 507 }
456 }, 508 },
@@ -459,11 +511,11 @@
459 "defaultMessage": "!!!File", 511 "defaultMessage": "!!!File",
460 "file": "src/lib/Menu.js", 512 "file": "src/lib/Menu.js",
461 "start": { 513 "start": {
462 "line": 158, 514 "line": 173,
463 "column": 8 515 "column": 8
464 }, 516 },
465 "end": { 517 "end": {
466 "line": 161, 518 "line": 176,
467 "column": 3 519 "column": 3
468 } 520 }
469 }, 521 },
@@ -472,11 +524,11 @@
472 "defaultMessage": "!!!View", 524 "defaultMessage": "!!!View",
473 "file": "src/lib/Menu.js", 525 "file": "src/lib/Menu.js",
474 "start": { 526 "start": {
475 "line": 162, 527 "line": 177,
476 "column": 8 528 "column": 8
477 }, 529 },
478 "end": { 530 "end": {
479 "line": 165, 531 "line": 180,
480 "column": 3 532 "column": 3
481 } 533 }
482 }, 534 },
@@ -485,11 +537,11 @@
485 "defaultMessage": "!!!Services", 537 "defaultMessage": "!!!Services",
486 "file": "src/lib/Menu.js", 538 "file": "src/lib/Menu.js",
487 "start": { 539 "start": {
488 "line": 166, 540 "line": 181,
489 "column": 12 541 "column": 12
490 }, 542 },
491 "end": { 543 "end": {
492 "line": 169, 544 "line": 184,
493 "column": 3 545 "column": 3
494 } 546 }
495 }, 547 },
@@ -498,11 +550,11 @@
498 "defaultMessage": "!!!Window", 550 "defaultMessage": "!!!Window",
499 "file": "src/lib/Menu.js", 551 "file": "src/lib/Menu.js",
500 "start": { 552 "start": {
501 "line": 170, 553 "line": 185,
502 "column": 10 554 "column": 10
503 }, 555 },
504 "end": { 556 "end": {
505 "line": 173, 557 "line": 188,
506 "column": 3 558 "column": 3
507 } 559 }
508 }, 560 },
@@ -511,24 +563,24 @@
511 "defaultMessage": "!!!Help", 563 "defaultMessage": "!!!Help",
512 "file": "src/lib/Menu.js", 564 "file": "src/lib/Menu.js",
513 "start": { 565 "start": {
514 "line": 174, 566 "line": 189,
515 "column": 8 567 "column": 8
516 }, 568 },
517 "end": { 569 "end": {
518 "line": 177, 570 "line": 192,
519 "column": 3 571 "column": 3
520 } 572 }
521 }, 573 },
522 { 574 {
523 "id": "menu.app.about", 575 "id": "menu.app.about",
524 "defaultMessage": "!!!About Franz", 576 "defaultMessage": "!!!About Ferdi",
525 "file": "src/lib/Menu.js", 577 "file": "src/lib/Menu.js",
526 "start": { 578 "start": {
527 "line": 178, 579 "line": 193,
528 "column": 9 580 "column": 9
529 }, 581 },
530 "end": { 582 "end": {
531 "line": 181, 583 "line": 196,
532 "column": 3 584 "column": 3
533 } 585 }
534 }, 586 },
@@ -537,11 +589,11 @@
537 "defaultMessage": "!!!What's new?", 589 "defaultMessage": "!!!What's new?",
538 "file": "src/lib/Menu.js", 590 "file": "src/lib/Menu.js",
539 "start": { 591 "start": {
540 "line": 182, 592 "line": 197,
541 "column": 16 593 "column": 16
542 }, 594 },
543 "end": { 595 "end": {
544 "line": 185, 596 "line": 200,
545 "column": 3 597 "column": 3
546 } 598 }
547 }, 599 },
@@ -550,11 +602,11 @@
550 "defaultMessage": "!!!Settings", 602 "defaultMessage": "!!!Settings",
551 "file": "src/lib/Menu.js", 603 "file": "src/lib/Menu.js",
552 "start": { 604 "start": {
553 "line": 186, 605 "line": 201,
554 "column": 12 606 "column": 12
555 }, 607 },
556 "end": { 608 "end": {
557 "line": 189, 609 "line": 204,
558 "column": 3 610 "column": 3
559 } 611 }
560 }, 612 },
@@ -563,11 +615,11 @@
563 "defaultMessage": "!!!Check for updates", 615 "defaultMessage": "!!!Check for updates",
564 "file": "src/lib/Menu.js", 616 "file": "src/lib/Menu.js",
565 "start": { 617 "start": {
566 "line": 190, 618 "line": 205,
567 "column": 19 619 "column": 19
568 }, 620 },
569 "end": { 621 "end": {
570 "line": 193, 622 "line": 208,
571 "column": 3 623 "column": 3
572 } 624 }
573 }, 625 },
@@ -576,11 +628,11 @@
576 "defaultMessage": "!!!Hide", 628 "defaultMessage": "!!!Hide",
577 "file": "src/lib/Menu.js", 629 "file": "src/lib/Menu.js",
578 "start": { 630 "start": {
579 "line": 194, 631 "line": 209,
580 "column": 8 632 "column": 8
581 }, 633 },
582 "end": { 634 "end": {
583 "line": 197, 635 "line": 212,
584 "column": 3 636 "column": 3
585 } 637 }
586 }, 638 },
@@ -589,11 +641,11 @@
589 "defaultMessage": "!!!Hide Others", 641 "defaultMessage": "!!!Hide Others",
590 "file": "src/lib/Menu.js", 642 "file": "src/lib/Menu.js",
591 "start": { 643 "start": {
592 "line": 198, 644 "line": 213,
593 "column": 14 645 "column": 14
594 }, 646 },
595 "end": { 647 "end": {
596 "line": 201, 648 "line": 216,
597 "column": 3 649 "column": 3
598 } 650 }
599 }, 651 },
@@ -602,11 +654,24 @@
602 "defaultMessage": "!!!Unhide", 654 "defaultMessage": "!!!Unhide",
603 "file": "src/lib/Menu.js", 655 "file": "src/lib/Menu.js",
604 "start": { 656 "start": {
605 "line": 202, 657 "line": 217,
606 "column": 10 658 "column": 10
607 }, 659 },
608 "end": { 660 "end": {
609 "line": 205, 661 "line": 220,
662 "column": 3
663 }
664 },
665 {
666 "id": "menu.app.autohideMenuBar",
667 "defaultMessage": "!!!Auto-hide menu bar",
668 "file": "src/lib/Menu.js",
669 "start": {
670 "line": 221,
671 "column": 19
672 },
673 "end": {
674 "line": 224,
610 "column": 3 675 "column": 3
611 } 676 }
612 }, 677 },
@@ -615,11 +680,11 @@
615 "defaultMessage": "!!!Quit", 680 "defaultMessage": "!!!Quit",
616 "file": "src/lib/Menu.js", 681 "file": "src/lib/Menu.js",
617 "start": { 682 "start": {
618 "line": 206, 683 "line": 225,
619 "column": 8 684 "column": 8
620 }, 685 },
621 "end": { 686 "end": {
622 "line": 209, 687 "line": 228,
623 "column": 3 688 "column": 3
624 } 689 }
625 }, 690 },
@@ -628,11 +693,11 @@
628 "defaultMessage": "!!!Add New Service...", 693 "defaultMessage": "!!!Add New Service...",
629 "file": "src/lib/Menu.js", 694 "file": "src/lib/Menu.js",
630 "start": { 695 "start": {
631 "line": 210, 696 "line": 229,
632 "column": 17 697 "column": 17
633 }, 698 },
634 "end": { 699 "end": {
635 "line": 213, 700 "line": 232,
636 "column": 3 701 "column": 3
637 } 702 }
638 }, 703 },
@@ -641,11 +706,11 @@
641 "defaultMessage": "!!!Add New Workspace...", 706 "defaultMessage": "!!!Add New Workspace...",
642 "file": "src/lib/Menu.js", 707 "file": "src/lib/Menu.js",
643 "start": { 708 "start": {
644 "line": 214, 709 "line": 233,
645 "column": 19 710 "column": 19
646 }, 711 },
647 "end": { 712 "end": {
648 "line": 217, 713 "line": 236,
649 "column": 3 714 "column": 3
650 } 715 }
651 }, 716 },
@@ -654,11 +719,11 @@
654 "defaultMessage": "!!!Open workspace drawer", 719 "defaultMessage": "!!!Open workspace drawer",
655 "file": "src/lib/Menu.js", 720 "file": "src/lib/Menu.js",
656 "start": { 721 "start": {
657 "line": 218, 722 "line": 237,
658 "column": 23 723 "column": 23
659 }, 724 },
660 "end": { 725 "end": {
661 "line": 221, 726 "line": 240,
662 "column": 3 727 "column": 3
663 } 728 }
664 }, 729 },
@@ -667,11 +732,11 @@
667 "defaultMessage": "!!!Close workspace drawer", 732 "defaultMessage": "!!!Close workspace drawer",
668 "file": "src/lib/Menu.js", 733 "file": "src/lib/Menu.js",
669 "start": { 734 "start": {
670 "line": 222, 735 "line": 241,
671 "column": 24 736 "column": 24
672 }, 737 },
673 "end": { 738 "end": {
674 "line": 225, 739 "line": 244,
675 "column": 3 740 "column": 3
676 } 741 }
677 }, 742 },
@@ -680,11 +745,11 @@
680 "defaultMessage": "!!!Activate next service...", 745 "defaultMessage": "!!!Activate next service...",
681 "file": "src/lib/Menu.js", 746 "file": "src/lib/Menu.js",
682 "start": { 747 "start": {
683 "line": 226, 748 "line": 245,
684 "column": 23 749 "column": 23
685 }, 750 },
686 "end": { 751 "end": {
687 "line": 229, 752 "line": 248,
688 "column": 3 753 "column": 3
689 } 754 }
690 }, 755 },
@@ -693,11 +758,11 @@
693 "defaultMessage": "!!!Activate previous service...", 758 "defaultMessage": "!!!Activate previous service...",
694 "file": "src/lib/Menu.js", 759 "file": "src/lib/Menu.js",
695 "start": { 760 "start": {
696 "line": 230, 761 "line": 249,
697 "column": 27 762 "column": 27
698 }, 763 },
699 "end": { 764 "end": {
700 "line": 233, 765 "line": 252,
701 "column": 3 766 "column": 3
702 } 767 }
703 }, 768 },
@@ -706,11 +771,11 @@
706 "defaultMessage": "!!!Disable notifications & audio", 771 "defaultMessage": "!!!Disable notifications & audio",
707 "file": "src/lib/Menu.js", 772 "file": "src/lib/Menu.js",
708 "start": { 773 "start": {
709 "line": 234, 774 "line": 253,
710 "column": 11 775 "column": 11
711 }, 776 },
712 "end": { 777 "end": {
713 "line": 237, 778 "line": 256,
714 "column": 3 779 "column": 3
715 } 780 }
716 }, 781 },
@@ -719,11 +784,11 @@
719 "defaultMessage": "!!!Enable notifications & audio", 784 "defaultMessage": "!!!Enable notifications & audio",
720 "file": "src/lib/Menu.js", 785 "file": "src/lib/Menu.js",
721 "start": { 786 "start": {
722 "line": 238, 787 "line": 257,
723 "column": 13 788 "column": 13
724 }, 789 },
725 "end": { 790 "end": {
726 "line": 241, 791 "line": 260,
727 "column": 3 792 "column": 3
728 } 793 }
729 }, 794 },
@@ -732,11 +797,11 @@
732 "defaultMessage": "!!!Workspaces", 797 "defaultMessage": "!!!Workspaces",
733 "file": "src/lib/Menu.js", 798 "file": "src/lib/Menu.js",
734 "start": { 799 "start": {
735 "line": 242, 800 "line": 261,
736 "column": 14 801 "column": 14
737 }, 802 },
738 "end": { 803 "end": {
739 "line": 245, 804 "line": 264,
740 "column": 3 805 "column": 3
741 } 806 }
742 }, 807 },
@@ -745,11 +810,11 @@
745 "defaultMessage": "!!!Default", 810 "defaultMessage": "!!!Default",
746 "file": "src/lib/Menu.js", 811 "file": "src/lib/Menu.js",
747 "start": { 812 "start": {
748 "line": 246, 813 "line": 265,
749 "column": 20 814 "column": 20
750 }, 815 },
751 "end": { 816 "end": {
752 "line": 249, 817 "line": 268,
753 "column": 3 818 "column": 3
754 } 819 }
755 }, 820 },
@@ -758,11 +823,11 @@
758 "defaultMessage": "!!!Todos", 823 "defaultMessage": "!!!Todos",
759 "file": "src/lib/Menu.js", 824 "file": "src/lib/Menu.js",
760 "start": { 825 "start": {
761 "line": 250, 826 "line": 269,
762 "column": 9 827 "column": 9
763 }, 828 },
764 "end": { 829 "end": {
765 "line": 253, 830 "line": 272,
766 "column": 3 831 "column": 3
767 } 832 }
768 }, 833 },
@@ -771,11 +836,11 @@
771 "defaultMessage": "!!!Open Todos drawer", 836 "defaultMessage": "!!!Open Todos drawer",
772 "file": "src/lib/Menu.js", 837 "file": "src/lib/Menu.js",
773 "start": { 838 "start": {
774 "line": 254, 839 "line": 273,
775 "column": 19 840 "column": 19
776 }, 841 },
777 "end": { 842 "end": {
778 "line": 257, 843 "line": 276,
779 "column": 3 844 "column": 3
780 } 845 }
781 }, 846 },
@@ -784,11 +849,11 @@
784 "defaultMessage": "!!!Close Todos drawer", 849 "defaultMessage": "!!!Close Todos drawer",
785 "file": "src/lib/Menu.js", 850 "file": "src/lib/Menu.js",
786 "start": { 851 "start": {
787 "line": 258, 852 "line": 277,
788 "column": 20 853 "column": 20
789 }, 854 },
790 "end": { 855 "end": {
791 "line": 261, 856 "line": 280,
792 "column": 3 857 "column": 3
793 } 858 }
794 }, 859 },
@@ -797,11 +862,11 @@
797 "defaultMessage": "!!!Enable Todos", 862 "defaultMessage": "!!!Enable Todos",
798 "file": "src/lib/Menu.js", 863 "file": "src/lib/Menu.js",
799 "start": { 864 "start": {
800 "line": 262, 865 "line": 281,
801 "column": 15 866 "column": 15
802 }, 867 },
803 "end": { 868 "end": {
804 "line": 265, 869 "line": 284,
805 "column": 3 870 "column": 3
806 } 871 }
807 }, 872 },
@@ -810,11 +875,11 @@
810 "defaultMessage": "!!!Home", 875 "defaultMessage": "!!!Home",
811 "file": "src/lib/Menu.js", 876 "file": "src/lib/Menu.js",
812 "start": { 877 "start": {
813 "line": 266, 878 "line": 285,
814 "column": 17 879 "column": 17
815 }, 880 },
816 "end": { 881 "end": {
817 "line": 269, 882 "line": 288,
818 "column": 3 883 "column": 3
819 } 884 }
820 } 885 }
diff --git a/src/index.html b/src/index.html
index 198c1ab7b..7f223b662 100644
--- a/src/index.html
+++ b/src/index.html
@@ -1,7 +1,7 @@
1<!DOCTYPE html> 1<!DOCTYPE html>
2<html lang="en"> 2<html lang="en">
3<head> 3<head>
4 <title>Franz</title> 4 <title>Ferdi</title>
5 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 5 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
6 <link rel="stylesheet" type="text/css" href="./styles/main.css" /> 6 <link rel="stylesheet" type="text/css" href="./styles/main.css" />
7 <script type="text/javascript" src="./app.js"></script> 7 <script type="text/javascript" src="./app.js"></script>
diff --git a/src/index.js b/src/index.js
index 3056a8bec..87aa6357b 100644
--- a/src/index.js
+++ b/src/index.js
@@ -9,9 +9,13 @@ import fs from 'fs-extra';
9import path from 'path'; 9import path from 'path';
10import windowStateKeeper from 'electron-window-state'; 10import windowStateKeeper from 'electron-window-state';
11 11
12// Set app directory before loading user modules 12if (process.platform === 'win32') {
13 app.setPath('appData', process.env.LOCALAPPDATA);
14 app.setPath('userData', path.join(process.env.LOCALAPPDATA, app.getName()));
15}
16
13if (isDevMode) { 17if (isDevMode) {
14 app.setPath('userData', path.join(app.getPath('appData'), 'FranzDev')); 18 app.setPath('userData', path.join(app.getPath('appData'), `${app.getName()}Dev`));
15} 19}
16 20
17/* eslint-disable import/first */ 21/* eslint-disable import/first */
@@ -37,7 +41,7 @@ import { asarPath } from './helpers/asar-helpers';
37import { isValidExternalURL } from './helpers/url-helpers'; 41import { isValidExternalURL } from './helpers/url-helpers';
38/* eslint-enable import/first */ 42/* eslint-enable import/first */
39 43
40const debug = require('debug')('Franz:App'); 44const debug = require('debug')('Ferdi:App');
41 45
42// Keep a global reference of the window object, if you don't, the window will 46// Keep a global reference of the window object, if you don't, the window will
43// be closed automatically when the JavaScript object is garbage collected. 47// be closed automatically when the JavaScript object is garbage collected.
@@ -103,7 +107,7 @@ if (!gotTheLock) {
103 } else if (argv.includes('--quit')) { 107 } else if (argv.includes('--quit')) {
104 // Needs to be delayed to not interfere with mainWindow.restore(); 108 // Needs to be delayed to not interfere with mainWindow.restore();
105 setTimeout(() => { 109 setTimeout(() => {
106 debug('Quitting Franz via Task'); 110 debug('Quitting Ferdi via Task');
107 app.quit(); 111 app.quit();
108 }, 1); 112 }, 1);
109 } 113 }
@@ -142,6 +146,13 @@ const createWindow = () => {
142 } 146 }
143 147
144 // Create the browser window. 148 // Create the browser window.
149 let backgroundColor = '#7367F0';
150 if (settings.get('accentColor') !== '#7367f0') {
151 backgroundColor = settings.get('accentColor');
152 } else if (settings.get('darkMode')) {
153 backgroundColor = '#1E1E1E';
154 }
155
145 mainWindow = new BrowserWindow({ 156 mainWindow = new BrowserWindow({
146 x: posX, 157 x: posX,
147 y: posY, 158 y: posY,
@@ -151,7 +162,7 @@ const createWindow = () => {
151 minHeight: 500, 162 minHeight: 500,
152 titleBarStyle: isMac ? 'hidden' : '', 163 titleBarStyle: isMac ? 'hidden' : '',
153 frame: isLinux, 164 frame: isLinux,
154 backgroundColor: !settings.get('darkMode') ? '#3498db' : '#1E1E1E', 165 backgroundColor,
155 webPreferences: { 166 webPreferences: {
156 nodeIntegration: true, 167 nodeIntegration: true,
157 webviewTag: true, 168 webviewTag: true,
@@ -161,7 +172,7 @@ const createWindow = () => {
161 mainWindow.webContents.on('did-finish-load', () => { 172 mainWindow.webContents.on('did-finish-load', () => {
162 const fns = onDidLoadFns; 173 const fns = onDidLoadFns;
163 onDidLoadFns = null; 174 onDidLoadFns = null;
164 for (const fn of fns) { 175 for (const fn of fns) { // eslint-disable-line no-unused-vars
165 fn(mainWindow); 176 fn(mainWindow);
166 } 177 }
167 }); 178 });
@@ -284,7 +295,7 @@ const createWindow = () => {
284// https://electronjs.org/docs/api/chrome-command-line-switches 295// https://electronjs.org/docs/api/chrome-command-line-switches
285// used for Kerberos support 296// used for Kerberos support
286// Usage e.g. MACOS 297// Usage e.g. MACOS
287// $ Franz.app/Contents/MacOS/Franz --auth-server-whitelist *.mydomain.com --auth-negotiate-delegate-whitelist *.mydomain.com 298// $ Franz.app/Contents/MacOS/Ferdi --auth-server-whitelist *.mydomain.com --auth-negotiate-delegate-whitelist *.mydomain.com
288const argv = require('minimist')(process.argv.slice(1)); 299const argv = require('minimist')(process.argv.slice(1));
289 300
290if (argv['auth-server-whitelist']) { 301if (argv['auth-server-whitelist']) {
@@ -299,10 +310,10 @@ if (argv['auth-negotiate-delegate-whitelist']) {
299// Some APIs can only be used after this event occurs. 310// Some APIs can only be used after this event occurs.
300app.on('ready', () => { 311app.on('ready', () => {
301 // Register App URL 312 // Register App URL
302 app.setAsDefaultProtocolClient('franz'); 313 app.setAsDefaultProtocolClient('ferdi');
303 314
304 if (isDevMode) { 315 if (isDevMode) {
305 app.setAsDefaultProtocolClient('franz-dev'); 316 app.setAsDefaultProtocolClient('ferdi-dev');
306 } 317 }
307 318
308 if (process.platform === 'win32') { 319 if (process.platform === 'win32') {
@@ -311,13 +322,13 @@ app.on('ready', () => {
311 arguments: `${isDevMode ? `${__dirname} ` : ''}--reset-window`, 322 arguments: `${isDevMode ? `${__dirname} ` : ''}--reset-window`,
312 iconPath: asarPath(path.join(isDevMode ? `${__dirname}../src/` : __dirname, 'assets/images/taskbar/win32/display.ico')), 323 iconPath: asarPath(path.join(isDevMode ? `${__dirname}../src/` : __dirname, 'assets/images/taskbar/win32/display.ico')),
313 iconIndex: 0, 324 iconIndex: 0,
314 title: 'Move Franz to Current Display', 325 title: 'Move Ferdi to Current Display',
315 description: 'Restore the position and size of Franz', 326 description: 'Restore the position and size of Ferdi',
316 }, { 327 }, {
317 program: process.execPath, 328 program: process.execPath,
318 arguments: `${isDevMode ? `${__dirname} ` : ''}--quit`, 329 arguments: `${isDevMode ? `${__dirname} ` : ''}--quit`,
319 iconIndex: 0, 330 iconIndex: 0,
320 title: 'Quit Franz', 331 title: 'Quit Ferdi',
321 }]); 332 }]);
322 } 333 }
323 334
diff --git a/src/lib/Menu.js b/src/lib/Menu.js
index c0c9d940d..d7398a126 100644
--- a/src/lib/Menu.js
+++ b/src/lib/Menu.js
@@ -3,12 +3,11 @@ import { observable, autorun } from 'mobx';
3import { defineMessages } from 'react-intl'; 3import { defineMessages } from 'react-intl';
4 4
5import { isMac, ctrlKey, cmdKey } from '../environment'; 5import { isMac, ctrlKey, cmdKey } from '../environment';
6import { GA_CATEGORY_WORKSPACES, workspaceStore } from '../features/workspaces/index'; 6import { workspaceStore } from '../features/workspaces/index';
7import { workspaceActions } from '../features/workspaces/actions'; 7import { workspaceActions } from '../features/workspaces/actions';
8import { gaEvent } from './analytics';
9import { announcementActions } from '../features/announcements/actions'; 8import { announcementActions } from '../features/announcements/actions';
10import { announcementsStore } from '../features/announcements'; 9import { announcementsStore } from '../features/announcements';
11import { GA_CATEGORY_TODOS, todosStore } from '../features/todos'; 10import { todosStore } from '../features/todos';
12import { todoActions } from '../features/todos/actions'; 11import { todoActions } from '../features/todos/actions';
13import { CUSTOM_WEBSITE_ID } from '../features/webControls/constants'; 12import { CUSTOM_WEBSITE_ID } from '../features/webControls/constants';
14 13
@@ -71,6 +70,18 @@ const menuItems = defineMessages({
71 id: 'menu.edit.emojiSymbols', 70 id: 'menu.edit.emojiSymbols',
72 defaultMessage: '!!!Emoji & Symbols', 71 defaultMessage: '!!!Emoji & Symbols',
73 }, 72 },
73 openQuickSwitch: {
74 id: 'menu.view.openQuickSwitch',
75 defaultMessage: '!!!Open Quick Switch',
76 },
77 back: {
78 id: 'menu.view.back',
79 defaultMessage: '!!!Back',
80 },
81 forward: {
82 id: 'menu.view.forward',
83 defaultMessage: '!!!Forward',
84 },
74 resetZoom: { 85 resetZoom: {
75 id: 'menu.view.resetZoom', 86 id: 'menu.view.resetZoom',
76 defaultMessage: '!!!Actual Size', 87 defaultMessage: '!!!Actual Size',
@@ -113,7 +124,11 @@ const menuItems = defineMessages({
113 }, 124 },
114 reloadFranz: { 125 reloadFranz: {
115 id: 'menu.view.reloadFranz', 126 id: 'menu.view.reloadFranz',
116 defaultMessage: '!!!Reload Franz', 127 defaultMessage: '!!!Reload Ferdi',
128 },
129 lockFerdi: {
130 id: 'menu.view.lockFerdi',
131 defaultMessage: '!!!Lock Ferdi',
117 }, 132 },
118 minimize: { 133 minimize: {
119 id: 'menu.window.minimize', 134 id: 'menu.window.minimize',
@@ -141,7 +156,7 @@ const menuItems = defineMessages({
141 }, 156 },
142 debugInfoCopiedHeadline: { 157 debugInfoCopiedHeadline: {
143 id: 'menu.help.debugInfoCopiedHeadline', 158 id: 'menu.help.debugInfoCopiedHeadline',
144 defaultMessage: '!!!Franz Debug Information', 159 defaultMessage: '!!!Ferdi Debug Information',
145 }, 160 },
146 debugInfoCopiedBody: { 161 debugInfoCopiedBody: {
147 id: 'menu.help.debugInfoCopiedBody', 162 id: 'menu.help.debugInfoCopiedBody',
@@ -177,7 +192,7 @@ const menuItems = defineMessages({
177 }, 192 },
178 about: { 193 about: {
179 id: 'menu.app.about', 194 id: 'menu.app.about',
180 defaultMessage: '!!!About Franz', 195 defaultMessage: '!!!About Ferdi',
181 }, 196 },
182 announcement: { 197 announcement: {
183 id: 'menu.app.announcement', 198 id: 'menu.app.announcement',
@@ -203,6 +218,10 @@ const menuItems = defineMessages({
203 id: 'menu.app.unhide', 218 id: 'menu.app.unhide',
204 defaultMessage: '!!!Unhide', 219 defaultMessage: '!!!Unhide',
205 }, 220 },
221 autohideMenuBar: {
222 id: 'menu.app.autohideMenuBar',
223 defaultMessage: '!!!Auto-hide menu bar',
224 },
206 quit: { 225 quit: {
207 id: 'menu.app.quit', 226 id: 'menu.app.quit',
208 defaultMessage: '!!!Quit', 227 defaultMessage: '!!!Quit',
@@ -270,7 +289,11 @@ const menuItems = defineMessages({
270}); 289});
271 290
272function getActiveWebview() { 291function getActiveWebview() {
273 return window.franz.stores.services.active.webview; 292 return window.ferdi.stores.services.active.webview;
293}
294
295function termsBase() {
296 return window.ferdi.stores.settings.all.app.server !== 'https://api.franzinfra.com' ? window.ferdi.stores.settings.all.app.server : 'https://meetfranz.com';
274} 297}
275 298
276const _templateFactory = intl => [ 299const _templateFactory = intl => [
@@ -329,6 +352,35 @@ const _templateFactory = intl => [
329 type: 'separator', 352 type: 'separator',
330 }, 353 },
331 { 354 {
355 label: intl.formatMessage(menuItems.openQuickSwitch),
356 accelerator: 'CmdOrCtrl+S',
357 click() {
358 window.ferdi.features.quickSwitch.state.isModalVisible = true;
359 },
360 },
361 {
362 type: 'separator',
363 },
364 {
365 label: intl.formatMessage(menuItems.back),
366 accelerator: 'CmdOrCtrl+Left',
367 click() {
368 const activeService = getActiveWebview();
369 activeService.goBack();
370 },
371 },
372 {
373 label: intl.formatMessage(menuItems.forward),
374 accelerator: 'CmdOrCtrl+Right',
375 click() {
376 const activeService = getActiveWebview();
377 activeService.goForward();
378 },
379 },
380 {
381 type: 'separator',
382 },
383 {
332 label: intl.formatMessage(menuItems.resetZoom), 384 label: intl.formatMessage(menuItems.resetZoom),
333 accelerator: 'Cmd+0', 385 accelerator: 'Cmd+0',
334 click() { 386 click() {
@@ -402,32 +454,32 @@ const _templateFactory = intl => [
402 submenu: [ 454 submenu: [
403 { 455 {
404 label: intl.formatMessage(menuItems.learnMore), 456 label: intl.formatMessage(menuItems.learnMore),
405 click() { shell.openExternal('https://meetfranz.com'); }, 457 click() { shell.openExternal('https://getferdi.com'); },
406 }, 458 },
407 { 459 {
408 label: intl.formatMessage(menuItems.announcement), 460 label: intl.formatMessage(menuItems.announcement),
409 click: () => { 461 click: () => {
410 announcementActions.show(); 462 announcementActions.show();
411 }, 463 },
412 visible: window.franz.stores.user.isLoggedIn && announcementsStore.areNewsAvailable, 464 visible: window.ferdi.stores.user.isLoggedIn && announcementsStore.areNewsAvailable,
413 }, 465 },
414 { 466 {
415 type: 'separator', 467 type: 'separator',
416 }, 468 },
417 { 469 {
418 label: intl.formatMessage(menuItems.support), 470 label: intl.formatMessage(menuItems.support),
419 click() { shell.openExternal('https://meetfranz.com/support'); }, 471 click() { shell.openExternal('https://getferdi.com/contact'); },
420 }, 472 },
421 { 473 {
422 type: 'separator', 474 type: 'separator',
423 }, 475 },
424 { 476 {
425 label: intl.formatMessage(menuItems.tos), 477 label: intl.formatMessage(menuItems.tos),
426 click() { shell.openExternal('https://meetfranz.com/terms'); }, 478 click() { shell.openExternal(`${termsBase()}/terms`); },
427 }, 479 },
428 { 480 {
429 label: intl.formatMessage(menuItems.privacy), 481 label: intl.formatMessage(menuItems.privacy),
430 click() { shell.openExternal('https://meetfranz.com/privacy'); }, 482 click() { shell.openExternal(`${termsBase()}/privacy`); },
431 }, 483 },
432 ], 484 ],
433 }, 485 },
@@ -435,7 +487,7 @@ const _templateFactory = intl => [
435 487
436const _titleBarTemplateFactory = intl => [ 488const _titleBarTemplateFactory = intl => [
437 { 489 {
438 label: intl.formatMessage(menuItems.edit), 490 label: `&${intl.formatMessage(menuItems.edit)}`,
439 submenu: [ 491 submenu: [
440 { 492 {
441 label: intl.formatMessage(menuItems.undo), 493 label: intl.formatMessage(menuItems.undo),
@@ -498,12 +550,41 @@ const _titleBarTemplateFactory = intl => [
498 ], 550 ],
499 }, 551 },
500 { 552 {
501 label: intl.formatMessage(menuItems.view), 553 label: `&${intl.formatMessage(menuItems.view)}`,
502 submenu: [ 554 submenu: [
503 { 555 {
504 type: 'separator', 556 type: 'separator',
505 }, 557 },
506 { 558 {
559 label: intl.formatMessage(menuItems.openQuickSwitch),
560 accelerator: 'CmdOrCtrl+S',
561 click() {
562 window.ferdi.features.quickSwitch.state.isModalVisible = true;
563 },
564 },
565 {
566 type: 'separator',
567 },
568 {
569 label: intl.formatMessage(menuItems.back),
570 accelerator: 'CmdOrCtrl+Left',
571 click() {
572 const activeService = getActiveWebview();
573 activeService.goBack();
574 },
575 },
576 {
577 label: intl.formatMessage(menuItems.forward),
578 accelerator: 'CmdOrCtrl+Right',
579 click() {
580 const activeService = getActiveWebview();
581 activeService.goForward();
582 },
583 },
584 {
585 type: 'separator',
586 },
587 {
507 label: intl.formatMessage(menuItems.resetZoom), 588 label: intl.formatMessage(menuItems.resetZoom),
508 accelerator: `${ctrlKey}+0`, 589 accelerator: `${ctrlKey}+0`,
509 click() { 590 click() {
@@ -544,14 +625,27 @@ const _titleBarTemplateFactory = intl => [
544 browserWindow.setFullScreen(!browserWindow.isFullScreen()); 625 browserWindow.setFullScreen(!browserWindow.isFullScreen());
545 }, 626 },
546 }, 627 },
628 {
629 label: intl.formatMessage(menuItems.autohideMenuBar),
630 type: 'checkbox',
631 checked: window.ferdi.stores.settings.app.autohideMenuBar,
632 click: () => {
633 window.ferdi.actions.settings.update({
634 type: 'app',
635 data: {
636 autohideMenuBar: !window.ferdi.stores.settings.app.autohideMenuBar,
637 },
638 });
639 },
640 },
547 ], 641 ],
548 }, 642 },
549 { 643 {
550 label: intl.formatMessage(menuItems.services), 644 label: `&${intl.formatMessage(menuItems.services)}`,
551 submenu: [], 645 submenu: [],
552 }, 646 },
553 { 647 {
554 label: intl.formatMessage(menuItems.workspaces), 648 label: `&${intl.formatMessage(menuItems.workspaces)}`,
555 submenu: [], 649 submenu: [],
556 visible: workspaceStore.isFeatureEnabled, 650 visible: workspaceStore.isFeatureEnabled,
557 }, 651 },
@@ -580,33 +674,33 @@ const _titleBarTemplateFactory = intl => [
580 ], 674 ],
581 }, 675 },
582 { 676 {
583 label: '?', 677 label: '&?',
584 submenu: [ 678 submenu: [
585 { 679 {
586 label: intl.formatMessage(menuItems.learnMore), 680 label: intl.formatMessage(menuItems.learnMore),
587 click() { shell.openExternal('https://meetfranz.com'); }, 681 click() { shell.openExternal('https://getferdi.com'); },
588 }, 682 },
589 { 683 {
590 label: intl.formatMessage(menuItems.changelog), 684 label: intl.formatMessage(menuItems.changelog),
591 click() { shell.openExternal('https://github.com/meetfranz/franz/blob/master/CHANGELOG.md'); }, 685 click() { shell.openExternal('https://github.com/getferdi/ferdi/blob/master/CHANGELOG.md'); },
592 }, 686 },
593 { 687 {
594 type: 'separator', 688 type: 'separator',
595 }, 689 },
596 { 690 {
597 label: intl.formatMessage(menuItems.support), 691 label: intl.formatMessage(menuItems.support),
598 click() { shell.openExternal('https://meetfranz.com/support'); }, 692 click() { shell.openExternal('https://getferdi.com/contact'); },
599 }, 693 },
600 { 694 {
601 type: 'separator', 695 type: 'separator',
602 }, 696 },
603 { 697 {
604 label: intl.formatMessage(menuItems.tos), 698 label: intl.formatMessage(menuItems.tos),
605 click() { shell.openExternal('https://meetfranz.com/terms'); }, 699 click() { shell.openExternal(`${termsBase()}/terms`); },
606 }, 700 },
607 { 701 {
608 label: intl.formatMessage(menuItems.privacy), 702 label: intl.formatMessage(menuItems.privacy),
609 click() { shell.openExternal('https://meetfranz.com/privacy'); }, 703 click() { shell.openExternal(`${termsBase()}/privacy`); },
610 }, 704 },
611 ], 705 ],
612 }, 706 },
@@ -637,13 +731,14 @@ export default class FranzMenu {
637 const serviceTpl = Object.assign([], this.serviceTpl()); 731 const serviceTpl = Object.assign([], this.serviceTpl());
638 732
639 // Don't initialize when window.franz is undefined or when we are on a payment window route 733 // Don't initialize when window.franz is undefined or when we are on a payment window route
640 if (window.franz === undefined || this.stores.router.location.pathname.startsWith('/payment/')) { 734 if (window.ferdi === undefined || this.stores.router.location.pathname.startsWith('/payment/')) {
641 console.log('skipping menu init'); 735 console.log('skipping menu init');
642 return; 736 return;
643 } 737 }
644 738
645 const { intl } = window.franz; 739 const { intl } = window.ferdi;
646 const tpl = isMac ? _templateFactory(intl) : _titleBarTemplateFactory(intl); 740 const tpl = isMac ? _templateFactory(intl) : _titleBarTemplateFactory(intl);
741 const { actions } = this;
647 742
648 tpl[1].submenu.push({ 743 tpl[1].submenu.push({
649 type: 'separator', 744 type: 'separator',
@@ -695,10 +790,33 @@ export default class FranzMenu {
695 click: () => { 790 click: () => {
696 window.location.reload(); 791 window.location.reload();
697 }, 792 },
793 }, {
794 type: 'separator',
795 }, {
796 label: intl.formatMessage(menuItems.lockFerdi),
797 accelerator: 'CmdOrCtrl+Shift+L',
798 enabled: this.stores.settings.app.lockingFeatureEnabled,
799 click() {
800 // Disable lock first - otherwise the application might not update correctly
801 actions.settings.update({
802 type: 'app',
803 data: {
804 locked: false,
805 },
806 });
807 setTimeout(() => {
808 actions.settings.update({
809 type: 'app',
810 data: {
811 locked: true,
812 },
813 });
814 }, 0);
815 },
698 }); 816 });
699 817
700 tpl.unshift({ 818 tpl.unshift({
701 label: isMac ? app.getName() : intl.formatMessage(menuItems.file), 819 label: isMac ? app.getName() : `&${intl.formatMessage(menuItems.file)}`,
702 submenu: [ 820 submenu: [
703 { 821 {
704 label: intl.formatMessage(menuItems.about), 822 label: intl.formatMessage(menuItems.about),
@@ -762,9 +880,9 @@ export default class FranzMenu {
762 click: () => { 880 click: () => {
763 dialog.showMessageBox({ 881 dialog.showMessageBox({
764 type: 'info', 882 type: 'info',
765 title: 'Franz', 883 title: 'Franz Ferdinand',
766 message: 'Franz', 884 message: 'Ferdi',
767 detail: `Version: ${remote.app.getVersion()}\nRelease: ${process.versions.electron} / ${process.platform} / ${process.arch}`, 885 detail: `Version: ${remote.app.getVersion()} (${process.arch})\nElectron: ${process.versions.electron}\nNode.js: ${process.version}\nPlatform: ${process.platform}`,
768 }); 886 });
769 }, 887 },
770 }; 888 };
@@ -816,7 +934,7 @@ export default class FranzMenu {
816 }, 934 },
817 ]; 935 ];
818 936
819 tpl[5].submenu.push({ 937 tpl[tpl.length - 1].submenu.push({
820 type: 'separator', 938 type: 'separator',
821 }, about); 939 }, about);
822 } 940 }
@@ -843,7 +961,7 @@ export default class FranzMenu {
843 } 961 }
844 962
845 serviceTpl() { 963 serviceTpl() {
846 const { intl } = window.franz; 964 const { intl } = window.ferdi;
847 const { user, services, settings } = this.stores; 965 const { user, services, settings } = this.stores;
848 if (!user.isLoggedIn) return []; 966 if (!user.isLoggedIn) return [];
849 const menu = []; 967 const menu = [];
@@ -903,7 +1021,7 @@ export default class FranzMenu {
903 1021
904 workspacesMenu() { 1022 workspacesMenu() {
905 const { workspaces, activeWorkspace, isWorkspaceDrawerOpen } = workspaceStore; 1023 const { workspaces, activeWorkspace, isWorkspaceDrawerOpen } = workspaceStore;
906 const { intl } = window.franz; 1024 const { intl } = window.ferdi;
907 const menu = []; 1025 const menu = [];
908 1026
909 // Add new workspace item: 1027 // Add new workspace item:
@@ -925,7 +1043,6 @@ export default class FranzMenu {
925 accelerator: `${cmdKey}+D`, 1043 accelerator: `${cmdKey}+D`,
926 click: () => { 1044 click: () => {
927 workspaceActions.toggleWorkspaceDrawer(); 1045 workspaceActions.toggleWorkspaceDrawer();
928 gaEvent(GA_CATEGORY_WORKSPACES, 'toggleDrawer', 'menu');
929 }, 1046 },
930 enabled: this.stores.user.isLoggedIn, 1047 enabled: this.stores.user.isLoggedIn,
931 }, { 1048 }, {
@@ -940,7 +1057,6 @@ export default class FranzMenu {
940 checked: !activeWorkspace, 1057 checked: !activeWorkspace,
941 click: () => { 1058 click: () => {
942 workspaceActions.deactivate(); 1059 workspaceActions.deactivate();
943 gaEvent(GA_CATEGORY_WORKSPACES, 'switch', 'menu');
944 }, 1060 },
945 }); 1061 });
946 1062
@@ -953,7 +1069,6 @@ export default class FranzMenu {
953 checked: activeWorkspace ? workspace.id === activeWorkspace.id : false, 1069 checked: activeWorkspace ? workspace.id === activeWorkspace.id : false,
954 click: () => { 1070 click: () => {
955 workspaceActions.activate({ workspace }); 1071 workspaceActions.activate({ workspace });
956 gaEvent(GA_CATEGORY_WORKSPACES, 'switch', 'menu');
957 }, 1072 },
958 })); 1073 }));
959 } 1074 }
@@ -963,7 +1078,7 @@ export default class FranzMenu {
963 1078
964 todosMenu() { 1079 todosMenu() {
965 const { isTodosPanelVisible, isFeatureEnabledByUser } = this.stores.todos; 1080 const { isTodosPanelVisible, isFeatureEnabledByUser } = this.stores.todos;
966 const { intl } = window.franz; 1081 const { intl } = window.ferdi;
967 const menu = []; 1082 const menu = [];
968 1083
969 const drawerLabel = isTodosPanelVisible ? menuItems.closeTodosDrawer : menuItems.openTodosDrawer; 1084 const drawerLabel = isTodosPanelVisible ? menuItems.closeTodosDrawer : menuItems.openTodosDrawer;
@@ -973,7 +1088,6 @@ export default class FranzMenu {
973 accelerator: `${cmdKey}+T`, 1088 accelerator: `${cmdKey}+T`,
974 click: () => { 1089 click: () => {
975 todoActions.toggleTodosPanel(); 1090 todoActions.toggleTodosPanel();
976 gaEvent(GA_CATEGORY_TODOS, 'toggleDrawer', 'menu');
977 }, 1091 },
978 enabled: this.stores.user.isLoggedIn && isFeatureEnabledByUser, 1092 enabled: this.stores.user.isLoggedIn && isFeatureEnabledByUser,
979 }); 1093 });
@@ -985,7 +1099,6 @@ export default class FranzMenu {
985 label: intl.formatMessage(menuItems.enableTodos), 1099 label: intl.formatMessage(menuItems.enableTodos),
986 click: () => { 1100 click: () => {
987 todoActions.toggleTodosFeatureVisibility(); 1101 todoActions.toggleTodosFeatureVisibility();
988 gaEvent(GA_CATEGORY_TODOS, 'enable', 'menu');
989 }, 1102 },
990 }); 1103 });
991 } 1104 }
@@ -995,7 +1108,7 @@ export default class FranzMenu {
995 1108
996 1109
997 debugMenu() { 1110 debugMenu() {
998 const { intl } = window.franz; 1111 const { intl } = window.ferdi;
999 1112
1000 return { 1113 return {
1001 label: intl.formatMessage(menuItems.debugInfo), 1114 label: intl.formatMessage(menuItems.debugInfo),
@@ -1021,7 +1134,7 @@ export default class FranzMenu {
1021 return service.name; 1134 return service.name;
1022 } 1135 }
1023 1136
1024 let name = service.recipe.name; 1137 let { name } = service.recipe;
1025 1138
1026 if (service.team) { 1139 if (service.team) {
1027 name = `${name} (${service.team})`; 1140 name = `${name} (${service.team})`;
diff --git a/src/lib/Tray.js b/src/lib/Tray.js
index 192e24796..90974de3f 100644
--- a/src/lib/Tray.js
+++ b/src/lib/Tray.js
@@ -20,7 +20,7 @@ export default class TrayIcon {
20 this.trayIcon = new Tray(this._getAsset('tray', INDICATOR_TRAY_PLAIN)); 20 this.trayIcon = new Tray(this._getAsset('tray', INDICATOR_TRAY_PLAIN));
21 const trayMenuTemplate = [ 21 const trayMenuTemplate = [
22 { 22 {
23 label: 'Show Franz', 23 label: 'Show Ferdi',
24 click() { 24 click() {
25 if (app.mainWindow.isMinimized()) { 25 if (app.mainWindow.isMinimized()) {
26 app.mainWindow.restore(); 26 app.mainWindow.restore();
@@ -29,7 +29,7 @@ export default class TrayIcon {
29 app.mainWindow.focus(); 29 app.mainWindow.focus();
30 }, 30 },
31 }, { 31 }, {
32 label: 'Quit Franz', 32 label: 'Quit Ferdi',
33 click() { 33 click() {
34 app.quit(); 34 app.quit();
35 }, 35 },
@@ -84,7 +84,7 @@ export default class TrayIcon {
84 } 84 }
85 85
86 _getAsset(type, asset) { 86 _getAsset(type, asset) {
87 let platform = process.platform; 87 let { platform } = process;
88 88
89 if (platform === 'darwin' && systemPreferences.isDarkMode()) { 89 if (platform === 'darwin' && systemPreferences.isDarkMode()) {
90 platform = `${platform}-dark`; 90 platform = `${platform}-dark`;
diff --git a/src/lib/analytics.js b/src/lib/analytics.js
deleted file mode 100644
index c305fdb00..000000000
--- a/src/lib/analytics.js
+++ /dev/null
@@ -1,55 +0,0 @@
1import { remote } from 'electron';
2import querystring from 'querystring';
3
4import { GA_ID, STATS_API } from '../config';
5import { isDevMode } from '../environment';
6
7const debug = require('debug')('Franz:Analytics');
8
9const { app } = remote;
10
11/* eslint-disable */
12(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
13(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
14m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
15})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
16/* eslint-enable */
17
18const GA_LOCAL_STORAGE_KEY = 'gaUid';
19
20ga('create', GA_ID, {
21 storage: 'none',
22 clientId: localStorage.getItem(GA_LOCAL_STORAGE_KEY),
23});
24
25ga((tracker) => {
26 localStorage.setItem(GA_LOCAL_STORAGE_KEY, tracker.get('clientId'));
27});
28ga('set', 'checkProtocolTask', null);
29ga('set', 'version', app.getVersion());
30ga('send', 'App');
31
32export function gaPage(page) {
33 ga('send', 'pageview', page);
34 debug('GA track page', page);
35}
36
37export function gaEvent(category, action, label) {
38 ga('send', 'event', category, action, label);
39 debug('GA track event', category, action, label);
40}
41
42export function statsEvent(key, value) {
43 const params = {
44 key,
45 value: value || key,
46 platform: process.platform,
47 version: remote.app.getVersion(),
48 };
49
50 debug('Send Franz stats event', params);
51
52 if (!isDevMode) {
53 window.fetch(`${STATS_API}/event/?${querystring.stringify(params)}`);
54 }
55}
diff --git a/src/models/Recipe.js b/src/models/Recipe.js
index 00c0f699f..6655f8310 100644
--- a/src/models/Recipe.js
+++ b/src/models/Recipe.js
@@ -44,7 +44,7 @@ export default class Recipe {
44 } 44 }
45 45
46 if (!data.id) { 46 if (!data.id) {
47 // Franz 4 recipes do not have an Id 47 // Ferdi 4 recipes do not have an Id
48 throw Error(`Recipe '${data.name}' requires Id`); 48 throw Error(`Recipe '${data.name}' requires Id`);
49 } 49 }
50 50
diff --git a/src/models/Service.js b/src/models/Service.js
index e45c39564..10b54602f 100644
--- a/src/models/Service.js
+++ b/src/models/Service.js
@@ -2,7 +2,7 @@ import { computed, observable, autorun } from 'mobx';
2import path from 'path'; 2import path from 'path';
3import normalizeUrl from 'normalize-url'; 3import normalizeUrl from 'normalize-url';
4 4
5const debug = require('debug')('Franz:Service'); 5const debug = require('debug')('Ferdi:Service');
6 6
7export const RESTRICTION_TYPES = { 7export const RESTRICTION_TYPES = {
8 SERVICE_LIMIT: 0, 8 SERVICE_LIMIT: 0,
@@ -36,6 +36,8 @@ export default class Service {
36 36
37 @observable isMuted = false; 37 @observable isMuted = false;
38 38
39 @observable isHibernating = false;
40
39 @observable team = ''; 41 @observable team = '';
40 42
41 @observable customUrl = ''; 43 @observable customUrl = '';
@@ -180,11 +182,15 @@ export default class Service {
180 } 182 }
181 183
182 @computed get userAgent() { 184 @computed get userAgent() {
183 let userAgent = window.navigator.userAgent; 185 let { userAgent } = window.navigator;
184 if (typeof this.recipe.overrideUserAgent === 'function') { 186 if (typeof this.recipe.overrideUserAgent === 'function') {
185 userAgent = this.recipe.overrideUserAgent(); 187 userAgent = this.recipe.overrideUserAgent();
186 } 188 }
187 189
190 // Remove Ferdi as it can cause incompatabilities with services.
191 // This way, Ferdi will look like a normal Chrome instance
192 userAgent = userAgent.replace(/(Ferdi|Electron)([^\s]+\s)/g, '');
193
188 return userAgent; 194 return userAgent;
189 } 195 }
190 196
diff --git a/src/models/User.js b/src/models/User.js
index 0a2b1f62a..5a614efbe 100644
--- a/src/models/User.js
+++ b/src/models/User.js
@@ -20,11 +20,11 @@ export default class User {
20 20
21 @observable isSubscriptionOwner = false; 21 @observable isSubscriptionOwner = false;
22 22
23 @observable hasSubscription = false; 23 @observable hasSubscription = true;
24 24
25 @observable hadSubscription = false; 25 @observable hadSubscription = false;
26 26
27 @observable isPremium = false; 27 @observable isPremium = true;
28 28
29 @observable beta = false; 29 @observable beta = false;
30 30
@@ -50,7 +50,7 @@ export default class User {
50 this.lastname = data.lastname || this.lastname; 50 this.lastname = data.lastname || this.lastname;
51 this.organization = data.organization || this.organization; 51 this.organization = data.organization || this.organization;
52 this.accountType = data.accountType || this.accountType; 52 this.accountType = data.accountType || this.accountType;
53 this.isPremium = data.isPremium || this.isPremium; 53 this.isPremium = true;
54 this.beta = data.beta || this.beta; 54 this.beta = data.beta || this.beta;
55 this.donor = data.donor || this.donor; 55 this.donor = data.donor || this.donor;
56 this.isDonor = data.isDonor || this.isDonor; 56 this.isDonor = data.isDonor || this.isDonor;
diff --git a/src/scripts/build-theme-info.js b/src/scripts/build-theme-info.js
new file mode 100644
index 000000000..17b0fac85
--- /dev/null
+++ b/src/scripts/build-theme-info.js
@@ -0,0 +1,95 @@
1/**
2 * Script to get information on which selectors use the brand color.
3 * This is needed to provide the accent color feature - the feature will create CSS rules
4 * to overwrite the color of these selectors.
5 */
6const css = require('css');
7const fs = require('fs-extra');
8const path = require('path');
9
10// Colors that should be replaced with the accent color
11const accentColors = [
12 '#7367f0',
13 '#5e50ee',
14];
15
16const cssFile = path.join(__dirname, '../../', 'build', 'styles', 'main.css');
17const outputFile = path.join(__dirname, '../', 'assets', 'themeInfo.json');
18
19// Parse and extract the rules from a CSS stylesheet file
20async function getRulesFromCssFile(file) {
21 const cssSrc = (await fs.readFile(file)).toString();
22 const cssTree = css.parse(cssSrc);
23
24 return cssTree.stylesheet.rules;
25}
26
27/**
28 * Get all selectors from a list of parsed CSS rules that set any property to one of the specified
29 * values.
30 *
31 * This function will output an object in this format:
32 * {
33 * 'property-name': [ array of selectors ]
34 * }
35 *
36 * e.g.
37 * {
38 * 'background-color': [
39 * '.background',
40 * '.input-dark'
41 * ]
42 * }
43 *
44 * @param {Array} rules Rules as outputted by the `css` module
45 * @param {Array} values Array of values that should be searched for
46 */
47function getSelectorsDeclaringValues(rules, values) {
48 const output = {};
49
50 rules.forEach((rule) => {
51 if (rule.declarations) {
52 rule.declarations.forEach((declaration) => {
53 if (declaration.type === 'declaration'
54 && values.includes(declaration.value.toLowerCase())) {
55 if (!output[declaration.property]) {
56 output[declaration.property] = [];
57 }
58 output[declaration.property] = output[declaration.property].concat(rule.selectors);
59 }
60 });
61 }
62 });
63
64 return output;
65}
66
67async function generateThemeInfo() {
68 if (!await fs.pathExists(cssFile)) {
69 console.log('Please make sure to build the project first.');
70 return;
71 }
72
73 // Read and parse css bundle
74 const rules = await getRulesFromCssFile(cssFile);
75
76 console.log(`Found ${rules.length} rules`);
77
78 // Get rules specifying the brand colors
79 const brandRules = getSelectorsDeclaringValues(rules, accentColors);
80
81 console.log(`Found ${Object.keys(brandRules).join(', ')} properties that set color to brand color`);
82
83 // Join array of declarations into a single string
84 Object.keys(brandRules).forEach((rule) => {
85 brandRules[rule] = brandRules[rule].join(', ');
86 });
87
88 // Write object with theme info to file
89 fs.writeFile(
90 outputFile,
91 JSON.stringify(brandRules),
92 );
93}
94
95generateThemeInfo();
diff --git a/src/server b/src/server
new file mode 160000
Subproject b5973cdc4cdd60e61d2fba25a317bb4d216a0d1
diff --git a/src/stores/AppStore.js b/src/stores/AppStore.js
index 0a6309092..6ce79f2e2 100644
--- a/src/stores/AppStore.js
+++ b/src/stores/AppStore.js
@@ -1,6 +1,6 @@
1import { remote, ipcRenderer, shell } from 'electron'; 1import { remote, ipcRenderer, shell } from 'electron';
2import { 2import {
3 action, computed, observable, reaction, 3 action, computed, observable,
4} from 'mobx'; 4} from 'mobx';
5import moment from 'moment'; 5import moment from 'moment';
6import { getDoNotDisturb } from '@meetfranz/electron-notification-state'; 6import { getDoNotDisturb } from '@meetfranz/electron-notification-state';
@@ -17,7 +17,6 @@ import Request from './lib/Request';
17import { CHECK_INTERVAL, DEFAULT_APP_SETTINGS } from '../config'; 17import { CHECK_INTERVAL, DEFAULT_APP_SETTINGS } from '../config';
18import { isMac } from '../environment'; 18import { isMac } from '../environment';
19import locales from '../i18n/translations'; 19import locales from '../i18n/translations';
20import { gaEvent, gaPage, statsEvent } from '../lib/analytics';
21import { onVisibilityChange } from '../helpers/visibility-helper'; 20import { onVisibilityChange } from '../helpers/visibility-helper';
22import { getLocale } from '../helpers/i18n-helpers'; 21import { getLocale } from '../helpers/i18n-helpers';
23 22
@@ -25,7 +24,7 @@ import { getServiceIdsFromPartitions, removeServicePartitionDirectory } from '..
25import { isValidExternalURL } from '../helpers/url-helpers'; 24import { isValidExternalURL } from '../helpers/url-helpers';
26import { sleep } from '../helpers/async-helpers'; 25import { sleep } from '../helpers/async-helpers';
27 26
28const debug = require('debug')('Franz:AppStore'); 27const debug = require('debug')('Ferdi:AppStore');
29 28
30const { 29const {
31 app, systemPreferences, screen, powerMonitor, 30 app, systemPreferences, screen, powerMonitor,
@@ -35,7 +34,7 @@ const mainWindow = remote.getCurrentWindow();
35 34
36const defaultLocale = DEFAULT_APP_SETTINGS.locale; 35const defaultLocale = DEFAULT_APP_SETTINGS.locale;
37const autoLauncher = new AutoLaunch({ 36const autoLauncher = new AutoLaunch({
38 name: 'Franz', 37 name: 'Ferdi',
39}); 38});
40 39
41const CATALINA_NOTIFICATION_HACK_KEY = '_temp_askedForCatalinaNotificationPermissions'; 40const CATALINA_NOTIFICATION_HACK_KEY = '_temp_askedForCatalinaNotificationPermissions';
@@ -59,6 +58,8 @@ export default class AppStore extends Store {
59 58
60 @observable isOnline = navigator.onLine; 59 @observable isOnline = navigator.onLine;
61 60
61 @observable authRequestFailed = false;
62
62 @observable timeSuspensionStart; 63 @observable timeSuspensionStart;
63 64
64 @observable timeOfflineStart; 65 @observable timeOfflineStart;
@@ -123,7 +124,7 @@ export default class AppStore extends Store {
123 124
124 this.isOnline = navigator.onLine; 125 this.isOnline = navigator.onLine;
125 126
126 // Check if Franz should launch on start 127 // Check if Ferdi should launch on start
127 // Needs to be delayed a bit 128 // Needs to be delayed a bit
128 this._autoStart(); 129 this._autoStart();
129 130
@@ -190,11 +191,6 @@ export default class AppStore extends Store {
190 debug('Window is visible/focused', isVisible); 191 debug('Window is visible/focused', isVisible);
191 }); 192 });
192 193
193 // analytics autorun
194 reaction(() => this.stores.router.location.pathname, (pathname) => {
195 gaPage(pathname);
196 });
197
198 powerMonitor.on('suspend', () => { 194 powerMonitor.on('suspend', () => {
199 debug('System suspended starting timer'); 195 debug('System suspended starting timer');
200 196
@@ -315,8 +311,6 @@ export default class AppStore extends Store {
315 } catch (err) { 311 } catch (err) {
316 console.warn(err); 312 console.warn(err);
317 } 313 }
318
319 gaEvent('App', enable ? 'enable autostart' : 'disable autostart');
320 } 314 }
321 315
322 @action _openExternalUrl({ url }) { 316 @action _openExternalUrl({ url }) {
@@ -421,7 +415,7 @@ export default class AppStore extends Store {
421 } 415 }
422 416
423 _muteAppHandler() { 417 _muteAppHandler() {
424 const showMessageBadgesEvenWhenMuted = this.stores.ui.showMessageBadgesEvenWhenMuted; 418 const { showMessageBadgesEvenWhenMuted } = this.stores.ui;
425 419
426 if (!showMessageBadgesEvenWhenMuted) { 420 if (!showMessageBadgesEvenWhenMuted) {
427 this.actions.app.setBadge({ unreadDirectMessageCount: 0, unreadIndirectMessageCount: 0 }); 421 this.actions.app.setBadge({ unreadDirectMessageCount: 0, unreadIndirectMessageCount: 0 });
diff --git a/src/stores/FeaturesStore.js b/src/stores/FeaturesStore.js
index adbd401b4..ab5d762c7 100644
--- a/src/stores/FeaturesStore.js
+++ b/src/stores/FeaturesStore.js
@@ -13,12 +13,14 @@ import spellchecker from '../features/spellchecker';
13import serviceProxy from '../features/serviceProxy'; 13import serviceProxy from '../features/serviceProxy';
14import basicAuth from '../features/basicAuth'; 14import basicAuth from '../features/basicAuth';
15import workspaces from '../features/workspaces'; 15import workspaces from '../features/workspaces';
16import quickSwitch from '../features/quickSwitch';
16import shareFranz from '../features/shareFranz'; 17import shareFranz from '../features/shareFranz';
17import announcements from '../features/announcements'; 18import announcements from '../features/announcements';
18import settingsWS from '../features/settingsWS'; 19import settingsWS from '../features/settingsWS';
19import serviceLimit from '../features/serviceLimit'; 20import serviceLimit from '../features/serviceLimit';
20import communityRecipes from '../features/communityRecipes'; 21import communityRecipes from '../features/communityRecipes';
21import todos from '../features/todos'; 22import todos from '../features/todos';
23import accentColor from '../features/accentColor';
22import planSelection from '../features/planSelection'; 24import planSelection from '../features/planSelection';
23import trialStatusBar from '../features/trialStatusBar'; 25import trialStatusBar from '../features/trialStatusBar';
24 26
@@ -78,12 +80,14 @@ export default class FeaturesStore extends Store {
78 serviceProxy(this.stores, this.actions); 80 serviceProxy(this.stores, this.actions);
79 basicAuth(this.stores, this.actions); 81 basicAuth(this.stores, this.actions);
80 workspaces(this.stores, this.actions); 82 workspaces(this.stores, this.actions);
83 quickSwitch(this.stores, this.actions);
81 shareFranz(this.stores, this.actions); 84 shareFranz(this.stores, this.actions);
82 announcements(this.stores, this.actions); 85 announcements(this.stores, this.actions);
83 settingsWS(this.stores, this.actions); 86 settingsWS(this.stores, this.actions);
84 serviceLimit(this.stores, this.actions); 87 serviceLimit(this.stores, this.actions);
85 communityRecipes(this.stores, this.actions); 88 communityRecipes(this.stores, this.actions);
86 todos(this.stores, this.actions); 89 todos(this.stores, this.actions);
90 accentColor(this.stores, this.actions);
87 planSelection(this.stores, this.actions); 91 planSelection(this.stores, this.actions);
88 trialStatusBar(this.stores, this.actions); 92 trialStatusBar(this.stores, this.actions);
89 } 93 }
diff --git a/src/stores/GlobalErrorStore.js b/src/stores/GlobalErrorStore.js
index 7a85c2daa..8bdafb68c 100644
--- a/src/stores/GlobalErrorStore.js
+++ b/src/stores/GlobalErrorStore.js
@@ -24,9 +24,12 @@ export default class GlobalErrorStore extends Store {
24 this.response = {}; 24 this.response = {};
25 } 25 }
26 if (this.error.status === 401) { 26 if (this.error.status === 401) {
27 this.actions.user.logout({ serverLogout: true }); 27 window.ferdi.stores.app.authRequestFailed = true;
28 // this.actions.user.logout({ serverLogout: true });
28 } 29 }
29 } 30 }
31 } else {
32 window.ferdi.stores.app.authRequestFailed = false;
30 } 33 }
31 }); 34 });
32} 35}
diff --git a/src/stores/PaymentStore.js b/src/stores/PaymentStore.js
index eb42ae10e..69e6eb9c3 100644
--- a/src/stores/PaymentStore.js
+++ b/src/stores/PaymentStore.js
@@ -4,7 +4,6 @@ import { remote } from 'electron';
4import Store from './lib/Store'; 4import Store from './lib/Store';
5import CachedRequest from './lib/CachedRequest'; 5import CachedRequest from './lib/CachedRequest';
6import Request from './lib/Request'; 6import Request from './lib/Request';
7import { gaEvent } from '../lib/analytics';
8 7
9const { BrowserWindow } = remote; 8const { BrowserWindow } = remote;
10 9
@@ -30,8 +29,6 @@ export default class PaymentStore extends Store {
30 @action _createHostedPage({ planId }) { 29 @action _createHostedPage({ planId }) {
31 const request = this.createHostedPageRequest.execute(planId); 30 const request = this.createHostedPageRequest.execute(planId);
32 31
33 gaEvent('Payment', 'createHostedPage', planId);
34
35 return request; 32 return request;
36 } 33 }
37 34
diff --git a/src/stores/RecipePreviewsStore.js b/src/stores/RecipePreviewsStore.js
index 382820d58..989e1124a 100644
--- a/src/stores/RecipePreviewsStore.js
+++ b/src/stores/RecipePreviewsStore.js
@@ -1,11 +1,8 @@
1import { action, computed, observable } from 'mobx'; 1import { action, computed, observable } from 'mobx';
2import { debounce } from 'lodash';
3import ms from 'ms';
4 2
5import Store from './lib/Store'; 3import Store from './lib/Store';
6import CachedRequest from './lib/CachedRequest'; 4import CachedRequest from './lib/CachedRequest';
7import Request from './lib/Request'; 5import Request from './lib/Request';
8import { gaEvent } from '../lib/analytics';
9 6
10export default class RecipePreviewsStore extends Store { 7export default class RecipePreviewsStore extends Store {
11 @observable allRecipePreviewsRequest = new CachedRequest(this.api.recipePreviews, 'all'); 8 @observable allRecipePreviewsRequest = new CachedRequest(this.api.recipePreviews, 'all');
@@ -41,13 +38,6 @@ export default class RecipePreviewsStore extends Store {
41 @action _search({ needle }) { 38 @action _search({ needle }) {
42 if (needle !== '') { 39 if (needle !== '') {
43 this.searchRecipePreviewsRequest.execute(needle); 40 this.searchRecipePreviewsRequest.execute(needle);
44
45 this._analyticsSearch(needle);
46 } 41 }
47 } 42 }
48
49 // Helper
50 _analyticsSearch = debounce((needle) => {
51 gaEvent('Recipe', 'search', needle);
52 }, ms('3s'));
53} 43}
diff --git a/src/stores/RecipesStore.js b/src/stores/RecipesStore.js
index d51192078..8b2bde5df 100644
--- a/src/stores/RecipesStore.js
+++ b/src/stores/RecipesStore.js
@@ -5,7 +5,7 @@ import CachedRequest from './lib/CachedRequest';
5import Request from './lib/Request'; 5import Request from './lib/Request';
6import { matchRoute } from '../helpers/routing-helpers'; 6import { matchRoute } from '../helpers/routing-helpers';
7 7
8const debug = require('debug')('Franz:RecipeStore'); 8const debug = require('debug')('Ferdi:RecipeStore');
9 9
10export default class RecipesStore extends Store { 10export default class RecipesStore extends Store {
11 @observable allRecipesRequest = new CachedRequest(this.api.recipes, 'all'); 11 @observable allRecipesRequest = new CachedRequest(this.api.recipes, 'all');
@@ -108,7 +108,7 @@ export default class RecipesStore extends Store {
108 async _checkIfRecipeIsInstalled() { 108 async _checkIfRecipeIsInstalled() {
109 const { router } = this.stores; 109 const { router } = this.stores;
110 110
111 const match = matchRoute('/settings/services/add/:id', router.location.pathname); 111 const match = router.location && matchRoute('/settings/services/add/:id', router.location.pathname);
112 if (match) { 112 if (match) {
113 const recipeId = match.id; 113 const recipeId = match.id;
114 114
diff --git a/src/stores/RequestStore.js b/src/stores/RequestStore.js
index 9254e3223..a92f4c685 100644
--- a/src/stores/RequestStore.js
+++ b/src/stores/RequestStore.js
@@ -1,9 +1,10 @@
1import { ipcRenderer } from 'electron';
1import { action, computed, observable } from 'mobx'; 2import { action, computed, observable } from 'mobx';
2import ms from 'ms'; 3import ms from 'ms';
3 4
4import Store from './lib/Store'; 5import Store from './lib/Store';
5 6
6const debug = require('debug')('Franz:RequestsStore'); 7const debug = require('debug')('Ferdi:RequestsStore');
7 8
8export default class RequestStore extends Store { 9export default class RequestStore extends Store {
9 @observable userInfoRequest; 10 @observable userInfoRequest;
@@ -12,6 +13,8 @@ export default class RequestStore extends Store {
12 13
13 @observable showRequiredRequestsError = false; 14 @observable showRequiredRequestsError = false;
14 15
16 @observable localServerPort = 45569;
17
15 retries = 0; 18 retries = 0;
16 19
17 retryDelay = ms('2s'); 20 retryDelay = ms('2s');
@@ -29,6 +32,12 @@ export default class RequestStore extends Store {
29 setup() { 32 setup() {
30 this.userInfoRequest = this.stores.user.getUserInfoRequest; 33 this.userInfoRequest = this.stores.user.getUserInfoRequest;
31 this.servicesRequest = this.stores.services.allServicesRequest; 34 this.servicesRequest = this.stores.services.allServicesRequest;
35
36 ipcRenderer.on('localServerPort', (event, data) => {
37 if (data.port) {
38 this.localServerPort = data.port;
39 }
40 });
32 } 41 }
33 42
34 @computed get areRequiredRequestsSuccessful() { 43 @computed get areRequiredRequestsSuccessful() {
diff --git a/src/stores/ServicesStore.js b/src/stores/ServicesStore.js
index 65e68e4d7..934a8a6e0 100644
--- a/src/stores/ServicesStore.js
+++ b/src/stores/ServicesStore.js
@@ -1,23 +1,27 @@
1import { shell, remote } from 'electron';
1import { 2import {
2 action, 3 action,
3 reaction, 4 reaction,
4 computed, 5 computed,
5 observable, 6 observable,
6} from 'mobx'; 7} from 'mobx';
7import { debounce, remove } from 'lodash'; 8import { remove } from 'lodash';
8import ms from 'ms'; 9import ms from 'ms';
9import { remote } from 'electron'; 10import fs from 'fs-extra';
11import path from 'path';
10 12
11import Store from './lib/Store'; 13import Store from './lib/Store';
12import Request from './lib/Request'; 14import Request from './lib/Request';
13import CachedRequest from './lib/CachedRequest'; 15import CachedRequest from './lib/CachedRequest';
14import { matchRoute } from '../helpers/routing-helpers'; 16import { matchRoute } from '../helpers/routing-helpers';
15import { gaEvent, statsEvent } from '../lib/analytics'; 17import { isInTimeframe } from '../helpers/schedule-helpers';
18import { getRecipeDirectory, getDevRecipeDirectory } from '../helpers/recipe-helpers';
16import { workspaceStore } from '../features/workspaces'; 19import { workspaceStore } from '../features/workspaces';
17import { serviceLimitStore } from '../features/serviceLimit'; 20import { serviceLimitStore } from '../features/serviceLimit';
18import { RESTRICTION_TYPES } from '../models/Service'; 21import { RESTRICTION_TYPES } from '../models/Service';
22import { KEEP_WS_LOADED_USID } from '../config';
19 23
20const debug = require('debug')('Franz:ServiceStore'); 24const debug = require('debug')('Ferdi:ServiceStore');
21 25
22const { app } = remote; 26const { app } = remote;
23 27
@@ -36,6 +40,11 @@ export default class ServicesStore extends Store {
36 40
37 @observable filterNeedle = null; 41 @observable filterNeedle = null;
38 42
43 // Array of service IDs that have recently been used
44 // [0] => Most recent, [n] => Least recent
45 // No service ID should be in the list multiple times, not all service IDs have to be in the list
46 @observable lastUsedServices = [];
47
39 constructor(...args) { 48 constructor(...args) {
40 super(...args); 49 super(...args);
41 50
@@ -49,6 +58,7 @@ export default class ServicesStore extends Store {
49 this.actions.service.createFromLegacyService.listen(this._createFromLegacyService.bind(this)); 58 this.actions.service.createFromLegacyService.listen(this._createFromLegacyService.bind(this));
50 this.actions.service.updateService.listen(this._updateService.bind(this)); 59 this.actions.service.updateService.listen(this._updateService.bind(this));
51 this.actions.service.deleteService.listen(this._deleteService.bind(this)); 60 this.actions.service.deleteService.listen(this._deleteService.bind(this));
61 this.actions.service.openDarkmodeCss.listen(this._openDarkmodeCss.bind(this));
52 this.actions.service.clearCache.listen(this._clearCache.bind(this)); 62 this.actions.service.clearCache.listen(this._clearCache.bind(this));
53 this.actions.service.setWebviewReference.listen(this._setWebviewReference.bind(this)); 63 this.actions.service.setWebviewReference.listen(this._setWebviewReference.bind(this));
54 this.actions.service.detachService.listen(this._detachService.bind(this)); 64 this.actions.service.detachService.listen(this._detachService.bind(this));
@@ -72,6 +82,7 @@ export default class ServicesStore extends Store {
72 this.actions.service.toggleAudio.listen(this._toggleAudio.bind(this)); 82 this.actions.service.toggleAudio.listen(this._toggleAudio.bind(this));
73 this.actions.service.openDevTools.listen(this._openDevTools.bind(this)); 83 this.actions.service.openDevTools.listen(this._openDevTools.bind(this));
74 this.actions.service.openDevToolsForActiveService.listen(this._openDevToolsForActiveService.bind(this)); 84 this.actions.service.openDevToolsForActiveService.listen(this._openDevToolsForActiveService.bind(this));
85 this.actions.service.setHibernation.listen(this._setHibernation.bind(this));
75 86
76 this.registerReactions([ 87 this.registerReactions([
77 this._focusServiceReaction.bind(this), 88 this._focusServiceReaction.bind(this),
@@ -98,6 +109,16 @@ export default class ServicesStore extends Store {
98 () => this.stores.settings.app.spellcheckerLanguage, 109 () => this.stores.settings.app.spellcheckerLanguage,
99 () => this._shareSettingsWithServiceProcess(), 110 () => this._shareSettingsWithServiceProcess(),
100 ); 111 );
112
113 reaction(
114 () => this.stores.settings.app.darkMode,
115 () => this._shareSettingsWithServiceProcess(),
116 );
117
118 reaction(
119 () => this.stores.settings.app.universalDarkMode,
120 () => this._shareSettingsWithServiceProcess(),
121 );
101 } 122 }
102 123
103 @computed get all() { 124 @computed get all() {
@@ -128,7 +149,35 @@ export default class ServicesStore extends Store {
128 const { keepAllWorkspacesLoaded } = this.stores.workspaces.settings; 149 const { keepAllWorkspacesLoaded } = this.stores.workspaces.settings;
129 const services = this.allServicesRequest.execute().result || []; 150 const services = this.allServicesRequest.execute().result || [];
130 const filteredServices = showDisabledServices ? services : services.filter(service => service.isEnabled); 151 const filteredServices = showDisabledServices ? services : services.filter(service => service.isEnabled);
131 return keepAllWorkspacesLoaded ? filteredServices : workspaceStore.filterServicesByActiveWorkspace(filteredServices); 152
153 let displayedServices;
154 if (keepAllWorkspacesLoaded) {
155 // Keep all enabled services loaded
156 displayedServices = filteredServices;
157 } else {
158 // Keep all services in current workspace loaded
159 displayedServices = workspaceStore.filterServicesByActiveWorkspace(filteredServices);
160
161 // Keep all services active in workspaces that should be kept loaded
162 for (const workspace of this.stores.workspaces.workspaces) {
163 // Check if workspace needs to be kept loaded
164 if (workspace.services.includes(KEEP_WS_LOADED_USID)) {
165 // Get services for workspace
166 const serviceIDs = workspace.services.filter(i => i !== KEEP_WS_LOADED_USID);
167 const wsServices = filteredServices.filter(service => serviceIDs.includes(service.id));
168
169 displayedServices = [
170 ...displayedServices,
171 ...wsServices,
172 ];
173 }
174 }
175
176 // Make sure every service is in the list only once
177 displayedServices = displayedServices.filter((v, i, a) => a.indexOf(v) === i);
178 }
179
180 return displayedServices;
132 } 181 }
133 182
134 @computed get filtered() { 183 @computed get filtered() {
@@ -185,7 +234,6 @@ export default class ServicesStore extends Store {
185 234
186 if (redirect) { 235 if (redirect) {
187 this.stores.router.push('/settings/recipes'); 236 this.stores.router.push('/settings/recipes');
188 gaEvent('Service', 'create', recipeId);
189 } 237 }
190 } 238 }
191 239
@@ -262,7 +310,6 @@ export default class ServicesStore extends Store {
262 310
263 if (redirect) { 311 if (redirect) {
264 this.stores.router.push('/settings/services'); 312 this.stores.router.push('/settings/services');
265 gaEvent('Service', 'update', service.recipe.id);
266 } 313 }
267 } 314 }
268 315
@@ -277,19 +324,35 @@ export default class ServicesStore extends Store {
277 remove(result, c => c.id === serviceId); 324 remove(result, c => c.id === serviceId);
278 }); 325 });
279 326
280 const service = this.one(serviceId);
281
282 await request._promise; 327 await request._promise;
283 this.actionStatus = request.result.status; 328 this.actionStatus = request.result.status;
329 }
330
331 @action async _openDarkmodeCss({ recipe }) {
332 // Get directory for recipe
333 const normalDirectory = getRecipeDirectory(recipe);
334 const devDirectory = getDevRecipeDirectory(recipe);
335 let directory;
336
337 if (await fs.pathExists(normalDirectory)) {
338 directory = normalDirectory;
339 } else if (await fs.pathExists(devDirectory)) {
340 directory = devDirectory;
341 } else {
342 // Recipe cannot be found on drive
343 return;
344 }
284 345
285 gaEvent('Service', 'delete', service.recipe.id); 346 // Create and open darkmode.css
347 const file = path.join(directory, 'darkmode.css');
348 await fs.ensureFile(file);
349 shell.showItemInFolder(file);
286 } 350 }
287 351
288 @action async _clearCache({ serviceId }) { 352 @action async _clearCache({ serviceId }) {
289 this.clearCacheRequest.reset(); 353 this.clearCacheRequest.reset();
290 const request = this.clearCacheRequest.execute(serviceId); 354 const request = this.clearCacheRequest.execute(serviceId);
291 await request._promise; 355 await request._promise;
292 gaEvent('Service', 'clear cache');
293 } 356 }
294 357
295 @action _setActive({ serviceId, keepActiveRoute }) { 358 @action _setActive({ serviceId, keepActiveRoute }) {
@@ -301,7 +364,9 @@ export default class ServicesStore extends Store {
301 }); 364 });
302 service.isActive = true; 365 service.isActive = true;
303 366
304 statsEvent('activate-service', service.recipe.id); 367 // Update list of last used services
368 this.lastUsedServices = this.lastUsedServices.filter(id => id !== serviceId);
369 this.lastUsedServices.unshift(serviceId);
305 370
306 this._focusActiveService(); 371 this._focusActiveService();
307 } 372 }
@@ -406,7 +471,19 @@ export default class ServicesStore extends Store {
406 }, 471 },
407 }); 472 });
408 } else if (channel === 'notification') { 473 } else if (channel === 'notification') {
409 const options = args[0].options; 474 const { options } = args[0];
475
476 // Check if we are in scheduled Do-not-Disturb time
477 const {
478 scheduledDNDEnabled,
479 scheduledDNDStart,
480 scheduledDNDEnd,
481 } = this.stores.settings.all.app;
482
483 if (scheduledDNDEnabled && isInTimeframe(scheduledDNDStart, scheduledDNDEnd)) {
484 return;
485 }
486
410 if (service.recipe.hasNotificationSound || service.isMuted || this.stores.settings.all.app.isAppMuted) { 487 if (service.recipe.hasNotificationSound || service.isMuted || this.stores.settings.all.app.isAppMuted) {
411 Object.assign(options, { 488 Object.assign(options, {
412 silent: true, 489 silent: true,
@@ -414,8 +491,17 @@ export default class ServicesStore extends Store {
414 } 491 }
415 492
416 if (service.isNotificationEnabled) { 493 if (service.isNotificationEnabled) {
417 const title = typeof args[0].title === 'string' ? args[0].title : service.name; 494 let title = `Notification from ${service.name}`;
418 options.body = typeof options.body === 'string' ? options.body : ''; 495 if (!this.stores.settings.all.app.privateNotifications) {
496 options.body = typeof options.body === 'string' ? options.body : '';
497 title = typeof args[0].title === 'string' ? args[0].title : service.name;
498 } else {
499 // Remove message data from notification in private mode
500 options.body = '';
501 options.icon = '/assets/img/notification-badge.gif';
502 }
503
504 console.log(title, options);
419 505
420 this.actions.app.notify({ 506 this.actions.app.notify({
421 notificationId: args[0].notificationId, 507 notificationId: args[0].notificationId,
@@ -533,7 +619,7 @@ export default class ServicesStore extends Store {
533 } 619 }
534 620
535 @action _reorderService({ oldIndex, newIndex }) { 621 @action _reorderService({ oldIndex, newIndex }) {
536 const showDisabledServices = this.stores.settings.all.app.showDisabledServices; 622 const { showDisabledServices } = this.stores.settings.all.app;
537 const oldEnabledSortIndex = showDisabledServices ? oldIndex : this.all.indexOf(this.enabled[oldIndex]); 623 const oldEnabledSortIndex = showDisabledServices ? oldIndex : this.all.indexOf(this.enabled[oldIndex]);
538 const newEnabledSortIndex = showDisabledServices ? newIndex : this.all.indexOf(this.enabled[newIndex]); 624 const newEnabledSortIndex = showDisabledServices ? newIndex : this.all.indexOf(this.enabled[newIndex]);
539 625
@@ -552,8 +638,6 @@ export default class ServicesStore extends Store {
552 service.order = services[s.id]; 638 service.order = services[s.id];
553 }); 639 });
554 }); 640 });
555
556 this._reorderAnalytics();
557 } 641 }
558 642
559 @action _toggleNotifications({ serviceId }) { 643 @action _toggleNotifications({ serviceId }) {
@@ -598,6 +682,11 @@ export default class ServicesStore extends Store {
598 } 682 }
599 } 683 }
600 684
685 @action _setHibernation({ serviceId, hibernating }) {
686 const service = this.one(serviceId);
687 service.isHibernating = hibernating;
688 }
689
601 // Reactions 690 // Reactions
602 _focusServiceReaction() { 691 _focusServiceReaction() {
603 const service = this.active; 692 const service = this.active;
@@ -629,8 +718,8 @@ export default class ServicesStore extends Store {
629 } 718 }
630 719
631 _getUnreadMessageCountReaction() { 720 _getUnreadMessageCountReaction() {
632 const showMessageBadgeWhenMuted = this.stores.settings.all.app.showMessageBadgeWhenMuted; 721 const { showMessageBadgeWhenMuted } = this.stores.settings.all.app;
633 const showMessageBadgesEvenWhenMuted = this.stores.ui.showMessageBadgesEvenWhenMuted; 722 const { showMessageBadgesEvenWhenMuted } = this.stores.ui;
634 723
635 const unreadDirectMessageCount = this.allDisplayed 724 const unreadDirectMessageCount = this.allDisplayed
636 .filter(s => (showMessageBadgeWhenMuted || s.isNotificationEnabled) && showMessageBadgesEvenWhenMuted && s.isBadgeEnabled) 725 .filter(s => (showMessageBadgeWhenMuted || s.isNotificationEnabled) && showMessageBadgesEvenWhenMuted && s.isBadgeEnabled)
@@ -759,10 +848,6 @@ export default class ServicesStore extends Store {
759 } 848 }
760 } 849 }
761 850
762 _reorderAnalytics = debounce(() => {
763 gaEvent('Service', 'order');
764 }, ms('5s'));
765
766 _wrapIndex(index, delta, size) { 851 _wrapIndex(index, delta, size) {
767 return (((index + delta) % size) + size) % size; 852 return (((index + delta) % size) + size) % size;
768 } 853 }
diff --git a/src/stores/SettingsStore.js b/src/stores/SettingsStore.js
index 75bb38fe0..df0fc77e9 100644
--- a/src/stores/SettingsStore.js
+++ b/src/stores/SettingsStore.js
@@ -1,17 +1,18 @@
1import { ipcRenderer } from 'electron'; 1import { ipcRenderer, remote } from 'electron';
2import { 2import {
3 action, computed, observable, 3 action, computed, observable, reaction,
4} from 'mobx'; 4} from 'mobx';
5import localStorage from 'mobx-localstorage'; 5import localStorage from 'mobx-localstorage';
6 6
7import Store from './lib/Store'; 7import Store from './lib/Store';
8import Request from './lib/Request'; 8import Request from './lib/Request';
9import { getLocale } from '../helpers/i18n-helpers'; 9import { getLocale } from '../helpers/i18n-helpers';
10import { API } from '../environment';
10 11
11import { DEFAULT_APP_SETTINGS, FILE_SYSTEM_SETTINGS_TYPES } from '../config'; 12import { DEFAULT_APP_SETTINGS, FILE_SYSTEM_SETTINGS_TYPES, LOCAL_SERVER } from '../config';
12import { SPELLCHECKER_LOCALES } from '../i18n/languages'; 13import { SPELLCHECKER_LOCALES } from '../i18n/languages';
13 14
14const debug = require('debug')('Franz:SettingsStore'); 15const debug = require('debug')('Ferdi:SettingsStore');
15 16
16export default class SettingsStore extends Store { 17export default class SettingsStore extends Store {
17 @observable updateAppSettingsRequest = new Request(this.api.local, 'updateAppSettings'); 18 @observable updateAppSettingsRequest = new Request(this.api.local, 'updateAppSettings');
@@ -43,6 +44,62 @@ export default class SettingsStore extends Store {
43 44
44 async setup() { 45 async setup() {
45 await this._migrate(); 46 await this._migrate();
47
48 reaction(
49 () => this.all.app.autohideMenuBar,
50 () => remote.getCurrentWindow().setAutoHideMenuBar(
51 this.all.app.autohideMenuBar,
52 ),
53 );
54
55 reaction(
56 () => this.all.app.server,
57 (server) => {
58 if (server === LOCAL_SERVER) {
59 ipcRenderer.send('startLocalServer');
60 }
61 },
62 {
63 fireImmediately: true,
64 },
65 );
66
67 reaction(
68 () => this.all.app.locked,
69 () => {
70 const { router } = window.ferdi.stores;
71
72 if (this.all.app.locked && this.all.app.lockingFeatureEnabled) {
73 // App just got locked, redirect to unlock screen
74 router.push('/auth/locked');
75 } else if (router.location.pathname.includes('/auth/locked')) {
76 // App is unlocked but user is still on locked screen
77 // Redirect to homepage
78 router.push('/');
79 }
80 },
81 );
82
83 // Make sure to lock app on launch if locking feature is enabled
84 setTimeout(() => {
85 if (this.all.app.lockingFeatureEnabled) {
86 // Disable lock first - otherwise the lock might not get activated corrently
87 this.actions.settings.update({
88 type: 'app',
89 data: {
90 locked: false,
91 },
92 });
93 setTimeout(() => {
94 this.actions.settings.update({
95 type: 'app',
96 data: {
97 locked: true,
98 },
99 });
100 }, 0);
101 }
102 }, 1000);
46 } 103 }
47 104
48 @computed get app() { 105 @computed get app() {
@@ -121,6 +178,7 @@ export default class SettingsStore extends Store {
121 runInBackground: legacySettings.runInBackground, 178 runInBackground: legacySettings.runInBackground,
122 enableSystemTray: legacySettings.enableSystemTray, 179 enableSystemTray: legacySettings.enableSystemTray,
123 minimizeToSystemTray: legacySettings.minimizeToSystemTray, 180 minimizeToSystemTray: legacySettings.minimizeToSystemTray,
181 server: API,
124 isAppMuted: legacySettings.isAppMuted, 182 isAppMuted: legacySettings.isAppMuted,
125 enableGPUAcceleration: legacySettings.enableGPUAcceleration, 183 enableGPUAcceleration: legacySettings.enableGPUAcceleration,
126 showMessageBadgeWhenMuted: legacySettings.showMessageBadgeWhenMuted, 184 showMessageBadgeWhenMuted: legacySettings.showMessageBadgeWhenMuted,
diff --git a/src/stores/UserStore.js b/src/stores/UserStore.js
index 297ea1121..d6a2e5fde 100644
--- a/src/stores/UserStore.js
+++ b/src/stores/UserStore.js
@@ -8,12 +8,11 @@ import { isDevMode } from '../environment';
8import Store from './lib/Store'; 8import Store from './lib/Store';
9import Request from './lib/Request'; 9import Request from './lib/Request';
10import CachedRequest from './lib/CachedRequest'; 10import CachedRequest from './lib/CachedRequest';
11import { gaEvent } from '../lib/analytics';
12import { sleep } from '../helpers/async-helpers'; 11import { sleep } from '../helpers/async-helpers';
13import { getPlan } from '../helpers/plan-helpers'; 12import { getPlan } from '../helpers/plan-helpers';
14import { PLANS } from '../config'; 13import { PLANS } from '../config';
15 14
16const debug = require('debug')('Franz:UserStore'); 15const debug = require('debug')('Ferdi:UserStore');
17 16
18// TODO: split stores into UserStore and AuthStore 17// TODO: split stores into UserStore and AuthStore
19export default class UserStore extends Store { 18export default class UserStore extends Store {
@@ -57,6 +56,8 @@ export default class UserStore extends Store {
57 56
58 @observable isImportLegacyServicesCompleted = false; 57 @observable isImportLegacyServicesCompleted = false;
59 58
59 @observable isLoggingOut = false;
60
60 @observable id; 61 @observable id;
61 62
62 @observable authToken = localStorage.getItem('authToken') || null; 63 @observable authToken = localStorage.getItem('authToken') || null;
@@ -96,7 +97,7 @@ export default class UserStore extends Store {
96 97
97 // Reactions 98 // Reactions
98 this.registerReactions([ 99 this.registerReactions([
99 this._requireAuthenticatedUser, 100 // this._requireAuthenticatedUser,
100 this._getUserData.bind(this), 101 this._getUserData.bind(this),
101 this._resetTrialActivationState.bind(this), 102 this._resetTrialActivationState.bind(this),
102 ]); 103 ]);
@@ -159,7 +160,7 @@ export default class UserStore extends Store {
159 } 160 }
160 161
161 @computed get isPremium() { 162 @computed get isPremium() {
162 return !!this.data.isPremium; 163 return true;
163 } 164 }
164 165
165 @computed get isPremiumOverride() { 166 @computed get isPremiumOverride() {
@@ -174,12 +175,13 @@ export default class UserStore extends Store {
174 } 175 }
175 176
176 @computed get isPro() { 177 @computed get isPro() {
177 if (this.isPremiumOverride) return true; 178 return true;
179 // if (this.isPremiumOverride) return true;
178 180
179 if (!this.team || (!this.team.plan || this.team.state === 'expired')) return false; 181 // if (!this.team || (!this.team.plan || this.team.state === 'expired')) return false;
180 const plan = getPlan(this.team.plan); 182 // const plan = getPlan(this.team.plan);
181 183
182 return plan === PLANS.PRO || plan === PLANS.LEGACY; 184 // return plan === PLANS.PRO || plan === PLANS.LEGACY;
183 } 185 }
184 186
185 @computed get legacyServices() { 187 @computed get legacyServices() {
@@ -192,16 +194,12 @@ export default class UserStore extends Store {
192 this._setUserData(authToken); 194 this._setUserData(authToken);
193 195
194 this.stores.router.push('/'); 196 this.stores.router.push('/');
195
196 gaEvent('User', 'login');
197 } 197 }
198 198
199 @action _tokenLogin(authToken) { 199 @action _tokenLogin(authToken) {
200 this._setUserData(authToken); 200 this._setUserData(authToken);
201 201
202 this.stores.router.push('/'); 202 this.stores.router.push('/');
203
204 gaEvent('User', 'tokenLogin');
205 } 203 }
206 204
207 @action async _signup({ 205 @action async _signup({
@@ -219,13 +217,11 @@ export default class UserStore extends Store {
219 currency, 217 currency,
220 }); 218 });
221 219
222 this.hasCompletedSignup = false; 220 this.hasCompletedSignup = true;
223 221
224 this._setUserData(authToken); 222 this._setUserData(authToken);
225 223
226 this.stores.router.push(this.PRICING_ROUTE); 224 this.stores.router.push('/');
227
228 gaEvent('User', 'signup');
229 } 225 }
230 226
231 @action async _retrievePassword({ email }) { 227 @action async _retrievePassword({ email }) {
@@ -233,8 +229,6 @@ export default class UserStore extends Store {
233 229
234 await request._promise; 230 await request._promise;
235 this.actionStatus = request.result.status || []; 231 this.actionStatus = request.result.status || [];
236
237 gaEvent('User', 'retrievePassword');
238 } 232 }
239 233
240 @action async _activateTrial({ planId }) { 234 @action async _activateTrial({ planId }) {
@@ -250,9 +244,6 @@ export default class UserStore extends Store {
250 244
251 this.stores.features.featuresRequest.invalidate({ immediately: true }); 245 this.stores.features.featuresRequest.invalidate({ immediately: true });
252 this.stores.user.getUserInfoRequest.invalidate({ immediately: true }); 246 this.stores.user.getUserInfoRequest.invalidate({ immediately: true });
253
254
255 gaEvent('User', 'activateTrial');
256 } 247 }
257 248
258 @action async _invite({ invites }) { 249 @action async _invite({ invites }) {
@@ -266,8 +257,6 @@ export default class UserStore extends Store {
266 if (this.stores.router.location.pathname.includes(this.INVITE_ROUTE)) { 257 if (this.stores.router.location.pathname.includes(this.INVITE_ROUTE)) {
267 this.stores.router.push('/'); 258 this.stores.router.push('/');
268 } 259 }
269
270 gaEvent('User', 'inviteUsers');
271 } 260 }
272 261
273 @action async _update({ userData }) { 262 @action async _update({ userData }) {
@@ -277,8 +266,6 @@ export default class UserStore extends Store {
277 266
278 this.getUserInfoRequest.patch(() => response.data); 267 this.getUserInfoRequest.patch(() => response.data);
279 this.actionStatus = response.status || []; 268 this.actionStatus = response.status || [];
280
281 gaEvent('User', 'update');
282 } 269 }
283 270
284 @action _resetStatus() { 271 @action _resetStatus() {
@@ -301,12 +288,12 @@ export default class UserStore extends Store {
301 const recipes = services.filter((obj, pos, arr) => arr.map(mapObj => mapObj.recipe.id).indexOf(obj.recipe.id) === pos).map(s => s.recipe.id); 288 const recipes = services.filter((obj, pos, arr) => arr.map(mapObj => mapObj.recipe.id).indexOf(obj.recipe.id) === pos).map(s => s.recipe.id);
302 289
303 // Install recipes 290 // Install recipes
304 for (const recipe of recipes) { 291 for (const recipe of recipes) { // eslint-disable-line no-unused-vars
305 // eslint-disable-next-line 292 // eslint-disable-next-line
306 await this.stores.recipes._install({ recipeId: recipe }); 293 await this.stores.recipes._install({ recipeId: recipe });
307 } 294 }
308 295
309 for (const service of services) { 296 for (const service of services) { // eslint-disable-line no-unused-vars
310 this.actions.service.createFromLegacyService({ 297 this.actions.service.createFromLegacyService({
311 data: service, 298 data: service,
312 }); 299 });
diff --git a/src/styles/auth.scss b/src/styles/auth.scss
index 154a71a36..44c752677 100644
--- a/src/styles/auth.scss
+++ b/src/styles/auth.scss
@@ -27,7 +27,7 @@
27} 27}
28 28
29.auth { 29.auth {
30 background: $theme-brand-primary; 30 background: $theme-brand-gradient;
31 display: flex; 31 display: flex;
32 justify-content: center; 32 justify-content: center;
33 33
diff --git a/src/styles/button.scss b/src/styles/button.scss
index a66345114..38f8fd26d 100644
--- a/src/styles/button.scss
+++ b/src/styles/button.scss
@@ -61,6 +61,11 @@
61 61
62 &:disabled { opacity: .2; } 62 &:disabled { opacity: .2; }
63 63
64 &.franz-form__button--large {
65 width: 100%;
66 margin-bottom: 20px;
67 }
68
64 &.franz-form__button--secondary { 69 &.franz-form__button--secondary {
65 background: $theme-gray-lighter; 70 background: $theme-gray-lighter;
66 color: $theme-gray; 71 color: $theme-gray;
diff --git a/src/styles/colors.scss b/src/styles/colors.scss
index 80c2fb633..d89d42b9e 100644
--- a/src/styles/colors.scss
+++ b/src/styles/colors.scss
@@ -1,6 +1,7 @@
1@import "./type-helper"; 1@import "./type-helper";
2 2
3$theme-brand-primary: convert-rgb-string-to-color($raw-theme-brand-primary); 3$theme-brand-primary: convert-rgb-string-to-color($raw-theme-brand-primary);
4$theme-brand-gradient: linear-gradient( 135deg, #CE9FFC 10%, #7367F0 100%);
4$theme-brand-success: convert-rgb-string-to-color($raw-theme-brand-success); 5$theme-brand-success: convert-rgb-string-to-color($raw-theme-brand-success);
5$theme-brand-info: convert-rgb-string-to-color($raw-theme-brand-info); 6$theme-brand-info: convert-rgb-string-to-color($raw-theme-brand-info);
6$theme-brand-warning: convert-rgb-string-to-color($raw-theme-brand-warning); 7$theme-brand-warning: convert-rgb-string-to-color($raw-theme-brand-warning);
diff --git a/src/styles/layout.scss b/src/styles/layout.scss
index b18bd6dcf..c09d69f6c 100644
--- a/src/styles/layout.scss
+++ b/src/styles/layout.scss
@@ -2,6 +2,18 @@
2 2
3html { overflow: hidden; } 3html { overflow: hidden; }
4 4
5@keyframes pulse-danger {
6 0% {
7 background: darken($theme-brand-danger, 10%);
8 }
9 50% {
10 background: lighten($theme-brand-danger, 10%);
11 }
12 100% {
13 background: darken($theme-brand-danger, 10%);
14 }
15}
16
5.theme__dark .app { 17.theme__dark .app {
6 .sidebar { 18 .sidebar {
7 background: $dark-theme-gray-darker; 19 background: $dark-theme-gray-darker;
@@ -26,6 +38,27 @@ html { overflow: hidden; }
26 &.is-active { 38 &.is-active {
27 color: $theme-brand-primary; 39 color: $theme-brand-primary;
28 } 40 }
41
42 .update-available {
43 align-items: center;
44 background: $theme-brand-danger;
45 border-radius: 20px;
46 bottom: 5px;
47 color: #FFF;
48 display: flex;
49 justify-content: center;
50 padding: 0px 5px;
51 position: absolute;
52 right: 16px;
53 padding-top: 0;
54 font-size: 0px;
55 min-height: 15px;
56 min-width: 15px;
57
58 animation-name: pulse-danger;
59 animation-duration: 0.75s;
60 animation-iteration-count: 6;
61 }
29 } 62 }
30 } 63 }
31 64
diff --git a/src/styles/main.scss b/src/styles/main.scss
index 784a04d3d..1e9ed5714 100644
--- a/src/styles/main.scss
+++ b/src/styles/main.scss
@@ -30,6 +30,7 @@ $mdi-font-path: '../node_modules/mdi/fonts';
30@import './content-tabs.scss'; 30@import './content-tabs.scss';
31@import './invite.scss'; 31@import './invite.scss';
32@import './title-bar.scss'; 32@import './title-bar.scss';
33@import './quick-switch.scss';
33 34
34// form 35// form
35@import './input.scss'; 36@import './input.scss';
diff --git a/src/styles/quick-switch.scss b/src/styles/quick-switch.scss
new file mode 100644
index 000000000..356123c4c
--- /dev/null
+++ b/src/styles/quick-switch.scss
@@ -0,0 +1,13 @@
1.theme__dark .quick-switch {
2 background: $dark-theme-gray-darkest;
3
4 .service {
5 background: $dark-theme-gray-dark;
6 color: $dark-theme-gray-lightest;
7 border: inherit;
8 }
9
10 .active {
11 background: $theme-brand-primary;
12 }
13} \ No newline at end of file
diff --git a/src/styles/radio.scss b/src/styles/radio.scss
index 87d401215..b1e148ca0 100644
--- a/src/styles/radio.scss
+++ b/src/styles/radio.scss
@@ -30,7 +30,9 @@
30 30
31 &.is-selected { 31 &.is-selected {
32 background: #FFF; 32 background: #FFF;
33 border: 2px solid $theme-brand-primary; 33 border-width: 2px;
34 border-style: solid;
35 border-color: $theme-brand-primary;
34 color: $theme-brand-primary; 36 color: $theme-brand-primary;
35 } 37 }
36 38
diff --git a/src/styles/services.scss b/src/styles/services.scss
index 5acf92d2c..ef1097791 100644
--- a/src/styles/services.scss
+++ b/src/styles/services.scss
@@ -64,7 +64,7 @@
64 margin: 25px 0 40px; 64 margin: 25px 0 40px;
65 } 65 }
66 66
67 a.button, 67 .button,
68 button { margin: 40px 0 20px; } 68 button { margin: 40px 0 20px; }
69 } 69 }
70 70
diff --git a/src/styles/settings.scss b/src/styles/settings.scss
index 150d58e76..324175d0b 100644
--- a/src/styles/settings.scss
+++ b/src/styles/settings.scss
@@ -59,7 +59,9 @@
59 59
60 .premium-info { 60 .premium-info {
61 background: $dark-theme-gray-darker; 61 background: $dark-theme-gray-darker;
62 border: 2px solid $theme-brand-primary; 62 border-width: 2px;
63 border-style: solid;
64 border-color: $theme-brand-primary;
63 } 65 }
64 .legal { color: $theme-gray-light; } 66 .legal { color: $theme-gray-light; }
65 } 67 }
@@ -170,7 +172,9 @@
170 } 172 }
171 173
172 .separator { 174 .separator {
173 border-right: 1px solid darken($theme-brand-primary, 8%); 175 border-right-width: 1px;
176 border-right-style: solid;
177 border-right-color: $theme-brand-primary;
174 height: 100%; 178 height: 100%;
175 margin: 0 15px; 179 margin: 0 15px;
176 transform: skew(15deg) rotate(2deg); 180 transform: skew(15deg) rotate(2deg);
@@ -224,7 +228,7 @@
224 228
225 .settings__close { 229 .settings__close {
226 background: $theme-brand-primary; 230 background: $theme-brand-primary;
227 border-left: 1px solid darken($theme-brand-primary, 8%); 231 // border-left: 1px solid darken($theme-brand-primary, 8%);
228 color: #FFF; 232 color: #FFF;
229 font-size: 20px; 233 font-size: 20px;
230 height: 50px; 234 height: 50px;
@@ -233,7 +237,9 @@
233 right: 0; 237 right: 0;
234 transition: background $theme-transition-time; 238 transition: background $theme-transition-time;
235 border-top-right-radius: $theme-border-radius; 239 border-top-right-radius: $theme-border-radius;
240 cursor: pointer;
236 241
242 &::before { cursor: pointer; }
237 &:hover { background: darken($theme-brand-primary, 5%); } 243 &:hover { background: darken($theme-brand-primary, 5%); }
238 } 244 }
239 245
@@ -296,6 +302,7 @@
296 } 302 }
297 303
298 .settings__delete-button { right: 0; } 304 .settings__delete-button { right: 0; }
305 .settings__open-dark-mode-button { right: 0; cursor:pointer; }
299 306
300 .settings__empty-state { 307 .settings__empty-state {
301 align-items: center; 308 align-items: center;
diff --git a/src/styles/tabs.scss b/src/styles/tabs.scss
index cbd833f04..e500830ed 100644
--- a/src/styles/tabs.scss
+++ b/src/styles/tabs.scss
@@ -34,7 +34,9 @@
34 34
35 &.is-active { 35 &.is-active {
36 background: lighten($theme-brand-primary, 35%); 36 background: lighten($theme-brand-primary, 35%);
37 border-left: 4px solid $theme-brand-primary; 37 border-left-width: 4px;
38 border-left-style: solid;
39 border-left-color: $theme-brand-primary;
38 40
39 .tab-item__icon { margin-left: -4px; } 41 .tab-item__icon { margin-left: -4px; }
40 } 42 }
@@ -64,6 +66,13 @@
64 right: 8px; 66 right: 8px;
65 67
66 &.is-indirect { padding-top: 0; } 68 &.is-indirect { padding-top: 0; }
69 &.hibernating {
70 padding-top: 0;
71 background: $theme-gray;
72 font-size: 0px;
73 min-height: 10px;
74 min-width: 10px;
75 }
67 } 76 }
68 77
69 .tab-item__info-badge { 78 .tab-item__info-badge {
diff --git a/src/styles/type.scss b/src/styles/type.scss
index 135d32da0..636b8fd36 100644
--- a/src/styles/type.scss
+++ b/src/styles/type.scss
@@ -33,13 +33,15 @@ p {
33 33
34strong { font-weight: bold; } 34strong { font-weight: bold; }
35 35
36a { 36a, button {
37 color: $theme-text-color; 37 color: $theme-text-color;
38 text-decoration: none; 38 text-decoration: none;
39 39
40 &.button { 40 &.button {
41 background: none; 41 background: none;
42 border: 2px solid $theme-brand-primary; 42 border-width: 2px;
43 border-style: solid;
44 border-color: $theme-brand-primary;
43 border-radius: 3px; 45 border-radius: 3px;
44 color: $theme-brand-primary; 46 color: $theme-brand-primary;
45 display: inline-block; 47 display: inline-block;
@@ -47,6 +49,7 @@ a {
47 position: relative; 49 position: relative;
48 text-align: center; 50 text-align: center;
49 transition: background .5s, color .5s; 51 transition: background .5s, color .5s;
52 cursor: pointer;
50 53
51 &:hover { 54 &:hover {
52 background: darken($theme-brand-primary, 5%); 55 background: darken($theme-brand-primary, 5%);
diff --git a/src/styles/welcome.scss b/src/styles/welcome.scss
index b517431f0..c1f85391e 100644
--- a/src/styles/welcome.scss
+++ b/src/styles/welcome.scss
@@ -48,6 +48,7 @@
48 .button { 48 .button {
49 border-color: #FFF; 49 border-color: #FFF;
50 color: #FFF; 50 color: #FFF;
51 cursor: pointer;
51 52
52 &:hover { 53 &:hover {
53 background: #FFF; 54 background: #FFF;
diff --git a/src/theme/default/legacy.js b/src/theme/default/legacy.js
index b676dc1d9..46847c60b 100644
--- a/src/theme/default/legacy.js
+++ b/src/theme/default/legacy.js
@@ -1,5 +1,5 @@
1/* legacy config, injected into sass */ 1/* legacy config, injected into sass */
2export const themeBrandPrimary = '#3498db'; 2export const themeBrandPrimary = '#7367F0';
3export const themeBrandSuccess = '#5cb85c'; 3export const themeBrandSuccess = '#5cb85c';
4export const themeBrandInfo = '#5bc0de'; 4export const themeBrandInfo = '#5bc0de';
5export const themeBrandWarning = '#FF9F00'; 5export const themeBrandWarning = '#FF9F00';
diff --git a/src/webview/contextMenu.js b/src/webview/contextMenu.js
index d3b976554..acd62d675 100644
--- a/src/webview/contextMenu.js
+++ b/src/webview/contextMenu.js
@@ -8,7 +8,7 @@ import {
8import { isDevMode, isMac } from '../environment'; 8import { isDevMode, isMac } from '../environment';
9import { SPELLCHECKER_LOCALES } from '../i18n/languages'; 9import { SPELLCHECKER_LOCALES } from '../i18n/languages';
10 10
11const debug = require('debug')('Franz:contextMenu'); 11const debug = require('debug')('Ferdi:contextMenu');
12 12
13const { Menu } = remote; 13const { Menu } = remote;
14 14
diff --git a/src/webview/darkmode.js b/src/webview/darkmode.js
index 73c7007c6..ab629435c 100644
--- a/src/webview/darkmode.js
+++ b/src/webview/darkmode.js
@@ -3,7 +3,7 @@
3import path from 'path'; 3import path from 'path';
4import fs from 'fs-extra'; 4import fs from 'fs-extra';
5 5
6const debug = require('debug')('Franz:DarkMode'); 6const debug = require('debug')('Ferdi:DarkMode');
7 7
8const chars = [...'abcdefghijklmnopqrstuvwxyz']; 8const chars = [...'abcdefghijklmnopqrstuvwxyz'];
9 9
diff --git a/src/webview/darkmode/custom.js b/src/webview/darkmode/custom.js
new file mode 100644
index 000000000..f767f5755
--- /dev/null
+++ b/src/webview/darkmode/custom.js
@@ -0,0 +1,22 @@
1// CSS for pages that need custom styles to work correctly in darkmode
2export default {
3 'web.whatsapp.com': `
4 div.landing-window > div.landing-main {
5 background-color: #FFFFFF !important;
6 }
7 div.landing-window > div.landing-main * {
8 color: #212121 !important;
9 }
10 `,
11 'web.threema.ch': `
12 .scan {
13 background-color: #FFF;
14 }
15 .scan * {
16 color: #212121;
17 }
18 .scan input.md-input {
19 color: #212121;
20 }
21 `,
22};
diff --git a/src/webview/darkmode/ignore.js b/src/webview/darkmode/ignore.js
new file mode 100644
index 000000000..110df364f
--- /dev/null
+++ b/src/webview/darkmode/ignore.js
@@ -0,0 +1,3 @@
1export default [
2 'discordapp.com',
3];
diff --git a/src/webview/lib/RecipeWebview.js b/src/webview/lib/RecipeWebview.js
index 859f7787f..74d05fc2d 100644
--- a/src/webview/lib/RecipeWebview.js
+++ b/src/webview/lib/RecipeWebview.js
@@ -42,9 +42,15 @@ class RecipeWebview {
42 if (this.countCache.direct === direct 42 if (this.countCache.direct === direct
43 && this.countCache.indirect === indirect) return; 43 && this.countCache.indirect === indirect) return;
44 44
45 // Parse number to integer
46 // This will correct errors that recipes may introduce, e.g.
47 // by sending a String instead of an integer
48 const directInt = parseInt(direct, 10);
49 const indirectInt = parseInt(indirect, 10);
50
45 const count = { 51 const count = {
46 direct: direct > 0 ? direct : 0, 52 direct: directInt > 0 ? directInt : 0,
47 indirect: indirect > 0 ? indirect : 0, 53 indirect: indirectInt > 0 ? indirectInt : 0,
48 }; 54 };
49 55
50 56
diff --git a/src/webview/notifications.js b/src/webview/notifications.js
index f8fe53e1b..021f05cc3 100644
--- a/src/webview/notifications.js
+++ b/src/webview/notifications.js
@@ -1,7 +1,7 @@
1import { ipcRenderer } from 'electron'; 1import { ipcRenderer } from 'electron';
2import uuidV1 from 'uuid/v1'; 2import uuidV1 from 'uuid/v1';
3 3
4const debug = require('debug')('Franz:Notifications'); 4const debug = require('debug')('Ferdi:Notifications');
5 5
6class Notification { 6class Notification {
7 static permission = 'granted'; 7 static permission = 'granted';
diff --git a/src/webview/recipe.js b/src/webview/recipe.js
index 027d22c0a..2bf8f757a 100644
--- a/src/webview/recipe.js
+++ b/src/webview/recipe.js
@@ -1,8 +1,16 @@
1import { ipcRenderer } from 'electron'; 1import { ipcRenderer } from 'electron';
2import path from 'path'; 2import path from 'path';
3import { autorun, computed, observable } from 'mobx'; 3import { autorun, computed, observable } from 'mobx';
4import fs from 'fs-extra';
4import { loadModule } from 'cld3-asm'; 5import { loadModule } from 'cld3-asm';
5import { debounce } from 'lodash'; 6import { debounce } from 'lodash';
7import {
8 enable as enableDarkMode,
9 disable as disableDarkMode,
10} from 'darkreader';
11
12import ignoreList from './darkmode/ignore';
13import customDarkModeCss from './darkmode/custom';
6 14
7import RecipeWebview from './lib/RecipeWebview'; 15import RecipeWebview from './lib/RecipeWebview';
8 16
@@ -14,7 +22,7 @@ import './notifications';
14import { DEFAULT_APP_SETTINGS } from '../config'; 22import { DEFAULT_APP_SETTINGS } from '../config';
15import { isDevMode } from '../environment'; 23import { isDevMode } from '../environment';
16 24
17const debug = require('debug')('Franz:Plugin'); 25const debug = require('debug')('Ferdi:Plugin');
18 26
19class RecipeController { 27class RecipeController {
20 @observable settings = { 28 @observable settings = {
@@ -35,6 +43,8 @@ class RecipeController {
35 'get-service-id': 'serviceIdEcho', 43 'get-service-id': 'serviceIdEcho',
36 }; 44 };
37 45
46 universalDarkModeInjected = false;
47
38 constructor() { 48 constructor() {
39 this.initialize(); 49 this.initialize();
40 } 50 }
@@ -112,10 +122,35 @@ class RecipeController {
112 122
113 if (this.settings.service.isDarkModeEnabled) { 123 if (this.settings.service.isDarkModeEnabled) {
114 debug('Enable dark mode'); 124 debug('Enable dark mode');
115 injectDarkModeStyle(this.settings.service.recipe.path); 125
116 } else if (isDarkModeStyleInjected()) { 126 // Check if recipe has a darkmode.css
127 const darkModeStyle = path.join(this.settings.service.recipe.path, 'darkmode.css');
128 const darkModeExists = fs.pathExistsSync(darkModeStyle);
129
130 if (darkModeExists) {
131 injectDarkModeStyle(this.settings.service.recipe.path);
132 } else if (this.settings.app.universalDarkMode && !ignoreList.includes(window.location.host)) {
133 // Use darkreader instead
134 enableDarkMode({}, {
135 css: customDarkModeCss[window.location.host] || '',
136 });
137 this.universalDarkModeInjected = true;
138 }
139 } else {
117 debug('Remove dark mode'); 140 debug('Remove dark mode');
118 removeDarkModeStyle(); 141
142 if (isDarkModeStyleInjected()) {
143 removeDarkModeStyle();
144 } else {
145 disableDarkMode();
146 this.universalDarkModeInjected = false;
147 }
148 }
149
150 // Remove dark reader if (universal) dark mode was just disabled
151 if (this.universalDarkModeInjected && (!this.settings.service.isDarkModeEnabled || !this.settings.app.universalDarkMode)) {
152 disableDarkMode();
153 this.universalDarkModeInjected = false;
119 } 154 }
120 } 155 }
121 156
diff --git a/src/webview/spellchecker.js b/src/webview/spellchecker.js
index d8f71f61f..47fc6dcd1 100644
--- a/src/webview/spellchecker.js
+++ b/src/webview/spellchecker.js
@@ -1,36 +1,21 @@
1import { webFrame } from 'electron'; 1import { webFrame } from 'electron';
2import { attachSpellCheckProvider, SpellCheckerProvider } from 'electron-hunspell'; 2import { SpellCheckHandler, ContextMenuListener, ContextMenuBuilder } from 'electron-spellchecker';
3import path from 'path';
4import { readFileSync } from 'fs';
5 3
6import { DICTIONARY_PATH } from '../config';
7import { SPELLCHECKER_LOCALES } from '../i18n/languages'; 4import { SPELLCHECKER_LOCALES } from '../i18n/languages';
8 5
9const debug = require('debug')('Franz:spellchecker'); 6const debug = require('debug')('Franz:spellchecker');
10 7
11let provider; 8let handler;
12let currentDict; 9let currentDict;
10let contextMenuBuilder;
13let _isEnabled = false; 11let _isEnabled = false;
14let attached;
15 12
16const DEFAULT_LOCALE = 'en-us'; 13export async function switchDict(locale) {
17
18async function loadDictionary(locale) {
19 try {
20 const fileLocation = path.join(DICTIONARY_PATH, `hunspell-dict-${locale}/${locale}`);
21 debug('Loaded dictionary', locale, 'from', fileLocation);
22 return provider.loadDictionary(locale, readFileSync(`${fileLocation}.dic`), readFileSync(`${fileLocation}.aff`));
23 } catch (err) {
24 console.error('Could not load dictionary', err);
25 }
26}
27
28export async function switchDict(locale = DEFAULT_LOCALE) {
29 try { 14 try {
30 debug('Trying to load dictionary', locale); 15 debug('Trying to load dictionary', locale);
31 16
32 if (!provider) { 17 if (!handler) {
33 console.warn('SpellcheckProvider not initialized'); 18 console.warn('SpellcheckHandler not initialized');
34 19
35 return; 20 return;
36 } 21 }
@@ -41,11 +26,7 @@ export async function switchDict(locale = DEFAULT_LOCALE) {
41 return; 26 return;
42 } 27 }
43 28
44 if (currentDict) { 29 handler.switchLanguage(locale);
45 provider.unloadDictionary(locale);
46 }
47 await loadDictionary(locale);
48 await attached.switchLanguage(locale);
49 30
50 debug('Switched dictionary to', locale); 31 debug('Switched dictionary to', locale);
51 32
@@ -56,34 +37,23 @@ export async function switchDict(locale = DEFAULT_LOCALE) {
56 } 37 }
57} 38}
58 39
59export function getSpellcheckerLocaleByFuzzyIdentifier(identifier) { 40export default async function initialize(languageCode = 'en-us') {
60 const locales = Object.keys(SPELLCHECKER_LOCALES).filter(key => key === identifier.toLowerCase() || key.split('-')[0] === identifier.toLowerCase());
61
62 if (locales.length >= 1) {
63 return locales[0];
64 }
65
66 return null;
67}
68
69export default async function initialize(languageCode = DEFAULT_LOCALE) {
70 try { 41 try {
71 provider = new SpellCheckerProvider(); 42 handler = new SpellCheckHandler();
72 const locale = getSpellcheckerLocaleByFuzzyIdentifier(languageCode); 43 handler.attachToInput();
44 const locale = languageCode.toLowerCase();
73 45
74 debug('Init spellchecker'); 46 debug('Init spellchecker');
75 await provider.initialize();
76
77 debug('Attaching spellcheck provider');
78 attached = await attachSpellCheckProvider(provider);
79
80 const availableDictionaries = await provider.getAvailableDictionaries();
81 47
82 debug('Available spellchecker dictionaries', availableDictionaries); 48 switchDict(locale);
83 49
84 await switchDict(locale); 50 contextMenuBuilder = new ContextMenuBuilder(handler);
51 // eslint-disable-next-line no-new
52 new ContextMenuListener((info) => {
53 contextMenuBuilder.showPopupMenu(info);
54 });
85 55
86 return provider; 56 return handler;
87 } catch (err) { 57 } catch (err) {
88 console.error(err); 58 console.error(err);
89 return false; 59 return false;
@@ -96,8 +66,19 @@ export function isEnabled() {
96 66
97export function disable() { 67export function disable() {
98 if (isEnabled()) { 68 if (isEnabled()) {
69 handler.unsubscribe();
99 webFrame.setSpellCheckProvider(currentDict, { spellCheck: () => true }); 70 webFrame.setSpellCheckProvider(currentDict, { spellCheck: () => true });
100 _isEnabled = false; 71 _isEnabled = false;
101 currentDict = null; 72 currentDict = null;
102 } 73 }
103} 74}
75
76export function getSpellcheckerLocaleByFuzzyIdentifier(identifier) {
77 const locales = Object.keys(SPELLCHECKER_LOCALES).filter(key => key === identifier.toLowerCase() || key.split('-')[0] === identifier.toLowerCase());
78
79 if (locales.length >= 1) {
80 return locales[0];
81 }
82
83 return null;
84}
diff --git a/uidev/src/stories/infobox.stories.tsx b/uidev/src/stories/infobox.stories.tsx
index c3442da0d..b0416b844 100644
--- a/uidev/src/stories/infobox.stories.tsx
+++ b/uidev/src/stories/infobox.stories.tsx
@@ -69,7 +69,7 @@ storiesOf('Infobox')
69 ctaLabel: 'Ok, hi!', 69 ctaLabel: 'Ok, hi!',
70 })} 70 })}
71 > 71 >
72 Franz is your messaging app / former Emperor of Austria and combines chat & messaging services into one application. Franz currently supports Slack, WhatsApp, WeChat, HipChat, Facebook Messenger, Telegram, Google Hangouts,GroupMe, Skype and many more. 72 Ferdi is your messaging app / former Emperor of Austria and combines chat & messaging services into one application. Ferdi currently supports Slack, WhatsApp, WeChat, HipChat, Facebook Messenger, Telegram, Google Hangouts,GroupMe, Skype and many more.
73 </WithStoreInfobox> 73 </WithStoreInfobox>
74 )) 74 ))
75 .add('Secondary', () => ( 75 .add('Secondary', () => (