aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLibravatar vantezzen <hello@vantezzen.io>2019-10-06 15:09:32 +0200
committerLibravatar vantezzen <hello@vantezzen.io>2019-10-06 15:09:32 +0200
commit26c075372a1bb461752c873cfed0a96b10a4bba9 (patch)
tree3eaf471910990e81b2d718e42c3e9e31bbdc6cd0 /src
parentMerge pull request #102 from getferdi/l10n_master (diff)
downloadferdium-app-26c075372a1bb461752c873cfed0a96b10a4bba9.tar.gz
ferdium-app-26c075372a1bb461752c873cfed0a96b10a4bba9.tar.zst
ferdium-app-26c075372a1bb461752c873cfed0a96b10a4bba9.zip
Add option to choose hibernation strategy
Diffstat (limited to 'src')
-rw-r--r--src/components/services/content/ServiceView.js5
-rw-r--r--src/components/settings/settings/EditSettingsForm.js19
-rw-r--r--src/config.js11
-rw-r--r--src/containers/settings/EditSettingsScreen.js19
-rw-r--r--src/helpers/i18n-helpers.js10
-rw-r--r--src/i18n/locales/defaultMessages.json190
-rw-r--r--src/i18n/locales/en-US.json2
-rw-r--r--src/i18n/locales/zh-HANT.json237
-rw-r--r--src/i18n/messages/src/components/settings/settings/EditSettingsForm.json109
-rw-r--r--src/i18n/messages/src/containers/settings/EditSettingsScreen.json81
10 files changed, 396 insertions, 287 deletions
diff --git a/src/components/services/content/ServiceView.js b/src/components/services/content/ServiceView.js
index 0cfefc92b..f6686548d 100644
--- a/src/components/services/content/ServiceView.js
+++ b/src/components/services/content/ServiceView.js
@@ -3,7 +3,6 @@ import PropTypes from 'prop-types';
3import { autorun, reaction } from 'mobx'; 3import { autorun, reaction } from 'mobx';
4import { observer, inject } from 'mobx-react'; 4import { observer, inject } from 'mobx-react';
5import classnames from 'classnames'; 5import classnames from 'classnames';
6import ms from 'ms';
7 6
8import ServiceModel from '../../../models/Service'; 7import ServiceModel from '../../../models/Service';
9import StatusBarTargetUrl from '../../ui/StatusBarTargetUrl'; 8import StatusBarTargetUrl from '../../ui/StatusBarTargetUrl';
@@ -104,11 +103,13 @@ export default @observer @inject('stores') class ServiceView extends Component {
104 }; 103 };
105 104
106 startHibernationTimer() { 105 startHibernationTimer() {
106 const timerDuration = (Number(this.props.stores.settings.all.app.hibernationStrategy) || 300) * 1000;
107
107 const hibernationTimer = setTimeout(() => { 108 const hibernationTimer = setTimeout(() => {
108 this.setState({ 109 this.setState({
109 hibernate: true, 110 hibernate: true,
110 }); 111 });
111 }, ms('5m')); 112 }, timerDuration);
112 113
113 this.setState({ 114 this.setState({
114 hibernationTimer, 115 hibernationTimer,
diff --git a/src/components/settings/settings/EditSettingsForm.js b/src/components/settings/settings/EditSettingsForm.js
index 75f0d9d23..a15b4c255 100644
--- a/src/components/settings/settings/EditSettingsForm.js
+++ b/src/components/settings/settings/EditSettingsForm.js
@@ -31,6 +31,10 @@ const messages = defineMessages({
31 id: 'settings.app.headlineGeneral', 31 id: 'settings.app.headlineGeneral',
32 defaultMessage: '!!!General', 32 defaultMessage: '!!!General',
33 }, 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 },
34 serverInfo: { 38 serverInfo: {
35 id: 'settings.app.serverInfo', 39 id: 'settings.app.serverInfo',
36 defaultMessage: '!!!We advice you to logout after changing your server as your settings might not be saved otherwise.', 40 defaultMessage: '!!!We advice you to logout after changing your server as your settings might not be saved otherwise.',
@@ -147,6 +151,7 @@ export default @observer class EditSettingsForm extends Component {
147 isWorkspaceEnabled: PropTypes.bool.isRequired, 151 isWorkspaceEnabled: PropTypes.bool.isRequired,
148 server: PropTypes.string.isRequired, 152 server: PropTypes.string.isRequired,
149 noUpdates: PropTypes.bool.isRequired, 153 noUpdates: PropTypes.bool.isRequired,
154 hibernationEnabled: PropTypes.bool.isRequired,
150 }; 155 };
151 156
152 static contextTypes = { 157 static contextTypes = {
@@ -181,6 +186,7 @@ export default @observer class EditSettingsForm extends Component {
181 isWorkspaceEnabled, 186 isWorkspaceEnabled,
182 server, 187 server,
183 noUpdates, 188 noUpdates,
189 hibernationEnabled,
184 } = this.props; 190 } = this.props;
185 const { intl } = this.context; 191 const { intl } = this.context;
186 192
@@ -218,6 +224,19 @@ export default @observer class EditSettingsForm extends Component {
218 <Toggle field={form.$('enableSystemTray')} /> 224 <Toggle field={form.$('enableSystemTray')} />
219 <Toggle field={form.$('privateNotifications')} /> 225 <Toggle field={form.$('privateNotifications')} />
220 <Toggle field={form.$('hibernate')} /> 226 <Toggle field={form.$('hibernate')} />
227 {hibernationEnabled && (
228 <Select field={form.$('hibernationStrategy')} />
229 )}
230 <p
231 className="settings__message"
232 style={{
233 borderTop: 0, marginTop: 0, paddingTop: 0, marginBottom: '2rem',
234 }}
235 >
236 <span>
237 { intl.formatMessage(messages.hibernateInfo) }
238 </span>
239 </p>
221 {process.platform === 'win32' && ( 240 {process.platform === 'win32' && (
222 <Toggle field={form.$('minimizeToSystemTray')} /> 241 <Toggle field={form.$('minimizeToSystemTray')} />
223 )} 242 )}
diff --git a/src/config.js b/src/config.js
index c6c31ce23..d46db36dc 100644
--- a/src/config.js
+++ b/src/config.js
@@ -34,6 +34,16 @@ export const GA_ID = !isDevMode ? 'UA-74126766-10' : 'UA-74126766-12';
34export const DEFAULT_LOCK_PASSWORD = 'ferdi'; 34export const DEFAULT_LOCK_PASSWORD = 'ferdi';
35export const KEEP_WS_LOADED_USID = '0a0aa000-0a0a-49a0-a000-a0a0a0a0a0a0'; 35export const KEEP_WS_LOADED_USID = '0a0aa000-0a0a-49a0-a000-a0a0a0a0a0a0';
36 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
37export const DEFAULT_APP_SETTINGS = { 47export const DEFAULT_APP_SETTINGS = {
38 autoLaunchInBackground: false, 48 autoLaunchInBackground: false,
39 runInBackground: true, 49 runInBackground: true,
@@ -63,6 +73,7 @@ export const DEFAULT_APP_SETTINGS = {
63 scheduledDNDStart: '17:00', 73 scheduledDNDStart: '17:00',
64 scheduledDNDEnd: '09:00', 74 scheduledDNDEnd: '09:00',
65 hibernate: false, 75 hibernate: false,
76 hibernationStrategy: 300,
66 noUpdates: false, 77 noUpdates: false,
67}; 78};
68 79
diff --git a/src/containers/settings/EditSettingsScreen.js b/src/containers/settings/EditSettingsScreen.js
index 463a290d2..8b9d21b87 100644
--- a/src/containers/settings/EditSettingsScreen.js
+++ b/src/containers/settings/EditSettingsScreen.js
@@ -9,7 +9,7 @@ import UserStore from '../../stores/UserStore';
9import TodosStore from '../../features/todos/store'; 9import TodosStore from '../../features/todos/store';
10import Form from '../../lib/Form'; 10import Form from '../../lib/Form';
11import { APP_LOCALES, SPELLCHECKER_LOCALES } from '../../i18n/languages'; 11import { APP_LOCALES, SPELLCHECKER_LOCALES } from '../../i18n/languages';
12import { DEFAULT_APP_SETTINGS, DEFAULT_LOCK_PASSWORD } from '../../config'; 12import { DEFAULT_APP_SETTINGS, DEFAULT_LOCK_PASSWORD, HIBERNATION_STRATEGIES } from '../../config';
13import { config as spellcheckerConfig } from '../../features/spellchecker'; 13import { config as spellcheckerConfig } from '../../features/spellchecker';
14 14
15import { getSelectOptions } from '../../helpers/i18n-helpers'; 15import { getSelectOptions } from '../../helpers/i18n-helpers';
@@ -53,6 +53,10 @@ const messages = defineMessages({
53 id: 'settings.app.form.hibernate', 53 id: 'settings.app.form.hibernate',
54 defaultMessage: '!!!Enable service hibernation', 54 defaultMessage: '!!!Enable service hibernation',
55 }, 55 },
56 hibernationStrategy: {
57 id: 'settings.app.form.hibernationStrategy',
58 defaultMessage: '!!!Hibernation strategy',
59 },
56 server: { 60 server: {
57 id: 'settings.app.form.server', 61 id: 'settings.app.form.server',
58 defaultMessage: '!!!Server', 62 defaultMessage: '!!!Server',
@@ -151,6 +155,7 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e
151 minimizeToSystemTray: settingsData.minimizeToSystemTray, 155 minimizeToSystemTray: settingsData.minimizeToSystemTray,
152 privateNotifications: settingsData.privateNotifications, 156 privateNotifications: settingsData.privateNotifications,
153 hibernate: settingsData.hibernate, 157 hibernate: settingsData.hibernate,
158 hibernationStrategy: settingsData.hibernationStrategy,
154 server: settingsData.server, 159 server: settingsData.server,
155 todoServer: settingsData.todoServer, 160 todoServer: settingsData.todoServer,
156 lockingFeatureEnabled: settingsData.lockingFeatureEnabled, 161 lockingFeatureEnabled: settingsData.lockingFeatureEnabled,
@@ -203,6 +208,11 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e
203 locales: APP_LOCALES, 208 locales: APP_LOCALES,
204 }); 209 });
205 210
211 const hibernationStrategies = getSelectOptions({
212 locales: HIBERNATION_STRATEGIES,
213 sort: false,
214 });
215
206 const spellcheckingLanguages = getSelectOptions({ 216 const spellcheckingLanguages = getSelectOptions({
207 locales: SPELLCHECKER_LOCALES, 217 locales: SPELLCHECKER_LOCALES,
208 automaticDetectionText: this.context.intl.formatMessage(globalMessages.spellcheckerAutomaticDetection), 218 automaticDetectionText: this.context.intl.formatMessage(globalMessages.spellcheckerAutomaticDetection),
@@ -245,6 +255,12 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e
245 value: settings.all.app.hibernate, 255 value: settings.all.app.hibernate,
246 default: DEFAULT_APP_SETTINGS.hibernate, 256 default: DEFAULT_APP_SETTINGS.hibernate,
247 }, 257 },
258 hibernationStrategy: {
259 label: intl.formatMessage(messages.hibernationStrategy),
260 value: settings.all.app.hibernationStrategy,
261 options: hibernationStrategies,
262 default: DEFAULT_APP_SETTINGS.hibernationStrategy,
263 },
248 server: { 264 server: {
249 label: intl.formatMessage(messages.server), 265 label: intl.formatMessage(messages.server),
250 value: settings.all.app.server || API, 266 value: settings.all.app.server || API,
@@ -393,6 +409,7 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e
393 server={server || 'https://api.franzinfra.com'} 409 server={server || 'https://api.franzinfra.com'}
394 lockingFeatureEnabled={lockingFeatureEnabled} 410 lockingFeatureEnabled={lockingFeatureEnabled}
395 noUpdates={this.props.stores.settings.app.noUpdates} 411 noUpdates={this.props.stores.settings.app.noUpdates}
412 hibernationEnabled={this.props.stores.settings.app.hibernate}
396 /> 413 />
397 </ErrorBoundary> 414 </ErrorBoundary>
398 ); 415 );
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/i18n/locales/defaultMessages.json b/src/i18n/locales/defaultMessages.json
index 2cb42d134..52c4e74c1 100644
--- a/src/i18n/locales/defaultMessages.json
+++ b/src/i18n/locales/defaultMessages.json
@@ -2488,315 +2488,328 @@
2488 } 2488 }
2489 }, 2489 },
2490 { 2490 {
2491 "defaultMessage": "!!!We advice you to logout after changing your server as your settings might not be saved otherwise.", 2491 "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.",
2492 "end": { 2492 "end": {
2493 "column": 3, 2493 "column": 3,
2494 "line": 37 2494 "line": 37
2495 }, 2495 },
2496 "file": "src/components/settings/settings/EditSettingsForm.js", 2496 "file": "src/components/settings/settings/EditSettingsForm.js",
2497 "id": "settings.app.hibernateInfo",
2498 "start": {
2499 "column": 17,
2500 "line": 34
2501 }
2502 },
2503 {
2504 "defaultMessage": "!!!We advice you to logout after changing your server as your settings might not be saved otherwise.",
2505 "end": {
2506 "column": 3,
2507 "line": 41
2508 },
2509 "file": "src/components/settings/settings/EditSettingsForm.js",
2497 "id": "settings.app.serverInfo", 2510 "id": "settings.app.serverInfo",
2498 "start": { 2511 "start": {
2499 "column": 14, 2512 "column": 14,
2500 "line": 34 2513 "line": 38
2501 } 2514 }
2502 }, 2515 },
2503 { 2516 {
2504 "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.", 2517 "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.",
2505 "end": { 2518 "end": {
2506 "column": 3, 2519 "column": 3,
2507 "line": 41 2520 "line": 45
2508 }, 2521 },
2509 "file": "src/components/settings/settings/EditSettingsForm.js", 2522 "file": "src/components/settings/settings/EditSettingsForm.js",
2510 "id": "settings.app.serverMoneyInfo", 2523 "id": "settings.app.serverMoneyInfo",
2511 "start": { 2524 "start": {
2512 "column": 19, 2525 "column": 19,
2513 "line": 38 2526 "line": 42
2514 } 2527 }
2515 }, 2528 },
2516 { 2529 {
2517 "defaultMessage": "!!!This server will be used for the \"Franz Todo\" feature. (default: https://app.franztodos.com)", 2530 "defaultMessage": "!!!This server will be used for the \"Franz Todo\" feature. (default: https://app.franztodos.com)",
2518 "end": { 2531 "end": {
2519 "column": 3, 2532 "column": 3,
2520 "line": 45 2533 "line": 49
2521 }, 2534 },
2522 "file": "src/components/settings/settings/EditSettingsForm.js", 2535 "file": "src/components/settings/settings/EditSettingsForm.js",
2523 "id": "settings.app.todoServerInfo", 2536 "id": "settings.app.todoServerInfo",
2524 "start": { 2537 "start": {
2525 "column": 18, 2538 "column": 18,
2526 "line": 42 2539 "line": 46
2527 } 2540 }
2528 }, 2541 },
2529 { 2542 {
2530 "defaultMessage": "!!!Ferdi Lock Password", 2543 "defaultMessage": "!!!Ferdi Lock Password",
2531 "end": { 2544 "end": {
2532 "column": 3, 2545 "column": 3,
2533 "line": 49 2546 "line": 53
2534 }, 2547 },
2535 "file": "src/components/settings/settings/EditSettingsForm.js", 2548 "file": "src/components/settings/settings/EditSettingsForm.js",
2536 "id": "settings.app.lockedPassword", 2549 "id": "settings.app.lockedPassword",
2537 "start": { 2550 "start": {
2538 "column": 18, 2551 "column": 18,
2539 "line": 46 2552 "line": 50
2540 } 2553 }
2541 }, 2554 },
2542 { 2555 {
2543 "defaultMessage": "!!!Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.", 2556 "defaultMessage": "!!!Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
2544 "end": { 2557 "end": {
2545 "column": 3, 2558 "column": 3,
2546 "line": 53 2559 "line": 57
2547 }, 2560 },
2548 "file": "src/components/settings/settings/EditSettingsForm.js", 2561 "file": "src/components/settings/settings/EditSettingsForm.js",
2549 "id": "settings.app.lockedPasswordInfo", 2562 "id": "settings.app.lockedPasswordInfo",
2550 "start": { 2563 "start": {
2551 "column": 22, 2564 "column": 22,
2552 "line": 50 2565 "line": 54
2553 } 2566 }
2554 }, 2567 },
2555 { 2568 {
2556 "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.", 2569 "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.",
2557 "end": { 2570 "end": {
2558 "column": 3, 2571 "column": 3,
2559 "line": 57 2572 "line": 61
2560 }, 2573 },
2561 "file": "src/components/settings/settings/EditSettingsForm.js", 2574 "file": "src/components/settings/settings/EditSettingsForm.js",
2562 "id": "settings.app.lockInfo", 2575 "id": "settings.app.lockInfo",
2563 "start": { 2576 "start": {
2564 "column": 12, 2577 "column": 12,
2565 "line": 54 2578 "line": 58
2566 } 2579 }
2567 }, 2580 },
2568 { 2581 {
2569 "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.", 2582 "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.",
2570 "end": { 2583 "end": {
2571 "column": 3, 2584 "column": 3,
2572 "line": 61 2585 "line": 65
2573 }, 2586 },
2574 "file": "src/components/settings/settings/EditSettingsForm.js", 2587 "file": "src/components/settings/settings/EditSettingsForm.js",
2575 "id": "settings.app.scheduledDNDTimeInfo", 2588 "id": "settings.app.scheduledDNDTimeInfo",
2576 "start": { 2589 "start": {
2577 "column": 24, 2590 "column": 24,
2578 "line": 58 2591 "line": 62
2579 } 2592 }
2580 }, 2593 },
2581 { 2594 {
2582 "defaultMessage": "!!!Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.", 2595 "defaultMessage": "!!!Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.",
2583 "end": { 2596 "end": {
2584 "column": 3, 2597 "column": 3,
2585 "line": 65 2598 "line": 69
2586 }, 2599 },
2587 "file": "src/components/settings/settings/EditSettingsForm.js", 2600 "file": "src/components/settings/settings/EditSettingsForm.js",
2588 "id": "settings.app.scheduledDNDInfo", 2601 "id": "settings.app.scheduledDNDInfo",
2589 "start": { 2602 "start": {
2590 "column": 20, 2603 "column": 20,
2591 "line": 62 2604 "line": 66
2592 } 2605 }
2593 }, 2606 },
2594 { 2607 {
2595 "defaultMessage": "!!!Language", 2608 "defaultMessage": "!!!Language",
2596 "end": { 2609 "end": {
2597 "column": 3, 2610 "column": 3,
2598 "line": 69 2611 "line": 73
2599 }, 2612 },
2600 "file": "src/components/settings/settings/EditSettingsForm.js", 2613 "file": "src/components/settings/settings/EditSettingsForm.js",
2601 "id": "settings.app.headlineLanguage", 2614 "id": "settings.app.headlineLanguage",
2602 "start": { 2615 "start": {
2603 "column": 20, 2616 "column": 20,
2604 "line": 66 2617 "line": 70
2605 } 2618 }
2606 }, 2619 },
2607 { 2620 {
2608 "defaultMessage": "!!!Updates", 2621 "defaultMessage": "!!!Updates",
2609 "end": { 2622 "end": {
2610 "column": 3, 2623 "column": 3,
2611 "line": 73 2624 "line": 77
2612 }, 2625 },
2613 "file": "src/components/settings/settings/EditSettingsForm.js", 2626 "file": "src/components/settings/settings/EditSettingsForm.js",
2614 "id": "settings.app.headlineUpdates", 2627 "id": "settings.app.headlineUpdates",
2615 "start": { 2628 "start": {
2616 "column": 19, 2629 "column": 19,
2617 "line": 70 2630 "line": 74
2618 } 2631 }
2619 }, 2632 },
2620 { 2633 {
2621 "defaultMessage": "!!!Appearance", 2634 "defaultMessage": "!!!Appearance",
2622 "end": { 2635 "end": {
2623 "column": 3, 2636 "column": 3,
2624 "line": 77 2637 "line": 81
2625 }, 2638 },
2626 "file": "src/components/settings/settings/EditSettingsForm.js", 2639 "file": "src/components/settings/settings/EditSettingsForm.js",
2627 "id": "settings.app.headlineAppearance", 2640 "id": "settings.app.headlineAppearance",
2628 "start": { 2641 "start": {
2629 "column": 22, 2642 "column": 22,
2630 "line": 74 2643 "line": 78
2631 } 2644 }
2632 }, 2645 },
2633 { 2646 {
2634 "defaultMessage": "!!!Advanced", 2647 "defaultMessage": "!!!Advanced",
2635 "end": { 2648 "end": {
2636 "column": 3, 2649 "column": 3,
2637 "line": 81 2650 "line": 85
2638 }, 2651 },
2639 "file": "src/components/settings/settings/EditSettingsForm.js", 2652 "file": "src/components/settings/settings/EditSettingsForm.js",
2640 "id": "settings.app.headlineAdvanced", 2653 "id": "settings.app.headlineAdvanced",
2641 "start": { 2654 "start": {
2642 "column": 20, 2655 "column": 20,
2643 "line": 78 2656 "line": 82
2644 } 2657 }
2645 }, 2658 },
2646 { 2659 {
2647 "defaultMessage": "!!!Help us to translate Ferdi into your language.", 2660 "defaultMessage": "!!!Help us to translate Ferdi into your language.",
2648 "end": { 2661 "end": {
2649 "column": 3, 2662 "column": 3,
2650 "line": 85 2663 "line": 89
2651 }, 2664 },
2652 "file": "src/components/settings/settings/EditSettingsForm.js", 2665 "file": "src/components/settings/settings/EditSettingsForm.js",
2653 "id": "settings.app.translationHelp", 2666 "id": "settings.app.translationHelp",
2654 "start": { 2667 "start": {
2655 "column": 19, 2668 "column": 19,
2656 "line": 82 2669 "line": 86
2657 } 2670 }
2658 }, 2671 },
2659 { 2672 {
2660 "defaultMessage": "!!!Cache", 2673 "defaultMessage": "!!!Cache",
2661 "end": { 2674 "end": {
2662 "column": 3, 2675 "column": 3,
2663 "line": 89 2676 "line": 93
2664 }, 2677 },
2665 "file": "src/components/settings/settings/EditSettingsForm.js", 2678 "file": "src/components/settings/settings/EditSettingsForm.js",
2666 "id": "settings.app.subheadlineCache", 2679 "id": "settings.app.subheadlineCache",
2667 "start": { 2680 "start": {
2668 "column": 20, 2681 "column": 20,
2669 "line": 86 2682 "line": 90
2670 } 2683 }
2671 }, 2684 },
2672 { 2685 {
2673 "defaultMessage": "!!!Ferdi cache is currently using {size} of disk space.", 2686 "defaultMessage": "!!!Ferdi cache is currently using {size} of disk space.",
2674 "end": { 2687 "end": {
2675 "column": 3, 2688 "column": 3,
2676 "line": 93 2689 "line": 97
2677 }, 2690 },
2678 "file": "src/components/settings/settings/EditSettingsForm.js", 2691 "file": "src/components/settings/settings/EditSettingsForm.js",
2679 "id": "settings.app.cacheInfo", 2692 "id": "settings.app.cacheInfo",
2680 "start": { 2693 "start": {
2681 "column": 13, 2694 "column": 13,
2682 "line": 90 2695 "line": 94
2683 } 2696 }
2684 }, 2697 },
2685 { 2698 {
2686 "defaultMessage": "!!!Clear cache", 2699 "defaultMessage": "!!!Clear cache",
2687 "end": { 2700 "end": {
2688 "column": 3, 2701 "column": 3,
2689 "line": 97 2702 "line": 101
2690 }, 2703 },
2691 "file": "src/components/settings/settings/EditSettingsForm.js", 2704 "file": "src/components/settings/settings/EditSettingsForm.js",
2692 "id": "settings.app.buttonClearAllCache", 2705 "id": "settings.app.buttonClearAllCache",
2693 "start": { 2706 "start": {
2694 "column": 23, 2707 "column": 23,
2695 "line": 94 2708 "line": 98
2696 } 2709 }
2697 }, 2710 },
2698 { 2711 {
2699 "defaultMessage": "!!!Check for updates", 2712 "defaultMessage": "!!!Check for updates",
2700 "end": { 2713 "end": {
2701 "column": 3, 2714 "column": 3,
2702 "line": 101 2715 "line": 105
2703 }, 2716 },
2704 "file": "src/components/settings/settings/EditSettingsForm.js", 2717 "file": "src/components/settings/settings/EditSettingsForm.js",
2705 "id": "settings.app.buttonSearchForUpdate", 2718 "id": "settings.app.buttonSearchForUpdate",
2706 "start": { 2719 "start": {
2707 "column": 25, 2720 "column": 25,
2708 "line": 98 2721 "line": 102
2709 } 2722 }
2710 }, 2723 },
2711 { 2724 {
2712 "defaultMessage": "!!!Restart & install update", 2725 "defaultMessage": "!!!Restart & install update",
2713 "end": { 2726 "end": {
2714 "column": 3, 2727 "column": 3,
2715 "line": 105 2728 "line": 109
2716 }, 2729 },
2717 "file": "src/components/settings/settings/EditSettingsForm.js", 2730 "file": "src/components/settings/settings/EditSettingsForm.js",
2718 "id": "settings.app.buttonInstallUpdate", 2731 "id": "settings.app.buttonInstallUpdate",
2719 "start": { 2732 "start": {
2720 "column": 23, 2733 "column": 23,
2721 "line": 102 2734 "line": 106
2722 } 2735 }
2723 }, 2736 },
2724 { 2737 {
2725 "defaultMessage": "!!!Is searching for update", 2738 "defaultMessage": "!!!Is searching for update",
2726 "end": { 2739 "end": {
2727 "column": 3, 2740 "column": 3,
2728 "line": 109 2741 "line": 113
2729 }, 2742 },
2730 "file": "src/components/settings/settings/EditSettingsForm.js", 2743 "file": "src/components/settings/settings/EditSettingsForm.js",
2731 "id": "settings.app.updateStatusSearching", 2744 "id": "settings.app.updateStatusSearching",
2732 "start": { 2745 "start": {
2733 "column": 25, 2746 "column": 25,
2734 "line": 106 2747 "line": 110
2735 } 2748 }
2736 }, 2749 },
2737 { 2750 {
2738 "defaultMessage": "!!!Update available, downloading...", 2751 "defaultMessage": "!!!Update available, downloading...",
2739 "end": { 2752 "end": {
2740 "column": 3, 2753 "column": 3,
2741 "line": 113 2754 "line": 117
2742 }, 2755 },
2743 "file": "src/components/settings/settings/EditSettingsForm.js", 2756 "file": "src/components/settings/settings/EditSettingsForm.js",
2744 "id": "settings.app.updateStatusAvailable", 2757 "id": "settings.app.updateStatusAvailable",
2745 "start": { 2758 "start": {
2746 "column": 25, 2759 "column": 25,
2747 "line": 110 2760 "line": 114
2748 } 2761 }
2749 }, 2762 },
2750 { 2763 {
2751 "defaultMessage": "!!!You are using the latest version of Ferdi", 2764 "defaultMessage": "!!!You are using the latest version of Ferdi",
2752 "end": { 2765 "end": {
2753 "column": 3, 2766 "column": 3,
2754 "line": 117 2767 "line": 121
2755 }, 2768 },
2756 "file": "src/components/settings/settings/EditSettingsForm.js", 2769 "file": "src/components/settings/settings/EditSettingsForm.js",
2757 "id": "settings.app.updateStatusUpToDate", 2770 "id": "settings.app.updateStatusUpToDate",
2758 "start": { 2771 "start": {
2759 "column": 24, 2772 "column": 24,
2760 "line": 114 2773 "line": 118
2761 } 2774 }
2762 }, 2775 },
2763 { 2776 {
2764 "defaultMessage": "!!!Current version:", 2777 "defaultMessage": "!!!Current version:",
2765 "end": { 2778 "end": {
2766 "column": 3, 2779 "column": 3,
2767 "line": 121 2780 "line": 125
2768 }, 2781 },
2769 "file": "src/components/settings/settings/EditSettingsForm.js", 2782 "file": "src/components/settings/settings/EditSettingsForm.js",
2770 "id": "settings.app.currentVersion", 2783 "id": "settings.app.currentVersion",
2771 "start": { 2784 "start": {
2772 "column": 18, 2785 "column": 18,
2773 "line": 118 2786 "line": 122
2774 } 2787 }
2775 }, 2788 },
2776 { 2789 {
2777 "defaultMessage": "!!!Changes require restart", 2790 "defaultMessage": "!!!Changes require restart",
2778 "end": { 2791 "end": {
2779 "column": 3, 2792 "column": 3,
2780 "line": 125 2793 "line": 129
2781 }, 2794 },
2782 "file": "src/components/settings/settings/EditSettingsForm.js", 2795 "file": "src/components/settings/settings/EditSettingsForm.js",
2783 "id": "settings.app.restartRequired", 2796 "id": "settings.app.restartRequired",
2784 "start": { 2797 "start": {
2785 "column": 29, 2798 "column": 29,
2786 "line": 122 2799 "line": 126
2787 } 2800 }
2788 }, 2801 },
2789 { 2802 {
2790 "defaultMessage": "!!!Official translations are English & German. All other languages are community based translations.", 2803 "defaultMessage": "!!!Official translations are English & German. All other languages are community based translations.",
2791 "end": { 2804 "end": {
2792 "column": 3, 2805 "column": 3,
2793 "line": 129 2806 "line": 133
2794 }, 2807 },
2795 "file": "src/components/settings/settings/EditSettingsForm.js", 2808 "file": "src/components/settings/settings/EditSettingsForm.js",
2796 "id": "settings.app.languageDisclaimer", 2809 "id": "settings.app.languageDisclaimer",
2797 "start": { 2810 "start": {
2798 "column": 22, 2811 "column": 22,
2799 "line": 126 2812 "line": 130
2800 } 2813 }
2801 } 2814 }
2802 ], 2815 ],
@@ -3850,224 +3863,237 @@
3850 } 3863 }
3851 }, 3864 },
3852 { 3865 {
3853 "defaultMessage": "!!!Server", 3866 "defaultMessage": "!!!Hibernation strategy",
3854 "end": { 3867 "end": {
3855 "column": 3, 3868 "column": 3,
3856 "line": 59 3869 "line": 59
3857 }, 3870 },
3858 "file": "src/containers/settings/EditSettingsScreen.js", 3871 "file": "src/containers/settings/EditSettingsScreen.js",
3872 "id": "settings.app.form.hibernationStrategy",
3873 "start": {
3874 "column": 23,
3875 "line": 56
3876 }
3877 },
3878 {
3879 "defaultMessage": "!!!Server",
3880 "end": {
3881 "column": 3,
3882 "line": 63
3883 },
3884 "file": "src/containers/settings/EditSettingsScreen.js",
3859 "id": "settings.app.form.server", 3885 "id": "settings.app.form.server",
3860 "start": { 3886 "start": {
3861 "column": 10, 3887 "column": 10,
3862 "line": 56 3888 "line": 60
3863 } 3889 }
3864 }, 3890 },
3865 { 3891 {
3866 "defaultMessage": "!!!Todo Server", 3892 "defaultMessage": "!!!Todo Server",
3867 "end": { 3893 "end": {
3868 "column": 3, 3894 "column": 3,
3869 "line": 63 3895 "line": 67
3870 }, 3896 },
3871 "file": "src/containers/settings/EditSettingsScreen.js", 3897 "file": "src/containers/settings/EditSettingsScreen.js",
3872 "id": "settings.app.form.todoServer", 3898 "id": "settings.app.form.todoServer",
3873 "start": { 3899 "start": {
3874 "column": 14, 3900 "column": 14,
3875 "line": 60 3901 "line": 64
3876 } 3902 }
3877 }, 3903 },
3878 { 3904 {
3879 "defaultMessage": "!!!Enable Ferdi password lock", 3905 "defaultMessage": "!!!Enable Ferdi password lock",
3880 "end": { 3906 "end": {
3881 "column": 3, 3907 "column": 3,
3882 "line": 67 3908 "line": 71
3883 }, 3909 },
3884 "file": "src/containers/settings/EditSettingsScreen.js", 3910 "file": "src/containers/settings/EditSettingsScreen.js",
3885 "id": "settings.app.form.enableLock", 3911 "id": "settings.app.form.enableLock",
3886 "start": { 3912 "start": {
3887 "column": 14, 3913 "column": 14,
3888 "line": 64 3914 "line": 68
3889 } 3915 }
3890 }, 3916 },
3891 { 3917 {
3892 "defaultMessage": "!!!Ferdi Lock password", 3918 "defaultMessage": "!!!Ferdi Lock password",
3893 "end": { 3919 "end": {
3894 "column": 3, 3920 "column": 3,
3895 "line": 71 3921 "line": 75
3896 }, 3922 },
3897 "file": "src/containers/settings/EditSettingsScreen.js", 3923 "file": "src/containers/settings/EditSettingsScreen.js",
3898 "id": "settings.app.form.lockPassword", 3924 "id": "settings.app.form.lockPassword",
3899 "start": { 3925 "start": {
3900 "column": 16, 3926 "column": 16,
3901 "line": 68 3927 "line": 72
3902 } 3928 }
3903 }, 3929 },
3904 { 3930 {
3905 "defaultMessage": "!!!Enable scheduled Do-not-Disturb", 3931 "defaultMessage": "!!!Enable scheduled Do-not-Disturb",
3906 "end": { 3932 "end": {
3907 "column": 3, 3933 "column": 3,
3908 "line": 75 3934 "line": 79
3909 }, 3935 },
3910 "file": "src/containers/settings/EditSettingsScreen.js", 3936 "file": "src/containers/settings/EditSettingsScreen.js",
3911 "id": "settings.app.form.scheduledDNDEnabled", 3937 "id": "settings.app.form.scheduledDNDEnabled",
3912 "start": { 3938 "start": {
3913 "column": 23, 3939 "column": 23,
3914 "line": 72 3940 "line": 76
3915 } 3941 }
3916 }, 3942 },
3917 { 3943 {
3918 "defaultMessage": "!!!From", 3944 "defaultMessage": "!!!From",
3919 "end": { 3945 "end": {
3920 "column": 3, 3946 "column": 3,
3921 "line": 79 3947 "line": 83
3922 }, 3948 },
3923 "file": "src/containers/settings/EditSettingsScreen.js", 3949 "file": "src/containers/settings/EditSettingsScreen.js",
3924 "id": "settings.app.form.scheduledDNDStart", 3950 "id": "settings.app.form.scheduledDNDStart",
3925 "start": { 3951 "start": {
3926 "column": 21, 3952 "column": 21,
3927 "line": 76 3953 "line": 80
3928 } 3954 }
3929 }, 3955 },
3930 { 3956 {
3931 "defaultMessage": "!!!To", 3957 "defaultMessage": "!!!To",
3932 "end": { 3958 "end": {
3933 "column": 3, 3959 "column": 3,
3934 "line": 83 3960 "line": 87
3935 }, 3961 },
3936 "file": "src/containers/settings/EditSettingsScreen.js", 3962 "file": "src/containers/settings/EditSettingsScreen.js",
3937 "id": "settings.app.form.scheduledDNDEnd", 3963 "id": "settings.app.form.scheduledDNDEnd",
3938 "start": { 3964 "start": {
3939 "column": 19, 3965 "column": 19,
3940 "line": 80 3966 "line": 84
3941 } 3967 }
3942 }, 3968 },
3943 { 3969 {
3944 "defaultMessage": "!!!Language", 3970 "defaultMessage": "!!!Language",
3945 "end": { 3971 "end": {
3946 "column": 3, 3972 "column": 3,
3947 "line": 87 3973 "line": 91
3948 }, 3974 },
3949 "file": "src/containers/settings/EditSettingsScreen.js", 3975 "file": "src/containers/settings/EditSettingsScreen.js",
3950 "id": "settings.app.form.language", 3976 "id": "settings.app.form.language",
3951 "start": { 3977 "start": {
3952 "column": 12, 3978 "column": 12,
3953 "line": 84 3979 "line": 88
3954 } 3980 }
3955 }, 3981 },
3956 { 3982 {
3957 "defaultMessage": "!!!Dark Mode", 3983 "defaultMessage": "!!!Dark Mode",
3958 "end": { 3984 "end": {
3959 "column": 3, 3985 "column": 3,
3960 "line": 91 3986 "line": 95
3961 }, 3987 },
3962 "file": "src/containers/settings/EditSettingsScreen.js", 3988 "file": "src/containers/settings/EditSettingsScreen.js",
3963 "id": "settings.app.form.darkMode", 3989 "id": "settings.app.form.darkMode",
3964 "start": { 3990 "start": {
3965 "column": 12, 3991 "column": 12,
3966 "line": 88 3992 "line": 92
3967 } 3993 }
3968 }, 3994 },
3969 { 3995 {
3970 "defaultMessage": "!!!Display disabled services tabs", 3996 "defaultMessage": "!!!Display disabled services tabs",
3971 "end": { 3997 "end": {
3972 "column": 3, 3998 "column": 3,
3973 "line": 95 3999 "line": 99
3974 }, 4000 },
3975 "file": "src/containers/settings/EditSettingsScreen.js", 4001 "file": "src/containers/settings/EditSettingsScreen.js",
3976 "id": "settings.app.form.showDisabledServices", 4002 "id": "settings.app.form.showDisabledServices",
3977 "start": { 4003 "start": {
3978 "column": 24, 4004 "column": 24,
3979 "line": 92 4005 "line": 96
3980 } 4006 }
3981 }, 4007 },
3982 { 4008 {
3983 "defaultMessage": "!!!Show unread message badge when notifications are disabled", 4009 "defaultMessage": "!!!Show unread message badge when notifications are disabled",
3984 "end": { 4010 "end": {
3985 "column": 3, 4011 "column": 3,
3986 "line": 99 4012 "line": 103
3987 }, 4013 },
3988 "file": "src/containers/settings/EditSettingsScreen.js", 4014 "file": "src/containers/settings/EditSettingsScreen.js",
3989 "id": "settings.app.form.showMessagesBadgesWhenMuted", 4015 "id": "settings.app.form.showMessagesBadgesWhenMuted",
3990 "start": { 4016 "start": {
3991 "column": 29, 4017 "column": 29,
3992 "line": 96 4018 "line": 100
3993 } 4019 }
3994 }, 4020 },
3995 { 4021 {
3996 "defaultMessage": "!!!Enable spell checking", 4022 "defaultMessage": "!!!Enable spell checking",
3997 "end": { 4023 "end": {
3998 "column": 3, 4024 "column": 3,
3999 "line": 103 4025 "line": 107
4000 }, 4026 },
4001 "file": "src/containers/settings/EditSettingsScreen.js", 4027 "file": "src/containers/settings/EditSettingsScreen.js",
4002 "id": "settings.app.form.enableSpellchecking", 4028 "id": "settings.app.form.enableSpellchecking",
4003 "start": { 4029 "start": {
4004 "column": 23, 4030 "column": 23,
4005 "line": 100 4031 "line": 104
4006 } 4032 }
4007 }, 4033 },
4008 { 4034 {
4009 "defaultMessage": "!!!Enable GPU Acceleration", 4035 "defaultMessage": "!!!Enable GPU Acceleration",
4010 "end": { 4036 "end": {
4011 "column": 3, 4037 "column": 3,
4012 "line": 107 4038 "line": 111
4013 }, 4039 },
4014 "file": "src/containers/settings/EditSettingsScreen.js", 4040 "file": "src/containers/settings/EditSettingsScreen.js",
4015 "id": "settings.app.form.enableGPUAcceleration", 4041 "id": "settings.app.form.enableGPUAcceleration",
4016 "start": { 4042 "start": {
4017 "column": 25, 4043 "column": 25,
4018 "line": 104 4044 "line": 108
4019 } 4045 }
4020 }, 4046 },
4021 { 4047 {
4022 "defaultMessage": "!!!Include beta versions", 4048 "defaultMessage": "!!!Include beta versions",
4023 "end": { 4049 "end": {
4024 "column": 3, 4050 "column": 3,
4025 "line": 111 4051 "line": 115
4026 }, 4052 },
4027 "file": "src/containers/settings/EditSettingsScreen.js", 4053 "file": "src/containers/settings/EditSettingsScreen.js",
4028 "id": "settings.app.form.beta", 4054 "id": "settings.app.form.beta",
4029 "start": { 4055 "start": {
4030 "column": 8, 4056 "column": 8,
4031 "line": 108 4057 "line": 112
4032 } 4058 }
4033 }, 4059 },
4034 { 4060 {
4035 "defaultMessage": "!!!Disable updates", 4061 "defaultMessage": "!!!Disable updates",
4036 "end": { 4062 "end": {
4037 "column": 3, 4063 "column": 3,
4038 "line": 115 4064 "line": 119
4039 }, 4065 },
4040 "file": "src/containers/settings/EditSettingsScreen.js", 4066 "file": "src/containers/settings/EditSettingsScreen.js",
4041 "id": "settings.app.form.noUpdates", 4067 "id": "settings.app.form.noUpdates",
4042 "start": { 4068 "start": {
4043 "column": 13, 4069 "column": 13,
4044 "line": 112 4070 "line": 116
4045 } 4071 }
4046 }, 4072 },
4047 { 4073 {
4048 "defaultMessage": "!!!Enable Franz Todos", 4074 "defaultMessage": "!!!Enable Franz Todos",
4049 "end": { 4075 "end": {
4050 "column": 3, 4076 "column": 3,
4051 "line": 119 4077 "line": 123
4052 }, 4078 },
4053 "file": "src/containers/settings/EditSettingsScreen.js", 4079 "file": "src/containers/settings/EditSettingsScreen.js",
4054 "id": "settings.app.form.enableTodos", 4080 "id": "settings.app.form.enableTodos",
4055 "start": { 4081 "start": {
4056 "column": 15, 4082 "column": 15,
4057 "line": 116 4083 "line": 120
4058 } 4084 }
4059 }, 4085 },
4060 { 4086 {
4061 "defaultMessage": "!!!Keep all workspaces loaded", 4087 "defaultMessage": "!!!Keep all workspaces loaded",
4062 "end": { 4088 "end": {
4063 "column": 3, 4089 "column": 3,
4064 "line": 123 4090 "line": 127
4065 }, 4091 },
4066 "file": "src/containers/settings/EditSettingsScreen.js", 4092 "file": "src/containers/settings/EditSettingsScreen.js",
4067 "id": "settings.app.form.keepAllWorkspacesLoaded", 4093 "id": "settings.app.form.keepAllWorkspacesLoaded",
4068 "start": { 4094 "start": {
4069 "column": 27, 4095 "column": 27,
4070 "line": 120 4096 "line": 124
4071 } 4097 }
4072 } 4098 }
4073 ], 4099 ],
diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json
index c8cf09366..0cd8abf70 100644
--- a/src/i18n/locales/en-US.json
+++ b/src/i18n/locales/en-US.json
@@ -227,6 +227,7 @@
227 "settings.app.form.enableSystemTray": "Show Ferdi in system tray", 227 "settings.app.form.enableSystemTray": "Show Ferdi in system tray",
228 "settings.app.form.enableTodos": "Enable Ferdi Todos", 228 "settings.app.form.enableTodos": "Enable Ferdi Todos",
229 "settings.app.form.hibernate": "Enable service hibernation", 229 "settings.app.form.hibernate": "Enable service hibernation",
230 "settings.app.form.hibernationStrategy": "Hibernation strategy",
230 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded", 231 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
231 "settings.app.form.language": "Language", 232 "settings.app.form.language": "Language",
232 "settings.app.form.lockPassword": "Ferdi Lock password", 233 "settings.app.form.lockPassword": "Ferdi Lock password",
@@ -247,6 +248,7 @@
247 "settings.app.headlineGeneral": "General", 248 "settings.app.headlineGeneral": "General",
248 "settings.app.headlineLanguage": "Language", 249 "settings.app.headlineLanguage": "Language",
249 "settings.app.headlineUpdates": "Updates", 250 "settings.app.headlineUpdates": "Updates",
251 "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.",
250 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.", 252 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
251 "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.", 253 "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.",
252 "settings.app.lockedPassword": "Ferdi Lock Password", 254 "settings.app.lockedPassword": "Ferdi Lock Password",
diff --git a/src/i18n/locales/zh-HANT.json b/src/i18n/locales/zh-HANT.json
index ad64bec14..7d2c353ea 100644
--- a/src/i18n/locales/zh-HANT.json
+++ b/src/i18n/locales/zh-HANT.json
@@ -22,30 +22,30 @@
22 "feature.todos.premium.info": "Ferdi Todos are available to premium users now!", 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.", 23 "feature.todos.premium.rollout": "Everyone else will have to wait a little longer.",
24 "feature.todos.premium.upgrade": "Upgrade Account", 24 "feature.todos.premium.upgrade": "Upgrade Account",
25 "global.api.unhealthy": "Can't connect to Ferdi online services", 25 "global.api.unhealthy": "無法連接到Ferdi網路服務",
26 "global.franzProRequired": "Ferdi Professional Required", 26 "global.franzProRequired": "Ferdi Professional Required",
27 "global.notConnectedToTheInternet": "You are not connected to the internet.", 27 "global.notConnectedToTheInternet": "您未連上網際網路",
28 "global.spellchecker.useDefault": "Use System Default ({default})", 28 "global.spellchecker.useDefault": "Use System Default ({default})",
29 "global.spellchecking.autodetect": "Detect language automatically", 29 "global.spellchecking.autodetect": "Detect language automatically",
30 "global.spellchecking.autodetect.short": "Automatic", 30 "global.spellchecking.autodetect.short": "Automatic",
31 "global.spellchecking.language": "Spell checking language", 31 "global.spellchecking.language": "Spell checking language",
32 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional", 32 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
33 "import.headline": "Import your Ferdi 4 services", 33 "import.headline": "匯入您的 Ferdi 4 服務",
34 "import.notSupportedHeadline": "Services not yet supported in Ferdi 5", 34 "import.notSupportedHeadline": "此服務不被 Ferdi 5 支持",
35 "import.skip.label": "I want to add services manually", 35 "import.skip.label": "我想手動匯入",
36 "import.submit.label": "Import services", 36 "import.submit.label": "匯入服務",
37 "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.", 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": "What is new?", 38 "infobar.buttonChangelog": "What is new?",
39 "infobar.buttonInstallUpdate": "Restart & install update", 39 "infobar.buttonInstallUpdate": "重新啟動並且更新",
40 "infobar.buttonReloadServices": "Reload services", 40 "infobar.buttonReloadServices": "重新載入",
41 "infobar.requiredRequestsFailed": "Could not load services and user information", 41 "infobar.requiredRequestsFailed": "無法載入服務與帳戶資訊",
42 "infobar.servicesUpdated": "Your services have been updated.", 42 "infobar.servicesUpdated": "您的服務已更新",
43 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!", 43 "infobar.trialActivated": "Your trial was successfully activated. Happy messaging!",
44 "infobar.updateAvailable": "A new update for Ferdi is available.", 44 "infobar.updateAvailable": "有新的更新可安裝",
45 "invite.email.label": "Email address", 45 "invite.email.label": "電子郵件信箱",
46 "invite.headline.friends": "Invite 3 of your friends or colleagues", 46 "invite.headline.friends": "邀請三個人",
47 "invite.name.label": "Name", 47 "invite.name.label": "名子",
48 "invite.skip.label": "I want to do this later", 48 "invite.skip.label": "我想晚點進行",
49 "invite.submit.label": "Send invites", 49 "invite.submit.label": "Send invites",
50 "invite.successInfo": "Invitations sent successfully", 50 "invite.successInfo": "Invitations sent successfully",
51 "locked.headline": "Locked", 51 "locked.headline": "Locked",
@@ -55,15 +55,15 @@
55 "locked.submit.label": "Unlock", 55 "locked.submit.label": "Unlock",
56 "login.customServerQuestion": "Using a custom Ferdi server?", 56 "login.customServerQuestion": "Using a custom Ferdi server?",
57 "login.customServerSuggestion": "Try importing your Franz account", 57 "login.customServerSuggestion": "Try importing your Franz account",
58 "login.email.label": "Email address", 58 "login.email.label": "電子郵件信箱",
59 "login.headline": "Sign in", 59 "login.headline": "登入",
60 "login.invalidCredentials": "Email or password not valid", 60 "login.invalidCredentials": "電子郵件帳戶或密碼有誤",
61 "login.link.password": "Reset password", 61 "login.link.password": "密碼重設",
62 "login.link.signup": "Create a free account", 62 "login.link.signup": "建立一個免費帳戶",
63 "login.password.label": "Password", 63 "login.password.label": "Password",
64 "login.serverLogout": "Your session expired, please login again.", 64 "login.serverLogout": "登入狀態過期,請重新登入",
65 "login.submit.label": "Sign in", 65 "login.submit.label": "登入",
66 "login.tokenExpired": "Your session expired, please login again.", 66 "login.tokenExpired": "登入狀態過期,請重新登入",
67 "menu.Todoss.closeTodosDrawer": "Close Todos drawer", 67 "menu.Todoss.closeTodosDrawer": "Close Todos drawer",
68 "menu.Todoss.openTodosDrawer": "Open Todos drawer", 68 "menu.Todoss.openTodosDrawer": "Open Todos drawer",
69 "menu.app.about": "About Ferdi", 69 "menu.app.about": "About Ferdi",
@@ -129,13 +129,13 @@
129 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer", 129 "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer",
130 "menu.workspaces.defaultWorkspace": "All services", 130 "menu.workspaces.defaultWorkspace": "All services",
131 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer", 131 "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer",
132 "password.email.label": "Email address", 132 "password.email.label": "電子郵件信箱",
133 "password.headline": "Reset password", 133 "password.headline": "密碼重設",
134 "password.link.login": "Sign in to your account", 134 "password.link.login": "登入您的帳戶",
135 "password.link.signup": "Create a free account", 135 "password.link.signup": "建立一個免費帳戶",
136 "password.noUser": "No user with that email address was found", 136 "password.noUser": "此電子郵件帳戶不存在",
137 "password.submit.label": "Submit", 137 "password.submit.label": "送出",
138 "password.successInfo": "Please check your email", 138 "password.successInfo": "請重新確認您的電子郵件信箱",
139 "premiumFeature.button.upgradeAccount": "Upgrade account", 139 "premiumFeature.button.upgradeAccount": "Upgrade account",
140 "pricing.features.adFree": "Forever ad-free", 140 "pricing.features.adFree": "Forever ad-free",
141 "pricing.features.appDelays": "No Waiting Screens", 141 "pricing.features.appDelays": "No Waiting Screens",
@@ -181,58 +181,59 @@
181 "service.restrictedHandler.serviceLimit.headline": "You have reached your service limit.", 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.", 182 "service.restrictedHandler.serviceLimit.text": "Please upgrade your account to use more than {count} services.",
183 "service.webviewLoader.loading": "Loading", 183 "service.webviewLoader.loading": "Loading",
184 "services.getStarted": "Get started", 184 "services.getStarted": "開始使用",
185 "services.login": "Please login to use Ferdi.", 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.", 186 "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner.",
187 "services.welcome": "Welcome to Ferdi", 187 "services.welcome": "歡迎使用 Ferdi",
188 "settings.account.account.editButton": "Edit account", 188 "settings.account.account.editButton": "更改帳戶資訊",
189 "settings.account.accountType.basic": "Basic Account", 189 "settings.account.accountType.basic": "基本帳戶",
190 "settings.account.accountType.premium": "Premium Supporter Account", 190 "settings.account.accountType.premium": "Premium Supporter Account",
191 "settings.account.buttonSave": "Update profile", 191 "settings.account.buttonSave": "更新帳戶資訊",
192 "settings.account.deleteAccount": "Delete account", 192 "settings.account.deleteAccount": "Delete account",
193 "settings.account.deleteEmailSent": "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!", 193 "settings.account.deleteEmailSent": "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!",
194 "settings.account.deleteInfo": "If you don't need your Ferdi account any longer, you can delete your account and all related data here.", 194 "settings.account.deleteInfo": "If you don't need your Ferdi account any longer, you can delete your account and all related data here.",
195 "settings.account.headline": "Account", 195 "settings.account.headline": "帳戶",
196 "settings.account.headlineAccount": "Account information", 196 "settings.account.headlineAccount": "帳戶資訊",
197 "settings.account.headlineDangerZone": "Danger Zone", 197 "settings.account.headlineDangerZone": "Danger Zone",
198 "settings.account.headlineInvoices": "Invoices", 198 "settings.account.headlineInvoices": "Invoices",
199 "settings.account.headlinePassword": "Change password", 199 "settings.account.headlinePassword": "更改密碼",
200 "settings.account.headlineProfile": "Update profile", 200 "settings.account.headlineProfile": "更新帳戶資訊",
201 "settings.account.headlineSubscription": "Your subscription", 201 "settings.account.headlineSubscription": "您的訂閱",
202 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial", 202 "settings.account.headlineTrialUpgrade": "Get the free 14 day Ferdi Professional Trial",
203 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience", 203 "settings.account.headlineUpgradeAccount": "Upgrade your account & get the full Ferdi experience",
204 "settings.account.invoiceDownload": "Download", 204 "settings.account.invoiceDownload": "下載",
205 "settings.account.manageSubscription.label": "Manage your subscription", 205 "settings.account.manageSubscription.label": "管理訂閱",
206 "settings.account.successInfo": "Your changes have been saved", 206 "settings.account.successInfo": "您的更改已經儲存",
207 "settings.account.trial": "Free Trial", 207 "settings.account.trial": "Free Trial",
208 "settings.account.trialEndsIn": "Your free trial ends in {duration}.", 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.", 209 "settings.account.trialUpdateBillingInfo": "Please update your billing info to continue using {license} after your trial period.",
210 "settings.account.tryReloadServices": "Try again", 210 "settings.account.tryReloadServices": "Try again",
211 "settings.account.tryReloadUserInfoRequest": "Try again", 211 "settings.account.tryReloadUserInfoRequest": "Try again",
212 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional", 212 "settings.account.upgradeToPro.label": "Upgrade to Ferdi Professional",
213 "settings.account.userInfoRequestFailed": "Could not load user information", 213 "settings.account.userInfoRequestFailed": "無法載入帳戶資訊",
214 "settings.account.yourLicense": "Your Ferdi License", 214 "settings.account.yourLicense": "Your Ferdi License",
215 "settings.app.buttonClearAllCache": "Clear cache", 215 "settings.app.buttonClearAllCache": "Clear cache",
216 "settings.app.buttonInstallUpdate": "Restart & install update", 216 "settings.app.buttonInstallUpdate": "重新啟動並且更新",
217 "settings.app.buttonSearchForUpdate": "Check for updates", 217 "settings.app.buttonSearchForUpdate": "Check for updates",
218 "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.", 218 "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.",
219 "settings.app.currentVersion": "Current version:", 219 "settings.app.currentVersion": "當前版本:",
220 "settings.app.form.autoLaunchInBackground": "Open in background", 220 "settings.app.form.autoLaunchInBackground": "背景啟動",
221 "settings.app.form.autoLaunchOnStart": "Launch Ferdi on start", 221 "settings.app.form.autoLaunchOnStart": "開機時啟動",
222 "settings.app.form.beta": "Include beta versions", 222 "settings.app.form.beta": "包含開發中版本",
223 "settings.app.form.darkMode": "Join the Dark Side", 223 "settings.app.form.darkMode": "Join the Dark Side",
224 "settings.app.form.enableGPUAcceleration": "Enable GPU Acceleration", 224 "settings.app.form.enableGPUAcceleration": "Enable GPU Acceleration",
225 "settings.app.form.enableLock": "Enable Ferdi password lock", 225 "settings.app.form.enableLock": "Enable Ferdi password lock",
226 "settings.app.form.enableSpellchecking": "Enable spell checking", 226 "settings.app.form.enableSpellchecking": "Enable spell checking",
227 "settings.app.form.enableSystemTray": "Show Ferdi in system tray", 227 "settings.app.form.enableSystemTray": "在系統匣上顯示",
228 "settings.app.form.enableTodos": "Enable Ferdi Todos", 228 "settings.app.form.enableTodos": "Enable Ferdi Todos",
229 "settings.app.form.hibernate": "Enable service hibernation", 229 "settings.app.form.hibernate": "Enable service hibernation",
230 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded", 230 "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded",
231 "settings.app.form.language": "Language", 231 "settings.app.form.language": "語言",
232 "settings.app.form.lockPassword": "Ferdi Lock password", 232 "settings.app.form.lockPassword": "Ferdi Lock password",
233 "settings.app.form.minimizeToSystemTray": "Minimize Ferdi to system tray", 233 "settings.app.form.minimizeToSystemTray": "最小化至系統匣",
234 "settings.app.form.noUpdates": "Disable updates",
234 "settings.app.form.privateNotifications": "Don't show message content in notifications", 235 "settings.app.form.privateNotifications": "Don't show message content in notifications",
235 "settings.app.form.runInBackground": "Keep Ferdi in background when closing the window", 236 "settings.app.form.runInBackground": "關閉時保持在背景運作",
236 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb", 237 "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb",
237 "settings.app.form.scheduledDNDEnd": "To", 238 "settings.app.form.scheduledDNDEnd": "To",
238 "settings.app.form.scheduledDNDStart": "From", 239 "settings.app.form.scheduledDNDStart": "From",
@@ -243,9 +244,9 @@
243 "settings.app.headline": "Settings", 244 "settings.app.headline": "Settings",
244 "settings.app.headlineAdvanced": "Advanced", 245 "settings.app.headlineAdvanced": "Advanced",
245 "settings.app.headlineAppearance": "Appearance", 246 "settings.app.headlineAppearance": "Appearance",
246 "settings.app.headlineGeneral": "General", 247 "settings.app.headlineGeneral": "一般",
247 "settings.app.headlineLanguage": "Language", 248 "settings.app.headlineLanguage": "語言",
248 "settings.app.headlineUpdates": "Updates", 249 "settings.app.headlineUpdates": "更新",
249 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.", 250 "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.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.lockedPassword": "Ferdi Lock Password",
@@ -258,17 +259,17 @@
258 "settings.app.subheadlineCache": "Cache", 259 "settings.app.subheadlineCache": "Cache",
259 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)", 260 "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature. (default: https://app.franztodos.com)",
260 "settings.app.translationHelp": "Help us to translate Ferdi into your language.", 261 "settings.app.translationHelp": "Help us to translate Ferdi into your language.",
261 "settings.app.updateStatusAvailable": "Update available, downloading...", 262 "settings.app.updateStatusAvailable": "有可用更新,下載中...",
262 "settings.app.updateStatusSearching": "Is searching for update", 263 "settings.app.updateStatusSearching": "檢查更新中...",
263 "settings.app.updateStatusUpToDate": "You are using the latest version of Ferdi", 264 "settings.app.updateStatusUpToDate": "已經是最新版本了",
264 "settings.invite.headline": "Invite Friends", 265 "settings.invite.headline": "Invite Friends",
265 "settings.navigation.account": "Account", 266 "settings.navigation.account": "帳戶",
266 "settings.navigation.availableServices": "Available services", 267 "settings.navigation.availableServices": "可用服務",
267 "settings.navigation.logout": "Logout", 268 "settings.navigation.logout": "登出",
268 "settings.navigation.settings": "Settings", 269 "settings.navigation.settings": "Settings",
269 "settings.navigation.supportFerdi": "Support Ferdi", 270 "settings.navigation.supportFerdi": "Support Ferdi",
270 "settings.navigation.team": "Manage Team", 271 "settings.navigation.team": "Manage Team",
271 "settings.navigation.yourServices": "Your services", 272 "settings.navigation.yourServices": "您的服務",
272 "settings.navigation.yourWorkspaces": "Your workspaces", 273 "settings.navigation.yourWorkspaces": "Your workspaces",
273 "settings.recipes.all": "All services", 274 "settings.recipes.all": "All services",
274 "settings.recipes.custom": "Custom Services", 275 "settings.recipes.custom": "Custom Services",
@@ -278,38 +279,38 @@
278 "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:", 279 "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.openDevDocs": "Developer Documentation",
280 "settings.recipes.customService.openFolder": "Open folder", 281 "settings.recipes.customService.openFolder": "Open folder",
281 "settings.recipes.headline": "Available services", 282 "settings.recipes.headline": "可用服務",
282 "settings.recipes.missingService": "Missing a service?", 283 "settings.recipes.missingService": "Missing a service?",
283 "settings.recipes.mostPopular": "Most popular", 284 "settings.recipes.mostPopular": "熱門",
284 "settings.recipes.nothingFound": "Sorry, but no service matched your search term.", 285 "settings.recipes.nothingFound": "抱歉,找不到您所要的服務",
285 "settings.recipes.servicesSuccessfulAddedInfo": "Service successfully added", 286 "settings.recipes.servicesSuccessfulAddedInfo": "新增服務成功",
286 "settings.searchService": "Search service", 287 "settings.searchService": "Search service",
287 "settings.service.error.goBack": "Back to services", 288 "settings.service.error.goBack": "返回",
288 "settings.service.error.headline": "Error", 289 "settings.service.error.headline": "Error",
289 "settings.service.error.message": "Could not load service recipe.", 290 "settings.service.error.message": "無法載入服務元件",
290 "settings.service.form.addServiceHeadline": "Add {name}", 291 "settings.service.form.addServiceHeadline": "新增 {name}",
291 "settings.service.form.availableServices": "Available services", 292 "settings.service.form.availableServices": "可用服務",
292 "settings.service.form.customUrl": "Custom server", 293 "settings.service.form.customUrl": "Custom server",
293 "settings.service.form.customUrlPremiumInfo": "To add self hosted services, you need a Ferdi Premium Supporter Account.", 294 "settings.service.form.customUrlPremiumInfo": "To add self hosted services, you need a Ferdi Premium Supporter Account.",
294 "settings.service.form.customUrlUpgradeAccount": "Upgrade your account", 295 "settings.service.form.customUrlUpgradeAccount": "升級帳戶",
295 "settings.service.form.customUrlValidationError": "Could not validate custom {name} server.", 296 "settings.service.form.customUrlValidationError": "Could not validate custom {name} server.",
296 "settings.service.form.deleteButton": "Delete service", 297 "settings.service.form.deleteButton": "刪除",
297 "settings.service.form.editServiceHeadline": "Edit {name}", 298 "settings.service.form.editServiceHeadline": "Edit {name}",
298 "settings.service.form.enableAudio": "Enable audio", 299 "settings.service.form.enableAudio": "Enable audio",
299 "settings.service.form.enableBadge": "Show unread message badges", 300 "settings.service.form.enableBadge": "Show unread message badges",
300 "settings.service.form.enableDarkMode": "Enable Dark Mode", 301 "settings.service.form.enableDarkMode": "Enable Dark Mode",
301 "settings.service.form.enableNotification": "Enable notifications", 302 "settings.service.form.enableNotification": "啟用通知",
302 "settings.service.form.enableService": "Enable service", 303 "settings.service.form.enableService": "啟用服務",
303 "settings.service.form.headlineBadges": "Unread message badges", 304 "settings.service.form.headlineBadges": "Unread message badges",
304 "settings.service.form.headlineGeneral": "General", 305 "settings.service.form.headlineGeneral": "一般",
305 "settings.service.form.headlineNotifications": "Notifications", 306 "settings.service.form.headlineNotifications": "Notifications",
306 "settings.service.form.icon": "Custom icon", 307 "settings.service.form.icon": "Custom icon",
307 "settings.service.form.iconDelete": "Delete", 308 "settings.service.form.iconDelete": "Delete",
308 "settings.service.form.iconUpload": "Drop your image, or click here", 309 "settings.service.form.iconUpload": "Drop your image, or click here",
309 "settings.service.form.indirectMessageInfo": "You will be notified about all new messages in a channel, not just @username, @channel, @here, ...", 310 "settings.service.form.indirectMessageInfo": "除了 @username, @channel, @here 之外,當您參與的頻道有訊息時,就會通知",
310 "settings.service.form.indirectMessages": "Show message badge for all new messages", 311 "settings.service.form.indirectMessages": "針對全部訊息顯示通知",
311 "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted", 312 "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted",
312 "settings.service.form.name": "Name", 313 "settings.service.form.name": "名子",
313 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings", 314 "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy Settings",
314 "settings.service.form.proxy.host": "Proxy Host/IP", 315 "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.info": "Proxy settings will not synced with the Ferdi servers.",
@@ -318,21 +319,21 @@
318 "settings.service.form.proxy.port": "Port", 319 "settings.service.form.proxy.port": "Port",
319 "settings.service.form.proxy.restartInfo": "Please restart Ferdi after changing proxy Settings.", 320 "settings.service.form.proxy.restartInfo": "Please restart Ferdi after changing proxy Settings.",
320 "settings.service.form.proxy.user": "User (optional)", 321 "settings.service.form.proxy.user": "User (optional)",
321 "settings.service.form.saveButton": "Save service", 322 "settings.service.form.saveButton": "儲存",
322 "settings.service.form.tabHosted": "Hosted", 323 "settings.service.form.tabHosted": "Hosted",
323 "settings.service.form.tabOnPremise": "Self hosted ⭐️", 324 "settings.service.form.tabOnPremise": "Self hosted ⭐️",
324 "settings.service.form.team": "Team", 325 "settings.service.form.team": "Team",
325 "settings.service.form.useHostedService": "Use the hosted {name} service.", 326 "settings.service.form.useHostedService": "Use the hosted {name} service.",
326 "settings.service.form.yourServices": "Your services", 327 "settings.service.form.yourServices": "您的服務",
327 "settings.services.deletedInfo": "Service has been deleted", 328 "settings.services.deletedInfo": "服務已刪除",
328 "settings.services.discoverServices": "Discover services", 329 "settings.services.discoverServices": "服務列表",
329 "settings.services.headline": "Your services", 330 "settings.services.headline": "您的服務",
330 "settings.services.noServicesAdded": "You haven't added any services yet.", 331 "settings.services.noServicesAdded": "您還沒加入任何服務",
331 "settings.services.servicesRequestFailed": "Could not load your services", 332 "settings.services.servicesRequestFailed": "Could not load your services",
332 "settings.services.tooltip.isDisabled": "Service is disabled", 333 "settings.services.tooltip.isDisabled": "已停用服務",
333 "settings.services.tooltip.isMuted": "All sounds are muted", 334 "settings.services.tooltip.isMuted": "All sounds are muted",
334 "settings.services.tooltip.notificationsDisabled": "Notifications are disabled", 335 "settings.services.tooltip.notificationsDisabled": "已停用通知",
335 "settings.services.updatedInfo": "Your changes have been saved", 336 "settings.services.updatedInfo": "您的更改已經儲存",
336 "settings.supportFerdi.github": "Star on GitHub", 337 "settings.supportFerdi.github": "Star on GitHub",
337 "settings.supportFerdi.headline": "Support Ferdi", 338 "settings.supportFerdi.headline": "Support Ferdi",
338 "settings.supportFerdi.openCollective": "Support our Open Collective", 339 "settings.supportFerdi.openCollective": "Support our Open Collective",
@@ -344,29 +345,29 @@
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.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.manageAction": "Manage your Team on getferdi.com",
346 "settings.team.upgradeAction": "Upgrade your Account", 347 "settings.team.upgradeAction": "Upgrade your Account",
347 "settings.user.form.accountType.company": "Company", 348 "settings.user.form.accountType.company": "公司",
348 "settings.user.form.accountType.individual": "Individual", 349 "settings.user.form.accountType.individual": "個人",
349 "settings.user.form.accountType.label": "Account type", 350 "settings.user.form.accountType.label": "帳戶類型",
350 "settings.user.form.accountType.non-profit": "Non-Profit", 351 "settings.user.form.accountType.non-profit": "非營利",
351 "settings.user.form.currentPassword": "Current password", 352 "settings.user.form.currentPassword": "舊密碼",
352 "settings.user.form.email": "Email", 353 "settings.user.form.email": "電子郵件信箱",
353 "settings.user.form.firstname": "First Name", 354 "settings.user.form.firstname": "名子",
354 "settings.user.form.lastname": "Last Name", 355 "settings.user.form.lastname": "姓氏",
355 "settings.user.form.newPassword": "New password", 356 "settings.user.form.newPassword": "新密碼",
356 "settings.workspace.add.form.name": "Name", 357 "settings.workspace.add.form.name": "名子",
357 "settings.workspace.add.form.submitButton": "Create workspace", 358 "settings.workspace.add.form.submitButton": "Create workspace",
358 "settings.workspace.form.buttonDelete": "Delete workspace", 359 "settings.workspace.form.buttonDelete": "Delete workspace",
359 "settings.workspace.form.buttonSave": "Save workspace", 360 "settings.workspace.form.buttonSave": "Save workspace",
360 "settings.workspace.form.keepLoaded": "Keep this workspace loaded*", 361 "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.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.",
362 "settings.workspace.form.name": "Name", 363 "settings.workspace.form.name": "名子",
363 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace", 364 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace",
364 "settings.workspace.form.yourWorkspaces": "Your workspaces", 365 "settings.workspace.form.yourWorkspaces": "Your workspaces",
365 "settings.workspaces.deletedInfo": "Workspace has been deleted", 366 "settings.workspaces.deletedInfo": "Workspace has been deleted",
366 "settings.workspaces.headline": "Your workspaces", 367 "settings.workspaces.headline": "Your workspaces",
367 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.", 368 "settings.workspaces.noWorkspacesAdded": "You haven't added any workspaces yet.",
368 "settings.workspaces.tryReloadWorkspaces": "Try again", 369 "settings.workspaces.tryReloadWorkspaces": "Try again",
369 "settings.workspaces.updatedInfo": "Your changes have been saved", 370 "settings.workspaces.updatedInfo": "您的更改已經儲存",
370 "settings.workspaces.workspaceFeatureHeadline": "Less is More: Introducing Ferdi Workspaces", 371 "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.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 "settings.workspaces.workspacesRequestFailed": "Could not load your workspaces",
@@ -379,41 +380,41 @@
379 "sidebar.openWorkspaceDrawer": "Open workspace drawer", 380 "sidebar.openWorkspaceDrawer": "Open workspace drawer",
380 "sidebar.settings": "Settings", 381 "sidebar.settings": "Settings",
381 "sidebar.unmuteApp": "Enable notifications & audio", 382 "sidebar.unmuteApp": "Enable notifications & audio",
382 "signup.email.label": "Email address", 383 "signup.email.label": "電子郵件信箱",
383 "signup.emailDuplicate": "A user with that email address already exists", 384 "signup.emailDuplicate": "此電子郵件信箱已被註冊",
384 "signup.firstname.label": "First Name", 385 "signup.firstname.label": "名子",
385 "signup.headline": "Sign up", 386 "signup.headline": "註冊",
386 "signup.lastname.label": "Last Name", 387 "signup.lastname.label": "姓氏",
387 "signup.legal.info": "By creating a Ferdi account you accept the", 388 "signup.legal.info": "在建立帳戶同時,您同意:",
388 "signup.legal.privacy": "Privacy Statement", 389 "signup.legal.privacy": "Privacy Statement",
389 "signup.legal.terms": "Terms of service", 390 "signup.legal.terms": "服務條款",
390 "signup.link.login": "Already have an account, sign in?", 391 "signup.link.login": "您已有一個帳戶,請問是否要登入?",
391 "signup.password.label": "Password", 392 "signup.password.label": "Password",
392 "signup.submit.label": "Create account", 393 "signup.submit.label": "建立帳戶",
393 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial", 394 "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial",
394 "subscription.cta.allOptions": "See all options", 395 "subscription.cta.allOptions": "See all options",
395 "subscription.cta.choosePlan": "Choose your plan", 396 "subscription.cta.choosePlan": "Choose your plan",
396 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:", 397 "subscription.includedProFeatures": "The Ferdi Professional Plan includes:",
397 "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:", 398 "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 "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": "Cancel", 400 "subscriptionPopup.buttonCancel": "取消",
400 "subscriptionPopup.buttonDone": "Done", 401 "subscriptionPopup.buttonDone": "完成",
401 "tabs.item.deleteService": "Delete service", 402 "tabs.item.deleteService": "刪除",
402 "tabs.item.disableAudio": "Disable audio", 403 "tabs.item.disableAudio": "Disable audio",
403 "tabs.item.disableNotifications": "Disable notifications", 404 "tabs.item.disableNotifications": "停用通知",
404 "tabs.item.disableService": "Disable service", 405 "tabs.item.disableService": "停用服務",
405 "tabs.item.edit": "Edit", 406 "tabs.item.edit": "Edit",
406 "tabs.item.enableAudio": "Enable audio", 407 "tabs.item.enableAudio": "Enable audio",
407 "tabs.item.enableNotification": "Enable notifications", 408 "tabs.item.enableNotification": "啟用通知",
408 "tabs.item.enableService": "Enable service", 409 "tabs.item.enableService": "啟用服務",
409 "tabs.item.reload": "Reload", 410 "tabs.item.reload": "Reload",
410 "validation.email": "{field} is not valid", 411 "validation.email": "{field} is not valid",
411 "validation.minLength": "{field} should be at least {length} characters long", 412 "validation.minLength": "{field} should be at least {length} characters long",
412 "validation.oneRequired": "At least one is required", 413 "validation.oneRequired": "At least one is required",
413 "validation.required": "{field} is required", 414 "validation.required": "{field} is required",
414 "validation.url": "{field} is not a valid URL", 415 "validation.url": "{field} is not a valid URL",
415 "welcome.loginButton": "Login to your account", 416 "welcome.loginButton": "登入",
416 "welcome.signupButton": "Create a free account", 417 "welcome.signupButton": "建立一個免費帳戶",
417 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace", 418 "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace",
418 "workspaceDrawer.allServices": "All services", 419 "workspaceDrawer.allServices": "All services",
419 "workspaceDrawer.headline": "Workspaces", 420 "workspaceDrawer.headline": "Workspaces",
diff --git a/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json b/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json
index 07815de19..97ecf4b5d 100644
--- a/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json
+++ b/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json
@@ -26,15 +26,28 @@
26 } 26 }
27 }, 27 },
28 { 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 {
29 "id": "settings.app.serverInfo", 42 "id": "settings.app.serverInfo",
30 "defaultMessage": "!!!We advice you to logout after changing your server as your settings might not be saved otherwise.", 43 "defaultMessage": "!!!We advice you to logout after changing your server as your settings might not be saved otherwise.",
31 "file": "src/components/settings/settings/EditSettingsForm.js", 44 "file": "src/components/settings/settings/EditSettingsForm.js",
32 "start": { 45 "start": {
33 "line": 34, 46 "line": 38,
34 "column": 14 47 "column": 14
35 }, 48 },
36 "end": { 49 "end": {
37 "line": 37, 50 "line": 41,
38 "column": 3 51 "column": 3
39 } 52 }
40 }, 53 },
@@ -43,11 +56,11 @@
43 "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.", 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.",
44 "file": "src/components/settings/settings/EditSettingsForm.js", 57 "file": "src/components/settings/settings/EditSettingsForm.js",
45 "start": { 58 "start": {
46 "line": 38, 59 "line": 42,
47 "column": 19 60 "column": 19
48 }, 61 },
49 "end": { 62 "end": {
50 "line": 41, 63 "line": 45,
51 "column": 3 64 "column": 3
52 } 65 }
53 }, 66 },
@@ -56,11 +69,11 @@
56 "defaultMessage": "!!!This server will be used for the \"Franz Todo\" feature. (default: https://app.franztodos.com)", 69 "defaultMessage": "!!!This server will be used for the \"Franz Todo\" feature. (default: https://app.franztodos.com)",
57 "file": "src/components/settings/settings/EditSettingsForm.js", 70 "file": "src/components/settings/settings/EditSettingsForm.js",
58 "start": { 71 "start": {
59 "line": 42, 72 "line": 46,
60 "column": 18 73 "column": 18
61 }, 74 },
62 "end": { 75 "end": {
63 "line": 45, 76 "line": 49,
64 "column": 3 77 "column": 3
65 } 78 }
66 }, 79 },
@@ -69,11 +82,11 @@
69 "defaultMessage": "!!!Ferdi Lock Password", 82 "defaultMessage": "!!!Ferdi Lock Password",
70 "file": "src/components/settings/settings/EditSettingsForm.js", 83 "file": "src/components/settings/settings/EditSettingsForm.js",
71 "start": { 84 "start": {
72 "line": 46, 85 "line": 50,
73 "column": 18 86 "column": 18
74 }, 87 },
75 "end": { 88 "end": {
76 "line": 49, 89 "line": 53,
77 "column": 3 90 "column": 3
78 } 91 }
79 }, 92 },
@@ -82,11 +95,11 @@
82 "defaultMessage": "!!!Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.", 95 "defaultMessage": "!!!Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.",
83 "file": "src/components/settings/settings/EditSettingsForm.js", 96 "file": "src/components/settings/settings/EditSettingsForm.js",
84 "start": { 97 "start": {
85 "line": 50, 98 "line": 54,
86 "column": 22 99 "column": 22
87 }, 100 },
88 "end": { 101 "end": {
89 "line": 53, 102 "line": 57,
90 "column": 3 103 "column": 3
91 } 104 }
92 }, 105 },
@@ -95,11 +108,11 @@
95 "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.", 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.",
96 "file": "src/components/settings/settings/EditSettingsForm.js", 109 "file": "src/components/settings/settings/EditSettingsForm.js",
97 "start": { 110 "start": {
98 "line": 54, 111 "line": 58,
99 "column": 12 112 "column": 12
100 }, 113 },
101 "end": { 114 "end": {
102 "line": 57, 115 "line": 61,
103 "column": 3 116 "column": 3
104 } 117 }
105 }, 118 },
@@ -108,11 +121,11 @@
108 "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.", 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.",
109 "file": "src/components/settings/settings/EditSettingsForm.js", 122 "file": "src/components/settings/settings/EditSettingsForm.js",
110 "start": { 123 "start": {
111 "line": 58, 124 "line": 62,
112 "column": 24 125 "column": 24
113 }, 126 },
114 "end": { 127 "end": {
115 "line": 61, 128 "line": 65,
116 "column": 3 129 "column": 3
117 } 130 }
118 }, 131 },
@@ -121,11 +134,11 @@
121 "defaultMessage": "!!!Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.", 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.",
122 "file": "src/components/settings/settings/EditSettingsForm.js", 135 "file": "src/components/settings/settings/EditSettingsForm.js",
123 "start": { 136 "start": {
124 "line": 62, 137 "line": 66,
125 "column": 20 138 "column": 20
126 }, 139 },
127 "end": { 140 "end": {
128 "line": 65, 141 "line": 69,
129 "column": 3 142 "column": 3
130 } 143 }
131 }, 144 },
@@ -134,11 +147,11 @@
134 "defaultMessage": "!!!Language", 147 "defaultMessage": "!!!Language",
135 "file": "src/components/settings/settings/EditSettingsForm.js", 148 "file": "src/components/settings/settings/EditSettingsForm.js",
136 "start": { 149 "start": {
137 "line": 66, 150 "line": 70,
138 "column": 20 151 "column": 20
139 }, 152 },
140 "end": { 153 "end": {
141 "line": 69, 154 "line": 73,
142 "column": 3 155 "column": 3
143 } 156 }
144 }, 157 },
@@ -147,11 +160,11 @@
147 "defaultMessage": "!!!Updates", 160 "defaultMessage": "!!!Updates",
148 "file": "src/components/settings/settings/EditSettingsForm.js", 161 "file": "src/components/settings/settings/EditSettingsForm.js",
149 "start": { 162 "start": {
150 "line": 70, 163 "line": 74,
151 "column": 19 164 "column": 19
152 }, 165 },
153 "end": { 166 "end": {
154 "line": 73, 167 "line": 77,
155 "column": 3 168 "column": 3
156 } 169 }
157 }, 170 },
@@ -160,11 +173,11 @@
160 "defaultMessage": "!!!Appearance", 173 "defaultMessage": "!!!Appearance",
161 "file": "src/components/settings/settings/EditSettingsForm.js", 174 "file": "src/components/settings/settings/EditSettingsForm.js",
162 "start": { 175 "start": {
163 "line": 74, 176 "line": 78,
164 "column": 22 177 "column": 22
165 }, 178 },
166 "end": { 179 "end": {
167 "line": 77, 180 "line": 81,
168 "column": 3 181 "column": 3
169 } 182 }
170 }, 183 },
@@ -173,11 +186,11 @@
173 "defaultMessage": "!!!Advanced", 186 "defaultMessage": "!!!Advanced",
174 "file": "src/components/settings/settings/EditSettingsForm.js", 187 "file": "src/components/settings/settings/EditSettingsForm.js",
175 "start": { 188 "start": {
176 "line": 78, 189 "line": 82,
177 "column": 20 190 "column": 20
178 }, 191 },
179 "end": { 192 "end": {
180 "line": 81, 193 "line": 85,
181 "column": 3 194 "column": 3
182 } 195 }
183 }, 196 },
@@ -186,11 +199,11 @@
186 "defaultMessage": "!!!Help us to translate Ferdi into your language.", 199 "defaultMessage": "!!!Help us to translate Ferdi into your language.",
187 "file": "src/components/settings/settings/EditSettingsForm.js", 200 "file": "src/components/settings/settings/EditSettingsForm.js",
188 "start": { 201 "start": {
189 "line": 82, 202 "line": 86,
190 "column": 19 203 "column": 19
191 }, 204 },
192 "end": { 205 "end": {
193 "line": 85, 206 "line": 89,
194 "column": 3 207 "column": 3
195 } 208 }
196 }, 209 },
@@ -199,11 +212,11 @@
199 "defaultMessage": "!!!Cache", 212 "defaultMessage": "!!!Cache",
200 "file": "src/components/settings/settings/EditSettingsForm.js", 213 "file": "src/components/settings/settings/EditSettingsForm.js",
201 "start": { 214 "start": {
202 "line": 86, 215 "line": 90,
203 "column": 20 216 "column": 20
204 }, 217 },
205 "end": { 218 "end": {
206 "line": 89, 219 "line": 93,
207 "column": 3 220 "column": 3
208 } 221 }
209 }, 222 },
@@ -212,11 +225,11 @@
212 "defaultMessage": "!!!Ferdi cache is currently using {size} of disk space.", 225 "defaultMessage": "!!!Ferdi cache is currently using {size} of disk space.",
213 "file": "src/components/settings/settings/EditSettingsForm.js", 226 "file": "src/components/settings/settings/EditSettingsForm.js",
214 "start": { 227 "start": {
215 "line": 90, 228 "line": 94,
216 "column": 13 229 "column": 13
217 }, 230 },
218 "end": { 231 "end": {
219 "line": 93, 232 "line": 97,
220 "column": 3 233 "column": 3
221 } 234 }
222 }, 235 },
@@ -225,11 +238,11 @@
225 "defaultMessage": "!!!Clear cache", 238 "defaultMessage": "!!!Clear cache",
226 "file": "src/components/settings/settings/EditSettingsForm.js", 239 "file": "src/components/settings/settings/EditSettingsForm.js",
227 "start": { 240 "start": {
228 "line": 94, 241 "line": 98,
229 "column": 23 242 "column": 23
230 }, 243 },
231 "end": { 244 "end": {
232 "line": 97, 245 "line": 101,
233 "column": 3 246 "column": 3
234 } 247 }
235 }, 248 },
@@ -238,11 +251,11 @@
238 "defaultMessage": "!!!Check for updates", 251 "defaultMessage": "!!!Check for updates",
239 "file": "src/components/settings/settings/EditSettingsForm.js", 252 "file": "src/components/settings/settings/EditSettingsForm.js",
240 "start": { 253 "start": {
241 "line": 98, 254 "line": 102,
242 "column": 25 255 "column": 25
243 }, 256 },
244 "end": { 257 "end": {
245 "line": 101, 258 "line": 105,
246 "column": 3 259 "column": 3
247 } 260 }
248 }, 261 },
@@ -251,11 +264,11 @@
251 "defaultMessage": "!!!Restart & install update", 264 "defaultMessage": "!!!Restart & install update",
252 "file": "src/components/settings/settings/EditSettingsForm.js", 265 "file": "src/components/settings/settings/EditSettingsForm.js",
253 "start": { 266 "start": {
254 "line": 102, 267 "line": 106,
255 "column": 23 268 "column": 23
256 }, 269 },
257 "end": { 270 "end": {
258 "line": 105, 271 "line": 109,
259 "column": 3 272 "column": 3
260 } 273 }
261 }, 274 },
@@ -264,11 +277,11 @@
264 "defaultMessage": "!!!Is searching for update", 277 "defaultMessage": "!!!Is searching for update",
265 "file": "src/components/settings/settings/EditSettingsForm.js", 278 "file": "src/components/settings/settings/EditSettingsForm.js",
266 "start": { 279 "start": {
267 "line": 106, 280 "line": 110,
268 "column": 25 281 "column": 25
269 }, 282 },
270 "end": { 283 "end": {
271 "line": 109, 284 "line": 113,
272 "column": 3 285 "column": 3
273 } 286 }
274 }, 287 },
@@ -277,11 +290,11 @@
277 "defaultMessage": "!!!Update available, downloading...", 290 "defaultMessage": "!!!Update available, downloading...",
278 "file": "src/components/settings/settings/EditSettingsForm.js", 291 "file": "src/components/settings/settings/EditSettingsForm.js",
279 "start": { 292 "start": {
280 "line": 110, 293 "line": 114,
281 "column": 25 294 "column": 25
282 }, 295 },
283 "end": { 296 "end": {
284 "line": 113, 297 "line": 117,
285 "column": 3 298 "column": 3
286 } 299 }
287 }, 300 },
@@ -290,11 +303,11 @@
290 "defaultMessage": "!!!You are using the latest version of Ferdi", 303 "defaultMessage": "!!!You are using the latest version of Ferdi",
291 "file": "src/components/settings/settings/EditSettingsForm.js", 304 "file": "src/components/settings/settings/EditSettingsForm.js",
292 "start": { 305 "start": {
293 "line": 114, 306 "line": 118,
294 "column": 24 307 "column": 24
295 }, 308 },
296 "end": { 309 "end": {
297 "line": 117, 310 "line": 121,
298 "column": 3 311 "column": 3
299 } 312 }
300 }, 313 },
@@ -303,11 +316,11 @@
303 "defaultMessage": "!!!Current version:", 316 "defaultMessage": "!!!Current version:",
304 "file": "src/components/settings/settings/EditSettingsForm.js", 317 "file": "src/components/settings/settings/EditSettingsForm.js",
305 "start": { 318 "start": {
306 "line": 118, 319 "line": 122,
307 "column": 18 320 "column": 18
308 }, 321 },
309 "end": { 322 "end": {
310 "line": 121, 323 "line": 125,
311 "column": 3 324 "column": 3
312 } 325 }
313 }, 326 },
@@ -316,11 +329,11 @@
316 "defaultMessage": "!!!Changes require restart", 329 "defaultMessage": "!!!Changes require restart",
317 "file": "src/components/settings/settings/EditSettingsForm.js", 330 "file": "src/components/settings/settings/EditSettingsForm.js",
318 "start": { 331 "start": {
319 "line": 122, 332 "line": 126,
320 "column": 29 333 "column": 29
321 }, 334 },
322 "end": { 335 "end": {
323 "line": 125, 336 "line": 129,
324 "column": 3 337 "column": 3
325 } 338 }
326 }, 339 },
@@ -329,11 +342,11 @@
329 "defaultMessage": "!!!Official translations are English & German. All other languages are community based translations.", 342 "defaultMessage": "!!!Official translations are English & German. All other languages are community based translations.",
330 "file": "src/components/settings/settings/EditSettingsForm.js", 343 "file": "src/components/settings/settings/EditSettingsForm.js",
331 "start": { 344 "start": {
332 "line": 126, 345 "line": 130,
333 "column": 22 346 "column": 22
334 }, 347 },
335 "end": { 348 "end": {
336 "line": 129, 349 "line": 133,
337 "column": 3 350 "column": 3
338 } 351 }
339 } 352 }
diff --git a/src/i18n/messages/src/containers/settings/EditSettingsScreen.json b/src/i18n/messages/src/containers/settings/EditSettingsScreen.json
index 110b7787b..de4660303 100644
--- a/src/i18n/messages/src/containers/settings/EditSettingsScreen.json
+++ b/src/i18n/messages/src/containers/settings/EditSettingsScreen.json
@@ -91,15 +91,28 @@
91 } 91 }
92 }, 92 },
93 { 93 {
94 "id": "settings.app.form.hibernationStrategy",
95 "defaultMessage": "!!!Hibernation strategy",
96 "file": "src/containers/settings/EditSettingsScreen.js",
97 "start": {
98 "line": 56,
99 "column": 23
100 },
101 "end": {
102 "line": 59,
103 "column": 3
104 }
105 },
106 {
94 "id": "settings.app.form.server", 107 "id": "settings.app.form.server",
95 "defaultMessage": "!!!Server", 108 "defaultMessage": "!!!Server",
96 "file": "src/containers/settings/EditSettingsScreen.js", 109 "file": "src/containers/settings/EditSettingsScreen.js",
97 "start": { 110 "start": {
98 "line": 56, 111 "line": 60,
99 "column": 10 112 "column": 10
100 }, 113 },
101 "end": { 114 "end": {
102 "line": 59, 115 "line": 63,
103 "column": 3 116 "column": 3
104 } 117 }
105 }, 118 },
@@ -108,11 +121,11 @@
108 "defaultMessage": "!!!Todo Server", 121 "defaultMessage": "!!!Todo Server",
109 "file": "src/containers/settings/EditSettingsScreen.js", 122 "file": "src/containers/settings/EditSettingsScreen.js",
110 "start": { 123 "start": {
111 "line": 60, 124 "line": 64,
112 "column": 14 125 "column": 14
113 }, 126 },
114 "end": { 127 "end": {
115 "line": 63, 128 "line": 67,
116 "column": 3 129 "column": 3
117 } 130 }
118 }, 131 },
@@ -121,11 +134,11 @@
121 "defaultMessage": "!!!Enable Ferdi password lock", 134 "defaultMessage": "!!!Enable Ferdi password lock",
122 "file": "src/containers/settings/EditSettingsScreen.js", 135 "file": "src/containers/settings/EditSettingsScreen.js",
123 "start": { 136 "start": {
124 "line": 64, 137 "line": 68,
125 "column": 14 138 "column": 14
126 }, 139 },
127 "end": { 140 "end": {
128 "line": 67, 141 "line": 71,
129 "column": 3 142 "column": 3
130 } 143 }
131 }, 144 },
@@ -134,11 +147,11 @@
134 "defaultMessage": "!!!Ferdi Lock password", 147 "defaultMessage": "!!!Ferdi Lock password",
135 "file": "src/containers/settings/EditSettingsScreen.js", 148 "file": "src/containers/settings/EditSettingsScreen.js",
136 "start": { 149 "start": {
137 "line": 68, 150 "line": 72,
138 "column": 16 151 "column": 16
139 }, 152 },
140 "end": { 153 "end": {
141 "line": 71, 154 "line": 75,
142 "column": 3 155 "column": 3
143 } 156 }
144 }, 157 },
@@ -147,11 +160,11 @@
147 "defaultMessage": "!!!Enable scheduled Do-not-Disturb", 160 "defaultMessage": "!!!Enable scheduled Do-not-Disturb",
148 "file": "src/containers/settings/EditSettingsScreen.js", 161 "file": "src/containers/settings/EditSettingsScreen.js",
149 "start": { 162 "start": {
150 "line": 72, 163 "line": 76,
151 "column": 23 164 "column": 23
152 }, 165 },
153 "end": { 166 "end": {
154 "line": 75, 167 "line": 79,
155 "column": 3 168 "column": 3
156 } 169 }
157 }, 170 },
@@ -160,11 +173,11 @@
160 "defaultMessage": "!!!From", 173 "defaultMessage": "!!!From",
161 "file": "src/containers/settings/EditSettingsScreen.js", 174 "file": "src/containers/settings/EditSettingsScreen.js",
162 "start": { 175 "start": {
163 "line": 76, 176 "line": 80,
164 "column": 21 177 "column": 21
165 }, 178 },
166 "end": { 179 "end": {
167 "line": 79, 180 "line": 83,
168 "column": 3 181 "column": 3
169 } 182 }
170 }, 183 },
@@ -173,11 +186,11 @@
173 "defaultMessage": "!!!To", 186 "defaultMessage": "!!!To",
174 "file": "src/containers/settings/EditSettingsScreen.js", 187 "file": "src/containers/settings/EditSettingsScreen.js",
175 "start": { 188 "start": {
176 "line": 80, 189 "line": 84,
177 "column": 19 190 "column": 19
178 }, 191 },
179 "end": { 192 "end": {
180 "line": 83, 193 "line": 87,
181 "column": 3 194 "column": 3
182 } 195 }
183 }, 196 },
@@ -186,11 +199,11 @@
186 "defaultMessage": "!!!Language", 199 "defaultMessage": "!!!Language",
187 "file": "src/containers/settings/EditSettingsScreen.js", 200 "file": "src/containers/settings/EditSettingsScreen.js",
188 "start": { 201 "start": {
189 "line": 84, 202 "line": 88,
190 "column": 12 203 "column": 12
191 }, 204 },
192 "end": { 205 "end": {
193 "line": 87, 206 "line": 91,
194 "column": 3 207 "column": 3
195 } 208 }
196 }, 209 },
@@ -199,11 +212,11 @@
199 "defaultMessage": "!!!Dark Mode", 212 "defaultMessage": "!!!Dark Mode",
200 "file": "src/containers/settings/EditSettingsScreen.js", 213 "file": "src/containers/settings/EditSettingsScreen.js",
201 "start": { 214 "start": {
202 "line": 88, 215 "line": 92,
203 "column": 12 216 "column": 12
204 }, 217 },
205 "end": { 218 "end": {
206 "line": 91, 219 "line": 95,
207 "column": 3 220 "column": 3
208 } 221 }
209 }, 222 },
@@ -212,11 +225,11 @@
212 "defaultMessage": "!!!Display disabled services tabs", 225 "defaultMessage": "!!!Display disabled services tabs",
213 "file": "src/containers/settings/EditSettingsScreen.js", 226 "file": "src/containers/settings/EditSettingsScreen.js",
214 "start": { 227 "start": {
215 "line": 92, 228 "line": 96,
216 "column": 24 229 "column": 24
217 }, 230 },
218 "end": { 231 "end": {
219 "line": 95, 232 "line": 99,
220 "column": 3 233 "column": 3
221 } 234 }
222 }, 235 },
@@ -225,11 +238,11 @@
225 "defaultMessage": "!!!Show unread message badge when notifications are disabled", 238 "defaultMessage": "!!!Show unread message badge when notifications are disabled",
226 "file": "src/containers/settings/EditSettingsScreen.js", 239 "file": "src/containers/settings/EditSettingsScreen.js",
227 "start": { 240 "start": {
228 "line": 96, 241 "line": 100,
229 "column": 29 242 "column": 29
230 }, 243 },
231 "end": { 244 "end": {
232 "line": 99, 245 "line": 103,
233 "column": 3 246 "column": 3
234 } 247 }
235 }, 248 },
@@ -238,11 +251,11 @@
238 "defaultMessage": "!!!Enable spell checking", 251 "defaultMessage": "!!!Enable spell checking",
239 "file": "src/containers/settings/EditSettingsScreen.js", 252 "file": "src/containers/settings/EditSettingsScreen.js",
240 "start": { 253 "start": {
241 "line": 100, 254 "line": 104,
242 "column": 23 255 "column": 23
243 }, 256 },
244 "end": { 257 "end": {
245 "line": 103, 258 "line": 107,
246 "column": 3 259 "column": 3
247 } 260 }
248 }, 261 },
@@ -251,11 +264,11 @@
251 "defaultMessage": "!!!Enable GPU Acceleration", 264 "defaultMessage": "!!!Enable GPU Acceleration",
252 "file": "src/containers/settings/EditSettingsScreen.js", 265 "file": "src/containers/settings/EditSettingsScreen.js",
253 "start": { 266 "start": {
254 "line": 104, 267 "line": 108,
255 "column": 25 268 "column": 25
256 }, 269 },
257 "end": { 270 "end": {
258 "line": 107, 271 "line": 111,
259 "column": 3 272 "column": 3
260 } 273 }
261 }, 274 },
@@ -264,11 +277,11 @@
264 "defaultMessage": "!!!Include beta versions", 277 "defaultMessage": "!!!Include beta versions",
265 "file": "src/containers/settings/EditSettingsScreen.js", 278 "file": "src/containers/settings/EditSettingsScreen.js",
266 "start": { 279 "start": {
267 "line": 108, 280 "line": 112,
268 "column": 8 281 "column": 8
269 }, 282 },
270 "end": { 283 "end": {
271 "line": 111, 284 "line": 115,
272 "column": 3 285 "column": 3
273 } 286 }
274 }, 287 },
@@ -277,11 +290,11 @@
277 "defaultMessage": "!!!Disable updates", 290 "defaultMessage": "!!!Disable updates",
278 "file": "src/containers/settings/EditSettingsScreen.js", 291 "file": "src/containers/settings/EditSettingsScreen.js",
279 "start": { 292 "start": {
280 "line": 112, 293 "line": 116,
281 "column": 13 294 "column": 13
282 }, 295 },
283 "end": { 296 "end": {
284 "line": 115, 297 "line": 119,
285 "column": 3 298 "column": 3
286 } 299 }
287 }, 300 },
@@ -290,11 +303,11 @@
290 "defaultMessage": "!!!Enable Franz Todos", 303 "defaultMessage": "!!!Enable Franz Todos",
291 "file": "src/containers/settings/EditSettingsScreen.js", 304 "file": "src/containers/settings/EditSettingsScreen.js",
292 "start": { 305 "start": {
293 "line": 116, 306 "line": 120,
294 "column": 15 307 "column": 15
295 }, 308 },
296 "end": { 309 "end": {
297 "line": 119, 310 "line": 123,
298 "column": 3 311 "column": 3
299 } 312 }
300 }, 313 },
@@ -303,11 +316,11 @@
303 "defaultMessage": "!!!Keep all workspaces loaded", 316 "defaultMessage": "!!!Keep all workspaces loaded",
304 "file": "src/containers/settings/EditSettingsScreen.js", 317 "file": "src/containers/settings/EditSettingsScreen.js",
305 "start": { 318 "start": {
306 "line": 120, 319 "line": 124,
307 "column": 27 320 "column": 27
308 }, 321 },
309 "end": { 322 "end": {
310 "line": 123, 323 "line": 127,
311 "column": 3 324 "column": 3
312 } 325 }
313 } 326 }