aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Stefan Malzner <stefan@adlk.io>2019-04-13 20:58:37 +0200
committerLibravatar Stefan Malzner <stefan@adlk.io>2019-04-13 20:58:37 +0200
commit8e623e84cf21068561217a509c0761d524dfbc29 (patch)
treea83f307c3ce087169e3a1d55418fa78a71b7b4dc
parentUse store reactions (diff)
parentMerge branch 'feature/announcements' into develop (diff)
downloadferdium-app-8e623e84cf21068561217a509c0761d524dfbc29.tar.gz
ferdium-app-8e623e84cf21068561217a509c0761d524dfbc29.tar.zst
ferdium-app-8e623e84cf21068561217a509c0761d524dfbc29.zip
Merge branch 'develop' into chore/streamline-dashboard
-rw-r--r--package-lock.json5
-rw-r--r--package.json1
-rw-r--r--packages/theme/src/themes/dark/index.ts26
-rw-r--r--packages/theme/src/themes/default/index.ts25
-rw-r--r--src/actions/index.js2
-rw-r--r--src/actions/lib/actions.js2
-rw-r--r--src/actions/service.js1
-rw-r--r--src/api/server/ServerApi.js4
-rw-r--r--src/components/layout/AppLayout.js16
-rw-r--r--src/components/settings/settings/EditSettingsForm.js8
-rw-r--r--src/config.js1
-rw-r--r--src/containers/layout/AppLayoutContainer.js3
-rw-r--r--src/electron/ipc-api/autoUpdate.js7
-rw-r--r--src/features/announcements/actions.js10
-rw-r--r--src/features/announcements/api.js33
-rw-r--r--src/features/announcements/components/AnnouncementScreen.js286
-rw-r--r--src/features/announcements/index.js30
-rw-r--r--src/features/announcements/store.js133
-rw-r--r--src/features/utils/ActionBinding.js29
-rw-r--r--src/features/utils/FeatureStore.js43
-rw-r--r--src/features/workspaces/components/CreateWorkspaceForm.js4
-rw-r--r--src/features/workspaces/store.js69
-rw-r--r--src/i18n/locales/ca.json42
-rw-r--r--src/i18n/locales/cs.json48
-rw-r--r--src/i18n/locales/de.json136
-rw-r--r--src/i18n/locales/defaultMessages.json276
-rw-r--r--src/i18n/locales/el.json42
-rw-r--r--src/i18n/locales/en-US.json3
-rw-r--r--src/i18n/locales/es.json64
-rw-r--r--src/i18n/locales/fr.json68
-rw-r--r--src/i18n/locales/ga.json42
-rw-r--r--src/i18n/locales/hr.json42
-rw-r--r--src/i18n/locales/hu.json42
-rw-r--r--src/i18n/locales/id.json78
-rw-r--r--src/i18n/locales/it.json74
-rw-r--r--src/i18n/locales/ja.json66
-rw-r--r--src/i18n/locales/ka.json42
-rw-r--r--src/i18n/locales/nl-BE.json42
-rw-r--r--src/i18n/locales/nl.json42
-rw-r--r--src/i18n/locales/pl.json42
-rw-r--r--src/i18n/locales/pt-BR.json54
-rw-r--r--src/i18n/locales/pt.json48
-rw-r--r--src/i18n/locales/ru.json60
-rw-r--r--src/i18n/locales/sk.json42
-rw-r--r--src/i18n/locales/sr.json42
-rw-r--r--src/i18n/locales/tr.json42
-rw-r--r--src/i18n/locales/uk.json42
-rw-r--r--src/i18n/locales/zh-TW.json42
-rw-r--r--src/i18n/messages/src/components/layout/AppLayout.json24
-rw-r--r--src/i18n/messages/src/components/settings/settings/EditSettingsForm.json13
-rw-r--r--src/i18n/messages/src/features/announcements/components/AnnouncementScreen.json15
-rw-r--r--src/i18n/messages/src/lib/Menu.json221
-rw-r--r--src/lib/Menu.js11
-rw-r--r--src/stores/AppStore.js5
-rw-r--r--src/stores/FeaturesStore.js2
-rw-r--r--src/stores/ServicesStore.js6
-rw-r--r--src/stores/UserStore.js1
-rw-r--r--src/stores/index.js4
-rw-r--r--src/stores/lib/Reaction.js19
-rw-r--r--src/styles/info-bar.scss4
60 files changed, 2123 insertions, 503 deletions
diff --git a/package-lock.json b/package-lock.json
index 3c09ee912..ab505e904 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -12172,6 +12172,11 @@
12172 "object-visit": "^1.0.0" 12172 "object-visit": "^1.0.0"
12173 } 12173 }
12174 }, 12174 },
12175 "marked": {
12176 "version": "0.6.1",
12177 "resolved": "https://registry.npmjs.org/marked/-/marked-0.6.1.tgz",
12178 "integrity": "sha512-+H0L3ibcWhAZE02SKMqmvYsErLo4EAVJxu5h3bHBBDvvjeWXtl92rGUSBYHL2++5Y+RSNgl8dYOAXcYe7lp1fA=="
12179 },
12175 "matchdep": { 12180 "matchdep": {
12176 "version": "2.0.0", 12181 "version": "2.0.0",
12177 "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", 12182 "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz",
diff --git a/package.json b/package.json
index 49811a4a1..948e4b6cc 100644
--- a/package.json
+++ b/package.json
@@ -54,6 +54,7 @@
54 "hex-to-rgba": "1.0.2", 54 "hex-to-rgba": "1.0.2",
55 "jsonwebtoken": "8.5.1", 55 "jsonwebtoken": "8.5.1",
56 "lodash": "^4.17.4", 56 "lodash": "^4.17.4",
57 "marked": "0.6.1",
57 "mdi": "^1.9.33", 58 "mdi": "^1.9.33",
58 "mime-types": "2.1.21", 59 "mime-types": "2.1.21",
59 "mobx": "5.7.0", 60 "mobx": "5.7.0",
diff --git a/packages/theme/src/themes/dark/index.ts b/packages/theme/src/themes/dark/index.ts
index fd04b106c..d48dbf916 100644
--- a/packages/theme/src/themes/dark/index.ts
+++ b/packages/theme/src/themes/dark/index.ts
@@ -1,5 +1,5 @@
1import color from 'color'; 1import color from 'color';
2import { merge, cloneDeep } from 'lodash'; 2import { cloneDeep, merge } from 'lodash';
3 3
4import * as defaultStyles from '../default'; 4import * as defaultStyles from '../default';
5import * as legacyStyles from '../legacy'; 5import * as legacyStyles from '../legacy';
@@ -112,21 +112,9 @@ export const workspaces = merge({}, defaultStyles.workspaces, {
112 }, 112 },
113}); 113});
114 114
115// // Workspace settings 115// Announcements
116// export const workspaceSettings = merge({}, defaultStyles.workspaceSettings, { 116export const announcements = merge({}, defaultStyles.workspaces, {
117// listItemBorderColor: legacyStyles.darkThemeGrayDarker, 117 spotlight: {
118// listItemHoverBgColor: legacyStyles.darkThemeGrayDarker, 118 background: legacyStyles.darkThemeGrayDark,
119// }); 119 },
120// 120});
121// // Workspace Drawer
122// export const workspaceDrawerBackground = color(colorBackground).lighten(0.3).hex();
123// export const workspaceDrawerAddButtonColor = legacyStyles.darkThemeGrayLighter;
124// export const workspaceDrawerAddButtonHoverColor = legacyStyles.darkThemeGraySmoke;
125// export const workspaceDrawerItemBorder = color(workspaceDrawerBackground).lighten(0.2).hex();
126// export const workspaceDrawerItemHoverBackground = color(workspaceDrawerBackground).lighten(0.2).hex();
127// export const workspaceDrawerItemActiveBackground = defaultStyles.brandPrimary;
128// export const workspaceDrawerItemNameColor = colorText;
129// export const workspaceDrawerItemNameActiveColor = 'white';
130// export const workspaceDrawerServicesColor = color(colorText).darken(0.5).hex();
131// export const workspaceDrawerServicesActiveColor = color(defaultStyles.brandPrimary).lighten(0.5).hex();
132//
diff --git a/packages/theme/src/themes/default/index.ts b/packages/theme/src/themes/default/index.ts
index d0493b82f..0f02fa3c8 100644
--- a/packages/theme/src/themes/default/index.ts
+++ b/packages/theme/src/themes/default/index.ts
@@ -201,22 +201,9 @@ export const workspaces = {
201 }, 201 },
202}; 202};
203 203
204// export const workspaceSettings = { 204// Announcements
205// listItemHeight: 57, 205export const announcements = {
206// listItemBorderColor: legacyStyles.themeGrayLightest, 206 spotlight: {
207// listItemHoverBgColor: legacyStyles.themeGrayLightest, 207 background: legacyStyles.themeGrayLightest,
208// }; 208 },
209// 209};
210// // Workspace Drawer
211// export const workspaceDrawerWidth = 300;
212// export const workspaceDrawerPadding = 20;
213// export const workspaceDrawerBackground = color(colorBackground).lighten(0.1).hex();
214// export const workspaceDrawerAddButtonColor = legacyStyles.themeGrayLight;
215// export const workspaceDrawerAddButtonHoverColor = color(legacyStyles.themeGrayLight).lighten(0.1).hex();
216// export const workspaceDrawerItemHoverBackground = color(workspaceDrawerBackground).darken(0.01).hex();
217// export const workspaceDrawerItemActiveBackground = legacyStyles.themeGrayLightest;
218// export const workspaceDrawerItemBorder = color(workspaceDrawerBackground).darken(0.05).hex();
219// export const workspaceDrawerItemNameColor = colorText;
220// export const workspaceDrawerItemNameActiveColor = colorText;
221// export const workspaceDrawerServicesColor = color(colorText).lighten(1.5).hex();
222// export const workspaceDrawerServicesActiveColor = workspaceDrawerServicesColor;
diff --git a/src/actions/index.js b/src/actions/index.js
index 00f843cd6..fc525afeb 100644
--- a/src/actions/index.js
+++ b/src/actions/index.js
@@ -11,6 +11,7 @@ import payment from './payment';
11import news from './news'; 11import news from './news';
12import settings from './settings'; 12import settings from './settings';
13import requests from './requests'; 13import requests from './requests';
14import announcements from '../features/announcements/actions';
14import workspaces from '../features/workspaces/actions'; 15import workspaces from '../features/workspaces/actions';
15 16
16const actions = Object.assign({}, { 17const actions = Object.assign({}, {
@@ -28,5 +29,6 @@ const actions = Object.assign({}, {
28 29
29export default Object.assign( 30export default Object.assign(
30 defineActions(actions, PropTypes.checkPropTypes), 31 defineActions(actions, PropTypes.checkPropTypes),
32 { announcements },
31 { workspaces }, 33 { workspaces },
32); 34);
diff --git a/src/actions/lib/actions.js b/src/actions/lib/actions.js
index 2bc7d2711..b38db9946 100644
--- a/src/actions/lib/actions.js
+++ b/src/actions/lib/actions.js
@@ -1,7 +1,7 @@
1export const createActionsFromDefinitions = (actionDefinitions, validate) => { 1export const createActionsFromDefinitions = (actionDefinitions, validate) => {
2 const actions = {}; 2 const actions = {};
3 Object.keys(actionDefinitions).forEach((actionName) => { 3 Object.keys(actionDefinitions).forEach((actionName) => {
4 const action = (params) => { 4 const action = (params = {}) => {
5 const schema = actionDefinitions[actionName]; 5 const schema = actionDefinitions[actionName];
6 validate(schema, params, actionName); 6 validate(schema, params, actionName);
7 action.notify(params); 7 action.notify(params);
diff --git a/src/actions/service.js b/src/actions/service.js
index ceaabc31e..ce62560a9 100644
--- a/src/actions/service.js
+++ b/src/actions/service.js
@@ -5,6 +5,7 @@ export default {
5 setActive: { 5 setActive: {
6 serviceId: PropTypes.string.isRequired, 6 serviceId: PropTypes.string.isRequired,
7 }, 7 },
8 blurActive: {},
8 setActiveNext: {}, 9 setActiveNext: {},
9 setActivePrev: {}, 10 setActivePrev: {},
10 showAddServiceInterface: { 11 showAddServiceInterface: {
diff --git a/src/api/server/ServerApi.js b/src/api/server/ServerApi.js
index f6bc9c283..a9ce202ff 100644
--- a/src/api/server/ServerApi.js
+++ b/src/api/server/ServerApi.js
@@ -268,7 +268,7 @@ export default class ServerApi {
268 const data = await request.json(); 268 const data = await request.json();
269 269
270 const features = data; 270 const features = data;
271 console.debug('ServerApi::getDefaultFeatures resolves', features); 271 debug('ServerApi::getDefaultFeatures resolves', features);
272 return features; 272 return features;
273 } 273 }
274 274
@@ -280,7 +280,7 @@ export default class ServerApi {
280 const data = await request.json(); 280 const data = await request.json();
281 281
282 const features = data; 282 const features = data;
283 console.debug('ServerApi::getFeatures resolves', features); 283 debug('ServerApi::getFeatures resolves', features);
284 return features; 284 return features;
285 } 285 }
286 286
diff --git a/src/components/layout/AppLayout.js b/src/components/layout/AppLayout.js
index b7f7722dd..d5febfaf4 100644
--- a/src/components/layout/AppLayout.js
+++ b/src/components/layout/AppLayout.js
@@ -14,8 +14,10 @@ import ErrorBoundary from '../util/ErrorBoundary';
14// import globalMessages from '../../i18n/globalMessages'; 14// import globalMessages from '../../i18n/globalMessages';
15 15
16import { isWindows } from '../../environment'; 16import { isWindows } from '../../environment';
17import AnnouncementScreen from '../../features/announcements/components/AnnouncementScreen';
17import WorkspaceSwitchingIndicator from '../../features/workspaces/components/WorkspaceSwitchingIndicator'; 18import WorkspaceSwitchingIndicator from '../../features/workspaces/components/WorkspaceSwitchingIndicator';
18import { workspaceStore } from '../../features/workspaces'; 19import { workspaceStore } from '../../features/workspaces';
20import { announcementActions } from '../../features/announcements/actions';
19 21
20function createMarkup(HTMLString) { 22function createMarkup(HTMLString) {
21 return { __html: HTMLString }; 23 return { __html: HTMLString };
@@ -71,6 +73,7 @@ class AppLayout extends Component {
71 // isOnline: PropTypes.bool.isRequired, 73 // isOnline: PropTypes.bool.isRequired,
72 showServicesUpdatedInfoBar: PropTypes.bool.isRequired, 74 showServicesUpdatedInfoBar: PropTypes.bool.isRequired,
73 appUpdateIsDownloaded: PropTypes.bool.isRequired, 75 appUpdateIsDownloaded: PropTypes.bool.isRequired,
76 nextAppReleaseVersion: PropTypes.string,
74 removeNewsItem: PropTypes.func.isRequired, 77 removeNewsItem: PropTypes.func.isRequired,
75 reloadServicesAfterUpdate: PropTypes.func.isRequired, 78 reloadServicesAfterUpdate: PropTypes.func.isRequired,
76 installAppUpdate: PropTypes.func.isRequired, 79 installAppUpdate: PropTypes.func.isRequired,
@@ -80,10 +83,12 @@ class AppLayout extends Component {
80 areRequiredRequestsLoading: PropTypes.bool.isRequired, 83 areRequiredRequestsLoading: PropTypes.bool.isRequired,
81 darkMode: PropTypes.bool.isRequired, 84 darkMode: PropTypes.bool.isRequired,
82 isDelayAppScreenVisible: PropTypes.bool.isRequired, 85 isDelayAppScreenVisible: PropTypes.bool.isRequired,
86 isAnnouncementVisible: PropTypes.bool.isRequired,
83 }; 87 };
84 88
85 static defaultProps = { 89 static defaultProps = {
86 children: [], 90 children: [],
91 nextAppReleaseVersion: null,
87 }; 92 };
88 93
89 static contextTypes = { 94 static contextTypes = {
@@ -102,6 +107,7 @@ class AppLayout extends Component {
102 news, 107 news,
103 showServicesUpdatedInfoBar, 108 showServicesUpdatedInfoBar,
104 appUpdateIsDownloaded, 109 appUpdateIsDownloaded,
110 nextAppReleaseVersion,
105 removeNewsItem, 111 removeNewsItem,
106 reloadServicesAfterUpdate, 112 reloadServicesAfterUpdate,
107 installAppUpdate, 113 installAppUpdate,
@@ -111,6 +117,7 @@ class AppLayout extends Component {
111 areRequiredRequestsLoading, 117 areRequiredRequestsLoading,
112 darkMode, 118 darkMode,
113 isDelayAppScreenVisible, 119 isDelayAppScreenVisible,
120 isAnnouncementVisible,
114 } = this.props; 121 } = this.props;
115 122
116 const { intl } = this.context; 123 const { intl } = this.context;
@@ -178,14 +185,19 @@ class AppLayout extends Component {
178 <span className="mdi mdi-information" /> 185 <span className="mdi mdi-information" />
179 {intl.formatMessage(messages.updateAvailable)} 186 {intl.formatMessage(messages.updateAvailable)}
180 {' '} 187 {' '}
181 <a href="https://meetfranz.com/changelog" target="_blank"> 188 <button
189 className="info-bar__inline-button"
190 type="button"
191 onClick={() => announcementActions.show({ targetVersion: nextAppReleaseVersion })}
192 >
182 <u>{intl.formatMessage(messages.changelog)}</u> 193 <u>{intl.formatMessage(messages.changelog)}</u>
183 </a> 194 </button>
184 </InfoBar> 195 </InfoBar>
185 )} 196 )}
186 {isDelayAppScreenVisible && (<DelayApp />)} 197 {isDelayAppScreenVisible && (<DelayApp />)}
187 <BasicAuth /> 198 <BasicAuth />
188 <ShareFranz /> 199 <ShareFranz />
200 {isAnnouncementVisible && (<AnnouncementScreen />)}
189 {services} 201 {services}
190 </div> 202 </div>
191 </div> 203 </div>
diff --git a/src/components/settings/settings/EditSettingsForm.js b/src/components/settings/settings/EditSettingsForm.js
index 8429d0ecb..efd453356 100644
--- a/src/components/settings/settings/EditSettingsForm.js
+++ b/src/components/settings/settings/EditSettingsForm.js
@@ -81,6 +81,10 @@ const messages = defineMessages({
81 id: 'settings.app.restartRequired', 81 id: 'settings.app.restartRequired',
82 defaultMessage: '!!!Changes require restart', 82 defaultMessage: '!!!Changes require restart',
83 }, 83 },
84 languageDisclaimer: {
85 id: 'settings.app.languageDisclaimer',
86 defaultMessage: '!!!Official translations are English & German. All other languages are community based translations.',
87 },
84}); 88});
85 89
86export default @observer class EditSettingsForm extends Component { 90export default @observer class EditSettingsForm extends Component {
@@ -239,6 +243,10 @@ export default @observer class EditSettingsForm extends Component {
239 {intl.formatMessage(messages.currentVersion)} 243 {intl.formatMessage(messages.currentVersion)}
240 {' '} 244 {' '}
241 {remote.app.getVersion()} 245 {remote.app.getVersion()}
246 <p className="settings__message">
247 <span className="mdi mdi-information" />
248 {intl.formatMessage(messages.languageDisclaimer)}
249 </p>
242 </form> 250 </form>
243 </div> 251 </div>
244 </div> 252 </div>
diff --git a/src/config.js b/src/config.js
index 0a47aa7d7..92d456896 100644
--- a/src/config.js
+++ b/src/config.js
@@ -50,6 +50,7 @@ export const DEFAULT_FEATURES_CONFIG = {
50 }, 50 },
51 isServiceProxyEnabled: false, 51 isServiceProxyEnabled: false,
52 isServiceProxyPremiumFeature: true, 52 isServiceProxyPremiumFeature: true,
53 isAnnouncementsEnabled: true,
53 isWorkspacePremiumFeature: true, 54 isWorkspacePremiumFeature: true,
54 isWorkspaceEnabled: false, 55 isWorkspaceEnabled: false,
55}; 56};
diff --git a/src/containers/layout/AppLayoutContainer.js b/src/containers/layout/AppLayoutContainer.js
index 2d855c78f..d2891a6a4 100644
--- a/src/containers/layout/AppLayoutContainer.js
+++ b/src/containers/layout/AppLayoutContainer.js
@@ -23,6 +23,7 @@ import { state as delayAppState } from '../../features/delayApp';
23import { workspaceActions } from '../../features/workspaces/actions'; 23import { workspaceActions } from '../../features/workspaces/actions';
24import WorkspaceDrawer from '../../features/workspaces/components/WorkspaceDrawer'; 24import WorkspaceDrawer from '../../features/workspaces/components/WorkspaceDrawer';
25import { workspaceStore } from '../../features/workspaces'; 25import { workspaceStore } from '../../features/workspaces';
26import { announcementsStore } from '../../features/announcements';
26 27
27export default @inject('stores', 'actions') @observer class AppLayoutContainer extends Component { 28export default @inject('stores', 'actions') @observer class AppLayoutContainer extends Component {
28 static defaultProps = { 29 static defaultProps = {
@@ -135,6 +136,7 @@ export default @inject('stores', 'actions') @observer class AppLayoutContainer e
135 isOnline={app.isOnline} 136 isOnline={app.isOnline}
136 showServicesUpdatedInfoBar={ui.showServicesUpdatedInfoBar} 137 showServicesUpdatedInfoBar={ui.showServicesUpdatedInfoBar}
137 appUpdateIsDownloaded={app.updateStatus === app.updateStatusTypes.DOWNLOADED} 138 appUpdateIsDownloaded={app.updateStatus === app.updateStatusTypes.DOWNLOADED}
139 nextAppReleaseVersion={app.nextAppReleaseVersion}
138 sidebar={sidebar} 140 sidebar={sidebar}
139 workspacesDrawer={workspacesDrawer} 141 workspacesDrawer={workspacesDrawer}
140 services={servicesContainer} 142 services={servicesContainer}
@@ -149,6 +151,7 @@ export default @inject('stores', 'actions') @observer class AppLayoutContainer e
149 areRequiredRequestsLoading={requests.areRequiredRequestsLoading} 151 areRequiredRequestsLoading={requests.areRequiredRequestsLoading}
150 darkMode={settings.all.app.darkMode} 152 darkMode={settings.all.app.darkMode}
151 isDelayAppScreenVisible={delayAppState.isDelayAppScreenVisible} 153 isDelayAppScreenVisible={delayAppState.isDelayAppScreenVisible}
154 isAnnouncementVisible={announcementsStore.isAnnouncementVisible}
152 > 155 >
153 {React.Children.count(children) > 0 ? children : null} 156 {React.Children.count(children) > 0 ? children : null}
154 </AppLayout> 157 </AppLayout>
diff --git a/src/electron/ipc-api/autoUpdate.js b/src/electron/ipc-api/autoUpdate.js
index 74b718734..9a04c1958 100644
--- a/src/electron/ipc-api/autoUpdate.js
+++ b/src/electron/ipc-api/autoUpdate.js
@@ -30,9 +30,12 @@ export default (params) => {
30 params.mainWindow.webContents.send('autoUpdate', { available: false }); 30 params.mainWindow.webContents.send('autoUpdate', { available: false });
31 }); 31 });
32 32
33 autoUpdater.on('update-available', () => { 33 autoUpdater.on('update-available', (event) => {
34 debug('update-available'); 34 debug('update-available');
35 params.mainWindow.webContents.send('autoUpdate', { available: true }); 35 params.mainWindow.webContents.send('autoUpdate', {
36 version: event.version,
37 available: true,
38 });
36 }); 39 });
37 40
38 autoUpdater.on('download-progress', (progressObj) => { 41 autoUpdater.on('download-progress', (progressObj) => {
diff --git a/src/features/announcements/actions.js b/src/features/announcements/actions.js
new file mode 100644
index 000000000..bab496314
--- /dev/null
+++ b/src/features/announcements/actions.js
@@ -0,0 +1,10 @@
1import PropTypes from 'prop-types';
2import { createActionsFromDefinitions } from '../../actions/lib/actions';
3
4export const announcementActions = createActionsFromDefinitions({
5 show: {
6 targetVersion: PropTypes.string,
7 },
8}, PropTypes.checkPropTypes);
9
10export default announcementActions;
diff --git a/src/features/announcements/api.js b/src/features/announcements/api.js
new file mode 100644
index 000000000..a581bd8de
--- /dev/null
+++ b/src/features/announcements/api.js
@@ -0,0 +1,33 @@
1import { remote } from 'electron';
2import Request from '../../stores/lib/Request';
3import { API, API_VERSION } from '../../environment';
4
5const debug = require('debug')('Franz:feature:announcements:api');
6
7export const announcementsApi = {
8 async getCurrentVersion() {
9 debug('getting current version of electron app');
10 return Promise.resolve(remote.app.getVersion());
11 },
12
13 async getChangelog(version) {
14 debug('fetching release changelog from Github');
15 const url = `https://api.github.com/repos/meetfranz/franz/releases/tags/v${version}`;
16 const request = await window.fetch(url, { method: 'GET' });
17 if (!request.ok) return null;
18 const data = await request.json();
19 return data.body;
20 },
21
22 async getAnnouncement(version) {
23 debug('fetching release announcement from api');
24 const url = `${API}/${API_VERSION}/announcements/${version}`;
25 const response = await window.fetch(url, { method: 'GET' });
26 if (!response.ok) return null;
27 return response.json();
28 },
29};
30
31export const getCurrentVersionRequest = new Request(announcementsApi, 'getCurrentVersion');
32export const getChangelogRequest = new Request(announcementsApi, 'getChangelog');
33export const getAnnouncementRequest = new Request(announcementsApi, 'getAnnouncement');
diff --git a/src/features/announcements/components/AnnouncementScreen.js b/src/features/announcements/components/AnnouncementScreen.js
new file mode 100644
index 000000000..dfce6cdd5
--- /dev/null
+++ b/src/features/announcements/components/AnnouncementScreen.js
@@ -0,0 +1,286 @@
1import React, { Component } from 'react';
2import marked from 'marked';
3import PropTypes from 'prop-types';
4import { inject, observer } from 'mobx-react';
5import { defineMessages, intlShape } from 'react-intl';
6import injectSheet from 'react-jss';
7import { Button } from '@meetfranz/forms';
8
9import { announcementsStore } from '../index';
10import UIStore from '../../../stores/UIStore';
11import { gaEvent } from '../../../lib/analytics';
12
13const renderer = new marked.Renderer();
14
15renderer.link = (href, title, text) => `<a target="_blank" href="${href}" title="${title}">${text}</a>`;
16
17const markedOptions = { sanitize: true, renderer };
18
19const messages = defineMessages({
20 headline: {
21 id: 'feature.announcements.changelog.headline',
22 defaultMessage: '!!!Changes in Franz {version}',
23 },
24});
25
26const smallScreen = '1000px';
27
28const styles = theme => ({
29 container: {
30 background: theme.colorBackground,
31 position: 'absolute',
32 top: 0,
33 zIndex: 140,
34 width: '100%',
35 height: '100%',
36 overflowY: 'auto',
37 },
38 headline: {
39 color: theme.colorHeadline,
40 margin: [25, 0, 40],
41 // 'max-width': 500,
42 'text-align': 'center',
43 'line-height': '1.3em',
44 },
45 announcement: {
46 height: 'auto',
47
48 [`@media(min-width: ${smallScreen})`]: {
49 display: 'flex',
50 flexDirection: 'column',
51 justifyContent: 'center',
52 height: '100vh',
53 },
54 },
55 main: {
56 display: 'flex',
57 flexDirection: 'column',
58 flexGrow: 1,
59 justifyContent: 'center',
60
61 '& h1': {
62 margin: [40, 0, 15],
63 fontSize: 70,
64 color: theme.styleTypes.primary.accent,
65 textAlign: 'center',
66
67 [`@media(min-width: ${smallScreen})`]: {
68 marginTop: 0,
69 },
70 },
71 '& h2': {
72 fontSize: 30,
73 fontWeight: 300,
74 color: theme.colorText,
75 textAlign: 'center',
76 marginBottom: 60,
77 },
78 },
79 mainBody: {
80 display: 'flex',
81 flexDirection: 'column',
82 alignItems: 'center',
83 width: 'calc(100% - 80px)',
84 height: 'auto',
85 margin: '0 auto',
86 [`@media(min-width: ${smallScreen})`]: {
87 flexDirection: 'row',
88 justifyContent: 'center',
89 },
90 },
91 mainImage: {
92 minWidth: 250,
93 maxWidth: 400,
94 margin: '0 auto',
95 marginBottom: 40,
96 '& img': {
97 width: '100%',
98 },
99 [`@media(min-width: ${smallScreen})`]: {
100 margin: 0,
101 },
102 },
103 mainText: {
104 height: 'auto',
105 maxWidth: 600,
106 textAlign: 'center',
107 '& p': {
108 lineHeight: '1.5em',
109 },
110 [`@media(min-width: ${smallScreen})`]: {
111 textAlign: 'left',
112 },
113 },
114 mainCtaButton: {
115 textAlign: 'center',
116 marginTop: 40,
117 [`@media(min-width: ${smallScreen})`]: {
118 textAlign: 'left',
119 },
120 },
121 spotlight: {
122 height: 'auto',
123 background: theme.announcements.spotlight.background,
124 padding: [40, 0],
125 marginTop: 80,
126 [`@media(min-width: ${smallScreen})`]: {
127 marginTop: 0,
128 justifyContent: 'center',
129 alignItems: 'flex-start',
130 display: 'flex',
131 flexDirection: 'row',
132 },
133 },
134 spotlightTopicContainer: {
135 textAlign: 'center',
136 marginBottom: 20,
137
138 [`@media(min-width: ${smallScreen})`]: {
139 marginBottom: 0,
140 minWidth: 250,
141 maxWidth: 330,
142 width: '100%',
143 textAlign: 'right',
144 marginRight: 60,
145 },
146 },
147 spotlightContentContainer: {
148 textAlign: 'center',
149 [`@media(min-width: ${smallScreen})`]: {
150 height: 'auto',
151 maxWidth: 600,
152 paddingRight: 40,
153 textAlign: 'left',
154 },
155 '& p': {
156 lineHeight: '1.5em',
157 },
158 },
159 spotlightTopic: {
160 fontSize: 20,
161 marginBottom: 5,
162 letterSpacing: 0,
163 fontWeight: 100,
164 },
165 spotlightSubject: {
166 fontSize: 20,
167 },
168 changelog: {
169 padding: [0, 60],
170 maxWidth: 700,
171 margin: [100, 'auto'],
172 height: 'auto',
173
174 '& h3': {
175 fontSize: '24px',
176 margin: '1.5em 0 1em 0',
177 },
178 '& li': {
179 marginBottom: '1em',
180 lineHeight: '1.4em',
181 },
182 '& div': {
183 height: 'auto',
184 },
185 },
186});
187
188
189@inject('stores', 'actions') @injectSheet(styles) @observer
190class AnnouncementScreen extends Component {
191 static propTypes = {
192 classes: PropTypes.object.isRequired,
193 stores: PropTypes.shape({
194 ui: PropTypes.instanceOf(UIStore).isRequired,
195 }).isRequired,
196 };
197
198 static contextTypes = {
199 intl: intlShape,
200 };
201
202 render() {
203 const { classes, stores } = this.props;
204 const { intl } = this.context;
205 const { changelog, announcement } = announcementsStore;
206 const themeImage = stores.ui.isDarkThemeActive ? 'dark' : 'light';
207 return (
208 <div className={classes.container}>
209 {announcement && (
210 <div className={classes.announcement}>
211 <div className={classes.main}>
212 <h1>{announcement.main.headline}</h1>
213 <h2>{announcement.main.subHeadline}</h2>
214 <div className={classes.mainBody}>
215 <div className={classes.mainImage}>
216 <img
217 src={announcement.main.image[themeImage]}
218 alt=""
219 />
220 </div>
221 <div className={classes.mainText}>
222 <div
223 dangerouslySetInnerHTML={{
224 __html: marked(announcement.main.text, markedOptions),
225 }}
226 />
227 <div className={classes.mainCtaButton}>
228 <Button
229 label={announcement.main.cta.label}
230 onClick={() => {
231 const { analytics } = announcement.main.cta;
232 window.location.href = `#${announcement.main.cta.href}`;
233 gaEvent(analytics.category, analytics.action, announcement.main.cta.label);
234 }}
235 />
236 </div>
237 </div>
238 </div>
239 </div>
240 {announcement.spotlight && (
241 <div className={classes.spotlight}>
242 <div className={classes.spotlightTopicContainer}>
243 <h2 className={classes.spotlightTopic}>{announcement.spotlight.title}</h2>
244 <h3 className={classes.spotlightSubject}>{announcement.spotlight.subject}</h3>
245 </div>
246 <div className={classes.spotlightContentContainer}>
247 <div
248 dangerouslySetInnerHTML={{
249 __html: marked(announcement.spotlight.text, markedOptions),
250 }}
251 />
252 <div className={classes.mainCtaButton}>
253 <Button
254 label={announcement.spotlight.cta.label}
255 onClick={() => {
256 const { analytics } = announcement.spotlight.cta;
257 window.location.href = `#${announcement.spotlight.cta.href}`;
258 gaEvent(analytics.category, analytics.action, announcement.spotlight.cta.label);
259 }}
260 />
261 </div>
262 </div>
263 </div>
264 )}
265 </div>
266 )}
267 {changelog && (
268 <div className={classes.changelog}>
269 <h1 className={classes.headline}>
270 {intl.formatMessage(messages.headline, {
271 version: announcementsStore.currentVersion,
272 })}
273 </h1>
274 <div
275 dangerouslySetInnerHTML={{
276 __html: marked(changelog, markedOptions),
277 }}
278 />
279 </div>
280 )}
281 </div>
282 );
283 }
284}
285
286export default AnnouncementScreen;
diff --git a/src/features/announcements/index.js b/src/features/announcements/index.js
new file mode 100644
index 000000000..c087689a7
--- /dev/null
+++ b/src/features/announcements/index.js
@@ -0,0 +1,30 @@
1import { reaction } from 'mobx';
2import { AnnouncementsStore } from './store';
3
4const debug = require('debug')('Franz:feature:announcements');
5
6export const announcementsStore = new AnnouncementsStore();
7
8export default function initAnnouncements(stores, actions) {
9 // const { features } = stores;
10
11 // Toggle workspace feature
12 reaction(
13 () => (
14 true
15 // features.features.isAnnouncementsEnabled
16 ),
17 (isEnabled) => {
18 if (isEnabled) {
19 debug('Initializing `announcements` feature');
20 announcementsStore.start(stores, actions);
21 } else if (announcementsStore.isFeatureActive) {
22 debug('Disabling `announcements` feature');
23 announcementsStore.stop();
24 }
25 },
26 {
27 fireImmediately: true,
28 },
29 );
30}
diff --git a/src/features/announcements/store.js b/src/features/announcements/store.js
new file mode 100644
index 000000000..87cf08544
--- /dev/null
+++ b/src/features/announcements/store.js
@@ -0,0 +1,133 @@
1import {
2 action,
3 computed,
4 observable,
5 reaction,
6} from 'mobx';
7import semver from 'semver';
8import localStorage from 'mobx-localstorage';
9
10import { FeatureStore } from '../utils/FeatureStore';
11import { getAnnouncementRequest, getChangelogRequest, getCurrentVersionRequest } from './api';
12import { announcementActions } from './actions';
13import { createActionBindings } from '../utils/ActionBinding';
14import { createReactions } from '../../stores/lib/Reaction';
15
16const LOCAL_STORAGE_KEY = 'announcements';
17
18const debug = require('debug')('Franz:feature:announcements:store');
19
20export class AnnouncementsStore extends FeatureStore {
21 @observable targetVersion = null;
22
23 @observable isAnnouncementVisible = false;
24
25 @observable isFeatureActive = false;
26
27 @computed get changelog() {
28 return getChangelogRequest.result;
29 }
30
31 @computed get announcement() {
32 return getAnnouncementRequest.result;
33 }
34
35 @computed get settings() {
36 return localStorage.getItem(LOCAL_STORAGE_KEY) || {};
37 }
38
39 @computed get lastSeenAnnouncementVersion() {
40 return this.settings.lastSeenAnnouncementVersion || null;
41 }
42
43 @computed get currentVersion() {
44 return getCurrentVersionRequest.result;
45 }
46
47 @computed get isNewUser() {
48 return this.stores.settings.stats.appStarts <= 1;
49 }
50
51 async start(stores, actions) {
52 debug('AnnouncementsStore::start');
53 this.stores = stores;
54 this.actions = actions;
55 getCurrentVersionRequest.execute();
56
57 this._registerActions(createActionBindings([
58 [announcementActions.show, this._showAnnouncement],
59 ]));
60
61 this._reactions = createReactions([
62 this._fetchAnnouncements,
63 this._showAnnouncementToUsersWhoUpdatedApp,
64 ]);
65 this._registerReactions(this._reactions);
66 this.isFeatureActive = true;
67 }
68
69 stop() {
70 super.stop();
71 debug('AnnouncementsStore::stop');
72 this.isFeatureActive = false;
73 this.isAnnouncementVisible = false;
74 }
75
76 // ======= HELPERS ======= //
77
78 _updateSettings = (changes) => {
79 localStorage.setItem(LOCAL_STORAGE_KEY, {
80 ...this.settings,
81 ...changes,
82 });
83 };
84
85 // ======= ACTIONS ======= //
86
87 @action _showAnnouncement = ({ targetVersion } = {}) => {
88 this.targetVersion = targetVersion || this.currentVersion;
89 this.isAnnouncementVisible = true;
90 this.actions.service.blurActive();
91 this._updateSettings({
92 lastSeenAnnouncementVersion: this.currentVersion,
93 });
94 const dispose = reaction(
95 () => this.stores.services.active,
96 () => {
97 this._hideAnnouncement();
98 dispose();
99 },
100 );
101 };
102
103 @action _hideAnnouncement() {
104 this.isAnnouncementVisible = false;
105 }
106
107 // ======= REACTIONS ========
108
109 _showAnnouncementToUsersWhoUpdatedApp = () => {
110 const { announcement, isNewUser } = this;
111 // Check if there is an announcement and on't show announcements to new users
112 if (!announcement || isNewUser) return;
113
114 // Check if the user has already used current version (= has seen the announcement)
115 const { currentVersion, lastSeenAnnouncementVersion } = this;
116 if (semver.gt(currentVersion, lastSeenAnnouncementVersion)) {
117 debug(`${currentVersion} < ${lastSeenAnnouncementVersion}: announcement is shown`);
118 this._showAnnouncement();
119 }
120 };
121
122 _fetchAnnouncements = () => {
123 const targetVersion = this.targetVersion || this.currentVersion;
124 if (!targetVersion) return;
125 getChangelogRequest.execute(targetVersion);
126 // We only fetch announcements for current / older versions
127 if (targetVersion <= this.currentVersion) {
128 getAnnouncementRequest.execute(targetVersion);
129 } else {
130 getAnnouncementRequest.reset();
131 }
132 }
133}
diff --git a/src/features/utils/ActionBinding.js b/src/features/utils/ActionBinding.js
new file mode 100644
index 000000000..497aa071b
--- /dev/null
+++ b/src/features/utils/ActionBinding.js
@@ -0,0 +1,29 @@
1export default class ActionBinding {
2 action;
3
4 isActive = false;
5
6 constructor(action) {
7 this.action = action;
8 }
9
10 start() {
11 if (!this.isActive) {
12 const { action } = this;
13 action[0].listen(action[1]);
14 this.isActive = true;
15 }
16 }
17
18 stop() {
19 if (this.isActive) {
20 const { action } = this;
21 action[0].off(action[1]);
22 this.isActive = false;
23 }
24 }
25}
26
27export const createActionBindings = actions => (
28 actions.map(a => new ActionBinding(a))
29);
diff --git a/src/features/utils/FeatureStore.js b/src/features/utils/FeatureStore.js
index 66b66a104..b6e0fbce3 100644
--- a/src/features/utils/FeatureStore.js
+++ b/src/features/utils/FeatureStore.js
@@ -1,21 +1,42 @@
1import Reaction from '../../stores/lib/Reaction'; 1import { union } from 'lodash';
2 2
3export class FeatureStore { 3export class FeatureStore {
4 _actions = null; 4 _actions = null;
5 5
6 _reactions = null; 6 _reactions = null;
7 7
8 _listenToActions(actions) { 8 stop() {
9 if (this._actions) this._actions.forEach(a => a[0].off(a[1])); 9 this._stopActions();
10 this._actions = []; 10 this._stopReactions();
11 actions.forEach(a => this._actions.push(a));
12 this._actions.forEach(a => a[0].listen(a[1]));
13 } 11 }
14 12
15 _startReactions(reactions) { 13 // ACTIONS
16 if (this._reactions) this._reactions.forEach(r => r.stop()); 14
17 this._reactions = []; 15 _registerActions(actions) {
18 reactions.forEach(r => this._reactions.push(new Reaction(r))); 16 this._actions = union(this._actions, actions);
19 this._reactions.forEach(r => r.start()); 17 this._startActions();
18 }
19
20 _startActions(actions = this._actions) {
21 actions.forEach(a => a.start());
22 }
23
24 _stopActions(actions = this._actions) {
25 actions.forEach(a => a.stop());
26 }
27
28 // REACTIONS
29
30 _registerReactions(reactions) {
31 this._reactions = union(this._reactions, reactions);
32 this._startReactions();
33 }
34
35 _startReactions(reactions = this._reactions) {
36 reactions.forEach(r => r.start());
37 }
38
39 _stopReactions(reactions = this._reactions) {
40 reactions.forEach(r => r.stop());
20 } 41 }
21} 42}
diff --git a/src/features/workspaces/components/CreateWorkspaceForm.js b/src/features/workspaces/components/CreateWorkspaceForm.js
index 2c00ea63c..cddbb2b04 100644
--- a/src/features/workspaces/components/CreateWorkspaceForm.js
+++ b/src/features/workspaces/components/CreateWorkspaceForm.js
@@ -7,7 +7,7 @@ import injectSheet from 'react-jss';
7import Form from '../../../lib/Form'; 7import Form from '../../../lib/Form';
8import { required } from '../../../helpers/validation-helpers'; 8import { required } from '../../../helpers/validation-helpers';
9import { gaEvent } from '../../../lib/analytics'; 9import { gaEvent } from '../../../lib/analytics';
10import { GA_CATEGORY_WORKSPACES } from '../index'; 10import { GA_CATEGORY_WORKSPACES, workspaceStore } from '../index';
11 11
12const messages = defineMessages({ 12const messages = defineMessages({
13 submitButton: { 13 submitButton: {
@@ -82,7 +82,7 @@ class CreateWorkspaceForm extends Component {
82 {...form.$('name').bind()} 82 {...form.$('name').bind()}
83 showLabel={false} 83 showLabel={false}
84 onEnterKey={this.submitForm.bind(this, form)} 84 onEnterKey={this.submitForm.bind(this, form)}
85 focus 85 focus={workspaceStore.isUserAllowedToUseFeature}
86 /> 86 />
87 <Button 87 <Button
88 className={classes.submitButton} 88 className={classes.submitButton}
diff --git a/src/features/workspaces/store.js b/src/features/workspaces/store.js
index ea601700e..e11513d1f 100644
--- a/src/features/workspaces/store.js
+++ b/src/features/workspaces/store.js
@@ -14,6 +14,8 @@ import {
14 updateWorkspaceRequest, 14 updateWorkspaceRequest,
15} from './api'; 15} from './api';
16import { WORKSPACES_ROUTES } from './index'; 16import { WORKSPACES_ROUTES } from './index';
17import { createReactions } from '../../stores/lib/Reaction';
18import { createActionBindings } from '../utils/ActionBinding';
17 19
18const debug = require('debug')('Franz:feature:workspaces:store'); 20const debug = require('debug')('Franz:feature:workspaces:store');
19 21
@@ -51,37 +53,74 @@ export default class WorkspacesStore extends FeatureStore {
51 return getUserWorkspacesRequest.wasExecuted && this.workspaces.length > 0; 53 return getUserWorkspacesRequest.wasExecuted && this.workspaces.length > 0;
52 } 54 }
53 55
56 @computed get isUserAllowedToUseFeature() {
57 return !this.isPremiumUpgradeRequired;
58 }
59
60 // ========== PRIVATE PROPERTIES ========= //
61
62 _wasDrawerOpenBeforeSettingsRoute = null;
63
64 _freeUserActions = [];
65
66 _premiumUserActions = [];
67
68 _allActions = [];
69
70 _freeUserReactions = [];
71
72 _premiumUserReactions = [];
73
74 _allReactions = [];
75
76 // ========== PUBLIC API ========= //
77
54 start(stores, actions) { 78 start(stores, actions) {
55 debug('WorkspacesStore::start'); 79 debug('WorkspacesStore::start');
56 this.stores = stores; 80 this.stores = stores;
57 this.actions = actions; 81 this.actions = actions;
58 82
59 this._listenToActions([ 83 // ACTIONS
84
85 this._freeUserActions = createActionBindings([
86 [workspaceActions.toggleWorkspaceDrawer, this._toggleWorkspaceDrawer],
87 [workspaceActions.openWorkspaceSettings, this._openWorkspaceSettings],
88 ]);
89 this._premiumUserActions = createActionBindings([
60 [workspaceActions.edit, this._edit], 90 [workspaceActions.edit, this._edit],
61 [workspaceActions.create, this._create], 91 [workspaceActions.create, this._create],
62 [workspaceActions.delete, this._delete], 92 [workspaceActions.delete, this._delete],
63 [workspaceActions.update, this._update], 93 [workspaceActions.update, this._update],
64 [workspaceActions.activate, this._setActiveWorkspace], 94 [workspaceActions.activate, this._setActiveWorkspace],
65 [workspaceActions.deactivate, this._deactivateActiveWorkspace], 95 [workspaceActions.deactivate, this._deactivateActiveWorkspace],
66 [workspaceActions.toggleWorkspaceDrawer, this._toggleWorkspaceDrawer],
67 [workspaceActions.openWorkspaceSettings, this._openWorkspaceSettings],
68 ]); 96 ]);
97 this._allActions = this._freeUserActions.concat(this._premiumUserActions);
98 this._registerActions(this._allActions);
69 99
70 this._startReactions([ 100 // REACTIONS
71 this._setWorkspaceBeingEditedReaction, 101
72 this._setActiveServiceOnWorkspaceSwitchReaction, 102 this._freeUserReactions = createReactions([
103 this._stopPremiumActionsAndReactions,
104 this._openDrawerWithSettingsReaction,
73 this._setFeatureEnabledReaction, 105 this._setFeatureEnabledReaction,
74 this._setIsPremiumFeatureReaction, 106 this._setIsPremiumFeatureReaction,
75 this._activateLastUsedWorkspaceReaction,
76 this._openDrawerWithSettingsReaction,
77 this._cleanupInvalidServiceReferences, 107 this._cleanupInvalidServiceReferences,
78 ]); 108 ]);
109 this._premiumUserReactions = createReactions([
110 this._setActiveServiceOnWorkspaceSwitchReaction,
111 this._activateLastUsedWorkspaceReaction,
112 this._setWorkspaceBeingEditedReaction,
113 ]);
114 this._allReactions = this._freeUserReactions.concat(this._premiumUserReactions);
115
116 this._registerReactions(this._allReactions);
79 117
80 getUserWorkspacesRequest.execute(); 118 getUserWorkspacesRequest.execute();
81 this.isFeatureActive = true; 119 this.isFeatureActive = true;
82 } 120 }
83 121
84 stop() { 122 stop() {
123 super.stop();
85 debug('WorkspacesStore::stop'); 124 debug('WorkspacesStore::stop');
86 this.isFeatureActive = false; 125 this.isFeatureActive = false;
87 this.activeWorkspace = null; 126 this.activeWorkspace = null;
@@ -104,9 +143,7 @@ export default class WorkspacesStore extends FeatureStore {
104 return workspace.services.map(id => services.one(id)).filter(s => !!s); 143 return workspace.services.map(id => services.one(id)).filter(s => !!s);
105 } 144 }
106 145
107 // ========== PRIVATE ========= // 146 // ========== PRIVATE METHODS ========= //
108
109 _wasDrawerOpenBeforeSettingsRoute = null;
110 147
111 _getWorkspaceById = id => this.workspaces.find(w => w.id === id); 148 _getWorkspaceById = id => this.workspaces.find(w => w.id === id);
112 149
@@ -273,4 +310,14 @@ export default class WorkspacesStore extends FeatureStore {
273 getUserWorkspacesRequest.execute(); 310 getUserWorkspacesRequest.execute();
274 } 311 }
275 }; 312 };
313
314 _stopPremiumActionsAndReactions = () => {
315 if (!this.isUserAllowedToUseFeature) {
316 this._stopActions(this._premiumUserActions);
317 this._stopReactions(this._premiumUserReactions);
318 } else {
319 this._startActions(this._premiumUserActions);
320 this._startReactions(this._premiumUserReactions);
321 }
322 }
276} 323}
diff --git a/src/i18n/locales/ca.json b/src/i18n/locales/ca.json
index dabe4ba16..240f45afc 100644
--- a/src/i18n/locales/ca.json
+++ b/src/i18n/locales/ca.json
@@ -1,6 +1,7 @@
1{ 1{
2 "app.errorHandler.action" : "Recarrega", 2 "app.errorHandler.action" : "Recarrega",
3 "app.errorHandler.headline" : "Quelcom ha anat malament", 3 "app.errorHandler.headline" : "Quelcom ha anat malament",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}",
4 "feature.delayApp.action" : "Aconsegueix una llicència de suport per a Franz", 5 "feature.delayApp.action" : "Aconsegueix una llicència de suport per a Franz",
5 "feature.delayApp.headline" : "Si us plau, compra una llicència de suport per a Franz per saltar l'espera", 6 "feature.delayApp.headline" : "Si us plau, compra una llicència de suport per a Franz per saltar l'espera",
6 "feature.delayApp.text" : "Franz continuarà en {seconds} segons", 7 "feature.delayApp.text" : "Franz continuarà en {seconds} segons",
@@ -9,7 +10,7 @@
9 "feature.shareFranz.action.twitter" : "Share on Twitter", 10 "feature.shareFranz.action.twitter" : "Share on Twitter",
10 "feature.shareFranz.headline" : "Franz is better together!", 11 "feature.shareFranz.headline" : "Franz is better together!",
11 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", 12 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com",
12 "feature.shareFranz.shareText.twitter" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com \/cc @MeetFranz", 13 "feature.shareFranz.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.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.",
14 "global.api.unhealthy" : "No es pot connectar amb els serveis en línia de Franz", 15 "global.api.unhealthy" : "No es pot connectar amb els serveis en línia de Franz",
15 "global.notConnectedToTheInternet" : "No esteu connectat a Internet.", 16 "global.notConnectedToTheInternet" : "No esteu connectat a Internet.",
@@ -43,6 +44,7 @@
43 "login.submit.label" : "Accedir", 44 "login.submit.label" : "Accedir",
44 "login.tokenExpired" : "La teva sessió ha caducat, torna a iniciar la sessió.", 45 "login.tokenExpired" : "La teva sessió ha caducat, torna a iniciar la sessió.",
45 "menu.app.about" : "Sobre Franz", 46 "menu.app.about" : "Sobre Franz",
47 "menu.app.announcement" : "What's new?",
46 "menu.app.hide" : "Amaga", 48 "menu.app.hide" : "Amaga",
47 "menu.app.hideOthers" : "Amaga altres", 49 "menu.app.hideOthers" : "Amaga altres",
48 "menu.app.quit" : "Surt", 50 "menu.app.quit" : "Surt",
@@ -87,6 +89,11 @@
87 "menu.window" : "Finestra", 89 "menu.window" : "Finestra",
88 "menu.window.close" : "Tanca", 90 "menu.window.close" : "Tanca",
89 "menu.window.minimize" : "Minimitza", 91 "menu.window.minimize" : "Minimitza",
92 "menu.workspaces" : "Workspaces",
93 "menu.workspaces.addNewWorkspace" : "Add New Workspace...",
94 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer",
95 "menu.workspaces.defaultWorkspace" : "Tots els serveis",
96 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer",
90 "password.email.label" : "Correu electrònic", 97 "password.email.label" : "Correu electrònic",
91 "password.headline" : "Restablir contrasenya", 98 "password.headline" : "Restablir contrasenya",
92 "password.link.login" : "Inicia la sessió al teu compte", 99 "password.link.login" : "Inicia la sessió al teu compte",
@@ -110,6 +117,7 @@
110 "service.errorHandler.headline" : "Oh no!", 117 "service.errorHandler.headline" : "Oh no!",
111 "service.errorHandler.message" : "Error", 118 "service.errorHandler.message" : "Error",
112 "service.errorHandler.text" : "{name} ha fallat al carregar", 119 "service.errorHandler.text" : "{name} ha fallat al carregar",
120 "service.webviewLoader.loading" : "Loading",
113 "services.getStarted" : "Introducció", 121 "services.getStarted" : "Introducció",
114 "services.welcome" : "Benvingut a Franz", 122 "services.welcome" : "Benvingut a Franz",
115 "settings.account.account.editButton" : "Editar Compte", 123 "settings.account.account.editButton" : "Editar Compte",
@@ -156,6 +164,7 @@
156 "settings.app.headlineGeneral" : "General", 164 "settings.app.headlineGeneral" : "General",
157 "settings.app.headlineLanguage" : "Idioma", 165 "settings.app.headlineLanguage" : "Idioma",
158 "settings.app.headlineUpdates" : "Actualitzacions", 166 "settings.app.headlineUpdates" : "Actualitzacions",
167 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.",
159 "settings.app.restartRequired" : "Els canvis requereixen reiniciar", 168 "settings.app.restartRequired" : "Els canvis requereixen reiniciar",
160 "settings.app.subheadlineCache" : "Memòria cau", 169 "settings.app.subheadlineCache" : "Memòria cau",
161 "settings.app.translationHelp" : "Ajuda'ns a traduir Franz en la teva llengua.", 170 "settings.app.translationHelp" : "Ajuda'ns a traduir Franz en la teva llengua.",
@@ -169,6 +178,7 @@
169 "settings.navigation.logout" : "Sortir", 178 "settings.navigation.logout" : "Sortir",
170 "settings.navigation.settings" : "Configuració", 179 "settings.navigation.settings" : "Configuració",
171 "settings.navigation.yourServices" : "Els vostres serveis", 180 "settings.navigation.yourServices" : "Els vostres serveis",
181 "settings.navigation.yourWorkspaces" : "Your workspaces",
172 "settings.recipes.all" : "Tots els serveis", 182 "settings.recipes.all" : "Tots els serveis",
173 "settings.recipes.dev" : "Desenvolupament", 183 "settings.recipes.dev" : "Desenvolupament",
174 "settings.recipes.headline" : "Serveis disponibles", 184 "settings.recipes.headline" : "Serveis disponibles",
@@ -235,8 +245,25 @@
235 "settings.user.form.firstname" : "Nom", 245 "settings.user.form.firstname" : "Nom",
236 "settings.user.form.lastname" : "Cognoms", 246 "settings.user.form.lastname" : "Cognoms",
237 "settings.user.form.newPassword" : "Nova contrasenya", 247 "settings.user.form.newPassword" : "Nova contrasenya",
248 "settings.workspace.add.form.name" : "Nom",
249 "settings.workspace.add.form.submitButton" : "Create workspace",
250 "settings.workspace.form.buttonDelete" : "Delete workspace",
251 "settings.workspace.form.buttonSave" : "Save workspace",
252 "settings.workspace.form.name" : "Nom",
253 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace",
254 "settings.workspace.form.yourWorkspaces" : "Your workspaces",
255 "settings.workspaces.deletedInfo" : "Workspace has been deleted",
256 "settings.workspaces.headline" : "Your workspaces",
257 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.",
258 "settings.workspaces.tryReloadWorkspaces" : "Torna a provar-ho",
259 "settings.workspaces.updatedInfo" : "S'han desat els canvis",
260 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces",
261 "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.",
262 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces",
238 "sidebar.addNewService" : "Afegeix nou servei", 263 "sidebar.addNewService" : "Afegeix nou servei",
264 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer",
239 "sidebar.muteApp" : "Desactivar notificacions i àudio", 265 "sidebar.muteApp" : "Desactivar notificacions i àudio",
266 "sidebar.openWorkspaceDrawer" : "Open workspace drawer",
240 "sidebar.settings" : "Configuració", 267 "sidebar.settings" : "Configuració",
241 "sidebar.unmuteApp" : "Activar notificacions i àudio", 268 "sidebar.unmuteApp" : "Activar notificacions i àudio",
242 "signup.company.label" : "Empresa", 269 "signup.company.label" : "Empresa",
@@ -281,5 +308,16 @@
281 "validation.required" : "{field} es requerit", 308 "validation.required" : "{field} es requerit",
282 "validation.url" : "{field} es una URL no vàlida", 309 "validation.url" : "{field} es una URL no vàlida",
283 "welcome.loginButton" : "Inicia sessió al teu compte", 310 "welcome.loginButton" : "Inicia sessió al teu compte",
284 "welcome.signupButton" : "Crea un compte gratuït" 311 "welcome.signupButton" : "Crea un compte gratuït",
312 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace",
313 "workspaceDrawer.allServices" : "Tots els serveis",
314 "workspaceDrawer.headline" : "Workspaces",
315 "workspaceDrawer.item.contextMenuEdit" : "edit",
316 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet",
317 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace",
318 "workspaceDrawer.proFeatureBadge" : "Premium feature",
319 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account",
320 "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>",
321 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings",
322 "workspaces.switchingIndicator.switchingTo" : "Switching to"
285} 323}
diff --git a/src/i18n/locales/cs.json b/src/i18n/locales/cs.json
index f0b0b7c81..c053604b7 100644
--- a/src/i18n/locales/cs.json
+++ b/src/i18n/locales/cs.json
@@ -1,15 +1,16 @@
1{ 1{
2 "app.errorHandler.action" : "Obnovit", 2 "app.errorHandler.action" : "Obnovit",
3 "app.errorHandler.headline" : "Něco se pokazilo", 3 "app.errorHandler.headline" : "Něco se pokazilo",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}",
4 "feature.delayApp.action" : "Podpoř Franz a získej Supporter licenci", 5 "feature.delayApp.action" : "Podpoř Franz a získej Supporter licenci",
5 "feature.delayApp.headline" : "Kup si Franz Supporter licenci a nebudeÅ¡ už muset Äekat", 6 "feature.delayApp.headline" : "Kup si Franz Supporter licenci a nebudeÅ¡ už muset Äekat",
6 "feature.delayApp.text" : "Franz bude pokraÄovat v {seconds} sekundách.", 7 "feature.delayApp.text" : "Franz bude pokraÄovat v {seconds} sekundách.",
7 "feature.shareFranz.action.email" : "Send as email", 8 "feature.shareFranz.action.email" : "Poslat jako e-mail",
8 "feature.shareFranz.action.facebook" : "Share on Facebook", 9 "feature.shareFranz.action.facebook" : "Sdílet na Facebooku",
9 "feature.shareFranz.action.twitter" : "Share on Twitter", 10 "feature.shareFranz.action.twitter" : "Sdílet na Twitteru",
10 "feature.shareFranz.headline" : "Franz is better together!", 11 "feature.shareFranz.headline" : "Franz is better together!",
11 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", 12 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com",
12 "feature.shareFranz.shareText.twitter" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com \/cc @MeetFranz", 13 "feature.shareFranz.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.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.",
14 "global.api.unhealthy" : "Nemůžeme připojit Franz k online službám", 15 "global.api.unhealthy" : "Nemůžeme připojit Franz k online službám",
15 "global.notConnectedToTheInternet" : "Připojení k internetu není k dispozici.", 16 "global.notConnectedToTheInternet" : "Připojení k internetu není k dispozici.",
@@ -43,6 +44,7 @@
43 "login.submit.label" : "Přihlásit se", 44 "login.submit.label" : "Přihlásit se",
44 "login.tokenExpired" : "Sezení vypršelo, prosím přihlaste se znovu", 45 "login.tokenExpired" : "Sezení vypršelo, prosím přihlaste se znovu",
45 "menu.app.about" : "O aplikaci", 46 "menu.app.about" : "O aplikaci",
47 "menu.app.announcement" : "What's new?",
46 "menu.app.hide" : "Skrýt", 48 "menu.app.hide" : "Skrýt",
47 "menu.app.hideOthers" : "Skryt ostatní", 49 "menu.app.hideOthers" : "Skryt ostatní",
48 "menu.app.quit" : "UkonÄit", 50 "menu.app.quit" : "UkonÄit",
@@ -87,6 +89,11 @@
87 "menu.window" : "Okno", 89 "menu.window" : "Okno",
88 "menu.window.close" : "Zavřít", 90 "menu.window.close" : "Zavřít",
89 "menu.window.minimize" : "Minimalizovat", 91 "menu.window.minimize" : "Minimalizovat",
92 "menu.workspaces" : "Workspaces",
93 "menu.workspaces.addNewWorkspace" : "Add New Workspace...",
94 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer",
95 "menu.workspaces.defaultWorkspace" : "Všechny služby",
96 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer",
90 "password.email.label" : "E-mailová adresa", 97 "password.email.label" : "E-mailová adresa",
91 "password.headline" : "Obnovit heslo", 98 "password.headline" : "Obnovit heslo",
92 "password.link.login" : "PÅ™ihlásit se k úÄtu", 99 "password.link.login" : "PÅ™ihlásit se k úÄtu",
@@ -110,6 +117,7 @@
110 "service.errorHandler.headline" : "Ale ne!", 117 "service.errorHandler.headline" : "Ale ne!",
111 "service.errorHandler.message" : "Chyba", 118 "service.errorHandler.message" : "Chyba",
112 "service.errorHandler.text" : "{name} se nepodaÅ™ilo naÄíst.", 119 "service.errorHandler.text" : "{name} se nepodaÅ™ilo naÄíst.",
120 "service.webviewLoader.loading" : "Loading",
113 "services.getStarted" : "ZaÄnÄ›me", 121 "services.getStarted" : "ZaÄnÄ›me",
114 "services.welcome" : "Vítejte v programu Franz", 122 "services.welcome" : "Vítejte v programu Franz",
115 "settings.account.account.editButton" : "Upravit úÄet", 123 "settings.account.account.editButton" : "Upravit úÄet",
@@ -156,6 +164,7 @@
156 "settings.app.headlineGeneral" : "Obecné", 164 "settings.app.headlineGeneral" : "Obecné",
157 "settings.app.headlineLanguage" : "Jazyk", 165 "settings.app.headlineLanguage" : "Jazyk",
158 "settings.app.headlineUpdates" : "Aktualizace", 166 "settings.app.headlineUpdates" : "Aktualizace",
167 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.",
159 "settings.app.restartRequired" : "Změny vyžadují restart", 168 "settings.app.restartRequired" : "Změny vyžadují restart",
160 "settings.app.subheadlineCache" : "Mezipaměť", 169 "settings.app.subheadlineCache" : "Mezipaměť",
161 "settings.app.translationHelp" : "Pomozte nám přeložit Franz do svého jazyka.", 170 "settings.app.translationHelp" : "Pomozte nám přeložit Franz do svého jazyka.",
@@ -169,6 +178,7 @@
169 "settings.navigation.logout" : "Odhlásit", 178 "settings.navigation.logout" : "Odhlásit",
170 "settings.navigation.settings" : "Nastavení", 179 "settings.navigation.settings" : "Nastavení",
171 "settings.navigation.yourServices" : "Vaše služby", 180 "settings.navigation.yourServices" : "Vaše služby",
181 "settings.navigation.yourWorkspaces" : "Your workspaces",
172 "settings.recipes.all" : "Všechny služby", 182 "settings.recipes.all" : "Všechny služby",
173 "settings.recipes.dev" : "Vývoj", 183 "settings.recipes.dev" : "Vývoj",
174 "settings.recipes.headline" : "Dostupné služby", 184 "settings.recipes.headline" : "Dostupné služby",
@@ -235,8 +245,25 @@
235 "settings.user.form.firstname" : "Jméno", 245 "settings.user.form.firstname" : "Jméno",
236 "settings.user.form.lastname" : "Příjmení", 246 "settings.user.form.lastname" : "Příjmení",
237 "settings.user.form.newPassword" : "Nové heslo", 247 "settings.user.form.newPassword" : "Nové heslo",
248 "settings.workspace.add.form.name" : "Jméno",
249 "settings.workspace.add.form.submitButton" : "Create workspace",
250 "settings.workspace.form.buttonDelete" : "Delete workspace",
251 "settings.workspace.form.buttonSave" : "Save workspace",
252 "settings.workspace.form.name" : "Jméno",
253 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace",
254 "settings.workspace.form.yourWorkspaces" : "Your workspaces",
255 "settings.workspaces.deletedInfo" : "Workspace has been deleted",
256 "settings.workspaces.headline" : "Your workspaces",
257 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.",
258 "settings.workspaces.tryReloadWorkspaces" : "Zkusit opět",
259 "settings.workspaces.updatedInfo" : "Vaše změny byly uloženy",
260 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces",
261 "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.",
262 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces",
238 "sidebar.addNewService" : "Přidat novou službu", 263 "sidebar.addNewService" : "Přidat novou službu",
264 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer",
239 "sidebar.muteApp" : "Vypnout upozornění a zvuky", 265 "sidebar.muteApp" : "Vypnout upozornění a zvuky",
266 "sidebar.openWorkspaceDrawer" : "Open workspace drawer",
240 "sidebar.settings" : "Nastavení", 267 "sidebar.settings" : "Nastavení",
241 "sidebar.unmuteApp" : "Zapnout upozornění a zvuky", 268 "sidebar.unmuteApp" : "Zapnout upozornění a zvuky",
242 "signup.company.label" : "SpoleÄnost", 269 "signup.company.label" : "SpoleÄnost",
@@ -281,5 +308,16 @@
281 "validation.required" : "{field} je povinné", 308 "validation.required" : "{field} je povinné",
282 "validation.url" : "{field} není validní URL", 309 "validation.url" : "{field} není validní URL",
283 "welcome.loginButton" : "PÅ™ihlášení do vaÅ¡eho úÄtu", 310 "welcome.loginButton" : "PÅ™ihlášení do vaÅ¡eho úÄtu",
284 "welcome.signupButton" : "VytvoÅ™it úÄet zdarma" 311 "welcome.signupButton" : "VytvoÅ™it úÄet zdarma",
312 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace",
313 "workspaceDrawer.allServices" : "Všechny služby",
314 "workspaceDrawer.headline" : "Workspaces",
315 "workspaceDrawer.item.contextMenuEdit" : "edit",
316 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet",
317 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace",
318 "workspaceDrawer.proFeatureBadge" : "Premium feature",
319 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account",
320 "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>",
321 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings",
322 "workspaces.switchingIndicator.switchingTo" : "Switching to"
285} 323}
diff --git a/src/i18n/locales/de.json b/src/i18n/locales/de.json
index 06a03db65..3b0e6acdb 100644
--- a/src/i18n/locales/de.json
+++ b/src/i18n/locales/de.json
@@ -1,41 +1,42 @@
1{ 1{
2 "app.errorHandler.action" : "Neu laden", 2 "app.errorHandler.action" : "Neu laden",
3 "app.errorHandler.headline" : "Es trat ein Fehler auf", 3 "app.errorHandler.headline" : "Es ist ein Fehler aufgetreten",
4 "feature.delayApp.action" : "Upgrade deinen Account", 4 "feature.announcements.changelog.headline" : "Was ist neu in Franz {version}",
5 "feature.delayApp.headline" : "Erspare dir das Warten mit einer Franz Supporter Lizenz", 5 "feature.delayApp.action" : "Hol dir Franz Premium!",
6 "feature.delayApp.text" : "Es geht in {seconds} Sekunden weiter.", 6 "feature.delayApp.headline" : "Erspare dir das Warten mit Franz Premium!",
7 "feature.delayApp.text" : "In {seconds} Sekunden geht's weiter!",
7 "feature.shareFranz.action.email" : "Als E-Mail senden", 8 "feature.shareFranz.action.email" : "Als E-Mail senden",
8 "feature.shareFranz.action.facebook" : "Auf Facebook teilen", 9 "feature.shareFranz.action.facebook" : "Auf Facebook teilen",
9 "feature.shareFranz.action.twitter" : "Auf Twitter teilen", 10 "feature.shareFranz.action.twitter" : "Auf Twitter teilen",
10 "feature.shareFranz.headline" : "Gemeinsam ist Franz noch besser!", 11 "feature.shareFranz.headline" : "Gemeinsam ist Franz noch besser!",
11 "feature.shareFranz.shareText.email" : "Ich verwende Franz! Hol dir jetzt die kostenlose App für WhatsApp, Messenger, Slack, Skype und viele mehr auf www.meetfranz.com", 12 "feature.shareFranz.shareText.email" : "Ich verwende Franz! Hol dir jetzt die kostenlose App für WhatsApp, Messenger, Slack, Skype und viele mehr auf www.meetfranz.com",
12 "feature.shareFranz.shareText.twitter" : "Ich verwende Franz mit {count} Diensten! Hol dir jetzt die kostenlose App für WhatsApp, Messenger, Slack, Skype und mehr auf www.meetfranz.com \/cc @MeetFranz", 13 "feature.shareFranz.shareText.twitter" : "Ich habe {count} Services zu Franz hinzugefügt! Hol dir die kostenlose App für WhatsApp, Messenger, Slack, Skype und viele mehr auf www.meetfranz.com \/cc @FranzMessenger",
13 "feature.shareFranz.text" : "Bitte erzähle deinen Freunden und Kollegen wie toll du Franz findest.", 14 "feature.shareFranz.text" : "Bitte erzähle deinen Freunden und Kolleginnen, warum du Franz toll findest.",
14 "global.api.unhealthy" : "Verbindung mit dem Franz Online Service fehlgeschlagen", 15 "global.api.unhealthy" : "Verbindung zum Franz Online Service fehlgeschlagen",
15 "global.notConnectedToTheInternet" : "Du bist nicht mit dem Internet verbunden.", 16 "global.notConnectedToTheInternet" : "Du bist nicht mit dem Internet verbunden.",
16 "global.spellchecker.useDefault" : "Standard benutzen ({default})", 17 "global.spellchecker.useDefault" : "Standard benutzen ({default})",
17 "global.spellchecking.autodetect" : "Sprache automatisch erkennen", 18 "global.spellchecking.autodetect" : "Sprache automatisch erkennen",
18 "global.spellchecking.autodetect.short" : "Automatisch", 19 "global.spellchecking.autodetect.short" : "Automatisch",
19 "global.spellchecking.language" : "Sprache für Rechtschreibprüfung", 20 "global.spellchecking.language" : "Sprache für Rechtschreibprüfung",
20 "import.headline" : "Deine Franz 4 Dienste importieren", 21 "import.headline" : "Deine Franz-4-Dienste importieren",
21 "import.notSupportedHeadline" : "Dienste, die noch nicht von Franz 5 unterstützt werden", 22 "import.notSupportedHeadline" : "Dienste, die noch nicht von Franz 5 unterstützt werden",
22 "import.skip.label" : "Ich möchte Dienste selbst hinzufügen", 23 "import.skip.label" : "Ich möchte Dienste selbst hinzufügen",
23 "import.submit.label" : "Dienste importieren", 24 "import.submit.label" : "Dienste importieren",
24 "infobar.buttonChangelog" : "Was ist neu?", 25 "infobar.buttonChangelog" : "Was gibt es Neues?",
25 "infobar.buttonInstallUpdate" : "Neu starten & Update installieren", 26 "infobar.buttonInstallUpdate" : "Neu starten & Update installieren",
26 "infobar.buttonReloadServices" : "Dienste neuladen", 27 "infobar.buttonReloadServices" : "Dienste neu laden",
27 "infobar.requiredRequestsFailed" : "Dienste und Benutzerinformationen konnten nicht geladen werden", 28 "infobar.requiredRequestsFailed" : "Dienste und Benutzerinformationen konnten nicht geladen werden",
28 "infobar.servicesUpdated" : "Deine Dienste wurden aktualisiert.", 29 "infobar.servicesUpdated" : "Deine Dienste wurden aktualisiert.",
29 "infobar.updateAvailable" : "Eine neue Version von Franz ist verfügbar.", 30 "infobar.updateAvailable" : "Eine neue Version von Franz ist verfügbar!",
30 "invite.email.label" : "E-Mail-Adresse", 31 "invite.email.label" : "E-Mail-Adresse",
31 "invite.headline.friends" : "Lade 3 Freunde oder Kollegen ein", 32 "invite.headline.friends" : "Lade drei Freunde oder Kolleginnen ein!",
32 "invite.name.label" : "Name", 33 "invite.name.label" : "Name",
33 "invite.skip.label" : "Ich möchte das später tun", 34 "invite.skip.label" : "Jetzt nicht! Ich möchte das später tun.",
34 "invite.submit.label" : "Einladungen schicken", 35 "invite.submit.label" : "Einladungen schicken",
35 "invite.successInfo" : "Die Einladungen wurden erfolgreich gesendet.", 36 "invite.successInfo" : "Die Einladungen wurden erfolgreich versendet.",
36 "login.email.label" : "E-Mail-Adresse", 37 "login.email.label" : "E-Mail-Adresse",
37 "login.headline" : "Anmelden", 38 "login.headline" : "Anmelden",
38 "login.invalidCredentials" : "E-Mail Adresse oder Passwort ungültig", 39 "login.invalidCredentials" : "E-Mail-Adresse oder Passwort ungültig",
39 "login.link.password" : "Passwort zurücksetzen", 40 "login.link.password" : "Passwort zurücksetzen",
40 "login.link.signup" : "Kostenloses Konto erstellen", 41 "login.link.signup" : "Kostenloses Konto erstellen",
41 "login.password.label" : "Passwort", 42 "login.password.label" : "Passwort",
@@ -43,6 +44,7 @@
43 "login.submit.label" : "Anmelden", 44 "login.submit.label" : "Anmelden",
44 "login.tokenExpired" : "Deine Sitzung ist abgelaufen, bitte melde Dich erneut an.", 45 "login.tokenExpired" : "Deine Sitzung ist abgelaufen, bitte melde Dich erneut an.",
45 "menu.app.about" : "Ãœber Franz", 46 "menu.app.about" : "Ãœber Franz",
47 "menu.app.announcement" : "Was ist neu?",
46 "menu.app.hide" : "Ausblenden", 48 "menu.app.hide" : "Ausblenden",
47 "menu.app.hideOthers" : "Andere ausblenden", 49 "menu.app.hideOthers" : "Andere ausblenden",
48 "menu.app.quit" : "Beenden", 50 "menu.app.quit" : "Beenden",
@@ -87,12 +89,14 @@
87 "menu.window" : "Fenster", 89 "menu.window" : "Fenster",
88 "menu.window.close" : "Schließen", 90 "menu.window.close" : "Schließen",
89 "menu.window.minimize" : "Minimieren", 91 "menu.window.minimize" : "Minimieren",
90 "menu.workspaces": "Workspaces", 92 "menu.workspaces" : "Workspaces",
91 "menu.workspaces.defaultWorkspace": "All services", 93 "menu.workspaces.addNewWorkspace" : "Neuen Workspace hinzufügen",
92 "menu.workspaces.addNewWorkspace": "Add New Workspace", 94 "menu.workspaces.closeWorkspaceDrawer" : "Workspaces öffnen",
93 "password.email.label" : "E-Mail Adresse", 95 "menu.workspaces.defaultWorkspace" : "Alle Dienste",
96 "menu.workspaces.openWorkspaceDrawer" : "Workspaces schließen",
97 "password.email.label" : "E-Mail-Adresse",
94 "password.headline" : "Passwort zurücksetzen", 98 "password.headline" : "Passwort zurücksetzen",
95 "password.link.login" : "An Deinem Konto anmelden", 99 "password.link.login" : "Mit deinem Konto anmelden",
96 "password.link.signup" : "Kostenloses Konto erstellen", 100 "password.link.signup" : "Kostenloses Konto erstellen",
97 "password.noUser" : "Es wurde kein Benutzer mit dieser E-Mail-Adresse gefunden.", 101 "password.noUser" : "Es wurde kein Benutzer mit dieser E-Mail-Adresse gefunden.",
98 "password.submit.label" : "Absenden", 102 "password.submit.label" : "Absenden",
@@ -102,28 +106,29 @@
102 "pricing.link.skipPayment" : "Ich möchte die Entwicklung von Franz nicht unterstützen.", 106 "pricing.link.skipPayment" : "Ich möchte die Entwicklung von Franz nicht unterstützen.",
103 "pricing.submit.label" : "Ich möchte die Entwicklung von Franz unterstützen.", 107 "pricing.submit.label" : "Ich möchte die Entwicklung von Franz unterstützen.",
104 "pricing.support.label" : "Wie möchtest Du Franz unterstützen?", 108 "pricing.support.label" : "Wie möchtest Du Franz unterstützen?",
105 "service.crashHandler.action" : "{name} neuladen", 109 "service.crashHandler.action" : "{name} neu laden",
106 "service.crashHandler.autoReload" : "{name} wird in {seconds} Sekunden automatisch wiederhergestellt", 110 "service.crashHandler.autoReload" : "{name} wird in {seconds} Sekunden automatisch wiederhergestellt",
107 "service.crashHandler.headline" : "Oh nein!", 111 "service.crashHandler.headline" : "Oh nein!",
108 "service.crashHandler.text" : "{name} hat einen Fehler verursacht.", 112 "service.crashHandler.text" : "{name} hat einen Fehler verursacht.",
109 "service.disabledHandler.action" : "{name} aktivieren", 113 "service.disabledHandler.action" : "{name} aktivieren",
110 "service.disabledHandler.headline" : "{name} ist deaktiviert", 114 "service.disabledHandler.headline" : "{name} ist deaktiviert",
111 "service.errorHandler.action" : "{name} neuladen", 115 "service.errorHandler.action" : "{name} neu laden",
112 "service.errorHandler.editAction" : "{name} bearbeiten", 116 "service.errorHandler.editAction" : "{name} bearbeiten",
113 "service.errorHandler.headline" : "Oh nein!", 117 "service.errorHandler.headline" : "Oh nein!",
114 "service.errorHandler.message" : "Fehler", 118 "service.errorHandler.message" : "Fehler",
115 "service.errorHandler.text" : "{name} konnte nicht geladen werden.", 119 "service.errorHandler.text" : "{name} konnte nicht geladen werden.",
116 "services.getStarted" : "Loslegen", 120 "service.webviewLoader.loading" : "Lade",
117 "services.welcome" : "Willkommen bei Franz.", 121 "services.getStarted" : "Los geht's!",
122 "services.welcome" : "Willkommen bei Franz!",
118 "settings.account.account.editButton" : "Konto bearbeiten", 123 "settings.account.account.editButton" : "Konto bearbeiten",
119 "settings.account.accountType.basic" : "Basis Konto", 124 "settings.account.accountType.basic" : "Basis-Konto",
120 "settings.account.accountType.premium" : "Premium-Supporter Konto", 125 "settings.account.accountType.premium" : "Premium Lizenz",
121 "settings.account.buttonSave" : "Profil aktualisieren", 126 "settings.account.buttonSave" : "Profil aktualisieren",
122 "settings.account.deleteAccount" : "Benutzerkonto löschen", 127 "settings.account.deleteAccount" : "Benutzerkonto löschen",
123 "settings.account.deleteEmailSent" : "Du hast eine Email zur Bestätigung der Löschung Deines Benutzerkontos erhalten. Dein Benutzerkonto und Deine Daten können nach der Löschung nicht wiederhergestellt werden!", 128 "settings.account.deleteEmailSent" : "Du hast eine E-Mail zur Bestätigung der Löschung Deines Benutzerkontos erhalten. Dein Benutzerkonto und Deine Daten können nach der Löschung nicht wiederhergestellt werden!",
124 "settings.account.deleteInfo" : "Wenn du dein Franz Benutzerkonto nicht mehr länger benötigst, kannst du hier deinen Account und alle dazugehörigen Daten löschen.", 129 "settings.account.deleteInfo" : "Wenn du dein Franz-Benutzerkonto nicht mehr länger benötigst, kannst du es hier mit allen dazugehörigen Daten löschen.",
125 "settings.account.headline" : "Konto", 130 "settings.account.headline" : "Konto",
126 "settings.account.headlineAccount" : "Konto Informationen", 131 "settings.account.headlineAccount" : "Konto-Informationen",
127 "settings.account.headlineDangerZone" : "Benutzerkonto löschen", 132 "settings.account.headlineDangerZone" : "Benutzerkonto löschen",
128 "settings.account.headlineInvoices" : "Rechnungen", 133 "settings.account.headlineInvoices" : "Rechnungen",
129 "settings.account.headlinePassword" : "Passwort ändern", 134 "settings.account.headlinePassword" : "Passwort ändern",
@@ -144,7 +149,7 @@
144 "settings.app.form.autoLaunchInBackground" : "Im Hintergrund öffnen", 149 "settings.app.form.autoLaunchInBackground" : "Im Hintergrund öffnen",
145 "settings.app.form.autoLaunchOnStart" : "Franz beim Systemstart ausführen", 150 "settings.app.form.autoLaunchOnStart" : "Franz beim Systemstart ausführen",
146 "settings.app.form.beta" : "Beta-Versionen einbeziehen", 151 "settings.app.form.beta" : "Beta-Versionen einbeziehen",
147 "settings.app.form.darkMode" : "Die dunkle Seite erwartet dich (Dark Mode)", 152 "settings.app.form.darkMode" : "Die dunkle Seite erwartet dich! (Dark Mode)",
148 "settings.app.form.enableGPUAcceleration" : "Hardwarebeschleunigung aktivieren", 153 "settings.app.form.enableGPUAcceleration" : "Hardwarebeschleunigung aktivieren",
149 "settings.app.form.enableSpellchecking" : "Rechtschreibprüfung aktivieren", 154 "settings.app.form.enableSpellchecking" : "Rechtschreibprüfung aktivieren",
150 "settings.app.form.enableSystemTray" : "Franz im Infobereich anzeigen", 155 "settings.app.form.enableSystemTray" : "Franz im Infobereich anzeigen",
@@ -159,26 +164,27 @@
159 "settings.app.headlineGeneral" : "Allgemeines", 164 "settings.app.headlineGeneral" : "Allgemeines",
160 "settings.app.headlineLanguage" : "Sprache", 165 "settings.app.headlineLanguage" : "Sprache",
161 "settings.app.headlineUpdates" : "Updates", 166 "settings.app.headlineUpdates" : "Updates",
167 "settings.app.languageDisclaimer" : "Offizielle Ãœbersetzungen: Englisch & Deutsch. Alle anderen Sprachen sind Ãœbersetzungen der Franz Community.",
162 "settings.app.restartRequired" : "Änderungen werden erst nach einem Neustart wirksam.", 168 "settings.app.restartRequired" : "Änderungen werden erst nach einem Neustart wirksam.",
163 "settings.app.subheadlineCache" : "Cache", 169 "settings.app.subheadlineCache" : "Cache",
164 "settings.app.translationHelp" : "Hilf uns, Franz in Deine Sprache zu übersetzen.", 170 "settings.app.translationHelp" : "Hilf uns, Franz in Deine Sprache zu übersetzen.",
165 "settings.app.updateStatusAvailable" : "Update verfügbar, lädt herunter...", 171 "settings.app.updateStatusAvailable" : "Update verfügbar, lädt herunter ...",
166 "settings.app.updateStatusSearching" : "Suche nach Updates", 172 "settings.app.updateStatusSearching" : "Suche nach Updates",
167 "settings.app.updateStatusUpToDate" : "Du nutzt die aktuellste Version von Franz", 173 "settings.app.updateStatusUpToDate" : "Du nutzt die aktuellste Version von Franz",
168 "settings.invite.headline" : "Lade 3 Deiner Freunde ein", 174 "settings.invite.headline" : "Lade drei Deiner Freunde ein",
169 "settings.navigation.account" : "Konto", 175 "settings.navigation.account" : "Konto",
170 "settings.navigation.availableServices" : "Verfügbare Dienste", 176 "settings.navigation.availableServices" : "Verfügbare Dienste",
171 "settings.navigation.inviteFriends" : "Freunde einladen", 177 "settings.navigation.inviteFriends" : "Freunde einladen",
172 "settings.navigation.logout" : "Abmelden", 178 "settings.navigation.logout" : "Abmelden",
173 "settings.navigation.settings" : "Einstellungen", 179 "settings.navigation.settings" : "Einstellungen",
174 "settings.navigation.yourServices" : "Deine Dienste", 180 "settings.navigation.yourServices" : "Deine Dienste",
175 "settings.navigation.yourWorkspaces": "Deine Workspaces", 181 "settings.navigation.yourWorkspaces" : "Deine Workspaces",
176 "settings.recipes.all" : "Alle Dienste", 182 "settings.recipes.all" : "Alle Dienste",
177 "settings.recipes.dev" : "Entwicklung", 183 "settings.recipes.dev" : "Entwicklung",
178 "settings.recipes.headline" : "Verfügbare Dienste", 184 "settings.recipes.headline" : "Verfügbare Dienste",
179 "settings.recipes.missingService" : "Fehlt ein Dienst?", 185 "settings.recipes.missingService" : "Fehlt ein Dienst?",
180 "settings.recipes.mostPopular" : "Am beliebtesten", 186 "settings.recipes.mostPopular" : "Am beliebtesten",
181 "settings.recipes.nothingFound" : "Entschuldigung, aber der von Dir gesuchte Dienst konnte nicht gefunden werden.", 187 "settings.recipes.nothingFound" : "Entschuldigung, der gesuchte Dienst konnte nicht gefunden werden.",
182 "settings.recipes.servicesSuccessfulAddedInfo" : "Dienst erfolgreich hinzugefügt", 188 "settings.recipes.servicesSuccessfulAddedInfo" : "Dienst erfolgreich hinzugefügt",
183 "settings.searchService" : "Dienst suchen", 189 "settings.searchService" : "Dienst suchen",
184 "settings.service.error.goBack" : "Zurück zu den Diensten", 190 "settings.service.error.goBack" : "Zurück zu den Diensten",
@@ -187,7 +193,7 @@
187 "settings.service.form.addServiceHeadline" : "{name} hinzufügen", 193 "settings.service.form.addServiceHeadline" : "{name} hinzufügen",
188 "settings.service.form.availableServices" : "Verfügbare Dienste", 194 "settings.service.form.availableServices" : "Verfügbare Dienste",
189 "settings.service.form.customUrl" : "Eigener Server", 195 "settings.service.form.customUrl" : "Eigener Server",
190 "settings.service.form.customUrlPremiumInfo" : "Um einen selbst gehosteten Dienst hinzuzufügen, brauchst Du ein Franz Premium-Supporter Konto.", 196 "settings.service.form.customUrlPremiumInfo" : "Um einen selbst gehosteten Dienst hinzuzufügen, brauchst Du ein Franz Premium Konto.",
191 "settings.service.form.customUrlUpgradeAccount" : "Dein Konto upgraden", 197 "settings.service.form.customUrlUpgradeAccount" : "Dein Konto upgraden",
192 "settings.service.form.customUrlValidationError" : "Dein {name}-Server konnte nicht verifiziert werden.", 198 "settings.service.form.customUrlValidationError" : "Dein {name}-Server konnte nicht verifiziert werden.",
193 "settings.service.form.deleteButton" : "Dienst löschen", 199 "settings.service.form.deleteButton" : "Dienst löschen",
@@ -207,13 +213,13 @@
207 "settings.service.form.indirectMessages" : "Nachrichten-Badge für alle neuen Nachrichten anzeigen", 213 "settings.service.form.indirectMessages" : "Nachrichten-Badge für alle neuen Nachrichten anzeigen",
208 "settings.service.form.isMutedInfo" : "Sämtliche Wiedergabe von Tönen wird deaktiviert", 214 "settings.service.form.isMutedInfo" : "Sämtliche Wiedergabe von Tönen wird deaktiviert",
209 "settings.service.form.name" : "Name", 215 "settings.service.form.name" : "Name",
210 "settings.service.form.proxy.headline" : "HTTP\/HTTPS Proxy Einstellungen", 216 "settings.service.form.proxy.headline" : "HTTP-\/HTTPS-Proxy-Einstellungen",
211 "settings.service.form.proxy.host" : "Proxy Host\/IP", 217 "settings.service.form.proxy.host" : "Proxy Host\/IP",
212 "settings.service.form.proxy.info" : "Proxy Einstellungen werden nicht mit den Franz Servern synchronisiert.", 218 "settings.service.form.proxy.info" : "Proxy-Einstellungen werden nicht mit den Franz Servern synchronisiert.",
213 "settings.service.form.proxy.isEnabled" : "Proxy Server verwenden", 219 "settings.service.form.proxy.isEnabled" : "Proxy-Server verwenden",
214 "settings.service.form.proxy.password" : "Passwort (optional)", 220 "settings.service.form.proxy.password" : "Passwort (optional)",
215 "settings.service.form.proxy.port" : "Port", 221 "settings.service.form.proxy.port" : "Port",
216 "settings.service.form.proxy.restartInfo" : "Bitte starte Franz nach dem Ändern der Proxy Einstellungen neu.", 222 "settings.service.form.proxy.restartInfo" : "Bitte starte Franz nach dem Ändern der Proxy-Einstellungen neu.",
217 "settings.service.form.proxy.user" : "Benutzer (optional)", 223 "settings.service.form.proxy.user" : "Benutzer (optional)",
218 "settings.service.form.saveButton" : "Dienst speichern", 224 "settings.service.form.saveButton" : "Dienst speichern",
219 "settings.service.form.tabHosted" : "Gehostet", 225 "settings.service.form.tabHosted" : "Gehostet",
@@ -230,14 +236,6 @@
230 "settings.services.tooltip.isMuted" : "Alle Töne sind deaktiviert", 236 "settings.services.tooltip.isMuted" : "Alle Töne sind deaktiviert",
231 "settings.services.tooltip.notificationsDisabled" : "Benachrichtigungen deaktiviert", 237 "settings.services.tooltip.notificationsDisabled" : "Benachrichtigungen deaktiviert",
232 "settings.services.updatedInfo" : "Deine Änderungen wurden gespeichert", 238 "settings.services.updatedInfo" : "Deine Änderungen wurden gespeichert",
233 "settings.workspaces.headline": "Deine Workspaces",
234 "settings.workspace.add.form.submitButton": "Workspace erstellen",
235 "settings.workspace.add.form.name": "Name",
236 "settings.workspace.form.yourWorkspaces": "Deine Workspaces",
237 "settings.workspace.form.name": "Name",
238 "settings.workspace.form.buttonDelete": "Workspace löschen",
239 "settings.workspace.form.buttonSave": "Workspace speichern",
240 "settings.workspace.form.servicesInWorkspaceHeadline": "Services in diesem Workspace",
241 "settings.user.form.accountType.company" : "Firma", 239 "settings.user.form.accountType.company" : "Firma",
242 "settings.user.form.accountType.individual" : "Einzelperson", 240 "settings.user.form.accountType.individual" : "Einzelperson",
243 "settings.user.form.accountType.label" : "Konto-Typ", 241 "settings.user.form.accountType.label" : "Konto-Typ",
@@ -247,30 +245,47 @@
247 "settings.user.form.firstname" : "Vorname", 245 "settings.user.form.firstname" : "Vorname",
248 "settings.user.form.lastname" : "Nachname", 246 "settings.user.form.lastname" : "Nachname",
249 "settings.user.form.newPassword" : "Neues Passwort", 247 "settings.user.form.newPassword" : "Neues Passwort",
248 "settings.workspace.add.form.name" : "Name",
249 "settings.workspace.add.form.submitButton" : "Workspace erstellen",
250 "settings.workspace.form.buttonDelete" : "Workspace löschen",
251 "settings.workspace.form.buttonSave" : "Workspace speichern",
252 "settings.workspace.form.name" : "Name",
253 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in diesem Workspace",
254 "settings.workspace.form.yourWorkspaces" : "Deine Workspaces",
255 "settings.workspaces.deletedInfo" : "Workspace wurde gelöscht",
256 "settings.workspaces.headline" : "Deine Workspaces",
257 "settings.workspaces.noWorkspacesAdded" : "Du hast noch keine Workspaces hinzugefügt",
258 "settings.workspaces.tryReloadWorkspaces" : "Erneut versuchen",
259 "settings.workspaces.updatedInfo" : "Deine Änderungen wurden gespeichert",
260 "settings.workspaces.workspaceFeatureHeadline" : "Weniger ist mehr: Franz Workspaces",
261 "settings.workspaces.workspaceFeatureInfo" : "Mit Franz Workspaces hast du alles im Blick was gerade wichtig ist - und nur das. Erstelle unterschiedliche Sets von Services, und wechsle jederzeit zwischen ihnen hin und her. Du entscheidest welche Services du wann und wo brauchst, um ungestört arbeiten zu können - oder zu Hause besser abschalten.",
262 "settings.workspaces.workspacesRequestFailed" : "Workspaces konnte nicht geladen werden",
250 "sidebar.addNewService" : "Neuen Dienst hinzufügen", 263 "sidebar.addNewService" : "Neuen Dienst hinzufügen",
264 "sidebar.closeWorkspaceDrawer" : "Workspaces schließen",
251 "sidebar.muteApp" : "Benachrichtigungen & Audio deaktivieren", 265 "sidebar.muteApp" : "Benachrichtigungen & Audio deaktivieren",
266 "sidebar.openWorkspaceDrawer" : "Workspaces öffnen",
252 "sidebar.settings" : "Einstellungen", 267 "sidebar.settings" : "Einstellungen",
253 "sidebar.unmuteApp" : "Benachrichtigungen & Audio aktivieren", 268 "sidebar.unmuteApp" : "Benachrichtigungen & Audio aktivieren",
254 "signup.company.label" : "Firma", 269 "signup.company.label" : "Firma",
255 "signup.email.label" : "E-Mail Adresse", 270 "signup.email.label" : "E-Mail-Adresse",
256 "signup.emailDuplicate" : "Es existiert bereits ein Benutzer mit dieser E-Mail Adresse.", 271 "signup.emailDuplicate" : "Es existiert bereits ein Benutzer mit dieser E-Mail Adresse.",
257 "signup.firstname.label" : "Vorname", 272 "signup.firstname.label" : "Vorname",
258 "signup.headline" : "Anmelden", 273 "signup.headline" : "Anmelden",
259 "signup.lastname.label" : "Nachname", 274 "signup.lastname.label" : "Nachname",
260 "signup.legal.info" : "Mit der Erstellung eines Franz Kontos akzeptierst Du die", 275 "signup.legal.info" : "Mit der Erstellung eines Franz-Kontos akzeptierst Du die",
261 "signup.legal.privacy" : "Datenschutzerklärung", 276 "signup.legal.privacy" : "Datenschutzerklärung",
262 "signup.legal.terms" : "Nutzungsbedingungen", 277 "signup.legal.terms" : "Nutzungsbedingungen",
263 "signup.link.login" : "Du hast bereits ein Konto? Melde Dich an.", 278 "signup.link.login" : "Du hast bereits ein Konto? Melde Dich an.",
264 "signup.password.label" : "Passwort", 279 "signup.password.label" : "Passwort",
265 "signup.submit.label" : "Konto erstellen", 280 "signup.submit.label" : "Konto erstellen",
266 "subscription.euTaxInfo" : "Preise sind exklusive Steuern.", 281 "subscription.euTaxInfo" : "Preise zuzüglich allfälliger Steuern",
267 "subscription.features.ads" : "Werbefrei auf Lebenszeit!", 282 "subscription.features.ads" : "Werbefrei auf Lebenszeit!",
268 "subscription.features.comingSoon" : "folgt bald", 283 "subscription.features.comingSoon" : "folgt bald",
269 "subscription.features.noInterruptions" : "Keine Wartezeiten um Franz zu verwenden", 284 "subscription.features.noInterruptions" : "Verwende Franz ohne Wartezeiten",
270 "subscription.features.onpremise.mattermost" : "Integration von gehosteten Diensten, wie Mattermost", 285 "subscription.features.onpremise.mattermost" : "Integration von gehosteten Diensten wie Mattermost",
271 "subscription.features.proxy" : "Proxy Support für Dienste", 286 "subscription.features.proxy" : "Proxy Support für Dienste",
272 "subscription.features.spellchecker" : "Unterstützung für Rechtschreibprüfung", 287 "subscription.features.spellchecker" : "Unterstützung für Rechtschreibprüfung",
273 "subscription.includedFeatures" : "Bezahlte Franz Premium Support Konten beinhalten", 288 "subscription.includedFeatures" : "Bezahlte Franz Premium Lizenzen beinhalten",
274 "subscription.paymentSessionError" : "Das Zahlungs-Formular konnte nicht geladen werden.", 289 "subscription.paymentSessionError" : "Das Zahlungs-Formular konnte nicht geladen werden.",
275 "subscription.submit.label" : "Ich möchte die Entwicklung von Franz unterstützen", 290 "subscription.submit.label" : "Ich möchte die Entwicklung von Franz unterstützen",
276 "subscription.type.free" : "kostenlos", 291 "subscription.type.free" : "kostenlos",
@@ -286,12 +301,23 @@
286 "tabs.item.enableAudio" : "Audio aktivieren", 301 "tabs.item.enableAudio" : "Audio aktivieren",
287 "tabs.item.enableNotification" : "Benachrichtigungen aktivieren", 302 "tabs.item.enableNotification" : "Benachrichtigungen aktivieren",
288 "tabs.item.enableService" : "Dienst aktivieren", 303 "tabs.item.enableService" : "Dienst aktivieren",
289 "tabs.item.reload" : "Neuladen", 304 "tabs.item.reload" : "Neu laden",
290 "validation.email" : "{field} ist ungültig", 305 "validation.email" : "{field} ist ungültig",
291 "validation.minLength" : "{field} muss mindestens {length} Zeichen enthalten", 306 "validation.minLength" : "{field} muss mindestens {length} Zeichen enthalten",
292 "validation.oneRequired" : "Mindestens ein Wert wird benötigt", 307 "validation.oneRequired" : "Mindestens ein Wert wird benötigt",
293 "validation.required" : "{field} wird benötigt", 308 "validation.required" : "{field} wird benötigt",
294 "validation.url" : "{field} ist keine gültige URL", 309 "validation.url" : "{field} ist keine gültige URL",
295 "welcome.loginButton" : "Bei Franz einloggen", 310 "welcome.loginButton" : "Bei Franz einloggen",
296 "welcome.signupButton" : "Kostenloses Konto erstellen" 311 "welcome.signupButton" : "Kostenloses Konto erstellen",
312 "workspaceDrawer.addNewWorkspaceLabel" : "Neuen Workspace hinzufügen",
313 "workspaceDrawer.allServices" : "Alle Dienste",
314 "workspaceDrawer.headline" : "Workspaces",
315 "workspaceDrawer.item.contextMenuEdit" : "Bearbeiten",
316 "workspaceDrawer.item.noServicesAddedYet" : "Noch keine Services hinzugefügt",
317 "workspaceDrawer.premiumCtaButtonLabel" : "Erstelle deinen ersten Workspace",
318 "workspaceDrawer.proFeatureBadge" : "Premium Feature",
319 "workspaceDrawer.reactivatePremiumAccountLabel" : "Premium Account aktivieren",
320 "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>",
321 "workspaceDrawer.workspacesSettingsTooltip" : "Workspaces bearbeiten",
322 "workspaces.switchingIndicator.switchingTo" : "Wechsle zu"
297} 323}
diff --git a/src/i18n/locales/defaultMessages.json b/src/i18n/locales/defaultMessages.json
index 8fe5e8852..712434a8b 100644
--- a/src/i18n/locales/defaultMessages.json
+++ b/src/i18n/locales/defaultMessages.json
@@ -625,78 +625,78 @@
625 "defaultMessage": "!!!Your services have been updated.", 625 "defaultMessage": "!!!Your services have been updated.",
626 "end": { 626 "end": {
627 "column": 3, 627 "column": 3,
628 "line": 28 628 "line": 30
629 }, 629 },
630 "file": "src/components/layout/AppLayout.js", 630 "file": "src/components/layout/AppLayout.js",
631 "id": "infobar.servicesUpdated", 631 "id": "infobar.servicesUpdated",
632 "start": { 632 "start": {
633 "column": 19, 633 "column": 19,
634 "line": 25 634 "line": 27
635 } 635 }
636 }, 636 },
637 { 637 {
638 "defaultMessage": "!!!A new update for Franz is available.", 638 "defaultMessage": "!!!A new update for Franz is available.",
639 "end": { 639 "end": {
640 "column": 3, 640 "column": 3,
641 "line": 32 641 "line": 34
642 }, 642 },
643 "file": "src/components/layout/AppLayout.js", 643 "file": "src/components/layout/AppLayout.js",
644 "id": "infobar.updateAvailable", 644 "id": "infobar.updateAvailable",
645 "start": { 645 "start": {
646 "column": 19, 646 "column": 19,
647 "line": 29 647 "line": 31
648 } 648 }
649 }, 649 },
650 { 650 {
651 "defaultMessage": "!!!Reload services", 651 "defaultMessage": "!!!Reload services",
652 "end": { 652 "end": {
653 "column": 3, 653 "column": 3,
654 "line": 36 654 "line": 38
655 }, 655 },
656 "file": "src/components/layout/AppLayout.js", 656 "file": "src/components/layout/AppLayout.js",
657 "id": "infobar.buttonReloadServices", 657 "id": "infobar.buttonReloadServices",
658 "start": { 658 "start": {
659 "column": 24, 659 "column": 24,
660 "line": 33 660 "line": 35
661 } 661 }
662 }, 662 },
663 { 663 {
664 "defaultMessage": "!!!Changelog", 664 "defaultMessage": "!!!Changelog",
665 "end": { 665 "end": {
666 "column": 3, 666 "column": 3,
667 "line": 40 667 "line": 42
668 }, 668 },
669 "file": "src/components/layout/AppLayout.js", 669 "file": "src/components/layout/AppLayout.js",
670 "id": "infobar.buttonChangelog", 670 "id": "infobar.buttonChangelog",
671 "start": { 671 "start": {
672 "column": 13, 672 "column": 13,
673 "line": 37 673 "line": 39
674 } 674 }
675 }, 675 },
676 { 676 {
677 "defaultMessage": "!!!Restart & install update", 677 "defaultMessage": "!!!Restart & install update",
678 "end": { 678 "end": {
679 "column": 3, 679 "column": 3,
680 "line": 44 680 "line": 46
681 }, 681 },
682 "file": "src/components/layout/AppLayout.js", 682 "file": "src/components/layout/AppLayout.js",
683 "id": "infobar.buttonInstallUpdate", 683 "id": "infobar.buttonInstallUpdate",
684 "start": { 684 "start": {
685 "column": 23, 685 "column": 23,
686 "line": 41 686 "line": 43
687 } 687 }
688 }, 688 },
689 { 689 {
690 "defaultMessage": "!!!Could not load services and user information", 690 "defaultMessage": "!!!Could not load services and user information",
691 "end": { 691 "end": {
692 "column": 3, 692 "column": 3,
693 "line": 48 693 "line": 50
694 }, 694 },
695 "file": "src/components/layout/AppLayout.js", 695 "file": "src/components/layout/AppLayout.js",
696 "id": "infobar.requiredRequestsFailed", 696 "id": "infobar.requiredRequestsFailed",
697 "start": { 697 "start": {
698 "column": 26, 698 "column": 26,
699 "line": 45 699 "line": 47
700 } 700 }
701 } 701 }
702 ], 702 ],
@@ -2250,6 +2250,19 @@
2250 "column": 29, 2250 "column": 29,
2251 "line": 80 2251 "line": 80
2252 } 2252 }
2253 },
2254 {
2255 "defaultMessage": "!!!Official translations are English & German. All other languages are community based translations.",
2256 "end": {
2257 "column": 3,
2258 "line": 87
2259 },
2260 "file": "src/components/settings/settings/EditSettingsForm.js",
2261 "id": "settings.app.languageDisclaimer",
2262 "start": {
2263 "column": 22,
2264 "line": 84
2265 }
2253 } 2266 }
2254 ], 2267 ],
2255 "path": "src/components/settings/settings/EditSettingsForm.json" 2268 "path": "src/components/settings/settings/EditSettingsForm.json"
@@ -3178,6 +3191,24 @@
3178 { 3191 {
3179 "descriptors": [ 3192 "descriptors": [
3180 { 3193 {
3194 "defaultMessage": "!!!Changes in Franz {version}",
3195 "end": {
3196 "column": 3,
3197 "line": 23
3198 },
3199 "file": "src/features/announcements/components/AnnouncementScreen.js",
3200 "id": "feature.announcements.changelog.headline",
3201 "start": {
3202 "column": 12,
3203 "line": 20
3204 }
3205 }
3206 ],
3207 "path": "src/features/announcements/components/AnnouncementScreen.json"
3208 },
3209 {
3210 "descriptors": [
3211 {
3181 "defaultMessage": "!!!Please purchase license to skip waiting", 3212 "defaultMessage": "!!!Please purchase license to skip waiting",
3182 "end": { 3213 "end": {
3183 "column": 3, 3214 "column": 3,
@@ -3842,676 +3873,689 @@
3842 "defaultMessage": "!!!Edit", 3873 "defaultMessage": "!!!Edit",
3843 "end": { 3874 "end": {
3844 "column": 3, 3875 "column": 3,
3845 "line": 16 3876 "line": 17
3846 }, 3877 },
3847 "file": "src/lib/Menu.js", 3878 "file": "src/lib/Menu.js",
3848 "id": "menu.edit", 3879 "id": "menu.edit",
3849 "start": { 3880 "start": {
3850 "column": 8, 3881 "column": 8,
3851 "line": 13 3882 "line": 14
3852 } 3883 }
3853 }, 3884 },
3854 { 3885 {
3855 "defaultMessage": "!!!Undo", 3886 "defaultMessage": "!!!Undo",
3856 "end": { 3887 "end": {
3857 "column": 3, 3888 "column": 3,
3858 "line": 20 3889 "line": 21
3859 }, 3890 },
3860 "file": "src/lib/Menu.js", 3891 "file": "src/lib/Menu.js",
3861 "id": "menu.edit.undo", 3892 "id": "menu.edit.undo",
3862 "start": { 3893 "start": {
3863 "column": 8, 3894 "column": 8,
3864 "line": 17 3895 "line": 18
3865 } 3896 }
3866 }, 3897 },
3867 { 3898 {
3868 "defaultMessage": "!!!Redo", 3899 "defaultMessage": "!!!Redo",
3869 "end": { 3900 "end": {
3870 "column": 3, 3901 "column": 3,
3871 "line": 24 3902 "line": 25
3872 }, 3903 },
3873 "file": "src/lib/Menu.js", 3904 "file": "src/lib/Menu.js",
3874 "id": "menu.edit.redo", 3905 "id": "menu.edit.redo",
3875 "start": { 3906 "start": {
3876 "column": 8, 3907 "column": 8,
3877 "line": 21 3908 "line": 22
3878 } 3909 }
3879 }, 3910 },
3880 { 3911 {
3881 "defaultMessage": "!!!Cut", 3912 "defaultMessage": "!!!Cut",
3882 "end": { 3913 "end": {
3883 "column": 3, 3914 "column": 3,
3884 "line": 28 3915 "line": 29
3885 }, 3916 },
3886 "file": "src/lib/Menu.js", 3917 "file": "src/lib/Menu.js",
3887 "id": "menu.edit.cut", 3918 "id": "menu.edit.cut",
3888 "start": { 3919 "start": {
3889 "column": 7, 3920 "column": 7,
3890 "line": 25 3921 "line": 26
3891 } 3922 }
3892 }, 3923 },
3893 { 3924 {
3894 "defaultMessage": "!!!Copy", 3925 "defaultMessage": "!!!Copy",
3895 "end": { 3926 "end": {
3896 "column": 3, 3927 "column": 3,
3897 "line": 32 3928 "line": 33
3898 }, 3929 },
3899 "file": "src/lib/Menu.js", 3930 "file": "src/lib/Menu.js",
3900 "id": "menu.edit.copy", 3931 "id": "menu.edit.copy",
3901 "start": { 3932 "start": {
3902 "column": 8, 3933 "column": 8,
3903 "line": 29 3934 "line": 30
3904 } 3935 }
3905 }, 3936 },
3906 { 3937 {
3907 "defaultMessage": "!!!Paste", 3938 "defaultMessage": "!!!Paste",
3908 "end": { 3939 "end": {
3909 "column": 3, 3940 "column": 3,
3910 "line": 36 3941 "line": 37
3911 }, 3942 },
3912 "file": "src/lib/Menu.js", 3943 "file": "src/lib/Menu.js",
3913 "id": "menu.edit.paste", 3944 "id": "menu.edit.paste",
3914 "start": { 3945 "start": {
3915 "column": 9, 3946 "column": 9,
3916 "line": 33 3947 "line": 34
3917 } 3948 }
3918 }, 3949 },
3919 { 3950 {
3920 "defaultMessage": "!!!Paste And Match Style", 3951 "defaultMessage": "!!!Paste And Match Style",
3921 "end": { 3952 "end": {
3922 "column": 3, 3953 "column": 3,
3923 "line": 40 3954 "line": 41
3924 }, 3955 },
3925 "file": "src/lib/Menu.js", 3956 "file": "src/lib/Menu.js",
3926 "id": "menu.edit.pasteAndMatchStyle", 3957 "id": "menu.edit.pasteAndMatchStyle",
3927 "start": { 3958 "start": {
3928 "column": 22, 3959 "column": 22,
3929 "line": 37 3960 "line": 38
3930 } 3961 }
3931 }, 3962 },
3932 { 3963 {
3933 "defaultMessage": "!!!Delete", 3964 "defaultMessage": "!!!Delete",
3934 "end": { 3965 "end": {
3935 "column": 3, 3966 "column": 3,
3936 "line": 44 3967 "line": 45
3937 }, 3968 },
3938 "file": "src/lib/Menu.js", 3969 "file": "src/lib/Menu.js",
3939 "id": "menu.edit.delete", 3970 "id": "menu.edit.delete",
3940 "start": { 3971 "start": {
3941 "column": 10, 3972 "column": 10,
3942 "line": 41 3973 "line": 42
3943 } 3974 }
3944 }, 3975 },
3945 { 3976 {
3946 "defaultMessage": "!!!Select All", 3977 "defaultMessage": "!!!Select All",
3947 "end": { 3978 "end": {
3948 "column": 3, 3979 "column": 3,
3949 "line": 48 3980 "line": 49
3950 }, 3981 },
3951 "file": "src/lib/Menu.js", 3982 "file": "src/lib/Menu.js",
3952 "id": "menu.edit.selectAll", 3983 "id": "menu.edit.selectAll",
3953 "start": { 3984 "start": {
3954 "column": 13, 3985 "column": 13,
3955 "line": 45 3986 "line": 46
3956 } 3987 }
3957 }, 3988 },
3958 { 3989 {
3959 "defaultMessage": "!!!Speech", 3990 "defaultMessage": "!!!Speech",
3960 "end": { 3991 "end": {
3961 "column": 3, 3992 "column": 3,
3962 "line": 52 3993 "line": 53
3963 }, 3994 },
3964 "file": "src/lib/Menu.js", 3995 "file": "src/lib/Menu.js",
3965 "id": "menu.edit.speech", 3996 "id": "menu.edit.speech",
3966 "start": { 3997 "start": {
3967 "column": 10, 3998 "column": 10,
3968 "line": 49 3999 "line": 50
3969 } 4000 }
3970 }, 4001 },
3971 { 4002 {
3972 "defaultMessage": "!!!Start Speaking", 4003 "defaultMessage": "!!!Start Speaking",
3973 "end": { 4004 "end": {
3974 "column": 3, 4005 "column": 3,
3975 "line": 56 4006 "line": 57
3976 }, 4007 },
3977 "file": "src/lib/Menu.js", 4008 "file": "src/lib/Menu.js",
3978 "id": "menu.edit.startSpeaking", 4009 "id": "menu.edit.startSpeaking",
3979 "start": { 4010 "start": {
3980 "column": 17, 4011 "column": 17,
3981 "line": 53 4012 "line": 54
3982 } 4013 }
3983 }, 4014 },
3984 { 4015 {
3985 "defaultMessage": "!!!Stop Speaking", 4016 "defaultMessage": "!!!Stop Speaking",
3986 "end": { 4017 "end": {
3987 "column": 3, 4018 "column": 3,
3988 "line": 60 4019 "line": 61
3989 }, 4020 },
3990 "file": "src/lib/Menu.js", 4021 "file": "src/lib/Menu.js",
3991 "id": "menu.edit.stopSpeaking", 4022 "id": "menu.edit.stopSpeaking",
3992 "start": { 4023 "start": {
3993 "column": 16, 4024 "column": 16,
3994 "line": 57 4025 "line": 58
3995 } 4026 }
3996 }, 4027 },
3997 { 4028 {
3998 "defaultMessage": "!!!Start Dictation", 4029 "defaultMessage": "!!!Start Dictation",
3999 "end": { 4030 "end": {
4000 "column": 3, 4031 "column": 3,
4001 "line": 64 4032 "line": 65
4002 }, 4033 },
4003 "file": "src/lib/Menu.js", 4034 "file": "src/lib/Menu.js",
4004 "id": "menu.edit.startDictation", 4035 "id": "menu.edit.startDictation",
4005 "start": { 4036 "start": {
4006 "column": 18, 4037 "column": 18,
4007 "line": 61 4038 "line": 62
4008 } 4039 }
4009 }, 4040 },
4010 { 4041 {
4011 "defaultMessage": "!!!Emoji & Symbols", 4042 "defaultMessage": "!!!Emoji & Symbols",
4012 "end": { 4043 "end": {
4013 "column": 3, 4044 "column": 3,
4014 "line": 68 4045 "line": 69
4015 }, 4046 },
4016 "file": "src/lib/Menu.js", 4047 "file": "src/lib/Menu.js",
4017 "id": "menu.edit.emojiSymbols", 4048 "id": "menu.edit.emojiSymbols",
4018 "start": { 4049 "start": {
4019 "column": 16, 4050 "column": 16,
4020 "line": 65 4051 "line": 66
4021 } 4052 }
4022 }, 4053 },
4023 { 4054 {
4024 "defaultMessage": "!!!Actual Size", 4055 "defaultMessage": "!!!Actual Size",
4025 "end": { 4056 "end": {
4026 "column": 3, 4057 "column": 3,
4027 "line": 72 4058 "line": 73
4028 }, 4059 },
4029 "file": "src/lib/Menu.js", 4060 "file": "src/lib/Menu.js",
4030 "id": "menu.view.resetZoom", 4061 "id": "menu.view.resetZoom",
4031 "start": { 4062 "start": {
4032 "column": 13, 4063 "column": 13,
4033 "line": 69 4064 "line": 70
4034 } 4065 }
4035 }, 4066 },
4036 { 4067 {
4037 "defaultMessage": "!!!Zoom In", 4068 "defaultMessage": "!!!Zoom In",
4038 "end": { 4069 "end": {
4039 "column": 3, 4070 "column": 3,
4040 "line": 76 4071 "line": 77
4041 }, 4072 },
4042 "file": "src/lib/Menu.js", 4073 "file": "src/lib/Menu.js",
4043 "id": "menu.view.zoomIn", 4074 "id": "menu.view.zoomIn",
4044 "start": { 4075 "start": {
4045 "column": 10, 4076 "column": 10,
4046 "line": 73 4077 "line": 74
4047 } 4078 }
4048 }, 4079 },
4049 { 4080 {
4050 "defaultMessage": "!!!Zoom Out", 4081 "defaultMessage": "!!!Zoom Out",
4051 "end": { 4082 "end": {
4052 "column": 3, 4083 "column": 3,
4053 "line": 80 4084 "line": 81
4054 }, 4085 },
4055 "file": "src/lib/Menu.js", 4086 "file": "src/lib/Menu.js",
4056 "id": "menu.view.zoomOut", 4087 "id": "menu.view.zoomOut",
4057 "start": { 4088 "start": {
4058 "column": 11, 4089 "column": 11,
4059 "line": 77 4090 "line": 78
4060 } 4091 }
4061 }, 4092 },
4062 { 4093 {
4063 "defaultMessage": "!!!Enter Full Screen", 4094 "defaultMessage": "!!!Enter Full Screen",
4064 "end": { 4095 "end": {
4065 "column": 3, 4096 "column": 3,
4066 "line": 84 4097 "line": 85
4067 }, 4098 },
4068 "file": "src/lib/Menu.js", 4099 "file": "src/lib/Menu.js",
4069 "id": "menu.view.enterFullScreen", 4100 "id": "menu.view.enterFullScreen",
4070 "start": { 4101 "start": {
4071 "column": 19, 4102 "column": 19,
4072 "line": 81 4103 "line": 82
4073 } 4104 }
4074 }, 4105 },
4075 { 4106 {
4076 "defaultMessage": "!!!Exit Full Screen", 4107 "defaultMessage": "!!!Exit Full Screen",
4077 "end": { 4108 "end": {
4078 "column": 3, 4109 "column": 3,
4079 "line": 88 4110 "line": 89
4080 }, 4111 },
4081 "file": "src/lib/Menu.js", 4112 "file": "src/lib/Menu.js",
4082 "id": "menu.view.exitFullScreen", 4113 "id": "menu.view.exitFullScreen",
4083 "start": { 4114 "start": {
4084 "column": 18, 4115 "column": 18,
4085 "line": 85 4116 "line": 86
4086 } 4117 }
4087 }, 4118 },
4088 { 4119 {
4089 "defaultMessage": "!!!Toggle Full Screen", 4120 "defaultMessage": "!!!Toggle Full Screen",
4090 "end": { 4121 "end": {
4091 "column": 3, 4122 "column": 3,
4092 "line": 92 4123 "line": 93
4093 }, 4124 },
4094 "file": "src/lib/Menu.js", 4125 "file": "src/lib/Menu.js",
4095 "id": "menu.view.toggleFullScreen", 4126 "id": "menu.view.toggleFullScreen",
4096 "start": { 4127 "start": {
4097 "column": 20, 4128 "column": 20,
4098 "line": 89 4129 "line": 90
4099 } 4130 }
4100 }, 4131 },
4101 { 4132 {
4102 "defaultMessage": "!!!Toggle Developer Tools", 4133 "defaultMessage": "!!!Toggle Developer Tools",
4103 "end": { 4134 "end": {
4104 "column": 3, 4135 "column": 3,
4105 "line": 96 4136 "line": 97
4106 }, 4137 },
4107 "file": "src/lib/Menu.js", 4138 "file": "src/lib/Menu.js",
4108 "id": "menu.view.toggleDevTools", 4139 "id": "menu.view.toggleDevTools",
4109 "start": { 4140 "start": {
4110 "column": 18, 4141 "column": 18,
4111 "line": 93 4142 "line": 94
4112 } 4143 }
4113 }, 4144 },
4114 { 4145 {
4115 "defaultMessage": "!!!Toggle Service Developer Tools", 4146 "defaultMessage": "!!!Toggle Service Developer Tools",
4116 "end": { 4147 "end": {
4117 "column": 3, 4148 "column": 3,
4118 "line": 100 4149 "line": 101
4119 }, 4150 },
4120 "file": "src/lib/Menu.js", 4151 "file": "src/lib/Menu.js",
4121 "id": "menu.view.toggleServiceDevTools", 4152 "id": "menu.view.toggleServiceDevTools",
4122 "start": { 4153 "start": {
4123 "column": 25, 4154 "column": 25,
4124 "line": 97 4155 "line": 98
4125 } 4156 }
4126 }, 4157 },
4127 { 4158 {
4128 "defaultMessage": "!!!Reload Service", 4159 "defaultMessage": "!!!Reload Service",
4129 "end": { 4160 "end": {
4130 "column": 3, 4161 "column": 3,
4131 "line": 104 4162 "line": 105
4132 }, 4163 },
4133 "file": "src/lib/Menu.js", 4164 "file": "src/lib/Menu.js",
4134 "id": "menu.view.reloadService", 4165 "id": "menu.view.reloadService",
4135 "start": { 4166 "start": {
4136 "column": 17, 4167 "column": 17,
4137 "line": 101 4168 "line": 102
4138 } 4169 }
4139 }, 4170 },
4140 { 4171 {
4141 "defaultMessage": "!!!Reload Franz", 4172 "defaultMessage": "!!!Reload Franz",
4142 "end": { 4173 "end": {
4143 "column": 3, 4174 "column": 3,
4144 "line": 108 4175 "line": 109
4145 }, 4176 },
4146 "file": "src/lib/Menu.js", 4177 "file": "src/lib/Menu.js",
4147 "id": "menu.view.reloadFranz", 4178 "id": "menu.view.reloadFranz",
4148 "start": { 4179 "start": {
4149 "column": 15, 4180 "column": 15,
4150 "line": 105 4181 "line": 106
4151 } 4182 }
4152 }, 4183 },
4153 { 4184 {
4154 "defaultMessage": "!!!Minimize", 4185 "defaultMessage": "!!!Minimize",
4155 "end": { 4186 "end": {
4156 "column": 3, 4187 "column": 3,
4157 "line": 112 4188 "line": 113
4158 }, 4189 },
4159 "file": "src/lib/Menu.js", 4190 "file": "src/lib/Menu.js",
4160 "id": "menu.window.minimize", 4191 "id": "menu.window.minimize",
4161 "start": { 4192 "start": {
4162 "column": 12, 4193 "column": 12,
4163 "line": 109 4194 "line": 110
4164 } 4195 }
4165 }, 4196 },
4166 { 4197 {
4167 "defaultMessage": "!!!Close", 4198 "defaultMessage": "!!!Close",
4168 "end": { 4199 "end": {
4169 "column": 3, 4200 "column": 3,
4170 "line": 116 4201 "line": 117
4171 }, 4202 },
4172 "file": "src/lib/Menu.js", 4203 "file": "src/lib/Menu.js",
4173 "id": "menu.window.close", 4204 "id": "menu.window.close",
4174 "start": { 4205 "start": {
4175 "column": 9, 4206 "column": 9,
4176 "line": 113 4207 "line": 114
4177 } 4208 }
4178 }, 4209 },
4179 { 4210 {
4180 "defaultMessage": "!!!Learn More", 4211 "defaultMessage": "!!!Learn More",
4181 "end": { 4212 "end": {
4182 "column": 3, 4213 "column": 3,
4183 "line": 120 4214 "line": 121
4184 }, 4215 },
4185 "file": "src/lib/Menu.js", 4216 "file": "src/lib/Menu.js",
4186 "id": "menu.help.learnMore", 4217 "id": "menu.help.learnMore",
4187 "start": { 4218 "start": {
4188 "column": 13, 4219 "column": 13,
4189 "line": 117 4220 "line": 118
4190 } 4221 }
4191 }, 4222 },
4192 { 4223 {
4193 "defaultMessage": "!!!Changelog", 4224 "defaultMessage": "!!!Changelog",
4194 "end": { 4225 "end": {
4195 "column": 3, 4226 "column": 3,
4196 "line": 124 4227 "line": 125
4197 }, 4228 },
4198 "file": "src/lib/Menu.js", 4229 "file": "src/lib/Menu.js",
4199 "id": "menu.help.changelog", 4230 "id": "menu.help.changelog",
4200 "start": { 4231 "start": {
4201 "column": 13, 4232 "column": 13,
4202 "line": 121 4233 "line": 122
4203 } 4234 }
4204 }, 4235 },
4205 { 4236 {
4206 "defaultMessage": "!!!Support", 4237 "defaultMessage": "!!!Support",
4207 "end": { 4238 "end": {
4208 "column": 3, 4239 "column": 3,
4209 "line": 128 4240 "line": 129
4210 }, 4241 },
4211 "file": "src/lib/Menu.js", 4242 "file": "src/lib/Menu.js",
4212 "id": "menu.help.support", 4243 "id": "menu.help.support",
4213 "start": { 4244 "start": {
4214 "column": 11, 4245 "column": 11,
4215 "line": 125 4246 "line": 126
4216 } 4247 }
4217 }, 4248 },
4218 { 4249 {
4219 "defaultMessage": "!!!Terms of Service", 4250 "defaultMessage": "!!!Terms of Service",
4220 "end": { 4251 "end": {
4221 "column": 3, 4252 "column": 3,
4222 "line": 132 4253 "line": 133
4223 }, 4254 },
4224 "file": "src/lib/Menu.js", 4255 "file": "src/lib/Menu.js",
4225 "id": "menu.help.tos", 4256 "id": "menu.help.tos",
4226 "start": { 4257 "start": {
4227 "column": 7, 4258 "column": 7,
4228 "line": 129 4259 "line": 130
4229 } 4260 }
4230 }, 4261 },
4231 { 4262 {
4232 "defaultMessage": "!!!Privacy Statement", 4263 "defaultMessage": "!!!Privacy Statement",
4233 "end": { 4264 "end": {
4234 "column": 3, 4265 "column": 3,
4235 "line": 136 4266 "line": 137
4236 }, 4267 },
4237 "file": "src/lib/Menu.js", 4268 "file": "src/lib/Menu.js",
4238 "id": "menu.help.privacy", 4269 "id": "menu.help.privacy",
4239 "start": { 4270 "start": {
4240 "column": 11, 4271 "column": 11,
4241 "line": 133 4272 "line": 134
4242 } 4273 }
4243 }, 4274 },
4244 { 4275 {
4245 "defaultMessage": "!!!File", 4276 "defaultMessage": "!!!File",
4246 "end": { 4277 "end": {
4247 "column": 3, 4278 "column": 3,
4248 "line": 140 4279 "line": 141
4249 }, 4280 },
4250 "file": "src/lib/Menu.js", 4281 "file": "src/lib/Menu.js",
4251 "id": "menu.file", 4282 "id": "menu.file",
4252 "start": { 4283 "start": {
4253 "column": 8, 4284 "column": 8,
4254 "line": 137 4285 "line": 138
4255 } 4286 }
4256 }, 4287 },
4257 { 4288 {
4258 "defaultMessage": "!!!View", 4289 "defaultMessage": "!!!View",
4259 "end": { 4290 "end": {
4260 "column": 3, 4291 "column": 3,
4261 "line": 144 4292 "line": 145
4262 }, 4293 },
4263 "file": "src/lib/Menu.js", 4294 "file": "src/lib/Menu.js",
4264 "id": "menu.view", 4295 "id": "menu.view",
4265 "start": { 4296 "start": {
4266 "column": 8, 4297 "column": 8,
4267 "line": 141 4298 "line": 142
4268 } 4299 }
4269 }, 4300 },
4270 { 4301 {
4271 "defaultMessage": "!!!Services", 4302 "defaultMessage": "!!!Services",
4272 "end": { 4303 "end": {
4273 "column": 3, 4304 "column": 3,
4274 "line": 148 4305 "line": 149
4275 }, 4306 },
4276 "file": "src/lib/Menu.js", 4307 "file": "src/lib/Menu.js",
4277 "id": "menu.services", 4308 "id": "menu.services",
4278 "start": { 4309 "start": {
4279 "column": 12, 4310 "column": 12,
4280 "line": 145 4311 "line": 146
4281 } 4312 }
4282 }, 4313 },
4283 { 4314 {
4284 "defaultMessage": "!!!Window", 4315 "defaultMessage": "!!!Window",
4285 "end": { 4316 "end": {
4286 "column": 3, 4317 "column": 3,
4287 "line": 152 4318 "line": 153
4288 }, 4319 },
4289 "file": "src/lib/Menu.js", 4320 "file": "src/lib/Menu.js",
4290 "id": "menu.window", 4321 "id": "menu.window",
4291 "start": { 4322 "start": {
4292 "column": 10, 4323 "column": 10,
4293 "line": 149 4324 "line": 150
4294 } 4325 }
4295 }, 4326 },
4296 { 4327 {
4297 "defaultMessage": "!!!Help", 4328 "defaultMessage": "!!!Help",
4298 "end": { 4329 "end": {
4299 "column": 3, 4330 "column": 3,
4300 "line": 156 4331 "line": 157
4301 }, 4332 },
4302 "file": "src/lib/Menu.js", 4333 "file": "src/lib/Menu.js",
4303 "id": "menu.help", 4334 "id": "menu.help",
4304 "start": { 4335 "start": {
4305 "column": 8, 4336 "column": 8,
4306 "line": 153 4337 "line": 154
4307 } 4338 }
4308 }, 4339 },
4309 { 4340 {
4310 "defaultMessage": "!!!About Franz", 4341 "defaultMessage": "!!!About Franz",
4311 "end": { 4342 "end": {
4312 "column": 3, 4343 "column": 3,
4313 "line": 160 4344 "line": 161
4314 }, 4345 },
4315 "file": "src/lib/Menu.js", 4346 "file": "src/lib/Menu.js",
4316 "id": "menu.app.about", 4347 "id": "menu.app.about",
4317 "start": { 4348 "start": {
4318 "column": 9, 4349 "column": 9,
4319 "line": 157 4350 "line": 158
4351 }
4352 },
4353 {
4354 "defaultMessage": "!!!What's new?",
4355 "end": {
4356 "column": 3,
4357 "line": 165
4358 },
4359 "file": "src/lib/Menu.js",
4360 "id": "menu.app.announcement",
4361 "start": {
4362 "column": 16,
4363 "line": 162
4320 } 4364 }
4321 }, 4365 },
4322 { 4366 {
4323 "defaultMessage": "!!!Settings", 4367 "defaultMessage": "!!!Settings",
4324 "end": { 4368 "end": {
4325 "column": 3, 4369 "column": 3,
4326 "line": 164 4370 "line": 169
4327 }, 4371 },
4328 "file": "src/lib/Menu.js", 4372 "file": "src/lib/Menu.js",
4329 "id": "menu.app.settings", 4373 "id": "menu.app.settings",
4330 "start": { 4374 "start": {
4331 "column": 12, 4375 "column": 12,
4332 "line": 161 4376 "line": 166
4333 } 4377 }
4334 }, 4378 },
4335 { 4379 {
4336 "defaultMessage": "!!!Hide", 4380 "defaultMessage": "!!!Hide",
4337 "end": { 4381 "end": {
4338 "column": 3, 4382 "column": 3,
4339 "line": 168 4383 "line": 173
4340 }, 4384 },
4341 "file": "src/lib/Menu.js", 4385 "file": "src/lib/Menu.js",
4342 "id": "menu.app.hide", 4386 "id": "menu.app.hide",
4343 "start": { 4387 "start": {
4344 "column": 8, 4388 "column": 8,
4345 "line": 165 4389 "line": 170
4346 } 4390 }
4347 }, 4391 },
4348 { 4392 {
4349 "defaultMessage": "!!!Hide Others", 4393 "defaultMessage": "!!!Hide Others",
4350 "end": { 4394 "end": {
4351 "column": 3, 4395 "column": 3,
4352 "line": 172 4396 "line": 177
4353 }, 4397 },
4354 "file": "src/lib/Menu.js", 4398 "file": "src/lib/Menu.js",
4355 "id": "menu.app.hideOthers", 4399 "id": "menu.app.hideOthers",
4356 "start": { 4400 "start": {
4357 "column": 14, 4401 "column": 14,
4358 "line": 169 4402 "line": 174
4359 } 4403 }
4360 }, 4404 },
4361 { 4405 {
4362 "defaultMessage": "!!!Unhide", 4406 "defaultMessage": "!!!Unhide",
4363 "end": { 4407 "end": {
4364 "column": 3, 4408 "column": 3,
4365 "line": 176 4409 "line": 181
4366 }, 4410 },
4367 "file": "src/lib/Menu.js", 4411 "file": "src/lib/Menu.js",
4368 "id": "menu.app.unhide", 4412 "id": "menu.app.unhide",
4369 "start": { 4413 "start": {
4370 "column": 10, 4414 "column": 10,
4371 "line": 173 4415 "line": 178
4372 } 4416 }
4373 }, 4417 },
4374 { 4418 {
4375 "defaultMessage": "!!!Quit", 4419 "defaultMessage": "!!!Quit",
4376 "end": { 4420 "end": {
4377 "column": 3, 4421 "column": 3,
4378 "line": 180 4422 "line": 185
4379 }, 4423 },
4380 "file": "src/lib/Menu.js", 4424 "file": "src/lib/Menu.js",
4381 "id": "menu.app.quit", 4425 "id": "menu.app.quit",
4382 "start": { 4426 "start": {
4383 "column": 8, 4427 "column": 8,
4384 "line": 177 4428 "line": 182
4385 } 4429 }
4386 }, 4430 },
4387 { 4431 {
4388 "defaultMessage": "!!!Add New Service...", 4432 "defaultMessage": "!!!Add New Service...",
4389 "end": { 4433 "end": {
4390 "column": 3, 4434 "column": 3,
4391 "line": 184 4435 "line": 189
4392 }, 4436 },
4393 "file": "src/lib/Menu.js", 4437 "file": "src/lib/Menu.js",
4394 "id": "menu.services.addNewService", 4438 "id": "menu.services.addNewService",
4395 "start": { 4439 "start": {
4396 "column": 17, 4440 "column": 17,
4397 "line": 181 4441 "line": 186
4398 } 4442 }
4399 }, 4443 },
4400 { 4444 {
4401 "defaultMessage": "!!!Add New Workspace...", 4445 "defaultMessage": "!!!Add New Workspace...",
4402 "end": { 4446 "end": {
4403 "column": 3, 4447 "column": 3,
4404 "line": 188 4448 "line": 193
4405 }, 4449 },
4406 "file": "src/lib/Menu.js", 4450 "file": "src/lib/Menu.js",
4407 "id": "menu.workspaces.addNewWorkspace", 4451 "id": "menu.workspaces.addNewWorkspace",
4408 "start": { 4452 "start": {
4409 "column": 19, 4453 "column": 19,
4410 "line": 185 4454 "line": 190
4411 } 4455 }
4412 }, 4456 },
4413 { 4457 {
4414 "defaultMessage": "!!!Open workspace drawer", 4458 "defaultMessage": "!!!Open workspace drawer",
4415 "end": { 4459 "end": {
4416 "column": 3, 4460 "column": 3,
4417 "line": 192 4461 "line": 197
4418 }, 4462 },
4419 "file": "src/lib/Menu.js", 4463 "file": "src/lib/Menu.js",
4420 "id": "menu.workspaces.openWorkspaceDrawer", 4464 "id": "menu.workspaces.openWorkspaceDrawer",
4421 "start": { 4465 "start": {
4422 "column": 23, 4466 "column": 23,
4423 "line": 189 4467 "line": 194
4424 } 4468 }
4425 }, 4469 },
4426 { 4470 {
4427 "defaultMessage": "!!!Close workspace drawer", 4471 "defaultMessage": "!!!Close workspace drawer",
4428 "end": { 4472 "end": {
4429 "column": 3, 4473 "column": 3,
4430 "line": 196 4474 "line": 201
4431 }, 4475 },
4432 "file": "src/lib/Menu.js", 4476 "file": "src/lib/Menu.js",
4433 "id": "menu.workspaces.closeWorkspaceDrawer", 4477 "id": "menu.workspaces.closeWorkspaceDrawer",
4434 "start": { 4478 "start": {
4435 "column": 24, 4479 "column": 24,
4436 "line": 193 4480 "line": 198
4437 } 4481 }
4438 }, 4482 },
4439 { 4483 {
4440 "defaultMessage": "!!!Activate next service...", 4484 "defaultMessage": "!!!Activate next service...",
4441 "end": { 4485 "end": {
4442 "column": 3, 4486 "column": 3,
4443 "line": 200 4487 "line": 205
4444 }, 4488 },
4445 "file": "src/lib/Menu.js", 4489 "file": "src/lib/Menu.js",
4446 "id": "menu.services.setNextServiceActive", 4490 "id": "menu.services.setNextServiceActive",
4447 "start": { 4491 "start": {
4448 "column": 23, 4492 "column": 23,
4449 "line": 197 4493 "line": 202
4450 } 4494 }
4451 }, 4495 },
4452 { 4496 {
4453 "defaultMessage": "!!!Activate previous service...", 4497 "defaultMessage": "!!!Activate previous service...",
4454 "end": { 4498 "end": {
4455 "column": 3, 4499 "column": 3,
4456 "line": 204 4500 "line": 209
4457 }, 4501 },
4458 "file": "src/lib/Menu.js", 4502 "file": "src/lib/Menu.js",
4459 "id": "menu.services.activatePreviousService", 4503 "id": "menu.services.activatePreviousService",
4460 "start": { 4504 "start": {
4461 "column": 27, 4505 "column": 27,
4462 "line": 201 4506 "line": 206
4463 } 4507 }
4464 }, 4508 },
4465 { 4509 {
4466 "defaultMessage": "!!!Disable notifications & audio", 4510 "defaultMessage": "!!!Disable notifications & audio",
4467 "end": { 4511 "end": {
4468 "column": 3, 4512 "column": 3,
4469 "line": 208 4513 "line": 213
4470 }, 4514 },
4471 "file": "src/lib/Menu.js", 4515 "file": "src/lib/Menu.js",
4472 "id": "sidebar.muteApp", 4516 "id": "sidebar.muteApp",
4473 "start": { 4517 "start": {
4474 "column": 11, 4518 "column": 11,
4475 "line": 205 4519 "line": 210
4476 } 4520 }
4477 }, 4521 },
4478 { 4522 {
4479 "defaultMessage": "!!!Enable notifications & audio", 4523 "defaultMessage": "!!!Enable notifications & audio",
4480 "end": { 4524 "end": {
4481 "column": 3, 4525 "column": 3,
4482 "line": 212 4526 "line": 217
4483 }, 4527 },
4484 "file": "src/lib/Menu.js", 4528 "file": "src/lib/Menu.js",
4485 "id": "sidebar.unmuteApp", 4529 "id": "sidebar.unmuteApp",
4486 "start": { 4530 "start": {
4487 "column": 13, 4531 "column": 13,
4488 "line": 209 4532 "line": 214
4489 } 4533 }
4490 }, 4534 },
4491 { 4535 {
4492 "defaultMessage": "!!!Workspaces", 4536 "defaultMessage": "!!!Workspaces",
4493 "end": { 4537 "end": {
4494 "column": 3, 4538 "column": 3,
4495 "line": 216 4539 "line": 221
4496 }, 4540 },
4497 "file": "src/lib/Menu.js", 4541 "file": "src/lib/Menu.js",
4498 "id": "menu.workspaces", 4542 "id": "menu.workspaces",
4499 "start": { 4543 "start": {
4500 "column": 14, 4544 "column": 14,
4501 "line": 213 4545 "line": 218
4502 } 4546 }
4503 }, 4547 },
4504 { 4548 {
4505 "defaultMessage": "!!!Default", 4549 "defaultMessage": "!!!Default",
4506 "end": { 4550 "end": {
4507 "column": 3, 4551 "column": 3,
4508 "line": 220 4552 "line": 225
4509 }, 4553 },
4510 "file": "src/lib/Menu.js", 4554 "file": "src/lib/Menu.js",
4511 "id": "menu.workspaces.defaultWorkspace", 4555 "id": "menu.workspaces.defaultWorkspace",
4512 "start": { 4556 "start": {
4513 "column": 20, 4557 "column": 20,
4514 "line": 217 4558 "line": 222
4515 } 4559 }
4516 } 4560 }
4517 ], 4561 ],
diff --git a/src/i18n/locales/el.json b/src/i18n/locales/el.json
index 626abfddd..b675d25c5 100644
--- a/src/i18n/locales/el.json
+++ b/src/i18n/locales/el.json
@@ -1,6 +1,7 @@
1{ 1{
2 "app.errorHandler.action" : "ΕπαναφόÏτωση", 2 "app.errorHandler.action" : "ΕπαναφόÏτωση",
3 "app.errorHandler.headline" : "Κάτι δεν λειτουÏγεί", 3 "app.errorHandler.headline" : "Κάτι δεν λειτουÏγεί",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}",
4 "feature.delayApp.action" : "Get a Franz Supporter License", 5 "feature.delayApp.action" : "Get a Franz Supporter License",
5 "feature.delayApp.headline" : "Please purchase a Franz Supporter License to skip waiting", 6 "feature.delayApp.headline" : "Please purchase a Franz Supporter License to skip waiting",
6 "feature.delayApp.text" : "Franz θα συνεχίσει σε {seconds} δευτεÏόλεπτα.", 7 "feature.delayApp.text" : "Franz θα συνεχίσει σε {seconds} δευτεÏόλεπτα.",
@@ -9,7 +10,7 @@
9 "feature.shareFranz.action.twitter" : "Share on Twitter", 10 "feature.shareFranz.action.twitter" : "Share on Twitter",
10 "feature.shareFranz.headline" : "Franz is better together!", 11 "feature.shareFranz.headline" : "Franz is better together!",
11 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", 12 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com",
12 "feature.shareFranz.shareText.twitter" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com \/cc @MeetFranz", 13 "feature.shareFranz.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.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.",
14 "global.api.unhealthy" : "Δεν είναι δυνατή η σÏνδεση με τις ζωντανές υπηÏεσίες του Franz", 15 "global.api.unhealthy" : "Δεν είναι δυνατή η σÏνδεση με τις ζωντανές υπηÏεσίες του Franz",
15 "global.notConnectedToTheInternet" : "Έχετε αποσυνδεθεί από το Διαδίκτυο", 16 "global.notConnectedToTheInternet" : "Έχετε αποσυνδεθεί από το Διαδίκτυο",
@@ -43,6 +44,7 @@
43 "login.submit.label" : "ΣÏνδεση", 44 "login.submit.label" : "ΣÏνδεση",
44 "login.tokenExpired" : "Η συνεδÏία σας έληξε, συνδεθείτε ξανά.", 45 "login.tokenExpired" : "Η συνεδÏία σας έληξε, συνδεθείτε ξανά.",
45 "menu.app.about" : "Σχετικά με το Franz", 46 "menu.app.about" : "Σχετικά με το Franz",
47 "menu.app.announcement" : "What's new?",
46 "menu.app.hide" : "ΑπόκÏυψη", 48 "menu.app.hide" : "ΑπόκÏυψη",
47 "menu.app.hideOthers" : "ΑπόκÏυψη των άλλων", 49 "menu.app.hideOthers" : "ΑπόκÏυψη των άλλων",
48 "menu.app.quit" : "Έξοδος", 50 "menu.app.quit" : "Έξοδος",
@@ -87,6 +89,11 @@
87 "menu.window" : "ΠαÏάθυÏο", 89 "menu.window" : "ΠαÏάθυÏο",
88 "menu.window.close" : "Κλείσιμο", 90 "menu.window.close" : "Κλείσιμο",
89 "menu.window.minimize" : "Ελαχιστοποίηση", 91 "menu.window.minimize" : "Ελαχιστοποίηση",
92 "menu.workspaces" : "Workspaces",
93 "menu.workspaces.addNewWorkspace" : "Add New Workspace...",
94 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer",
95 "menu.workspaces.defaultWorkspace" : "Όλες οι υπηÏεσίες",
96 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer",
90 "password.email.label" : "ΔιεÏθυνση ηλεκτÏÎ¿Î½Î¹ÎºÎ¿Ï Ï„Î±Ï‡Ï…Î´Ïομείου", 97 "password.email.label" : "ΔιεÏθυνση ηλεκτÏÎ¿Î½Î¹ÎºÎ¿Ï Ï„Î±Ï‡Ï…Î´Ïομείου",
91 "password.headline" : "ΕπαναφοÏά ÎºÏ‰Î´Î¹ÎºÎ¿Ï Ï€Ïόσβασης", 98 "password.headline" : "ΕπαναφοÏά ÎºÏ‰Î´Î¹ÎºÎ¿Ï Ï€Ïόσβασης",
92 "password.link.login" : "ΣÏνδεση στο λογαÏιασμό σας", 99 "password.link.login" : "ΣÏνδεση στο λογαÏιασμό σας",
@@ -110,6 +117,7 @@
110 "service.errorHandler.headline" : "Ω, όχι!", 117 "service.errorHandler.headline" : "Ω, όχι!",
111 "service.errorHandler.message" : "Σφάλμα", 118 "service.errorHandler.message" : "Σφάλμα",
112 "service.errorHandler.text" : "{name} has failed to load.", 119 "service.errorHandler.text" : "{name} has failed to load.",
120 "service.webviewLoader.loading" : "Loading",
113 "services.getStarted" : "Ξεκινήστε", 121 "services.getStarted" : "Ξεκινήστε",
114 "services.welcome" : "Καλώς οÏίσατε στον Franz", 122 "services.welcome" : "Καλώς οÏίσατε στον Franz",
115 "settings.account.account.editButton" : "ΕπεξεÏγασία λογαÏιασμοÏ", 123 "settings.account.account.editButton" : "ΕπεξεÏγασία λογαÏιασμοÏ",
@@ -156,6 +164,7 @@
156 "settings.app.headlineGeneral" : "Γενικά", 164 "settings.app.headlineGeneral" : "Γενικά",
157 "settings.app.headlineLanguage" : "Γλώσσα", 165 "settings.app.headlineLanguage" : "Γλώσσα",
158 "settings.app.headlineUpdates" : "ΕνημεÏώσεις", 166 "settings.app.headlineUpdates" : "ΕνημεÏώσεις",
167 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.",
159 "settings.app.restartRequired" : "Οι αλλαγές απαιτοÏν επανεκκίνηση", 168 "settings.app.restartRequired" : "Οι αλλαγές απαιτοÏν επανεκκίνηση",
160 "settings.app.subheadlineCache" : "Λανθάνουσα μνήμη", 169 "settings.app.subheadlineCache" : "Λανθάνουσα μνήμη",
161 "settings.app.translationHelp" : "Βοηθήστε μας να μεταφÏάσουμε το Franz στη δική σας γλώσσα.", 170 "settings.app.translationHelp" : "Βοηθήστε μας να μεταφÏάσουμε το Franz στη δική σας γλώσσα.",
@@ -169,6 +178,7 @@
169 "settings.navigation.logout" : "ΑποσÏνδεση", 178 "settings.navigation.logout" : "ΑποσÏνδεση",
170 "settings.navigation.settings" : "Ρυθμίσεις", 179 "settings.navigation.settings" : "Ρυθμίσεις",
171 "settings.navigation.yourServices" : "Οι υπηÏεσίες σας", 180 "settings.navigation.yourServices" : "Οι υπηÏεσίες σας",
181 "settings.navigation.yourWorkspaces" : "Your workspaces",
172 "settings.recipes.all" : "Όλες οι υπηÏεσίες", 182 "settings.recipes.all" : "Όλες οι υπηÏεσίες",
173 "settings.recipes.dev" : "Ανάπτυξη", 183 "settings.recipes.dev" : "Ανάπτυξη",
174 "settings.recipes.headline" : "Διαθέσιμες υπηÏεσίες", 184 "settings.recipes.headline" : "Διαθέσιμες υπηÏεσίες",
@@ -235,8 +245,25 @@
235 "settings.user.form.firstname" : "Όνομα", 245 "settings.user.form.firstname" : "Όνομα",
236 "settings.user.form.lastname" : "Επίθετο", 246 "settings.user.form.lastname" : "Επίθετο",
237 "settings.user.form.newPassword" : "Îέος κωδικός Ï€Ïόσβασης", 247 "settings.user.form.newPassword" : "Îέος κωδικός Ï€Ïόσβασης",
248 "settings.workspace.add.form.name" : "Όνομα",
249 "settings.workspace.add.form.submitButton" : "Create workspace",
250 "settings.workspace.form.buttonDelete" : "Delete workspace",
251 "settings.workspace.form.buttonSave" : "Save workspace",
252 "settings.workspace.form.name" : "Όνομα",
253 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace",
254 "settings.workspace.form.yourWorkspaces" : "Your workspaces",
255 "settings.workspaces.deletedInfo" : "Workspace has been deleted",
256 "settings.workspaces.headline" : "Your workspaces",
257 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.",
258 "settings.workspaces.tryReloadWorkspaces" : "Δοκιμάστε ξανά",
259 "settings.workspaces.updatedInfo" : "Οι αλλαγές σας έχουν αποθηκευτεί",
260 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces",
261 "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.",
262 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces",
238 "sidebar.addNewService" : "ΠÏοσθήκη νέας υπηÏεσίας", 263 "sidebar.addNewService" : "ΠÏοσθήκη νέας υπηÏεσίας",
264 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer",
239 "sidebar.muteApp" : "ΑπενεÏγοποίηση ειδοποιήσεων & ήχου", 265 "sidebar.muteApp" : "ΑπενεÏγοποίηση ειδοποιήσεων & ήχου",
266 "sidebar.openWorkspaceDrawer" : "Open workspace drawer",
240 "sidebar.settings" : "Ρυθμίσεις", 267 "sidebar.settings" : "Ρυθμίσεις",
241 "sidebar.unmuteApp" : "ΕνεÏγοποίηση ειδοποιήσεων & ήχου", 268 "sidebar.unmuteApp" : "ΕνεÏγοποίηση ειδοποιήσεων & ήχου",
242 "signup.company.label" : "ΕταιÏεία", 269 "signup.company.label" : "ΕταιÏεία",
@@ -281,5 +308,16 @@
281 "validation.required" : "{field} είναι υποχÏεωτικό", 308 "validation.required" : "{field} είναι υποχÏεωτικό",
282 "validation.url" : "{field} δεν είναι έγκυÏος σÏνδεσμος URL", 309 "validation.url" : "{field} δεν είναι έγκυÏος σÏνδεσμος URL",
283 "welcome.loginButton" : "ΣÏνδεση στο λογαÏιασμό σας", 310 "welcome.loginButton" : "ΣÏνδεση στο λογαÏιασμό σας",
284 "welcome.signupButton" : "ΔημιουÏγία δωÏεάν λογαÏιασμοÏ" 311 "welcome.signupButton" : "ΔημιουÏγία δωÏεάν λογαÏιασμοÏ",
312 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace",
313 "workspaceDrawer.allServices" : "Όλες οι υπηÏεσίες",
314 "workspaceDrawer.headline" : "Workspaces",
315 "workspaceDrawer.item.contextMenuEdit" : "edit",
316 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet",
317 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace",
318 "workspaceDrawer.proFeatureBadge" : "Premium feature",
319 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account",
320 "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>",
321 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings",
322 "workspaces.switchingIndicator.switchingTo" : "Switching to"
285} 323}
diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json
index bcdfb8220..e2eb32450 100644
--- a/src/i18n/locales/en-US.json
+++ b/src/i18n/locales/en-US.json
@@ -1,6 +1,7 @@
1{ 1{
2 "app.errorHandler.action": "Reload", 2 "app.errorHandler.action": "Reload",
3 "app.errorHandler.headline": "Something went wrong", 3 "app.errorHandler.headline": "Something went wrong",
4 "feature.announcements.changelog.headline": "Changes in Franz {version}",
4 "feature.delayApp.action": "Get a Franz Supporter License", 5 "feature.delayApp.action": "Get a Franz Supporter License",
5 "feature.delayApp.headline": "Please purchase a Franz Supporter License to skip waiting", 6 "feature.delayApp.headline": "Please purchase a Franz Supporter License to skip waiting",
6 "feature.delayApp.text": "Franz will continue in {seconds} seconds.", 7 "feature.delayApp.text": "Franz will continue in {seconds} seconds.",
@@ -43,6 +44,7 @@
43 "login.submit.label": "Sign in", 44 "login.submit.label": "Sign in",
44 "login.tokenExpired": "Your session expired, please login again.", 45 "login.tokenExpired": "Your session expired, please login again.",
45 "menu.app.about": "About Franz", 46 "menu.app.about": "About Franz",
47 "menu.app.announcement": "What's new?",
46 "menu.app.hide": "Hide", 48 "menu.app.hide": "Hide",
47 "menu.app.hideOthers": "Hide Others", 49 "menu.app.hideOthers": "Hide Others",
48 "menu.app.quit": "Quit", 50 "menu.app.quit": "Quit",
@@ -162,6 +164,7 @@
162 "settings.app.headlineGeneral": "General", 164 "settings.app.headlineGeneral": "General",
163 "settings.app.headlineLanguage": "Language", 165 "settings.app.headlineLanguage": "Language",
164 "settings.app.headlineUpdates": "Updates", 166 "settings.app.headlineUpdates": "Updates",
167 "settings.app.languageDisclaimer": "Official translations are English & German. All other languages are community based translations.",
165 "settings.app.restartRequired": "Changes require restart", 168 "settings.app.restartRequired": "Changes require restart",
166 "settings.app.subheadlineCache": "Cache", 169 "settings.app.subheadlineCache": "Cache",
167 "settings.app.translationHelp": "Help us to translate Franz into your language.", 170 "settings.app.translationHelp": "Help us to translate Franz into your language.",
diff --git a/src/i18n/locales/es.json b/src/i18n/locales/es.json
index 5c26b456c..5d542569b 100644
--- a/src/i18n/locales/es.json
+++ b/src/i18n/locales/es.json
@@ -1,21 +1,22 @@
1{ 1{
2 "app.errorHandler.action" : "Recargar", 2 "app.errorHandler.action" : "Recargar",
3 "app.errorHandler.headline" : "Ha surgido un error", 3 "app.errorHandler.headline" : "Ha surgido un error",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}",
4 "feature.delayApp.action" : "Consigue una Licencia de Soporte de Franz", 5 "feature.delayApp.action" : "Consigue una Licencia de Soporte de Franz",
5 "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 saltar la espera",
6 "feature.delayApp.text" : "Franz continuará en {seconds} segundos.", 7 "feature.delayApp.text" : "Franz continuará en {seconds} segundos.",
7 "feature.shareFranz.action.email" : "Send as email", 8 "feature.shareFranz.action.email" : "Envía como correo",
8 "feature.shareFranz.action.facebook" : "Compartir en Facebook", 9 "feature.shareFranz.action.facebook" : "Compartir en Facebook",
9 "feature.shareFranz.action.twitter" : "Compartir en Twitter", 10 "feature.shareFranz.action.twitter" : "Compartir en Twitter",
10 "feature.shareFranz.headline" : "Franz is better together!", 11 "feature.shareFranz.headline" : "¡Juntos mejoramos Franz!",
11 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", 12 "feature.shareFranz.shareText.email" : "¡He añadido {count} servicios a Franz! Obtén la aplicación gratuita para WhatsApp, Messenger, Slack, Skype en www.meetfranz.com",
12 "feature.shareFranz.shareText.twitter" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com \/cc @MeetFranz", 13 "feature.shareFranz.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.text" : "Tell your friends and colleagues how awesome Franz is and help us to spread the word.", 14 "feature.shareFranz.text" : "Dile a tus amigos y colegas lo asombroso que es Franz y ayúdanos a correr la voz.",
14 "global.api.unhealthy" : "No es posible conectarse a los servicios en línea de Franz.", 15 "global.api.unhealthy" : "No es posible conectarse a los servicios en línea de Franz.",
15 "global.notConnectedToTheInternet" : "No estás conectado a Internet", 16 "global.notConnectedToTheInternet" : "No estás conectado a Internet",
16 "global.spellchecker.useDefault" : "Utilizar estándar del sistema ({default})", 17 "global.spellchecker.useDefault" : "Utilizar estándar del sistema ({default})",
17 "global.spellchecking.autodetect" : "Detect language automatically", 18 "global.spellchecking.autodetect" : "Detectar el idioma automáticamente",
18 "global.spellchecking.autodetect.short" : "Automatic", 19 "global.spellchecking.autodetect.short" : "Automático",
19 "global.spellchecking.language" : "Corrector de ortografía", 20 "global.spellchecking.language" : "Corrector de ortografía",
20 "import.headline" : "Importa tus servicios de Franz 4", 21 "import.headline" : "Importa tus servicios de Franz 4",
21 "import.notSupportedHeadline" : "Servicios no admitidos aún en Franz 5", 22 "import.notSupportedHeadline" : "Servicios no admitidos aún en Franz 5",
@@ -43,6 +44,7 @@
43 "login.submit.label" : "Iniciar sesión", 44 "login.submit.label" : "Iniciar sesión",
44 "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.",
45 "menu.app.about" : "Sobre Franz", 46 "menu.app.about" : "Sobre Franz",
47 "menu.app.announcement" : "What's new?",
46 "menu.app.hide" : "Ocultar", 48 "menu.app.hide" : "Ocultar",
47 "menu.app.hideOthers" : "Ocultar otros", 49 "menu.app.hideOthers" : "Ocultar otros",
48 "menu.app.quit" : "Salir", 50 "menu.app.quit" : "Salir",
@@ -70,9 +72,9 @@
70 "menu.help.support" : "Ayuda técnica", 72 "menu.help.support" : "Ayuda técnica",
71 "menu.help.tos" : "Términos del Servicio", 73 "menu.help.tos" : "Términos del Servicio",
72 "menu.services" : "Servicios", 74 "menu.services" : "Servicios",
73 "menu.services.activatePreviousService" : "Activate previous service", 75 "menu.services.activatePreviousService" : "Activa el servicio previo",
74 "menu.services.addNewService" : "Añadir Nuevo Servicio...", 76 "menu.services.addNewService" : "Añadir Nuevo Servicio...",
75 "menu.services.setNextServiceActive" : "Activate next service", 77 "menu.services.setNextServiceActive" : "Activa el siguiente servicio",
76 "menu.view" : "Mostrar", 78 "menu.view" : "Mostrar",
77 "menu.view.enterFullScreen" : "Pasar a pantalla completa", 79 "menu.view.enterFullScreen" : "Pasar a pantalla completa",
78 "menu.view.exitFullScreen" : "Salir de Pantalla Completa", 80 "menu.view.exitFullScreen" : "Salir de Pantalla Completa",
@@ -87,6 +89,11 @@
87 "menu.window" : "Ventana", 89 "menu.window" : "Ventana",
88 "menu.window.close" : "Cerrar", 90 "menu.window.close" : "Cerrar",
89 "menu.window.minimize" : "Minimizar", 91 "menu.window.minimize" : "Minimizar",
92 "menu.workspaces" : "Workspaces",
93 "menu.workspaces.addNewWorkspace" : "Add New Workspace...",
94 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer",
95 "menu.workspaces.defaultWorkspace" : "Todos los servicios",
96 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer",
90 "password.email.label" : "Dirección de correo electrónico", 97 "password.email.label" : "Dirección de correo electrónico",
91 "password.headline" : "Restablecer contraseña", 98 "password.headline" : "Restablecer contraseña",
92 "password.link.login" : "Inicia sesión en tu cuenta", 99 "password.link.login" : "Inicia sesión en tu cuenta",
@@ -110,6 +117,7 @@
110 "service.errorHandler.headline" : "¡Oh, no!", 117 "service.errorHandler.headline" : "¡Oh, no!",
111 "service.errorHandler.message" : "Error", 118 "service.errorHandler.message" : "Error",
112 "service.errorHandler.text" : "{name} ha fallado la carga", 119 "service.errorHandler.text" : "{name} ha fallado la carga",
120 "service.webviewLoader.loading" : "Loading",
113 "services.getStarted" : "Primeros pasos", 121 "services.getStarted" : "Primeros pasos",
114 "services.welcome" : "Bienvenido a Franz", 122 "services.welcome" : "Bienvenido a Franz",
115 "settings.account.account.editButton" : "Editar cuenta", 123 "settings.account.account.editButton" : "Editar cuenta",
@@ -131,7 +139,7 @@
131 "settings.account.manageSubscription.label" : "Administra tu suscripción", 139 "settings.account.manageSubscription.label" : "Administra tu suscripción",
132 "settings.account.successInfo" : "Tus cambios han sido guardados", 140 "settings.account.successInfo" : "Tus cambios han sido guardados",
133 "settings.account.tryReloadServices" : "Intentar de nuevo", 141 "settings.account.tryReloadServices" : "Intentar de nuevo",
134 "settings.account.tryReloadUserInfoRequest" : "Intentar de nuevo", 142 "settings.account.tryReloadUserInfoRequest" : "Intenta de nuevo",
135 "settings.account.userInfoRequestFailed" : "No se pudo cargar la información de usuario", 143 "settings.account.userInfoRequestFailed" : "No se pudo cargar la información de usuario",
136 "settings.app.buttonClearAllCache" : "Limpiar caché", 144 "settings.app.buttonClearAllCache" : "Limpiar caché",
137 "settings.app.buttonInstallUpdate" : "Reiniciar e instalar actualizaciones", 145 "settings.app.buttonInstallUpdate" : "Reiniciar e instalar actualizaciones",
@@ -156,6 +164,7 @@
156 "settings.app.headlineGeneral" : "General", 164 "settings.app.headlineGeneral" : "General",
157 "settings.app.headlineLanguage" : "Idioma", 165 "settings.app.headlineLanguage" : "Idioma",
158 "settings.app.headlineUpdates" : "Actualizaciones", 166 "settings.app.headlineUpdates" : "Actualizaciones",
167 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.",
159 "settings.app.restartRequired" : "Los cambios requieren reiniciar", 168 "settings.app.restartRequired" : "Los cambios requieren reiniciar",
160 "settings.app.subheadlineCache" : "Caché", 169 "settings.app.subheadlineCache" : "Caché",
161 "settings.app.translationHelp" : "Ayúdanos a traducir Franz a tu idioma.", 170 "settings.app.translationHelp" : "Ayúdanos a traducir Franz a tu idioma.",
@@ -169,6 +178,7 @@
169 "settings.navigation.logout" : "Cerrar sesión", 178 "settings.navigation.logout" : "Cerrar sesión",
170 "settings.navigation.settings" : "Configuración", 179 "settings.navigation.settings" : "Configuración",
171 "settings.navigation.yourServices" : "Tus servicios", 180 "settings.navigation.yourServices" : "Tus servicios",
181 "settings.navigation.yourWorkspaces" : "Your workspaces",
172 "settings.recipes.all" : "Todos los servicios", 182 "settings.recipes.all" : "Todos los servicios",
173 "settings.recipes.dev" : "Desarrollo", 183 "settings.recipes.dev" : "Desarrollo",
174 "settings.recipes.headline" : "Servicios disponibles", 184 "settings.recipes.headline" : "Servicios disponibles",
@@ -221,7 +231,7 @@
221 "settings.services.discoverServices" : "Descubrir servicios", 231 "settings.services.discoverServices" : "Descubrir servicios",
222 "settings.services.headline" : "Tus servicios", 232 "settings.services.headline" : "Tus servicios",
223 "settings.services.noServicesAdded" : "No has añadido ningún servicio aún.", 233 "settings.services.noServicesAdded" : "No has añadido ningún servicio aún.",
224 "settings.services.servicesRequestFailed" : "Could not load your services", 234 "settings.services.servicesRequestFailed" : "No pudo cargar tus servicios",
225 "settings.services.tooltip.isDisabled" : "El servicio está desactivado", 235 "settings.services.tooltip.isDisabled" : "El servicio está desactivado",
226 "settings.services.tooltip.isMuted" : "Todos los sonidos están silenciados", 236 "settings.services.tooltip.isMuted" : "Todos los sonidos están silenciados",
227 "settings.services.tooltip.notificationsDisabled" : "Las notificaciones están desactivadas", 237 "settings.services.tooltip.notificationsDisabled" : "Las notificaciones están desactivadas",
@@ -235,8 +245,25 @@
235 "settings.user.form.firstname" : "Nombre", 245 "settings.user.form.firstname" : "Nombre",
236 "settings.user.form.lastname" : "Apellido", 246 "settings.user.form.lastname" : "Apellido",
237 "settings.user.form.newPassword" : "Nueva contraseña", 247 "settings.user.form.newPassword" : "Nueva contraseña",
248 "settings.workspace.add.form.name" : "Nombre",
249 "settings.workspace.add.form.submitButton" : "Create workspace",
250 "settings.workspace.form.buttonDelete" : "Delete workspace",
251 "settings.workspace.form.buttonSave" : "Save workspace",
252 "settings.workspace.form.name" : "Nombre",
253 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace",
254 "settings.workspace.form.yourWorkspaces" : "Your workspaces",
255 "settings.workspaces.deletedInfo" : "Workspace has been deleted",
256 "settings.workspaces.headline" : "Your workspaces",
257 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.",
258 "settings.workspaces.tryReloadWorkspaces" : "Try again",
259 "settings.workspaces.updatedInfo" : "Tus cambios han sido guardados",
260 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces",
261 "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.",
262 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces",
238 "sidebar.addNewService" : "Añadir nuevo servicio", 263 "sidebar.addNewService" : "Añadir nuevo servicio",
264 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer",
239 "sidebar.muteApp" : "Desactivar notificaciones y sonido", 265 "sidebar.muteApp" : "Desactivar notificaciones y sonido",
266 "sidebar.openWorkspaceDrawer" : "Open workspace drawer",
240 "sidebar.settings" : "Configuración", 267 "sidebar.settings" : "Configuración",
241 "sidebar.unmuteApp" : "Activar notificaciones y sonido", 268 "sidebar.unmuteApp" : "Activar notificaciones y sonido",
242 "signup.company.label" : "Compañía", 269 "signup.company.label" : "Compañía",
@@ -277,9 +304,20 @@
277 "tabs.item.reload" : "Recargar", 304 "tabs.item.reload" : "Recargar",
278 "validation.email" : "{field} no es válido", 305 "validation.email" : "{field} no es válido",
279 "validation.minLength" : "{field} debería tener al menos {length} caracteres", 306 "validation.minLength" : "{field} debería tener al menos {length} caracteres",
280 "validation.oneRequired" : "At least one is required", 307 "validation.oneRequired" : "Al menos uno es requerido",
281 "validation.required" : "{field} es obligatorio", 308 "validation.required" : "{field} es obligatorio",
282 "validation.url" : "{field} no es una URL válida", 309 "validation.url" : "{field} no es una URL válida",
283 "welcome.loginButton" : "Accede a tu cuenta", 310 "welcome.loginButton" : "Accede a tu cuenta",
284 "welcome.signupButton" : "Crear una cuenta gratuita" 311 "welcome.signupButton" : "Crear una cuenta gratuita",
312 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace",
313 "workspaceDrawer.allServices" : "Todos los servicios",
314 "workspaceDrawer.headline" : "Workspaces",
315 "workspaceDrawer.item.contextMenuEdit" : "edit",
316 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet",
317 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace",
318 "workspaceDrawer.proFeatureBadge" : "Premium feature",
319 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account",
320 "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>",
321 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings",
322 "workspaces.switchingIndicator.switchingTo" : "Switching to"
285} 323}
diff --git a/src/i18n/locales/fr.json b/src/i18n/locales/fr.json
index 6f9d81713..8e5ee55a0 100644
--- a/src/i18n/locales/fr.json
+++ b/src/i18n/locales/fr.json
@@ -1,6 +1,7 @@
1{ 1{
2 "app.errorHandler.action" : "Recharger", 2 "app.errorHandler.action" : "Recharger",
3 "app.errorHandler.headline" : "Une erreur s'est produite", 3 "app.errorHandler.headline" : "Une erreur s'est produite",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}",
4 "feature.delayApp.action" : "Obtenez une licence de Supporter Franz", 5 "feature.delayApp.action" : "Obtenez une licence de Supporter Franz",
5 "feature.delayApp.headline" : "Veuillez acheter une licence de Supporter Franz pour sauter le temps d'attente", 6 "feature.delayApp.headline" : "Veuillez acheter une licence de Supporter Franz pour sauter le temps d'attente",
6 "feature.delayApp.text" : "Franz reprendra dans {seconds} secondes.", 7 "feature.delayApp.text" : "Franz reprendra dans {seconds} secondes.",
@@ -9,7 +10,7 @@
9 "feature.shareFranz.action.twitter" : "Partager sur Twitter", 10 "feature.shareFranz.action.twitter" : "Partager sur Twitter",
10 "feature.shareFranz.headline" : "Franz est meilleur quand on est tous ensemble !", 11 "feature.shareFranz.headline" : "Franz est meilleur quand on est tous ensemble !",
11 "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",
12 "feature.shareFranz.shareText.twitter" : "J'ai ajouté {count} services à Franz ! Télécharger l'appli gratuite pour WhatsApp, Messenger, Skype et cie sur www.meetfranz.com \/cc @NeetFranz", 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.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 combien Franz est super et aidez nous à faire passer le mot.",
14 "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",
15 "global.notConnectedToTheInternet" : "Vous n'êtes pas connecté à Internet.", 16 "global.notConnectedToTheInternet" : "Vous n'êtes pas connecté à Internet.",
@@ -43,6 +44,7 @@
43 "login.submit.label" : "Se connecter", 44 "login.submit.label" : "Se connecter",
44 "login.tokenExpired" : "Votre session a expiré, veuillez vous reconnecter.", 45 "login.tokenExpired" : "Votre session a expiré, veuillez vous reconnecter.",
45 "menu.app.about" : "À propos de Franz", 46 "menu.app.about" : "À propos de Franz",
47 "menu.app.announcement" : "What's new?",
46 "menu.app.hide" : "Masquer", 48 "menu.app.hide" : "Masquer",
47 "menu.app.hideOthers" : "Masquer les autres", 49 "menu.app.hideOthers" : "Masquer les autres",
48 "menu.app.quit" : "Quitter", 50 "menu.app.quit" : "Quitter",
@@ -70,9 +72,9 @@
70 "menu.help.support" : "Support", 72 "menu.help.support" : "Support",
71 "menu.help.tos" : "Conditions d'utilisation", 73 "menu.help.tos" : "Conditions d'utilisation",
72 "menu.services" : "Services", 74 "menu.services" : "Services",
73 "menu.services.activatePreviousService" : "Activate previous service", 75 "menu.services.activatePreviousService" : "Activer le service précédent",
74 "menu.services.addNewService" : "Ajouter un nouveau service...", 76 "menu.services.addNewService" : "Ajouter un nouveau service...",
75 "menu.services.setNextServiceActive" : "Activate next service", 77 "menu.services.setNextServiceActive" : "Activer le service suivant",
76 "menu.view" : "Aperçu", 78 "menu.view" : "Aperçu",
77 "menu.view.enterFullScreen" : "Entrer en mode plein écran", 79 "menu.view.enterFullScreen" : "Entrer en mode plein écran",
78 "menu.view.exitFullScreen" : "Sortir du mode plein écran", 80 "menu.view.exitFullScreen" : "Sortir du mode plein écran",
@@ -87,13 +89,18 @@
87 "menu.window" : "Fenêtre", 89 "menu.window" : "Fenêtre",
88 "menu.window.close" : "Fermer", 90 "menu.window.close" : "Fermer",
89 "menu.window.minimize" : "Réduire", 91 "menu.window.minimize" : "Réduire",
90 "password.email.label" : "Adresse e-mail", 92 "menu.workspaces" : "Workspaces",
93 "menu.workspaces.addNewWorkspace" : "Add New Workspace...",
94 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer",
95 "menu.workspaces.defaultWorkspace" : "Tous les services",
96 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer",
97 "password.email.label" : "Adresse email",
91 "password.headline" : "Réinitialiser le mot de passe", 98 "password.headline" : "Réinitialiser le mot de passe",
92 "password.link.login" : "Connectez-vous à votre compte", 99 "password.link.login" : "Connectez-vous à votre compte",
93 "password.link.signup" : "Créer un compte gratuit.", 100 "password.link.signup" : "Créer un compte gratuit.",
94 "password.noUser" : "Aucun utilisateur n'a été trouvé avec cette adresse e-mail", 101 "password.noUser" : "Aucun utilisateur n'a été trouvé avec cette adresse email",
95 "password.submit.label" : "Soumettre", 102 "password.submit.label" : "Soumettre",
96 "password.successInfo" : "Merci de consulter vos e-mails", 103 "password.successInfo" : "Merci de consulter vos emails",
97 "premiumFeature.button.upgradeAccount" : "Mettre à niveau mon compte", 104 "premiumFeature.button.upgradeAccount" : "Mettre à niveau mon compte",
98 "pricing.headline" : "Soutenez Franz", 105 "pricing.headline" : "Soutenez Franz",
99 "pricing.link.skipPayment" : "Je ne veux pas soutenir le développement de Franz.", 106 "pricing.link.skipPayment" : "Je ne veux pas soutenir le développement de Franz.",
@@ -110,6 +117,7 @@
110 "service.errorHandler.headline" : "Oh non !", 117 "service.errorHandler.headline" : "Oh non !",
111 "service.errorHandler.message" : "Erreur", 118 "service.errorHandler.message" : "Erreur",
112 "service.errorHandler.text" : "Le chargement de {name} a échoué.", 119 "service.errorHandler.text" : "Le chargement de {name} a échoué.",
120 "service.webviewLoader.loading" : "Loading",
113 "services.getStarted" : "Commencer", 121 "services.getStarted" : "Commencer",
114 "services.welcome" : "Bienvenue dans Franz", 122 "services.welcome" : "Bienvenue dans Franz",
115 "settings.account.account.editButton" : "Modifier le compte", 123 "settings.account.account.editButton" : "Modifier le compte",
@@ -121,7 +129,7 @@
121 "settings.account.deleteInfo" : "Si vous n'avez plus besoin de votre compte Franz, vous pouvez le supprimer avec toutes ses données associées.", 129 "settings.account.deleteInfo" : "Si vous n'avez plus besoin de votre compte Franz, vous pouvez le supprimer avec toutes ses données associées.",
122 "settings.account.headline" : "Compte", 130 "settings.account.headline" : "Compte",
123 "settings.account.headlineAccount" : "Informations sur le compte", 131 "settings.account.headlineAccount" : "Informations sur le compte",
124 "settings.account.headlineDangerZone" : "Zone Dangereuse !", 132 "settings.account.headlineDangerZone" : "Zone dangereuse !",
125 "settings.account.headlineInvoices" : "Factures", 133 "settings.account.headlineInvoices" : "Factures",
126 "settings.account.headlinePassword" : "Changer le mot de passe", 134 "settings.account.headlinePassword" : "Changer le mot de passe",
127 "settings.account.headlineProfile" : "Mettre à jour le profil", 135 "settings.account.headlineProfile" : "Mettre à jour le profil",
@@ -156,6 +164,7 @@
156 "settings.app.headlineGeneral" : "Général", 164 "settings.app.headlineGeneral" : "Général",
157 "settings.app.headlineLanguage" : "Langue", 165 "settings.app.headlineLanguage" : "Langue",
158 "settings.app.headlineUpdates" : "Mises à jour", 166 "settings.app.headlineUpdates" : "Mises à jour",
167 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.",
159 "settings.app.restartRequired" : "Les modifications nécessitent un redémarrage", 168 "settings.app.restartRequired" : "Les modifications nécessitent un redémarrage",
160 "settings.app.subheadlineCache" : "Cache", 169 "settings.app.subheadlineCache" : "Cache",
161 "settings.app.translationHelp" : "Aidez-nous à traduire Franz dans votre langue.", 170 "settings.app.translationHelp" : "Aidez-nous à traduire Franz dans votre langue.",
@@ -169,6 +178,7 @@
169 "settings.navigation.logout" : "Se déconnecter", 178 "settings.navigation.logout" : "Se déconnecter",
170 "settings.navigation.settings" : "Paramètres", 179 "settings.navigation.settings" : "Paramètres",
171 "settings.navigation.yourServices" : "Vos services", 180 "settings.navigation.yourServices" : "Vos services",
181 "settings.navigation.yourWorkspaces" : "Your workspaces",
172 "settings.recipes.all" : "Tous les services", 182 "settings.recipes.all" : "Tous les services",
173 "settings.recipes.dev" : "Développement", 183 "settings.recipes.dev" : "Développement",
174 "settings.recipes.headline" : "Services disponibles", 184 "settings.recipes.headline" : "Services disponibles",
@@ -203,7 +213,7 @@
203 "settings.service.form.indirectMessages" : "Afficher le badge des messages pour tous les nouveaux messages", 213 "settings.service.form.indirectMessages" : "Afficher le badge des messages pour tous les nouveaux messages",
204 "settings.service.form.isMutedInfo" : "Lorsque désactivé, tous les sons de notifications ainsi que l'audio sont coupés", 214 "settings.service.form.isMutedInfo" : "Lorsque désactivé, tous les sons de notifications ainsi que l'audio sont coupés",
205 "settings.service.form.name" : "Nom", 215 "settings.service.form.name" : "Nom",
206 "settings.service.form.proxy.headline" : "Paramètres Proxy HTTP\/HTTPS", 216 "settings.service.form.proxy.headline" : "Paramètres proxy HTTP\/HTTPS",
207 "settings.service.form.proxy.host" : "Hôte\/IP du proxy", 217 "settings.service.form.proxy.host" : "Hôte\/IP du proxy",
208 "settings.service.form.proxy.info" : "Les paramètres de proxy ne seront pas synchronisés avec les serveurs de Franz.", 218 "settings.service.form.proxy.info" : "Les paramètres de proxy ne seront pas synchronisés avec les serveurs de Franz.",
209 "settings.service.form.proxy.isEnabled" : "Utiliser un proxy", 219 "settings.service.form.proxy.isEnabled" : "Utiliser un proxy",
@@ -213,7 +223,7 @@
213 "settings.service.form.proxy.user" : "Utilisateur (facultatif)", 223 "settings.service.form.proxy.user" : "Utilisateur (facultatif)",
214 "settings.service.form.saveButton" : "Enregistrer le service", 224 "settings.service.form.saveButton" : "Enregistrer le service",
215 "settings.service.form.tabHosted" : "Hébergé", 225 "settings.service.form.tabHosted" : "Hébergé",
216 "settings.service.form.tabOnPremise" : "Auto-hébergé â­ï¸", 226 "settings.service.form.tabOnPremise" : "hébergé par soi-même â­ï¸",
217 "settings.service.form.team" : "Équipe", 227 "settings.service.form.team" : "Équipe",
218 "settings.service.form.useHostedService" : "Utilisez le service hébergé {name}.", 228 "settings.service.form.useHostedService" : "Utilisez le service hébergé {name}.",
219 "settings.service.form.yourServices" : "Vos services", 229 "settings.service.form.yourServices" : "Vos services",
@@ -221,7 +231,7 @@
221 "settings.services.discoverServices" : "Découvrir les services", 231 "settings.services.discoverServices" : "Découvrir les services",
222 "settings.services.headline" : "Vos services", 232 "settings.services.headline" : "Vos services",
223 "settings.services.noServicesAdded" : "Vous n'avez pas encore ajouté de services.", 233 "settings.services.noServicesAdded" : "Vous n'avez pas encore ajouté de services.",
224 "settings.services.servicesRequestFailed" : "Could not load your services", 234 "settings.services.servicesRequestFailed" : "Impossible de charger vos services",
225 "settings.services.tooltip.isDisabled" : "Ce service est désactivé", 235 "settings.services.tooltip.isDisabled" : "Ce service est désactivé",
226 "settings.services.tooltip.isMuted" : "Tous les sons sont coupés", 236 "settings.services.tooltip.isMuted" : "Tous les sons sont coupés",
227 "settings.services.tooltip.notificationsDisabled" : "Notifications désactivées.", 237 "settings.services.tooltip.notificationsDisabled" : "Notifications désactivées.",
@@ -231,17 +241,34 @@
231 "settings.user.form.accountType.label" : "Type de compte", 241 "settings.user.form.accountType.label" : "Type de compte",
232 "settings.user.form.accountType.non-profit" : "Non-lucratif", 242 "settings.user.form.accountType.non-profit" : "Non-lucratif",
233 "settings.user.form.currentPassword" : "Mot de passe actuel", 243 "settings.user.form.currentPassword" : "Mot de passe actuel",
234 "settings.user.form.email" : "E-mail", 244 "settings.user.form.email" : "Email",
235 "settings.user.form.firstname" : "Prénom", 245 "settings.user.form.firstname" : "Prénom",
236 "settings.user.form.lastname" : "Nom", 246 "settings.user.form.lastname" : "Nom",
237 "settings.user.form.newPassword" : "Nouveau mot de passe", 247 "settings.user.form.newPassword" : "Nouveau mot de passe",
248 "settings.workspace.add.form.name" : "Nom",
249 "settings.workspace.add.form.submitButton" : "Create workspace",
250 "settings.workspace.form.buttonDelete" : "Delete workspace",
251 "settings.workspace.form.buttonSave" : "Save workspace",
252 "settings.workspace.form.name" : "Nom",
253 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace",
254 "settings.workspace.form.yourWorkspaces" : "Your workspaces",
255 "settings.workspaces.deletedInfo" : "Workspace has been deleted",
256 "settings.workspaces.headline" : "Your workspaces",
257 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.",
258 "settings.workspaces.tryReloadWorkspaces" : "Réessayer",
259 "settings.workspaces.updatedInfo" : "Vos modifications ont été enregistrées",
260 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces",
261 "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.",
262 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces",
238 "sidebar.addNewService" : "Ajouter un nouveau service", 263 "sidebar.addNewService" : "Ajouter un nouveau service",
264 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer",
239 "sidebar.muteApp" : "Désactiver les notifications et les sons", 265 "sidebar.muteApp" : "Désactiver les notifications et les sons",
266 "sidebar.openWorkspaceDrawer" : "Open workspace drawer",
240 "sidebar.settings" : "Paramètres", 267 "sidebar.settings" : "Paramètres",
241 "sidebar.unmuteApp" : "Activer les notifications et les sons", 268 "sidebar.unmuteApp" : "Activer les notifications et les sons",
242 "signup.company.label" : "Entreprise", 269 "signup.company.label" : "Entreprise",
243 "signup.email.label" : "Adresse e-mail", 270 "signup.email.label" : "Adresse email",
244 "signup.emailDuplicate" : "Cette adresse e-mail est déjà utilisée", 271 "signup.emailDuplicate" : "Cette adresse email est déjà utilisée",
245 "signup.firstname.label" : "Prénom", 272 "signup.firstname.label" : "Prénom",
246 "signup.headline" : "S'inscrire", 273 "signup.headline" : "S'inscrire",
247 "signup.lastname.label" : "Nom", 274 "signup.lastname.label" : "Nom",
@@ -277,9 +304,20 @@
277 "tabs.item.reload" : "Recharger", 304 "tabs.item.reload" : "Recharger",
278 "validation.email" : "{field} n'est pas valide", 305 "validation.email" : "{field} n'est pas valide",
279 "validation.minLength" : "{field} doit contenir au moins {length} caractère(s)", 306 "validation.minLength" : "{field} doit contenir au moins {length} caractère(s)",
280 "validation.oneRequired" : "At least one is required", 307 "validation.oneRequired" : "Au moins un de ces champs est requis",
281 "validation.required" : "{field} est requis", 308 "validation.required" : "{field} est requis",
282 "validation.url" : "{field} n'est pas une URL valide", 309 "validation.url" : "{field} n'est pas une URL valide",
283 "welcome.loginButton" : "Se connecter sur son compte", 310 "welcome.loginButton" : "Se connecter sur son compte",
284 "welcome.signupButton" : "Créer un compte gratuit" 311 "welcome.signupButton" : "Créer un compte gratuit",
312 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace",
313 "workspaceDrawer.allServices" : "Tous les services",
314 "workspaceDrawer.headline" : "Workspaces",
315 "workspaceDrawer.item.contextMenuEdit" : "edit",
316 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet",
317 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace",
318 "workspaceDrawer.proFeatureBadge" : "Premium feature",
319 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account",
320 "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>",
321 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings",
322 "workspaces.switchingIndicator.switchingTo" : "Switching to"
285} 323}
diff --git a/src/i18n/locales/ga.json b/src/i18n/locales/ga.json
index eb7c04491..c58c8ee4f 100644
--- a/src/i18n/locales/ga.json
+++ b/src/i18n/locales/ga.json
@@ -1,6 +1,7 @@
1{ 1{
2 "app.errorHandler.action" : "Athlódáil", 2 "app.errorHandler.action" : "Athlódáil",
3 "app.errorHandler.headline" : "Something went wrong", 3 "app.errorHandler.headline" : "Something went wrong",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}",
4 "feature.delayApp.action" : "Get a Franz Supporter License", 5 "feature.delayApp.action" : "Get a Franz Supporter License",
5 "feature.delayApp.headline" : "Please purchase a Franz Supporter License to skip waiting", 6 "feature.delayApp.headline" : "Please purchase a Franz Supporter License to skip waiting",
6 "feature.delayApp.text" : "Franz will continue in {seconds} seconds.", 7 "feature.delayApp.text" : "Franz will continue in {seconds} seconds.",
@@ -9,7 +10,7 @@
9 "feature.shareFranz.action.twitter" : "Share on Twitter", 10 "feature.shareFranz.action.twitter" : "Share on Twitter",
10 "feature.shareFranz.headline" : "Franz is better together!", 11 "feature.shareFranz.headline" : "Franz is better together!",
11 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", 12 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com",
12 "feature.shareFranz.shareText.twitter" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com \/cc @MeetFranz", 13 "feature.shareFranz.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.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.",
14 "global.api.unhealthy" : "Ní féidir nascadh le seirbhísí Franz ar líne", 15 "global.api.unhealthy" : "Ní féidir nascadh le seirbhísí Franz ar líne",
15 "global.notConnectedToTheInternet" : "Níl tú nasctha leis an Idirlíon.", 16 "global.notConnectedToTheInternet" : "Níl tú nasctha leis an Idirlíon.",
@@ -43,6 +44,7 @@
43 "login.submit.label" : "Logáil isteach", 44 "login.submit.label" : "Logáil isteach",
44 "login.tokenExpired" : "D'éag do sheisiún, logáil isteach arís le do thoil.", 45 "login.tokenExpired" : "D'éag do sheisiún, logáil isteach arís le do thoil.",
45 "menu.app.about" : "Faoi Franz", 46 "menu.app.about" : "Faoi Franz",
47 "menu.app.announcement" : "What's new?",
46 "menu.app.hide" : "Cuir Franz i bhfolach", 48 "menu.app.hide" : "Cuir Franz i bhfolach",
47 "menu.app.hideOthers" : "Folaigh feidhmchláir eile", 49 "menu.app.hideOthers" : "Folaigh feidhmchláir eile",
48 "menu.app.quit" : "Scoir", 50 "menu.app.quit" : "Scoir",
@@ -87,6 +89,11 @@
87 "menu.window" : "Fuinneog", 89 "menu.window" : "Fuinneog",
88 "menu.window.close" : "Dún", 90 "menu.window.close" : "Dún",
89 "menu.window.minimize" : "Ãoslaghdaigh", 91 "menu.window.minimize" : "Ãoslaghdaigh",
92 "menu.workspaces" : "Workspaces",
93 "menu.workspaces.addNewWorkspace" : "Add New Workspace...",
94 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer",
95 "menu.workspaces.defaultWorkspace" : "Gach seirbhís",
96 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer",
90 "password.email.label" : "Seoladh ríomhphoist", 97 "password.email.label" : "Seoladh ríomhphoist",
91 "password.headline" : "Athshocraigh pasfhocal", 98 "password.headline" : "Athshocraigh pasfhocal",
92 "password.link.login" : "Logáil isteach i do chuntas", 99 "password.link.login" : "Logáil isteach i do chuntas",
@@ -110,6 +117,7 @@
110 "service.errorHandler.headline" : "Oró, ní hea!", 117 "service.errorHandler.headline" : "Oró, ní hea!",
111 "service.errorHandler.message" : "Earráid", 118 "service.errorHandler.message" : "Earráid",
112 "service.errorHandler.text" : "{name} has failed to load.", 119 "service.errorHandler.text" : "{name} has failed to load.",
120 "service.webviewLoader.loading" : "Loading",
113 "services.getStarted" : "Cuir tús", 121 "services.getStarted" : "Cuir tús",
114 "services.welcome" : "Fáilte go Franz", 122 "services.welcome" : "Fáilte go Franz",
115 "settings.account.account.editButton" : "Cuir cuntas in eagar", 123 "settings.account.account.editButton" : "Cuir cuntas in eagar",
@@ -156,6 +164,7 @@
156 "settings.app.headlineGeneral" : "Ginearálta", 164 "settings.app.headlineGeneral" : "Ginearálta",
157 "settings.app.headlineLanguage" : "Teanga", 165 "settings.app.headlineLanguage" : "Teanga",
158 "settings.app.headlineUpdates" : "Nuashonruithe", 166 "settings.app.headlineUpdates" : "Nuashonruithe",
167 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.",
159 "settings.app.restartRequired" : "Ní gá atosú chun athruithe a chur i bhfeidhm.", 168 "settings.app.restartRequired" : "Ní gá atosú chun athruithe a chur i bhfeidhm.",
160 "settings.app.subheadlineCache" : "Taisce", 169 "settings.app.subheadlineCache" : "Taisce",
161 "settings.app.translationHelp" : "Cabhraigh linn Franz a aistriú i do theanga.", 170 "settings.app.translationHelp" : "Cabhraigh linn Franz a aistriú i do theanga.",
@@ -169,6 +178,7 @@
169 "settings.navigation.logout" : "Logáil amach", 178 "settings.navigation.logout" : "Logáil amach",
170 "settings.navigation.settings" : "Socruithe", 179 "settings.navigation.settings" : "Socruithe",
171 "settings.navigation.yourServices" : "Do sheirbhísí", 180 "settings.navigation.yourServices" : "Do sheirbhísí",
181 "settings.navigation.yourWorkspaces" : "Your workspaces",
172 "settings.recipes.all" : "Gach seirbhís", 182 "settings.recipes.all" : "Gach seirbhís",
173 "settings.recipes.dev" : "Forbairt", 183 "settings.recipes.dev" : "Forbairt",
174 "settings.recipes.headline" : "Seirbhísí le fáil", 184 "settings.recipes.headline" : "Seirbhísí le fáil",
@@ -235,8 +245,25 @@
235 "settings.user.form.firstname" : "Céadainm", 245 "settings.user.form.firstname" : "Céadainm",
236 "settings.user.form.lastname" : "Sloinne", 246 "settings.user.form.lastname" : "Sloinne",
237 "settings.user.form.newPassword" : "Pasfhocal nua", 247 "settings.user.form.newPassword" : "Pasfhocal nua",
248 "settings.workspace.add.form.name" : "Ainm",
249 "settings.workspace.add.form.submitButton" : "Create workspace",
250 "settings.workspace.form.buttonDelete" : "Delete workspace",
251 "settings.workspace.form.buttonSave" : "Save workspace",
252 "settings.workspace.form.name" : "Ainm",
253 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace",
254 "settings.workspace.form.yourWorkspaces" : "Your workspaces",
255 "settings.workspaces.deletedInfo" : "Workspace has been deleted",
256 "settings.workspaces.headline" : "Your workspaces",
257 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.",
258 "settings.workspaces.tryReloadWorkspaces" : "Atriail",
259 "settings.workspaces.updatedInfo" : "Your changes have been saved",
260 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces",
261 "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.",
262 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces",
238 "sidebar.addNewService" : "Cuir seirbhís nua leis", 263 "sidebar.addNewService" : "Cuir seirbhís nua leis",
264 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer",
239 "sidebar.muteApp" : "Díchumasaigh fógraí ⊠fuaim", 265 "sidebar.muteApp" : "Díchumasaigh fógraí ⊠fuaim",
266 "sidebar.openWorkspaceDrawer" : "Open workspace drawer",
240 "sidebar.settings" : "Socruithe", 267 "sidebar.settings" : "Socruithe",
241 "sidebar.unmuteApp" : "Cumasaigh fógraí ⊠fuaim", 268 "sidebar.unmuteApp" : "Cumasaigh fógraí ⊠fuaim",
242 "signup.company.label" : "Comhlacht", 269 "signup.company.label" : "Comhlacht",
@@ -281,5 +308,16 @@
281 "validation.required" : "Tá {field} de dhíth", 308 "validation.required" : "Tá {field} de dhíth",
282 "validation.url" : "Ní AAA bhailí é {field}", 309 "validation.url" : "Ní AAA bhailí é {field}",
283 "welcome.loginButton" : "Logáil isteach i do chuntas", 310 "welcome.loginButton" : "Logáil isteach i do chuntas",
284 "welcome.signupButton" : "Cruthaigh cuntas nua" 311 "welcome.signupButton" : "Cruthaigh cuntas nua",
312 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace",
313 "workspaceDrawer.allServices" : "Gach seirbhís",
314 "workspaceDrawer.headline" : "Workspaces",
315 "workspaceDrawer.item.contextMenuEdit" : "edit",
316 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet",
317 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace",
318 "workspaceDrawer.proFeatureBadge" : "Premium feature",
319 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account",
320 "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>",
321 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings",
322 "workspaces.switchingIndicator.switchingTo" : "Switching to"
285} 323}
diff --git a/src/i18n/locales/hr.json b/src/i18n/locales/hr.json
index 95920c4ce..6cae83a4c 100644
--- a/src/i18n/locales/hr.json
+++ b/src/i18n/locales/hr.json
@@ -1,6 +1,7 @@
1{ 1{
2 "app.errorHandler.action" : "Ponovno uÄitavanje", 2 "app.errorHandler.action" : "Ponovno uÄitavanje",
3 "app.errorHandler.headline" : "Something went wrong", 3 "app.errorHandler.headline" : "Something went wrong",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}",
4 "feature.delayApp.action" : "Get a Franz Supporter License", 5 "feature.delayApp.action" : "Get a Franz Supporter License",
5 "feature.delayApp.headline" : "Please purchase a Franz Supporter License to skip waiting", 6 "feature.delayApp.headline" : "Please purchase a Franz Supporter License to skip waiting",
6 "feature.delayApp.text" : "Franz will continue in {seconds} seconds.", 7 "feature.delayApp.text" : "Franz will continue in {seconds} seconds.",
@@ -9,7 +10,7 @@
9 "feature.shareFranz.action.twitter" : "Share on Twitter", 10 "feature.shareFranz.action.twitter" : "Share on Twitter",
10 "feature.shareFranz.headline" : "Franz is better together!", 11 "feature.shareFranz.headline" : "Franz is better together!",
11 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", 12 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com",
12 "feature.shareFranz.shareText.twitter" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com \/cc @MeetFranz", 13 "feature.shareFranz.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.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.",
14 "global.api.unhealthy" : "Nije se moguće povezati na Francove on-line servise. ", 15 "global.api.unhealthy" : "Nije se moguće povezati na Francove on-line servise. ",
15 "global.notConnectedToTheInternet" : "Sada ste povezani s internetom. ", 16 "global.notConnectedToTheInternet" : "Sada ste povezani s internetom. ",
@@ -43,6 +44,7 @@
43 "login.submit.label" : "Prijavite se", 44 "login.submit.label" : "Prijavite se",
44 "login.tokenExpired" : "Vaša sesija je istekla, prijavite se ponovo.", 45 "login.tokenExpired" : "Vaša sesija je istekla, prijavite se ponovo.",
45 "menu.app.about" : "O aplikaciji", 46 "menu.app.about" : "O aplikaciji",
47 "menu.app.announcement" : "What's new?",
46 "menu.app.hide" : "Hide", 48 "menu.app.hide" : "Hide",
47 "menu.app.hideOthers" : "Hide Others", 49 "menu.app.hideOthers" : "Hide Others",
48 "menu.app.quit" : "Quit", 50 "menu.app.quit" : "Quit",
@@ -87,6 +89,11 @@
87 "menu.window" : "Window", 89 "menu.window" : "Window",
88 "menu.window.close" : "Close", 90 "menu.window.close" : "Close",
89 "menu.window.minimize" : "Minimize", 91 "menu.window.minimize" : "Minimize",
92 "menu.workspaces" : "Workspaces",
93 "menu.workspaces.addNewWorkspace" : "Add New Workspace...",
94 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer",
95 "menu.workspaces.defaultWorkspace" : "Sve usluge",
96 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer",
90 "password.email.label" : "Vaša e-adresa", 97 "password.email.label" : "Vaša e-adresa",
91 "password.headline" : "Stvorite novu zaporku", 98 "password.headline" : "Stvorite novu zaporku",
92 "password.link.login" : "Prijavite se na VaÅ¡ raÄun", 99 "password.link.login" : "Prijavite se na VaÅ¡ raÄun",
@@ -110,6 +117,7 @@
110 "service.errorHandler.headline" : "O, ne! ", 117 "service.errorHandler.headline" : "O, ne! ",
111 "service.errorHandler.message" : "Greška", 118 "service.errorHandler.message" : "Greška",
112 "service.errorHandler.text" : "{name} has failed to load.", 119 "service.errorHandler.text" : "{name} has failed to load.",
120 "service.webviewLoader.loading" : "Loading",
113 "services.getStarted" : "ZapoÄnimo!", 121 "services.getStarted" : "ZapoÄnimo!",
114 "services.welcome" : "Dobrodošli u Franz", 122 "services.welcome" : "Dobrodošli u Franz",
115 "settings.account.account.editButton" : "Uredi raÄun", 123 "settings.account.account.editButton" : "Uredi raÄun",
@@ -156,6 +164,7 @@
156 "settings.app.headlineGeneral" : "Općenito", 164 "settings.app.headlineGeneral" : "Općenito",
157 "settings.app.headlineLanguage" : "Jezik", 165 "settings.app.headlineLanguage" : "Jezik",
158 "settings.app.headlineUpdates" : "Nadogradnje", 166 "settings.app.headlineUpdates" : "Nadogradnje",
167 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.",
159 "settings.app.restartRequired" : "Promjene postavki zahtijevaju ponovni zagon", 168 "settings.app.restartRequired" : "Promjene postavki zahtijevaju ponovni zagon",
160 "settings.app.subheadlineCache" : "Predmemorija", 169 "settings.app.subheadlineCache" : "Predmemorija",
161 "settings.app.translationHelp" : "Pomozite nam prevesti aplikaciju na Vaš jezik. ", 170 "settings.app.translationHelp" : "Pomozite nam prevesti aplikaciju na Vaš jezik. ",
@@ -169,6 +178,7 @@
169 "settings.navigation.logout" : "Odjava", 178 "settings.navigation.logout" : "Odjava",
170 "settings.navigation.settings" : "Postavke", 179 "settings.navigation.settings" : "Postavke",
171 "settings.navigation.yourServices" : "Vaše usluge", 180 "settings.navigation.yourServices" : "Vaše usluge",
181 "settings.navigation.yourWorkspaces" : "Your workspaces",
172 "settings.recipes.all" : "Sve usluge", 182 "settings.recipes.all" : "Sve usluge",
173 "settings.recipes.dev" : "Razvoj", 183 "settings.recipes.dev" : "Razvoj",
174 "settings.recipes.headline" : "Dostupne usluge", 184 "settings.recipes.headline" : "Dostupne usluge",
@@ -235,8 +245,25 @@
235 "settings.user.form.firstname" : "Ime", 245 "settings.user.form.firstname" : "Ime",
236 "settings.user.form.lastname" : "Prezime", 246 "settings.user.form.lastname" : "Prezime",
237 "settings.user.form.newPassword" : "Nova lozinka", 247 "settings.user.form.newPassword" : "Nova lozinka",
248 "settings.workspace.add.form.name" : "Ime",
249 "settings.workspace.add.form.submitButton" : "Create workspace",
250 "settings.workspace.form.buttonDelete" : "Delete workspace",
251 "settings.workspace.form.buttonSave" : "Save workspace",
252 "settings.workspace.form.name" : "Ime",
253 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace",
254 "settings.workspace.form.yourWorkspaces" : "Your workspaces",
255 "settings.workspaces.deletedInfo" : "Workspace has been deleted",
256 "settings.workspaces.headline" : "Your workspaces",
257 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.",
258 "settings.workspaces.tryReloadWorkspaces" : "Pokušajte ponovno",
259 "settings.workspaces.updatedInfo" : "Your changes have been saved",
260 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces",
261 "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.",
262 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces",
238 "sidebar.addNewService" : "Dodajte novu uslugu", 263 "sidebar.addNewService" : "Dodajte novu uslugu",
264 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer",
239 "sidebar.muteApp" : "Ugasi obavijesti i zvuk", 265 "sidebar.muteApp" : "Ugasi obavijesti i zvuk",
266 "sidebar.openWorkspaceDrawer" : "Open workspace drawer",
240 "sidebar.settings" : "Postavke", 267 "sidebar.settings" : "Postavke",
241 "sidebar.unmuteApp" : "Omogući obavijesti i zvuk", 268 "sidebar.unmuteApp" : "Omogući obavijesti i zvuk",
242 "signup.company.label" : "Tvrtka", 269 "signup.company.label" : "Tvrtka",
@@ -281,5 +308,16 @@
281 "validation.required" : "{field} is required", 308 "validation.required" : "{field} is required",
282 "validation.url" : "{field} is not a valid URL", 309 "validation.url" : "{field} is not a valid URL",
283 "welcome.loginButton" : "Prijavite se na raÄun", 310 "welcome.loginButton" : "Prijavite se na raÄun",
284 "welcome.signupButton" : "Stvorite novi korisniÄki raÄun" 311 "welcome.signupButton" : "Stvorite novi korisniÄki raÄun",
312 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace",
313 "workspaceDrawer.allServices" : "Sve usluge",
314 "workspaceDrawer.headline" : "Workspaces",
315 "workspaceDrawer.item.contextMenuEdit" : "edit",
316 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet",
317 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace",
318 "workspaceDrawer.proFeatureBadge" : "Premium feature",
319 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account",
320 "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>",
321 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings",
322 "workspaces.switchingIndicator.switchingTo" : "Switching to"
285} 323}
diff --git a/src/i18n/locales/hu.json b/src/i18n/locales/hu.json
index bce9a368e..52644c5bb 100644
--- a/src/i18n/locales/hu.json
+++ b/src/i18n/locales/hu.json
@@ -1,6 +1,7 @@
1{ 1{
2 "app.errorHandler.action" : "Újratöltés", 2 "app.errorHandler.action" : "Újratöltés",
3 "app.errorHandler.headline" : "Valami nem jött össze", 3 "app.errorHandler.headline" : "Valami nem jött össze",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}",
4 "feature.delayApp.action" : "Szerezz egy Franz Támogatói Liszencet", 5 "feature.delayApp.action" : "Szerezz egy Franz Támogatói Liszencet",
5 "feature.delayApp.headline" : "Kérjük vásárolj egy Franc Támogatói Liszencet a várakozás átugrásához", 6 "feature.delayApp.headline" : "Kérjük vásárolj egy Franc Támogatói Liszencet a várakozás átugrásához",
6 "feature.delayApp.text" : "A Franz továbblép {seconds} másodperc múlva.", 7 "feature.delayApp.text" : "A Franz továbblép {seconds} másodperc múlva.",
@@ -9,7 +10,7 @@
9 "feature.shareFranz.action.twitter" : "Share on Twitter", 10 "feature.shareFranz.action.twitter" : "Share on Twitter",
10 "feature.shareFranz.headline" : "Franz is better together!", 11 "feature.shareFranz.headline" : "Franz is better together!",
11 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", 12 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com",
12 "feature.shareFranz.shareText.twitter" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com \/cc @MeetFranz", 13 "feature.shareFranz.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.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.",
14 "global.api.unhealthy" : "Nem lehet csatlakozni a Franz online szolgáltatáshoz", 15 "global.api.unhealthy" : "Nem lehet csatlakozni a Franz online szolgáltatáshoz",
15 "global.notConnectedToTheInternet" : "Nincs hálózati kapcsolat.", 16 "global.notConnectedToTheInternet" : "Nincs hálózati kapcsolat.",
@@ -43,6 +44,7 @@
43 "login.submit.label" : "Bejelentkezés", 44 "login.submit.label" : "Bejelentkezés",
44 "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.",
45 "menu.app.about" : "Névjegy", 46 "menu.app.about" : "Névjegy",
47 "menu.app.announcement" : "What's new?",
46 "menu.app.hide" : "Elrejt", 48 "menu.app.hide" : "Elrejt",
47 "menu.app.hideOthers" : "Többi elrejtése", 49 "menu.app.hideOthers" : "Többi elrejtése",
48 "menu.app.quit" : "Kilépés", 50 "menu.app.quit" : "Kilépés",
@@ -87,6 +89,11 @@
87 "menu.window" : "Ablak", 89 "menu.window" : "Ablak",
88 "menu.window.close" : "Bezárás", 90 "menu.window.close" : "Bezárás",
89 "menu.window.minimize" : "Tálcára", 91 "menu.window.minimize" : "Tálcára",
92 "menu.workspaces" : "Workspaces",
93 "menu.workspaces.addNewWorkspace" : "Add New Workspace...",
94 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer",
95 "menu.workspaces.defaultWorkspace" : "Összes szolgáltatás",
96 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer",
90 "password.email.label" : "Email cím", 97 "password.email.label" : "Email cím",
91 "password.headline" : "Jelszó visszaállítása", 98 "password.headline" : "Jelszó visszaállítása",
92 "password.link.login" : "Jelentkezz be a fiókodba", 99 "password.link.login" : "Jelentkezz be a fiókodba",
@@ -110,6 +117,7 @@
110 "service.errorHandler.headline" : "Jajj ne!", 117 "service.errorHandler.headline" : "Jajj ne!",
111 "service.errorHandler.message" : "Hiba", 118 "service.errorHandler.message" : "Hiba",
112 "service.errorHandler.text" : "{name} nem tudott betöltődni.", 119 "service.errorHandler.text" : "{name} nem tudott betöltődni.",
120 "service.webviewLoader.loading" : "Loading",
113 "services.getStarted" : "Kezdj hozzá", 121 "services.getStarted" : "Kezdj hozzá",
114 "services.welcome" : "Üdvözöl a Franz", 122 "services.welcome" : "Üdvözöl a Franz",
115 "settings.account.account.editButton" : "Fiók szerkesztése", 123 "settings.account.account.editButton" : "Fiók szerkesztése",
@@ -156,6 +164,7 @@
156 "settings.app.headlineGeneral" : "Ãltalános", 164 "settings.app.headlineGeneral" : "Ãltalános",
157 "settings.app.headlineLanguage" : "Nyelv", 165 "settings.app.headlineLanguage" : "Nyelv",
158 "settings.app.headlineUpdates" : "Frissítések", 166 "settings.app.headlineUpdates" : "Frissítések",
167 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.",
159 "settings.app.restartRequired" : "Újraindítást igénylő módosítás", 168 "settings.app.restartRequired" : "Újraindítást igénylő módosítás",
160 "settings.app.subheadlineCache" : "Gyorsítótár", 169 "settings.app.subheadlineCache" : "Gyorsítótár",
161 "settings.app.translationHelp" : "Segíts nekünk a Franz-ot lefordítani a nyelvedre.", 170 "settings.app.translationHelp" : "Segíts nekünk a Franz-ot lefordítani a nyelvedre.",
@@ -169,6 +178,7 @@
169 "settings.navigation.logout" : "Kijelentkezés", 178 "settings.navigation.logout" : "Kijelentkezés",
170 "settings.navigation.settings" : "Beállítások", 179 "settings.navigation.settings" : "Beállítások",
171 "settings.navigation.yourServices" : "Szolgáltatásaid", 180 "settings.navigation.yourServices" : "Szolgáltatásaid",
181 "settings.navigation.yourWorkspaces" : "Your workspaces",
172 "settings.recipes.all" : "Összes szolgáltatás", 182 "settings.recipes.all" : "Összes szolgáltatás",
173 "settings.recipes.dev" : "Fejlesztés", 183 "settings.recipes.dev" : "Fejlesztés",
174 "settings.recipes.headline" : "Elérhető szolgáltatások", 184 "settings.recipes.headline" : "Elérhető szolgáltatások",
@@ -235,8 +245,25 @@
235 "settings.user.form.firstname" : "Keresztnév", 245 "settings.user.form.firstname" : "Keresztnév",
236 "settings.user.form.lastname" : "Vezetéknév", 246 "settings.user.form.lastname" : "Vezetéknév",
237 "settings.user.form.newPassword" : "Új jelszó", 247 "settings.user.form.newPassword" : "Új jelszó",
248 "settings.workspace.add.form.name" : "Név",
249 "settings.workspace.add.form.submitButton" : "Create workspace",
250 "settings.workspace.form.buttonDelete" : "Delete workspace",
251 "settings.workspace.form.buttonSave" : "Save workspace",
252 "settings.workspace.form.name" : "Név",
253 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace",
254 "settings.workspace.form.yourWorkspaces" : "Your workspaces",
255 "settings.workspaces.deletedInfo" : "Workspace has been deleted",
256 "settings.workspaces.headline" : "Your workspaces",
257 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.",
258 "settings.workspaces.tryReloadWorkspaces" : "Próbáld újra",
259 "settings.workspaces.updatedInfo" : "A módosításokat elmentettük",
260 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces",
261 "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.",
262 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces",
238 "sidebar.addNewService" : "Szolgáltatás hozzáadása", 263 "sidebar.addNewService" : "Szolgáltatás hozzáadása",
264 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer",
239 "sidebar.muteApp" : "Értesítések és hangok letiltása", 265 "sidebar.muteApp" : "Értesítések és hangok letiltása",
266 "sidebar.openWorkspaceDrawer" : "Open workspace drawer",
240 "sidebar.settings" : "Beállítások", 267 "sidebar.settings" : "Beállítások",
241 "sidebar.unmuteApp" : "Értesítések és hangok engedélyezése", 268 "sidebar.unmuteApp" : "Értesítések és hangok engedélyezése",
242 "signup.company.label" : "Cég", 269 "signup.company.label" : "Cég",
@@ -281,5 +308,16 @@
281 "validation.required" : "{field} kitöltése kötelező", 308 "validation.required" : "{field} kitöltése kötelező",
282 "validation.url" : "{field} nem érvényes URL", 309 "validation.url" : "{field} nem érvényes URL",
283 "welcome.loginButton" : "Jelentkezz be a fiókodba", 310 "welcome.loginButton" : "Jelentkezz be a fiókodba",
284 "welcome.signupButton" : "Új fiók létrehozása" 311 "welcome.signupButton" : "Új fiók létrehozása",
312 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace",
313 "workspaceDrawer.allServices" : "Összes szolgáltatás",
314 "workspaceDrawer.headline" : "Workspaces",
315 "workspaceDrawer.item.contextMenuEdit" : "edit",
316 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet",
317 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace",
318 "workspaceDrawer.proFeatureBadge" : "Premium feature",
319 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account",
320 "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>",
321 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings",
322 "workspaces.switchingIndicator.switchingTo" : "Switching to"
285} 323}
diff --git a/src/i18n/locales/id.json b/src/i18n/locales/id.json
index 73271dceb..728d394a6 100644
--- a/src/i18n/locales/id.json
+++ b/src/i18n/locales/id.json
@@ -1,22 +1,23 @@
1{ 1{
2 "app.errorHandler.action" : "Muat Ulang", 2 "app.errorHandler.action" : "Muat Ulang",
3 "app.errorHandler.headline" : "Terjadi kesalahan", 3 "app.errorHandler.headline" : "Terjadi kesalahan",
4 "feature.delayApp.action" : "Dapatkan Franz Supporter License", 4 "feature.announcements.changelog.headline" : "Changes in Franz {version}",
5 "feature.delayApp.headline" : "Beli Franz Supporter License agar tidak perlu menunggu", 5 "feature.delayApp.action" : "Dapatkan Lisensi Pendukung Franz",
6 "feature.delayApp.headline" : "Beli Lisensi Pendukung Franz agar tidak perlu menunggu",
6 "feature.delayApp.text" : "Franz akan melanjutkan dalam {seconds} detik.", 7 "feature.delayApp.text" : "Franz akan melanjutkan dalam {seconds} detik.",
7 "feature.shareFranz.action.email" : "Send as email", 8 "feature.shareFranz.action.email" : "Kirim sebagai email",
8 "feature.shareFranz.action.facebook" : "Share on Facebook", 9 "feature.shareFranz.action.facebook" : "Bagikan di Facebook",
9 "feature.shareFranz.action.twitter" : "Share on Twitter", 10 "feature.shareFranz.action.twitter" : "Bagikan di Twitter",
10 "feature.shareFranz.headline" : "Franz is better together!", 11 "feature.shareFranz.headline" : "Franz lebih baik bersama!",
11 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", 12 "feature.shareFranz.shareText.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.twitter" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com \/cc @MeetFranz", 13 "feature.shareFranz.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.text" : "Tell your friends and colleagues how awesome Franz is and help us to spread the word.", 14 "feature.shareFranz.text" : "Beri tahu teman dan kolega Anda betapa hebatnya Franz dan bantu kami menyebarkan berita.",
14 "global.api.unhealthy" : "Tidak dapat tersambung ke layanan Franz", 15 "global.api.unhealthy" : "Tidak dapat tersambung ke layanan Franz",
15 "global.notConnectedToTheInternet" : "Anda tidak tersambung ke internet.", 16 "global.notConnectedToTheInternet" : "Anda tidak tersambung ke internet.",
16 "global.spellchecker.useDefault" : "Gunakan Bawaan Sistem ({default})", 17 "global.spellchecker.useDefault" : "Gunakan Bawaan Sistem ({default})",
17 "global.spellchecking.autodetect" : "Detect language automatically", 18 "global.spellchecking.autodetect" : "Deteksi bahasa secara otomatis",
18 "global.spellchecking.autodetect.short" : "Automatic", 19 "global.spellchecking.autodetect.short" : "Otomatis",
19 "global.spellchecking.language" : "Periksa ejaan", 20 "global.spellchecking.language" : "Periksa ejaan bahasa",
20 "import.headline" : "Impor layanan Franz 4 Anda", 21 "import.headline" : "Impor layanan Franz 4 Anda",
21 "import.notSupportedHeadline" : "Layanan belum didukung di Franz 5", 22 "import.notSupportedHeadline" : "Layanan belum didukung di Franz 5",
22 "import.skip.label" : "Saya ingin menambahkan layanan secara manual", 23 "import.skip.label" : "Saya ingin menambahkan layanan secara manual",
@@ -30,12 +31,12 @@
30 "invite.email.label" : "Alamat email", 31 "invite.email.label" : "Alamat email",
31 "invite.headline.friends" : "Undang 3 teman atau kolega Anda", 32 "invite.headline.friends" : "Undang 3 teman atau kolega Anda",
32 "invite.name.label" : "Nama", 33 "invite.name.label" : "Nama",
33 "invite.skip.label" : "Nanti saja", 34 "invite.skip.label" : "Saya ingin melakukan ini nanti",
34 "invite.submit.label" : "Kirim undangan", 35 "invite.submit.label" : "Kirim undangan",
35 "invite.successInfo" : "Undangan berhasil dikirim", 36 "invite.successInfo" : "Undangan berhasil dikirim",
36 "login.email.label" : "Alamat email", 37 "login.email.label" : "Alamat email",
37 "login.headline" : "Masuk", 38 "login.headline" : "Masuk",
38 "login.invalidCredentials" : "Email atau sandi salah", 39 "login.invalidCredentials" : "Email atau kata sandi tidak valid",
39 "login.link.password" : "Setel ulang sandi", 40 "login.link.password" : "Setel ulang sandi",
40 "login.link.signup" : "Buat akun gratis", 41 "login.link.signup" : "Buat akun gratis",
41 "login.password.label" : "Sandi", 42 "login.password.label" : "Sandi",
@@ -43,6 +44,7 @@
43 "login.submit.label" : "Masuk", 44 "login.submit.label" : "Masuk",
44 "login.tokenExpired" : "Sesi Anda telah kedaluwarsa, silakan masuk kembali.", 45 "login.tokenExpired" : "Sesi Anda telah kedaluwarsa, silakan masuk kembali.",
45 "menu.app.about" : "Tentang Franz", 46 "menu.app.about" : "Tentang Franz",
47 "menu.app.announcement" : "What's new?",
46 "menu.app.hide" : "Sembunyikan", 48 "menu.app.hide" : "Sembunyikan",
47 "menu.app.hideOthers" : "Sembunyikan Lainnya", 49 "menu.app.hideOthers" : "Sembunyikan Lainnya",
48 "menu.app.quit" : "Keluar", 50 "menu.app.quit" : "Keluar",
@@ -70,9 +72,9 @@
70 "menu.help.support" : "Dukungan", 72 "menu.help.support" : "Dukungan",
71 "menu.help.tos" : "Ketentuan Layanan", 73 "menu.help.tos" : "Ketentuan Layanan",
72 "menu.services" : "Layanan", 74 "menu.services" : "Layanan",
73 "menu.services.activatePreviousService" : "Activate previous service", 75 "menu.services.activatePreviousService" : "Aktifkan layanan sebelumnya",
74 "menu.services.addNewService" : "Tambahkan Layanan Baru...", 76 "menu.services.addNewService" : "Tambahkan Layanan Baru...",
75 "menu.services.setNextServiceActive" : "Activate next service", 77 "menu.services.setNextServiceActive" : "Aktifkan layanan berikutnya",
76 "menu.view" : "Tampilan", 78 "menu.view" : "Tampilan",
77 "menu.view.enterFullScreen" : "Masuk ke Mode Layar Penuh", 79 "menu.view.enterFullScreen" : "Masuk ke Mode Layar Penuh",
78 "menu.view.exitFullScreen" : "Keluar dari Layar Penuh", 80 "menu.view.exitFullScreen" : "Keluar dari Layar Penuh",
@@ -87,6 +89,11 @@
87 "menu.window" : "Jendela", 89 "menu.window" : "Jendela",
88 "menu.window.close" : "Tutup", 90 "menu.window.close" : "Tutup",
89 "menu.window.minimize" : "Minimalkan", 91 "menu.window.minimize" : "Minimalkan",
92 "menu.workspaces" : "Workspaces",
93 "menu.workspaces.addNewWorkspace" : "Add New Workspace...",
94 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer",
95 "menu.workspaces.defaultWorkspace" : "Semua layanan",
96 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer",
90 "password.email.label" : "Alamat email", 97 "password.email.label" : "Alamat email",
91 "password.headline" : "Setel ulang sandi", 98 "password.headline" : "Setel ulang sandi",
92 "password.link.login" : "Masuk ke akun Anda", 99 "password.link.login" : "Masuk ke akun Anda",
@@ -101,7 +108,7 @@
101 "pricing.support.label" : "Pilih paket dukungan Anda", 108 "pricing.support.label" : "Pilih paket dukungan Anda",
102 "service.crashHandler.action" : "Muat Ulang {name}", 109 "service.crashHandler.action" : "Muat Ulang {name}",
103 "service.crashHandler.autoReload" : "Mencoba memulihkan {name} secara otomatis dalam {seconds} detik", 110 "service.crashHandler.autoReload" : "Mencoba memulihkan {name} secara otomatis dalam {seconds} detik",
104 "service.crashHandler.headline" : "Ya Ampun!", 111 "service.crashHandler.headline" : "Oh tidak!",
105 "service.crashHandler.text" : "{name} menyebabkan kesalahan.", 112 "service.crashHandler.text" : "{name} menyebabkan kesalahan.",
106 "service.disabledHandler.action" : "Aktifkan {name}", 113 "service.disabledHandler.action" : "Aktifkan {name}",
107 "service.disabledHandler.headline" : "{name} dinonaktifkan", 114 "service.disabledHandler.headline" : "{name} dinonaktifkan",
@@ -110,6 +117,7 @@
110 "service.errorHandler.headline" : "Oh tidak!", 117 "service.errorHandler.headline" : "Oh tidak!",
111 "service.errorHandler.message" : "Kesalahan", 118 "service.errorHandler.message" : "Kesalahan",
112 "service.errorHandler.text" : "{name} gagal dimuat", 119 "service.errorHandler.text" : "{name} gagal dimuat",
120 "service.webviewLoader.loading" : "Loading",
113 "services.getStarted" : "Ayo mulai!", 121 "services.getStarted" : "Ayo mulai!",
114 "services.welcome" : "Selamat datang di Franz", 122 "services.welcome" : "Selamat datang di Franz",
115 "settings.account.account.editButton" : "Edit akun", 123 "settings.account.account.editButton" : "Edit akun",
@@ -156,6 +164,7 @@
156 "settings.app.headlineGeneral" : "Umum", 164 "settings.app.headlineGeneral" : "Umum",
157 "settings.app.headlineLanguage" : "Bahasa", 165 "settings.app.headlineLanguage" : "Bahasa",
158 "settings.app.headlineUpdates" : "Versi Baru", 166 "settings.app.headlineUpdates" : "Versi Baru",
167 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.",
159 "settings.app.restartRequired" : "Perubahan membutuhkan mulai ulang", 168 "settings.app.restartRequired" : "Perubahan membutuhkan mulai ulang",
160 "settings.app.subheadlineCache" : "Singgahan", 169 "settings.app.subheadlineCache" : "Singgahan",
161 "settings.app.translationHelp" : "Bantu kami menerjemahkan Franz ke bahasa Anda.", 170 "settings.app.translationHelp" : "Bantu kami menerjemahkan Franz ke bahasa Anda.",
@@ -169,6 +178,7 @@
169 "settings.navigation.logout" : "Keluar", 178 "settings.navigation.logout" : "Keluar",
170 "settings.navigation.settings" : "Pengaturan", 179 "settings.navigation.settings" : "Pengaturan",
171 "settings.navigation.yourServices" : "Layanan Anda", 180 "settings.navigation.yourServices" : "Layanan Anda",
181 "settings.navigation.yourWorkspaces" : "Your workspaces",
172 "settings.recipes.all" : "Semua layanan", 182 "settings.recipes.all" : "Semua layanan",
173 "settings.recipes.dev" : "Pengembangan", 183 "settings.recipes.dev" : "Pengembangan",
174 "settings.recipes.headline" : "Layanan tersedia", 184 "settings.recipes.headline" : "Layanan tersedia",
@@ -221,7 +231,7 @@
221 "settings.services.discoverServices" : "Temukan layanan", 231 "settings.services.discoverServices" : "Temukan layanan",
222 "settings.services.headline" : "Layanan Anda", 232 "settings.services.headline" : "Layanan Anda",
223 "settings.services.noServicesAdded" : "Anda belum menambahkan layanan apa pun.", 233 "settings.services.noServicesAdded" : "Anda belum menambahkan layanan apa pun.",
224 "settings.services.servicesRequestFailed" : "Could not load your services", 234 "settings.services.servicesRequestFailed" : "Tidak dapat memuat layanan Anda",
225 "settings.services.tooltip.isDisabled" : "Layanan dinonaktifkan", 235 "settings.services.tooltip.isDisabled" : "Layanan dinonaktifkan",
226 "settings.services.tooltip.isMuted" : "Semua suara dibisukan", 236 "settings.services.tooltip.isMuted" : "Semua suara dibisukan",
227 "settings.services.tooltip.notificationsDisabled" : "Pemberitahuan dinonaktifkan", 237 "settings.services.tooltip.notificationsDisabled" : "Pemberitahuan dinonaktifkan",
@@ -235,8 +245,25 @@
235 "settings.user.form.firstname" : "Nama Depan", 245 "settings.user.form.firstname" : "Nama Depan",
236 "settings.user.form.lastname" : "Nama Belakang", 246 "settings.user.form.lastname" : "Nama Belakang",
237 "settings.user.form.newPassword" : "Sandi baru", 247 "settings.user.form.newPassword" : "Sandi baru",
248 "settings.workspace.add.form.name" : "Nama",
249 "settings.workspace.add.form.submitButton" : "Create workspace",
250 "settings.workspace.form.buttonDelete" : "Delete workspace",
251 "settings.workspace.form.buttonSave" : "Save workspace",
252 "settings.workspace.form.name" : "Nama",
253 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace",
254 "settings.workspace.form.yourWorkspaces" : "Your workspaces",
255 "settings.workspaces.deletedInfo" : "Workspace has been deleted",
256 "settings.workspaces.headline" : "Your workspaces",
257 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.",
258 "settings.workspaces.tryReloadWorkspaces" : "Coba lagi",
259 "settings.workspaces.updatedInfo" : "Your changes have been saved",
260 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces",
261 "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.",
262 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces",
238 "sidebar.addNewService" : "Tambahkan layanan baru", 263 "sidebar.addNewService" : "Tambahkan layanan baru",
264 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer",
239 "sidebar.muteApp" : "Nonaktifkan pemberitahuan & audio", 265 "sidebar.muteApp" : "Nonaktifkan pemberitahuan & audio",
266 "sidebar.openWorkspaceDrawer" : "Open workspace drawer",
240 "sidebar.settings" : "Pengaturan", 267 "sidebar.settings" : "Pengaturan",
241 "sidebar.unmuteApp" : "Aktifkan pemberitahuan", 268 "sidebar.unmuteApp" : "Aktifkan pemberitahuan",
242 "signup.company.label" : "Perusahaan", 269 "signup.company.label" : "Perusahaan",
@@ -277,9 +304,20 @@
277 "tabs.item.reload" : "Muat Ulang", 304 "tabs.item.reload" : "Muat Ulang",
278 "validation.email" : "{field} tidak benar", 305 "validation.email" : "{field} tidak benar",
279 "validation.minLength" : "{field} setidaknya harus {length} karakter", 306 "validation.minLength" : "{field} setidaknya harus {length} karakter",
280 "validation.oneRequired" : "At least one is required", 307 "validation.oneRequired" : "Setidaknya diperlukan satu",
281 "validation.required" : "{field} wajib diisi", 308 "validation.required" : "{field} wajib diisi",
282 "validation.url" : "{field} bukan URL yang benar", 309 "validation.url" : "{field} bukan URL yang benar",
283 "welcome.loginButton" : "Masuk ke akun Anda", 310 "welcome.loginButton" : "Masuk ke akun Anda",
284 "welcome.signupButton" : "Buat akun gratis" 311 "welcome.signupButton" : "Buat akun gratis",
312 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace",
313 "workspaceDrawer.allServices" : "Semua layanan",
314 "workspaceDrawer.headline" : "Workspaces",
315 "workspaceDrawer.item.contextMenuEdit" : "edit",
316 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet",
317 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace",
318 "workspaceDrawer.proFeatureBadge" : "Premium feature",
319 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account",
320 "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>",
321 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings",
322 "workspaces.switchingIndicator.switchingTo" : "Switching to"
285} 323}
diff --git a/src/i18n/locales/it.json b/src/i18n/locales/it.json
index 71150483c..7a1b29f15 100644
--- a/src/i18n/locales/it.json
+++ b/src/i18n/locales/it.json
@@ -1,21 +1,22 @@
1{ 1{
2 "app.errorHandler.action" : "Ricarica", 2 "app.errorHandler.action" : "Ricarica",
3 "app.errorHandler.headline" : "Qualcosa è andato storto", 3 "app.errorHandler.headline" : "Qualcosa è andato storto",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}",
4 "feature.delayApp.action" : "Ricevi una Licenza Supporter di Franz", 5 "feature.delayApp.action" : "Ricevi una Licenza Supporter di Franz",
5 "feature.delayApp.headline" : "Per favore, compra una Licenza Supporter di Franz per saltare l'attesa", 6 "feature.delayApp.headline" : "Per favore, compra una Licenza Supporter di Franz per saltare l'attesa",
6 "feature.delayApp.text" : "Franz continuerà a funzionare tra {seconds} secondi.", 7 "feature.delayApp.text" : "Franz continuerà a funzionare tra {seconds} secondi.",
7 "feature.shareFranz.action.email" : "Send as email", 8 "feature.shareFranz.action.email" : "Manda come email",
8 "feature.shareFranz.action.facebook" : "Share on Facebook", 9 "feature.shareFranz.action.facebook" : "Condividi su Facebook",
9 "feature.shareFranz.action.twitter" : "Share on Twitter", 10 "feature.shareFranz.action.twitter" : "Condividi su Twitter",
10 "feature.shareFranz.headline" : "Franz is better together!", 11 "feature.shareFranz.headline" : "Franze è migliore insieme!",
11 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", 12 "feature.shareFranz.shareText.email" : "Ho aggiunto {count} nuovi servizi a Franz! Scarica ora l'app gratuita per WhatsApp, Messenger, Slack, Skype e altri all'indirizzo www.meetfranz.com",
12 "feature.shareFranz.shareText.twitter" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com \/cc @MeetFranz", 13 "feature.shareFranz.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.text" : "Tell your friends and colleagues how awesome Franz is and help us to spread the word.", 14 "feature.shareFranz.text" : "Condividi con i tuoi amici e colleghi quanto Franz è fantastico e aiutaci a diffondere la parola.",
14 "global.api.unhealthy" : "Impossibile connettersi ai servizi online di Franz", 15 "global.api.unhealthy" : "Impossibile connettersi ai servizi online di Franz",
15 "global.notConnectedToTheInternet" : "Non sei connesso a Internet.", 16 "global.notConnectedToTheInternet" : "Non sei connesso a Internet.",
16 "global.spellchecker.useDefault" : "Usa le impostazioni predefinite di sistema ({default})", 17 "global.spellchecker.useDefault" : "Usa le impostazioni predefinite di sistema ({default})",
17 "global.spellchecking.autodetect" : "Detect language automatically", 18 "global.spellchecking.autodetect" : "Rileva automaticamente la lingua",
18 "global.spellchecking.autodetect.short" : "Automatic", 19 "global.spellchecking.autodetect.short" : "Automatico",
19 "global.spellchecking.language" : "Lingua per controllo ortografico", 20 "global.spellchecking.language" : "Lingua per controllo ortografico",
20 "import.headline" : "Importa i servizi di Franz 4", 21 "import.headline" : "Importa i servizi di Franz 4",
21 "import.notSupportedHeadline" : "Servizi non ancora supportati in Franz 5", 22 "import.notSupportedHeadline" : "Servizi non ancora supportati in Franz 5",
@@ -43,8 +44,9 @@
43 "login.submit.label" : "Accedi", 44 "login.submit.label" : "Accedi",
44 "login.tokenExpired" : "La tua sessione è scaduta, per favore accedi di nuovo.", 45 "login.tokenExpired" : "La tua sessione è scaduta, per favore accedi di nuovo.",
45 "menu.app.about" : "Info su Franz", 46 "menu.app.about" : "Info su Franz",
47 "menu.app.announcement" : "What's new?",
46 "menu.app.hide" : "Nascondi", 48 "menu.app.hide" : "Nascondi",
47 "menu.app.hideOthers" : "Nascondi Altri", 49 "menu.app.hideOthers" : "Nascondi altri",
48 "menu.app.quit" : "Esci", 50 "menu.app.quit" : "Esci",
49 "menu.app.settings" : "Settings", 51 "menu.app.settings" : "Settings",
50 "menu.app.unhide" : "Mostra", 52 "menu.app.unhide" : "Mostra",
@@ -52,7 +54,7 @@
52 "menu.edit.copy" : "Copia", 54 "menu.edit.copy" : "Copia",
53 "menu.edit.cut" : "Taglia", 55 "menu.edit.cut" : "Taglia",
54 "menu.edit.delete" : "Elimina", 56 "menu.edit.delete" : "Elimina",
55 "menu.edit.emojiSymbols" : "Emoji e Simboli", 57 "menu.edit.emojiSymbols" : "Emoji e simboli",
56 "menu.edit.paste" : "Incolla", 58 "menu.edit.paste" : "Incolla",
57 "menu.edit.pasteAndMatchStyle" : "Incolla e Mantieni Stile", 59 "menu.edit.pasteAndMatchStyle" : "Incolla e Mantieni Stile",
58 "menu.edit.redo" : "Ripeti", 60 "menu.edit.redo" : "Ripeti",
@@ -70,9 +72,9 @@
70 "menu.help.support" : "Supporto", 72 "menu.help.support" : "Supporto",
71 "menu.help.tos" : "Termini di Servizio", 73 "menu.help.tos" : "Termini di Servizio",
72 "menu.services" : "Servizi", 74 "menu.services" : "Servizi",
73 "menu.services.activatePreviousService" : "Activate previous service", 75 "menu.services.activatePreviousService" : "Attiva servizio precedente",
74 "menu.services.addNewService" : "Aggiungi Nuovo Servizio...", 76 "menu.services.addNewService" : "Aggiungi Nuovo Servizio...",
75 "menu.services.setNextServiceActive" : "Activate next service", 77 "menu.services.setNextServiceActive" : "Attiva servizio seguente",
76 "menu.view" : "Visualizza", 78 "menu.view" : "Visualizza",
77 "menu.view.enterFullScreen" : "Visualizza a Schermo Intero", 79 "menu.view.enterFullScreen" : "Visualizza a Schermo Intero",
78 "menu.view.exitFullScreen" : "Esci da Schermo Intero", 80 "menu.view.exitFullScreen" : "Esci da Schermo Intero",
@@ -87,6 +89,11 @@
87 "menu.window" : "Finestra", 89 "menu.window" : "Finestra",
88 "menu.window.close" : "Chiudi", 90 "menu.window.close" : "Chiudi",
89 "menu.window.minimize" : "Minimizza", 91 "menu.window.minimize" : "Minimizza",
92 "menu.workspaces" : "Workspaces",
93 "menu.workspaces.addNewWorkspace" : "Add New Workspace...",
94 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer",
95 "menu.workspaces.defaultWorkspace" : "Tutti i servizi",
96 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer",
90 "password.email.label" : "Indirizzo email", 97 "password.email.label" : "Indirizzo email",
91 "password.headline" : "Reimposta password", 98 "password.headline" : "Reimposta password",
92 "password.link.login" : "Accedi al tuo account", 99 "password.link.login" : "Accedi al tuo account",
@@ -110,6 +117,7 @@
110 "service.errorHandler.headline" : "Oh no!", 117 "service.errorHandler.headline" : "Oh no!",
111 "service.errorHandler.message" : "Errore", 118 "service.errorHandler.message" : "Errore",
112 "service.errorHandler.text" : "{name} non si è caricato correttamente.", 119 "service.errorHandler.text" : "{name} non si è caricato correttamente.",
120 "service.webviewLoader.loading" : "Loading",
113 "services.getStarted" : "Iniziamo", 121 "services.getStarted" : "Iniziamo",
114 "services.welcome" : "Benvenuto su Franz", 122 "services.welcome" : "Benvenuto su Franz",
115 "settings.account.account.editButton" : "Modifica account", 123 "settings.account.account.editButton" : "Modifica account",
@@ -131,7 +139,7 @@
131 "settings.account.manageSubscription.label" : "Gestisci il tuo abbonamento", 139 "settings.account.manageSubscription.label" : "Gestisci il tuo abbonamento",
132 "settings.account.successInfo" : "Le tue modifiche sono state salvate", 140 "settings.account.successInfo" : "Le tue modifiche sono state salvate",
133 "settings.account.tryReloadServices" : "Prova di nuovo", 141 "settings.account.tryReloadServices" : "Prova di nuovo",
134 "settings.account.tryReloadUserInfoRequest" : "Prova di nuovo", 142 "settings.account.tryReloadUserInfoRequest" : "Riprova",
135 "settings.account.userInfoRequestFailed" : "Impossibile caricare le informazioni dell'utente.", 143 "settings.account.userInfoRequestFailed" : "Impossibile caricare le informazioni dell'utente.",
136 "settings.app.buttonClearAllCache" : "Svuota la cache", 144 "settings.app.buttonClearAllCache" : "Svuota la cache",
137 "settings.app.buttonInstallUpdate" : "Riavvia e installa l'aggiornamento", 145 "settings.app.buttonInstallUpdate" : "Riavvia e installa l'aggiornamento",
@@ -156,6 +164,7 @@
156 "settings.app.headlineGeneral" : "Generale", 164 "settings.app.headlineGeneral" : "Generale",
157 "settings.app.headlineLanguage" : "Lingua", 165 "settings.app.headlineLanguage" : "Lingua",
158 "settings.app.headlineUpdates" : "Aggiornamenti", 166 "settings.app.headlineUpdates" : "Aggiornamenti",
167 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.",
159 "settings.app.restartRequired" : "Le modifiche richiedono un riavvio", 168 "settings.app.restartRequired" : "Le modifiche richiedono un riavvio",
160 "settings.app.subheadlineCache" : "Cache", 169 "settings.app.subheadlineCache" : "Cache",
161 "settings.app.translationHelp" : "Aiutaci a tradurre Franz nella tua lingua.", 170 "settings.app.translationHelp" : "Aiutaci a tradurre Franz nella tua lingua.",
@@ -169,6 +178,7 @@
169 "settings.navigation.logout" : "Esci", 178 "settings.navigation.logout" : "Esci",
170 "settings.navigation.settings" : "Impostazioni", 179 "settings.navigation.settings" : "Impostazioni",
171 "settings.navigation.yourServices" : "I tuoi servizi", 180 "settings.navigation.yourServices" : "I tuoi servizi",
181 "settings.navigation.yourWorkspaces" : "Your workspaces",
172 "settings.recipes.all" : "Tutti i servizi", 182 "settings.recipes.all" : "Tutti i servizi",
173 "settings.recipes.dev" : "Sviluppo", 183 "settings.recipes.dev" : "Sviluppo",
174 "settings.recipes.headline" : "Servizi disponibili", 184 "settings.recipes.headline" : "Servizi disponibili",
@@ -221,7 +231,7 @@
221 "settings.services.discoverServices" : "Scopri servizi", 231 "settings.services.discoverServices" : "Scopri servizi",
222 "settings.services.headline" : "I tuoi servizi", 232 "settings.services.headline" : "I tuoi servizi",
223 "settings.services.noServicesAdded" : "Non hai aggiunto ancora nessun servizio.", 233 "settings.services.noServicesAdded" : "Non hai aggiunto ancora nessun servizio.",
224 "settings.services.servicesRequestFailed" : "Could not load your services", 234 "settings.services.servicesRequestFailed" : "Impossibile caricare il servizio",
225 "settings.services.tooltip.isDisabled" : "Il servizio è disattivato", 235 "settings.services.tooltip.isDisabled" : "Il servizio è disattivato",
226 "settings.services.tooltip.isMuted" : "Tutti i suoni sono disattivati", 236 "settings.services.tooltip.isMuted" : "Tutti i suoni sono disattivati",
227 "settings.services.tooltip.notificationsDisabled" : "Le notifiche sono disattivate", 237 "settings.services.tooltip.notificationsDisabled" : "Le notifiche sono disattivate",
@@ -235,8 +245,25 @@
235 "settings.user.form.firstname" : "Nome", 245 "settings.user.form.firstname" : "Nome",
236 "settings.user.form.lastname" : "Cognome", 246 "settings.user.form.lastname" : "Cognome",
237 "settings.user.form.newPassword" : "Nuova password", 247 "settings.user.form.newPassword" : "Nuova password",
248 "settings.workspace.add.form.name" : "Nome",
249 "settings.workspace.add.form.submitButton" : "Create workspace",
250 "settings.workspace.form.buttonDelete" : "Delete workspace",
251 "settings.workspace.form.buttonSave" : "Save workspace",
252 "settings.workspace.form.name" : "Nome",
253 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace",
254 "settings.workspace.form.yourWorkspaces" : "Your workspaces",
255 "settings.workspaces.deletedInfo" : "Workspace has been deleted",
256 "settings.workspaces.headline" : "Your workspaces",
257 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.",
258 "settings.workspaces.tryReloadWorkspaces" : "Try again",
259 "settings.workspaces.updatedInfo" : "Le tue modifiche sono state salvate",
260 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces",
261 "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.",
262 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces",
238 "sidebar.addNewService" : "Aggiungi un nuovo servizio", 263 "sidebar.addNewService" : "Aggiungi un nuovo servizio",
264 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer",
239 "sidebar.muteApp" : "Disattiva notifiche e audio", 265 "sidebar.muteApp" : "Disattiva notifiche e audio",
266 "sidebar.openWorkspaceDrawer" : "Open workspace drawer",
240 "sidebar.settings" : "Impostazioni", 267 "sidebar.settings" : "Impostazioni",
241 "sidebar.unmuteApp" : "Attiva notifiche e audio", 268 "sidebar.unmuteApp" : "Attiva notifiche e audio",
242 "signup.company.label" : "Società", 269 "signup.company.label" : "Società",
@@ -245,7 +272,7 @@
245 "signup.firstname.label" : "Nome", 272 "signup.firstname.label" : "Nome",
246 "signup.headline" : "Iscriviti", 273 "signup.headline" : "Iscriviti",
247 "signup.lastname.label" : "Cognome", 274 "signup.lastname.label" : "Cognome",
248 "signup.legal.info" : "Creando un account di Franz accetti l' ", 275 "signup.legal.info" : "Creando un account di Franz stai accettando il ",
249 "signup.legal.privacy" : "Informativa sulla Privacy", 276 "signup.legal.privacy" : "Informativa sulla Privacy",
250 "signup.legal.terms" : "Termini di Servizio", 277 "signup.legal.terms" : "Termini di Servizio",
251 "signup.link.login" : "Hai già un account, vuoi accedere?", 278 "signup.link.login" : "Hai già un account, vuoi accedere?",
@@ -277,9 +304,20 @@
277 "tabs.item.reload" : "Ricarica", 304 "tabs.item.reload" : "Ricarica",
278 "validation.email" : "{field} non valido", 305 "validation.email" : "{field} non valido",
279 "validation.minLength" : "{field} dovrebbe contenere almeno {length} caratteri", 306 "validation.minLength" : "{field} dovrebbe contenere almeno {length} caratteri",
280 "validation.oneRequired" : "At least one is required", 307 "validation.oneRequired" : "Almeno un campo è richiesto",
281 "validation.required" : "{field} è necessario", 308 "validation.required" : "{field} è necessario",
282 "validation.url" : "{field} non è un URL valido", 309 "validation.url" : "{field} non è un URL valido",
283 "welcome.loginButton" : "Accedi al tuo account", 310 "welcome.loginButton" : "Accedi al tuo account",
284 "welcome.signupButton" : "Crea un account gratuito" 311 "welcome.signupButton" : "Crea un account gratuito",
312 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace",
313 "workspaceDrawer.allServices" : "Tutti i servizi",
314 "workspaceDrawer.headline" : "Workspaces",
315 "workspaceDrawer.item.contextMenuEdit" : "edit",
316 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet",
317 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace",
318 "workspaceDrawer.proFeatureBadge" : "Premium feature",
319 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account",
320 "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>",
321 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings",
322 "workspaces.switchingIndicator.switchingTo" : "Switching to"
285} 323}
diff --git a/src/i18n/locales/ja.json b/src/i18n/locales/ja.json
index bd1024a34..a71df0dbc 100644
--- a/src/i18n/locales/ja.json
+++ b/src/i18n/locales/ja.json
@@ -1,21 +1,22 @@
1{ 1{
2 "app.errorHandler.action" : "å†èª­ã¿è¾¼ã¿", 2 "app.errorHandler.action" : "å†èª­ã¿è¾¼ã¿",
3 "app.errorHandler.headline" : "é–“é•ãˆã¦ã„る部分ãŒã‚ã‚Šã¾ã™", 3 "app.errorHandler.headline" : "é–“é•ãˆã¦ã„る部分ãŒã‚ã‚Šã¾ã™",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}",
4 "feature.delayApp.action" : "Franzサãƒãƒ¼ã‚¿ãƒ¼ãƒ©ã‚¤ã‚»ãƒ³ã‚¹ã‚’購入ã™ã‚‹", 5 "feature.delayApp.action" : "Franzサãƒãƒ¼ã‚¿ãƒ¼ãƒ©ã‚¤ã‚»ãƒ³ã‚¹ã‚’購入ã™ã‚‹",
5 "feature.delayApp.headline" : "Franzã‚’ã™ãã«èµ·å‹•ã™ã‚‹ã«ã¯ã€Franz サãƒãƒ¼ã‚¿ãƒ¼ãƒ©ã‚¤ã‚»ãƒ³ã‚¹ã‚’購入ã—ã¦ãã ã•ã„。", 6 "feature.delayApp.headline" : "Franzã‚’ã™ãã«èµ·å‹•ã™ã‚‹ã«ã¯ã€Franz サãƒãƒ¼ã‚¿ãƒ¼ãƒ©ã‚¤ã‚»ãƒ³ã‚¹ã‚’購入ã—ã¦ãã ã•ã„。",
6 "feature.delayApp.text" : "Franzã¯ã‚ã¨{seconds}秒後ã«èµ·å‹•ã—ã¾ã™ã€‚", 7 "feature.delayApp.text" : "Franzã¯ã‚ã¨{seconds}秒後ã«èµ·å‹•ã—ã¾ã™ã€‚",
7 "feature.shareFranz.action.email" : "Send as email", 8 "feature.shareFranz.action.email" : "メールã§é€ä¿¡",
8 "feature.shareFranz.action.facebook" : "Share on Facebook", 9 "feature.shareFranz.action.facebook" : "Facebookã§ã‚·ã‚§ã‚¢",
9 "feature.shareFranz.action.twitter" : "Share on Twitter", 10 "feature.shareFranz.action.twitter" : "Twitterã§ã‚·ã‚§ã‚¢",
10 "feature.shareFranz.headline" : "Franz is better together!", 11 "feature.shareFranz.headline" : "Franzã¯ã‚ãªãŸã¨ã¨ã‚‚ã«",
11 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", 12 "feature.shareFranz.shareText.email" : "Franzã§{count}個ã®ã‚µãƒ¼ãƒ“スを使ã£ã¦ã„ã¾ã™ï¼ã‚ãªãŸã‚‚Gmail, Messenger, Slack, Skypeãªã©ã®ã‚µãƒ¼ãƒ“スをFranzã§ä¸€å…ƒç®¡ç†ã—ã¾ã—ょã†ï¼ www.meetfranz.com",
12 "feature.shareFranz.shareText.twitter" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com \/cc @MeetFranz", 13 "feature.shareFranz.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.text" : "Tell your friends and colleagues how awesome Franz is and help us to spread the word.", 14 "feature.shareFranz.text" : "ã‚ãªãŸã®ãŠå‹é”ã«Franzã‚’æ•™ãˆã¦ã‚ã’ã¾ã—ょã†ã€‚",
14 "global.api.unhealthy" : "Franzã®ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ã‚µãƒ¼ãƒ“スã«æŽ¥ç¶šã§ãã¾ã›ã‚“。", 15 "global.api.unhealthy" : "Franzã®ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ã‚µãƒ¼ãƒ“スã«æŽ¥ç¶šã§ãã¾ã›ã‚“。",
15 "global.notConnectedToTheInternet" : "インターãƒãƒƒãƒˆã«æŽ¥ç¶šã•ã‚Œã¦ã„ã¾ã›ã‚“。", 16 "global.notConnectedToTheInternet" : "インターãƒãƒƒãƒˆã«æŽ¥ç¶šã•ã‚Œã¦ã„ã¾ã›ã‚“。",
16 "global.spellchecker.useDefault" : " {default}ã‚’åˆæœŸè¨­å®šã§ä½¿ç”¨ã—ã¦ãã ã•ã„", 17 "global.spellchecker.useDefault" : " {default}ã‚’åˆæœŸè¨­å®šã§ä½¿ç”¨ã—ã¦ãã ã•ã„",
17 "global.spellchecking.autodetect" : "Detect language automatically", 18 "global.spellchecking.autodetect" : "言語を自動的ã«æ¤œå‡ºã™ã‚‹",
18 "global.spellchecking.autodetect.short" : "Automatic", 19 "global.spellchecking.autodetect.short" : "自動",
19 "global.spellchecking.language" : "スペルãƒã‚§ãƒƒã‚¯ã™ã‚‹è¨€èªž", 20 "global.spellchecking.language" : "スペルãƒã‚§ãƒƒã‚¯ã™ã‚‹è¨€èªž",
20 "import.headline" : "Franz 4ã®ã‚µãƒ¼ãƒ“スをインãƒãƒ¼ãƒˆã—ã¦ä¸‹ã•ã„", 21 "import.headline" : "Franz 4ã®ã‚µãƒ¼ãƒ“スをインãƒãƒ¼ãƒˆã—ã¦ä¸‹ã•ã„",
21 "import.notSupportedHeadline" : "Franz 5ã§ã¯ã“ã®ã‚µãƒ¼ãƒ“スã«ã¾ã å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“", 22 "import.notSupportedHeadline" : "Franz 5ã§ã¯ã“ã®ã‚µãƒ¼ãƒ“スã«ã¾ã å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“",
@@ -43,6 +44,7 @@
43 "login.submit.label" : "サインイン", 44 "login.submit.label" : "サインイン",
44 "login.tokenExpired" : "セッションã®æœŸé™ãŒåˆ‡ã‚Œã¾ã—ãŸã€‚ログインã—ç›´ã—ã¦ä¸‹ã•ã„。", 45 "login.tokenExpired" : "セッションã®æœŸé™ãŒåˆ‡ã‚Œã¾ã—ãŸã€‚ログインã—ç›´ã—ã¦ä¸‹ã•ã„。",
45 "menu.app.about" : "ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…å ±", 46 "menu.app.about" : "ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…å ±",
47 "menu.app.announcement" : "What's new?",
46 "menu.app.hide" : "éš ã™", 48 "menu.app.hide" : "éš ã™",
47 "menu.app.hideOthers" : "ä»–ã‚’éš ã™", 49 "menu.app.hideOthers" : "ä»–ã‚’éš ã™",
48 "menu.app.quit" : "終了", 50 "menu.app.quit" : "終了",
@@ -70,9 +72,9 @@
70 "menu.help.support" : "サãƒãƒ¼ãƒˆ", 72 "menu.help.support" : "サãƒãƒ¼ãƒˆ",
71 "menu.help.tos" : "サービス利用è¦ç´„", 73 "menu.help.tos" : "サービス利用è¦ç´„",
72 "menu.services" : "サービス", 74 "menu.services" : "サービス",
73 "menu.services.activatePreviousService" : "Activate previous service", 75 "menu.services.activatePreviousService" : "å‰ã®ã‚µãƒ¼ãƒ“スを有効ã«ã™ã‚‹",
74 "menu.services.addNewService" : "サービスを追加", 76 "menu.services.addNewService" : "サービスを追加",
75 "menu.services.setNextServiceActive" : "Activate next service", 77 "menu.services.setNextServiceActive" : "次ã®ã‚µãƒ¼ãƒ“スを有効ã«ã™ã‚‹",
76 "menu.view" : "表示", 78 "menu.view" : "表示",
77 "menu.view.enterFullScreen" : "全画é¢è¡¨ç¤º", 79 "menu.view.enterFullScreen" : "全画é¢è¡¨ç¤º",
78 "menu.view.exitFullScreen" : "全画é¢è¡¨ç¤ºã‚’終了ã™ã‚‹", 80 "menu.view.exitFullScreen" : "全画é¢è¡¨ç¤ºã‚’終了ã™ã‚‹",
@@ -87,6 +89,11 @@
87 "menu.window" : "ウィンドウ", 89 "menu.window" : "ウィンドウ",
88 "menu.window.close" : "é–‰ã˜ã‚‹", 90 "menu.window.close" : "é–‰ã˜ã‚‹",
89 "menu.window.minimize" : "最å°åŒ–", 91 "menu.window.minimize" : "最å°åŒ–",
92 "menu.workspaces" : "Workspaces",
93 "menu.workspaces.addNewWorkspace" : "Add New Workspace...",
94 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer",
95 "menu.workspaces.defaultWorkspace" : "ã™ã¹ã¦ã®ã‚µãƒ¼ãƒ“ス",
96 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer",
90 "password.email.label" : "メールアドレス", 97 "password.email.label" : "メールアドレス",
91 "password.headline" : "パスワードã®ãƒªã‚»ãƒƒãƒˆ", 98 "password.headline" : "パスワードã®ãƒªã‚»ãƒƒãƒˆ",
92 "password.link.login" : "サインイン", 99 "password.link.login" : "サインイン",
@@ -110,6 +117,7 @@
110 "service.errorHandler.headline" : "ã—ã¾ã£ãŸï¼", 117 "service.errorHandler.headline" : "ã—ã¾ã£ãŸï¼",
111 "service.errorHandler.message" : "エラー", 118 "service.errorHandler.message" : "エラー",
112 "service.errorHandler.text" : "{name} ã¯ãƒ­ãƒ¼ãƒ‰ã«å¤±æ•—ã—ã¾ã—ãŸ", 119 "service.errorHandler.text" : "{name} ã¯ãƒ­ãƒ¼ãƒ‰ã«å¤±æ•—ã—ã¾ã—ãŸ",
120 "service.webviewLoader.loading" : "Loading",
113 "services.getStarted" : "ã¯ã˜ã‚ã‚‹", 121 "services.getStarted" : "ã¯ã˜ã‚ã‚‹",
114 "services.welcome" : "Franzã«ã‚ˆã†ã“ã", 122 "services.welcome" : "Franzã«ã‚ˆã†ã“ã",
115 "settings.account.account.editButton" : "アカウントã®ç·¨é›†", 123 "settings.account.account.editButton" : "アカウントã®ç·¨é›†",
@@ -156,6 +164,7 @@
156 "settings.app.headlineGeneral" : "一般", 164 "settings.app.headlineGeneral" : "一般",
157 "settings.app.headlineLanguage" : "言語", 165 "settings.app.headlineLanguage" : "言語",
158 "settings.app.headlineUpdates" : "æ›´æ–°", 166 "settings.app.headlineUpdates" : "æ›´æ–°",
167 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.",
159 "settings.app.restartRequired" : "変更ã«ã¯å†èµ·å‹•ãŒå¿…è¦ã§ã™", 168 "settings.app.restartRequired" : "変更ã«ã¯å†èµ·å‹•ãŒå¿…è¦ã§ã™",
160 "settings.app.subheadlineCache" : "キャッシュ", 169 "settings.app.subheadlineCache" : "キャッシュ",
161 "settings.app.translationHelp" : "Franzã®ç¿»è¨³ä½œæ¥­ã«ã”å”力をãŠé¡˜ã„ã—ã¾ã™ã€‚", 170 "settings.app.translationHelp" : "Franzã®ç¿»è¨³ä½œæ¥­ã«ã”å”力をãŠé¡˜ã„ã—ã¾ã™ã€‚",
@@ -169,6 +178,7 @@
169 "settings.navigation.logout" : "ログアウト", 178 "settings.navigation.logout" : "ログアウト",
170 "settings.navigation.settings" : "設定", 179 "settings.navigation.settings" : "設定",
171 "settings.navigation.yourServices" : "利用中ã®ã‚µãƒ¼ãƒ“ス", 180 "settings.navigation.yourServices" : "利用中ã®ã‚µãƒ¼ãƒ“ス",
181 "settings.navigation.yourWorkspaces" : "Your workspaces",
172 "settings.recipes.all" : "ã™ã¹ã¦ã®ã‚µãƒ¼ãƒ“ス", 182 "settings.recipes.all" : "ã™ã¹ã¦ã®ã‚µãƒ¼ãƒ“ス",
173 "settings.recipes.dev" : "開発版", 183 "settings.recipes.dev" : "開発版",
174 "settings.recipes.headline" : "利用å¯èƒ½ãªã‚µãƒ¼ãƒ“ス", 184 "settings.recipes.headline" : "利用å¯èƒ½ãªã‚µãƒ¼ãƒ“ス",
@@ -221,7 +231,7 @@
221 "settings.services.discoverServices" : "サービスを探ã™", 231 "settings.services.discoverServices" : "サービスを探ã™",
222 "settings.services.headline" : "利用中ã®ã‚µãƒ¼ãƒ“ス", 232 "settings.services.headline" : "利用中ã®ã‚µãƒ¼ãƒ“ス",
223 "settings.services.noServicesAdded" : "ã¾ã ã€ã©ã®ã‚µãƒ¼ãƒ“スも追加ã•ã‚Œã¦ã„ã¾ã›ã‚“。", 233 "settings.services.noServicesAdded" : "ã¾ã ã€ã©ã®ã‚µãƒ¼ãƒ“スも追加ã•ã‚Œã¦ã„ã¾ã›ã‚“。",
224 "settings.services.servicesRequestFailed" : "Could not load your services", 234 "settings.services.servicesRequestFailed" : "サービスを読ã¿è¾¼ã‚€ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸ",
225 "settings.services.tooltip.isDisabled" : "サービスãŒç„¡åŠ¹ã§ã™", 235 "settings.services.tooltip.isDisabled" : "サービスãŒç„¡åŠ¹ã§ã™",
226 "settings.services.tooltip.isMuted" : "無音ã¨ãªã£ã¦ã„ã¾ã™", 236 "settings.services.tooltip.isMuted" : "無音ã¨ãªã£ã¦ã„ã¾ã™",
227 "settings.services.tooltip.notificationsDisabled" : "通知ã¯ç„¡åŠ¹ã§ã™", 237 "settings.services.tooltip.notificationsDisabled" : "通知ã¯ç„¡åŠ¹ã§ã™",
@@ -235,8 +245,25 @@
235 "settings.user.form.firstname" : "å", 245 "settings.user.form.firstname" : "å",
236 "settings.user.form.lastname" : "姓", 246 "settings.user.form.lastname" : "姓",
237 "settings.user.form.newPassword" : "æ–°ã—ã„パスワード", 247 "settings.user.form.newPassword" : "æ–°ã—ã„パスワード",
248 "settings.workspace.add.form.name" : "Name",
249 "settings.workspace.add.form.submitButton" : "Create workspace",
250 "settings.workspace.form.buttonDelete" : "Delete workspace",
251 "settings.workspace.form.buttonSave" : "Save workspace",
252 "settings.workspace.form.name" : "Name",
253 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace",
254 "settings.workspace.form.yourWorkspaces" : "Your workspaces",
255 "settings.workspaces.deletedInfo" : "Workspace has been deleted",
256 "settings.workspaces.headline" : "Your workspaces",
257 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.",
258 "settings.workspaces.tryReloadWorkspaces" : "ã‚‚ã†ä¸€åº¦è©¦ã™",
259 "settings.workspaces.updatedInfo" : "変更内容ãŒä¿å­˜ã•ã‚Œã¾ã—ãŸ",
260 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces",
261 "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.",
262 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces",
238 "sidebar.addNewService" : "サービスを追加", 263 "sidebar.addNewService" : "サービスを追加",
264 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer",
239 "sidebar.muteApp" : "通知ã¨ã‚ªãƒ¼ãƒ‡ã‚£ã‚ªã‚’無効化", 265 "sidebar.muteApp" : "通知ã¨ã‚ªãƒ¼ãƒ‡ã‚£ã‚ªã‚’無効化",
266 "sidebar.openWorkspaceDrawer" : "Open workspace drawer",
240 "sidebar.settings" : "設定", 267 "sidebar.settings" : "設定",
241 "sidebar.unmuteApp" : "通知ã¨ã‚ªãƒ¼ãƒ‡ã‚£ã‚ªã‚’有効化", 268 "sidebar.unmuteApp" : "通知ã¨ã‚ªãƒ¼ãƒ‡ã‚£ã‚ªã‚’有効化",
242 "signup.company.label" : "法人", 269 "signup.company.label" : "法人",
@@ -277,9 +304,20 @@
277 "tabs.item.reload" : "å†èª­ã¿è¾¼ã¿", 304 "tabs.item.reload" : "å†èª­ã¿è¾¼ã¿",
278 "validation.email" : "{field}ã¯æ­£ã—ãã‚ã‚Šã¾ã›ã‚“", 305 "validation.email" : "{field}ã¯æ­£ã—ãã‚ã‚Šã¾ã›ã‚“",
279 "validation.minLength" : "{field}ã¯å°‘ãªãã¨ã‚‚{length}文字以上ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“", 306 "validation.minLength" : "{field}ã¯å°‘ãªãã¨ã‚‚{length}文字以上ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“",
280 "validation.oneRequired" : "At least one is required", 307 "validation.oneRequired" : "å°‘ãªãã¨ã‚‚1ã¤ã¯å¿…è¦ã§ã™",
281 "validation.required" : "{field}ã¯å¿…é ˆã§ã™", 308 "validation.required" : "{field}ã¯å¿…é ˆã§ã™",
282 "validation.url" : "{field}ã¯æ­£ã—ã„URLã§ã¯ã‚ã‚Šã¾ã›ã‚“", 309 "validation.url" : "{field}ã¯æ­£ã—ã„URLã§ã¯ã‚ã‚Šã¾ã›ã‚“",
283 "welcome.loginButton" : "アカウントã«ãƒ­ã‚°ã‚¤ãƒ³", 310 "welcome.loginButton" : "アカウントã«ãƒ­ã‚°ã‚¤ãƒ³",
284 "welcome.signupButton" : "無料アカウントを作æˆ" 311 "welcome.signupButton" : "無料アカウントを作æˆ",
312 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace",
313 "workspaceDrawer.allServices" : "ã™ã¹ã¦ã®ã‚µãƒ¼ãƒ“ス",
314 "workspaceDrawer.headline" : "Workspaces",
315 "workspaceDrawer.item.contextMenuEdit" : "edit",
316 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet",
317 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace",
318 "workspaceDrawer.proFeatureBadge" : "Premium feature",
319 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account",
320 "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>",
321 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings",
322 "workspaces.switchingIndicator.switchingTo" : "Switching to"
285} 323}
diff --git a/src/i18n/locales/ka.json b/src/i18n/locales/ka.json
index 4796cbe9f..097e559b3 100644
--- a/src/i18n/locales/ka.json
+++ b/src/i18n/locales/ka.json
@@ -1,6 +1,7 @@
1{ 1{
2 "app.errorHandler.action" : "ჩáƒáƒ¢áƒ•áƒ˜áƒ áƒ—ვáƒ", 2 "app.errorHandler.action" : "ჩáƒáƒ¢áƒ•áƒ˜áƒ áƒ—ვáƒ",
3 "app.errorHandler.headline" : "Something went wrong", 3 "app.errorHandler.headline" : "Something went wrong",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}",
4 "feature.delayApp.action" : "Get a Franz Supporter License", 5 "feature.delayApp.action" : "Get a Franz Supporter License",
5 "feature.delayApp.headline" : "Please purchase a Franz Supporter License to skip waiting", 6 "feature.delayApp.headline" : "Please purchase a Franz Supporter License to skip waiting",
6 "feature.delayApp.text" : "Franz will continue in {seconds} seconds.", 7 "feature.delayApp.text" : "Franz will continue in {seconds} seconds.",
@@ -9,7 +10,7 @@
9 "feature.shareFranz.action.twitter" : "Share on Twitter", 10 "feature.shareFranz.action.twitter" : "Share on Twitter",
10 "feature.shareFranz.headline" : "Franz is better together!", 11 "feature.shareFranz.headline" : "Franz is better together!",
11 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", 12 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com",
12 "feature.shareFranz.shareText.twitter" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com \/cc @MeetFranz", 13 "feature.shareFranz.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.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.",
14 "global.api.unhealthy" : "Franz-ის áƒáƒœáƒšáƒáƒ˜áƒœ სერვისთáƒáƒœ დáƒáƒ™áƒáƒ•áƒ¨áƒ˜áƒ áƒ”ბრვერ მáƒáƒ®áƒ”რხდáƒ", 15 "global.api.unhealthy" : "Franz-ის áƒáƒœáƒšáƒáƒ˜áƒœ სერვისთáƒáƒœ დáƒáƒ™áƒáƒ•áƒ¨áƒ˜áƒ áƒ”ბრვერ მáƒáƒ®áƒ”რხდáƒ",
15 "global.notConnectedToTheInternet" : "თქვენ áƒáƒ  ხáƒáƒ áƒ— ინტერნეტთáƒáƒœ დáƒáƒ™áƒáƒ•áƒ¨áƒ˜áƒ áƒ”ბული.", 16 "global.notConnectedToTheInternet" : "თქვენ áƒáƒ  ხáƒáƒ áƒ— ინტერნეტთáƒáƒœ დáƒáƒ™áƒáƒ•áƒ¨áƒ˜áƒ áƒ”ბული.",
@@ -43,6 +44,7 @@
43 "login.submit.label" : "შესვლáƒ", 44 "login.submit.label" : "შესვლáƒ",
44 "login.tokenExpired" : "თქვენს სესიáƒáƒ¡ ვáƒáƒ“რგáƒáƒ£áƒ•áƒ˜áƒ“áƒ, შედით áƒáƒœáƒ’áƒáƒ áƒ˜áƒ¨áƒ¨áƒ˜ ხელáƒáƒ®áƒšáƒ.", 45 "login.tokenExpired" : "თქვენს სესიáƒáƒ¡ ვáƒáƒ“რგáƒáƒ£áƒ•áƒ˜áƒ“áƒ, შედით áƒáƒœáƒ’áƒáƒ áƒ˜áƒ¨áƒ¨áƒ˜ ხელáƒáƒ®áƒšáƒ.",
45 "menu.app.about" : "Franz-ის შესáƒáƒ®áƒ”ბ", 46 "menu.app.about" : "Franz-ის შესáƒáƒ®áƒ”ბ",
47 "menu.app.announcement" : "What's new?",
46 "menu.app.hide" : "Hide", 48 "menu.app.hide" : "Hide",
47 "menu.app.hideOthers" : "სხვების დáƒáƒ›áƒáƒšáƒ•áƒ", 49 "menu.app.hideOthers" : "სხვების დáƒáƒ›áƒáƒšáƒ•áƒ",
48 "menu.app.quit" : "გáƒáƒ›áƒáƒ¡áƒ•áƒšáƒ", 50 "menu.app.quit" : "გáƒáƒ›áƒáƒ¡áƒ•áƒšáƒ",
@@ -87,6 +89,11 @@
87 "menu.window" : "Window", 89 "menu.window" : "Window",
88 "menu.window.close" : "Close", 90 "menu.window.close" : "Close",
89 "menu.window.minimize" : "Minimize", 91 "menu.window.minimize" : "Minimize",
92 "menu.workspaces" : "Workspaces",
93 "menu.workspaces.addNewWorkspace" : "Add New Workspace...",
94 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer",
95 "menu.workspaces.defaultWorkspace" : "ყველრსერვისი",
96 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer",
90 "password.email.label" : "მეილი", 97 "password.email.label" : "მეილი",
91 "password.headline" : "პáƒáƒ áƒáƒšáƒ˜áƒ¡ áƒáƒ¦áƒ“გენáƒ", 98 "password.headline" : "პáƒáƒ áƒáƒšáƒ˜áƒ¡ áƒáƒ¦áƒ“გენáƒ",
92 "password.link.login" : "შედით თქვენს áƒáƒœáƒ’áƒáƒ áƒ˜áƒ¨áƒ¨áƒ˜", 99 "password.link.login" : "შედით თქვენს áƒáƒœáƒ’áƒáƒ áƒ˜áƒ¨áƒ¨áƒ˜",
@@ -110,6 +117,7 @@
110 "service.errorHandler.headline" : "Oh no!", 117 "service.errorHandler.headline" : "Oh no!",
111 "service.errorHandler.message" : "შეცდáƒáƒ›áƒ", 118 "service.errorHandler.message" : "შეცდáƒáƒ›áƒ",
112 "service.errorHandler.text" : "{name} has failed to load.", 119 "service.errorHandler.text" : "{name} has failed to load.",
120 "service.webviewLoader.loading" : "Loading",
113 "services.getStarted" : "დáƒáƒ¬áƒ§áƒ”ბáƒ", 121 "services.getStarted" : "დáƒáƒ¬áƒ§áƒ”ბáƒ",
114 "services.welcome" : "მáƒáƒ’ესáƒáƒšáƒ›áƒ”ბით Franz-ზე", 122 "services.welcome" : "მáƒáƒ’ესáƒáƒšáƒ›áƒ”ბით Franz-ზე",
115 "settings.account.account.editButton" : "áƒáƒœáƒ’áƒáƒ áƒ˜áƒ¨áƒ˜áƒ¡ მáƒáƒ áƒ—ვáƒ", 123 "settings.account.account.editButton" : "áƒáƒœáƒ’áƒáƒ áƒ˜áƒ¨áƒ˜áƒ¡ მáƒáƒ áƒ—ვáƒ",
@@ -156,6 +164,7 @@
156 "settings.app.headlineGeneral" : "მთáƒáƒ•áƒáƒ áƒ˜", 164 "settings.app.headlineGeneral" : "მთáƒáƒ•áƒáƒ áƒ˜",
157 "settings.app.headlineLanguage" : "ენáƒ", 165 "settings.app.headlineLanguage" : "ენáƒ",
158 "settings.app.headlineUpdates" : "გáƒáƒœáƒáƒ®áƒšáƒ”ბები", 166 "settings.app.headlineUpdates" : "გáƒáƒœáƒáƒ®áƒšáƒ”ბები",
167 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.",
159 "settings.app.restartRequired" : "Changes require restart", 168 "settings.app.restartRequired" : "Changes require restart",
160 "settings.app.subheadlineCache" : "Cache", 169 "settings.app.subheadlineCache" : "Cache",
161 "settings.app.translationHelp" : "Help us to translate Franz into your language.", 170 "settings.app.translationHelp" : "Help us to translate Franz into your language.",
@@ -169,6 +178,7 @@
169 "settings.navigation.logout" : "გáƒáƒ¡áƒ•áƒšáƒ", 178 "settings.navigation.logout" : "გáƒáƒ¡áƒ•áƒšáƒ",
170 "settings.navigation.settings" : "პáƒáƒ áƒáƒ›áƒ”ტრები", 179 "settings.navigation.settings" : "პáƒáƒ áƒáƒ›áƒ”ტრები",
171 "settings.navigation.yourServices" : "თქვენი სერვისები", 180 "settings.navigation.yourServices" : "თქვენი სერვისები",
181 "settings.navigation.yourWorkspaces" : "Your workspaces",
172 "settings.recipes.all" : "ყველრსერვისი", 182 "settings.recipes.all" : "ყველრსერვისი",
173 "settings.recipes.dev" : "გáƒáƒœáƒ•áƒ˜áƒ—áƒáƒ áƒ”ბáƒ", 183 "settings.recipes.dev" : "გáƒáƒœáƒ•áƒ˜áƒ—áƒáƒ áƒ”ბáƒ",
174 "settings.recipes.headline" : "ხელმისáƒáƒ¬áƒ•áƒ“áƒáƒ›áƒ˜ სერვისები", 184 "settings.recipes.headline" : "ხელმისáƒáƒ¬áƒ•áƒ“áƒáƒ›áƒ˜ სერვისები",
@@ -235,8 +245,25 @@
235 "settings.user.form.firstname" : "First Name", 245 "settings.user.form.firstname" : "First Name",
236 "settings.user.form.lastname" : "Last Name", 246 "settings.user.form.lastname" : "Last Name",
237 "settings.user.form.newPassword" : "áƒáƒ®áƒáƒšáƒ˜ პáƒáƒ áƒáƒšáƒ˜", 247 "settings.user.form.newPassword" : "áƒáƒ®áƒáƒšáƒ˜ პáƒáƒ áƒáƒšáƒ˜",
248 "settings.workspace.add.form.name" : "Name",
249 "settings.workspace.add.form.submitButton" : "Create workspace",
250 "settings.workspace.form.buttonDelete" : "Delete workspace",
251 "settings.workspace.form.buttonSave" : "Save workspace",
252 "settings.workspace.form.name" : "Name",
253 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace",
254 "settings.workspace.form.yourWorkspaces" : "Your workspaces",
255 "settings.workspaces.deletedInfo" : "Workspace has been deleted",
256 "settings.workspaces.headline" : "Your workspaces",
257 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.",
258 "settings.workspaces.tryReloadWorkspaces" : "სცáƒáƒ“ეთ ხელáƒáƒ®áƒšáƒ",
259 "settings.workspaces.updatedInfo" : "Your changes have been saved",
260 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces",
261 "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.",
262 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces",
238 "sidebar.addNewService" : "Add new service", 263 "sidebar.addNewService" : "Add new service",
264 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer",
239 "sidebar.muteApp" : "Disable notifications & audio", 265 "sidebar.muteApp" : "Disable notifications & audio",
266 "sidebar.openWorkspaceDrawer" : "Open workspace drawer",
240 "sidebar.settings" : "პáƒáƒ áƒáƒ›áƒ”ტრები", 267 "sidebar.settings" : "პáƒáƒ áƒáƒ›áƒ”ტრები",
241 "sidebar.unmuteApp" : "Enable notifications & audio", 268 "sidebar.unmuteApp" : "Enable notifications & audio",
242 "signup.company.label" : "კáƒáƒ›áƒžáƒáƒœáƒ˜áƒ", 269 "signup.company.label" : "კáƒáƒ›áƒžáƒáƒœáƒ˜áƒ",
@@ -281,5 +308,16 @@
281 "validation.required" : "{field} is required", 308 "validation.required" : "{field} is required",
282 "validation.url" : "{field} is not a valid URL", 309 "validation.url" : "{field} is not a valid URL",
283 "welcome.loginButton" : "შედით თქვენს áƒáƒœáƒ’áƒáƒ áƒ˜áƒ¨áƒ¨áƒ˜", 310 "welcome.loginButton" : "შედით თქვენს áƒáƒœáƒ’áƒáƒ áƒ˜áƒ¨áƒ¨áƒ˜",
284 "welcome.signupButton" : "შექმენი áƒáƒœáƒ’áƒáƒ áƒ˜áƒ¨áƒ˜, ეს უფáƒáƒ¡áƒáƒ" 311 "welcome.signupButton" : "შექმენი áƒáƒœáƒ’áƒáƒ áƒ˜áƒ¨áƒ˜, ეს უფáƒáƒ¡áƒáƒ",
312 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace",
313 "workspaceDrawer.allServices" : "ყველრსერვისი",
314 "workspaceDrawer.headline" : "Workspaces",
315 "workspaceDrawer.item.contextMenuEdit" : "edit",
316 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet",
317 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace",
318 "workspaceDrawer.proFeatureBadge" : "Premium feature",
319 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account",
320 "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>",
321 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings",
322 "workspaces.switchingIndicator.switchingTo" : "Switching to"
285} 323}
diff --git a/src/i18n/locales/nl-BE.json b/src/i18n/locales/nl-BE.json
index 00d7ddd06..82e2b5d72 100644
--- a/src/i18n/locales/nl-BE.json
+++ b/src/i18n/locales/nl-BE.json
@@ -1,6 +1,7 @@
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.delayApp.action" : "Neem een Franz Supporter Licentie ", 5 "feature.delayApp.action" : "Neem een Franz Supporter Licentie ",
5 "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",
6 "feature.delayApp.text" : "Franz gaat over {seconds} seconden verder.", 7 "feature.delayApp.text" : "Franz gaat over {seconds} seconden verder.",
@@ -9,7 +10,7 @@
9 "feature.shareFranz.action.twitter" : "Share on Twitter", 10 "feature.shareFranz.action.twitter" : "Share on Twitter",
10 "feature.shareFranz.headline" : "Franz is better together!", 11 "feature.shareFranz.headline" : "Franz is better together!",
11 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", 12 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com",
12 "feature.shareFranz.shareText.twitter" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com \/cc @MeetFranz", 13 "feature.shareFranz.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.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.",
14 "global.api.unhealthy" : "Kan geen verbinding maken met de Franz services", 15 "global.api.unhealthy" : "Kan geen verbinding maken met de Franz services",
15 "global.notConnectedToTheInternet" : "Je hebt geen internet verbinding.", 16 "global.notConnectedToTheInternet" : "Je hebt geen internet verbinding.",
@@ -43,6 +44,7 @@
43 "login.submit.label" : "Inloggen", 44 "login.submit.label" : "Inloggen",
44 "login.tokenExpired" : "De sessie is verlopen, log opnieuw in alsjeblieft.", 45 "login.tokenExpired" : "De sessie is verlopen, log opnieuw in alsjeblieft.",
45 "menu.app.about" : "Over Franz", 46 "menu.app.about" : "Over Franz",
47 "menu.app.announcement" : "What's new?",
46 "menu.app.hide" : "Verbergen", 48 "menu.app.hide" : "Verbergen",
47 "menu.app.hideOthers" : "Andere Verbergen", 49 "menu.app.hideOthers" : "Andere Verbergen",
48 "menu.app.quit" : "Afsluiten", 50 "menu.app.quit" : "Afsluiten",
@@ -87,6 +89,11 @@
87 "menu.window" : "Venster", 89 "menu.window" : "Venster",
88 "menu.window.close" : "Sluiten", 90 "menu.window.close" : "Sluiten",
89 "menu.window.minimize" : "Minimaliseren", 91 "menu.window.minimize" : "Minimaliseren",
92 "menu.workspaces" : "Workspaces",
93 "menu.workspaces.addNewWorkspace" : "Add New Workspace...",
94 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer",
95 "menu.workspaces.defaultWorkspace" : "Alle services",
96 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer",
90 "password.email.label" : "E-mailadres", 97 "password.email.label" : "E-mailadres",
91 "password.headline" : "Wachtwoord resetten", 98 "password.headline" : "Wachtwoord resetten",
92 "password.link.login" : "Log in op je account", 99 "password.link.login" : "Log in op je account",
@@ -110,6 +117,7 @@
110 "service.errorHandler.headline" : "Oh nee!", 117 "service.errorHandler.headline" : "Oh nee!",
111 "service.errorHandler.message" : "Fout", 118 "service.errorHandler.message" : "Fout",
112 "service.errorHandler.text" : "{name} kon niet geladen worden.", 119 "service.errorHandler.text" : "{name} kon niet geladen worden.",
120 "service.webviewLoader.loading" : "Loading",
113 "services.getStarted" : "Beginnen", 121 "services.getStarted" : "Beginnen",
114 "services.welcome" : "Welkom bij Franz", 122 "services.welcome" : "Welkom bij Franz",
115 "settings.account.account.editButton" : "Account bewerken", 123 "settings.account.account.editButton" : "Account bewerken",
@@ -156,6 +164,7 @@
156 "settings.app.headlineGeneral" : "Algemeen", 164 "settings.app.headlineGeneral" : "Algemeen",
157 "settings.app.headlineLanguage" : "Taal", 165 "settings.app.headlineLanguage" : "Taal",
158 "settings.app.headlineUpdates" : "Updates", 166 "settings.app.headlineUpdates" : "Updates",
167 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.",
159 "settings.app.restartRequired" : "Deze wijziging heeft een herstart nodig", 168 "settings.app.restartRequired" : "Deze wijziging heeft een herstart nodig",
160 "settings.app.subheadlineCache" : "Cache", 169 "settings.app.subheadlineCache" : "Cache",
161 "settings.app.translationHelp" : "Help ons om Franz te vertalen naar uw taal.", 170 "settings.app.translationHelp" : "Help ons om Franz te vertalen naar uw taal.",
@@ -169,6 +178,7 @@
169 "settings.navigation.logout" : "Uitloggen", 178 "settings.navigation.logout" : "Uitloggen",
170 "settings.navigation.settings" : "Instellingen", 179 "settings.navigation.settings" : "Instellingen",
171 "settings.navigation.yourServices" : "Jouw services", 180 "settings.navigation.yourServices" : "Jouw services",
181 "settings.navigation.yourWorkspaces" : "Your workspaces",
172 "settings.recipes.all" : "Alle services", 182 "settings.recipes.all" : "Alle services",
173 "settings.recipes.dev" : "Ontwikkeling", 183 "settings.recipes.dev" : "Ontwikkeling",
174 "settings.recipes.headline" : "Beschikbare services", 184 "settings.recipes.headline" : "Beschikbare services",
@@ -235,8 +245,25 @@
235 "settings.user.form.firstname" : "Voornaam", 245 "settings.user.form.firstname" : "Voornaam",
236 "settings.user.form.lastname" : "Achternaam", 246 "settings.user.form.lastname" : "Achternaam",
237 "settings.user.form.newPassword" : "Nieuw wachtwoord", 247 "settings.user.form.newPassword" : "Nieuw wachtwoord",
248 "settings.workspace.add.form.name" : "Naam",
249 "settings.workspace.add.form.submitButton" : "Create workspace",
250 "settings.workspace.form.buttonDelete" : "Delete workspace",
251 "settings.workspace.form.buttonSave" : "Save workspace",
252 "settings.workspace.form.name" : "Naam",
253 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace",
254 "settings.workspace.form.yourWorkspaces" : "Your workspaces",
255 "settings.workspaces.deletedInfo" : "Workspace has been deleted",
256 "settings.workspaces.headline" : "Your workspaces",
257 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.",
258 "settings.workspaces.tryReloadWorkspaces" : "Probeer opnieuw",
259 "settings.workspaces.updatedInfo" : "Je wijzigingen zijn opgeslagen",
260 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces",
261 "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.",
262 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces",
238 "sidebar.addNewService" : "Nieuw service toevoegen", 263 "sidebar.addNewService" : "Nieuw service toevoegen",
264 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer",
239 "sidebar.muteApp" : "Berichten & geluid uitschakelen", 265 "sidebar.muteApp" : "Berichten & geluid uitschakelen",
266 "sidebar.openWorkspaceDrawer" : "Open workspace drawer",
240 "sidebar.settings" : "Instellingen", 267 "sidebar.settings" : "Instellingen",
241 "sidebar.unmuteApp" : "Berichten & geluid inschakelen", 268 "sidebar.unmuteApp" : "Berichten & geluid inschakelen",
242 "signup.company.label" : "Bedrijf", 269 "signup.company.label" : "Bedrijf",
@@ -281,5 +308,16 @@
281 "validation.required" : "{field} is vereist", 308 "validation.required" : "{field} is vereist",
282 "validation.url" : "{field} is niet een geldige URL", 309 "validation.url" : "{field} is niet een geldige URL",
283 "welcome.loginButton" : "Inloggen op je account", 310 "welcome.loginButton" : "Inloggen op je account",
284 "welcome.signupButton" : "Maak een gratis account aan" 311 "welcome.signupButton" : "Maak een gratis account aan",
312 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace",
313 "workspaceDrawer.allServices" : "Alle services",
314 "workspaceDrawer.headline" : "Workspaces",
315 "workspaceDrawer.item.contextMenuEdit" : "edit",
316 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet",
317 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace",
318 "workspaceDrawer.proFeatureBadge" : "Premium feature",
319 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account",
320 "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>",
321 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings",
322 "workspaces.switchingIndicator.switchingTo" : "Switching to"
285} 323}
diff --git a/src/i18n/locales/nl.json b/src/i18n/locales/nl.json
index 782c29a6c..64dbcff4a 100644
--- a/src/i18n/locales/nl.json
+++ b/src/i18n/locales/nl.json
@@ -1,6 +1,7 @@
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.delayApp.action" : "Sponsor Franz", 5 "feature.delayApp.action" : "Sponsor Franz",
5 "feature.delayApp.headline" : "Sponsor Franz om wachten over te slaan", 6 "feature.delayApp.headline" : "Sponsor Franz om wachten over te slaan",
6 "feature.delayApp.text" : "Franz gaat over {seconds} seconden verder.", 7 "feature.delayApp.text" : "Franz gaat over {seconds} seconden verder.",
@@ -9,7 +10,7 @@
9 "feature.shareFranz.action.twitter" : "Share on Twitter", 10 "feature.shareFranz.action.twitter" : "Share on Twitter",
10 "feature.shareFranz.headline" : "Franz is better together!", 11 "feature.shareFranz.headline" : "Franz is better together!",
11 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", 12 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com",
12 "feature.shareFranz.shareText.twitter" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com \/cc @MeetFranz", 13 "feature.shareFranz.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.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.",
14 "global.api.unhealthy" : "Kan geen verbinding maken met de Franz-services", 15 "global.api.unhealthy" : "Kan geen verbinding maken met de Franz-services",
15 "global.notConnectedToTheInternet" : "U bent niet verbonden met het internet.", 16 "global.notConnectedToTheInternet" : "U bent niet verbonden met het internet.",
@@ -43,6 +44,7 @@
43 "login.submit.label" : "Inloggen", 44 "login.submit.label" : "Inloggen",
44 "login.tokenExpired" : "De sessie is verlopen, log opnieuw in alsjeblieft.", 45 "login.tokenExpired" : "De sessie is verlopen, log opnieuw in alsjeblieft.",
45 "menu.app.about" : "Over Franz", 46 "menu.app.about" : "Over Franz",
47 "menu.app.announcement" : "What's new?",
46 "menu.app.hide" : "Verbergen", 48 "menu.app.hide" : "Verbergen",
47 "menu.app.hideOthers" : "Andere verbergen", 49 "menu.app.hideOthers" : "Andere verbergen",
48 "menu.app.quit" : "Afsluiten", 50 "menu.app.quit" : "Afsluiten",
@@ -87,6 +89,11 @@
87 "menu.window" : "Venster", 89 "menu.window" : "Venster",
88 "menu.window.close" : "Sluiten", 90 "menu.window.close" : "Sluiten",
89 "menu.window.minimize" : "Minimaliseren", 91 "menu.window.minimize" : "Minimaliseren",
92 "menu.workspaces" : "Workspaces",
93 "menu.workspaces.addNewWorkspace" : "Add New Workspace...",
94 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer",
95 "menu.workspaces.defaultWorkspace" : "Alle services",
96 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer",
90 "password.email.label" : "E-mailadres", 97 "password.email.label" : "E-mailadres",
91 "password.headline" : "Wachtwoord vergeten", 98 "password.headline" : "Wachtwoord vergeten",
92 "password.link.login" : "Log in op je account", 99 "password.link.login" : "Log in op je account",
@@ -110,6 +117,7 @@
110 "service.errorHandler.headline" : "Oh nee!", 117 "service.errorHandler.headline" : "Oh nee!",
111 "service.errorHandler.message" : "Fout", 118 "service.errorHandler.message" : "Fout",
112 "service.errorHandler.text" : "{name} kon niet geladen worden.", 119 "service.errorHandler.text" : "{name} kon niet geladen worden.",
120 "service.webviewLoader.loading" : "Loading",
113 "services.getStarted" : "Begin", 121 "services.getStarted" : "Begin",
114 "services.welcome" : "Welkom bij Franz", 122 "services.welcome" : "Welkom bij Franz",
115 "settings.account.account.editButton" : "Bewerk account", 123 "settings.account.account.editButton" : "Bewerk account",
@@ -156,6 +164,7 @@
156 "settings.app.headlineGeneral" : "Algemeen", 164 "settings.app.headlineGeneral" : "Algemeen",
157 "settings.app.headlineLanguage" : "Taal", 165 "settings.app.headlineLanguage" : "Taal",
158 "settings.app.headlineUpdates" : "Updates", 166 "settings.app.headlineUpdates" : "Updates",
167 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.",
159 "settings.app.restartRequired" : "Deze wijziging heeft een herstart nodig", 168 "settings.app.restartRequired" : "Deze wijziging heeft een herstart nodig",
160 "settings.app.subheadlineCache" : "Cache", 169 "settings.app.subheadlineCache" : "Cache",
161 "settings.app.translationHelp" : "Help ons om Franz te vertalen naar uw taal.", 170 "settings.app.translationHelp" : "Help ons om Franz te vertalen naar uw taal.",
@@ -169,6 +178,7 @@
169 "settings.navigation.logout" : "Uitloggen", 178 "settings.navigation.logout" : "Uitloggen",
170 "settings.navigation.settings" : "Instellingen", 179 "settings.navigation.settings" : "Instellingen",
171 "settings.navigation.yourServices" : "Jouw services", 180 "settings.navigation.yourServices" : "Jouw services",
181 "settings.navigation.yourWorkspaces" : "Your workspaces",
172 "settings.recipes.all" : "Alle services", 182 "settings.recipes.all" : "Alle services",
173 "settings.recipes.dev" : "Ontwikkeling", 183 "settings.recipes.dev" : "Ontwikkeling",
174 "settings.recipes.headline" : "Beschikbare services", 184 "settings.recipes.headline" : "Beschikbare services",
@@ -235,8 +245,25 @@
235 "settings.user.form.firstname" : "Voornaam", 245 "settings.user.form.firstname" : "Voornaam",
236 "settings.user.form.lastname" : "Achternaam", 246 "settings.user.form.lastname" : "Achternaam",
237 "settings.user.form.newPassword" : "Nieuw wachtwoord", 247 "settings.user.form.newPassword" : "Nieuw wachtwoord",
248 "settings.workspace.add.form.name" : "Naam",
249 "settings.workspace.add.form.submitButton" : "Create workspace",
250 "settings.workspace.form.buttonDelete" : "Delete workspace",
251 "settings.workspace.form.buttonSave" : "Save workspace",
252 "settings.workspace.form.name" : "Naam",
253 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace",
254 "settings.workspace.form.yourWorkspaces" : "Your workspaces",
255 "settings.workspaces.deletedInfo" : "Workspace has been deleted",
256 "settings.workspaces.headline" : "Your workspaces",
257 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.",
258 "settings.workspaces.tryReloadWorkspaces" : "Probeer opnieuw",
259 "settings.workspaces.updatedInfo" : "Je wijzigingen zijn opgeslagen",
260 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces",
261 "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.",
262 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces",
238 "sidebar.addNewService" : "Voeg service toe", 263 "sidebar.addNewService" : "Voeg service toe",
264 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer",
239 "sidebar.muteApp" : "Schakel berichten & geluid uit", 265 "sidebar.muteApp" : "Schakel berichten & geluid uit",
266 "sidebar.openWorkspaceDrawer" : "Open workspace drawer",
240 "sidebar.settings" : "Instellingen", 267 "sidebar.settings" : "Instellingen",
241 "sidebar.unmuteApp" : "Berichten & geluid inschakelen", 268 "sidebar.unmuteApp" : "Berichten & geluid inschakelen",
242 "signup.company.label" : "Bedrijf", 269 "signup.company.label" : "Bedrijf",
@@ -281,5 +308,16 @@
281 "validation.required" : "{field} is vereist", 308 "validation.required" : "{field} is vereist",
282 "validation.url" : "{field} is niet een geldige URL", 309 "validation.url" : "{field} is niet een geldige URL",
283 "welcome.loginButton" : "Log in op je account", 310 "welcome.loginButton" : "Log in op je account",
284 "welcome.signupButton" : "Maak een gratis account" 311 "welcome.signupButton" : "Maak een gratis account",
312 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace",
313 "workspaceDrawer.allServices" : "Alle services",
314 "workspaceDrawer.headline" : "Workspaces",
315 "workspaceDrawer.item.contextMenuEdit" : "edit",
316 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet",
317 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace",
318 "workspaceDrawer.proFeatureBadge" : "Premium feature",
319 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account",
320 "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>",
321 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings",
322 "workspaces.switchingIndicator.switchingTo" : "Switching to"
285} 323}
diff --git a/src/i18n/locales/pl.json b/src/i18n/locales/pl.json
index dd70f25f7..2e446bb2b 100644
--- a/src/i18n/locales/pl.json
+++ b/src/i18n/locales/pl.json
@@ -1,6 +1,7 @@
1{ 1{
2 "app.errorHandler.action" : "Przeładuj", 2 "app.errorHandler.action" : "Przeładuj",
3 "app.errorHandler.headline" : "Coś poszło nie tak", 3 "app.errorHandler.headline" : "Coś poszło nie tak",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}",
4 "feature.delayApp.action" : "Uzyskaj licencjÄ™ Franz Supporter", 5 "feature.delayApp.action" : "Uzyskaj licencjÄ™ Franz Supporter",
5 "feature.delayApp.headline" : "Aby nie czekać kup licencję Franz Supporter", 6 "feature.delayApp.headline" : "Aby nie czekać kup licencję Franz Supporter",
6 "feature.delayApp.text" : "Franz będzie kontynuował za {seconds} sekund.", 7 "feature.delayApp.text" : "Franz będzie kontynuował za {seconds} sekund.",
@@ -9,7 +10,7 @@
9 "feature.shareFranz.action.twitter" : "Share on Twitter", 10 "feature.shareFranz.action.twitter" : "Share on Twitter",
10 "feature.shareFranz.headline" : "Franz is better together!", 11 "feature.shareFranz.headline" : "Franz is better together!",
11 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", 12 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com",
12 "feature.shareFranz.shareText.twitter" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com \/cc @MeetFranz", 13 "feature.shareFranz.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.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.",
14 "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",
15 "global.notConnectedToTheInternet" : "Nie masz połączenia z Internetem.", 16 "global.notConnectedToTheInternet" : "Nie masz połączenia z Internetem.",
@@ -43,6 +44,7 @@
43 "login.submit.label" : "Zaloguj siÄ™", 44 "login.submit.label" : "Zaloguj siÄ™",
44 "login.tokenExpired" : "Twoja sesja wygasła, zaloguj się ponownie.", 45 "login.tokenExpired" : "Twoja sesja wygasła, zaloguj się ponownie.",
45 "menu.app.about" : "O Franz", 46 "menu.app.about" : "O Franz",
47 "menu.app.announcement" : "What's new?",
46 "menu.app.hide" : "Ukryj", 48 "menu.app.hide" : "Ukryj",
47 "menu.app.hideOthers" : "Ukryj pozostałe", 49 "menu.app.hideOthers" : "Ukryj pozostałe",
48 "menu.app.quit" : "Zakończ", 50 "menu.app.quit" : "Zakończ",
@@ -87,6 +89,11 @@
87 "menu.window" : "Okno", 89 "menu.window" : "Okno",
88 "menu.window.close" : "Zamknij", 90 "menu.window.close" : "Zamknij",
89 "menu.window.minimize" : "Zminimalizuj", 91 "menu.window.minimize" : "Zminimalizuj",
92 "menu.workspaces" : "Workspaces",
93 "menu.workspaces.addNewWorkspace" : "Add New Workspace...",
94 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer",
95 "menu.workspaces.defaultWorkspace" : "Wszystkie usługi",
96 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer",
90 "password.email.label" : "Adres email", 97 "password.email.label" : "Adres email",
91 "password.headline" : "Przypomnij hasło", 98 "password.headline" : "Przypomnij hasło",
92 "password.link.login" : "Zaloguj siÄ™ na swoje konto", 99 "password.link.login" : "Zaloguj siÄ™ na swoje konto",
@@ -110,6 +117,7 @@
110 "service.errorHandler.headline" : "O nie!", 117 "service.errorHandler.headline" : "O nie!",
111 "service.errorHandler.message" : "BÅ‚Ä…d", 118 "service.errorHandler.message" : "BÅ‚Ä…d",
112 "service.errorHandler.text" : "Nie udało się załadować {name}.", 119 "service.errorHandler.text" : "Nie udało się załadować {name}.",
120 "service.webviewLoader.loading" : "Loading",
113 "services.getStarted" : "Zacznij", 121 "services.getStarted" : "Zacznij",
114 "services.welcome" : "Witaj w programie Franz", 122 "services.welcome" : "Witaj w programie Franz",
115 "settings.account.account.editButton" : "Modyfikuj konta", 123 "settings.account.account.editButton" : "Modyfikuj konta",
@@ -156,6 +164,7 @@
156 "settings.app.headlineGeneral" : "Ogólne", 164 "settings.app.headlineGeneral" : "Ogólne",
157 "settings.app.headlineLanguage" : "Język", 165 "settings.app.headlineLanguage" : "Język",
158 "settings.app.headlineUpdates" : "Aktualizacje", 166 "settings.app.headlineUpdates" : "Aktualizacje",
167 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.",
159 "settings.app.restartRequired" : "Zmiany. wymagajÄ… ponownego uruchomienia", 168 "settings.app.restartRequired" : "Zmiany. wymagajÄ… ponownego uruchomienia",
160 "settings.app.subheadlineCache" : "Pamięć podręczna", 169 "settings.app.subheadlineCache" : "Pamięć podręczna",
161 "settings.app.translationHelp" : "Pomóż nam tłumaczyć Franz na Twój język.", 170 "settings.app.translationHelp" : "Pomóż nam tłumaczyć Franz na Twój język.",
@@ -169,6 +178,7 @@
169 "settings.navigation.logout" : "Wyloguj", 178 "settings.navigation.logout" : "Wyloguj",
170 "settings.navigation.settings" : "Ustawienia", 179 "settings.navigation.settings" : "Ustawienia",
171 "settings.navigation.yourServices" : "Twoje usługi", 180 "settings.navigation.yourServices" : "Twoje usługi",
181 "settings.navigation.yourWorkspaces" : "Your workspaces",
172 "settings.recipes.all" : "Wszystkie usługi", 182 "settings.recipes.all" : "Wszystkie usługi",
173 "settings.recipes.dev" : "Rozwojowe", 183 "settings.recipes.dev" : "Rozwojowe",
174 "settings.recipes.headline" : "Dostępne usługi", 184 "settings.recipes.headline" : "Dostępne usługi",
@@ -235,8 +245,25 @@
235 "settings.user.form.firstname" : "ImiÄ™", 245 "settings.user.form.firstname" : "ImiÄ™",
236 "settings.user.form.lastname" : "Nazwisko", 246 "settings.user.form.lastname" : "Nazwisko",
237 "settings.user.form.newPassword" : "Nowe hasło", 247 "settings.user.form.newPassword" : "Nowe hasło",
248 "settings.workspace.add.form.name" : "Name",
249 "settings.workspace.add.form.submitButton" : "Create workspace",
250 "settings.workspace.form.buttonDelete" : "Delete workspace",
251 "settings.workspace.form.buttonSave" : "Save workspace",
252 "settings.workspace.form.name" : "Name",
253 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace",
254 "settings.workspace.form.yourWorkspaces" : "Your workspaces",
255 "settings.workspaces.deletedInfo" : "Workspace has been deleted",
256 "settings.workspaces.headline" : "Your workspaces",
257 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.",
258 "settings.workspaces.tryReloadWorkspaces" : "Spróbuj ponownie",
259 "settings.workspaces.updatedInfo" : "Your changes have been saved",
260 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces",
261 "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.",
262 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces",
238 "sidebar.addNewService" : "Dodaj kolejną usługę", 263 "sidebar.addNewService" : "Dodaj kolejną usługę",
264 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer",
239 "sidebar.muteApp" : "Wyłącz powiadomienia i dźwięki", 265 "sidebar.muteApp" : "Wyłącz powiadomienia i dźwięki",
266 "sidebar.openWorkspaceDrawer" : "Open workspace drawer",
240 "sidebar.settings" : "Ustawienia", 267 "sidebar.settings" : "Ustawienia",
241 "sidebar.unmuteApp" : "Włącz powiadomienia i dźwięki", 268 "sidebar.unmuteApp" : "Włącz powiadomienia i dźwięki",
242 "signup.company.label" : "Firma", 269 "signup.company.label" : "Firma",
@@ -281,5 +308,16 @@
281 "validation.required" : "Pole {field} jest wymagane", 308 "validation.required" : "Pole {field} jest wymagane",
282 "validation.url" : "Pole {field} nie jest poprawnym ciÄ…giem URL.", 309 "validation.url" : "Pole {field} nie jest poprawnym ciÄ…giem URL.",
283 "welcome.loginButton" : "Zaloguj siÄ™ na swoje konto", 310 "welcome.loginButton" : "Zaloguj siÄ™ na swoje konto",
284 "welcome.signupButton" : "Stwórz darmowe konto" 311 "welcome.signupButton" : "Stwórz darmowe konto",
312 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace",
313 "workspaceDrawer.allServices" : "Wszystkie usługi",
314 "workspaceDrawer.headline" : "Workspaces",
315 "workspaceDrawer.item.contextMenuEdit" : "edit",
316 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet",
317 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace",
318 "workspaceDrawer.proFeatureBadge" : "Premium feature",
319 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account",
320 "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>",
321 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings",
322 "workspaces.switchingIndicator.switchingTo" : "Switching to"
285} 323}
diff --git a/src/i18n/locales/pt-BR.json b/src/i18n/locales/pt-BR.json
index 490771c39..01a994ddf 100644
--- a/src/i18n/locales/pt-BR.json
+++ b/src/i18n/locales/pt-BR.json
@@ -1,6 +1,7 @@
1{ 1{
2 "app.errorHandler.action" : "Recarregar", 2 "app.errorHandler.action" : "Recarregar",
3 "app.errorHandler.headline" : "Alguma coisa deu errado", 3 "app.errorHandler.headline" : "Alguma coisa deu errado",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}",
4 "feature.delayApp.action" : "Adquira uma licença Franz Supporter", 5 "feature.delayApp.action" : "Adquira uma licença Franz Supporter",
5 "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 Franz Supporter para pular o tempo de espera",
6 "feature.delayApp.text" : "Franz continuará em {seconds} segundos.", 7 "feature.delayApp.text" : "Franz continuará em {seconds} segundos.",
@@ -9,7 +10,7 @@
9 "feature.shareFranz.action.twitter" : "Compartilhar no Twitter", 10 "feature.shareFranz.action.twitter" : "Compartilhar no Twitter",
10 "feature.shareFranz.headline" : "Franz é melhor em grupo!", 11 "feature.shareFranz.headline" : "Franz é melhor em grupo!",
11 "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",
12 "feature.shareFranz.shareText.twitter" : "Adicionei o serviço de {count} ao Franz! Adquira o app grátis para usar WhatsApp, Messenger, Slack, Skype e mais em www.meetfranz.com \/cc @MeetFranz", 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.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 quão incrível Franz é e nos ajude a espalhar a mensagem. ",
14 "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.",
15 "global.notConnectedToTheInternet" : "Você não está conectado à internet", 16 "global.notConnectedToTheInternet" : "Você não está conectado à internet",
@@ -43,6 +44,7 @@
43 "login.submit.label" : "Entrar", 44 "login.submit.label" : "Entrar",
44 "login.tokenExpired" : "Sua sessão expirou, faça o login novamente.", 45 "login.tokenExpired" : "Sua sessão expirou, faça o login novamente.",
45 "menu.app.about" : "Sobre Franz", 46 "menu.app.about" : "Sobre Franz",
47 "menu.app.announcement" : "What's new?",
46 "menu.app.hide" : "Ocultar", 48 "menu.app.hide" : "Ocultar",
47 "menu.app.hideOthers" : "Ocultar Outros", 49 "menu.app.hideOthers" : "Ocultar Outros",
48 "menu.app.quit" : "Sair", 50 "menu.app.quit" : "Sair",
@@ -70,9 +72,9 @@
70 "menu.help.support" : "Suporte", 72 "menu.help.support" : "Suporte",
71 "menu.help.tos" : "Termos de Serviço", 73 "menu.help.tos" : "Termos de Serviço",
72 "menu.services" : "Serviços", 74 "menu.services" : "Serviços",
73 "menu.services.activatePreviousService" : "Activate previous service", 75 "menu.services.activatePreviousService" : "Pular para serviço anterior",
74 "menu.services.addNewService" : "Adicionar Novo Serviço", 76 "menu.services.addNewService" : "Adicionar Novo Serviço",
75 "menu.services.setNextServiceActive" : "Activate next service", 77 "menu.services.setNextServiceActive" : "Pular para próximo serviço",
76 "menu.view" : "Visualizar ", 78 "menu.view" : "Visualizar ",
77 "menu.view.enterFullScreen" : "Modo Tela Cheia", 79 "menu.view.enterFullScreen" : "Modo Tela Cheia",
78 "menu.view.exitFullScreen" : "Sair da Tela Cheia", 80 "menu.view.exitFullScreen" : "Sair da Tela Cheia",
@@ -87,6 +89,11 @@
87 "menu.window" : "Modo Janela", 89 "menu.window" : "Modo Janela",
88 "menu.window.close" : "Fechar", 90 "menu.window.close" : "Fechar",
89 "menu.window.minimize" : "Minimizar", 91 "menu.window.minimize" : "Minimizar",
92 "menu.workspaces" : "Workspaces",
93 "menu.workspaces.addNewWorkspace" : "Add New Workspace...",
94 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer",
95 "menu.workspaces.defaultWorkspace" : "Todos os serviços",
96 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer",
90 "password.email.label" : "E-mail", 97 "password.email.label" : "E-mail",
91 "password.headline" : "Trocar senha", 98 "password.headline" : "Trocar senha",
92 "password.link.login" : "Fazer login na sua conta", 99 "password.link.login" : "Fazer login na sua conta",
@@ -110,6 +117,7 @@
110 "service.errorHandler.headline" : "Ah, não!", 117 "service.errorHandler.headline" : "Ah, não!",
111 "service.errorHandler.message" : "Erro", 118 "service.errorHandler.message" : "Erro",
112 "service.errorHandler.text" : "{name} não pôde ser carregado.", 119 "service.errorHandler.text" : "{name} não pôde ser carregado.",
120 "service.webviewLoader.loading" : "Loading",
113 "services.getStarted" : "Iniciar", 121 "services.getStarted" : "Iniciar",
114 "services.welcome" : "Bem-vindo ao Franz!", 122 "services.welcome" : "Bem-vindo ao Franz!",
115 "settings.account.account.editButton" : "Editar conta", 123 "settings.account.account.editButton" : "Editar conta",
@@ -131,7 +139,7 @@
131 "settings.account.manageSubscription.label" : "Gerencie a sua assinatura", 139 "settings.account.manageSubscription.label" : "Gerencie a sua assinatura",
132 "settings.account.successInfo" : "Suas alterações foram gravadas", 140 "settings.account.successInfo" : "Suas alterações foram gravadas",
133 "settings.account.tryReloadServices" : "Tente novamente", 141 "settings.account.tryReloadServices" : "Tente novamente",
134 "settings.account.tryReloadUserInfoRequest" : "Tente novamente", 142 "settings.account.tryReloadUserInfoRequest" : "Tentar novamente",
135 "settings.account.userInfoRequestFailed" : "Não foi possível carregar as informações do usuário", 143 "settings.account.userInfoRequestFailed" : "Não foi possível carregar as informações do usuário",
136 "settings.app.buttonClearAllCache" : "Limpar cache", 144 "settings.app.buttonClearAllCache" : "Limpar cache",
137 "settings.app.buttonInstallUpdate" : "Reiniciar e instalar atualização", 145 "settings.app.buttonInstallUpdate" : "Reiniciar e instalar atualização",
@@ -156,8 +164,9 @@
156 "settings.app.headlineGeneral" : "Geral", 164 "settings.app.headlineGeneral" : "Geral",
157 "settings.app.headlineLanguage" : "Idioma", 165 "settings.app.headlineLanguage" : "Idioma",
158 "settings.app.headlineUpdates" : "Atualizações", 166 "settings.app.headlineUpdates" : "Atualizações",
167 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.",
159 "settings.app.restartRequired" : "As atualizações exigem reiniciar o sistema", 168 "settings.app.restartRequired" : "As atualizações exigem reiniciar o sistema",
160 "settings.app.subheadlineCache" : "Cachê", 169 "settings.app.subheadlineCache" : "Cache",
161 "settings.app.translationHelp" : "Ajude-nos a traduzir o Franz para seu idioma.", 170 "settings.app.translationHelp" : "Ajude-nos a traduzir o Franz para seu idioma.",
162 "settings.app.updateStatusAvailable" : "Atualização disponível, baixando...", 171 "settings.app.updateStatusAvailable" : "Atualização disponível, baixando...",
163 "settings.app.updateStatusSearching" : "Buscando atualizações", 172 "settings.app.updateStatusSearching" : "Buscando atualizações",
@@ -169,6 +178,7 @@
169 "settings.navigation.logout" : "Sair", 178 "settings.navigation.logout" : "Sair",
170 "settings.navigation.settings" : "Ajustes", 179 "settings.navigation.settings" : "Ajustes",
171 "settings.navigation.yourServices" : "Seus serviços", 180 "settings.navigation.yourServices" : "Seus serviços",
181 "settings.navigation.yourWorkspaces" : "Your workspaces",
172 "settings.recipes.all" : "Todos os serviços", 182 "settings.recipes.all" : "Todos os serviços",
173 "settings.recipes.dev" : "Desenvolvimento", 183 "settings.recipes.dev" : "Desenvolvimento",
174 "settings.recipes.headline" : "Serviços disponíveis", 184 "settings.recipes.headline" : "Serviços disponíveis",
@@ -221,7 +231,7 @@
221 "settings.services.discoverServices" : "Descobrir serviços", 231 "settings.services.discoverServices" : "Descobrir serviços",
222 "settings.services.headline" : "Seus serviços", 232 "settings.services.headline" : "Seus serviços",
223 "settings.services.noServicesAdded" : "Você ainda não adicionou nenhum serviço.", 233 "settings.services.noServicesAdded" : "Você ainda não adicionou nenhum serviço.",
224 "settings.services.servicesRequestFailed" : "Could not load your services", 234 "settings.services.servicesRequestFailed" : "Não foi possível carregar os seus serviços",
225 "settings.services.tooltip.isDisabled" : "O serviço está desativado", 235 "settings.services.tooltip.isDisabled" : "O serviço está desativado",
226 "settings.services.tooltip.isMuted" : "Sem som", 236 "settings.services.tooltip.isMuted" : "Sem som",
227 "settings.services.tooltip.notificationsDisabled" : "Notificações desativadas", 237 "settings.services.tooltip.notificationsDisabled" : "Notificações desativadas",
@@ -235,8 +245,25 @@
235 "settings.user.form.firstname" : "Nome", 245 "settings.user.form.firstname" : "Nome",
236 "settings.user.form.lastname" : "Sobrenome", 246 "settings.user.form.lastname" : "Sobrenome",
237 "settings.user.form.newPassword" : "Nova senha", 247 "settings.user.form.newPassword" : "Nova senha",
248 "settings.workspace.add.form.name" : "Nome",
249 "settings.workspace.add.form.submitButton" : "Create workspace",
250 "settings.workspace.form.buttonDelete" : "Delete workspace",
251 "settings.workspace.form.buttonSave" : "Save workspace",
252 "settings.workspace.form.name" : "Nome",
253 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace",
254 "settings.workspace.form.yourWorkspaces" : "Your workspaces",
255 "settings.workspaces.deletedInfo" : "Workspace has been deleted",
256 "settings.workspaces.headline" : "Your workspaces",
257 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.",
258 "settings.workspaces.tryReloadWorkspaces" : "Try again",
259 "settings.workspaces.updatedInfo" : "Your changes have been saved",
260 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces",
261 "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.",
262 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces",
238 "sidebar.addNewService" : "Adicionar novo serviço", 263 "sidebar.addNewService" : "Adicionar novo serviço",
264 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer",
239 "sidebar.muteApp" : "Desativar notificações e áudio", 265 "sidebar.muteApp" : "Desativar notificações e áudio",
266 "sidebar.openWorkspaceDrawer" : "Open workspace drawer",
240 "sidebar.settings" : "Ajustes", 267 "sidebar.settings" : "Ajustes",
241 "sidebar.unmuteApp" : "Ativar notificações e áudio", 268 "sidebar.unmuteApp" : "Ativar notificações e áudio",
242 "signup.company.label" : "Empresa", 269 "signup.company.label" : "Empresa",
@@ -277,9 +304,20 @@
277 "tabs.item.reload" : "Recarregar", 304 "tabs.item.reload" : "Recarregar",
278 "validation.email" : "inválido", 305 "validation.email" : "inválido",
279 "validation.minLength" : "{campo} deve ter pelo menos {comprimento} mais caracteres ", 306 "validation.minLength" : "{campo} deve ter pelo menos {comprimento} mais caracteres ",
280 "validation.oneRequired" : "At least one is required", 307 "validation.oneRequired" : "Necessário pelo menos um",
281 "validation.required" : "{campo} obrigatório", 308 "validation.required" : "{campo} obrigatório",
282 "validation.url" : "{campo} essa URL não é válida", 309 "validation.url" : "{campo} essa URL não é válida",
283 "welcome.loginButton" : "Entrar na sua conta", 310 "welcome.loginButton" : "Entrar na sua conta",
284 "welcome.signupButton" : "Criar uma conta grátis" 311 "welcome.signupButton" : "Criar uma conta grátis",
312 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace",
313 "workspaceDrawer.allServices" : "Todos os serviços",
314 "workspaceDrawer.headline" : "Workspaces",
315 "workspaceDrawer.item.contextMenuEdit" : "edit",
316 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet",
317 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace",
318 "workspaceDrawer.proFeatureBadge" : "Premium feature",
319 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account",
320 "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>",
321 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings",
322 "workspaces.switchingIndicator.switchingTo" : "Switching to"
285} 323}
diff --git a/src/i18n/locales/pt.json b/src/i18n/locales/pt.json
index 7e23aa0ba..b88c664d1 100644
--- a/src/i18n/locales/pt.json
+++ b/src/i18n/locales/pt.json
@@ -1,15 +1,16 @@
1{ 1{
2 "app.errorHandler.action" : "Recarregar", 2 "app.errorHandler.action" : "Recarregar",
3 "app.errorHandler.headline" : "Alguma coisa correu mal", 3 "app.errorHandler.headline" : "Alguma coisa correu mal",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}",
4 "feature.delayApp.action" : "Faz parte do grupo de apoio do Franz", 5 "feature.delayApp.action" : "Faz parte do grupo de apoio do Franz",
5 "feature.delayApp.headline" : "Por favor compre uma licença Franz Supporter para saltar a fila de espera", 6 "feature.delayApp.headline" : "Por favor compre uma licença Franz Supporter para saltar a fila de espera",
6 "feature.delayApp.text" : "Franz irá continuar em {seconds} segundos.", 7 "feature.delayApp.text" : "Franz irá continuar em {seconds} segundos.",
7 "feature.shareFranz.action.email" : "Send as email", 8 "feature.shareFranz.action.email" : "Enviar por e-mail",
8 "feature.shareFranz.action.facebook" : "Share on Facebook", 9 "feature.shareFranz.action.facebook" : "Compartilahr no Facebook",
9 "feature.shareFranz.action.twitter" : "Share on Twitter", 10 "feature.shareFranz.action.twitter" : "Compartilhar no Twitter",
10 "feature.shareFranz.headline" : "Franz is better together!", 11 "feature.shareFranz.headline" : "Franz is better together!",
11 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", 12 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com",
12 "feature.shareFranz.shareText.twitter" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com \/cc @MeetFranz", 13 "feature.shareFranz.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.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.",
14 "global.api.unhealthy" : "Não foi possível estabelecer ligação aos serviços do Franz", 15 "global.api.unhealthy" : "Não foi possível estabelecer ligação aos serviços do Franz",
15 "global.notConnectedToTheInternet" : "Não estás ligado à Internet", 16 "global.notConnectedToTheInternet" : "Não estás ligado à Internet",
@@ -43,6 +44,7 @@
43 "login.submit.label" : "Iniciar sessão", 44 "login.submit.label" : "Iniciar sessão",
44 "login.tokenExpired" : "A sua sessão expirou, inicie sessão novamente.", 45 "login.tokenExpired" : "A sua sessão expirou, inicie sessão novamente.",
45 "menu.app.about" : "Sobre o Franz", 46 "menu.app.about" : "Sobre o Franz",
47 "menu.app.announcement" : "What's new?",
46 "menu.app.hide" : "Ocultar", 48 "menu.app.hide" : "Ocultar",
47 "menu.app.hideOthers" : "Ocultar Outros", 49 "menu.app.hideOthers" : "Ocultar Outros",
48 "menu.app.quit" : "Sair", 50 "menu.app.quit" : "Sair",
@@ -87,6 +89,11 @@
87 "menu.window" : "Janela", 89 "menu.window" : "Janela",
88 "menu.window.close" : "Fechar", 90 "menu.window.close" : "Fechar",
89 "menu.window.minimize" : "Minimizar", 91 "menu.window.minimize" : "Minimizar",
92 "menu.workspaces" : "Workspaces",
93 "menu.workspaces.addNewWorkspace" : "Add New Workspace...",
94 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer",
95 "menu.workspaces.defaultWorkspace" : "Todos os serviços",
96 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer",
90 "password.email.label" : "Endereço de e-mail", 97 "password.email.label" : "Endereço de e-mail",
91 "password.headline" : "Repor a minha palavra-passe", 98 "password.headline" : "Repor a minha palavra-passe",
92 "password.link.login" : "Iniciar sessão", 99 "password.link.login" : "Iniciar sessão",
@@ -110,6 +117,7 @@
110 "service.errorHandler.headline" : "Oh não!", 117 "service.errorHandler.headline" : "Oh não!",
111 "service.errorHandler.message" : "Erro", 118 "service.errorHandler.message" : "Erro",
112 "service.errorHandler.text" : "{name} falhou o carregamento", 119 "service.errorHandler.text" : "{name} falhou o carregamento",
120 "service.webviewLoader.loading" : "Loading",
113 "services.getStarted" : "Vamos começar", 121 "services.getStarted" : "Vamos começar",
114 "services.welcome" : "Bem-vindo ao Franz", 122 "services.welcome" : "Bem-vindo ao Franz",
115 "settings.account.account.editButton" : "Editar conta", 123 "settings.account.account.editButton" : "Editar conta",
@@ -156,6 +164,7 @@
156 "settings.app.headlineGeneral" : "Geral", 164 "settings.app.headlineGeneral" : "Geral",
157 "settings.app.headlineLanguage" : "Idioma", 165 "settings.app.headlineLanguage" : "Idioma",
158 "settings.app.headlineUpdates" : "Atualizações", 166 "settings.app.headlineUpdates" : "Atualizações",
167 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.",
159 "settings.app.restartRequired" : "Alterações requerem reinício", 168 "settings.app.restartRequired" : "Alterações requerem reinício",
160 "settings.app.subheadlineCache" : "Cache", 169 "settings.app.subheadlineCache" : "Cache",
161 "settings.app.translationHelp" : "Ajude-nos a traduzir a Franz para a sua língua.", 170 "settings.app.translationHelp" : "Ajude-nos a traduzir a Franz para a sua língua.",
@@ -169,6 +178,7 @@
169 "settings.navigation.logout" : "Terminar sessão", 178 "settings.navigation.logout" : "Terminar sessão",
170 "settings.navigation.settings" : "Definições", 179 "settings.navigation.settings" : "Definições",
171 "settings.navigation.yourServices" : "Os seus serviços", 180 "settings.navigation.yourServices" : "Os seus serviços",
181 "settings.navigation.yourWorkspaces" : "Your workspaces",
172 "settings.recipes.all" : "Todos os serviços", 182 "settings.recipes.all" : "Todos os serviços",
173 "settings.recipes.dev" : "Desenvolvimento", 183 "settings.recipes.dev" : "Desenvolvimento",
174 "settings.recipes.headline" : "Serviços disponíveis", 184 "settings.recipes.headline" : "Serviços disponíveis",
@@ -235,8 +245,25 @@
235 "settings.user.form.firstname" : "Primeiro Nome", 245 "settings.user.form.firstname" : "Primeiro Nome",
236 "settings.user.form.lastname" : "Último Nome", 246 "settings.user.form.lastname" : "Último Nome",
237 "settings.user.form.newPassword" : "Nova palavra-passe", 247 "settings.user.form.newPassword" : "Nova palavra-passe",
248 "settings.workspace.add.form.name" : "Nome",
249 "settings.workspace.add.form.submitButton" : "Create workspace",
250 "settings.workspace.form.buttonDelete" : "Delete workspace",
251 "settings.workspace.form.buttonSave" : "Save workspace",
252 "settings.workspace.form.name" : "Nome",
253 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace",
254 "settings.workspace.form.yourWorkspaces" : "Your workspaces",
255 "settings.workspaces.deletedInfo" : "Workspace has been deleted",
256 "settings.workspaces.headline" : "Your workspaces",
257 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.",
258 "settings.workspaces.tryReloadWorkspaces" : "Tentar novamente",
259 "settings.workspaces.updatedInfo" : "Your changes have been saved",
260 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces",
261 "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.",
262 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces",
238 "sidebar.addNewService" : "Adicionar um novo serviço", 263 "sidebar.addNewService" : "Adicionar um novo serviço",
264 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer",
239 "sidebar.muteApp" : "Desativar notificações e áudio", 265 "sidebar.muteApp" : "Desativar notificações e áudio",
266 "sidebar.openWorkspaceDrawer" : "Open workspace drawer",
240 "sidebar.settings" : "Definições", 267 "sidebar.settings" : "Definições",
241 "sidebar.unmuteApp" : "Ativar notificações e áudio", 268 "sidebar.unmuteApp" : "Ativar notificações e áudio",
242 "signup.company.label" : "Empresa", 269 "signup.company.label" : "Empresa",
@@ -281,5 +308,16 @@
281 "validation.required" : "{field} é obrigatório", 308 "validation.required" : "{field} é obrigatório",
282 "validation.url" : "{field} não é uma hiperligação válida", 309 "validation.url" : "{field} não é uma hiperligação válida",
283 "welcome.loginButton" : "Iniciar sessão", 310 "welcome.loginButton" : "Iniciar sessão",
284 "welcome.signupButton" : "Criar uma conta gratuita" 311 "welcome.signupButton" : "Criar uma conta gratuita",
312 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace",
313 "workspaceDrawer.allServices" : "Todos os serviços",
314 "workspaceDrawer.headline" : "Workspaces",
315 "workspaceDrawer.item.contextMenuEdit" : "edit",
316 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet",
317 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace",
318 "workspaceDrawer.proFeatureBadge" : "Premium feature",
319 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account",
320 "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>",
321 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings",
322 "workspaces.switchingIndicator.switchingTo" : "Switching to"
285} 323}
diff --git a/src/i18n/locales/ru.json b/src/i18n/locales/ru.json
index d8e02b7f3..0ddd7c1e4 100644
--- a/src/i18n/locales/ru.json
+++ b/src/i18n/locales/ru.json
@@ -1,20 +1,21 @@
1{ 1{
2 "app.errorHandler.action" : "Перезагрузить", 2 "app.errorHandler.action" : "Перезагрузить",
3 "app.errorHandler.headline" : "Что-то пошло не так", 3 "app.errorHandler.headline" : "Что-то пошло не так",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}",
4 "feature.delayApp.action" : "Получите лицензию Franz Supporter", 5 "feature.delayApp.action" : "Получите лицензию Franz Supporter",
5 "feature.delayApp.headline" : "ПожалуйÑта приобретите лицензию Franz Supporter чтобы отменить ожидание", 6 "feature.delayApp.headline" : "ПожалуйÑта приобретите лицензию Franz Supporter чтобы отменить ожидание",
6 "feature.delayApp.text" : "Franz продолжит работу через {seconds} Ñекунд.", 7 "feature.delayApp.text" : "Franz продолжит работу через {seconds} Ñекунд.",
7 "feature.shareFranz.action.email" : "Send as email", 8 "feature.shareFranz.action.email" : "Отправить email",
8 "feature.shareFranz.action.facebook" : "Share on Facebook", 9 "feature.shareFranz.action.facebook" : "ПоделитьÑÑ Ð½Ð° Facebook",
9 "feature.shareFranz.action.twitter" : "Share on Twitter", 10 "feature.shareFranz.action.twitter" : "Share on Twitter",
10 "feature.shareFranz.headline" : "Franz is better together!", 11 "feature.shareFranz.headline" : "Сделаем Franz лучше вмеÑте!",
11 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", 12 "feature.shareFranz.shareText.email" : "Я добавил {count} ÑервиÑов во Franz! Теперь доÑтупны такие меÑÑенджеры как WhatsApp, Messenger, Slack, Skype и другие. Полый ÑпиÑок вы найдете на www.meetfranz.com",
12 "feature.shareFranz.shareText.twitter" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com \/cc @MeetFranz", 13 "feature.shareFranz.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.text" : "Tell your friends and colleagues how awesome Franz is and help us to spread the word.", 14 "feature.shareFranz.text" : "РаÑÑкажи Ñвоим друзьÑм и коллегам наÑколько прелеÑтен Franz и помоги нам развитьÑÑ",
14 "global.api.unhealthy" : "Ðевозможно подключитьÑÑ Ðº онлайн-ÑервиÑам Franz", 15 "global.api.unhealthy" : "Ðевозможно подключитьÑÑ Ðº онлайн-ÑервиÑам Franz",
15 "global.notConnectedToTheInternet" : "Ð’Ñ‹ не подключены к Ñети Интернет", 16 "global.notConnectedToTheInternet" : "Ð’Ñ‹ не подключены к Ñети Интернет",
16 "global.spellchecker.useDefault" : "ИÑпользовать ÑиÑтемные параметры по умолчанию ({default})", 17 "global.spellchecker.useDefault" : "ИÑпользовать ÑиÑтемные параметры по умолчанию ({default})",
17 "global.spellchecking.autodetect" : "Detect language automatically", 18 "global.spellchecking.autodetect" : "Ðайти Ñзык автоматичеÑки",
18 "global.spellchecking.autodetect.short" : "Automatic", 19 "global.spellchecking.autodetect.short" : "Automatic",
19 "global.spellchecking.language" : "Проверка правопиÑаниÑ", 20 "global.spellchecking.language" : "Проверка правопиÑаниÑ",
20 "import.headline" : "Импортировать ваши ÑервиÑÑ‹ из Franz 4", 21 "import.headline" : "Импортировать ваши ÑервиÑÑ‹ из Franz 4",
@@ -43,6 +44,7 @@
43 "login.submit.label" : "Вход", 44 "login.submit.label" : "Вход",
44 "login.tokenExpired" : "СеÑÑÐ¸Ñ ÑƒÑтарела, пожалуйÑта, войдите Ñнова.", 45 "login.tokenExpired" : "СеÑÑÐ¸Ñ ÑƒÑтарела, пожалуйÑта, войдите Ñнова.",
45 "menu.app.about" : "О Franz", 46 "menu.app.about" : "О Franz",
47 "menu.app.announcement" : "What's new?",
46 "menu.app.hide" : "Скрыть", 48 "menu.app.hide" : "Скрыть",
47 "menu.app.hideOthers" : "Скрыть оÑтальные", 49 "menu.app.hideOthers" : "Скрыть оÑтальные",
48 "menu.app.quit" : "Выйти", 50 "menu.app.quit" : "Выйти",
@@ -70,9 +72,9 @@
70 "menu.help.support" : "Поддержка", 72 "menu.help.support" : "Поддержка",
71 "menu.help.tos" : "УÑÐ»Ð¾Ð²Ð¸Ñ Ð¸ÑпользованиÑ", 73 "menu.help.tos" : "УÑÐ»Ð¾Ð²Ð¸Ñ Ð¸ÑпользованиÑ",
72 "menu.services" : "СервиÑ", 74 "menu.services" : "СервиÑ",
73 "menu.services.activatePreviousService" : "Activate previous service", 75 "menu.services.activatePreviousService" : "Ðктивировать предыдущий Ñервич",
74 "menu.services.addNewService" : "Добавить новый ÑервиÑ...", 76 "menu.services.addNewService" : "Добавить новый ÑервиÑ...",
75 "menu.services.setNextServiceActive" : "Activate next service", 77 "menu.services.setNextServiceActive" : "Ðктивировать Ñледующий ÑервиÑ",
76 "menu.view" : "Вид", 78 "menu.view" : "Вид",
77 "menu.view.enterFullScreen" : "Ðа веÑÑŒ Ñкран", 79 "menu.view.enterFullScreen" : "Ðа веÑÑŒ Ñкран",
78 "menu.view.exitFullScreen" : "В окне", 80 "menu.view.exitFullScreen" : "В окне",
@@ -87,6 +89,11 @@
87 "menu.window" : "Окно", 89 "menu.window" : "Окно",
88 "menu.window.close" : "Закрыть", 90 "menu.window.close" : "Закрыть",
89 "menu.window.minimize" : "Свернуть", 91 "menu.window.minimize" : "Свернуть",
92 "menu.workspaces" : "Workspaces",
93 "menu.workspaces.addNewWorkspace" : "Add New Workspace...",
94 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer",
95 "menu.workspaces.defaultWorkspace" : "Ð’Ñе ÑервиÑÑ‹",
96 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer",
90 "password.email.label" : "ÐÐ´Ñ€ÐµÑ Ñлектронной почты", 97 "password.email.label" : "ÐÐ´Ñ€ÐµÑ Ñлектронной почты",
91 "password.headline" : "СброÑить пароль", 98 "password.headline" : "СброÑить пароль",
92 "password.link.login" : "Вход", 99 "password.link.login" : "Вход",
@@ -110,6 +117,7 @@
110 "service.errorHandler.headline" : "О, нет!", 117 "service.errorHandler.headline" : "О, нет!",
111 "service.errorHandler.message" : "Ошибка", 118 "service.errorHandler.message" : "Ошибка",
112 "service.errorHandler.text" : "{name} не Ñмог загрузитьÑÑ.", 119 "service.errorHandler.text" : "{name} не Ñмог загрузитьÑÑ.",
120 "service.webviewLoader.loading" : "Loading",
113 "services.getStarted" : "Ðачать работу", 121 "services.getStarted" : "Ðачать работу",
114 "services.welcome" : "Добро пожаловать во Franz", 122 "services.welcome" : "Добро пожаловать во Franz",
115 "settings.account.account.editButton" : "Редактировать аккаунт", 123 "settings.account.account.editButton" : "Редактировать аккаунт",
@@ -121,7 +129,7 @@
121 "settings.account.deleteInfo" : "ЕÑли вам больше не нужна ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ в Franz, вы можете удалить аккаунт и вÑÑŽ ÑвÑзанную Ñ Ð½ÐµÐ¹ информацию.", 129 "settings.account.deleteInfo" : "ЕÑли вам больше не нужна ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ в Franz, вы можете удалить аккаунт и вÑÑŽ ÑвÑзанную Ñ Ð½ÐµÐ¹ информацию.",
122 "settings.account.headline" : "Ðккаунт", 130 "settings.account.headline" : "Ðккаунт",
123 "settings.account.headlineAccount" : "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð°ÐºÐºÐ°ÑƒÐ½Ñ‚Ð°", 131 "settings.account.headlineAccount" : "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð°ÐºÐºÐ°ÑƒÐ½Ñ‚Ð°",
124 "settings.account.headlineDangerZone" : "ОпаÑÐ½Ð°Ñ Ð—Ð¾Ð½Ð°", 132 "settings.account.headlineDangerZone" : "ÐапреÑÐ½Ð°Ñ Ð—Ð¾Ð½Ð°",
125 "settings.account.headlineInvoices" : "Счета", 133 "settings.account.headlineInvoices" : "Счета",
126 "settings.account.headlinePassword" : "Сменить пароль", 134 "settings.account.headlinePassword" : "Сменить пароль",
127 "settings.account.headlineProfile" : "Обновить профиль", 135 "settings.account.headlineProfile" : "Обновить профиль",
@@ -156,6 +164,7 @@
156 "settings.app.headlineGeneral" : "Общие", 164 "settings.app.headlineGeneral" : "Общие",
157 "settings.app.headlineLanguage" : "Язык", 165 "settings.app.headlineLanguage" : "Язык",
158 "settings.app.headlineUpdates" : "ОбновлениÑ", 166 "settings.app.headlineUpdates" : "ОбновлениÑ",
167 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.",
159 "settings.app.restartRequired" : "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ‚Ñ€ÐµÐ±ÑƒÑŽÑ‚ перезагрузки приложениÑ", 168 "settings.app.restartRequired" : "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ‚Ñ€ÐµÐ±ÑƒÑŽÑ‚ перезагрузки приложениÑ",
160 "settings.app.subheadlineCache" : "КÑш", 169 "settings.app.subheadlineCache" : "КÑш",
161 "settings.app.translationHelp" : "Помогите нам перевеÑти Franz на ваш Ñзык.", 170 "settings.app.translationHelp" : "Помогите нам перевеÑти Franz на ваш Ñзык.",
@@ -169,6 +178,7 @@
169 "settings.navigation.logout" : "Выход", 178 "settings.navigation.logout" : "Выход",
170 "settings.navigation.settings" : "ÐаÑтройки", 179 "settings.navigation.settings" : "ÐаÑтройки",
171 "settings.navigation.yourServices" : "Ваши ÑервиÑÑ‹", 180 "settings.navigation.yourServices" : "Ваши ÑервиÑÑ‹",
181 "settings.navigation.yourWorkspaces" : "Your workspaces",
172 "settings.recipes.all" : "Ð’Ñе ÑервиÑÑ‹", 182 "settings.recipes.all" : "Ð’Ñе ÑервиÑÑ‹",
173 "settings.recipes.dev" : "Разработка", 183 "settings.recipes.dev" : "Разработка",
174 "settings.recipes.headline" : "ДоÑтупные ÑервиÑÑ‹", 184 "settings.recipes.headline" : "ДоÑтупные ÑервиÑÑ‹",
@@ -235,8 +245,25 @@
235 "settings.user.form.firstname" : "ИмÑ", 245 "settings.user.form.firstname" : "ИмÑ",
236 "settings.user.form.lastname" : "ФамилиÑ", 246 "settings.user.form.lastname" : "ФамилиÑ",
237 "settings.user.form.newPassword" : "Ðовый пароль", 247 "settings.user.form.newPassword" : "Ðовый пароль",
248 "settings.workspace.add.form.name" : "Name",
249 "settings.workspace.add.form.submitButton" : "Create workspace",
250 "settings.workspace.form.buttonDelete" : "Delete workspace",
251 "settings.workspace.form.buttonSave" : "Save workspace",
252 "settings.workspace.form.name" : "Name",
253 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace",
254 "settings.workspace.form.yourWorkspaces" : "Your workspaces",
255 "settings.workspaces.deletedInfo" : "Workspace has been deleted",
256 "settings.workspaces.headline" : "Your workspaces",
257 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.",
258 "settings.workspaces.tryReloadWorkspaces" : "Попробовать Ñнова",
259 "settings.workspaces.updatedInfo" : "Your changes have been saved",
260 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces",
261 "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.",
262 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces",
238 "sidebar.addNewService" : "Добавить новый ÑервиÑ", 263 "sidebar.addNewService" : "Добавить новый ÑервиÑ",
264 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer",
239 "sidebar.muteApp" : "Отключить ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¸ звук", 265 "sidebar.muteApp" : "Отключить ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¸ звук",
266 "sidebar.openWorkspaceDrawer" : "Open workspace drawer",
240 "sidebar.settings" : "ÐаÑтройки", 267 "sidebar.settings" : "ÐаÑтройки",
241 "sidebar.unmuteApp" : "Включить ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¸ звук", 268 "sidebar.unmuteApp" : "Включить ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¸ звук",
242 "signup.company.label" : "ОрганизациÑ", 269 "signup.company.label" : "ОрганизациÑ",
@@ -281,5 +308,16 @@
281 "validation.required" : "{field} обÑзательно", 308 "validation.required" : "{field} обÑзательно",
282 "validation.url" : "{field} ÑвлÑетÑÑ Ð½ÐµÐ´ÐµÐ¹Ñтвительной ÑÑылкой", 309 "validation.url" : "{field} ÑвлÑетÑÑ Ð½ÐµÐ´ÐµÐ¹Ñтвительной ÑÑылкой",
283 "welcome.loginButton" : "Вход", 310 "welcome.loginButton" : "Вход",
284 "welcome.signupButton" : "Создать беÑплатный аккаунт" 311 "welcome.signupButton" : "Создать беÑплатный аккаунт",
312 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace",
313 "workspaceDrawer.allServices" : "Ð’Ñе ÑервиÑÑ‹",
314 "workspaceDrawer.headline" : "Workspaces",
315 "workspaceDrawer.item.contextMenuEdit" : "edit",
316 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet",
317 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace",
318 "workspaceDrawer.proFeatureBadge" : "Premium feature",
319 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account",
320 "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>",
321 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings",
322 "workspaces.switchingIndicator.switchingTo" : "Switching to"
285} 323}
diff --git a/src/i18n/locales/sk.json b/src/i18n/locales/sk.json
index 688490b58..f3582d986 100644
--- a/src/i18n/locales/sk.json
+++ b/src/i18n/locales/sk.json
@@ -1,6 +1,7 @@
1{ 1{
2 "app.errorHandler.action" : "Obnoviť", 2 "app.errorHandler.action" : "Obnoviť",
3 "app.errorHandler.headline" : "Something went wrong", 3 "app.errorHandler.headline" : "Something went wrong",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}",
4 "feature.delayApp.action" : "Get a Franz Supporter License", 5 "feature.delayApp.action" : "Get a Franz Supporter License",
5 "feature.delayApp.headline" : "Please purchase a Franz Supporter License to skip waiting", 6 "feature.delayApp.headline" : "Please purchase a Franz Supporter License to skip waiting",
6 "feature.delayApp.text" : "Franz will continue in {seconds} seconds.", 7 "feature.delayApp.text" : "Franz will continue in {seconds} seconds.",
@@ -9,7 +10,7 @@
9 "feature.shareFranz.action.twitter" : "Share on Twitter", 10 "feature.shareFranz.action.twitter" : "Share on Twitter",
10 "feature.shareFranz.headline" : "Franz is better together!", 11 "feature.shareFranz.headline" : "Franz is better together!",
11 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", 12 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com",
12 "feature.shareFranz.shareText.twitter" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com \/cc @MeetFranz", 13 "feature.shareFranz.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.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.",
14 "global.api.unhealthy" : "Nedá sa pripojiť k online službám Franz", 15 "global.api.unhealthy" : "Nedá sa pripojiť k online službám Franz",
15 "global.notConnectedToTheInternet" : "Nie ste pripojení k internetu.", 16 "global.notConnectedToTheInternet" : "Nie ste pripojení k internetu.",
@@ -43,6 +44,7 @@
43 "login.submit.label" : "Prihlásiť sa", 44 "login.submit.label" : "Prihlásiť sa",
44 "login.tokenExpired" : "Vaša relácia vypršala, prihláste sa prosím znovu.", 45 "login.tokenExpired" : "Vaša relácia vypršala, prihláste sa prosím znovu.",
45 "menu.app.about" : "O aplikácii", 46 "menu.app.about" : "O aplikácii",
47 "menu.app.announcement" : "What's new?",
46 "menu.app.hide" : "Skryť", 48 "menu.app.hide" : "Skryť",
47 "menu.app.hideOthers" : "Skryť ostatné", 49 "menu.app.hideOthers" : "Skryť ostatné",
48 "menu.app.quit" : "UkonÄiÅ¥", 50 "menu.app.quit" : "UkonÄiÅ¥",
@@ -87,6 +89,11 @@
87 "menu.window" : "Okno", 89 "menu.window" : "Okno",
88 "menu.window.close" : "Zatvoriť", 90 "menu.window.close" : "Zatvoriť",
89 "menu.window.minimize" : "Minimalizovať", 91 "menu.window.minimize" : "Minimalizovať",
92 "menu.workspaces" : "Workspaces",
93 "menu.workspaces.addNewWorkspace" : "Add New Workspace...",
94 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer",
95 "menu.workspaces.defaultWorkspace" : "Všetky služby",
96 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer",
90 "password.email.label" : "E-mailová adresa", 97 "password.email.label" : "E-mailová adresa",
91 "password.headline" : "Obnoviť heslo", 98 "password.headline" : "Obnoviť heslo",
92 "password.link.login" : "PrihlásiÅ¥ sa do vášho úÄtu", 99 "password.link.login" : "PrihlásiÅ¥ sa do vášho úÄtu",
@@ -110,6 +117,7 @@
110 "service.errorHandler.headline" : "Ale nie!", 117 "service.errorHandler.headline" : "Ale nie!",
111 "service.errorHandler.message" : "Chyba", 118 "service.errorHandler.message" : "Chyba",
112 "service.errorHandler.text" : "{name} has failed to load.", 119 "service.errorHandler.text" : "{name} has failed to load.",
120 "service.webviewLoader.loading" : "Loading",
113 "services.getStarted" : "ZaÄíname", 121 "services.getStarted" : "ZaÄíname",
114 "services.welcome" : "Vítajte v aplikácii Franz", 122 "services.welcome" : "Vítajte v aplikácii Franz",
115 "settings.account.account.editButton" : "UpraviÅ¥ úÄet", 123 "settings.account.account.editButton" : "UpraviÅ¥ úÄet",
@@ -156,6 +164,7 @@
156 "settings.app.headlineGeneral" : "Všeobecné", 164 "settings.app.headlineGeneral" : "Všeobecné",
157 "settings.app.headlineLanguage" : "Jazyk", 165 "settings.app.headlineLanguage" : "Jazyk",
158 "settings.app.headlineUpdates" : "Aktualizácie", 166 "settings.app.headlineUpdates" : "Aktualizácie",
167 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.",
159 "settings.app.restartRequired" : "Zmeny vyžadujú reštart", 168 "settings.app.restartRequired" : "Zmeny vyžadujú reštart",
160 "settings.app.subheadlineCache" : "Vyrovnávacia pamäť", 169 "settings.app.subheadlineCache" : "Vyrovnávacia pamäť",
161 "settings.app.translationHelp" : "Pomôžte nám preložiť Franz do svojho jazyka.", 170 "settings.app.translationHelp" : "Pomôžte nám preložiť Franz do svojho jazyka.",
@@ -169,6 +178,7 @@
169 "settings.navigation.logout" : "Odhlásiť sa", 178 "settings.navigation.logout" : "Odhlásiť sa",
170 "settings.navigation.settings" : "Nastavenia", 179 "settings.navigation.settings" : "Nastavenia",
171 "settings.navigation.yourServices" : "Vaše služby", 180 "settings.navigation.yourServices" : "Vaše služby",
181 "settings.navigation.yourWorkspaces" : "Your workspaces",
172 "settings.recipes.all" : "Všetky služby", 182 "settings.recipes.all" : "Všetky služby",
173 "settings.recipes.dev" : "Vývoj", 183 "settings.recipes.dev" : "Vývoj",
174 "settings.recipes.headline" : "Dostupné služby", 184 "settings.recipes.headline" : "Dostupné služby",
@@ -235,8 +245,25 @@
235 "settings.user.form.firstname" : "Krstné meno", 245 "settings.user.form.firstname" : "Krstné meno",
236 "settings.user.form.lastname" : "Priezvisko", 246 "settings.user.form.lastname" : "Priezvisko",
237 "settings.user.form.newPassword" : "Nové heslo", 247 "settings.user.form.newPassword" : "Nové heslo",
248 "settings.workspace.add.form.name" : "Meno",
249 "settings.workspace.add.form.submitButton" : "Create workspace",
250 "settings.workspace.form.buttonDelete" : "Delete workspace",
251 "settings.workspace.form.buttonSave" : "Save workspace",
252 "settings.workspace.form.name" : "Meno",
253 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace",
254 "settings.workspace.form.yourWorkspaces" : "Your workspaces",
255 "settings.workspaces.deletedInfo" : "Workspace has been deleted",
256 "settings.workspaces.headline" : "Your workspaces",
257 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.",
258 "settings.workspaces.tryReloadWorkspaces" : "Skúsiť znova",
259 "settings.workspaces.updatedInfo" : "Vaše zmeny boli uložené",
260 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces",
261 "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.",
262 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces",
238 "sidebar.addNewService" : "Pridať novú službu", 263 "sidebar.addNewService" : "Pridať novú službu",
264 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer",
239 "sidebar.muteApp" : "Vypnúť upozornenia a zvuky", 265 "sidebar.muteApp" : "Vypnúť upozornenia a zvuky",
266 "sidebar.openWorkspaceDrawer" : "Open workspace drawer",
240 "sidebar.settings" : "Nastavenia", 267 "sidebar.settings" : "Nastavenia",
241 "sidebar.unmuteApp" : "Povoliť oznámenia a zvuky", 268 "sidebar.unmuteApp" : "Povoliť oznámenia a zvuky",
242 "signup.company.label" : "SpoloÄnosÅ¥", 269 "signup.company.label" : "SpoloÄnosÅ¥",
@@ -281,5 +308,16 @@
281 "validation.required" : "{field} je povinné", 308 "validation.required" : "{field} je povinné",
282 "validation.url" : "{field} nie je platné URL", 309 "validation.url" : "{field} nie je platné URL",
283 "welcome.loginButton" : "PrihlásiÅ¥ sa do vášho úÄtu", 310 "welcome.loginButton" : "PrihlásiÅ¥ sa do vášho úÄtu",
284 "welcome.signupButton" : "VytvoriÅ¥ úÄet zdarma" 311 "welcome.signupButton" : "VytvoriÅ¥ úÄet zdarma",
312 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace",
313 "workspaceDrawer.allServices" : "Všetky služby",
314 "workspaceDrawer.headline" : "Workspaces",
315 "workspaceDrawer.item.contextMenuEdit" : "edit",
316 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet",
317 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace",
318 "workspaceDrawer.proFeatureBadge" : "Premium feature",
319 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account",
320 "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>",
321 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings",
322 "workspaces.switchingIndicator.switchingTo" : "Switching to"
285} 323}
diff --git a/src/i18n/locales/sr.json b/src/i18n/locales/sr.json
index a3a80925d..00b1ad594 100644
--- a/src/i18n/locales/sr.json
+++ b/src/i18n/locales/sr.json
@@ -1,6 +1,7 @@
1{ 1{
2 "app.errorHandler.action" : "Ponovno uÄitavanje", 2 "app.errorHandler.action" : "Ponovno uÄitavanje",
3 "app.errorHandler.headline" : "Something went wrong", 3 "app.errorHandler.headline" : "Something went wrong",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}",
4 "feature.delayApp.action" : "Get a Franz Supporter License", 5 "feature.delayApp.action" : "Get a Franz Supporter License",
5 "feature.delayApp.headline" : "Please purchase a Franz Supporter License to skip waiting", 6 "feature.delayApp.headline" : "Please purchase a Franz Supporter License to skip waiting",
6 "feature.delayApp.text" : "Franz will continue in {seconds} seconds.", 7 "feature.delayApp.text" : "Franz will continue in {seconds} seconds.",
@@ -9,7 +10,7 @@
9 "feature.shareFranz.action.twitter" : "Share on Twitter", 10 "feature.shareFranz.action.twitter" : "Share on Twitter",
10 "feature.shareFranz.headline" : "Franz is better together!", 11 "feature.shareFranz.headline" : "Franz is better together!",
11 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", 12 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com",
12 "feature.shareFranz.shareText.twitter" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com \/cc @MeetFranz", 13 "feature.shareFranz.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.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.",
14 "global.api.unhealthy" : "Nije moguće pristupiti Franz-ovim on-line servisima. ", 15 "global.api.unhealthy" : "Nije moguće pristupiti Franz-ovim on-line servisima. ",
15 "global.notConnectedToTheInternet" : "Niste povezani sa serverom.", 16 "global.notConnectedToTheInternet" : "Niste povezani sa serverom.",
@@ -43,6 +44,7 @@
43 "login.submit.label" : "Prijavite se", 44 "login.submit.label" : "Prijavite se",
44 "login.tokenExpired" : "Vaša sesija je istekla, prijavite se ponovo.", 45 "login.tokenExpired" : "Vaša sesija je istekla, prijavite se ponovo.",
45 "menu.app.about" : "O Francu", 46 "menu.app.about" : "O Francu",
47 "menu.app.announcement" : "What's new?",
46 "menu.app.hide" : "Sakrij", 48 "menu.app.hide" : "Sakrij",
47 "menu.app.hideOthers" : "Sakrij ostale", 49 "menu.app.hideOthers" : "Sakrij ostale",
48 "menu.app.quit" : "Izađi", 50 "menu.app.quit" : "Izađi",
@@ -87,6 +89,11 @@
87 "menu.window" : "У прозору", 89 "menu.window" : "У прозору",
88 "menu.window.close" : "Затвори", 90 "menu.window.close" : "Затвори",
89 "menu.window.minimize" : "Умањи", 91 "menu.window.minimize" : "Умањи",
92 "menu.workspaces" : "Workspaces",
93 "menu.workspaces.addNewWorkspace" : "Add New Workspace...",
94 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer",
95 "menu.workspaces.defaultWorkspace" : "Sve usluge",
96 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer",
90 "password.email.label" : "Vaša e-adresa", 97 "password.email.label" : "Vaša e-adresa",
91 "password.headline" : "Stvorite novu zaporku", 98 "password.headline" : "Stvorite novu zaporku",
92 "password.link.login" : "Prijavite se na VaÅ¡ raÄun", 99 "password.link.login" : "Prijavite se na VaÅ¡ raÄun",
@@ -110,6 +117,7 @@
110 "service.errorHandler.headline" : "O, ne! ", 117 "service.errorHandler.headline" : "O, ne! ",
111 "service.errorHandler.message" : "Greška ", 118 "service.errorHandler.message" : "Greška ",
112 "service.errorHandler.text" : "{name} has failed to load.", 119 "service.errorHandler.text" : "{name} has failed to load.",
120 "service.webviewLoader.loading" : "Loading",
113 "services.getStarted" : "ZapoÄnimo! ", 121 "services.getStarted" : "ZapoÄnimo! ",
114 "services.welcome" : "Dobrodošli u Franz", 122 "services.welcome" : "Dobrodošli u Franz",
115 "settings.account.account.editButton" : "Uredi raÄun", 123 "settings.account.account.editButton" : "Uredi raÄun",
@@ -156,6 +164,7 @@
156 "settings.app.headlineGeneral" : "Općenito", 164 "settings.app.headlineGeneral" : "Općenito",
157 "settings.app.headlineLanguage" : "Jezik", 165 "settings.app.headlineLanguage" : "Jezik",
158 "settings.app.headlineUpdates" : "Nadogradnje", 166 "settings.app.headlineUpdates" : "Nadogradnje",
167 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.",
159 "settings.app.restartRequired" : "Promjene postavki zahtijevaju ponovni pogon", 168 "settings.app.restartRequired" : "Promjene postavki zahtijevaju ponovni pogon",
160 "settings.app.subheadlineCache" : "Кеш", 169 "settings.app.subheadlineCache" : "Кеш",
161 "settings.app.translationHelp" : "Pomozite nam prevesti aplikaciju na Vaš jezik. ", 170 "settings.app.translationHelp" : "Pomozite nam prevesti aplikaciju na Vaš jezik. ",
@@ -169,6 +178,7 @@
169 "settings.navigation.logout" : "Odjava", 178 "settings.navigation.logout" : "Odjava",
170 "settings.navigation.settings" : "Postavke", 179 "settings.navigation.settings" : "Postavke",
171 "settings.navigation.yourServices" : "Vaše usluge", 180 "settings.navigation.yourServices" : "Vaše usluge",
181 "settings.navigation.yourWorkspaces" : "Your workspaces",
172 "settings.recipes.all" : "Sve usluge", 182 "settings.recipes.all" : "Sve usluge",
173 "settings.recipes.dev" : "Razvoj", 183 "settings.recipes.dev" : "Razvoj",
174 "settings.recipes.headline" : "Dostupne usluge", 184 "settings.recipes.headline" : "Dostupne usluge",
@@ -235,8 +245,25 @@
235 "settings.user.form.firstname" : "Ime", 245 "settings.user.form.firstname" : "Ime",
236 "settings.user.form.lastname" : "Prezime", 246 "settings.user.form.lastname" : "Prezime",
237 "settings.user.form.newPassword" : "Nova lozinka", 247 "settings.user.form.newPassword" : "Nova lozinka",
248 "settings.workspace.add.form.name" : "Ime",
249 "settings.workspace.add.form.submitButton" : "Create workspace",
250 "settings.workspace.form.buttonDelete" : "Delete workspace",
251 "settings.workspace.form.buttonSave" : "Save workspace",
252 "settings.workspace.form.name" : "Ime",
253 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace",
254 "settings.workspace.form.yourWorkspaces" : "Your workspaces",
255 "settings.workspaces.deletedInfo" : "Workspace has been deleted",
256 "settings.workspaces.headline" : "Your workspaces",
257 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.",
258 "settings.workspaces.tryReloadWorkspaces" : "Pokušajte ponovno",
259 "settings.workspaces.updatedInfo" : "Your changes have been saved",
260 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces",
261 "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.",
262 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces",
238 "sidebar.addNewService" : "Dodajte novu uslugu", 263 "sidebar.addNewService" : "Dodajte novu uslugu",
264 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer",
239 "sidebar.muteApp" : "Онемогући обавештења и звукове", 265 "sidebar.muteApp" : "Онемогући обавештења и звукове",
266 "sidebar.openWorkspaceDrawer" : "Open workspace drawer",
240 "sidebar.settings" : "Postavke", 267 "sidebar.settings" : "Postavke",
241 "sidebar.unmuteApp" : "ИÑкључи обавештења и звукове", 268 "sidebar.unmuteApp" : "ИÑкључи обавештења и звукове",
242 "signup.company.label" : "Tvrtka", 269 "signup.company.label" : "Tvrtka",
@@ -281,5 +308,16 @@
281 "validation.required" : "{поље} је неопходно", 308 "validation.required" : "{поље} је неопходно",
282 "validation.url" : "{field} није валидан УРЛ", 309 "validation.url" : "{field} није валидан УРЛ",
283 "welcome.loginButton" : "Prijavite se na raÄun", 310 "welcome.loginButton" : "Prijavite se na raÄun",
284 "welcome.signupButton" : "Stvorite novi korisniÄki raÄun" 311 "welcome.signupButton" : "Stvorite novi korisniÄki raÄun",
312 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace",
313 "workspaceDrawer.allServices" : "Sve usluge",
314 "workspaceDrawer.headline" : "Workspaces",
315 "workspaceDrawer.item.contextMenuEdit" : "edit",
316 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet",
317 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace",
318 "workspaceDrawer.proFeatureBadge" : "Premium feature",
319 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account",
320 "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>",
321 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings",
322 "workspaces.switchingIndicator.switchingTo" : "Switching to"
285} 323}
diff --git a/src/i18n/locales/tr.json b/src/i18n/locales/tr.json
index 9f8313c2e..a122cd1cf 100644
--- a/src/i18n/locales/tr.json
+++ b/src/i18n/locales/tr.json
@@ -1,6 +1,7 @@
1{ 1{
2 "app.errorHandler.action" : "Tekrar Yükle", 2 "app.errorHandler.action" : "Tekrar Yükle",
3 "app.errorHandler.headline" : "Bir terslik çıktı", 3 "app.errorHandler.headline" : "Bir terslik çıktı",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}",
4 "feature.delayApp.action" : "Franz Destek Lisansı'nı alın", 5 "feature.delayApp.action" : "Franz Destek Lisansı'nı alın",
5 "feature.delayApp.headline" : "Beklememek için Franz Destek Lisansı'nı satın alın", 6 "feature.delayApp.headline" : "Beklememek için Franz Destek Lisansı'nı satın alın",
6 "feature.delayApp.text" : "Franz {seconds} saniye sonra devam edecek.", 7 "feature.delayApp.text" : "Franz {seconds} saniye sonra devam edecek.",
@@ -9,7 +10,7 @@
9 "feature.shareFranz.action.twitter" : "Twitter'da PaylaÅŸ", 10 "feature.shareFranz.action.twitter" : "Twitter'da PaylaÅŸ",
10 "feature.shareFranz.headline" : "Franz birlikte daha iyi!", 11 "feature.shareFranz.headline" : "Franz birlikte daha iyi!",
11 "feature.shareFranz.shareText.email" : "Franz'a {count} tane servis ekledim! WhatsApp, Messenger, Slack ve fazlasını içeren ücretsiz uygulamayı www.meetfranz.com adresinden edinin.", 12 "feature.shareFranz.shareText.email" : "Franz'a {count} tane servis ekledim! WhatsApp, Messenger, Slack ve fazlasını içeren ücretsiz uygulamayı www.meetfranz.com adresinden edinin.",
12 "feature.shareFranz.shareText.twitter" : "Franz'a {count} tane servis ekledim! WhatsApp, Messenger, Slack ve fazlasını içeren ücretsiz uygulamayı www.meetfranz.com adresinden edinin. \/cc @MeetFranz", 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.text" : "Arkadaşlarına ve meslektaşlarına Franz'ın ne kadar harika olduğunu söyle ve bize bu kelimeyi yaymamızda yardım et.", 14 "feature.shareFranz.text" : "Arkadaşlarına ve meslektaşlarına Franz'ın ne kadar harika olduğunu söyle ve bize bu kelimeyi yaymamızda yardım et.",
14 "global.api.unhealthy" : "Franz hizmetlerine ÅŸu anda eriÅŸilemiyor", 15 "global.api.unhealthy" : "Franz hizmetlerine ÅŸu anda eriÅŸilemiyor",
15 "global.notConnectedToTheInternet" : "İnternete bağlı değilsiniz.", 16 "global.notConnectedToTheInternet" : "İnternete bağlı değilsiniz.",
@@ -43,6 +44,7 @@
43 "login.submit.label" : "Oturum Aç", 44 "login.submit.label" : "Oturum Aç",
44 "login.tokenExpired" : "Oturum zaman aşımına uğradı, lütfen tekrar giriş yapın.", 45 "login.tokenExpired" : "Oturum zaman aşımına uğradı, lütfen tekrar giriş yapın.",
45 "menu.app.about" : "Franz Hakkında", 46 "menu.app.about" : "Franz Hakkında",
47 "menu.app.announcement" : "What's new?",
46 "menu.app.hide" : "Gizle", 48 "menu.app.hide" : "Gizle",
47 "menu.app.hideOthers" : "DiÄŸerlerini Gizle", 49 "menu.app.hideOthers" : "DiÄŸerlerini Gizle",
48 "menu.app.quit" : "Çıkış", 50 "menu.app.quit" : "Çıkış",
@@ -87,6 +89,11 @@
87 "menu.window" : "Pencere", 89 "menu.window" : "Pencere",
88 "menu.window.close" : "Kapat", 90 "menu.window.close" : "Kapat",
89 "menu.window.minimize" : "Simge Durumuna Küçült", 91 "menu.window.minimize" : "Simge Durumuna Küçült",
92 "menu.workspaces" : "Workspaces",
93 "menu.workspaces.addNewWorkspace" : "Add New Workspace...",
94 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer",
95 "menu.workspaces.defaultWorkspace" : "Tüm servisler",
96 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer",
90 "password.email.label" : "E-posta adresi", 97 "password.email.label" : "E-posta adresi",
91 "password.headline" : "Parola sıfırla", 98 "password.headline" : "Parola sıfırla",
92 "password.link.login" : "Hesabına giriş yap", 99 "password.link.login" : "Hesabına giriş yap",
@@ -110,6 +117,7 @@
110 "service.errorHandler.headline" : "Hayııırrr!", 117 "service.errorHandler.headline" : "Hayııırrr!",
111 "service.errorHandler.message" : "Hata", 118 "service.errorHandler.message" : "Hata",
112 "service.errorHandler.text" : "{name} yüklenemedi.", 119 "service.errorHandler.text" : "{name} yüklenemedi.",
120 "service.webviewLoader.loading" : "Loading",
113 "services.getStarted" : "Haydi başlayalım", 121 "services.getStarted" : "Haydi başlayalım",
114 "services.welcome" : "Franz'a HoÅŸgeldiniz", 122 "services.welcome" : "Franz'a HoÅŸgeldiniz",
115 "settings.account.account.editButton" : "Hesabı düzenle", 123 "settings.account.account.editButton" : "Hesabı düzenle",
@@ -156,6 +164,7 @@
156 "settings.app.headlineGeneral" : "Genel", 164 "settings.app.headlineGeneral" : "Genel",
157 "settings.app.headlineLanguage" : "Dil", 165 "settings.app.headlineLanguage" : "Dil",
158 "settings.app.headlineUpdates" : "Güncellemeler", 166 "settings.app.headlineUpdates" : "Güncellemeler",
167 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.",
159 "settings.app.restartRequired" : "Değişiklikler yeniden başlatmayı gerektiriyor", 168 "settings.app.restartRequired" : "Değişiklikler yeniden başlatmayı gerektiriyor",
160 "settings.app.subheadlineCache" : "Önbellek", 169 "settings.app.subheadlineCache" : "Önbellek",
161 "settings.app.translationHelp" : "Franz'ı senin diline tercüme etmemiz için yardım et.", 170 "settings.app.translationHelp" : "Franz'ı senin diline tercüme etmemiz için yardım et.",
@@ -169,6 +178,7 @@
169 "settings.navigation.logout" : "Çıkış", 178 "settings.navigation.logout" : "Çıkış",
170 "settings.navigation.settings" : "Ayarlar", 179 "settings.navigation.settings" : "Ayarlar",
171 "settings.navigation.yourServices" : "Servislerin", 180 "settings.navigation.yourServices" : "Servislerin",
181 "settings.navigation.yourWorkspaces" : "Your workspaces",
172 "settings.recipes.all" : "Tüm servisler", 182 "settings.recipes.all" : "Tüm servisler",
173 "settings.recipes.dev" : "GeliÅŸtirme", 183 "settings.recipes.dev" : "GeliÅŸtirme",
174 "settings.recipes.headline" : "Mevcut servisler", 184 "settings.recipes.headline" : "Mevcut servisler",
@@ -235,8 +245,25 @@
235 "settings.user.form.firstname" : "Ad", 245 "settings.user.form.firstname" : "Ad",
236 "settings.user.form.lastname" : "Soyad", 246 "settings.user.form.lastname" : "Soyad",
237 "settings.user.form.newPassword" : "Yeni ÅŸifre", 247 "settings.user.form.newPassword" : "Yeni ÅŸifre",
248 "settings.workspace.add.form.name" : "Name",
249 "settings.workspace.add.form.submitButton" : "Create workspace",
250 "settings.workspace.form.buttonDelete" : "Delete workspace",
251 "settings.workspace.form.buttonSave" : "Save workspace",
252 "settings.workspace.form.name" : "Name",
253 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace",
254 "settings.workspace.form.yourWorkspaces" : "Your workspaces",
255 "settings.workspaces.deletedInfo" : "Workspace has been deleted",
256 "settings.workspaces.headline" : "Your workspaces",
257 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.",
258 "settings.workspaces.tryReloadWorkspaces" : "Tekrar deneyin",
259 "settings.workspaces.updatedInfo" : "DeÄŸiÅŸikliklerin kaydedildi",
260 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces",
261 "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.",
262 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces",
238 "sidebar.addNewService" : "Yeni servis ekle", 263 "sidebar.addNewService" : "Yeni servis ekle",
264 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer",
239 "sidebar.muteApp" : "Bildirimleri ve sesli uyarıları kapat", 265 "sidebar.muteApp" : "Bildirimleri ve sesli uyarıları kapat",
266 "sidebar.openWorkspaceDrawer" : "Open workspace drawer",
240 "sidebar.settings" : "Ayarlar", 267 "sidebar.settings" : "Ayarlar",
241 "sidebar.unmuteApp" : "Bildirimleri ve sesli uyarıları etkinleştir", 268 "sidebar.unmuteApp" : "Bildirimleri ve sesli uyarıları etkinleştir",
242 "signup.company.label" : "Kurum", 269 "signup.company.label" : "Kurum",
@@ -281,5 +308,16 @@
281 "validation.required" : "{field} gereklidir", 308 "validation.required" : "{field} gereklidir",
282 "validation.url" : "{field} geçerli bir URL değil", 309 "validation.url" : "{field} geçerli bir URL değil",
283 "welcome.loginButton" : "Hesabına giriş yap", 310 "welcome.loginButton" : "Hesabına giriş yap",
284 "welcome.signupButton" : "Ãœcretsiz hesap oluÅŸtur" 311 "welcome.signupButton" : "Ãœcretsiz hesap oluÅŸtur",
312 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace",
313 "workspaceDrawer.allServices" : "Tüm servisler",
314 "workspaceDrawer.headline" : "Workspaces",
315 "workspaceDrawer.item.contextMenuEdit" : "edit",
316 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet",
317 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace",
318 "workspaceDrawer.proFeatureBadge" : "Premium feature",
319 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account",
320 "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>",
321 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings",
322 "workspaces.switchingIndicator.switchingTo" : "Switching to"
285} 323}
diff --git a/src/i18n/locales/uk.json b/src/i18n/locales/uk.json
index 56dda09d5..a45468556 100644
--- a/src/i18n/locales/uk.json
+++ b/src/i18n/locales/uk.json
@@ -1,6 +1,7 @@
1{ 1{
2 "app.errorHandler.action" : "Перезавантажити", 2 "app.errorHandler.action" : "Перезавантажити",
3 "app.errorHandler.headline" : "ЩоÑÑŒ пішло не так", 3 "app.errorHandler.headline" : "ЩоÑÑŒ пішло не так",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}",
4 "feature.delayApp.action" : "Отримати ліцензію Franz Supporter ", 5 "feature.delayApp.action" : "Отримати ліцензію Franz Supporter ",
5 "feature.delayApp.headline" : "Будь лаÑка, придбайте ліцензію Franz Supporter аби пропуÑтити очікуваннÑ", 6 "feature.delayApp.headline" : "Будь лаÑка, придбайте ліцензію Franz Supporter аби пропуÑтити очікуваннÑ",
6 "feature.delayApp.text" : "Franz відновить роботу за {seconds} Ñекунд", 7 "feature.delayApp.text" : "Franz відновить роботу за {seconds} Ñекунд",
@@ -9,7 +10,7 @@
9 "feature.shareFranz.action.twitter" : "Share on Twitter", 10 "feature.shareFranz.action.twitter" : "Share on Twitter",
10 "feature.shareFranz.headline" : "Franz is better together!", 11 "feature.shareFranz.headline" : "Franz is better together!",
11 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", 12 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com",
12 "feature.shareFranz.shareText.twitter" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com \/cc @MeetFranz", 13 "feature.shareFranz.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.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.",
14 "global.api.unhealthy" : "Ðе можливо підключитиÑÑŒ до онлайн ÑервіÑів Franz", 15 "global.api.unhealthy" : "Ðе можливо підключитиÑÑŒ до онлайн ÑервіÑів Franz",
15 "global.notConnectedToTheInternet" : "Ви не підключені до Інтернету.", 16 "global.notConnectedToTheInternet" : "Ви не підключені до Інтернету.",
@@ -43,6 +44,7 @@
43 "login.submit.label" : "Увійти", 44 "login.submit.label" : "Увійти",
44 "login.tokenExpired" : "Ваша ÑеÑÑ–Ñ Ð·Ð°ÐºÑ–Ð½Ñ‡Ð¸Ð»Ð°ÑÑŒ, будь лаÑка, увійдіть знову.", 45 "login.tokenExpired" : "Ваша ÑеÑÑ–Ñ Ð·Ð°ÐºÑ–Ð½Ñ‡Ð¸Ð»Ð°ÑÑŒ, будь лаÑка, увійдіть знову.",
45 "menu.app.about" : "Про Franz", 46 "menu.app.about" : "Про Franz",
47 "menu.app.announcement" : "What's new?",
46 "menu.app.hide" : "Приховати", 48 "menu.app.hide" : "Приховати",
47 "menu.app.hideOthers" : "Приховати інші", 49 "menu.app.hideOthers" : "Приховати інші",
48 "menu.app.quit" : "Вийти", 50 "menu.app.quit" : "Вийти",
@@ -87,6 +89,11 @@
87 "menu.window" : "Вікно", 89 "menu.window" : "Вікно",
88 "menu.window.close" : "Закрити", 90 "menu.window.close" : "Закрити",
89 "menu.window.minimize" : "Згорнути", 91 "menu.window.minimize" : "Згорнути",
92 "menu.workspaces" : "Workspaces",
93 "menu.workspaces.addNewWorkspace" : "Add New Workspace...",
94 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer",
95 "menu.workspaces.defaultWorkspace" : "Ð’ÑÑ– ÑервіÑи",
96 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer",
90 "password.email.label" : "Email адреÑа", 97 "password.email.label" : "Email адреÑа",
91 "password.headline" : "Скинути пароль", 98 "password.headline" : "Скинути пароль",
92 "password.link.login" : "Увійти до вашого акаунту", 99 "password.link.login" : "Увійти до вашого акаунту",
@@ -110,6 +117,7 @@
110 "service.errorHandler.headline" : "О, ні!", 117 "service.errorHandler.headline" : "О, ні!",
111 "service.errorHandler.message" : "Помилка", 118 "service.errorHandler.message" : "Помилка",
112 "service.errorHandler.text" : "{name} не завантажено", 119 "service.errorHandler.text" : "{name} не завантажено",
120 "service.webviewLoader.loading" : "Loading",
113 "services.getStarted" : "Почати", 121 "services.getStarted" : "Почати",
114 "services.welcome" : "ЛаÑкаво проÑимо в Franz", 122 "services.welcome" : "ЛаÑкаво проÑимо в Franz",
115 "settings.account.account.editButton" : "Редагувати акаунт", 123 "settings.account.account.editButton" : "Редагувати акаунт",
@@ -156,6 +164,7 @@
156 "settings.app.headlineGeneral" : "Загальні", 164 "settings.app.headlineGeneral" : "Загальні",
157 "settings.app.headlineLanguage" : "Мова", 165 "settings.app.headlineLanguage" : "Мова",
158 "settings.app.headlineUpdates" : "ОновленнÑ", 166 "settings.app.headlineUpdates" : "ОновленнÑ",
167 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.",
159 "settings.app.restartRequired" : "Зміни потребують перезапуÑку", 168 "settings.app.restartRequired" : "Зміни потребують перезапуÑку",
160 "settings.app.subheadlineCache" : "Кеш", 169 "settings.app.subheadlineCache" : "Кеш",
161 "settings.app.translationHelp" : "Допоможіть переклаÑти Franz на Вашу мову.", 170 "settings.app.translationHelp" : "Допоможіть переклаÑти Franz на Вашу мову.",
@@ -169,6 +178,7 @@
169 "settings.navigation.logout" : "Вийти", 178 "settings.navigation.logout" : "Вийти",
170 "settings.navigation.settings" : "ÐалаштуваннÑ", 179 "settings.navigation.settings" : "ÐалаштуваннÑ",
171 "settings.navigation.yourServices" : "Ваші ÑервіÑи", 180 "settings.navigation.yourServices" : "Ваші ÑервіÑи",
181 "settings.navigation.yourWorkspaces" : "Your workspaces",
172 "settings.recipes.all" : "Ð’ÑÑ– ÑервіÑи", 182 "settings.recipes.all" : "Ð’ÑÑ– ÑервіÑи",
173 "settings.recipes.dev" : "Розробка", 183 "settings.recipes.dev" : "Розробка",
174 "settings.recipes.headline" : "ДоÑтупні ÑервіÑи", 184 "settings.recipes.headline" : "ДоÑтупні ÑервіÑи",
@@ -235,8 +245,25 @@
235 "settings.user.form.firstname" : "Ім`Ñ", 245 "settings.user.form.firstname" : "Ім`Ñ",
236 "settings.user.form.lastname" : "Прізвище", 246 "settings.user.form.lastname" : "Прізвище",
237 "settings.user.form.newPassword" : "Ðовий пароль", 247 "settings.user.form.newPassword" : "Ðовий пароль",
248 "settings.workspace.add.form.name" : "Ім'Ñ",
249 "settings.workspace.add.form.submitButton" : "Create workspace",
250 "settings.workspace.form.buttonDelete" : "Delete workspace",
251 "settings.workspace.form.buttonSave" : "Save workspace",
252 "settings.workspace.form.name" : "Ім'Ñ",
253 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace",
254 "settings.workspace.form.yourWorkspaces" : "Your workspaces",
255 "settings.workspaces.deletedInfo" : "Workspace has been deleted",
256 "settings.workspaces.headline" : "Your workspaces",
257 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.",
258 "settings.workspaces.tryReloadWorkspaces" : "Спробуйте ще раз",
259 "settings.workspaces.updatedInfo" : "Ваші зміни були збережені",
260 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces",
261 "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.",
262 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces",
238 "sidebar.addNewService" : "Додати новий ÑервіÑ", 263 "sidebar.addNewService" : "Додати новий ÑервіÑ",
264 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer",
239 "sidebar.muteApp" : "Вимкнути ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ‚Ð° звуки", 265 "sidebar.muteApp" : "Вимкнути ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ‚Ð° звуки",
266 "sidebar.openWorkspaceDrawer" : "Open workspace drawer",
240 "sidebar.settings" : "ÐалаштуваннÑ", 267 "sidebar.settings" : "ÐалаштуваннÑ",
241 "sidebar.unmuteApp" : "Увімкнути ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ‚Ð° звуки", 268 "sidebar.unmuteApp" : "Увімкнути ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ‚Ð° звуки",
242 "signup.company.label" : "КомпаніÑ", 269 "signup.company.label" : "КомпаніÑ",
@@ -281,5 +308,16 @@
281 "validation.required" : "{field} обов'Ñзвоке", 308 "validation.required" : "{field} обов'Ñзвоке",
282 "validation.url" : "{field} не валідний URL", 309 "validation.url" : "{field} не валідний URL",
283 "welcome.loginButton" : "Увійдіть до Ñвого акаунту", 310 "welcome.loginButton" : "Увійдіть до Ñвого акаунту",
284 "welcome.signupButton" : "Створити безплатний акаунт" 311 "welcome.signupButton" : "Створити безплатний акаунт",
312 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace",
313 "workspaceDrawer.allServices" : "Ð’ÑÑ– ÑервіÑи",
314 "workspaceDrawer.headline" : "Workspaces",
315 "workspaceDrawer.item.contextMenuEdit" : "edit",
316 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet",
317 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace",
318 "workspaceDrawer.proFeatureBadge" : "Premium feature",
319 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account",
320 "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>",
321 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings",
322 "workspaces.switchingIndicator.switchingTo" : "Switching to"
285} 323}
diff --git a/src/i18n/locales/zh-TW.json b/src/i18n/locales/zh-TW.json
index 54245ba57..e099319da 100644
--- a/src/i18n/locales/zh-TW.json
+++ b/src/i18n/locales/zh-TW.json
@@ -1,6 +1,7 @@
1{ 1{
2 "app.errorHandler.action" : "é‡æ–°è¼‰å…¥", 2 "app.errorHandler.action" : "é‡æ–°è¼‰å…¥",
3 "app.errorHandler.headline" : "有些æ±è¥¿å‡ºéŒ¯äº†", 3 "app.errorHandler.headline" : "有些æ±è¥¿å‡ºéŒ¯äº†",
4 "feature.announcements.changelog.headline" : "Changes in Franz {version}",
4 "feature.delayApp.action" : "å–å¾— Franz 支æ´æŽˆæ¬Š", 5 "feature.delayApp.action" : "å–å¾— Franz 支æ´æŽˆæ¬Š",
5 "feature.delayApp.headline" : "請購買 Franz 支æ´æŽˆæ¬Šä»¥è·³éŽç­‰å€™", 6 "feature.delayApp.headline" : "請購買 Franz 支æ´æŽˆæ¬Šä»¥è·³éŽç­‰å€™",
6 "feature.delayApp.text" : "Franz 會在 {seconds} 秒後繼續。", 7 "feature.delayApp.text" : "Franz 會在 {seconds} 秒後繼續。",
@@ -9,7 +10,7 @@
9 "feature.shareFranz.action.twitter" : "Share on Twitter", 10 "feature.shareFranz.action.twitter" : "Share on Twitter",
10 "feature.shareFranz.headline" : "Franz is better together!", 11 "feature.shareFranz.headline" : "Franz is better together!",
11 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", 12 "feature.shareFranz.shareText.email" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com",
12 "feature.shareFranz.shareText.twitter" : "I've added {count} services to Franz! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com \/cc @MeetFranz", 13 "feature.shareFranz.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.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.",
14 "global.api.unhealthy" : "無法連線至 Franz 的伺æœå™¨", 15 "global.api.unhealthy" : "無法連線至 Franz 的伺æœå™¨",
15 "global.notConnectedToTheInternet" : "你沒有連上網路。", 16 "global.notConnectedToTheInternet" : "你沒有連上網路。",
@@ -43,6 +44,7 @@
43 "login.submit.label" : "登入", 44 "login.submit.label" : "登入",
44 "login.tokenExpired" : "您的登入已éŽæœŸï¼Œè«‹é‡æ–°ç™»å…¥ã€‚", 45 "login.tokenExpired" : "您的登入已éŽæœŸï¼Œè«‹é‡æ–°ç™»å…¥ã€‚",
45 "menu.app.about" : "關於 Franz", 46 "menu.app.about" : "關於 Franz",
47 "menu.app.announcement" : "What's new?",
46 "menu.app.hide" : "éš±è—", 48 "menu.app.hide" : "éš±è—",
47 "menu.app.hideOthers" : "éš±è—其他", 49 "menu.app.hideOthers" : "éš±è—其他",
48 "menu.app.quit" : "çµæŸ", 50 "menu.app.quit" : "çµæŸ",
@@ -87,6 +89,11 @@
87 "menu.window" : "視窗", 89 "menu.window" : "視窗",
88 "menu.window.close" : "關閉", 90 "menu.window.close" : "關閉",
89 "menu.window.minimize" : "最å°åŒ–", 91 "menu.window.minimize" : "最å°åŒ–",
92 "menu.workspaces" : "Workspaces",
93 "menu.workspaces.addNewWorkspace" : "Add New Workspace...",
94 "menu.workspaces.closeWorkspaceDrawer" : "Close workspace drawer",
95 "menu.workspaces.defaultWorkspace" : "所有æœå‹™",
96 "menu.workspaces.openWorkspaceDrawer" : "Open workspace drawer",
90 "password.email.label" : "é›»å­éƒµä»¶åœ°å€", 97 "password.email.label" : "é›»å­éƒµä»¶åœ°å€",
91 "password.headline" : "é‡è¨­å¯†ç¢¼", 98 "password.headline" : "é‡è¨­å¯†ç¢¼",
92 "password.link.login" : "登入您的帳號", 99 "password.link.login" : "登入您的帳號",
@@ -110,6 +117,7 @@
110 "service.errorHandler.headline" : "噢ä¸ï¼", 117 "service.errorHandler.headline" : "噢ä¸ï¼",
111 "service.errorHandler.message" : "錯誤", 118 "service.errorHandler.message" : "錯誤",
112 "service.errorHandler.text" : "{name} 載入失敗。", 119 "service.errorHandler.text" : "{name} 載入失敗。",
120 "service.webviewLoader.loading" : "Loading",
113 "services.getStarted" : "開始", 121 "services.getStarted" : "開始",
114 "services.welcome" : "歡迎使用 Franz", 122 "services.welcome" : "歡迎使用 Franz",
115 "settings.account.account.editButton" : "編輯帳號", 123 "settings.account.account.editButton" : "編輯帳號",
@@ -156,6 +164,7 @@
156 "settings.app.headlineGeneral" : "一般", 164 "settings.app.headlineGeneral" : "一般",
157 "settings.app.headlineLanguage" : "語言", 165 "settings.app.headlineLanguage" : "語言",
158 "settings.app.headlineUpdates" : "æ›´æ–°", 166 "settings.app.headlineUpdates" : "æ›´æ–°",
167 "settings.app.languageDisclaimer" : "Official translations are English & German. All other languages are community based translations.",
159 "settings.app.restartRequired" : "需è¦é‡å•Ÿä»¥æ›´è®Š", 168 "settings.app.restartRequired" : "需è¦é‡å•Ÿä»¥æ›´è®Š",
160 "settings.app.subheadlineCache" : "å¿«å–", 169 "settings.app.subheadlineCache" : "å¿«å–",
161 "settings.app.translationHelp" : "幫助我們將 Franz 翻譯æˆæ‚¨çš„語言。", 170 "settings.app.translationHelp" : "幫助我們將 Franz 翻譯æˆæ‚¨çš„語言。",
@@ -169,6 +178,7 @@
169 "settings.navigation.logout" : "登出", 178 "settings.navigation.logout" : "登出",
170 "settings.navigation.settings" : "設定", 179 "settings.navigation.settings" : "設定",
171 "settings.navigation.yourServices" : "您的æœå‹™", 180 "settings.navigation.yourServices" : "您的æœå‹™",
181 "settings.navigation.yourWorkspaces" : "Your workspaces",
172 "settings.recipes.all" : "所有æœå‹™", 182 "settings.recipes.all" : "所有æœå‹™",
173 "settings.recipes.dev" : "開發", 183 "settings.recipes.dev" : "開發",
174 "settings.recipes.headline" : "å¯ä½¿ç”¨çš„æœå‹™", 184 "settings.recipes.headline" : "å¯ä½¿ç”¨çš„æœå‹™",
@@ -235,8 +245,25 @@
235 "settings.user.form.firstname" : "å", 245 "settings.user.form.firstname" : "å",
236 "settings.user.form.lastname" : "姓", 246 "settings.user.form.lastname" : "姓",
237 "settings.user.form.newPassword" : "新密碼", 247 "settings.user.form.newPassword" : "新密碼",
248 "settings.workspace.add.form.name" : "å稱",
249 "settings.workspace.add.form.submitButton" : "Create workspace",
250 "settings.workspace.form.buttonDelete" : "Delete workspace",
251 "settings.workspace.form.buttonSave" : "Save workspace",
252 "settings.workspace.form.name" : "å稱",
253 "settings.workspace.form.servicesInWorkspaceHeadline" : "Services in this Workspace",
254 "settings.workspace.form.yourWorkspaces" : "Your workspaces",
255 "settings.workspaces.deletedInfo" : "Workspace has been deleted",
256 "settings.workspaces.headline" : "Your workspaces",
257 "settings.workspaces.noWorkspacesAdded" : "You haven't added any workspaces yet.",
258 "settings.workspaces.tryReloadWorkspaces" : "å†è©¦ä¸€æ¬¡",
259 "settings.workspaces.updatedInfo" : "Your changes have been saved",
260 "settings.workspaces.workspaceFeatureHeadline" : "Less is More: Introducing Franz Workspaces",
261 "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.",
262 "settings.workspaces.workspacesRequestFailed" : "Could not load your workspaces",
238 "sidebar.addNewService" : "新增新的æœå‹™", 263 "sidebar.addNewService" : "新增新的æœå‹™",
264 "sidebar.closeWorkspaceDrawer" : "Close workspace drawer",
239 "sidebar.muteApp" : "關閉通知和通知音效", 265 "sidebar.muteApp" : "關閉通知和通知音效",
266 "sidebar.openWorkspaceDrawer" : "Open workspace drawer",
240 "sidebar.settings" : "設定", 267 "sidebar.settings" : "設定",
241 "sidebar.unmuteApp" : "開啟通知和通知音效", 268 "sidebar.unmuteApp" : "開啟通知和通知音效",
242 "signup.company.label" : "å…¬å¸", 269 "signup.company.label" : "å…¬å¸",
@@ -281,5 +308,16 @@
281 "validation.required" : "{field}為必填", 308 "validation.required" : "{field}為必填",
282 "validation.url" : "{field}ä¸æ˜¯å€‹æœ‰æ•ˆçš„網å€", 309 "validation.url" : "{field}ä¸æ˜¯å€‹æœ‰æ•ˆçš„網å€",
283 "welcome.loginButton" : "登入您的帳戶", 310 "welcome.loginButton" : "登入您的帳戶",
284 "welcome.signupButton" : "建立å…費帳號" 311 "welcome.signupButton" : "建立å…費帳號",
312 "workspaceDrawer.addNewWorkspaceLabel" : "Add new workspace",
313 "workspaceDrawer.allServices" : "所有æœå‹™",
314 "workspaceDrawer.headline" : "Workspaces",
315 "workspaceDrawer.item.contextMenuEdit" : "edit",
316 "workspaceDrawer.item.noServicesAddedYet" : "No services added yet",
317 "workspaceDrawer.premiumCtaButtonLabel" : "Create your first workspace",
318 "workspaceDrawer.proFeatureBadge" : "Premium feature",
319 "workspaceDrawer.reactivatePremiumAccountLabel" : "Reactivate premium account",
320 "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>",
321 "workspaceDrawer.workspacesSettingsTooltip" : "Edit workspaces settings",
322 "workspaces.switchingIndicator.switchingTo" : "Switching to"
285} 323}
diff --git a/src/i18n/messages/src/components/layout/AppLayout.json b/src/i18n/messages/src/components/layout/AppLayout.json
index 92593ed5c..26b8ce040 100644
--- a/src/i18n/messages/src/components/layout/AppLayout.json
+++ b/src/i18n/messages/src/components/layout/AppLayout.json
@@ -4,11 +4,11 @@
4 "defaultMessage": "!!!Your services have been updated.", 4 "defaultMessage": "!!!Your services have been updated.",
5 "file": "src/components/layout/AppLayout.js", 5 "file": "src/components/layout/AppLayout.js",
6 "start": { 6 "start": {
7 "line": 25, 7 "line": 27,
8 "column": 19 8 "column": 19
9 }, 9 },
10 "end": { 10 "end": {
11 "line": 28, 11 "line": 30,
12 "column": 3 12 "column": 3
13 } 13 }
14 }, 14 },
@@ -17,11 +17,11 @@
17 "defaultMessage": "!!!A new update for Franz is available.", 17 "defaultMessage": "!!!A new update for Franz is available.",
18 "file": "src/components/layout/AppLayout.js", 18 "file": "src/components/layout/AppLayout.js",
19 "start": { 19 "start": {
20 "line": 29, 20 "line": 31,
21 "column": 19 21 "column": 19
22 }, 22 },
23 "end": { 23 "end": {
24 "line": 32, 24 "line": 34,
25 "column": 3 25 "column": 3
26 } 26 }
27 }, 27 },
@@ -30,11 +30,11 @@
30 "defaultMessage": "!!!Reload services", 30 "defaultMessage": "!!!Reload services",
31 "file": "src/components/layout/AppLayout.js", 31 "file": "src/components/layout/AppLayout.js",
32 "start": { 32 "start": {
33 "line": 33, 33 "line": 35,
34 "column": 24 34 "column": 24
35 }, 35 },
36 "end": { 36 "end": {
37 "line": 36, 37 "line": 38,
38 "column": 3 38 "column": 3
39 } 39 }
40 }, 40 },
@@ -43,11 +43,11 @@
43 "defaultMessage": "!!!Changelog", 43 "defaultMessage": "!!!Changelog",
44 "file": "src/components/layout/AppLayout.js", 44 "file": "src/components/layout/AppLayout.js",
45 "start": { 45 "start": {
46 "line": 37, 46 "line": 39,
47 "column": 13 47 "column": 13
48 }, 48 },
49 "end": { 49 "end": {
50 "line": 40, 50 "line": 42,
51 "column": 3 51 "column": 3
52 } 52 }
53 }, 53 },
@@ -56,11 +56,11 @@
56 "defaultMessage": "!!!Restart & install update", 56 "defaultMessage": "!!!Restart & install update",
57 "file": "src/components/layout/AppLayout.js", 57 "file": "src/components/layout/AppLayout.js",
58 "start": { 58 "start": {
59 "line": 41, 59 "line": 43,
60 "column": 23 60 "column": 23
61 }, 61 },
62 "end": { 62 "end": {
63 "line": 44, 63 "line": 46,
64 "column": 3 64 "column": 3
65 } 65 }
66 }, 66 },
@@ -69,11 +69,11 @@
69 "defaultMessage": "!!!Could not load services and user information", 69 "defaultMessage": "!!!Could not load services and user information",
70 "file": "src/components/layout/AppLayout.js", 70 "file": "src/components/layout/AppLayout.js",
71 "start": { 71 "start": {
72 "line": 45, 72 "line": 47,
73 "column": 26 73 "column": 26
74 }, 74 },
75 "end": { 75 "end": {
76 "line": 48, 76 "line": 50,
77 "column": 3 77 "column": 3
78 } 78 }
79 } 79 }
diff --git a/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json b/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json
index c64f477be..fa21db10a 100644
--- a/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json
+++ b/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json
@@ -219,5 +219,18 @@
219 "line": 83, 219 "line": 83,
220 "column": 3 220 "column": 3
221 } 221 }
222 },
223 {
224 "id": "settings.app.languageDisclaimer",
225 "defaultMessage": "!!!Official translations are English & German. All other languages are community based translations.",
226 "file": "src/components/settings/settings/EditSettingsForm.js",
227 "start": {
228 "line": 84,
229 "column": 22
230 },
231 "end": {
232 "line": 87,
233 "column": 3
234 }
222 } 235 }
223] \ No newline at end of file 236] \ No newline at end of file
diff --git a/src/i18n/messages/src/features/announcements/components/AnnouncementScreen.json b/src/i18n/messages/src/features/announcements/components/AnnouncementScreen.json
new file mode 100644
index 000000000..eb1b66916
--- /dev/null
+++ b/src/i18n/messages/src/features/announcements/components/AnnouncementScreen.json
@@ -0,0 +1,15 @@
1[
2 {
3 "id": "feature.announcements.changelog.headline",
4 "defaultMessage": "!!!Changes in Franz {version}",
5 "file": "src/features/announcements/components/AnnouncementScreen.js",
6 "start": {
7 "line": 20,
8 "column": 12
9 },
10 "end": {
11 "line": 23,
12 "column": 3
13 }
14 }
15] \ No newline at end of file
diff --git a/src/i18n/messages/src/lib/Menu.json b/src/i18n/messages/src/lib/Menu.json
index 3889d39e0..a2ce34cd4 100644
--- a/src/i18n/messages/src/lib/Menu.json
+++ b/src/i18n/messages/src/lib/Menu.json
@@ -4,11 +4,11 @@
4 "defaultMessage": "!!!Edit", 4 "defaultMessage": "!!!Edit",
5 "file": "src/lib/Menu.js", 5 "file": "src/lib/Menu.js",
6 "start": { 6 "start": {
7 "line": 13, 7 "line": 14,
8 "column": 8 8 "column": 8
9 }, 9 },
10 "end": { 10 "end": {
11 "line": 16, 11 "line": 17,
12 "column": 3 12 "column": 3
13 } 13 }
14 }, 14 },
@@ -17,11 +17,11 @@
17 "defaultMessage": "!!!Undo", 17 "defaultMessage": "!!!Undo",
18 "file": "src/lib/Menu.js", 18 "file": "src/lib/Menu.js",
19 "start": { 19 "start": {
20 "line": 17, 20 "line": 18,
21 "column": 8 21 "column": 8
22 }, 22 },
23 "end": { 23 "end": {
24 "line": 20, 24 "line": 21,
25 "column": 3 25 "column": 3
26 } 26 }
27 }, 27 },
@@ -30,11 +30,11 @@
30 "defaultMessage": "!!!Redo", 30 "defaultMessage": "!!!Redo",
31 "file": "src/lib/Menu.js", 31 "file": "src/lib/Menu.js",
32 "start": { 32 "start": {
33 "line": 21, 33 "line": 22,
34 "column": 8 34 "column": 8
35 }, 35 },
36 "end": { 36 "end": {
37 "line": 24, 37 "line": 25,
38 "column": 3 38 "column": 3
39 } 39 }
40 }, 40 },
@@ -43,11 +43,11 @@
43 "defaultMessage": "!!!Cut", 43 "defaultMessage": "!!!Cut",
44 "file": "src/lib/Menu.js", 44 "file": "src/lib/Menu.js",
45 "start": { 45 "start": {
46 "line": 25, 46 "line": 26,
47 "column": 7 47 "column": 7
48 }, 48 },
49 "end": { 49 "end": {
50 "line": 28, 50 "line": 29,
51 "column": 3 51 "column": 3
52 } 52 }
53 }, 53 },
@@ -56,11 +56,11 @@
56 "defaultMessage": "!!!Copy", 56 "defaultMessage": "!!!Copy",
57 "file": "src/lib/Menu.js", 57 "file": "src/lib/Menu.js",
58 "start": { 58 "start": {
59 "line": 29, 59 "line": 30,
60 "column": 8 60 "column": 8
61 }, 61 },
62 "end": { 62 "end": {
63 "line": 32, 63 "line": 33,
64 "column": 3 64 "column": 3
65 } 65 }
66 }, 66 },
@@ -69,11 +69,11 @@
69 "defaultMessage": "!!!Paste", 69 "defaultMessage": "!!!Paste",
70 "file": "src/lib/Menu.js", 70 "file": "src/lib/Menu.js",
71 "start": { 71 "start": {
72 "line": 33, 72 "line": 34,
73 "column": 9 73 "column": 9
74 }, 74 },
75 "end": { 75 "end": {
76 "line": 36, 76 "line": 37,
77 "column": 3 77 "column": 3
78 } 78 }
79 }, 79 },
@@ -82,11 +82,11 @@
82 "defaultMessage": "!!!Paste And Match Style", 82 "defaultMessage": "!!!Paste And Match Style",
83 "file": "src/lib/Menu.js", 83 "file": "src/lib/Menu.js",
84 "start": { 84 "start": {
85 "line": 37, 85 "line": 38,
86 "column": 22 86 "column": 22
87 }, 87 },
88 "end": { 88 "end": {
89 "line": 40, 89 "line": 41,
90 "column": 3 90 "column": 3
91 } 91 }
92 }, 92 },
@@ -95,11 +95,11 @@
95 "defaultMessage": "!!!Delete", 95 "defaultMessage": "!!!Delete",
96 "file": "src/lib/Menu.js", 96 "file": "src/lib/Menu.js",
97 "start": { 97 "start": {
98 "line": 41, 98 "line": 42,
99 "column": 10 99 "column": 10
100 }, 100 },
101 "end": { 101 "end": {
102 "line": 44, 102 "line": 45,
103 "column": 3 103 "column": 3
104 } 104 }
105 }, 105 },
@@ -108,11 +108,11 @@
108 "defaultMessage": "!!!Select All", 108 "defaultMessage": "!!!Select All",
109 "file": "src/lib/Menu.js", 109 "file": "src/lib/Menu.js",
110 "start": { 110 "start": {
111 "line": 45, 111 "line": 46,
112 "column": 13 112 "column": 13
113 }, 113 },
114 "end": { 114 "end": {
115 "line": 48, 115 "line": 49,
116 "column": 3 116 "column": 3
117 } 117 }
118 }, 118 },
@@ -121,11 +121,11 @@
121 "defaultMessage": "!!!Speech", 121 "defaultMessage": "!!!Speech",
122 "file": "src/lib/Menu.js", 122 "file": "src/lib/Menu.js",
123 "start": { 123 "start": {
124 "line": 49, 124 "line": 50,
125 "column": 10 125 "column": 10
126 }, 126 },
127 "end": { 127 "end": {
128 "line": 52, 128 "line": 53,
129 "column": 3 129 "column": 3
130 } 130 }
131 }, 131 },
@@ -134,11 +134,11 @@
134 "defaultMessage": "!!!Start Speaking", 134 "defaultMessage": "!!!Start Speaking",
135 "file": "src/lib/Menu.js", 135 "file": "src/lib/Menu.js",
136 "start": { 136 "start": {
137 "line": 53, 137 "line": 54,
138 "column": 17 138 "column": 17
139 }, 139 },
140 "end": { 140 "end": {
141 "line": 56, 141 "line": 57,
142 "column": 3 142 "column": 3
143 } 143 }
144 }, 144 },
@@ -147,11 +147,11 @@
147 "defaultMessage": "!!!Stop Speaking", 147 "defaultMessage": "!!!Stop Speaking",
148 "file": "src/lib/Menu.js", 148 "file": "src/lib/Menu.js",
149 "start": { 149 "start": {
150 "line": 57, 150 "line": 58,
151 "column": 16 151 "column": 16
152 }, 152 },
153 "end": { 153 "end": {
154 "line": 60, 154 "line": 61,
155 "column": 3 155 "column": 3
156 } 156 }
157 }, 157 },
@@ -160,11 +160,11 @@
160 "defaultMessage": "!!!Start Dictation", 160 "defaultMessage": "!!!Start Dictation",
161 "file": "src/lib/Menu.js", 161 "file": "src/lib/Menu.js",
162 "start": { 162 "start": {
163 "line": 61, 163 "line": 62,
164 "column": 18 164 "column": 18
165 }, 165 },
166 "end": { 166 "end": {
167 "line": 64, 167 "line": 65,
168 "column": 3 168 "column": 3
169 } 169 }
170 }, 170 },
@@ -173,11 +173,11 @@
173 "defaultMessage": "!!!Emoji & Symbols", 173 "defaultMessage": "!!!Emoji & Symbols",
174 "file": "src/lib/Menu.js", 174 "file": "src/lib/Menu.js",
175 "start": { 175 "start": {
176 "line": 65, 176 "line": 66,
177 "column": 16 177 "column": 16
178 }, 178 },
179 "end": { 179 "end": {
180 "line": 68, 180 "line": 69,
181 "column": 3 181 "column": 3
182 } 182 }
183 }, 183 },
@@ -186,11 +186,11 @@
186 "defaultMessage": "!!!Actual Size", 186 "defaultMessage": "!!!Actual Size",
187 "file": "src/lib/Menu.js", 187 "file": "src/lib/Menu.js",
188 "start": { 188 "start": {
189 "line": 69, 189 "line": 70,
190 "column": 13 190 "column": 13
191 }, 191 },
192 "end": { 192 "end": {
193 "line": 72, 193 "line": 73,
194 "column": 3 194 "column": 3
195 } 195 }
196 }, 196 },
@@ -199,11 +199,11 @@
199 "defaultMessage": "!!!Zoom In", 199 "defaultMessage": "!!!Zoom In",
200 "file": "src/lib/Menu.js", 200 "file": "src/lib/Menu.js",
201 "start": { 201 "start": {
202 "line": 73, 202 "line": 74,
203 "column": 10 203 "column": 10
204 }, 204 },
205 "end": { 205 "end": {
206 "line": 76, 206 "line": 77,
207 "column": 3 207 "column": 3
208 } 208 }
209 }, 209 },
@@ -212,11 +212,11 @@
212 "defaultMessage": "!!!Zoom Out", 212 "defaultMessage": "!!!Zoom Out",
213 "file": "src/lib/Menu.js", 213 "file": "src/lib/Menu.js",
214 "start": { 214 "start": {
215 "line": 77, 215 "line": 78,
216 "column": 11 216 "column": 11
217 }, 217 },
218 "end": { 218 "end": {
219 "line": 80, 219 "line": 81,
220 "column": 3 220 "column": 3
221 } 221 }
222 }, 222 },
@@ -225,11 +225,11 @@
225 "defaultMessage": "!!!Enter Full Screen", 225 "defaultMessage": "!!!Enter Full Screen",
226 "file": "src/lib/Menu.js", 226 "file": "src/lib/Menu.js",
227 "start": { 227 "start": {
228 "line": 81, 228 "line": 82,
229 "column": 19 229 "column": 19
230 }, 230 },
231 "end": { 231 "end": {
232 "line": 84, 232 "line": 85,
233 "column": 3 233 "column": 3
234 } 234 }
235 }, 235 },
@@ -238,11 +238,11 @@
238 "defaultMessage": "!!!Exit Full Screen", 238 "defaultMessage": "!!!Exit Full Screen",
239 "file": "src/lib/Menu.js", 239 "file": "src/lib/Menu.js",
240 "start": { 240 "start": {
241 "line": 85, 241 "line": 86,
242 "column": 18 242 "column": 18
243 }, 243 },
244 "end": { 244 "end": {
245 "line": 88, 245 "line": 89,
246 "column": 3 246 "column": 3
247 } 247 }
248 }, 248 },
@@ -251,11 +251,11 @@
251 "defaultMessage": "!!!Toggle Full Screen", 251 "defaultMessage": "!!!Toggle Full Screen",
252 "file": "src/lib/Menu.js", 252 "file": "src/lib/Menu.js",
253 "start": { 253 "start": {
254 "line": 89, 254 "line": 90,
255 "column": 20 255 "column": 20
256 }, 256 },
257 "end": { 257 "end": {
258 "line": 92, 258 "line": 93,
259 "column": 3 259 "column": 3
260 } 260 }
261 }, 261 },
@@ -264,11 +264,11 @@
264 "defaultMessage": "!!!Toggle Developer Tools", 264 "defaultMessage": "!!!Toggle Developer Tools",
265 "file": "src/lib/Menu.js", 265 "file": "src/lib/Menu.js",
266 "start": { 266 "start": {
267 "line": 93, 267 "line": 94,
268 "column": 18 268 "column": 18
269 }, 269 },
270 "end": { 270 "end": {
271 "line": 96, 271 "line": 97,
272 "column": 3 272 "column": 3
273 } 273 }
274 }, 274 },
@@ -277,11 +277,11 @@
277 "defaultMessage": "!!!Toggle Service Developer Tools", 277 "defaultMessage": "!!!Toggle Service Developer Tools",
278 "file": "src/lib/Menu.js", 278 "file": "src/lib/Menu.js",
279 "start": { 279 "start": {
280 "line": 97, 280 "line": 98,
281 "column": 25 281 "column": 25
282 }, 282 },
283 "end": { 283 "end": {
284 "line": 100, 284 "line": 101,
285 "column": 3 285 "column": 3
286 } 286 }
287 }, 287 },
@@ -290,11 +290,11 @@
290 "defaultMessage": "!!!Reload Service", 290 "defaultMessage": "!!!Reload Service",
291 "file": "src/lib/Menu.js", 291 "file": "src/lib/Menu.js",
292 "start": { 292 "start": {
293 "line": 101, 293 "line": 102,
294 "column": 17 294 "column": 17
295 }, 295 },
296 "end": { 296 "end": {
297 "line": 104, 297 "line": 105,
298 "column": 3 298 "column": 3
299 } 299 }
300 }, 300 },
@@ -303,11 +303,11 @@
303 "defaultMessage": "!!!Reload Franz", 303 "defaultMessage": "!!!Reload Franz",
304 "file": "src/lib/Menu.js", 304 "file": "src/lib/Menu.js",
305 "start": { 305 "start": {
306 "line": 105, 306 "line": 106,
307 "column": 15 307 "column": 15
308 }, 308 },
309 "end": { 309 "end": {
310 "line": 108, 310 "line": 109,
311 "column": 3 311 "column": 3
312 } 312 }
313 }, 313 },
@@ -316,11 +316,11 @@
316 "defaultMessage": "!!!Minimize", 316 "defaultMessage": "!!!Minimize",
317 "file": "src/lib/Menu.js", 317 "file": "src/lib/Menu.js",
318 "start": { 318 "start": {
319 "line": 109, 319 "line": 110,
320 "column": 12 320 "column": 12
321 }, 321 },
322 "end": { 322 "end": {
323 "line": 112, 323 "line": 113,
324 "column": 3 324 "column": 3
325 } 325 }
326 }, 326 },
@@ -329,11 +329,11 @@
329 "defaultMessage": "!!!Close", 329 "defaultMessage": "!!!Close",
330 "file": "src/lib/Menu.js", 330 "file": "src/lib/Menu.js",
331 "start": { 331 "start": {
332 "line": 113, 332 "line": 114,
333 "column": 9 333 "column": 9
334 }, 334 },
335 "end": { 335 "end": {
336 "line": 116, 336 "line": 117,
337 "column": 3 337 "column": 3
338 } 338 }
339 }, 339 },
@@ -342,11 +342,11 @@
342 "defaultMessage": "!!!Learn More", 342 "defaultMessage": "!!!Learn More",
343 "file": "src/lib/Menu.js", 343 "file": "src/lib/Menu.js",
344 "start": { 344 "start": {
345 "line": 117, 345 "line": 118,
346 "column": 13 346 "column": 13
347 }, 347 },
348 "end": { 348 "end": {
349 "line": 120, 349 "line": 121,
350 "column": 3 350 "column": 3
351 } 351 }
352 }, 352 },
@@ -355,11 +355,11 @@
355 "defaultMessage": "!!!Changelog", 355 "defaultMessage": "!!!Changelog",
356 "file": "src/lib/Menu.js", 356 "file": "src/lib/Menu.js",
357 "start": { 357 "start": {
358 "line": 121, 358 "line": 122,
359 "column": 13 359 "column": 13
360 }, 360 },
361 "end": { 361 "end": {
362 "line": 124, 362 "line": 125,
363 "column": 3 363 "column": 3
364 } 364 }
365 }, 365 },
@@ -368,11 +368,11 @@
368 "defaultMessage": "!!!Support", 368 "defaultMessage": "!!!Support",
369 "file": "src/lib/Menu.js", 369 "file": "src/lib/Menu.js",
370 "start": { 370 "start": {
371 "line": 125, 371 "line": 126,
372 "column": 11 372 "column": 11
373 }, 373 },
374 "end": { 374 "end": {
375 "line": 128, 375 "line": 129,
376 "column": 3 376 "column": 3
377 } 377 }
378 }, 378 },
@@ -381,11 +381,11 @@
381 "defaultMessage": "!!!Terms of Service", 381 "defaultMessage": "!!!Terms of Service",
382 "file": "src/lib/Menu.js", 382 "file": "src/lib/Menu.js",
383 "start": { 383 "start": {
384 "line": 129, 384 "line": 130,
385 "column": 7 385 "column": 7
386 }, 386 },
387 "end": { 387 "end": {
388 "line": 132, 388 "line": 133,
389 "column": 3 389 "column": 3
390 } 390 }
391 }, 391 },
@@ -394,11 +394,11 @@
394 "defaultMessage": "!!!Privacy Statement", 394 "defaultMessage": "!!!Privacy Statement",
395 "file": "src/lib/Menu.js", 395 "file": "src/lib/Menu.js",
396 "start": { 396 "start": {
397 "line": 133, 397 "line": 134,
398 "column": 11 398 "column": 11
399 }, 399 },
400 "end": { 400 "end": {
401 "line": 136, 401 "line": 137,
402 "column": 3 402 "column": 3
403 } 403 }
404 }, 404 },
@@ -407,11 +407,11 @@
407 "defaultMessage": "!!!File", 407 "defaultMessage": "!!!File",
408 "file": "src/lib/Menu.js", 408 "file": "src/lib/Menu.js",
409 "start": { 409 "start": {
410 "line": 137, 410 "line": 138,
411 "column": 8 411 "column": 8
412 }, 412 },
413 "end": { 413 "end": {
414 "line": 140, 414 "line": 141,
415 "column": 3 415 "column": 3
416 } 416 }
417 }, 417 },
@@ -420,11 +420,11 @@
420 "defaultMessage": "!!!View", 420 "defaultMessage": "!!!View",
421 "file": "src/lib/Menu.js", 421 "file": "src/lib/Menu.js",
422 "start": { 422 "start": {
423 "line": 141, 423 "line": 142,
424 "column": 8 424 "column": 8
425 }, 425 },
426 "end": { 426 "end": {
427 "line": 144, 427 "line": 145,
428 "column": 3 428 "column": 3
429 } 429 }
430 }, 430 },
@@ -433,11 +433,11 @@
433 "defaultMessage": "!!!Services", 433 "defaultMessage": "!!!Services",
434 "file": "src/lib/Menu.js", 434 "file": "src/lib/Menu.js",
435 "start": { 435 "start": {
436 "line": 145, 436 "line": 146,
437 "column": 12 437 "column": 12
438 }, 438 },
439 "end": { 439 "end": {
440 "line": 148, 440 "line": 149,
441 "column": 3 441 "column": 3
442 } 442 }
443 }, 443 },
@@ -446,11 +446,11 @@
446 "defaultMessage": "!!!Window", 446 "defaultMessage": "!!!Window",
447 "file": "src/lib/Menu.js", 447 "file": "src/lib/Menu.js",
448 "start": { 448 "start": {
449 "line": 149, 449 "line": 150,
450 "column": 10 450 "column": 10
451 }, 451 },
452 "end": { 452 "end": {
453 "line": 152, 453 "line": 153,
454 "column": 3 454 "column": 3
455 } 455 }
456 }, 456 },
@@ -459,11 +459,11 @@
459 "defaultMessage": "!!!Help", 459 "defaultMessage": "!!!Help",
460 "file": "src/lib/Menu.js", 460 "file": "src/lib/Menu.js",
461 "start": { 461 "start": {
462 "line": 153, 462 "line": 154,
463 "column": 8 463 "column": 8
464 }, 464 },
465 "end": { 465 "end": {
466 "line": 156, 466 "line": 157,
467 "column": 3 467 "column": 3
468 } 468 }
469 }, 469 },
@@ -472,11 +472,24 @@
472 "defaultMessage": "!!!About Franz", 472 "defaultMessage": "!!!About Franz",
473 "file": "src/lib/Menu.js", 473 "file": "src/lib/Menu.js",
474 "start": { 474 "start": {
475 "line": 157, 475 "line": 158,
476 "column": 9 476 "column": 9
477 }, 477 },
478 "end": { 478 "end": {
479 "line": 160, 479 "line": 161,
480 "column": 3
481 }
482 },
483 {
484 "id": "menu.app.announcement",
485 "defaultMessage": "!!!What's new?",
486 "file": "src/lib/Menu.js",
487 "start": {
488 "line": 162,
489 "column": 16
490 },
491 "end": {
492 "line": 165,
480 "column": 3 493 "column": 3
481 } 494 }
482 }, 495 },
@@ -485,11 +498,11 @@
485 "defaultMessage": "!!!Settings", 498 "defaultMessage": "!!!Settings",
486 "file": "src/lib/Menu.js", 499 "file": "src/lib/Menu.js",
487 "start": { 500 "start": {
488 "line": 161, 501 "line": 166,
489 "column": 12 502 "column": 12
490 }, 503 },
491 "end": { 504 "end": {
492 "line": 164, 505 "line": 169,
493 "column": 3 506 "column": 3
494 } 507 }
495 }, 508 },
@@ -498,11 +511,11 @@
498 "defaultMessage": "!!!Hide", 511 "defaultMessage": "!!!Hide",
499 "file": "src/lib/Menu.js", 512 "file": "src/lib/Menu.js",
500 "start": { 513 "start": {
501 "line": 165, 514 "line": 170,
502 "column": 8 515 "column": 8
503 }, 516 },
504 "end": { 517 "end": {
505 "line": 168, 518 "line": 173,
506 "column": 3 519 "column": 3
507 } 520 }
508 }, 521 },
@@ -511,11 +524,11 @@
511 "defaultMessage": "!!!Hide Others", 524 "defaultMessage": "!!!Hide Others",
512 "file": "src/lib/Menu.js", 525 "file": "src/lib/Menu.js",
513 "start": { 526 "start": {
514 "line": 169, 527 "line": 174,
515 "column": 14 528 "column": 14
516 }, 529 },
517 "end": { 530 "end": {
518 "line": 172, 531 "line": 177,
519 "column": 3 532 "column": 3
520 } 533 }
521 }, 534 },
@@ -524,11 +537,11 @@
524 "defaultMessage": "!!!Unhide", 537 "defaultMessage": "!!!Unhide",
525 "file": "src/lib/Menu.js", 538 "file": "src/lib/Menu.js",
526 "start": { 539 "start": {
527 "line": 173, 540 "line": 178,
528 "column": 10 541 "column": 10
529 }, 542 },
530 "end": { 543 "end": {
531 "line": 176, 544 "line": 181,
532 "column": 3 545 "column": 3
533 } 546 }
534 }, 547 },
@@ -537,11 +550,11 @@
537 "defaultMessage": "!!!Quit", 550 "defaultMessage": "!!!Quit",
538 "file": "src/lib/Menu.js", 551 "file": "src/lib/Menu.js",
539 "start": { 552 "start": {
540 "line": 177, 553 "line": 182,
541 "column": 8 554 "column": 8
542 }, 555 },
543 "end": { 556 "end": {
544 "line": 180, 557 "line": 185,
545 "column": 3 558 "column": 3
546 } 559 }
547 }, 560 },
@@ -550,11 +563,11 @@
550 "defaultMessage": "!!!Add New Service...", 563 "defaultMessage": "!!!Add New Service...",
551 "file": "src/lib/Menu.js", 564 "file": "src/lib/Menu.js",
552 "start": { 565 "start": {
553 "line": 181, 566 "line": 186,
554 "column": 17 567 "column": 17
555 }, 568 },
556 "end": { 569 "end": {
557 "line": 184, 570 "line": 189,
558 "column": 3 571 "column": 3
559 } 572 }
560 }, 573 },
@@ -563,11 +576,11 @@
563 "defaultMessage": "!!!Add New Workspace...", 576 "defaultMessage": "!!!Add New Workspace...",
564 "file": "src/lib/Menu.js", 577 "file": "src/lib/Menu.js",
565 "start": { 578 "start": {
566 "line": 185, 579 "line": 190,
567 "column": 19 580 "column": 19
568 }, 581 },
569 "end": { 582 "end": {
570 "line": 188, 583 "line": 193,
571 "column": 3 584 "column": 3
572 } 585 }
573 }, 586 },
@@ -576,11 +589,11 @@
576 "defaultMessage": "!!!Open workspace drawer", 589 "defaultMessage": "!!!Open workspace drawer",
577 "file": "src/lib/Menu.js", 590 "file": "src/lib/Menu.js",
578 "start": { 591 "start": {
579 "line": 189, 592 "line": 194,
580 "column": 23 593 "column": 23
581 }, 594 },
582 "end": { 595 "end": {
583 "line": 192, 596 "line": 197,
584 "column": 3 597 "column": 3
585 } 598 }
586 }, 599 },
@@ -589,11 +602,11 @@
589 "defaultMessage": "!!!Close workspace drawer", 602 "defaultMessage": "!!!Close workspace drawer",
590 "file": "src/lib/Menu.js", 603 "file": "src/lib/Menu.js",
591 "start": { 604 "start": {
592 "line": 193, 605 "line": 198,
593 "column": 24 606 "column": 24
594 }, 607 },
595 "end": { 608 "end": {
596 "line": 196, 609 "line": 201,
597 "column": 3 610 "column": 3
598 } 611 }
599 }, 612 },
@@ -602,11 +615,11 @@
602 "defaultMessage": "!!!Activate next service...", 615 "defaultMessage": "!!!Activate next service...",
603 "file": "src/lib/Menu.js", 616 "file": "src/lib/Menu.js",
604 "start": { 617 "start": {
605 "line": 197, 618 "line": 202,
606 "column": 23 619 "column": 23
607 }, 620 },
608 "end": { 621 "end": {
609 "line": 200, 622 "line": 205,
610 "column": 3 623 "column": 3
611 } 624 }
612 }, 625 },
@@ -615,11 +628,11 @@
615 "defaultMessage": "!!!Activate previous service...", 628 "defaultMessage": "!!!Activate previous service...",
616 "file": "src/lib/Menu.js", 629 "file": "src/lib/Menu.js",
617 "start": { 630 "start": {
618 "line": 201, 631 "line": 206,
619 "column": 27 632 "column": 27
620 }, 633 },
621 "end": { 634 "end": {
622 "line": 204, 635 "line": 209,
623 "column": 3 636 "column": 3
624 } 637 }
625 }, 638 },
@@ -628,11 +641,11 @@
628 "defaultMessage": "!!!Disable notifications & audio", 641 "defaultMessage": "!!!Disable notifications & audio",
629 "file": "src/lib/Menu.js", 642 "file": "src/lib/Menu.js",
630 "start": { 643 "start": {
631 "line": 205, 644 "line": 210,
632 "column": 11 645 "column": 11
633 }, 646 },
634 "end": { 647 "end": {
635 "line": 208, 648 "line": 213,
636 "column": 3 649 "column": 3
637 } 650 }
638 }, 651 },
@@ -641,11 +654,11 @@
641 "defaultMessage": "!!!Enable notifications & audio", 654 "defaultMessage": "!!!Enable notifications & audio",
642 "file": "src/lib/Menu.js", 655 "file": "src/lib/Menu.js",
643 "start": { 656 "start": {
644 "line": 209, 657 "line": 214,
645 "column": 13 658 "column": 13
646 }, 659 },
647 "end": { 660 "end": {
648 "line": 212, 661 "line": 217,
649 "column": 3 662 "column": 3
650 } 663 }
651 }, 664 },
@@ -654,11 +667,11 @@
654 "defaultMessage": "!!!Workspaces", 667 "defaultMessage": "!!!Workspaces",
655 "file": "src/lib/Menu.js", 668 "file": "src/lib/Menu.js",
656 "start": { 669 "start": {
657 "line": 213, 670 "line": 218,
658 "column": 14 671 "column": 14
659 }, 672 },
660 "end": { 673 "end": {
661 "line": 216, 674 "line": 221,
662 "column": 3 675 "column": 3
663 } 676 }
664 }, 677 },
@@ -667,11 +680,11 @@
667 "defaultMessage": "!!!Default", 680 "defaultMessage": "!!!Default",
668 "file": "src/lib/Menu.js", 681 "file": "src/lib/Menu.js",
669 "start": { 682 "start": {
670 "line": 217, 683 "line": 222,
671 "column": 20 684 "column": 20
672 }, 685 },
673 "end": { 686 "end": {
674 "line": 220, 687 "line": 225,
675 "column": 3 688 "column": 3
676 } 689 }
677 } 690 }
diff --git a/src/lib/Menu.js b/src/lib/Menu.js
index a4e41c17c..6bea67860 100644
--- a/src/lib/Menu.js
+++ b/src/lib/Menu.js
@@ -6,6 +6,7 @@ import { isMac, ctrlKey, cmdKey } from '../environment';
6import { GA_CATEGORY_WORKSPACES, workspaceStore } from '../features/workspaces/index'; 6import { GA_CATEGORY_WORKSPACES, workspaceStore } from '../features/workspaces/index';
7import { workspaceActions } from '../features/workspaces/actions'; 7import { workspaceActions } from '../features/workspaces/actions';
8import { gaEvent } from './analytics'; 8import { gaEvent } from './analytics';
9import { announcementActions } from '../features/announcements/actions';
9 10
10const { app, Menu, dialog } = remote; 11const { app, Menu, dialog } = remote;
11 12
@@ -158,6 +159,10 @@ const menuItems = defineMessages({
158 id: 'menu.app.about', 159 id: 'menu.app.about',
159 defaultMessage: '!!!About Franz', 160 defaultMessage: '!!!About Franz',
160 }, 161 },
162 announcement: {
163 id: 'menu.app.announcement',
164 defaultMessage: '!!!What\'s new?',
165 },
161 settings: { 166 settings: {
162 id: 'menu.app.settings', 167 id: 'menu.app.settings',
163 defaultMessage: '!!!Settings', 168 defaultMessage: '!!!Settings',
@@ -348,8 +353,10 @@ const _templateFactory = intl => [
348 click() { shell.openExternal('https://meetfranz.com'); }, 353 click() { shell.openExternal('https://meetfranz.com'); },
349 }, 354 },
350 { 355 {
351 label: intl.formatMessage(menuItems.changelog), 356 label: intl.formatMessage(menuItems.announcement),
352 click() { shell.openExternal('https://github.com/meetfranz/franz/blob/master/CHANGELOG.md'); }, 357 click: () => {
358 announcementActions.show();
359 },
353 }, 360 },
354 { 361 {
355 type: 'separator', 362 type: 'separator',
diff --git a/src/stores/AppStore.js b/src/stores/AppStore.js
index 351ad6422..e68e797ef 100644
--- a/src/stores/AppStore.js
+++ b/src/stores/AppStore.js
@@ -67,6 +67,8 @@ export default class AppStore extends Store {
67 67
68 @observable isFocused = true; 68 @observable isFocused = true;
69 69
70 @observable nextAppReleaseVersion = null;
71
70 dictionaries = []; 72 dictionaries = [];
71 73
72 constructor(...args) { 74 constructor(...args) {
@@ -123,7 +125,7 @@ export default class AppStore extends Store {
123 ipcRenderer.on('autoUpdate', (event, data) => { 125 ipcRenderer.on('autoUpdate', (event, data) => {
124 if (data.available) { 126 if (data.available) {
125 this.updateStatus = this.updateStatusTypes.AVAILABLE; 127 this.updateStatus = this.updateStatusTypes.AVAILABLE;
126 128 this.nextAppReleaseVersion = data.version;
127 if (isMac) { 129 if (isMac) {
128 app.dock.bounce(); 130 app.dock.bounce();
129 } 131 }
@@ -172,7 +174,6 @@ export default class AppStore extends Store {
172 reaction(() => this.stores.router.location.pathname, (pathname) => { 174 reaction(() => this.stores.router.location.pathname, (pathname) => {
173 gaPage(pathname); 175 gaPage(pathname);
174 }); 176 });
175 console.log('router location', this.stores.router.location);
176 } 177 }
177 178
178 @computed get cacheSize() { 179 @computed get cacheSize() {
diff --git a/src/stores/FeaturesStore.js b/src/stores/FeaturesStore.js
index 6200c9a16..e7832088b 100644
--- a/src/stores/FeaturesStore.js
+++ b/src/stores/FeaturesStore.js
@@ -14,6 +14,7 @@ import serviceProxy from '../features/serviceProxy';
14import basicAuth from '../features/basicAuth'; 14import basicAuth from '../features/basicAuth';
15import workspaces from '../features/workspaces'; 15import workspaces from '../features/workspaces';
16import shareFranz from '../features/shareFranz'; 16import shareFranz from '../features/shareFranz';
17import announcements from '../features/announcements';
17import settingsWS from '../features/settingsWS'; 18import settingsWS from '../features/settingsWS';
18 19
19import { DEFAULT_FEATURES_CONFIG } from '../config'; 20import { DEFAULT_FEATURES_CONFIG } from '../config';
@@ -72,6 +73,7 @@ export default class FeaturesStore extends Store {
72 basicAuth(this.stores, this.actions); 73 basicAuth(this.stores, this.actions);
73 workspaces(this.stores, this.actions); 74 workspaces(this.stores, this.actions);
74 shareFranz(this.stores, this.actions); 75 shareFranz(this.stores, this.actions);
76 announcements(this.stores, this.actions);
75 settingsWS(this.stores, this.actions); 77 settingsWS(this.stores, this.actions);
76 } 78 }
77} 79}
diff --git a/src/stores/ServicesStore.js b/src/stores/ServicesStore.js
index 0ec6bf550..d04fdd0c5 100644
--- a/src/stores/ServicesStore.js
+++ b/src/stores/ServicesStore.js
@@ -36,6 +36,7 @@ export default class ServicesStore extends Store {
36 36
37 // Register action handlers 37 // Register action handlers
38 this.actions.service.setActive.listen(this._setActive.bind(this)); 38 this.actions.service.setActive.listen(this._setActive.bind(this));
39 this.actions.service.blurActive.listen(this._blurActive.bind(this));
39 this.actions.service.setActiveNext.listen(this._setActiveNext.bind(this)); 40 this.actions.service.setActiveNext.listen(this._setActiveNext.bind(this));
40 this.actions.service.setActivePrev.listen(this._setActivePrev.bind(this)); 41 this.actions.service.setActivePrev.listen(this._setActivePrev.bind(this));
41 this.actions.service.showAddServiceInterface.listen(this._showAddServiceInterface.bind(this)); 42 this.actions.service.showAddServiceInterface.listen(this._showAddServiceInterface.bind(this));
@@ -301,6 +302,11 @@ export default class ServicesStore extends Store {
301 this._focusActiveService(); 302 this._focusActiveService();
302 } 303 }
303 304
305 @action _blurActive() {
306 if (!this.active) return;
307 this.active.isActive = false;
308 }
309
304 @action _setActiveNext() { 310 @action _setActiveNext() {
305 const nextIndex = this._wrapIndex(this.allDisplayed.findIndex(service => service.isActive), 1, this.allDisplayed.length); 311 const nextIndex = this._wrapIndex(this.allDisplayed.findIndex(service => service.isActive), 1, this.allDisplayed.length);
306 312
diff --git a/src/stores/UserStore.js b/src/stores/UserStore.js
index 534690fbb..31555dd5c 100644
--- a/src/stores/UserStore.js
+++ b/src/stores/UserStore.js
@@ -178,6 +178,7 @@ export default class UserStore extends Store {
178 password, 178 password,
179 accountType, 179 accountType,
180 company, 180 company,
181 locale: this.stores.app.locale,
181 }); 182 });
182 183
183 this.hasCompletedSignup = false; 184 this.hasCompletedSignup = false;
diff --git a/src/stores/index.js b/src/stores/index.js
index 96b844c95..1912418a2 100644
--- a/src/stores/index.js
+++ b/src/stores/index.js
@@ -10,6 +10,8 @@ import PaymentStore from './PaymentStore';
10import NewsStore from './NewsStore'; 10import NewsStore from './NewsStore';
11import RequestStore from './RequestStore'; 11import RequestStore from './RequestStore';
12import GlobalErrorStore from './GlobalErrorStore'; 12import GlobalErrorStore from './GlobalErrorStore';
13import { workspaceStore } from '../features/workspaces';
14import { announcementsStore } from '../features/announcements';
13 15
14export default (api, actions, router) => { 16export default (api, actions, router) => {
15 const stores = {}; 17 const stores = {};
@@ -27,6 +29,8 @@ export default (api, actions, router) => {
27 news: new NewsStore(stores, api, actions), 29 news: new NewsStore(stores, api, actions),
28 requests: new RequestStore(stores, api, actions), 30 requests: new RequestStore(stores, api, actions),
29 globalError: new GlobalErrorStore(stores, api, actions), 31 globalError: new GlobalErrorStore(stores, api, actions),
32 workspaces: workspaceStore,
33 announcements: announcementsStore,
30 }); 34 });
31 // Initialize all stores 35 // Initialize all stores
32 Object.keys(stores).forEach((name) => { 36 Object.keys(stores).forEach((name) => {
diff --git a/src/stores/lib/Reaction.js b/src/stores/lib/Reaction.js
index 46aa4dae6..f2642908f 100644
--- a/src/stores/lib/Reaction.js
+++ b/src/stores/lib/Reaction.js
@@ -1,24 +1,31 @@
1// @flow
2import { autorun } from 'mobx'; 1import { autorun } from 'mobx';
3 2
4export default class Reaction { 3export default class Reaction {
5 reaction; 4 reaction;
6 5
7 hasBeenStarted; 6 isRunning = false;
8 7
9 dispose; 8 dispose;
10 9
11 constructor(reaction) { 10 constructor(reaction) {
12 this.reaction = reaction; 11 this.reaction = reaction;
13 this.hasBeenStarted = false;
14 } 12 }
15 13
16 start() { 14 start() {
17 this.dispose = autorun(() => this.reaction()); 15 if (!this.isRunning) {
18 this.hasBeenStarted = true; 16 this.dispose = autorun(() => this.reaction());
17 this.isActive = true;
18 }
19 } 19 }
20 20
21 stop() { 21 stop() {
22 if (this.hasBeenStarted) this.dispose(); 22 if (this.isRunning) {
23 this.dispose();
24 this.isActive = false;
25 }
23 } 26 }
24} 27}
28
29export const createReactions = reactions => (
30 reactions.map(r => new Reaction(r))
31);
diff --git a/src/styles/info-bar.scss b/src/styles/info-bar.scss
index fb4917358..d3010942f 100644
--- a/src/styles/info-bar.scss
+++ b/src/styles/info-bar.scss
@@ -43,6 +43,10 @@
43 } 43 }
44 } 44 }
45 45
46 .info-bar__inline-button {
47 color: white;
48 }
49
46 &.info-bar--bottom { order: 10; } 50 &.info-bar--bottom { order: 10; }
47 51
48 &.info-bar--primary { 52 &.info-bar--primary {