diff options
27 files changed, 476 insertions, 325 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 70b77637e..da7a6c608 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md | |||
@@ -1,3 +1,53 @@ | |||
1 | ## [5.2.1-beta.1](https://github.com/meetfranz/franz/compare/v5.2.0...v5.2.1-beta.1) (2019-07-30) | ||
2 | |||
3 | |||
4 | ### Bug Fixes | ||
5 | |||
6 | * **Notifications:** Fix issue that blocked notifications from e.g. Slack ([44c413b](https://github.com/meetfranz/franz/commit/44c413b)) | ||
7 | |||
8 | |||
9 | ### Features | ||
10 | |||
11 | * **App:** Add option to copy debug information via the help menu ([4666e85](https://github.com/meetfranz/franz/commit/4666e85)) | ||
12 | |||
13 | |||
14 | |||
15 | # [5.2.0](https://github.com/meetfranz/franz/compare/v5.2.0-beta.4...v5.2.0) (2019-07-19) | ||
16 | |||
17 | ### Features | ||
18 | * **Service:** You can now add any custom website 🥳 | ||
19 | |||
20 | ### Bug Fixes | ||
21 | |||
22 | * **Notifications:** Don't show notification badges when app is muted ([e844a64](https://github.com/meetfranz/franz/commit/e844a64)) | ||
23 | * **Settings:** Fix position of settings window | ||
24 | * **Recipes:** Fix recipe install when directly accessing recipe e.g. via url ([eba50bc](https://github.com/meetfranz/franz/commit/eba50bc)) | ||
25 | * **Proxy:** Fix issue with service proxy authentication ([b9e5b23](https://github.com/meetfranz/franz/commit/b9e5b23)) | ||
26 | * **Announcements:** Fix issue with rendering announcements in workspaces ([1e38ec5](https://github.com/meetfranz/franz/commit/1e38ec5)) | ||
27 | * **Windows:** Add Workspaces menu & fix Window menu ([92a61d4](https://github.com/meetfranz/franz/commit/92a61d4)) | ||
28 | * **Windows:** Replace tray icon with high-res version ([a5eb399](https://github.com/meetfranz/franz/commit/a5eb399)) | ||
29 | * **Workspaces:** Fix service reordering within workspaces ([17f3a22](https://github.com/meetfranz/franz/commit/17f3a22)) | ||
30 | * **Workspaces:** Fix issue with service visibility after downgrade ([05294](https://github.com/meetfranz/franz/commit/05294)) | ||
31 | |||
32 | ### General | ||
33 | * **App:** Improved email validation ([dd8ddcc](https://github.com/meetfranz/franz/commit/dd8ddcc)) ([@Snuggle](https://github.com/Snuggle)) | ||
34 | * **App:** Update electron to 4.2.4 ([404c87a](https://github.com/meetfranz/franz/commit/404c87a)) | ||
35 | * **Translations:** Improved translations. **[A million thanks to the amazing community. 🎉](http://i18n.meetfranz.com/)** | ||
36 | |||
37 | |||
38 | # [5.2.0-beta.4](https://github.com/meetfranz/franz/compare/v5.2.0-beta.3...v5.2.0-beta.4) (2019-07-01) | ||
39 | |||
40 | |||
41 | ### Bug Fixes | ||
42 | |||
43 | * **Notifications:** Don't show notification badges when app is muted ([e844a64](https://github.com/meetfranz/franz/commit/e844a64)) | ||
44 | * **Settings:** Fix position of settings window | ||
45 | |||
46 | ### General | ||
47 | |||
48 | * **Translations:** Improved translations. **[A million thanks to the amazing community. 🎉](http://i18n.meetfranz.com/)** | ||
49 | |||
50 | |||
1 | # [5.2.0-beta.3](https://github.com/meetfranz/franz/compare/v5.2.0-beta.2...v5.2.0-beta.3) (2019-06-24) | 51 | # [5.2.0-beta.3](https://github.com/meetfranz/franz/compare/v5.2.0-beta.2...v5.2.0-beta.3) (2019-06-24) |
2 | 52 | ||
3 | ### General | 53 | ### General |
diff --git a/package.json b/package.json index 98c7f547f..f7ae953f4 100644 --- a/package.json +++ b/package.json | |||
@@ -2,7 +2,7 @@ | |||
2 | "name": "franz", | 2 | "name": "franz", |
3 | "productName": "Franz", | 3 | "productName": "Franz", |
4 | "appId": "com.meetfranz.franz", | 4 | "appId": "com.meetfranz.franz", |
5 | "version": "5.2.0-beta.4", | 5 | "version": "5.2.1-beta.1", |
6 | "description": "Messaging app for WhatsApp, Slack, Telegram, HipChat, Hangouts and many many more.", | 6 | "description": "Messaging app for WhatsApp, Slack, Telegram, HipChat, Hangouts and many many more.", |
7 | "copyright": "adlk x franz - Stefan Malzner", | 7 | "copyright": "adlk x franz - Stefan Malzner", |
8 | "main": "index.js", | 8 | "main": "index.js", |
diff --git a/packages/forms/package.json b/packages/forms/package.json index d50f4c756..bb76462d8 100644 --- a/packages/forms/package.json +++ b/packages/forms/package.json | |||
@@ -1,6 +1,6 @@ | |||
1 | { | 1 | { |
2 | "name": "@meetfranz/forms", | 2 | "name": "@meetfranz/forms", |
3 | "version": "1.0.16", | 3 | "version": "1.1.0", |
4 | "description": "React form components for Franz", | 4 | "description": "React form components for Franz", |
5 | "main": "lib/index.js", | 5 | "main": "lib/index.js", |
6 | "scripts": { | 6 | "scripts": { |
@@ -35,5 +35,5 @@ | |||
35 | "react-dom": "16.7.0", | 35 | "react-dom": "16.7.0", |
36 | "react-jss": "^8.6.1" | 36 | "react-jss": "^8.6.1" |
37 | }, | 37 | }, |
38 | "gitHead": "9f2ab40b7602bc3df26ebb093b484b9917768f69" | 38 | "gitHead": "e1e46986d902adc4c19ee009016290f9733a7d61" |
39 | } | 39 | } |
diff --git a/packages/forms/src/button/index.tsx b/packages/forms/src/button/index.tsx index 9faedc8f1..b53c2da05 100644 --- a/packages/forms/src/button/index.tsx +++ b/packages/forms/src/button/index.tsx | |||
@@ -1,4 +1,3 @@ | |||
1 | import * as mdiIcons from '@mdi/js'; | ||
2 | import Icon from '@mdi/react'; | 1 | import Icon from '@mdi/react'; |
3 | import { Theme } from '@meetfranz/theme'; | 2 | import { Theme } from '@meetfranz/theme'; |
4 | import classnames from 'classnames'; | 3 | import classnames from 'classnames'; |
@@ -21,7 +20,7 @@ interface IProps extends IFormField, IWithStyle { | |||
21 | stretch?: boolean; | 20 | stretch?: boolean; |
22 | loaded?: boolean; | 21 | loaded?: boolean; |
23 | busy?: boolean; | 22 | busy?: boolean; |
24 | icon?: keyof typeof mdiIcons; | 23 | icon?: string; |
25 | href?: string; | 24 | href?: string; |
26 | target?: string; | 25 | target?: string; |
27 | } | 26 | } |
@@ -175,7 +174,7 @@ class ButtonComponent extends Component<IProps> { | |||
175 | onClick, | 174 | onClick, |
176 | buttonType, | 175 | buttonType, |
177 | loaded, | 176 | loaded, |
178 | icon: iconName, | 177 | icon, |
179 | busy: busyProp, | 178 | busy: busyProp, |
180 | href, | 179 | href, |
181 | target, | 180 | target, |
@@ -185,13 +184,6 @@ class ButtonComponent extends Component<IProps> { | |||
185 | busy, | 184 | busy, |
186 | } = this.state; | 185 | } = this.state; |
187 | 186 | ||
188 | let icon = ''; | ||
189 | if (iconName && mdiIcons[iconName]) { | ||
190 | icon = mdiIcons[iconName]; | ||
191 | } else if (iconName && !mdiIcons[iconName]) { | ||
192 | console.warn(`Icon '${iconName}' was not found`); | ||
193 | } | ||
194 | |||
195 | let showLoader = false; | 187 | let showLoader = false; |
196 | if (loaded) { | 188 | if (loaded) { |
197 | showLoader = !loaded; | 189 | showLoader = !loaded; |
diff --git a/packages/ui/package.json b/packages/ui/package.json index a851ed9cf..4f42b21b5 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json | |||
@@ -1,6 +1,6 @@ | |||
1 | { | 1 | { |
2 | "name": "@meetfranz/ui", | 2 | "name": "@meetfranz/ui", |
3 | "version": "0.0.9", | 3 | "version": "1.0.0", |
4 | "description": "React UI components for Franz", | 4 | "description": "React UI components for Franz", |
5 | "main": "lib/index.js", | 5 | "main": "lib/index.js", |
6 | "scripts": { | 6 | "scripts": { |
@@ -34,5 +34,5 @@ | |||
34 | "react-dom": "16.7.0", | 34 | "react-dom": "16.7.0", |
35 | "react-jss": "^8.6.1" | 35 | "react-jss": "^8.6.1" |
36 | }, | 36 | }, |
37 | "gitHead": "9f2ab40b7602bc3df26ebb093b484b9917768f69" | 37 | "gitHead": "e1e46986d902adc4c19ee009016290f9733a7d61" |
38 | } | 38 | } |
diff --git a/packages/ui/src/badge/ProBadge.tsx b/packages/ui/src/badge/ProBadge.tsx index 2dad7ef49..5cc41f5b2 100644 --- a/packages/ui/src/badge/ProBadge.tsx +++ b/packages/ui/src/badge/ProBadge.tsx | |||
@@ -1,3 +1,4 @@ | |||
1 | import { mdiStar } from '@mdi/js'; | ||
1 | import { Theme } from '@meetfranz/theme'; | 2 | import { Theme } from '@meetfranz/theme'; |
2 | import classnames from 'classnames'; | 3 | import classnames from 'classnames'; |
3 | import React, { Component } from 'react'; | 4 | import React, { Component } from 'react'; |
@@ -52,7 +53,7 @@ class ProBadgeComponent extends Component<IProps> { | |||
52 | ])} | 53 | ])} |
53 | > | 54 | > |
54 | <Icon | 55 | <Icon |
55 | icon="mdiStar" | 56 | icon={mdiStar} |
56 | className={classnames([ | 57 | className={classnames([ |
57 | classes.icon, | 58 | classes.icon, |
58 | inverted && classes.invertedIcon, | 59 | inverted && classes.invertedIcon, |
diff --git a/packages/ui/src/icon/index.tsx b/packages/ui/src/icon/index.tsx index e30d3396d..af467c085 100644 --- a/packages/ui/src/icon/index.tsx +++ b/packages/ui/src/icon/index.tsx | |||
@@ -1,4 +1,3 @@ | |||
1 | import * as mdiIcons from '@mdi/js'; | ||
2 | import MdiIcon from '@mdi/react'; | 1 | import MdiIcon from '@mdi/react'; |
3 | import { Theme } from '@meetfranz/theme'; | 2 | import { Theme } from '@meetfranz/theme'; |
4 | import classnames from 'classnames'; | 3 | import classnames from 'classnames'; |
@@ -8,7 +7,7 @@ import injectStyle from 'react-jss'; | |||
8 | import { IWithStyle } from '../typings/generic'; | 7 | import { IWithStyle } from '../typings/generic'; |
9 | 8 | ||
10 | interface IProps extends IWithStyle { | 9 | interface IProps extends IWithStyle { |
11 | icon: keyof typeof mdiIcons; | 10 | icon: string; |
12 | size?: number; | 11 | size?: number; |
13 | className?: string; | 12 | className?: string; |
14 | } | 13 | } |
@@ -27,16 +26,13 @@ class IconComponent extends Component<IProps> { | |||
27 | render() { | 26 | render() { |
28 | const { | 27 | const { |
29 | classes, | 28 | classes, |
30 | icon: iconName, | 29 | icon, |
31 | size, | 30 | size, |
32 | className, | 31 | className, |
33 | } = this.props; | 32 | } = this.props; |
34 | 33 | ||
35 | let icon = ''; | 34 | if (!icon) { |
36 | if (iconName && mdiIcons[iconName]) { | 35 | console.warn('No Icon specified'); |
37 | icon = mdiIcons[iconName]; | ||
38 | } else if (iconName && !mdiIcons[iconName]) { | ||
39 | console.warn(`Icon '${iconName}' was not found`); | ||
40 | } | 36 | } |
41 | 37 | ||
42 | return ( | 38 | return ( |
diff --git a/packages/ui/src/infobox/index.tsx b/packages/ui/src/infobox/index.tsx index 09fc4596a..e4c2c5a3e 100644 --- a/packages/ui/src/infobox/index.tsx +++ b/packages/ui/src/infobox/index.tsx | |||
@@ -1,3 +1,4 @@ | |||
1 | import { mdiClose } from '@mdi/js'; | ||
1 | import { Theme } from '@meetfranz/theme'; | 2 | import { Theme } from '@meetfranz/theme'; |
2 | import classnames from 'classnames'; | 3 | import classnames from 'classnames'; |
3 | import React, { Component } from 'react'; | 4 | import React, { Component } from 'react'; |
@@ -192,7 +193,7 @@ class InfoboxComponent extends Component<IProps, IState> { | |||
192 | onClick={this.dismiss.bind(this)} | 193 | onClick={this.dismiss.bind(this)} |
193 | className={classes.close} | 194 | className={classes.close} |
194 | > | 195 | > |
195 | <Icon icon="mdiClose" /> | 196 | <Icon icon={mdiClose} /> |
196 | </button> | 197 | </button> |
197 | )} | 198 | )} |
198 | </div> | 199 | </div> |
diff --git a/src/features/workspaces/store.js b/src/features/workspaces/store.js index e1adc9cab..caa73619e 100644 --- a/src/features/workspaces/store.js +++ b/src/features/workspaces/store.js | |||
@@ -79,7 +79,7 @@ export default class WorkspacesStore extends FeatureStore { | |||
79 | 79 | ||
80 | // ========== PUBLIC API ========= // | 80 | // ========== PUBLIC API ========= // |
81 | 81 | ||
82 | start(stores, actions) { | 82 | @action start(stores, actions) { |
83 | debug('WorkspacesStore::start'); | 83 | debug('WorkspacesStore::start'); |
84 | this.stores = stores; | 84 | this.stores = stores; |
85 | this.actions = actions; | 85 | this.actions = actions; |
@@ -104,7 +104,7 @@ export default class WorkspacesStore extends FeatureStore { | |||
104 | // REACTIONS | 104 | // REACTIONS |
105 | 105 | ||
106 | this._freeUserReactions = createReactions([ | 106 | this._freeUserReactions = createReactions([ |
107 | this._stopPremiumActionsAndReactions, | 107 | this._disablePremiumFeatures, |
108 | this._openDrawerWithSettingsReaction, | 108 | this._openDrawerWithSettingsReaction, |
109 | this._setFeatureEnabledReaction, | 109 | this._setFeatureEnabledReaction, |
110 | this._setIsPremiumFeatureReaction, | 110 | this._setIsPremiumFeatureReaction, |
@@ -123,10 +123,7 @@ export default class WorkspacesStore extends FeatureStore { | |||
123 | this.isFeatureActive = true; | 123 | this.isFeatureActive = true; |
124 | } | 124 | } |
125 | 125 | ||
126 | stop() { | 126 | @action reset() { |
127 | super.stop(); | ||
128 | debug('WorkspacesStore::stop'); | ||
129 | this.isFeatureActive = false; | ||
130 | this.activeWorkspace = null; | 127 | this.activeWorkspace = null; |
131 | this.nextWorkspace = null; | 128 | this.nextWorkspace = null; |
132 | this.workspaceBeingEdited = null; | 129 | this.workspaceBeingEdited = null; |
@@ -134,6 +131,13 @@ export default class WorkspacesStore extends FeatureStore { | |||
134 | this.isWorkspaceDrawerOpen = false; | 131 | this.isWorkspaceDrawerOpen = false; |
135 | } | 132 | } |
136 | 133 | ||
134 | @action stop() { | ||
135 | super.stop(); | ||
136 | debug('WorkspacesStore::stop'); | ||
137 | this.reset(); | ||
138 | this.isFeatureActive = false; | ||
139 | } | ||
140 | |||
137 | filterServicesByActiveWorkspace = (services) => { | 141 | filterServicesByActiveWorkspace = (services) => { |
138 | const { activeWorkspace, isFeatureActive } = this; | 142 | const { activeWorkspace, isFeatureActive } = this; |
139 | if (isFeatureActive && activeWorkspace) { | 143 | if (isFeatureActive && activeWorkspace) { |
@@ -281,6 +285,7 @@ export default class WorkspacesStore extends FeatureStore { | |||
281 | }; | 285 | }; |
282 | 286 | ||
283 | _activateLastUsedWorkspaceReaction = () => { | 287 | _activateLastUsedWorkspaceReaction = () => { |
288 | debug('_activateLastUsedWorkspaceReaction'); | ||
284 | if (!this.activeWorkspace && this.userHasWorkspaces) { | 289 | if (!this.activeWorkspace && this.userHasWorkspaces) { |
285 | const { lastActiveWorkspace } = this.settings; | 290 | const { lastActiveWorkspace } = this.settings; |
286 | if (lastActiveWorkspace) { | 291 | if (lastActiveWorkspace) { |
@@ -324,10 +329,12 @@ export default class WorkspacesStore extends FeatureStore { | |||
324 | }); | 329 | }); |
325 | }; | 330 | }; |
326 | 331 | ||
327 | _stopPremiumActionsAndReactions = () => { | 332 | _disablePremiumFeatures = () => { |
328 | if (!this.isUserAllowedToUseFeature) { | 333 | if (!this.isUserAllowedToUseFeature) { |
334 | debug('_disablePremiumFeatures'); | ||
329 | this._stopActions(this._premiumUserActions); | 335 | this._stopActions(this._premiumUserActions); |
330 | this._stopReactions(this._premiumUserReactions); | 336 | this._stopReactions(this._premiumUserReactions); |
337 | this.reset(); | ||
331 | } else { | 338 | } else { |
332 | this._startActions(this._premiumUserActions); | 339 | this._startActions(this._premiumUserActions); |
333 | this._startReactions(this._premiumUserReactions); | 340 | this._startReactions(this._premiumUserReactions); |
diff --git a/src/i18n/locales/defaultMessages.json b/src/i18n/locales/defaultMessages.json index 836fe3b24..bdb1def11 100644 --- a/src/i18n/locales/defaultMessages.json +++ b/src/i18n/locales/defaultMessages.json | |||
@@ -4950,328 +4950,367 @@ | |||
4950 | } | 4950 | } |
4951 | }, | 4951 | }, |
4952 | { | 4952 | { |
4953 | "defaultMessage": "!!!Terms of Service", | 4953 | "defaultMessage": "!!!Copy Debug Information", |
4954 | "end": { | 4954 | "end": { |
4955 | "column": 3, | 4955 | "column": 3, |
4956 | "line": 134 | 4956 | "line": 134 |
4957 | }, | 4957 | }, |
4958 | "file": "src/lib/Menu.js", | 4958 | "file": "src/lib/Menu.js", |
4959 | "id": "menu.help.debugInfo", | ||
4960 | "start": { | ||
4961 | "column": 13, | ||
4962 | "line": 131 | ||
4963 | } | ||
4964 | }, | ||
4965 | { | ||
4966 | "defaultMessage": "!!!Franz Debug Information", | ||
4967 | "end": { | ||
4968 | "column": 3, | ||
4969 | "line": 138 | ||
4970 | }, | ||
4971 | "file": "src/lib/Menu.js", | ||
4972 | "id": "menu.help.debugInfoCopiedHeadline", | ||
4973 | "start": { | ||
4974 | "column": 27, | ||
4975 | "line": 135 | ||
4976 | } | ||
4977 | }, | ||
4978 | { | ||
4979 | "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.", | ||
4980 | "end": { | ||
4981 | "column": 3, | ||
4982 | "line": 142 | ||
4983 | }, | ||
4984 | "file": "src/lib/Menu.js", | ||
4985 | "id": "menu.help.debugInfoCopiedBody", | ||
4986 | "start": { | ||
4987 | "column": 23, | ||
4988 | "line": 139 | ||
4989 | } | ||
4990 | }, | ||
4991 | { | ||
4992 | "defaultMessage": "!!!Terms of Service", | ||
4993 | "end": { | ||
4994 | "column": 3, | ||
4995 | "line": 146 | ||
4996 | }, | ||
4997 | "file": "src/lib/Menu.js", | ||
4959 | "id": "menu.help.tos", | 4998 | "id": "menu.help.tos", |
4960 | "start": { | 4999 | "start": { |
4961 | "column": 7, | 5000 | "column": 7, |
4962 | "line": 131 | 5001 | "line": 143 |
4963 | } | 5002 | } |
4964 | }, | 5003 | }, |
4965 | { | 5004 | { |
4966 | "defaultMessage": "!!!Privacy Statement", | 5005 | "defaultMessage": "!!!Privacy Statement", |
4967 | "end": { | 5006 | "end": { |
4968 | "column": 3, | 5007 | "column": 3, |
4969 | "line": 138 | 5008 | "line": 150 |
4970 | }, | 5009 | }, |
4971 | "file": "src/lib/Menu.js", | 5010 | "file": "src/lib/Menu.js", |
4972 | "id": "menu.help.privacy", | 5011 | "id": "menu.help.privacy", |
4973 | "start": { | 5012 | "start": { |
4974 | "column": 11, | 5013 | "column": 11, |
4975 | "line": 135 | 5014 | "line": 147 |
4976 | } | 5015 | } |
4977 | }, | 5016 | }, |
4978 | { | 5017 | { |
4979 | "defaultMessage": "!!!File", | 5018 | "defaultMessage": "!!!File", |
4980 | "end": { | 5019 | "end": { |
4981 | "column": 3, | 5020 | "column": 3, |
4982 | "line": 142 | 5021 | "line": 154 |
4983 | }, | 5022 | }, |
4984 | "file": "src/lib/Menu.js", | 5023 | "file": "src/lib/Menu.js", |
4985 | "id": "menu.file", | 5024 | "id": "menu.file", |
4986 | "start": { | 5025 | "start": { |
4987 | "column": 8, | 5026 | "column": 8, |
4988 | "line": 139 | 5027 | "line": 151 |
4989 | } | 5028 | } |
4990 | }, | 5029 | }, |
4991 | { | 5030 | { |
4992 | "defaultMessage": "!!!View", | 5031 | "defaultMessage": "!!!View", |
4993 | "end": { | 5032 | "end": { |
4994 | "column": 3, | 5033 | "column": 3, |
4995 | "line": 146 | 5034 | "line": 158 |
4996 | }, | 5035 | }, |
4997 | "file": "src/lib/Menu.js", | 5036 | "file": "src/lib/Menu.js", |
4998 | "id": "menu.view", | 5037 | "id": "menu.view", |
4999 | "start": { | 5038 | "start": { |
5000 | "column": 8, | 5039 | "column": 8, |
5001 | "line": 143 | 5040 | "line": 155 |
5002 | } | 5041 | } |
5003 | }, | 5042 | }, |
5004 | { | 5043 | { |
5005 | "defaultMessage": "!!!Services", | 5044 | "defaultMessage": "!!!Services", |
5006 | "end": { | 5045 | "end": { |
5007 | "column": 3, | 5046 | "column": 3, |
5008 | "line": 150 | 5047 | "line": 162 |
5009 | }, | 5048 | }, |
5010 | "file": "src/lib/Menu.js", | 5049 | "file": "src/lib/Menu.js", |
5011 | "id": "menu.services", | 5050 | "id": "menu.services", |
5012 | "start": { | 5051 | "start": { |
5013 | "column": 12, | 5052 | "column": 12, |
5014 | "line": 147 | 5053 | "line": 159 |
5015 | } | 5054 | } |
5016 | }, | 5055 | }, |
5017 | { | 5056 | { |
5018 | "defaultMessage": "!!!Window", | 5057 | "defaultMessage": "!!!Window", |
5019 | "end": { | 5058 | "end": { |
5020 | "column": 3, | 5059 | "column": 3, |
5021 | "line": 154 | 5060 | "line": 166 |
5022 | }, | 5061 | }, |
5023 | "file": "src/lib/Menu.js", | 5062 | "file": "src/lib/Menu.js", |
5024 | "id": "menu.window", | 5063 | "id": "menu.window", |
5025 | "start": { | 5064 | "start": { |
5026 | "column": 10, | 5065 | "column": 10, |
5027 | "line": 151 | 5066 | "line": 163 |
5028 | } | 5067 | } |
5029 | }, | 5068 | }, |
5030 | { | 5069 | { |
5031 | "defaultMessage": "!!!Help", | 5070 | "defaultMessage": "!!!Help", |
5032 | "end": { | 5071 | "end": { |
5033 | "column": 3, | 5072 | "column": 3, |
5034 | "line": 158 | 5073 | "line": 170 |
5035 | }, | 5074 | }, |
5036 | "file": "src/lib/Menu.js", | 5075 | "file": "src/lib/Menu.js", |
5037 | "id": "menu.help", | 5076 | "id": "menu.help", |
5038 | "start": { | 5077 | "start": { |
5039 | "column": 8, | 5078 | "column": 8, |
5040 | "line": 155 | 5079 | "line": 167 |
5041 | } | 5080 | } |
5042 | }, | 5081 | }, |
5043 | { | 5082 | { |
5044 | "defaultMessage": "!!!About Franz", | 5083 | "defaultMessage": "!!!About Franz", |
5045 | "end": { | 5084 | "end": { |
5046 | "column": 3, | 5085 | "column": 3, |
5047 | "line": 162 | 5086 | "line": 174 |
5048 | }, | 5087 | }, |
5049 | "file": "src/lib/Menu.js", | 5088 | "file": "src/lib/Menu.js", |
5050 | "id": "menu.app.about", | 5089 | "id": "menu.app.about", |
5051 | "start": { | 5090 | "start": { |
5052 | "column": 9, | 5091 | "column": 9, |
5053 | "line": 159 | 5092 | "line": 171 |
5054 | } | 5093 | } |
5055 | }, | 5094 | }, |
5056 | { | 5095 | { |
5057 | "defaultMessage": "!!!What's new?", | 5096 | "defaultMessage": "!!!What's new?", |
5058 | "end": { | 5097 | "end": { |
5059 | "column": 3, | 5098 | "column": 3, |
5060 | "line": 166 | 5099 | "line": 178 |
5061 | }, | 5100 | }, |
5062 | "file": "src/lib/Menu.js", | 5101 | "file": "src/lib/Menu.js", |
5063 | "id": "menu.app.announcement", | 5102 | "id": "menu.app.announcement", |
5064 | "start": { | 5103 | "start": { |
5065 | "column": 16, | 5104 | "column": 16, |
5066 | "line": 163 | 5105 | "line": 175 |
5067 | } | 5106 | } |
5068 | }, | 5107 | }, |
5069 | { | 5108 | { |
5070 | "defaultMessage": "!!!Settings", | 5109 | "defaultMessage": "!!!Settings", |
5071 | "end": { | 5110 | "end": { |
5072 | "column": 3, | 5111 | "column": 3, |
5073 | "line": 170 | 5112 | "line": 182 |
5074 | }, | 5113 | }, |
5075 | "file": "src/lib/Menu.js", | 5114 | "file": "src/lib/Menu.js", |
5076 | "id": "menu.app.settings", | 5115 | "id": "menu.app.settings", |
5077 | "start": { | 5116 | "start": { |
5078 | "column": 12, | 5117 | "column": 12, |
5079 | "line": 167 | 5118 | "line": 179 |
5080 | } | 5119 | } |
5081 | }, | 5120 | }, |
5082 | { | 5121 | { |
5083 | "defaultMessage": "!!!Check for updates", | 5122 | "defaultMessage": "!!!Check for updates", |
5084 | "end": { | 5123 | "end": { |
5085 | "column": 3, | 5124 | "column": 3, |
5086 | "line": 174 | 5125 | "line": 186 |
5087 | }, | 5126 | }, |
5088 | "file": "src/lib/Menu.js", | 5127 | "file": "src/lib/Menu.js", |
5089 | "id": "menu.app.checkForUpdates", | 5128 | "id": "menu.app.checkForUpdates", |
5090 | "start": { | 5129 | "start": { |
5091 | "column": 19, | 5130 | "column": 19, |
5092 | "line": 171 | 5131 | "line": 183 |
5093 | } | 5132 | } |
5094 | }, | 5133 | }, |
5095 | { | 5134 | { |
5096 | "defaultMessage": "!!!Hide", | 5135 | "defaultMessage": "!!!Hide", |
5097 | "end": { | 5136 | "end": { |
5098 | "column": 3, | 5137 | "column": 3, |
5099 | "line": 178 | 5138 | "line": 190 |
5100 | }, | 5139 | }, |
5101 | "file": "src/lib/Menu.js", | 5140 | "file": "src/lib/Menu.js", |
5102 | "id": "menu.app.hide", | 5141 | "id": "menu.app.hide", |
5103 | "start": { | 5142 | "start": { |
5104 | "column": 8, | 5143 | "column": 8, |
5105 | "line": 175 | 5144 | "line": 187 |
5106 | } | 5145 | } |
5107 | }, | 5146 | }, |
5108 | { | 5147 | { |
5109 | "defaultMessage": "!!!Hide Others", | 5148 | "defaultMessage": "!!!Hide Others", |
5110 | "end": { | 5149 | "end": { |
5111 | "column": 3, | 5150 | "column": 3, |
5112 | "line": 182 | 5151 | "line": 194 |
5113 | }, | 5152 | }, |
5114 | "file": "src/lib/Menu.js", | 5153 | "file": "src/lib/Menu.js", |
5115 | "id": "menu.app.hideOthers", | 5154 | "id": "menu.app.hideOthers", |
5116 | "start": { | 5155 | "start": { |
5117 | "column": 14, | 5156 | "column": 14, |
5118 | "line": 179 | 5157 | "line": 191 |
5119 | } | 5158 | } |
5120 | }, | 5159 | }, |
5121 | { | 5160 | { |
5122 | "defaultMessage": "!!!Unhide", | 5161 | "defaultMessage": "!!!Unhide", |
5123 | "end": { | 5162 | "end": { |
5124 | "column": 3, | 5163 | "column": 3, |
5125 | "line": 186 | 5164 | "line": 198 |
5126 | }, | 5165 | }, |
5127 | "file": "src/lib/Menu.js", | 5166 | "file": "src/lib/Menu.js", |
5128 | "id": "menu.app.unhide", | 5167 | "id": "menu.app.unhide", |
5129 | "start": { | 5168 | "start": { |
5130 | "column": 10, | 5169 | "column": 10, |
5131 | "line": 183 | 5170 | "line": 195 |
5132 | } | 5171 | } |
5133 | }, | 5172 | }, |
5134 | { | 5173 | { |
5135 | "defaultMessage": "!!!Quit", | 5174 | "defaultMessage": "!!!Quit", |
5136 | "end": { | 5175 | "end": { |
5137 | "column": 3, | 5176 | "column": 3, |
5138 | "line": 190 | 5177 | "line": 202 |
5139 | }, | 5178 | }, |
5140 | "file": "src/lib/Menu.js", | 5179 | "file": "src/lib/Menu.js", |
5141 | "id": "menu.app.quit", | 5180 | "id": "menu.app.quit", |
5142 | "start": { | 5181 | "start": { |
5143 | "column": 8, | 5182 | "column": 8, |
5144 | "line": 187 | 5183 | "line": 199 |
5145 | } | 5184 | } |
5146 | }, | 5185 | }, |
5147 | { | 5186 | { |
5148 | "defaultMessage": "!!!Add New Service...", | 5187 | "defaultMessage": "!!!Add New Service...", |
5149 | "end": { | 5188 | "end": { |
5150 | "column": 3, | 5189 | "column": 3, |
5151 | "line": 194 | 5190 | "line": 206 |
5152 | }, | 5191 | }, |
5153 | "file": "src/lib/Menu.js", | 5192 | "file": "src/lib/Menu.js", |
5154 | "id": "menu.services.addNewService", | 5193 | "id": "menu.services.addNewService", |
5155 | "start": { | 5194 | "start": { |
5156 | "column": 17, | 5195 | "column": 17, |
5157 | "line": 191 | 5196 | "line": 203 |
5158 | } | 5197 | } |
5159 | }, | 5198 | }, |
5160 | { | 5199 | { |
5161 | "defaultMessage": "!!!Add New Workspace...", | 5200 | "defaultMessage": "!!!Add New Workspace...", |
5162 | "end": { | 5201 | "end": { |
5163 | "column": 3, | 5202 | "column": 3, |
5164 | "line": 198 | 5203 | "line": 210 |
5165 | }, | 5204 | }, |
5166 | "file": "src/lib/Menu.js", | 5205 | "file": "src/lib/Menu.js", |
5167 | "id": "menu.workspaces.addNewWorkspace", | 5206 | "id": "menu.workspaces.addNewWorkspace", |
5168 | "start": { | 5207 | "start": { |
5169 | "column": 19, | 5208 | "column": 19, |
5170 | "line": 195 | 5209 | "line": 207 |
5171 | } | 5210 | } |
5172 | }, | 5211 | }, |
5173 | { | 5212 | { |
5174 | "defaultMessage": "!!!Open workspace drawer", | 5213 | "defaultMessage": "!!!Open workspace drawer", |
5175 | "end": { | 5214 | "end": { |
5176 | "column": 3, | 5215 | "column": 3, |
5177 | "line": 202 | 5216 | "line": 214 |
5178 | }, | 5217 | }, |
5179 | "file": "src/lib/Menu.js", | 5218 | "file": "src/lib/Menu.js", |
5180 | "id": "menu.workspaces.openWorkspaceDrawer", | 5219 | "id": "menu.workspaces.openWorkspaceDrawer", |
5181 | "start": { | 5220 | "start": { |
5182 | "column": 23, | 5221 | "column": 23, |
5183 | "line": 199 | 5222 | "line": 211 |
5184 | } | 5223 | } |
5185 | }, | 5224 | }, |
5186 | { | 5225 | { |
5187 | "defaultMessage": "!!!Close workspace drawer", | 5226 | "defaultMessage": "!!!Close workspace drawer", |
5188 | "end": { | 5227 | "end": { |
5189 | "column": 3, | 5228 | "column": 3, |
5190 | "line": 206 | 5229 | "line": 218 |
5191 | }, | 5230 | }, |
5192 | "file": "src/lib/Menu.js", | 5231 | "file": "src/lib/Menu.js", |
5193 | "id": "menu.workspaces.closeWorkspaceDrawer", | 5232 | "id": "menu.workspaces.closeWorkspaceDrawer", |
5194 | "start": { | 5233 | "start": { |
5195 | "column": 24, | 5234 | "column": 24, |
5196 | "line": 203 | 5235 | "line": 215 |
5197 | } | 5236 | } |
5198 | }, | 5237 | }, |
5199 | { | 5238 | { |
5200 | "defaultMessage": "!!!Activate next service...", | 5239 | "defaultMessage": "!!!Activate next service...", |
5201 | "end": { | 5240 | "end": { |
5202 | "column": 3, | 5241 | "column": 3, |
5203 | "line": 210 | 5242 | "line": 222 |
5204 | }, | 5243 | }, |
5205 | "file": "src/lib/Menu.js", | 5244 | "file": "src/lib/Menu.js", |
5206 | "id": "menu.services.setNextServiceActive", | 5245 | "id": "menu.services.setNextServiceActive", |
5207 | "start": { | 5246 | "start": { |
5208 | "column": 23, | 5247 | "column": 23, |
5209 | "line": 207 | 5248 | "line": 219 |
5210 | } | 5249 | } |
5211 | }, | 5250 | }, |
5212 | { | 5251 | { |
5213 | "defaultMessage": "!!!Activate previous service...", | 5252 | "defaultMessage": "!!!Activate previous service...", |
5214 | "end": { | 5253 | "end": { |
5215 | "column": 3, | 5254 | "column": 3, |
5216 | "line": 214 | 5255 | "line": 226 |
5217 | }, | 5256 | }, |
5218 | "file": "src/lib/Menu.js", | 5257 | "file": "src/lib/Menu.js", |
5219 | "id": "menu.services.activatePreviousService", | 5258 | "id": "menu.services.activatePreviousService", |
5220 | "start": { | 5259 | "start": { |
5221 | "column": 27, | 5260 | "column": 27, |
5222 | "line": 211 | 5261 | "line": 223 |
5223 | } | 5262 | } |
5224 | }, | 5263 | }, |
5225 | { | 5264 | { |
5226 | "defaultMessage": "!!!Disable notifications & audio", | 5265 | "defaultMessage": "!!!Disable notifications & audio", |
5227 | "end": { | 5266 | "end": { |
5228 | "column": 3, | 5267 | "column": 3, |
5229 | "line": 218 | 5268 | "line": 230 |
5230 | }, | 5269 | }, |
5231 | "file": "src/lib/Menu.js", | 5270 | "file": "src/lib/Menu.js", |
5232 | "id": "sidebar.muteApp", | 5271 | "id": "sidebar.muteApp", |
5233 | "start": { | 5272 | "start": { |
5234 | "column": 11, | 5273 | "column": 11, |
5235 | "line": 215 | 5274 | "line": 227 |
5236 | } | 5275 | } |
5237 | }, | 5276 | }, |
5238 | { | 5277 | { |
5239 | "defaultMessage": "!!!Enable notifications & audio", | 5278 | "defaultMessage": "!!!Enable notifications & audio", |
5240 | "end": { | 5279 | "end": { |
5241 | "column": 3, | 5280 | "column": 3, |
5242 | "line": 222 | 5281 | "line": 234 |
5243 | }, | 5282 | }, |
5244 | "file": "src/lib/Menu.js", | 5283 | "file": "src/lib/Menu.js", |
5245 | "id": "sidebar.unmuteApp", | 5284 | "id": "sidebar.unmuteApp", |
5246 | "start": { | 5285 | "start": { |
5247 | "column": 13, | 5286 | "column": 13, |
5248 | "line": 219 | 5287 | "line": 231 |
5249 | } | 5288 | } |
5250 | }, | 5289 | }, |
5251 | { | 5290 | { |
5252 | "defaultMessage": "!!!Workspaces", | 5291 | "defaultMessage": "!!!Workspaces", |
5253 | "end": { | 5292 | "end": { |
5254 | "column": 3, | 5293 | "column": 3, |
5255 | "line": 226 | 5294 | "line": 238 |
5256 | }, | 5295 | }, |
5257 | "file": "src/lib/Menu.js", | 5296 | "file": "src/lib/Menu.js", |
5258 | "id": "menu.workspaces", | 5297 | "id": "menu.workspaces", |
5259 | "start": { | 5298 | "start": { |
5260 | "column": 14, | 5299 | "column": 14, |
5261 | "line": 223 | 5300 | "line": 235 |
5262 | } | 5301 | } |
5263 | }, | 5302 | }, |
5264 | { | 5303 | { |
5265 | "defaultMessage": "!!!Default", | 5304 | "defaultMessage": "!!!Default", |
5266 | "end": { | 5305 | "end": { |
5267 | "column": 3, | 5306 | "column": 3, |
5268 | "line": 230 | 5307 | "line": 242 |
5269 | }, | 5308 | }, |
5270 | "file": "src/lib/Menu.js", | 5309 | "file": "src/lib/Menu.js", |
5271 | "id": "menu.workspaces.defaultWorkspace", | 5310 | "id": "menu.workspaces.defaultWorkspace", |
5272 | "start": { | 5311 | "start": { |
5273 | "column": 20, | 5312 | "column": 20, |
5274 | "line": 227 | 5313 | "line": 239 |
5275 | } | 5314 | } |
5276 | } | 5315 | } |
5277 | ], | 5316 | ], |
diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json index eb0027424..cd1e39543 100644 --- a/src/i18n/locales/en-US.json +++ b/src/i18n/locales/en-US.json | |||
@@ -72,6 +72,9 @@ | |||
72 | "menu.file": "File", | 72 | "menu.file": "File", |
73 | "menu.help": "Help", | 73 | "menu.help": "Help", |
74 | "menu.help.changelog": "Changelog", | 74 | "menu.help.changelog": "Changelog", |
75 | "menu.help.debugInfo": "Copy Debug Information", | ||
76 | "menu.help.debugInfoCopiedBody": "Your Debug Information has been copied to your clipboard.", | ||
77 | "menu.help.debugInfoCopiedHeadline": "Franz Debug Information", | ||
75 | "menu.help.learnMore": "Learn More", | 78 | "menu.help.learnMore": "Learn More", |
76 | "menu.help.privacy": "Privacy Statement", | 79 | "menu.help.privacy": "Privacy Statement", |
77 | "menu.help.support": "Support", | 80 | "menu.help.support": "Support", |
diff --git a/src/i18n/locales/es.json b/src/i18n/locales/es.json index 27f4c7d88..15ade7941 100644 --- a/src/i18n/locales/es.json +++ b/src/i18n/locales/es.json | |||
@@ -1,11 +1,11 @@ | |||
1 | { | 1 | { |
2 | "app.errorHandler.action" : "Recargar", | 2 | "app.errorHandler.action" : "Actualizar", |
3 | "app.errorHandler.headline" : "Ha surgido un error", | 3 | "app.errorHandler.headline" : "Algo salió mal", |
4 | "feature.announcements.changelog.headline" : "Cambios en Franz {version}", | 4 | "feature.announcements.changelog.headline" : "Cambios en Franz {version}", |
5 | "feature.delayApp.action" : "Consigue una Licencia de Soporte de Franz", | 5 | "feature.delayApp.action" : "Consigue una Licencia de Soporte de Franz", |
6 | "feature.delayApp.headline" : "Por favor, compra una Licencia de Soporte de Franz para saltar la espera", | 6 | "feature.delayApp.headline" : "Por favor compra una Licencia de Soporte de Franz para omitir la espera", |
7 | "feature.delayApp.text" : "Franz continuará en {seconds} segundos.", | 7 | "feature.delayApp.text" : "Franz continuará en {seconds} segundos.", |
8 | "feature.shareFranz.action.email" : "EnvÃa como correo", | 8 | "feature.shareFranz.action.email" : "Enviar como correo", |
9 | "feature.shareFranz.action.facebook" : "Compartir en Facebook", | 9 | "feature.shareFranz.action.facebook" : "Compartir en Facebook", |
10 | "feature.shareFranz.action.twitter" : "Compartir en Twitter", | 10 | "feature.shareFranz.action.twitter" : "Compartir en Twitter", |
11 | "feature.shareFranz.headline" : "¡Juntos mejoramos Franz!", | 11 | "feature.shareFranz.headline" : "¡Juntos mejoramos Franz!", |
@@ -19,7 +19,7 @@ | |||
19 | "global.spellchecking.autodetect.short" : "Automático", | 19 | "global.spellchecking.autodetect.short" : "Automático", |
20 | "global.spellchecking.language" : "Corrector de ortografÃa", | 20 | "global.spellchecking.language" : "Corrector de ortografÃa", |
21 | "import.headline" : "Importa tus servicios de Franz 4", | 21 | "import.headline" : "Importa tus servicios de Franz 4", |
22 | "import.notSupportedHeadline" : "Servicios no admitidos aún en Franz 5", | 22 | "import.notSupportedHeadline" : "Servicios aún no admitidos en Franz 5", |
23 | "import.skip.label" : "Quiero agregar servicios manualmente", | 23 | "import.skip.label" : "Quiero agregar servicios manualmente", |
24 | "import.submit.label" : "Importar servicios", | 24 | "import.submit.label" : "Importar servicios", |
25 | "infobar.buttonChangelog" : "¿Qué hay de nuevo?", | 25 | "infobar.buttonChangelog" : "¿Qué hay de nuevo?", |
@@ -43,7 +43,7 @@ | |||
43 | "login.serverLogout" : "Tu sesión ha expirado, por favor inicia la sesión de nuevo.", | 43 | "login.serverLogout" : "Tu sesión ha expirado, por favor inicia la sesión de nuevo.", |
44 | "login.submit.label" : "Iniciar sesión", | 44 | "login.submit.label" : "Iniciar sesión", |
45 | "login.tokenExpired" : "Tu sesión ha expirado, por favor inicia sesión de nuevo.", | 45 | "login.tokenExpired" : "Tu sesión ha expirado, por favor inicia sesión de nuevo.", |
46 | "menu.app.about" : "Sobre Franz", | 46 | "menu.app.about" : "Acerca de Franz", |
47 | "menu.app.announcement" : "¿Qué hay de nuevo?", | 47 | "menu.app.announcement" : "¿Qué hay de nuevo?", |
48 | "menu.app.checkForUpdates" : "Comprobar actualizaciones", | 48 | "menu.app.checkForUpdates" : "Comprobar actualizaciones", |
49 | "menu.app.hide" : "Ocultar", | 49 | "menu.app.hide" : "Ocultar", |
@@ -70,7 +70,7 @@ | |||
70 | "menu.help.changelog" : "Registro de cambios", | 70 | "menu.help.changelog" : "Registro de cambios", |
71 | "menu.help.learnMore" : "Conocer más", | 71 | "menu.help.learnMore" : "Conocer más", |
72 | "menu.help.privacy" : "Declaración de privacidad", | 72 | "menu.help.privacy" : "Declaración de privacidad", |
73 | "menu.help.support" : "Ayuda técnica", | 73 | "menu.help.support" : "Soporte", |
74 | "menu.help.tos" : "Términos del Servicio", | 74 | "menu.help.tos" : "Términos del Servicio", |
75 | "menu.services" : "Servicios", | 75 | "menu.services" : "Servicios", |
76 | "menu.services.activatePreviousService" : "Activa el servicio previo", | 76 | "menu.services.activatePreviousService" : "Activa el servicio previo", |
@@ -144,7 +144,7 @@ | |||
144 | "settings.account.userInfoRequestFailed" : "No se pudo cargar la información de usuario", | 144 | "settings.account.userInfoRequestFailed" : "No se pudo cargar la información de usuario", |
145 | "settings.app.buttonClearAllCache" : "Limpiar caché", | 145 | "settings.app.buttonClearAllCache" : "Limpiar caché", |
146 | "settings.app.buttonInstallUpdate" : "Reiniciar e instalar actualizaciones", | 146 | "settings.app.buttonInstallUpdate" : "Reiniciar e instalar actualizaciones", |
147 | "settings.app.buttonSearchForUpdate" : "Comprobar actualizaciones", | 147 | "settings.app.buttonSearchForUpdate" : "Buscar actualizaciones", |
148 | "settings.app.cacheInfo" : "El cache de Franz actualmente usa {size} de espacio en disco.", | 148 | "settings.app.cacheInfo" : "El cache de Franz actualmente usa {size} de espacio en disco.", |
149 | "settings.app.currentVersion" : "Versión actual:", | 149 | "settings.app.currentVersion" : "Versión actual:", |
150 | "settings.app.form.autoLaunchInBackground" : "Abrir en segundo plano", | 150 | "settings.app.form.autoLaunchInBackground" : "Abrir en segundo plano", |
@@ -165,7 +165,7 @@ | |||
165 | "settings.app.headlineGeneral" : "General", | 165 | "settings.app.headlineGeneral" : "General", |
166 | "settings.app.headlineLanguage" : "Idioma", | 166 | "settings.app.headlineLanguage" : "Idioma", |
167 | "settings.app.headlineUpdates" : "Actualizaciones", | 167 | "settings.app.headlineUpdates" : "Actualizaciones", |
168 | "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.", | 168 | "settings.app.languageDisclaimer" : "Las traducciones oficiales son en inglés y alemán. Todos los demás idiomas son traducciones basadas en la comunidad.", |
169 | "settings.app.restartRequired" : "Los cambios requieren reiniciar", | 169 | "settings.app.restartRequired" : "Los cambios requieren reiniciar", |
170 | "settings.app.subheadlineCache" : "Caché", | 170 | "settings.app.subheadlineCache" : "Caché", |
171 | "settings.app.translationHelp" : "Ayúdanos a traducir Franz a tu idioma.", | 171 | "settings.app.translationHelp" : "Ayúdanos a traducir Franz a tu idioma.", |
@@ -265,7 +265,7 @@ | |||
265 | "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.", | 265 | "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.", |
266 | "settings.workspaces.tryReloadWorkspaces" : "Inténtalo de nuevo", | 266 | "settings.workspaces.tryReloadWorkspaces" : "Inténtalo de nuevo", |
267 | "settings.workspaces.updatedInfo" : "Tus cambios han sido guardados", | 267 | "settings.workspaces.updatedInfo" : "Tus cambios han sido guardados", |
268 | "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces", | 268 | "settings.workspaces.workspaceFeatureHeadline" : "Menos es más: Presentación de Franz Workspaces", |
269 | "settings.workspaces.workspaceFeatureInfo" : "Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.", | 269 | "settings.workspaces.workspaceFeatureInfo" : "Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.", |
270 | "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces", | 270 | "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces", |
271 | "sidebar.addNewService" : "Añadir nuevo servicio", | 271 | "sidebar.addNewService" : "Añadir nuevo servicio", |
diff --git a/src/i18n/locales/fr.json b/src/i18n/locales/fr.json index 90072f2b7..9227ff28f 100644 --- a/src/i18n/locales/fr.json +++ b/src/i18n/locales/fr.json | |||
@@ -3,7 +3,7 @@ | |||
3 | "app.errorHandler.headline" : "Une erreur s'est produite", | 3 | "app.errorHandler.headline" : "Une erreur s'est produite", |
4 | "feature.announcements.changelog.headline" : "Changements dans Franz {version}", | 4 | "feature.announcements.changelog.headline" : "Changements dans Franz {version}", |
5 | "feature.delayApp.action" : "Obtenez une licence de Supporter Franz", | 5 | "feature.delayApp.action" : "Obtenez une licence de Supporter Franz", |
6 | "feature.delayApp.headline" : "Veuillez acheter une licence de Supporter Franz pour sauter le temps d'attente", | 6 | "feature.delayApp.headline" : "Achetez une licence de Supporter Franz pour ne plus avoir de temps d'attente", |
7 | "feature.delayApp.text" : "Franz reprendra dans {seconds} secondes.", | 7 | "feature.delayApp.text" : "Franz reprendra dans {seconds} secondes.", |
8 | "feature.shareFranz.action.email" : "Envoyer par mail", | 8 | "feature.shareFranz.action.email" : "Envoyer par mail", |
9 | "feature.shareFranz.action.facebook" : "Partager sur Facebook", | 9 | "feature.shareFranz.action.facebook" : "Partager sur Facebook", |
@@ -11,7 +11,7 @@ | |||
11 | "feature.shareFranz.headline" : "Franz est meilleur quand on est tous ensemble !", | 11 | "feature.shareFranz.headline" : "Franz est meilleur quand on est tous ensemble !", |
12 | "feature.shareFranz.shareText.email" : "J'ai ajouté {count} services à Franz ! Télécharger l'appli gratuite pour WhatsApp, Messenger, Skype et cie sur www.meetfranz.com", | 12 | "feature.shareFranz.shareText.email" : "J'ai ajouté {count} services à Franz ! Télécharger l'appli gratuite pour WhatsApp, Messenger, Skype et cie sur www.meetfranz.com", |
13 | "feature.shareFranz.shareText.twitter" : "J'ai ajouté {count} services à Franz! Télécharge l'application gratuite pour WhatsApp, Messenger, Slack, Skype et compagnie sur www.meetfranz.com \/cc @FranzMessenger", | 13 | "feature.shareFranz.shareText.twitter" : "J'ai ajouté {count} services à Franz! Télécharge l'application gratuite pour WhatsApp, Messenger, Slack, Skype et compagnie sur www.meetfranz.com \/cc @FranzMessenger", |
14 | "feature.shareFranz.text" : "Dites à vos amis et collègues combien Franz est super et aidez nous à faire passer le mot.", | 14 | "feature.shareFranz.text" : "Dites à vos amis et collègues a quel point Franz est super et aidez nous à faire passer le mot.", |
15 | "global.api.unhealthy" : "Impossible de se connecter aux services en ligne de Franz", | 15 | "global.api.unhealthy" : "Impossible de se connecter aux services en ligne de Franz", |
16 | "global.notConnectedToTheInternet" : "Vous n'êtes pas connecté à Internet.", | 16 | "global.notConnectedToTheInternet" : "Vous n'êtes pas connecté à Internet.", |
17 | "global.spellchecker.useDefault" : "Par défaut ({default})", | 17 | "global.spellchecker.useDefault" : "Par défaut ({default})", |
@@ -19,7 +19,7 @@ | |||
19 | "global.spellchecking.autodetect.short" : "Automatiquement", | 19 | "global.spellchecking.autodetect.short" : "Automatiquement", |
20 | "global.spellchecking.language" : "Langue de la vérification orthographique", | 20 | "global.spellchecking.language" : "Langue de la vérification orthographique", |
21 | "import.headline" : "Importez vos services depuis la version 4 de Franz.", | 21 | "import.headline" : "Importez vos services depuis la version 4 de Franz.", |
22 | "import.notSupportedHeadline" : "Ces services ne sont pas encore supportés par Franz 5", | 22 | "import.notSupportedHeadline" : "Ces services ne sont pas encore supportés par la version 5 de Franz", |
23 | "import.skip.label" : "Je veux ajouter des services manuellement", | 23 | "import.skip.label" : "Je veux ajouter des services manuellement", |
24 | "import.submit.label" : "Importer des services", | 24 | "import.submit.label" : "Importer des services", |
25 | "infobar.buttonChangelog" : "Nouveautés", | 25 | "infobar.buttonChangelog" : "Nouveautés", |
@@ -27,7 +27,7 @@ | |||
27 | "infobar.buttonReloadServices" : "Recharger les services", | 27 | "infobar.buttonReloadServices" : "Recharger les services", |
28 | "infobar.requiredRequestsFailed" : "Impossible d'accéder aux services et informations de l'utilisateur", | 28 | "infobar.requiredRequestsFailed" : "Impossible d'accéder aux services et informations de l'utilisateur", |
29 | "infobar.servicesUpdated" : "Vos services ont été mis à jour.", | 29 | "infobar.servicesUpdated" : "Vos services ont été mis à jour.", |
30 | "infobar.updateAvailable" : "Une nouvelle mise à jour pour Franz est disponible.", | 30 | "infobar.updateAvailable" : "Une nouvelle mise à jour de Franz est disponible.", |
31 | "invite.email.label" : "Adresse Email", | 31 | "invite.email.label" : "Adresse Email", |
32 | "invite.headline.friends" : "Invitez 3 amis ou collègues", | 32 | "invite.headline.friends" : "Invitez 3 amis ou collègues", |
33 | "invite.name.label" : "Nom", | 33 | "invite.name.label" : "Nom", |
@@ -44,7 +44,7 @@ | |||
44 | "login.submit.label" : "Se connecter", | 44 | "login.submit.label" : "Se connecter", |
45 | "login.tokenExpired" : "Votre session a expiré, veuillez vous reconnecter.", | 45 | "login.tokenExpired" : "Votre session a expiré, veuillez vous reconnecter.", |
46 | "menu.app.about" : "À propos de Franz", | 46 | "menu.app.about" : "À propos de Franz", |
47 | "menu.app.announcement" : "Quoi de neuf? ", | 47 | "menu.app.announcement" : "Quoi de neuf ? ", |
48 | "menu.app.checkForUpdates" : "Vérifier les mises à jour", | 48 | "menu.app.checkForUpdates" : "Vérifier les mises à jour", |
49 | "menu.app.hide" : "Masquer", | 49 | "menu.app.hide" : "Masquer", |
50 | "menu.app.hideOthers" : "Masquer les autres", | 50 | "menu.app.hideOthers" : "Masquer les autres", |
@@ -70,7 +70,7 @@ | |||
70 | "menu.help.changelog" : "Liste des modifications", | 70 | "menu.help.changelog" : "Liste des modifications", |
71 | "menu.help.learnMore" : "En savoir plus", | 71 | "menu.help.learnMore" : "En savoir plus", |
72 | "menu.help.privacy" : "Déclaration de confidentialité", | 72 | "menu.help.privacy" : "Déclaration de confidentialité", |
73 | "menu.help.support" : "Support", | 73 | "menu.help.support" : "Assistance", |
74 | "menu.help.tos" : "Conditions d'utilisation", | 74 | "menu.help.tos" : "Conditions d'utilisation", |
75 | "menu.services" : "Services", | 75 | "menu.services" : "Services", |
76 | "menu.services.activatePreviousService" : "Activer le service précédent", | 76 | "menu.services.activatePreviousService" : "Activer le service précédent", |
@@ -79,9 +79,9 @@ | |||
79 | "menu.view" : "Aperçu", | 79 | "menu.view" : "Aperçu", |
80 | "menu.view.enterFullScreen" : "Entrer en mode plein écran", | 80 | "menu.view.enterFullScreen" : "Entrer en mode plein écran", |
81 | "menu.view.exitFullScreen" : "Sortir du mode plein écran", | 81 | "menu.view.exitFullScreen" : "Sortir du mode plein écran", |
82 | "menu.view.reloadFranz" : "Actualiser Franz", | 82 | "menu.view.reloadFranz" : "Recharger Franz", |
83 | "menu.view.reloadService" : "Redémarrer le service", | 83 | "menu.view.reloadService" : "Redémarrer le service", |
84 | "menu.view.resetZoom" : "Taille réelle", | 84 | "menu.view.resetZoom" : "Taille actuelle", |
85 | "menu.view.toggleDevTools" : "Activer les outils développeur", | 85 | "menu.view.toggleDevTools" : "Activer les outils développeur", |
86 | "menu.view.toggleFullScreen" : "Activer \/ désactiver le mode plein écran", | 86 | "menu.view.toggleFullScreen" : "Activer \/ désactiver le mode plein écran", |
87 | "menu.view.toggleServiceDevTools" : "Activer les outils de développement WebKit", | 87 | "menu.view.toggleServiceDevTools" : "Activer les outils de développement WebKit", |
@@ -102,7 +102,7 @@ | |||
102 | "password.noUser" : "Aucun utilisateur n'a été trouvé avec cette adresse email", | 102 | "password.noUser" : "Aucun utilisateur n'a été trouvé avec cette adresse email", |
103 | "password.submit.label" : "Soumettre", | 103 | "password.submit.label" : "Soumettre", |
104 | "password.successInfo" : "Merci de consulter vos emails", | 104 | "password.successInfo" : "Merci de consulter vos emails", |
105 | "premiumFeature.button.upgradeAccount" : "Mettre à niveau mon compte", | 105 | "premiumFeature.button.upgradeAccount" : "Augmenter le niveau de mon compte", |
106 | "pricing.headline" : "Soutenez Franz", | 106 | "pricing.headline" : "Soutenez Franz", |
107 | "pricing.link.skipPayment" : "Je ne veux pas soutenir le développement de Franz.", | 107 | "pricing.link.skipPayment" : "Je ne veux pas soutenir le développement de Franz.", |
108 | "pricing.submit.label" : "Je veux soutenir le développement de Franz", | 108 | "pricing.submit.label" : "Je veux soutenir le développement de Franz", |
diff --git a/src/i18n/locales/hu.json b/src/i18n/locales/hu.json index 701568b1c..43e0da91a 100644 --- a/src/i18n/locales/hu.json +++ b/src/i18n/locales/hu.json | |||
@@ -8,7 +8,7 @@ | |||
8 | "feature.shareFranz.action.email" : "Küldés email-ben", | 8 | "feature.shareFranz.action.email" : "Küldés email-ben", |
9 | "feature.shareFranz.action.facebook" : "Megosztás Facebook-on", | 9 | "feature.shareFranz.action.facebook" : "Megosztás Facebook-on", |
10 | "feature.shareFranz.action.twitter" : "Megosztás Twitter-en", | 10 | "feature.shareFranz.action.twitter" : "Megosztás Twitter-en", |
11 | "feature.shareFranz.headline" : "Franz is better together!", | 11 | "feature.shareFranz.headline" : "A Franz barátokkal együtt mégjobb!", |
12 | "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", | 12 | "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", |
13 | "feature.shareFranz.shareText.twitter" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com \/cc @FranzMessenger", | 13 | "feature.shareFranz.shareText.twitter" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com \/cc @FranzMessenger", |
14 | "feature.shareFranz.text" : "Tell your friends and colleagues how awesome Franz is and help us to spread the word.", | 14 | "feature.shareFranz.text" : "Tell your friends and colleagues how awesome Franz is and help us to spread the word.", |
@@ -44,7 +44,7 @@ | |||
44 | "login.submit.label" : "Bejelentkezés", | 44 | "login.submit.label" : "Bejelentkezés", |
45 | "login.tokenExpired" : "A munkamenet lejárt, kérlek lépj be újra.", | 45 | "login.tokenExpired" : "A munkamenet lejárt, kérlek lépj be újra.", |
46 | "menu.app.about" : "Névjegy", | 46 | "menu.app.about" : "Névjegy", |
47 | "menu.app.announcement" : "What's new?", | 47 | "menu.app.announcement" : "Mi újság?", |
48 | "menu.app.checkForUpdates" : "FrissÃtések keresése", | 48 | "menu.app.checkForUpdates" : "FrissÃtések keresése", |
49 | "menu.app.hide" : "Elrejt", | 49 | "menu.app.hide" : "Elrejt", |
50 | "menu.app.hideOthers" : "Többi elrejtése", | 50 | "menu.app.hideOthers" : "Többi elrejtése", |
@@ -233,17 +233,17 @@ | |||
233 | "settings.services.discoverServices" : "Szolgáltatások felfedezése", | 233 | "settings.services.discoverServices" : "Szolgáltatások felfedezése", |
234 | "settings.services.headline" : "Szolgáltatásaid", | 234 | "settings.services.headline" : "Szolgáltatásaid", |
235 | "settings.services.noServicesAdded" : "Még nem adtál hozzá egyetlen szolgáltatást sem eddig.", | 235 | "settings.services.noServicesAdded" : "Még nem adtál hozzá egyetlen szolgáltatást sem eddig.", |
236 | "settings.services.servicesRequestFailed" : "Could not load your services", | 236 | "settings.services.servicesRequestFailed" : "Szolgáltatásaid betöltése sikertelen", |
237 | "settings.services.tooltip.isDisabled" : "A szolgáltatás le van tiltva", | 237 | "settings.services.tooltip.isDisabled" : "A szolgáltatás le van tiltva", |
238 | "settings.services.tooltip.isMuted" : "Minden hang lenémÃtva", | 238 | "settings.services.tooltip.isMuted" : "Minden hang lenémÃtva", |
239 | "settings.services.tooltip.notificationsDisabled" : "ÉrtesÃtések letiltva", | 239 | "settings.services.tooltip.notificationsDisabled" : "ÉrtesÃtések letiltva", |
240 | "settings.services.updatedInfo" : "A módosÃtásokat elmentettük", | 240 | "settings.services.updatedInfo" : "A módosÃtásokat elmentettük", |
241 | "settings.team.contentHeadline" : "Franz for Teams", | 241 | "settings.team.contentHeadline" : "Franz for Teams", |
242 | "settings.team.copy" : "Franz for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!", | 242 | "settings.team.copy" : "A Franz for Teams lehetÅ‘séget teremt arra, hogy meghÃvd munkatársaidat a csapatodba email-en keresztül, és kezelhesd a Franz elÅ‘fizetéseiket és fiókbeállÃtásaikat. Ne fecséreld az idÅ‘det minden egyes csapattag regisztrációjára, felejtsd el a sok-sok egyéni számlát és különbözÅ‘ lejárati idÅ‘t - egy mindenek felett!", |
243 | "settings.team.headline" : "Csapat", | 243 | "settings.team.headline" : "Csapat", |
244 | "settings.team.intro" : "You and your team use Franz? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.", | 244 | "settings.team.intro" : "Te és a csapatod Franz-ot használtok? Egy fiókból kezelheted kollégáid, barátaid vagy családtagjaid Prémium előfizetéseit.", |
245 | "settings.team.manageAction" : "Manage your Team on meetfranz.com", | 245 | "settings.team.manageAction" : "Csapat kezelése a meetfranz.com-on", |
246 | "settings.team.upgradeAction" : "Upgrade your Account", | 246 | "settings.team.upgradeAction" : "Előfizetés", |
247 | "settings.user.form.accountType.company" : "Cég", | 247 | "settings.user.form.accountType.company" : "Cég", |
248 | "settings.user.form.accountType.individual" : "Egyén", | 248 | "settings.user.form.accountType.individual" : "Egyén", |
249 | "settings.user.form.accountType.label" : "Fiók tÃpusa", | 249 | "settings.user.form.accountType.label" : "Fiók tÃpusa", |
@@ -293,7 +293,7 @@ | |||
293 | "subscription.features.onpremise.mattermost" : "Saját kiszolgálós szolgáltatások hozzáadása, pl.: Mattermost", | 293 | "subscription.features.onpremise.mattermost" : "Saját kiszolgálós szolgáltatások hozzáadása, pl.: Mattermost", |
294 | "subscription.features.proxy" : "Proxy támogatás a szolgáltatásokhoz", | 294 | "subscription.features.proxy" : "Proxy támogatás a szolgáltatásokhoz", |
295 | "subscription.features.spellchecker" : "Támogatás a HelyesÃrás-ellenÅ‘rzÅ‘höz", | 295 | "subscription.features.spellchecker" : "Támogatás a HelyesÃrás-ellenÅ‘rzÅ‘höz", |
296 | "subscription.features.workspaces" : "Organize your services in workspaces", | 296 | "subscription.features.workspaces" : "Rendezd szolgáltatásaidat Munkaterületekbe", |
297 | "subscription.includedFeatures" : "Az előfizetett Franz Prémium Támogató Fiók tartalmazza", | 297 | "subscription.includedFeatures" : "Az előfizetett Franz Prémium Támogató Fiók tartalmazza", |
298 | "subscription.paymentSessionError" : "Nem sikerült a fizetési felületet betölteni", | 298 | "subscription.paymentSessionError" : "Nem sikerült a fizetési felületet betölteni", |
299 | "subscription.submit.label" : "Szeretném támogatni a Franz fejlesztését", | 299 | "subscription.submit.label" : "Szeretném támogatni a Franz fejlesztését", |
@@ -313,12 +313,12 @@ | |||
313 | "tabs.item.reload" : "Újratöltés", | 313 | "tabs.item.reload" : "Újratöltés", |
314 | "validation.email" : "{field} nem érvényes", | 314 | "validation.email" : "{field} nem érvényes", |
315 | "validation.minLength" : "{field} mezőnek legalább {length} karakter hosszúnak kell lennie", | 315 | "validation.minLength" : "{field} mezőnek legalább {length} karakter hosszúnak kell lennie", |
316 | "validation.oneRequired" : "At least one is required", | 316 | "validation.oneRequired" : "Legalább egy kitöltése szükséges", |
317 | "validation.required" : "{field} kitöltése kötelező", | 317 | "validation.required" : "{field} kitöltése kötelező", |
318 | "validation.url" : "{field} nem érvényes URL", | 318 | "validation.url" : "{field} nem érvényes URL", |
319 | "welcome.loginButton" : "Jelentkezz be a fiókodba", | 319 | "welcome.loginButton" : "Jelentkezz be a fiókodba", |
320 | "welcome.signupButton" : "Új fiók létrehozása", | 320 | "welcome.signupButton" : "Új fiók létrehozása", |
321 | "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace", | 321 | "workspaceDrawer.addNewWorkspaceLabel" : "Munkaterület hozzáadása", |
322 | "workspaceDrawer.allServices" : "Összes szolgáltatás", | 322 | "workspaceDrawer.allServices" : "Összes szolgáltatás", |
323 | "workspaceDrawer.headline" : "Munkaterületek", | 323 | "workspaceDrawer.headline" : "Munkaterületek", |
324 | "workspaceDrawer.item.contextMenuEdit" : "szerkeszt", | 324 | "workspaceDrawer.item.contextMenuEdit" : "szerkeszt", |
@@ -326,7 +326,7 @@ | |||
326 | "workspaceDrawer.premiumCtaButtonLabel" : "KészÃtsd el az elsÅ‘ munkaterületedet", | 326 | "workspaceDrawer.premiumCtaButtonLabel" : "KészÃtsd el az elsÅ‘ munkaterületedet", |
327 | "workspaceDrawer.proFeatureBadge" : "Prémium funkció", | 327 | "workspaceDrawer.proFeatureBadge" : "Prémium funkció", |
328 | "workspaceDrawer.reactivatePremiumAccountLabel" : "Prémium fiók reaktiválása", | 328 | "workspaceDrawer.reactivatePremiumAccountLabel" : "Prémium fiók reaktiválása", |
329 | "workspaceDrawer.workspaceFeatureInfo" : "<p>Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.<\/p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.<\/p>", | 329 | "workspaceDrawer.workspaceFeatureInfo" : "<p>A Franz Munkaterületek lehetÅ‘vé teszik, hogy összpontosÃts a jelenleg fontos dolgokra. ÃllÃtsd be a különbözÅ‘ szolgáltatáskészleteket és könnyedén válthatsz közöttük bármikor.<\/p><p>Te döntöd el, hogy mely szolgáltatásokra van szükséged, mikor és hol, Ãgy segÃthetünk abban, hogy a teljesÃtményed csúcsán maradhass, vagy ha csak akarod, egyszerűen kikapcsold a munkával kapcsolatos dolgokat.<\/p>", |
330 | "workspaceDrawer.workspacesSettingsTooltip" : "Munkaterület beállÃtások szerkesztése", | 330 | "workspaceDrawer.workspacesSettingsTooltip" : "Munkaterület beállÃtások szerkesztése", |
331 | "workspaces.switchingIndicator.switchingTo" : "Switching to" | 331 | "workspaces.switchingIndicator.switchingTo" : "Váltás" |
332 | } | 332 | } |
diff --git a/src/i18n/locales/id.json b/src/i18n/locales/id.json index 819aca177..fb6434869 100644 --- a/src/i18n/locales/id.json +++ b/src/i18n/locales/id.json | |||
@@ -10,7 +10,7 @@ | |||
10 | "feature.shareFranz.action.twitter" : "Bagikan di Twitter", | 10 | "feature.shareFranz.action.twitter" : "Bagikan di Twitter", |
11 | "feature.shareFranz.headline" : "Franz lebih baik bersama!", | 11 | "feature.shareFranz.headline" : "Franz lebih baik bersama!", |
12 | "feature.shareFranz.shareText.email" : "Saya telah menambahkan layanan {count} ke Franz! Dapatkan aplikasi gratis untuk WhatsApp, Messenger, Slack, Skype dan co di www.meetfranz.com", | 12 | "feature.shareFranz.shareText.email" : "Saya telah menambahkan layanan {count} ke Franz! Dapatkan aplikasi gratis untuk WhatsApp, Messenger, Slack, Skype dan co di www.meetfranz.com", |
13 | "feature.shareFranz.shareText.twitter" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com \/cc @FranzMessenger", | 13 | "feature.shareFranz.shareText.twitter" : "Saya telah menambahkan {count} layanan di Franz! Dapatkan aplikasi gratis untuk WhatsApp, Messenger, Slack, Skype dan lainnya di www.meetfranz.com \/cc @FranzMessenger", |
14 | "feature.shareFranz.text" : "Beri tahu teman dan kolega Anda betapa hebatnya Franz dan bantu kami menyebarkan berita.", | 14 | "feature.shareFranz.text" : "Beri tahu teman dan kolega Anda betapa hebatnya Franz dan bantu kami menyebarkan berita.", |
15 | "global.api.unhealthy" : "Tidak dapat tersambung ke layanan Franz", | 15 | "global.api.unhealthy" : "Tidak dapat tersambung ke layanan Franz", |
16 | "global.notConnectedToTheInternet" : "Anda tidak tersambung ke internet.", | 16 | "global.notConnectedToTheInternet" : "Anda tidak tersambung ke internet.", |
@@ -144,7 +144,7 @@ | |||
144 | "settings.account.userInfoRequestFailed" : "Gagal memuat informasi pengguna", | 144 | "settings.account.userInfoRequestFailed" : "Gagal memuat informasi pengguna", |
145 | "settings.app.buttonClearAllCache" : "Bersihkan singgahan", | 145 | "settings.app.buttonClearAllCache" : "Bersihkan singgahan", |
146 | "settings.app.buttonInstallUpdate" : "Mulai ulang dan instal versi baru", | 146 | "settings.app.buttonInstallUpdate" : "Mulai ulang dan instal versi baru", |
147 | "settings.app.buttonSearchForUpdate" : "Periksa versi baru", | 147 | "settings.app.buttonSearchForUpdate" : "Periksa pembaruan", |
148 | "settings.app.cacheInfo" : "Singgahan Franz sedang menggunakan ruang disk {size}.", | 148 | "settings.app.cacheInfo" : "Singgahan Franz sedang menggunakan ruang disk {size}.", |
149 | "settings.app.currentVersion" : "Versi saat ini:", | 149 | "settings.app.currentVersion" : "Versi saat ini:", |
150 | "settings.app.form.autoLaunchInBackground" : "Buka di latar belakang", | 150 | "settings.app.form.autoLaunchInBackground" : "Buka di latar belakang", |
diff --git a/src/i18n/locales/nl-BE.json b/src/i18n/locales/nl-BE.json index 1eda8856f..83e207542 100644 --- a/src/i18n/locales/nl-BE.json +++ b/src/i18n/locales/nl-BE.json | |||
@@ -1,22 +1,22 @@ | |||
1 | { | 1 | { |
2 | "app.errorHandler.action" : "Herladen", | 2 | "app.errorHandler.action" : "Herladen", |
3 | "app.errorHandler.headline" : "Er ging iets mis", | 3 | "app.errorHandler.headline" : "Er ging iets mis", |
4 | "feature.announcements.changelog.headline" : "Changes in Franz {version}", | 4 | "feature.announcements.changelog.headline" : "Wijzigingen in Franz {versie}", |
5 | "feature.delayApp.action" : "Neem een Franz Supporter Licentie ", | 5 | "feature.delayApp.action" : "Neem een Franz Supporter Licentie ", |
6 | "feature.delayApp.headline" : "Neem een Franz Supporter Licentie om niet meer te hoeven wachten", | 6 | "feature.delayApp.headline" : "Neem een Franz Supporter Licentie om niet meer te hoeven wachten", |
7 | "feature.delayApp.text" : "Franz gaat over {seconds} seconden verder.", | 7 | "feature.delayApp.text" : "Franz gaat over {seconds} seconden verder.", |
8 | "feature.shareFranz.action.email" : "Send as email", | 8 | "feature.shareFranz.action.email" : "Verstuur als e-mail", |
9 | "feature.shareFranz.action.facebook" : "Share on Facebook", | 9 | "feature.shareFranz.action.facebook" : "Deel op Facebook", |
10 | "feature.shareFranz.action.twitter" : "Share on Twitter", | 10 | "feature.shareFranz.action.twitter" : "Deel op Twitter", |
11 | "feature.shareFranz.headline" : "Franz is better together!", | 11 | "feature.shareFranz.headline" : "Franz is beter samen!", |
12 | "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", | 12 | "feature.shareFranz.shareText.email" : "Ik heb {telling} diensten toegevoegd aan Franz! Download de gratis app voor WhatsApp, Messenger, Slack, Skype, en anderen op www.meetfranz.com", |
13 | "feature.shareFranz.shareText.twitter" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com \/cc @FranzMessenger", | 13 | "feature.shareFranz.shareText.twitter" : "Ik heb {tel} diensten toegevoegd aan Franz! Download de gratis app voor WhatsApp, Messenger, Slack, Skype, en anderen op www.meetfranz.com \/cc @FranzMessenger", |
14 | "feature.shareFranz.text" : "Tell your friends and colleagues how awesome Franz is and help us to spread the word.", | 14 | "feature.shareFranz.text" : "Vertel je vrienden en collega's hoe geweldig Franz is en help ons het woord te verspreiden.", |
15 | "global.api.unhealthy" : "Kan geen verbinding maken met de Franz services", | 15 | "global.api.unhealthy" : "Kan geen verbinding maken met de Franz services", |
16 | "global.notConnectedToTheInternet" : "Je hebt geen internet verbinding.", | 16 | "global.notConnectedToTheInternet" : "Je hebt geen internet verbinding.", |
17 | "global.spellchecker.useDefault" : "Gebruik Systeemstandaard ({default})", | 17 | "global.spellchecker.useDefault" : "Gebruik Systeemstandaard ({default})", |
18 | "global.spellchecking.autodetect" : "Detect language automatically", | 18 | "global.spellchecking.autodetect" : "Taal automatisch herkennen", |
19 | "global.spellchecking.autodetect.short" : "Automatic", | 19 | "global.spellchecking.autodetect.short" : "Automatisch", |
20 | "global.spellchecking.language" : "Taal spellingscontrole", | 20 | "global.spellchecking.language" : "Taal spellingscontrole", |
21 | "import.headline" : "Importeer je Franz 4 services", | 21 | "import.headline" : "Importeer je Franz 4 services", |
22 | "import.notSupportedHeadline" : "De volgende services worden nog niet ondersteund in Franz 5", | 22 | "import.notSupportedHeadline" : "De volgende services worden nog niet ondersteund in Franz 5", |
@@ -44,7 +44,7 @@ | |||
44 | "login.submit.label" : "Inloggen", | 44 | "login.submit.label" : "Inloggen", |
45 | "login.tokenExpired" : "De sessie is verlopen, log opnieuw in alsjeblieft.", | 45 | "login.tokenExpired" : "De sessie is verlopen, log opnieuw in alsjeblieft.", |
46 | "menu.app.about" : "Over Franz", | 46 | "menu.app.about" : "Over Franz", |
47 | "menu.app.announcement" : "What's new?", | 47 | "menu.app.announcement" : "Wat is er nieuw?", |
48 | "menu.app.checkForUpdates" : "Controleer op updates", | 48 | "menu.app.checkForUpdates" : "Controleer op updates", |
49 | "menu.app.hide" : "Verbergen", | 49 | "menu.app.hide" : "Verbergen", |
50 | "menu.app.hideOthers" : "Andere Verbergen", | 50 | "menu.app.hideOthers" : "Andere Verbergen", |
@@ -73,9 +73,9 @@ | |||
73 | "menu.help.support" : "Ondersteuning", | 73 | "menu.help.support" : "Ondersteuning", |
74 | "menu.help.tos" : "Servicevoorwaarden", | 74 | "menu.help.tos" : "Servicevoorwaarden", |
75 | "menu.services" : "Services", | 75 | "menu.services" : "Services", |
76 | "menu.services.activatePreviousService" : "Activate previous service", | 76 | "menu.services.activatePreviousService" : "Vorige dienst activeren", |
77 | "menu.services.addNewService" : "Nieuwe service toevoegen...", | 77 | "menu.services.addNewService" : "Nieuwe service toevoegen...", |
78 | "menu.services.setNextServiceActive" : "Activate next service", | 78 | "menu.services.setNextServiceActive" : "Volgende dienst activeren", |
79 | "menu.view" : "Weergave", | 79 | "menu.view" : "Weergave", |
80 | "menu.view.enterFullScreen" : "Volledig scherm openen", | 80 | "menu.view.enterFullScreen" : "Volledig scherm openen", |
81 | "menu.view.exitFullScreen" : "Volledig scherm verlaten", | 81 | "menu.view.exitFullScreen" : "Volledig scherm verlaten", |
@@ -90,11 +90,11 @@ | |||
90 | "menu.window" : "Venster", | 90 | "menu.window" : "Venster", |
91 | "menu.window.close" : "Sluiten", | 91 | "menu.window.close" : "Sluiten", |
92 | "menu.window.minimize" : "Minimaliseren", | 92 | "menu.window.minimize" : "Minimaliseren", |
93 | "menu.workspaces" : "Workspaces", | 93 | "menu.workspaces" : "Werkruimten", |
94 | "menu.workspaces.addNewWorkspace" : "Add New Workspace...", | 94 | "menu.workspaces.addNewWorkspace" : "Voeg nieuwe werkruimte toe...", |
95 | "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer", | 95 | "menu.workspaces.closeWorkspaceDrawer" : "Werkruimtepagina sluiten", |
96 | "menu.workspaces.defaultWorkspace" : "Alle services", | 96 | "menu.workspaces.defaultWorkspace" : "Alle services", |
97 | "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer", | 97 | "menu.workspaces.openWorkspaceDrawer" : "Werkruimtepagina openen", |
98 | "password.email.label" : "E-mailadres", | 98 | "password.email.label" : "E-mailadres", |
99 | "password.headline" : "Wachtwoord resetten", | 99 | "password.headline" : "Wachtwoord resetten", |
100 | "password.link.login" : "Log in op je account", | 100 | "password.link.login" : "Log in op je account", |
@@ -118,7 +118,7 @@ | |||
118 | "service.errorHandler.headline" : "Oh nee!", | 118 | "service.errorHandler.headline" : "Oh nee!", |
119 | "service.errorHandler.message" : "Fout", | 119 | "service.errorHandler.message" : "Fout", |
120 | "service.errorHandler.text" : "{name} kon niet geladen worden.", | 120 | "service.errorHandler.text" : "{name} kon niet geladen worden.", |
121 | "service.webviewLoader.loading" : "Loading", | 121 | "service.webviewLoader.loading" : "Aan het laden", |
122 | "services.getStarted" : "Beginnen", | 122 | "services.getStarted" : "Beginnen", |
123 | "services.welcome" : "Welkom bij Franz", | 123 | "services.welcome" : "Welkom bij Franz", |
124 | "settings.account.account.editButton" : "Account bewerken", | 124 | "settings.account.account.editButton" : "Account bewerken", |
@@ -165,7 +165,7 @@ | |||
165 | "settings.app.headlineGeneral" : "Algemeen", | 165 | "settings.app.headlineGeneral" : "Algemeen", |
166 | "settings.app.headlineLanguage" : "Taal", | 166 | "settings.app.headlineLanguage" : "Taal", |
167 | "settings.app.headlineUpdates" : "Updates", | 167 | "settings.app.headlineUpdates" : "Updates", |
168 | "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.", | 168 | "settings.app.languageDisclaimer" : "Officiële vertalingen zijn in het Engels en Duits. Alle andere tallen zijn op de gemeenschap gebaseerde vertalingen.", |
169 | "settings.app.restartRequired" : "Deze wijziging heeft een herstart nodig", | 169 | "settings.app.restartRequired" : "Deze wijziging heeft een herstart nodig", |
170 | "settings.app.subheadlineCache" : "Cache", | 170 | "settings.app.subheadlineCache" : "Cache", |
171 | "settings.app.translationHelp" : "Help ons om Franz te vertalen naar uw taal.", | 171 | "settings.app.translationHelp" : "Help ons om Franz te vertalen naar uw taal.", |
@@ -178,10 +178,10 @@ | |||
178 | "settings.navigation.inviteFriends" : "Nodig vrienden uit", | 178 | "settings.navigation.inviteFriends" : "Nodig vrienden uit", |
179 | "settings.navigation.logout" : "Uitloggen", | 179 | "settings.navigation.logout" : "Uitloggen", |
180 | "settings.navigation.settings" : "Instellingen", | 180 | "settings.navigation.settings" : "Instellingen", |
181 | "settings.navigation.team" : "Manage Team", | 181 | "settings.navigation.team" : "Beheer Team", |
182 | "settings.navigation.yourServices" : "Jouw services", | 182 | "settings.navigation.yourServices" : "Jouw services", |
183 | "settings.navigation.yourWorkspaces" : "Your workspaces", | 183 | "settings.navigation.yourWorkspaces" : "Jouw werkruimtes", |
184 | "settings.recipes.all" : "Alle services", | 184 | "settings.recipes.all" : "Alle diensten", |
185 | "settings.recipes.dev" : "Ontwikkeling", | 185 | "settings.recipes.dev" : "Ontwikkeling", |
186 | "settings.recipes.headline" : "Beschikbare services", | 186 | "settings.recipes.headline" : "Beschikbare services", |
187 | "settings.recipes.missingService" : "Mist er een service?", | 187 | "settings.recipes.missingService" : "Mist er een service?", |
@@ -233,17 +233,17 @@ | |||
233 | "settings.services.discoverServices" : "Services ontdekken", | 233 | "settings.services.discoverServices" : "Services ontdekken", |
234 | "settings.services.headline" : "Jouw services", | 234 | "settings.services.headline" : "Jouw services", |
235 | "settings.services.noServicesAdded" : "Je hebt nog geen services toegevoegd.", | 235 | "settings.services.noServicesAdded" : "Je hebt nog geen services toegevoegd.", |
236 | "settings.services.servicesRequestFailed" : "Could not load your services", | 236 | "settings.services.servicesRequestFailed" : "Kan je diensten niet laden", |
237 | "settings.services.tooltip.isDisabled" : "Service is uitgeschakeld", | 237 | "settings.services.tooltip.isDisabled" : "Service is uitgeschakeld", |
238 | "settings.services.tooltip.isMuted" : "Alle geluiden zijn uitgeschakeld", | 238 | "settings.services.tooltip.isMuted" : "Alle geluiden zijn uitgeschakeld", |
239 | "settings.services.tooltip.notificationsDisabled" : "Notificaties staan uit", | 239 | "settings.services.tooltip.notificationsDisabled" : "Notificaties staan uit", |
240 | "settings.services.updatedInfo" : "Je wijzigingen zijn opgeslagen", | 240 | "settings.services.updatedInfo" : "Je wijzigingen zijn opgeslagen", |
241 | "settings.team.contentHeadline" : "Franz for Teams", | 241 | "settings.team.contentHeadline" : "Frans voor Teams", |
242 | "settings.team.copy" : "Franz for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!", | 242 | "settings.team.copy" : "Franz voor Teams geeft je de mogelijkheid om collega's uit te nodigen voor je team door hen een e-mail te sturen en hun inschrijvingen te beheren in je accountvoorkeuren. Verspil geen tijd met het instellen van inschrijvingen voor elk teamlid apart, vergeet meerdere facturen en verschillende afrekeningsperiodes - één team regeert alles!", |
243 | "settings.team.headline" : "Team", | 243 | "settings.team.headline" : "Team", |
244 | "settings.team.intro" : "You and your team use Franz? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.", | 244 | "settings.team.intro" : "Gebruiken jij en je team Franz? Je kunt nu Premium inschrijvingen beheren voor zoveel collega's, vrienden, of familieleden als je wilt, allemaal vanaf één account.", |
245 | "settings.team.manageAction" : "Manage your Team on meetfranz.com", | 245 | "settings.team.manageAction" : "Beheer je Team op meetfranz.com", |
246 | "settings.team.upgradeAction" : "Upgrade your Account", | 246 | "settings.team.upgradeAction" : "Upgrade je Account", |
247 | "settings.user.form.accountType.company" : "Bedrijf", | 247 | "settings.user.form.accountType.company" : "Bedrijf", |
248 | "settings.user.form.accountType.individual" : "Particulier", | 248 | "settings.user.form.accountType.individual" : "Particulier", |
249 | "settings.user.form.accountType.label" : "Account type", | 249 | "settings.user.form.accountType.label" : "Account type", |
@@ -254,24 +254,24 @@ | |||
254 | "settings.user.form.lastname" : "Achternaam", | 254 | "settings.user.form.lastname" : "Achternaam", |
255 | "settings.user.form.newPassword" : "Nieuw wachtwoord", | 255 | "settings.user.form.newPassword" : "Nieuw wachtwoord", |
256 | "settings.workspace.add.form.name" : "Naam", | 256 | "settings.workspace.add.form.name" : "Naam", |
257 | "settings.workspace.add.form.submitButton" : "Create workspace", | 257 | "settings.workspace.add.form.submitButton" : "Maak werkruimte aan", |
258 | "settings.workspace.form.buttonDelete" : "Delete workspace", | 258 | "settings.workspace.form.buttonDelete" : "Verwijder werkruimte", |
259 | "settings.workspace.form.buttonSave" : "Save workspace", | 259 | "settings.workspace.form.buttonSave" : "Bewaar werkruimte", |
260 | "settings.workspace.form.name" : "Naam", | 260 | "settings.workspace.form.name" : "Naam", |
261 | "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace", | 261 | "settings.workspace.form.servicesInWorkspaceHeadline" : "Diensten in deze Werkruimte", |
262 | "settings.workspace.form.yourWorkspaces" : "Your workspaces", | 262 | "settings.workspace.form.yourWorkspaces" : "Jouw werkruimtes", |
263 | "settings.workspaces.deletedInfo" : "Workspace has been deleted", | 263 | "settings.workspaces.deletedInfo" : "Werkruimte is verwijderd", |
264 | "settings.workspaces.headline" : "Your workspaces", | 264 | "settings.workspaces.headline" : "Je werkruimtes", |
265 | "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.", | 265 | "settings.workspaces.noWorkspacesAdded" : "Je hebt nog geen werkruimtes toegevoegd.", |
266 | "settings.workspaces.tryReloadWorkspaces" : "Probeer opnieuw", | 266 | "settings.workspaces.tryReloadWorkspaces" : "Probeer opnieuw", |
267 | "settings.workspaces.updatedInfo" : "Je wijzigingen zijn opgeslagen", | 267 | "settings.workspaces.updatedInfo" : "Je wijzigingen zijn opgeslagen", |
268 | "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces", | 268 | "settings.workspaces.workspaceFeatureHeadline" : "Minder is meer: we presenteren Franz Werkruimtes", |
269 | "settings.workspaces.workspaceFeatureInfo" : "Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.", | 269 | "settings.workspaces.workspaceFeatureInfo" : "Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.", |
270 | "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces", | 270 | "settings.workspaces.workspacesRequestFailed" : "Kan je werkruimtes niet laden", |
271 | "sidebar.addNewService" : "Nieuw service toevoegen", | 271 | "sidebar.addNewService" : "Nieuw service toevoegen", |
272 | "sidebar.closeWorkspaceDrawer" : "Close workspace drawer", | 272 | "sidebar.closeWorkspaceDrawer" : "Werkruimtelade sluiten", |
273 | "sidebar.muteApp" : "Berichten & geluid uitschakelen", | 273 | "sidebar.muteApp" : "Berichten & geluid uitschakelen", |
274 | "sidebar.openWorkspaceDrawer" : "Open workspace drawer", | 274 | "sidebar.openWorkspaceDrawer" : "Werkruimtelade openen", |
275 | "sidebar.settings" : "Instellingen", | 275 | "sidebar.settings" : "Instellingen", |
276 | "sidebar.unmuteApp" : "Berichten & geluid inschakelen", | 276 | "sidebar.unmuteApp" : "Berichten & geluid inschakelen", |
277 | "signup.company.label" : "Bedrijf", | 277 | "signup.company.label" : "Bedrijf", |
@@ -293,7 +293,7 @@ | |||
293 | "subscription.features.onpremise.mattermost" : "Voeg op-locatie\/gehoste diensten zoals Mattermost toe", | 293 | "subscription.features.onpremise.mattermost" : "Voeg op-locatie\/gehoste diensten zoals Mattermost toe", |
294 | "subscription.features.proxy" : "Proxy ondersteuning voor services", | 294 | "subscription.features.proxy" : "Proxy ondersteuning voor services", |
295 | "subscription.features.spellchecker" : "Ondersteuning voor spellingscheck", | 295 | "subscription.features.spellchecker" : "Ondersteuning voor spellingscheck", |
296 | "subscription.features.workspaces" : "Organize your services in workspaces", | 296 | "subscription.features.workspaces" : "Organiseer je diensten in werkruimtes", |
297 | "subscription.includedFeatures" : "Een betalend account voor Franz omvat", | 297 | "subscription.includedFeatures" : "Een betalend account voor Franz omvat", |
298 | "subscription.paymentSessionError" : "Betalingsformulier kon niet geladen worden", | 298 | "subscription.paymentSessionError" : "Betalingsformulier kon niet geladen worden", |
299 | "subscription.submit.label" : "Ik wil de ontwikkeling van Franz steunen", | 299 | "subscription.submit.label" : "Ik wil de ontwikkeling van Franz steunen", |
@@ -313,20 +313,20 @@ | |||
313 | "tabs.item.reload" : "Herladen", | 313 | "tabs.item.reload" : "Herladen", |
314 | "validation.email" : "{field} is niet geldig", | 314 | "validation.email" : "{field} is niet geldig", |
315 | "validation.minLength" : "{field} moet minimaal {length} karakters lang zijn", | 315 | "validation.minLength" : "{field} moet minimaal {length} karakters lang zijn", |
316 | "validation.oneRequired" : "At least one is required", | 316 | "validation.oneRequired" : "Ten minste één is vereist", |
317 | "validation.required" : "{field} is vereist", | 317 | "validation.required" : "{field} is vereist", |
318 | "validation.url" : "{field} is niet een geldige URL", | 318 | "validation.url" : "{field} is niet een geldige URL", |
319 | "welcome.loginButton" : "Inloggen op je account", | 319 | "welcome.loginButton" : "Inloggen op je account", |
320 | "welcome.signupButton" : "Maak een gratis account aan", | 320 | "welcome.signupButton" : "Maak een gratis account aan", |
321 | "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace", | 321 | "workspaceDrawer.addNewWorkspaceLabel" : "Voeg een nieuwe werkruimte toe", |
322 | "workspaceDrawer.allServices" : "Alle services", | 322 | "workspaceDrawer.allServices" : "Alle diensten", |
323 | "workspaceDrawer.headline" : "Workspaces", | 323 | "workspaceDrawer.headline" : "Werkruimtes", |
324 | "workspaceDrawer.item.contextMenuEdit" : "edit", | 324 | "workspaceDrawer.item.contextMenuEdit" : "bewerken", |
325 | "workspaceDrawer.item.noServicesAddedYet" : "No services added yet", | 325 | "workspaceDrawer.item.noServicesAddedYet" : "Nog geen diensten toegevoegd", |
326 | "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace", | 326 | "workspaceDrawer.premiumCtaButtonLabel" : "Maak je eerste werkruimte aan", |
327 | "workspaceDrawer.proFeatureBadge" : "Premium feature", | 327 | "workspaceDrawer.proFeatureBadge" : "Premium feature", |
328 | "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account", | 328 | "workspaceDrawer.reactivatePremiumAccountLabel" : "Heractiveer premium account", |
329 | "workspaceDrawer.workspaceFeatureInfo" : "<p>Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.<\/p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.<\/p>", | 329 | "workspaceDrawer.workspaceFeatureInfo" : "<p>Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.<\/p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.<\/p>", |
330 | "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings", | 330 | "workspaceDrawer.workspacesSettingsTooltip" : "Pas werkruimte instellingen aan", |
331 | "workspaces.switchingIndicator.switchingTo" : "Switching to" | 331 | "workspaces.switchingIndicator.switchingTo" : "Overschakelen naar" |
332 | } | 332 | } |
diff --git a/src/i18n/locales/nl.json b/src/i18n/locales/nl.json index fdb96a7db..a05297a64 100644 --- a/src/i18n/locales/nl.json +++ b/src/i18n/locales/nl.json | |||
@@ -165,7 +165,7 @@ | |||
165 | "settings.app.headlineGeneral" : "Algemeen", | 165 | "settings.app.headlineGeneral" : "Algemeen", |
166 | "settings.app.headlineLanguage" : "Taal", | 166 | "settings.app.headlineLanguage" : "Taal", |
167 | "settings.app.headlineUpdates" : "Updates", | 167 | "settings.app.headlineUpdates" : "Updates", |
168 | "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.", | 168 | "settings.app.languageDisclaimer" : "Officiële vertalingen zijn in het Engels en Duits. Alle andere talen zijn beheerd door de community.", |
169 | "settings.app.restartRequired" : "Deze wijziging heeft een herstart nodig", | 169 | "settings.app.restartRequired" : "Deze wijziging heeft een herstart nodig", |
170 | "settings.app.subheadlineCache" : "Cache", | 170 | "settings.app.subheadlineCache" : "Cache", |
171 | "settings.app.translationHelp" : "Help ons om Franz te vertalen naar uw taal.", | 171 | "settings.app.translationHelp" : "Help ons om Franz te vertalen naar uw taal.", |
@@ -178,9 +178,9 @@ | |||
178 | "settings.navigation.inviteFriends" : "Nodig vrienden uit", | 178 | "settings.navigation.inviteFriends" : "Nodig vrienden uit", |
179 | "settings.navigation.logout" : "Uitloggen", | 179 | "settings.navigation.logout" : "Uitloggen", |
180 | "settings.navigation.settings" : "Instellingen", | 180 | "settings.navigation.settings" : "Instellingen", |
181 | "settings.navigation.team" : "Manage Team", | 181 | "settings.navigation.team" : "Beheer Team", |
182 | "settings.navigation.yourServices" : "Jouw services", | 182 | "settings.navigation.yourServices" : "Jouw services", |
183 | "settings.navigation.yourWorkspaces" : "Your workspaces", | 183 | "settings.navigation.yourWorkspaces" : "Jouw werkruimtes", |
184 | "settings.recipes.all" : "Alle services", | 184 | "settings.recipes.all" : "Alle services", |
185 | "settings.recipes.dev" : "Ontwikkeling", | 185 | "settings.recipes.dev" : "Ontwikkeling", |
186 | "settings.recipes.headline" : "Beschikbare services", | 186 | "settings.recipes.headline" : "Beschikbare services", |
@@ -233,17 +233,17 @@ | |||
233 | "settings.services.discoverServices" : "Ontdek services", | 233 | "settings.services.discoverServices" : "Ontdek services", |
234 | "settings.services.headline" : "Jouw services", | 234 | "settings.services.headline" : "Jouw services", |
235 | "settings.services.noServicesAdded" : "Je hebt nog geen services toegevoegd.", | 235 | "settings.services.noServicesAdded" : "Je hebt nog geen services toegevoegd.", |
236 | "settings.services.servicesRequestFailed" : "Could not load your services", | 236 | "settings.services.servicesRequestFailed" : "Kan jouw diensten niet laden", |
237 | "settings.services.tooltip.isDisabled" : "Service is uitgeschakeld", | 237 | "settings.services.tooltip.isDisabled" : "Service is uitgeschakeld", |
238 | "settings.services.tooltip.isMuted" : "Alle geluiden zijn uitgeschakeld", | 238 | "settings.services.tooltip.isMuted" : "Alle geluiden zijn uitgeschakeld", |
239 | "settings.services.tooltip.notificationsDisabled" : "Meldingen zijn uitgeschakeld", | 239 | "settings.services.tooltip.notificationsDisabled" : "Meldingen zijn uitgeschakeld", |
240 | "settings.services.updatedInfo" : "Je wijzigingen zijn opgeslagen", | 240 | "settings.services.updatedInfo" : "Je wijzigingen zijn opgeslagen", |
241 | "settings.team.contentHeadline" : "Franz voor groepen", | 241 | "settings.team.contentHeadline" : "Franz voor groepen", |
242 | "settings.team.copy" : "Franz for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!", | 242 | "settings.team.copy" : "Franz voor Teams geeft je de mogelijkheid om collega's uit te nodigen voor je team door hen een e-mail te sturen en hun inschrijvingen te beheren in je accountvoorkeuren. Verspil geen tijd met het instellen van inschrijvingen voor elk teamlid apart, vergeet meerdere facturen en verschillende afrekeningsperiodes - één team regeert alles!", |
243 | "settings.team.headline" : "Team", | 243 | "settings.team.headline" : "Team", |
244 | "settings.team.intro" : "You and your team use Franz? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.", | 244 | "settings.team.intro" : "Gebruiken jij en je team Franz? Je kunt nu Premium inschrijvingen beheren voor zoveel collega's, vrienden, of familieleden als je wilt, allemaal vanaf één account.", |
245 | "settings.team.manageAction" : "Manage your Team on meetfranz.com", | 245 | "settings.team.manageAction" : "Beheer je Team op meetfranz.com", |
246 | "settings.team.upgradeAction" : "Upgrade your Account", | 246 | "settings.team.upgradeAction" : "Jouw Account opwaarderen", |
247 | "settings.user.form.accountType.company" : "Bedrijf", | 247 | "settings.user.form.accountType.company" : "Bedrijf", |
248 | "settings.user.form.accountType.individual" : "Individueel", | 248 | "settings.user.form.accountType.individual" : "Individueel", |
249 | "settings.user.form.accountType.label" : "Accounttype", | 249 | "settings.user.form.accountType.label" : "Accounttype", |
@@ -254,24 +254,24 @@ | |||
254 | "settings.user.form.lastname" : "Achternaam", | 254 | "settings.user.form.lastname" : "Achternaam", |
255 | "settings.user.form.newPassword" : "Nieuw wachtwoord", | 255 | "settings.user.form.newPassword" : "Nieuw wachtwoord", |
256 | "settings.workspace.add.form.name" : "Naam", | 256 | "settings.workspace.add.form.name" : "Naam", |
257 | "settings.workspace.add.form.submitButton" : "Create workspace", | 257 | "settings.workspace.add.form.submitButton" : "Maak werkruimte aan", |
258 | "settings.workspace.form.buttonDelete" : "Delete workspace", | 258 | "settings.workspace.form.buttonDelete" : "Verwijder werkruimte", |
259 | "settings.workspace.form.buttonSave" : "Save workspace", | 259 | "settings.workspace.form.buttonSave" : "Sla werkruimte op", |
260 | "settings.workspace.form.name" : "Naam", | 260 | "settings.workspace.form.name" : "Naam", |
261 | "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace", | 261 | "settings.workspace.form.servicesInWorkspaceHeadline" : "Diensten in deze werkruimte", |
262 | "settings.workspace.form.yourWorkspaces" : "Jouw werkruimtes", | 262 | "settings.workspace.form.yourWorkspaces" : "Jouw werkruimtes", |
263 | "settings.workspaces.deletedInfo" : "Werkruimte is verwijderd", | 263 | "settings.workspaces.deletedInfo" : "Werkruimte is verwijderd", |
264 | "settings.workspaces.headline" : "Jouw werkplaatsen", | 264 | "settings.workspaces.headline" : "Jouw werkplaatsen", |
265 | "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.", | 265 | "settings.workspaces.noWorkspacesAdded" : "Je hebt nog geen werkruimtes toegevoegd.", |
266 | "settings.workspaces.tryReloadWorkspaces" : "Probeer opnieuw", | 266 | "settings.workspaces.tryReloadWorkspaces" : "Probeer opnieuw", |
267 | "settings.workspaces.updatedInfo" : "Je wijzigingen zijn opgeslagen", | 267 | "settings.workspaces.updatedInfo" : "Je wijzigingen zijn opgeslagen", |
268 | "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces", | 268 | "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Zie hier Franz Werkruimtes", |
269 | "settings.workspaces.workspaceFeatureInfo" : "Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time. You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.", | 269 | "settings.workspaces.workspaceFeatureInfo" : "Franz werkruimtes laat je aandacht geven aan wat nu belangrijk is. Maak verschillende sets van diensten aan en schakel gelijk wanneer tussen de verschillende sets.Jij beslist welke diensten je wanneer en waar nodig hebt, enkel zo kunnen wij jou helpen je focus te behouden. Of net makkelijk de switch te maken van werk naar ontspanning.", |
270 | "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces", | 270 | "settings.workspaces.workspacesRequestFailed" : "Kan jouw werkruimtes niet laden", |
271 | "sidebar.addNewService" : "Voeg service toe", | 271 | "sidebar.addNewService" : "Voeg service toe", |
272 | "sidebar.closeWorkspaceDrawer" : "Werkruimtepagina sluiten", | 272 | "sidebar.closeWorkspaceDrawer" : "Werkruimte pagina sluiten", |
273 | "sidebar.muteApp" : "Schakel berichten & geluid uit", | 273 | "sidebar.muteApp" : "Schakel berichten & geluid uit", |
274 | "sidebar.openWorkspaceDrawer" : "Werkruimtepagina openen", | 274 | "sidebar.openWorkspaceDrawer" : "Werkruimte pagina openen", |
275 | "sidebar.settings" : "Instellingen", | 275 | "sidebar.settings" : "Instellingen", |
276 | "sidebar.unmuteApp" : "Berichten & geluid inschakelen", | 276 | "sidebar.unmuteApp" : "Berichten & geluid inschakelen", |
277 | "signup.company.label" : "Bedrijf", | 277 | "signup.company.label" : "Bedrijf", |
@@ -293,7 +293,7 @@ | |||
293 | "subscription.features.onpremise.mattermost" : "Voeg op-locatie\/gehoste diensten zoals Mattermost toe", | 293 | "subscription.features.onpremise.mattermost" : "Voeg op-locatie\/gehoste diensten zoals Mattermost toe", |
294 | "subscription.features.proxy" : "Proxy understeuning voor diensten", | 294 | "subscription.features.proxy" : "Proxy understeuning voor diensten", |
295 | "subscription.features.spellchecker" : "Ondersteuning voor spellingscheck", | 295 | "subscription.features.spellchecker" : "Ondersteuning voor spellingscheck", |
296 | "subscription.features.workspaces" : "Organize your services in workspaces", | 296 | "subscription.features.workspaces" : "Beheer je diensten in de werkruimtes", |
297 | "subscription.includedFeatures" : "Betaald Franz Premium Supporter Account bevat", | 297 | "subscription.includedFeatures" : "Betaald Franz Premium Supporter Account bevat", |
298 | "subscription.paymentSessionError" : "Kan betaalformulier niet initialiseren", | 298 | "subscription.paymentSessionError" : "Kan betaalformulier niet initialiseren", |
299 | "subscription.submit.label" : "Ik wil de ontwikkeling van Franz ondersteunen", | 299 | "subscription.submit.label" : "Ik wil de ontwikkeling van Franz ondersteunen", |
@@ -313,20 +313,20 @@ | |||
313 | "tabs.item.reload" : "Herladen", | 313 | "tabs.item.reload" : "Herladen", |
314 | "validation.email" : "{field} is niet geldig", | 314 | "validation.email" : "{field} is niet geldig", |
315 | "validation.minLength" : "{field} moet minimaal {length} karakters lang zijn", | 315 | "validation.minLength" : "{field} moet minimaal {length} karakters lang zijn", |
316 | "validation.oneRequired" : "At least one is required", | 316 | "validation.oneRequired" : "Er is op zijn minst één vereist", |
317 | "validation.required" : "{field} is vereist", | 317 | "validation.required" : "{field} is vereist", |
318 | "validation.url" : "{field} is niet een geldige URL", | 318 | "validation.url" : "{field} is niet een geldige URL", |
319 | "welcome.loginButton" : "Log in op je account", | 319 | "welcome.loginButton" : "Log in op je account", |
320 | "welcome.signupButton" : "Maak een gratis account", | 320 | "welcome.signupButton" : "Maak een gratis account", |
321 | "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace", | 321 | "workspaceDrawer.addNewWorkspaceLabel" : "Voeg een nieuwe werkruimte toe", |
322 | "workspaceDrawer.allServices" : "Alle services", | 322 | "workspaceDrawer.allServices" : "Alle diensten", |
323 | "workspaceDrawer.headline" : "Werkruimtes", | 323 | "workspaceDrawer.headline" : "Werkruimtes", |
324 | "workspaceDrawer.item.contextMenuEdit" : "edit", | 324 | "workspaceDrawer.item.contextMenuEdit" : "bewerken", |
325 | "workspaceDrawer.item.noServicesAddedYet" : "No services added yet", | 325 | "workspaceDrawer.item.noServicesAddedYet" : "Nog geen diensten toegevoegd", |
326 | "workspaceDrawer.premiumCtaButtonLabel" : "Maak je eerste werkruimte", | 326 | "workspaceDrawer.premiumCtaButtonLabel" : "Maak je eerste werkruimte", |
327 | "workspaceDrawer.proFeatureBadge" : "Premium feature", | 327 | "workspaceDrawer.proFeatureBadge" : "Premium feature", |
328 | "workspaceDrawer.reactivatePremiumAccountLabel" : "Heractiveer premium account", | 328 | "workspaceDrawer.reactivatePremiumAccountLabel" : "Heractiveer premium account", |
329 | "workspaceDrawer.workspaceFeatureInfo" : "<p>Franz Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.<\/p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.<\/p>", | 329 | "workspaceDrawer.workspaceFeatureInfo" : "<p>Franz werkruimtes laat je aandacht geven aan wat nu belangrijk is. Maak verschillende sets van diensten aan en schakel gelijk wanneer tussen de verschillende sets.<\/p><p>Jij beslist welke diensten je wanneer en waar nodig hebt, enkel zo kunnen wij jou helpen je focus te behouden. Of net makkelijk de switch te maken van werk naar ontspanning.<\/p>", |
330 | "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings", | 330 | "workspaceDrawer.workspacesSettingsTooltip" : "Pas werkruimte instellingen aan", |
331 | "workspaces.switchingIndicator.switchingTo" : "Switching to" | 331 | "workspaces.switchingIndicator.switchingTo" : "Overschakelen naar" |
332 | } | 332 | } |
diff --git a/src/i18n/locales/pl.json b/src/i18n/locales/pl.json index a5d1ea377..5ade8a5a9 100644 --- a/src/i18n/locales/pl.json +++ b/src/i18n/locales/pl.json | |||
@@ -1,35 +1,35 @@ | |||
1 | { | 1 | { |
2 | "app.errorHandler.action" : "Przeładuj", | 2 | "app.errorHandler.action" : "Odśwież", |
3 | "app.errorHandler.headline" : "Coś poszło nie tak", | 3 | "app.errorHandler.headline" : "Coś poszło nie tak.", |
4 | "feature.announcements.changelog.headline" : "Zmiany we Franzie {version}", | 4 | "feature.announcements.changelog.headline" : "Zmiany we Franzie {version}", |
5 | "feature.delayApp.action" : "Uzyskaj licencjÄ™ Franz Supporter", | 5 | "feature.delayApp.action" : "Uzyskaj licencjÄ™ Franz Supporter", |
6 | "feature.delayApp.headline" : "Aby nie czekać kup licencję Franz Supporter", | 6 | "feature.delayApp.headline" : "Aby nie czekać, kup licencję Franz Supporter", |
7 | "feature.delayApp.text" : "Franz będzie kontynuował za {seconds} sekund.", | 7 | "feature.delayApp.text" : "Franz będzie kontynuował za {seconds} sekund.", |
8 | "feature.shareFranz.action.email" : "Wyślij jako email", | 8 | "feature.shareFranz.action.email" : "Wyślij jako email", |
9 | "feature.shareFranz.action.facebook" : "Udostępnij na Facebooku", | 9 | "feature.shareFranz.action.facebook" : "Udostępnij na Facebooku", |
10 | "feature.shareFranz.action.twitter" : "Udostępnij na Twitterze", | 10 | "feature.shareFranz.action.twitter" : "Udostępnij na Twitterze", |
11 | "feature.shareFranz.headline" : "Franz jest lepszy, gdy tworzymy go razem!", | 11 | "feature.shareFranz.headline" : "Franz jest lepszy, gdy tworzymy go razem!", |
12 | "feature.shareFranz.shareText.email" : "Dodałem {count} serwisów do Franza! Pobierz darmową aplikacją WhatsApp, Messenger, Slack, Skype i inne na www.meetfranz.com", | 12 | "feature.shareFranz.shareText.email" : "Dodałem {count} serwisów do Franza! Pobierz darmową aplikację z WhatsApp, Messenger, Slack, Skype i innymi na www.meetfranz.com", |
13 | "feature.shareFranz.shareText.twitter" : "Dodałem {count} serwisów do Franza! Pobierz darmową aplikacją WhatsApp, Messenger, Slack, Skype i inne na www.meetfranz.com \/cc @FranzMessenger", | 13 | "feature.shareFranz.shareText.twitter" : "Dodałem {count} serwisów do Franza! Pobierz darmową aplikację z WhatsApp, Messenger, Slack, Skype i innymi na www.meetfranz.com \/cc @FranzMessenger", |
14 | "feature.shareFranz.text" : "Powiedz znajomym i kolegom o tym, jak odlotowy jest Franz i pomóż nam go spopularyzować.", | 14 | "feature.shareFranz.text" : "Powiedz znajomym i kolegom o tym, jak odlotowy jest Franz i pomóż nam go spopularyzować.", |
15 | "global.api.unhealthy" : "Nie można połączyć się z usługami Franz online", | 15 | "global.api.unhealthy" : "Nie można połączyć się z usługami Franz online", |
16 | "global.notConnectedToTheInternet" : "Nie masz połączenia z Internetem.", | 16 | "global.notConnectedToTheInternet" : "Nie masz połączenia z Internetem.", |
17 | "global.spellchecker.useDefault" : "Użyj domyślnego dla systemu ({default})", | 17 | "global.spellchecker.useDefault" : "Użyj domyślnego dla systemu ({default})", |
18 | "global.spellchecking.autodetect" : "Automatycznie wykryj język", | 18 | "global.spellchecking.autodetect" : "Automatycznie wykryj język", |
19 | "global.spellchecking.autodetect.short" : "Automatycznie", | 19 | "global.spellchecking.autodetect.short" : "Automatycznie", |
20 | "global.spellchecking.language" : "Język słownika", | 20 | "global.spellchecking.language" : "Język sprawdzania pisowni", |
21 | "import.headline" : "Importuj usługi Franz 4", | 21 | "import.headline" : "Importuj usługi Franz 4", |
22 | "import.notSupportedHeadline" : "Usługi, które nie są jeszcze obsługiwane w Franz 5", | 22 | "import.notSupportedHeadline" : "Usługi, które nie są jeszcze obsługiwane w Franz 5", |
23 | "import.skip.label" : "Chcę dodać usługi samodzielnie", | 23 | "import.skip.label" : "Chcę dodać usługi samodzielnie", |
24 | "import.submit.label" : "Zaimportuj usługi", | 24 | "import.submit.label" : "Zaimportuj usługi", |
25 | "infobar.buttonChangelog" : "Co nowego?", | 25 | "infobar.buttonChangelog" : "Co nowego?", |
26 | "infobar.buttonInstallUpdate" : "Uruchom ponownie i zainstaluj aktualizacjÄ™", | 26 | "infobar.buttonInstallUpdate" : "Uruchom ponownie i zainstaluj aktualizacjÄ™", |
27 | "infobar.buttonReloadServices" : "Załaduj ponownie usługi", | 27 | "infobar.buttonReloadServices" : "Odśwież usługi", |
28 | "infobar.requiredRequestsFailed" : "Nie można załadować usług i informacji użytkownika", | 28 | "infobar.requiredRequestsFailed" : "Nie można załadować usług i informacji użytkownika", |
29 | "infobar.servicesUpdated" : "Usługi zostały zaktualizowane.", | 29 | "infobar.servicesUpdated" : "Usługi zostały zaktualizowane.", |
30 | "infobar.updateAvailable" : "Dostępna jest nowa wersja Franza.", | 30 | "infobar.updateAvailable" : "Dostępna jest nowa wersja Franza.", |
31 | "invite.email.label" : "Adres email", | 31 | "invite.email.label" : "Adres email", |
32 | "invite.headline.friends" : "Zaproś 3 znajomych lub współpracowników", | 32 | "invite.headline.friends" : "Zaproś 3 znajomych lub kolegów", |
33 | "invite.name.label" : "ImiÄ™", | 33 | "invite.name.label" : "ImiÄ™", |
34 | "invite.skip.label" : "Chcę to zrobić później", | 34 | "invite.skip.label" : "Chcę to zrobić później", |
35 | "invite.submit.label" : "Wyślij zaproszenia", | 35 | "invite.submit.label" : "Wyślij zaproszenia", |
@@ -37,7 +37,7 @@ | |||
37 | "login.email.label" : "Adres email", | 37 | "login.email.label" : "Adres email", |
38 | "login.headline" : "Zaloguj siÄ™", | 38 | "login.headline" : "Zaloguj siÄ™", |
39 | "login.invalidCredentials" : "Adres email lub hasło są błędne", | 39 | "login.invalidCredentials" : "Adres email lub hasło są błędne", |
40 | "login.link.password" : "Przypomnij hasło", | 40 | "login.link.password" : "Zresetuj hasło", |
41 | "login.link.signup" : "Załóż darmowe konto", | 41 | "login.link.signup" : "Załóż darmowe konto", |
42 | "login.password.label" : "Hasło", | 42 | "login.password.label" : "Hasło", |
43 | "login.serverLogout" : "Twoja sesja wygasła, zaloguj się ponownie.", | 43 | "login.serverLogout" : "Twoja sesja wygasła, zaloguj się ponownie.", |
diff --git a/src/i18n/locales/pt-BR.json b/src/i18n/locales/pt-BR.json index 27fd796a4..60d74495e 100644 --- a/src/i18n/locales/pt-BR.json +++ b/src/i18n/locales/pt-BR.json | |||
@@ -1,23 +1,23 @@ | |||
1 | { | 1 | { |
2 | "app.errorHandler.action" : "Atualizar", | 2 | "app.errorHandler.action" : "Recarregar", |
3 | "app.errorHandler.headline" : "Alguma coisa deu errado", | 3 | "app.errorHandler.headline" : "Opa! Algo deu errado.", |
4 | "feature.announcements.changelog.headline" : "Mudanças no Franz {version}", | 4 | "feature.announcements.changelog.headline" : "Mudanças no Franz {version}", |
5 | "feature.delayApp.action" : "Adquira uma licença Franz Supporter", | 5 | "feature.delayApp.action" : "Adquira uma licença de suporte Franz", |
6 | "feature.delayApp.headline" : "Por favor, adquira uma licença Franz Supporter para pular o tempo de espera", | 6 | "feature.delayApp.headline" : "Por favor, adquira uma licença para pular o tempo de espera", |
7 | "feature.delayApp.text" : "Franz continuará em {seconds} segundos.", | 7 | "feature.delayApp.text" : "Franz continuará em {seconds} segundos.", |
8 | "feature.shareFranz.action.email" : "Enviar como e-mail", | 8 | "feature.shareFranz.action.email" : "Enviar por e-mail", |
9 | "feature.shareFranz.action.facebook" : "Compartilhar no Facebook", | 9 | "feature.shareFranz.action.facebook" : "Compartilhar no Facebook", |
10 | "feature.shareFranz.action.twitter" : "Compartilhar no Twitter", | 10 | "feature.shareFranz.action.twitter" : "Compartilhar no Twitter", |
11 | "feature.shareFranz.headline" : "Franz é melhor em grupo!", | 11 | "feature.shareFranz.headline" : "Franz é melhor em grupo!", |
12 | "feature.shareFranz.shareText.email" : "Eu adicionei {count} serviços ao Franz! Adquira o aplicativo gratuito para WhatsApp, Messenger, Slack, Skype e mais em www.meetfranz.com", | 12 | "feature.shareFranz.shareText.email" : "Eu adicionei {count} serviços ao Franz! Adquira o aplicativo gratuito para WhatsApp, Messenger, Slack, Skype e mais em www.meetfranz.com", |
13 | "feature.shareFranz.shareText.twitter" : "Eu adicionei uma contagem de serviços para o Franz! Baixe gratuitamente o aplicativo para WhatsApp, Messenger, Slack, Skype e outros em www.meetfranz.com \/cc @FranzMessenger", | 13 | "feature.shareFranz.shareText.twitter" : "Eu adicionei uma contagem de serviços para o Franz! Baixe gratuitamente o aplicativo para WhatsApp, Messenger, Slack, Skype e outros em www.meetfranz.com \/cc @FranzMessenger", |
14 | "feature.shareFranz.text" : "Conte aos seus amigos e colegas o quão incrÃvel Franz é e nos ajude a espalhar a mensagem. ", | 14 | "feature.shareFranz.text" : "Conte aos seus amigos e colegas o quanto incrÃvel o Franz é e nos ajude a espalhar a mensagem. ", |
15 | "global.api.unhealthy" : "Não foi possÃvel conectar-se aos serviços on-line do Franz.", | 15 | "global.api.unhealthy" : "Não foi possÃvel conectar-se aos serviços on-line do Franz.", |
16 | "global.notConnectedToTheInternet" : "Você não está conectado à internet", | 16 | "global.notConnectedToTheInternet" : "Você não está conectado à internet", |
17 | "global.spellchecker.useDefault" : "Use o padrão do sistema ({default})", | 17 | "global.spellchecker.useDefault" : "Use o padrão do sistema ({default})", |
18 | "global.spellchecking.autodetect" : "Detectar linguagem automaticamente.", | 18 | "global.spellchecking.autodetect" : "Detectar idioma automaticamente.", |
19 | "global.spellchecking.autodetect.short" : "Automático", | 19 | "global.spellchecking.autodetect.short" : "Automático", |
20 | "global.spellchecking.language" : "Idioma de verificação ortográfica", | 20 | "global.spellchecking.language" : "Idioma para verificação ortográfica", |
21 | "import.headline" : "Importe seus serviços do Franz 4 ", | 21 | "import.headline" : "Importe seus serviços do Franz 4 ", |
22 | "import.notSupportedHeadline" : "Serviços ainda não suportados pelo Franz 5 ", | 22 | "import.notSupportedHeadline" : "Serviços ainda não suportados pelo Franz 5 ", |
23 | "import.skip.label" : "Quero adicionar serviços manualmente", | 23 | "import.skip.label" : "Quero adicionar serviços manualmente", |
@@ -50,7 +50,7 @@ | |||
50 | "menu.app.hideOthers" : "Ocultar Outros", | 50 | "menu.app.hideOthers" : "Ocultar Outros", |
51 | "menu.app.quit" : "Sair", | 51 | "menu.app.quit" : "Sair", |
52 | "menu.app.settings" : "Configurações", | 52 | "menu.app.settings" : "Configurações", |
53 | "menu.app.unhide" : "Reexibir", | 53 | "menu.app.unhide" : "Mostrar", |
54 | "menu.edit" : "Editar", | 54 | "menu.edit" : "Editar", |
55 | "menu.edit.copy" : "Copiar", | 55 | "menu.edit.copy" : "Copiar", |
56 | "menu.edit.cut" : "Cortar", | 56 | "menu.edit.cut" : "Cortar", |
@@ -60,7 +60,7 @@ | |||
60 | "menu.edit.pasteAndMatchStyle" : "Colar e Corresponder ao Estilo", | 60 | "menu.edit.pasteAndMatchStyle" : "Colar e Corresponder ao Estilo", |
61 | "menu.edit.redo" : "Refazer", | 61 | "menu.edit.redo" : "Refazer", |
62 | "menu.edit.selectAll" : "Selecionar Tudo", | 62 | "menu.edit.selectAll" : "Selecionar Tudo", |
63 | "menu.edit.speech" : "Discurso", | 63 | "menu.edit.speech" : "Falar", |
64 | "menu.edit.startDictation" : "Iniciar Digitação", | 64 | "menu.edit.startDictation" : "Iniciar Digitação", |
65 | "menu.edit.startSpeaking" : "Começar a Falar", | 65 | "menu.edit.startSpeaking" : "Começar a Falar", |
66 | "menu.edit.stopSpeaking" : "Parar de Falar", | 66 | "menu.edit.stopSpeaking" : "Parar de Falar", |
@@ -144,7 +144,7 @@ | |||
144 | "settings.account.userInfoRequestFailed" : "Não foi possÃvel carregar as informações do usuário", | 144 | "settings.account.userInfoRequestFailed" : "Não foi possÃvel carregar as informações do usuário", |
145 | "settings.app.buttonClearAllCache" : "Limpar cache", | 145 | "settings.app.buttonClearAllCache" : "Limpar cache", |
146 | "settings.app.buttonInstallUpdate" : "Reiniciar e instalar atualização", | 146 | "settings.app.buttonInstallUpdate" : "Reiniciar e instalar atualização", |
147 | "settings.app.buttonSearchForUpdate" : "Verificar se há atualizações", | 147 | "settings.app.buttonSearchForUpdate" : "Verificar por atualizações", |
148 | "settings.app.cacheInfo" : "O cache do Franz está usando {size} de espaço em disco atualmente.", | 148 | "settings.app.cacheInfo" : "O cache do Franz está usando {size} de espaço em disco atualmente.", |
149 | "settings.app.currentVersion" : "Versão atual:", | 149 | "settings.app.currentVersion" : "Versão atual:", |
150 | "settings.app.form.autoLaunchInBackground" : "Abrir em segundo plano", | 150 | "settings.app.form.autoLaunchInBackground" : "Abrir em segundo plano", |
diff --git a/src/i18n/locales/tr.json b/src/i18n/locales/tr.json index d8200b4f3..1dc5ce838 100644 --- a/src/i18n/locales/tr.json +++ b/src/i18n/locales/tr.json | |||
@@ -118,7 +118,7 @@ | |||
118 | "service.errorHandler.headline" : "Hayııırrr!", | 118 | "service.errorHandler.headline" : "Hayııırrr!", |
119 | "service.errorHandler.message" : "Hata", | 119 | "service.errorHandler.message" : "Hata", |
120 | "service.errorHandler.text" : "{name} yüklenemedi.", | 120 | "service.errorHandler.text" : "{name} yüklenemedi.", |
121 | "service.webviewLoader.loading" : "Loading", | 121 | "service.webviewLoader.loading" : "Yükleniyor", |
122 | "services.getStarted" : "Haydi başlayalım", | 122 | "services.getStarted" : "Haydi başlayalım", |
123 | "services.welcome" : "Franz'a HoÅŸgeldiniz", | 123 | "services.welcome" : "Franz'a HoÅŸgeldiniz", |
124 | "settings.account.account.editButton" : "Hesabı düzenle", | 124 | "settings.account.account.editButton" : "Hesabı düzenle", |
@@ -233,7 +233,7 @@ | |||
233 | "settings.services.discoverServices" : "Servisleri keÅŸfet", | 233 | "settings.services.discoverServices" : "Servisleri keÅŸfet", |
234 | "settings.services.headline" : "Servislerin", | 234 | "settings.services.headline" : "Servislerin", |
235 | "settings.services.noServicesAdded" : "Henüz hiç servis eklemedin.", | 235 | "settings.services.noServicesAdded" : "Henüz hiç servis eklemedin.", |
236 | "settings.services.servicesRequestFailed" : "Could not load your services", | 236 | "settings.services.servicesRequestFailed" : "Hizmetiniz yüklenemedi", |
237 | "settings.services.tooltip.isDisabled" : "Servis devre dışı", | 237 | "settings.services.tooltip.isDisabled" : "Servis devre dışı", |
238 | "settings.services.tooltip.isMuted" : "Tüm sesler kapalı", | 238 | "settings.services.tooltip.isMuted" : "Tüm sesler kapalı", |
239 | "settings.services.tooltip.notificationsDisabled" : "Bildirimler devre dışı", | 239 | "settings.services.tooltip.notificationsDisabled" : "Bildirimler devre dışı", |
diff --git a/src/i18n/messages/src/lib/Menu.json b/src/i18n/messages/src/lib/Menu.json index daafb0900..6f878cbd1 100644 --- a/src/i18n/messages/src/lib/Menu.json +++ b/src/i18n/messages/src/lib/Menu.json | |||
@@ -377,15 +377,54 @@ | |||
377 | } | 377 | } |
378 | }, | 378 | }, |
379 | { | 379 | { |
380 | "id": "menu.help.debugInfo", | ||
381 | "defaultMessage": "!!!Copy Debug Information", | ||
382 | "file": "src/lib/Menu.js", | ||
383 | "start": { | ||
384 | "line": 131, | ||
385 | "column": 13 | ||
386 | }, | ||
387 | "end": { | ||
388 | "line": 134, | ||
389 | "column": 3 | ||
390 | } | ||
391 | }, | ||
392 | { | ||
393 | "id": "menu.help.debugInfoCopiedHeadline", | ||
394 | "defaultMessage": "!!!Franz Debug Information", | ||
395 | "file": "src/lib/Menu.js", | ||
396 | "start": { | ||
397 | "line": 135, | ||
398 | "column": 27 | ||
399 | }, | ||
400 | "end": { | ||
401 | "line": 138, | ||
402 | "column": 3 | ||
403 | } | ||
404 | }, | ||
405 | { | ||
406 | "id": "menu.help.debugInfoCopiedBody", | ||
407 | "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.", | ||
408 | "file": "src/lib/Menu.js", | ||
409 | "start": { | ||
410 | "line": 139, | ||
411 | "column": 23 | ||
412 | }, | ||
413 | "end": { | ||
414 | "line": 142, | ||
415 | "column": 3 | ||
416 | } | ||
417 | }, | ||
418 | { | ||
380 | "id": "menu.help.tos", | 419 | "id": "menu.help.tos", |
381 | "defaultMessage": "!!!Terms of Service", | 420 | "defaultMessage": "!!!Terms of Service", |
382 | "file": "src/lib/Menu.js", | 421 | "file": "src/lib/Menu.js", |
383 | "start": { | 422 | "start": { |
384 | "line": 131, | 423 | "line": 143, |
385 | "column": 7 | 424 | "column": 7 |
386 | }, | 425 | }, |
387 | "end": { | 426 | "end": { |
388 | "line": 134, | 427 | "line": 146, |
389 | "column": 3 | 428 | "column": 3 |
390 | } | 429 | } |
391 | }, | 430 | }, |
@@ -394,11 +433,11 @@ | |||
394 | "defaultMessage": "!!!Privacy Statement", | 433 | "defaultMessage": "!!!Privacy Statement", |
395 | "file": "src/lib/Menu.js", | 434 | "file": "src/lib/Menu.js", |
396 | "start": { | 435 | "start": { |
397 | "line": 135, | 436 | "line": 147, |
398 | "column": 11 | 437 | "column": 11 |
399 | }, | 438 | }, |
400 | "end": { | 439 | "end": { |
401 | "line": 138, | 440 | "line": 150, |
402 | "column": 3 | 441 | "column": 3 |
403 | } | 442 | } |
404 | }, | 443 | }, |
@@ -407,11 +446,11 @@ | |||
407 | "defaultMessage": "!!!File", | 446 | "defaultMessage": "!!!File", |
408 | "file": "src/lib/Menu.js", | 447 | "file": "src/lib/Menu.js", |
409 | "start": { | 448 | "start": { |
410 | "line": 139, | 449 | "line": 151, |
411 | "column": 8 | 450 | "column": 8 |
412 | }, | 451 | }, |
413 | "end": { | 452 | "end": { |
414 | "line": 142, | 453 | "line": 154, |
415 | "column": 3 | 454 | "column": 3 |
416 | } | 455 | } |
417 | }, | 456 | }, |
@@ -420,11 +459,11 @@ | |||
420 | "defaultMessage": "!!!View", | 459 | "defaultMessage": "!!!View", |
421 | "file": "src/lib/Menu.js", | 460 | "file": "src/lib/Menu.js", |
422 | "start": { | 461 | "start": { |
423 | "line": 143, | 462 | "line": 155, |
424 | "column": 8 | 463 | "column": 8 |
425 | }, | 464 | }, |
426 | "end": { | 465 | "end": { |
427 | "line": 146, | 466 | "line": 158, |
428 | "column": 3 | 467 | "column": 3 |
429 | } | 468 | } |
430 | }, | 469 | }, |
@@ -433,11 +472,11 @@ | |||
433 | "defaultMessage": "!!!Services", | 472 | "defaultMessage": "!!!Services", |
434 | "file": "src/lib/Menu.js", | 473 | "file": "src/lib/Menu.js", |
435 | "start": { | 474 | "start": { |
436 | "line": 147, | 475 | "line": 159, |
437 | "column": 12 | 476 | "column": 12 |
438 | }, | 477 | }, |
439 | "end": { | 478 | "end": { |
440 | "line": 150, | 479 | "line": 162, |
441 | "column": 3 | 480 | "column": 3 |
442 | } | 481 | } |
443 | }, | 482 | }, |
@@ -446,11 +485,11 @@ | |||
446 | "defaultMessage": "!!!Window", | 485 | "defaultMessage": "!!!Window", |
447 | "file": "src/lib/Menu.js", | 486 | "file": "src/lib/Menu.js", |
448 | "start": { | 487 | "start": { |
449 | "line": 151, | 488 | "line": 163, |
450 | "column": 10 | 489 | "column": 10 |
451 | }, | 490 | }, |
452 | "end": { | 491 | "end": { |
453 | "line": 154, | 492 | "line": 166, |
454 | "column": 3 | 493 | "column": 3 |
455 | } | 494 | } |
456 | }, | 495 | }, |
@@ -459,11 +498,11 @@ | |||
459 | "defaultMessage": "!!!Help", | 498 | "defaultMessage": "!!!Help", |
460 | "file": "src/lib/Menu.js", | 499 | "file": "src/lib/Menu.js", |
461 | "start": { | 500 | "start": { |
462 | "line": 155, | 501 | "line": 167, |
463 | "column": 8 | 502 | "column": 8 |
464 | }, | 503 | }, |
465 | "end": { | 504 | "end": { |
466 | "line": 158, | 505 | "line": 170, |
467 | "column": 3 | 506 | "column": 3 |
468 | } | 507 | } |
469 | }, | 508 | }, |
@@ -472,11 +511,11 @@ | |||
472 | "defaultMessage": "!!!About Franz", | 511 | "defaultMessage": "!!!About Franz", |
473 | "file": "src/lib/Menu.js", | 512 | "file": "src/lib/Menu.js", |
474 | "start": { | 513 | "start": { |
475 | "line": 159, | 514 | "line": 171, |
476 | "column": 9 | 515 | "column": 9 |
477 | }, | 516 | }, |
478 | "end": { | 517 | "end": { |
479 | "line": 162, | 518 | "line": 174, |
480 | "column": 3 | 519 | "column": 3 |
481 | } | 520 | } |
482 | }, | 521 | }, |
@@ -485,11 +524,11 @@ | |||
485 | "defaultMessage": "!!!What's new?", | 524 | "defaultMessage": "!!!What's new?", |
486 | "file": "src/lib/Menu.js", | 525 | "file": "src/lib/Menu.js", |
487 | "start": { | 526 | "start": { |
488 | "line": 163, | 527 | "line": 175, |
489 | "column": 16 | 528 | "column": 16 |
490 | }, | 529 | }, |
491 | "end": { | 530 | "end": { |
492 | "line": 166, | 531 | "line": 178, |
493 | "column": 3 | 532 | "column": 3 |
494 | } | 533 | } |
495 | }, | 534 | }, |
@@ -498,11 +537,11 @@ | |||
498 | "defaultMessage": "!!!Settings", | 537 | "defaultMessage": "!!!Settings", |
499 | "file": "src/lib/Menu.js", | 538 | "file": "src/lib/Menu.js", |
500 | "start": { | 539 | "start": { |
501 | "line": 167, | 540 | "line": 179, |
502 | "column": 12 | 541 | "column": 12 |
503 | }, | 542 | }, |
504 | "end": { | 543 | "end": { |
505 | "line": 170, | 544 | "line": 182, |
506 | "column": 3 | 545 | "column": 3 |
507 | } | 546 | } |
508 | }, | 547 | }, |
@@ -511,11 +550,11 @@ | |||
511 | "defaultMessage": "!!!Check for updates", | 550 | "defaultMessage": "!!!Check for updates", |
512 | "file": "src/lib/Menu.js", | 551 | "file": "src/lib/Menu.js", |
513 | "start": { | 552 | "start": { |
514 | "line": 171, | 553 | "line": 183, |
515 | "column": 19 | 554 | "column": 19 |
516 | }, | 555 | }, |
517 | "end": { | 556 | "end": { |
518 | "line": 174, | 557 | "line": 186, |
519 | "column": 3 | 558 | "column": 3 |
520 | } | 559 | } |
521 | }, | 560 | }, |
@@ -524,11 +563,11 @@ | |||
524 | "defaultMessage": "!!!Hide", | 563 | "defaultMessage": "!!!Hide", |
525 | "file": "src/lib/Menu.js", | 564 | "file": "src/lib/Menu.js", |
526 | "start": { | 565 | "start": { |
527 | "line": 175, | 566 | "line": 187, |
528 | "column": 8 | 567 | "column": 8 |
529 | }, | 568 | }, |
530 | "end": { | 569 | "end": { |
531 | "line": 178, | 570 | "line": 190, |
532 | "column": 3 | 571 | "column": 3 |
533 | } | 572 | } |
534 | }, | 573 | }, |
@@ -537,11 +576,11 @@ | |||
537 | "defaultMessage": "!!!Hide Others", | 576 | "defaultMessage": "!!!Hide Others", |
538 | "file": "src/lib/Menu.js", | 577 | "file": "src/lib/Menu.js", |
539 | "start": { | 578 | "start": { |
540 | "line": 179, | 579 | "line": 191, |
541 | "column": 14 | 580 | "column": 14 |
542 | }, | 581 | }, |
543 | "end": { | 582 | "end": { |
544 | "line": 182, | 583 | "line": 194, |
545 | "column": 3 | 584 | "column": 3 |
546 | } | 585 | } |
547 | }, | 586 | }, |
@@ -550,11 +589,11 @@ | |||
550 | "defaultMessage": "!!!Unhide", | 589 | "defaultMessage": "!!!Unhide", |
551 | "file": "src/lib/Menu.js", | 590 | "file": "src/lib/Menu.js", |
552 | "start": { | 591 | "start": { |
553 | "line": 183, | 592 | "line": 195, |
554 | "column": 10 | 593 | "column": 10 |
555 | }, | 594 | }, |
556 | "end": { | 595 | "end": { |
557 | "line": 186, | 596 | "line": 198, |
558 | "column": 3 | 597 | "column": 3 |
559 | } | 598 | } |
560 | }, | 599 | }, |
@@ -563,11 +602,11 @@ | |||
563 | "defaultMessage": "!!!Quit", | 602 | "defaultMessage": "!!!Quit", |
564 | "file": "src/lib/Menu.js", | 603 | "file": "src/lib/Menu.js", |
565 | "start": { | 604 | "start": { |
566 | "line": 187, | 605 | "line": 199, |
567 | "column": 8 | 606 | "column": 8 |
568 | }, | 607 | }, |
569 | "end": { | 608 | "end": { |
570 | "line": 190, | 609 | "line": 202, |
571 | "column": 3 | 610 | "column": 3 |
572 | } | 611 | } |
573 | }, | 612 | }, |
@@ -576,11 +615,11 @@ | |||
576 | "defaultMessage": "!!!Add New Service...", | 615 | "defaultMessage": "!!!Add New Service...", |
577 | "file": "src/lib/Menu.js", | 616 | "file": "src/lib/Menu.js", |
578 | "start": { | 617 | "start": { |
579 | "line": 191, | 618 | "line": 203, |
580 | "column": 17 | 619 | "column": 17 |
581 | }, | 620 | }, |
582 | "end": { | 621 | "end": { |
583 | "line": 194, | 622 | "line": 206, |
584 | "column": 3 | 623 | "column": 3 |
585 | } | 624 | } |
586 | }, | 625 | }, |
@@ -589,11 +628,11 @@ | |||
589 | "defaultMessage": "!!!Add New Workspace...", | 628 | "defaultMessage": "!!!Add New Workspace...", |
590 | "file": "src/lib/Menu.js", | 629 | "file": "src/lib/Menu.js", |
591 | "start": { | 630 | "start": { |
592 | "line": 195, | 631 | "line": 207, |
593 | "column": 19 | 632 | "column": 19 |
594 | }, | 633 | }, |
595 | "end": { | 634 | "end": { |
596 | "line": 198, | 635 | "line": 210, |
597 | "column": 3 | 636 | "column": 3 |
598 | } | 637 | } |
599 | }, | 638 | }, |
@@ -602,11 +641,11 @@ | |||
602 | "defaultMessage": "!!!Open workspace drawer", | 641 | "defaultMessage": "!!!Open workspace drawer", |
603 | "file": "src/lib/Menu.js", | 642 | "file": "src/lib/Menu.js", |
604 | "start": { | 643 | "start": { |
605 | "line": 199, | 644 | "line": 211, |
606 | "column": 23 | 645 | "column": 23 |
607 | }, | 646 | }, |
608 | "end": { | 647 | "end": { |
609 | "line": 202, | 648 | "line": 214, |
610 | "column": 3 | 649 | "column": 3 |
611 | } | 650 | } |
612 | }, | 651 | }, |
@@ -615,11 +654,11 @@ | |||
615 | "defaultMessage": "!!!Close workspace drawer", | 654 | "defaultMessage": "!!!Close workspace drawer", |
616 | "file": "src/lib/Menu.js", | 655 | "file": "src/lib/Menu.js", |
617 | "start": { | 656 | "start": { |
618 | "line": 203, | 657 | "line": 215, |
619 | "column": 24 | 658 | "column": 24 |
620 | }, | 659 | }, |
621 | "end": { | 660 | "end": { |
622 | "line": 206, | 661 | "line": 218, |
623 | "column": 3 | 662 | "column": 3 |
624 | } | 663 | } |
625 | }, | 664 | }, |
@@ -628,11 +667,11 @@ | |||
628 | "defaultMessage": "!!!Activate next service...", | 667 | "defaultMessage": "!!!Activate next service...", |
629 | "file": "src/lib/Menu.js", | 668 | "file": "src/lib/Menu.js", |
630 | "start": { | 669 | "start": { |
631 | "line": 207, | 670 | "line": 219, |
632 | "column": 23 | 671 | "column": 23 |
633 | }, | 672 | }, |
634 | "end": { | 673 | "end": { |
635 | "line": 210, | 674 | "line": 222, |
636 | "column": 3 | 675 | "column": 3 |
637 | } | 676 | } |
638 | }, | 677 | }, |
@@ -641,11 +680,11 @@ | |||
641 | "defaultMessage": "!!!Activate previous service...", | 680 | "defaultMessage": "!!!Activate previous service...", |
642 | "file": "src/lib/Menu.js", | 681 | "file": "src/lib/Menu.js", |
643 | "start": { | 682 | "start": { |
644 | "line": 211, | 683 | "line": 223, |
645 | "column": 27 | 684 | "column": 27 |
646 | }, | 685 | }, |
647 | "end": { | 686 | "end": { |
648 | "line": 214, | 687 | "line": 226, |
649 | "column": 3 | 688 | "column": 3 |
650 | } | 689 | } |
651 | }, | 690 | }, |
@@ -654,11 +693,11 @@ | |||
654 | "defaultMessage": "!!!Disable notifications & audio", | 693 | "defaultMessage": "!!!Disable notifications & audio", |
655 | "file": "src/lib/Menu.js", | 694 | "file": "src/lib/Menu.js", |
656 | "start": { | 695 | "start": { |
657 | "line": 215, | 696 | "line": 227, |
658 | "column": 11 | 697 | "column": 11 |
659 | }, | 698 | }, |
660 | "end": { | 699 | "end": { |
661 | "line": 218, | 700 | "line": 230, |
662 | "column": 3 | 701 | "column": 3 |
663 | } | 702 | } |
664 | }, | 703 | }, |
@@ -667,11 +706,11 @@ | |||
667 | "defaultMessage": "!!!Enable notifications & audio", | 706 | "defaultMessage": "!!!Enable notifications & audio", |
668 | "file": "src/lib/Menu.js", | 707 | "file": "src/lib/Menu.js", |
669 | "start": { | 708 | "start": { |
670 | "line": 219, | 709 | "line": 231, |
671 | "column": 13 | 710 | "column": 13 |
672 | }, | 711 | }, |
673 | "end": { | 712 | "end": { |
674 | "line": 222, | 713 | "line": 234, |
675 | "column": 3 | 714 | "column": 3 |
676 | } | 715 | } |
677 | }, | 716 | }, |
@@ -680,11 +719,11 @@ | |||
680 | "defaultMessage": "!!!Workspaces", | 719 | "defaultMessage": "!!!Workspaces", |
681 | "file": "src/lib/Menu.js", | 720 | "file": "src/lib/Menu.js", |
682 | "start": { | 721 | "start": { |
683 | "line": 223, | 722 | "line": 235, |
684 | "column": 14 | 723 | "column": 14 |
685 | }, | 724 | }, |
686 | "end": { | 725 | "end": { |
687 | "line": 226, | 726 | "line": 238, |
688 | "column": 3 | 727 | "column": 3 |
689 | } | 728 | } |
690 | }, | 729 | }, |
@@ -693,11 +732,11 @@ | |||
693 | "defaultMessage": "!!!Default", | 732 | "defaultMessage": "!!!Default", |
694 | "file": "src/lib/Menu.js", | 733 | "file": "src/lib/Menu.js", |
695 | "start": { | 734 | "start": { |
696 | "line": 227, | 735 | "line": 239, |
697 | "column": 20 | 736 | "column": 20 |
698 | }, | 737 | }, |
699 | "end": { | 738 | "end": { |
700 | "line": 230, | 739 | "line": 242, |
701 | "column": 3 | 740 | "column": 3 |
702 | } | 741 | } |
703 | } | 742 | } |
diff --git a/src/lib/Menu.js b/src/lib/Menu.js index e0dfd736e..22d788918 100644 --- a/src/lib/Menu.js +++ b/src/lib/Menu.js | |||
@@ -1,4 +1,4 @@ | |||
1 | import { remote, shell } from 'electron'; | 1 | import { remote, shell, clipboard } from 'electron'; |
2 | import { observable, autorun } from 'mobx'; | 2 | import { observable, autorun } from 'mobx'; |
3 | import { defineMessages } from 'react-intl'; | 3 | import { defineMessages } from 'react-intl'; |
4 | 4 | ||
@@ -128,6 +128,18 @@ const menuItems = defineMessages({ | |||
128 | id: 'menu.help.support', | 128 | id: 'menu.help.support', |
129 | defaultMessage: '!!!Support', | 129 | defaultMessage: '!!!Support', |
130 | }, | 130 | }, |
131 | debugInfo: { | ||
132 | id: 'menu.help.debugInfo', | ||
133 | defaultMessage: '!!!Copy Debug Information', | ||
134 | }, | ||
135 | debugInfoCopiedHeadline: { | ||
136 | id: 'menu.help.debugInfoCopiedHeadline', | ||
137 | defaultMessage: '!!!Franz Debug Information', | ||
138 | }, | ||
139 | debugInfoCopiedBody: { | ||
140 | id: 'menu.help.debugInfoCopiedBody', | ||
141 | defaultMessage: '!!!Your Debug Information has been copied to your clipboard.', | ||
142 | }, | ||
131 | tos: { | 143 | tos: { |
132 | id: 'menu.help.tos', | 144 | id: 'menu.help.tos', |
133 | defaultMessage: '!!!Terms of Service', | 145 | defaultMessage: '!!!Terms of Service', |
@@ -760,6 +772,10 @@ export default class FranzMenu { | |||
760 | tpl[4].submenu = this.workspacesMenu(); | 772 | tpl[4].submenu = this.workspacesMenu(); |
761 | } | 773 | } |
762 | 774 | ||
775 | tpl[tpl.length - 1].submenu.push({ | ||
776 | type: 'separator', | ||
777 | }, this.debugMenu()); | ||
778 | |||
763 | this.currentTemplate = tpl; | 779 | this.currentTemplate = tpl; |
764 | const menu = Menu.buildFromTemplate(tpl); | 780 | const menu = Menu.buildFromTemplate(tpl); |
765 | Menu.setApplicationMenu(menu); | 781 | Menu.setApplicationMenu(menu); |
@@ -870,6 +886,28 @@ export default class FranzMenu { | |||
870 | return menu; | 886 | return menu; |
871 | } | 887 | } |
872 | 888 | ||
889 | debugMenu() { | ||
890 | const { intl } = window.franz; | ||
891 | |||
892 | return { | ||
893 | label: intl.formatMessage(menuItems.debugInfo), | ||
894 | click: () => { | ||
895 | const { debugInfo } = this.stores.app; | ||
896 | |||
897 | clipboard.write({ | ||
898 | text: JSON.stringify(debugInfo), | ||
899 | }); | ||
900 | |||
901 | this.actions.app.notify({ | ||
902 | title: intl.formatMessage(menuItems.debugInfoCopiedHeadline), | ||
903 | options: { | ||
904 | body: intl.formatMessage(menuItems.debugInfoCopiedBody), | ||
905 | }, | ||
906 | }); | ||
907 | }, | ||
908 | }; | ||
909 | } | ||
910 | |||
873 | _getServiceName(service) { | 911 | _getServiceName(service) { |
874 | if (service.name) { | 912 | if (service.name) { |
875 | return service.name; | 913 | return service.name; |
diff --git a/src/stores/AppStore.js b/src/stores/AppStore.js index 55ee52b18..6054e6721 100644 --- a/src/stores/AppStore.js +++ b/src/stores/AppStore.js | |||
@@ -8,6 +8,9 @@ import AutoLaunch from 'auto-launch'; | |||
8 | import prettyBytes from 'pretty-bytes'; | 8 | import prettyBytes from 'pretty-bytes'; |
9 | import ms from 'ms'; | 9 | import ms from 'ms'; |
10 | import { URL } from 'url'; | 10 | import { URL } from 'url'; |
11 | import os from 'os'; | ||
12 | import path from 'path'; | ||
13 | import { readJsonSync } from 'fs-extra'; | ||
11 | 14 | ||
12 | import Store from './lib/Store'; | 15 | import Store from './lib/Store'; |
13 | import Request from './lib/Request'; | 16 | import Request from './lib/Request'; |
@@ -23,7 +26,7 @@ import { isValidExternalURL } from '../helpers/url-helpers'; | |||
23 | 26 | ||
24 | const debug = require('debug')('Franz:AppStore'); | 27 | const debug = require('debug')('Franz:AppStore'); |
25 | 28 | ||
26 | const { app, systemPreferences } = remote; | 29 | const { app, systemPreferences, screen } = remote; |
27 | 30 | ||
28 | const mainWindow = remote.getCurrentWindow(); | 31 | const mainWindow = remote.getCurrentWindow(); |
29 | 32 | ||
@@ -182,6 +185,26 @@ export default class AppStore extends Store { | |||
182 | return prettyBytes(this.getAppCacheSizeRequest.execute().result || 0); | 185 | return prettyBytes(this.getAppCacheSizeRequest.execute().result || 0); |
183 | } | 186 | } |
184 | 187 | ||
188 | @computed get debugInfo() { | ||
189 | return { | ||
190 | host: { | ||
191 | platform: process.platform, | ||
192 | release: os.release(), | ||
193 | screens: screen.getAllDisplays(), | ||
194 | }, | ||
195 | franz: { | ||
196 | version: app.getVersion(), | ||
197 | electron: process.versions.electron, | ||
198 | installedRecipes: this.stores.recipes.all.map(recipe => ({ id: recipe.id, version: recipe.version })), | ||
199 | devRecipes: this.stores.recipePreviews.dev.map(recipe => ({ id: recipe.id, version: recipe.version })), | ||
200 | services: this.stores.services.all.map(service => ({ id: service.id, recipe: service.recipe.id })), | ||
201 | workspaces: this.stores.workspaces.workspaces.map(workspace => ({ id: workspace.id, services: workspace.services })), | ||
202 | windowSettings: readJsonSync(path.join(app.getPath('userData'), 'window-state.json')), | ||
203 | user: this.stores.user.data.id, | ||
204 | }, | ||
205 | }; | ||
206 | } | ||
207 | |||
185 | // Actions | 208 | // Actions |
186 | @action _notify({ | 209 | @action _notify({ |
187 | title, options, notificationId, serviceId = null, | 210 | title, options, notificationId, serviceId = null, |
@@ -189,7 +212,7 @@ export default class AppStore extends Store { | |||
189 | if (this.stores.settings.all.app.isAppMuted) return; | 212 | if (this.stores.settings.all.app.isAppMuted) return; |
190 | 213 | ||
191 | // TODO: is there a simple way to use blobs for notifications without storing them on disk? | 214 | // TODO: is there a simple way to use blobs for notifications without storing them on disk? |
192 | if (options.icon.startsWith('blob:')) { | 215 | if (options.icon && options.icon.startsWith('blob:')) { |
193 | delete options.icon; | 216 | delete options.icon; |
194 | } | 217 | } |
195 | 218 | ||
diff --git a/src/stores/lib/Reaction.js b/src/stores/lib/Reaction.js index f2642908f..f8009b7f6 100644 --- a/src/stores/lib/Reaction.js +++ b/src/stores/lib/Reaction.js | |||
@@ -13,15 +13,15 @@ export default class Reaction { | |||
13 | 13 | ||
14 | start() { | 14 | start() { |
15 | if (!this.isRunning) { | 15 | if (!this.isRunning) { |
16 | this.dispose = autorun(() => this.reaction()); | 16 | this.dispose = autorun(this.reaction); |
17 | this.isActive = true; | 17 | this.isRunning = true; |
18 | } | 18 | } |
19 | } | 19 | } |
20 | 20 | ||
21 | stop() { | 21 | stop() { |
22 | if (this.isRunning) { | 22 | if (this.isRunning) { |
23 | this.dispose(); | 23 | this.dispose(); |
24 | this.isActive = false; | 24 | this.isRunning = false; |
25 | } | 25 | } |
26 | } | 26 | } |
27 | } | 27 | } |
diff --git a/uidev/src/stories/button.stories.tsx b/uidev/src/stories/button.stories.tsx index f7537895c..5c1c9246d 100644 --- a/uidev/src/stories/button.stories.tsx +++ b/uidev/src/stories/button.stories.tsx | |||
@@ -1,10 +1,10 @@ | |||
1 | import { mdiInformation } from '@mdi/js'; | ||
1 | import { observable } from 'mobx'; | 2 | import { observable } from 'mobx'; |
2 | import { observer } from 'mobx-react'; | 3 | import { observer } from 'mobx-react'; |
3 | import React from 'react'; | 4 | import React from 'react'; |
4 | import injectSheet from 'react-jss'; | 5 | import injectSheet from 'react-jss'; |
5 | 6 | ||
6 | import { Button, Input } from '@meetfranz/forms'; | 7 | import { Button, Input } from '@meetfranz/forms'; |
7 | import { classes } from 'istanbul-lib-coverage'; | ||
8 | import { Classes } from 'jss'; | 8 | import { Classes } from 'jss'; |
9 | import { storiesOf } from '../stores/stories'; | 9 | import { storiesOf } from '../stores/stories'; |
10 | 10 | ||
@@ -92,7 +92,7 @@ storiesOf('Button') | |||
92 | )) | 92 | )) |
93 | .add('With icon', () => ( | 93 | .add('With icon', () => ( |
94 | <WithStoreButton store={createStore({ | 94 | <WithStoreButton store={createStore({ |
95 | icon: 'mdiInformation', | 95 | icon: mdiInformation, |
96 | })} /> | 96 | })} /> |
97 | )) | 97 | )) |
98 | .add('As link', () => ( | 98 | .add('As link', () => ( |
@@ -131,7 +131,7 @@ storiesOf('Button') | |||
131 | <div className={classes.combinedElements}> | 131 | <div className={classes.combinedElements}> |
132 | <Input showLabel={false} className={classes.input} noMargin /> | 132 | <Input showLabel={false} className={classes.input} noMargin /> |
133 | <WithStoreButton store={createStore({ | 133 | <WithStoreButton store={createStore({ |
134 | icon: 'mdiInformation', | 134 | icon: mdiInformation, |
135 | })} /> | 135 | })} /> |
136 | </div> | 136 | </div> |
137 | )), | 137 | )), |
diff --git a/uidev/src/stories/icon.stories.tsx b/uidev/src/stories/icon.stories.tsx index c8e7f8ced..f9aa1635b 100644 --- a/uidev/src/stories/icon.stories.tsx +++ b/uidev/src/stories/icon.stories.tsx | |||
@@ -1,53 +1,14 @@ | |||
1 | import { observable } from 'mobx'; | 1 | import { mdiAccountCircle } from '@mdi/js'; |
2 | import { observer } from 'mobx-react'; | ||
3 | import React from 'react'; | 2 | import React from 'react'; |
4 | import uuid from 'uuid/v4'; | ||
5 | 3 | ||
6 | import { Icon } from '@meetfranz/ui'; | 4 | import { Icon } from '@meetfranz/ui'; |
7 | import { storiesOf } from '../stores/stories'; | 5 | import { storiesOf } from '../stores/stories'; |
8 | 6 | ||
9 | // interface IStoreArgs { | ||
10 | // value?: boolean; | ||
11 | // checked?: boolean; | ||
12 | // label?: string; | ||
13 | // id?: string; | ||
14 | // name?: string; | ||
15 | // disabled?: boolean; | ||
16 | // error?: string; | ||
17 | // } | ||
18 | |||
19 | // const createStore = (args?: IStoreArgs) => { | ||
20 | // return observable(Object.assign({ | ||
21 | // id: `element-${uuid()}`, | ||
22 | // name: 'toggle', | ||
23 | // label: 'Label', | ||
24 | // value: true, | ||
25 | // checked: false, | ||
26 | // disabled: false, | ||
27 | // error: '', | ||
28 | // }, args)); | ||
29 | // }; | ||
30 | |||
31 | // const WithStoreToggle = observer(({ store }: { store: any }) => ( | ||
32 | // <> | ||
33 | // <Toggle | ||
34 | // value={store.value} | ||
35 | // checked={store.checked} | ||
36 | // label={store.label} | ||
37 | // id={store.id} | ||
38 | // name={store.name} | ||
39 | // disabled={store.disabled} | ||
40 | // error={store.error} | ||
41 | // onChange={() => store.checked = !store.checked} | ||
42 | // /> | ||
43 | // </> | ||
44 | // )); | ||
45 | |||
46 | storiesOf('Icon') | 7 | storiesOf('Icon') |
47 | .add('Basic', () => ( | 8 | .add('Basic', () => ( |
48 | <> | 9 | <> |
49 | <Icon icon="mdiAccountCircle" /> | 10 | <Icon icon={mdiAccountCircle} /> |
50 | <Icon icon="mdiAccountCircle" size={2} /> | 11 | <Icon icon={mdiAccountCircle} size={2} /> |
51 | <Icon icon="mdiAccountCircle" size={3} /> | 12 | <Icon icon={mdiAccountCircle} size={3} /> |
52 | </> | 13 | </> |
53 | )); | 14 | )); |
diff --git a/uidev/src/stories/infobox.stories.tsx b/uidev/src/stories/infobox.stories.tsx index 144855376..c3442da0d 100644 --- a/uidev/src/stories/infobox.stories.tsx +++ b/uidev/src/stories/infobox.stories.tsx | |||
@@ -1,3 +1,4 @@ | |||
1 | import { mdiEarth } from '@mdi/js'; | ||
1 | import { observable } from 'mobx'; | 2 | import { observable } from 'mobx'; |
2 | import { observer } from 'mobx-react'; | 3 | import { observer } from 'mobx-react'; |
3 | import React from 'react'; | 4 | import React from 'react'; |
@@ -44,7 +45,7 @@ storiesOf('Infobox') | |||
44 | .add('Icon + Dismissable', () => ( | 45 | .add('Icon + Dismissable', () => ( |
45 | <WithStoreInfobox | 46 | <WithStoreInfobox |
46 | store={createStore({ | 47 | store={createStore({ |
47 | icon: 'mdiEarth', | 48 | icon: mdiEarth, |
48 | dismissable: true, | 49 | dismissable: true, |
49 | })} | 50 | })} |
50 | > | 51 | > |
@@ -54,7 +55,7 @@ storiesOf('Infobox') | |||
54 | .add('With CTA', () => ( | 55 | .add('With CTA', () => ( |
55 | <WithStoreInfobox | 56 | <WithStoreInfobox |
56 | store={createStore({ | 57 | store={createStore({ |
57 | icon: 'mdiEarth', | 58 | icon: mdiEarth, |
58 | ctaLabel: 'Ok, hi!', | 59 | ctaLabel: 'Ok, hi!', |
59 | })} | 60 | })} |
60 | > | 61 | > |
@@ -64,7 +65,7 @@ storiesOf('Infobox') | |||
64 | .add('With long text', () => ( | 65 | .add('With long text', () => ( |
65 | <WithStoreInfobox | 66 | <WithStoreInfobox |
66 | store={createStore({ | 67 | store={createStore({ |
67 | icon: 'mdiEarth', | 68 | icon: mdiEarth, |
68 | ctaLabel: 'Ok, hi!', | 69 | ctaLabel: 'Ok, hi!', |
69 | })} | 70 | })} |
70 | > | 71 | > |
@@ -74,7 +75,7 @@ storiesOf('Infobox') | |||
74 | .add('Secondary', () => ( | 75 | .add('Secondary', () => ( |
75 | <WithStoreInfobox | 76 | <WithStoreInfobox |
76 | store={createStore({ | 77 | store={createStore({ |
77 | icon: 'mdiEarth', | 78 | icon: mdiEarth, |
78 | ctaLabel: 'Ok, hi!', | 79 | ctaLabel: 'Ok, hi!', |
79 | type: 'secondary', | 80 | type: 'secondary', |
80 | })} | 81 | })} |
@@ -85,7 +86,7 @@ storiesOf('Infobox') | |||
85 | .add('Success', () => ( | 86 | .add('Success', () => ( |
86 | <WithStoreInfobox | 87 | <WithStoreInfobox |
87 | store={createStore({ | 88 | store={createStore({ |
88 | icon: 'mdiEarth', | 89 | icon: mdiEarth, |
89 | ctaLabel: 'Ok, hi!', | 90 | ctaLabel: 'Ok, hi!', |
90 | type: 'success', | 91 | type: 'success', |
91 | })} | 92 | })} |
@@ -96,7 +97,7 @@ storiesOf('Infobox') | |||
96 | .add('Warning', () => ( | 97 | .add('Warning', () => ( |
97 | <WithStoreInfobox | 98 | <WithStoreInfobox |
98 | store={createStore({ | 99 | store={createStore({ |
99 | icon: 'mdiEarth', | 100 | icon: mdiEarth, |
100 | ctaLabel: 'Ok, hi!', | 101 | ctaLabel: 'Ok, hi!', |
101 | type: 'warning', | 102 | type: 'warning', |
102 | })} | 103 | })} |
@@ -107,7 +108,7 @@ storiesOf('Infobox') | |||
107 | .add('Danger', () => ( | 108 | .add('Danger', () => ( |
108 | <WithStoreInfobox | 109 | <WithStoreInfobox |
109 | store={createStore({ | 110 | store={createStore({ |
110 | icon: 'mdiEarth', | 111 | icon: mdiEarth, |
111 | ctaLabel: 'Ok, hi!', | 112 | ctaLabel: 'Ok, hi!', |
112 | type: 'danger', | 113 | type: 'danger', |
113 | })} | 114 | })} |
@@ -118,7 +119,7 @@ storiesOf('Infobox') | |||
118 | .add('Inverted', () => ( | 119 | .add('Inverted', () => ( |
119 | <WithStoreInfobox | 120 | <WithStoreInfobox |
120 | store={createStore({ | 121 | store={createStore({ |
121 | icon: 'mdiEarth', | 122 | icon: mdiEarth, |
122 | ctaLabel: 'Ok, hi!', | 123 | ctaLabel: 'Ok, hi!', |
123 | type: 'inverted', | 124 | type: 'inverted', |
124 | })} | 125 | })} |