diff options
Diffstat (limited to 'src')
88 files changed, 3272 insertions, 1181 deletions
diff --git a/src/actions/app.js b/src/actions/app.js index 25ff9344d..e6f7f22ba 100644 --- a/src/actions/app.js +++ b/src/actions/app.js | |||
@@ -22,6 +22,8 @@ export default { | |||
22 | healthCheck: {}, | 22 | healthCheck: {}, |
23 | muteApp: { | 23 | muteApp: { |
24 | isMuted: PropTypes.bool.isRequired, | 24 | isMuted: PropTypes.bool.isRequired, |
25 | overrideSystemMute: PropTypes.bool, | ||
25 | }, | 26 | }, |
26 | toggleMuteApp: {}, | 27 | toggleMuteApp: {}, |
28 | clearAllCache: {}, | ||
27 | }; | 29 | }; |
diff --git a/src/actions/service.js b/src/actions/service.js index e3100e986..5d483b12a 100644 --- a/src/actions/service.js +++ b/src/actions/service.js | |||
@@ -25,6 +25,9 @@ export default { | |||
25 | serviceId: PropTypes.string.isRequired, | 25 | serviceId: PropTypes.string.isRequired, |
26 | redirect: PropTypes.string, | 26 | redirect: PropTypes.string, |
27 | }, | 27 | }, |
28 | clearCache: { | ||
29 | serviceId: PropTypes.string.isRequired, | ||
30 | }, | ||
28 | setUnreadMessageCount: { | 31 | setUnreadMessageCount: { |
29 | serviceId: PropTypes.string.isRequired, | 32 | serviceId: PropTypes.string.isRequired, |
30 | count: PropTypes.object.isRequired, | 33 | count: PropTypes.object.isRequired, |
diff --git a/src/actions/user.js b/src/actions/user.js index fe32b8a05..ccf1fa56a 100644 --- a/src/actions/user.js +++ b/src/actions/user.js | |||
@@ -27,4 +27,5 @@ export default { | |||
27 | importLegacyServices: PropTypes.arrayOf(PropTypes.shape({ | 27 | importLegacyServices: PropTypes.arrayOf(PropTypes.shape({ |
28 | recipe: PropTypes.string.isRequired, | 28 | recipe: PropTypes.string.isRequired, |
29 | })).isRequired, | 29 | })).isRequired, |
30 | delete: {}, | ||
30 | }; | 31 | }; |
diff --git a/src/api/LocalApi.js b/src/api/LocalApi.js index 6f2b049d6..3f84f8a0b 100644 --- a/src/api/LocalApi.js +++ b/src/api/LocalApi.js | |||
@@ -15,4 +15,12 @@ export default class LocalApi { | |||
15 | removeKey(key) { | 15 | removeKey(key) { |
16 | return this.local.removeKey(key); | 16 | return this.local.removeKey(key); |
17 | } | 17 | } |
18 | |||
19 | getAppCacheSize() { | ||
20 | return this.local.getAppCacheSize(); | ||
21 | } | ||
22 | |||
23 | clearAppCache() { | ||
24 | return this.local.clearAppCache(); | ||
25 | } | ||
18 | } | 26 | } |
diff --git a/src/api/ServicesApi.js b/src/api/ServicesApi.js index 3cb40ba0d..36ed9482f 100644 --- a/src/api/ServicesApi.js +++ b/src/api/ServicesApi.js | |||
@@ -1,5 +1,6 @@ | |||
1 | export default class ServicesApi { | 1 | export default class ServicesApi { |
2 | constructor(server) { | 2 | constructor(server, local) { |
3 | this.local = local; | ||
3 | this.server = server; | 4 | this.server = server; |
4 | } | 5 | } |
5 | 6 | ||
@@ -30,4 +31,8 @@ export default class ServicesApi { | |||
30 | reorder(data) { | 31 | reorder(data) { |
31 | return this.server.reorderService(data); | 32 | return this.server.reorderService(data); |
32 | } | 33 | } |
34 | |||
35 | clearCache(serviceId) { | ||
36 | return this.local.clearCache(serviceId); | ||
37 | } | ||
33 | } | 38 | } |
diff --git a/src/api/UserApi.js b/src/api/UserApi.js index e8fd75bed..edfb88988 100644 --- a/src/api/UserApi.js +++ b/src/api/UserApi.js | |||
@@ -46,4 +46,8 @@ export default class UserApi { | |||
46 | getLegacyServices() { | 46 | getLegacyServices() { |
47 | return this.server.getLegacyServices(); | 47 | return this.server.getLegacyServices(); |
48 | } | 48 | } |
49 | |||
50 | delete() { | ||
51 | return this.server.deleteAccount(); | ||
52 | } | ||
49 | } | 53 | } |
diff --git a/src/api/server/LocalApi.js b/src/api/server/LocalApi.js index eba236f16..e95d750ac 100644 --- a/src/api/server/LocalApi.js +++ b/src/api/server/LocalApi.js | |||
@@ -1,4 +1,9 @@ | |||
1 | import SettingsModel from '../../models/Settings'; | 1 | import { remote } from 'electron'; |
2 | import du from 'du'; | ||
3 | |||
4 | import { getServicePartitionsDirectory } from '../../helpers/service-helpers.js'; | ||
5 | |||
6 | const { session } = remote; | ||
2 | 7 | ||
3 | export default class LocalApi { | 8 | export default class LocalApi { |
4 | // App | 9 | // App |
@@ -15,7 +20,7 @@ export default class LocalApi { | |||
15 | async getAppSettings() { | 20 | async getAppSettings() { |
16 | const settingsString = localStorage.getItem('app'); | 21 | const settingsString = localStorage.getItem('app'); |
17 | try { | 22 | try { |
18 | const settings = new SettingsModel(JSON.parse(settingsString) || {}); | 23 | const settings = JSON.parse(settingsString) || {}; |
19 | console.debug('LocalApi::getAppSettings resolves', settings); | 24 | console.debug('LocalApi::getAppSettings resolves', settings); |
20 | 25 | ||
21 | return settings; | 26 | return settings; |
@@ -32,4 +37,31 @@ export default class LocalApi { | |||
32 | localStorage.setItem('app', JSON.stringify(settings)); | 37 | localStorage.setItem('app', JSON.stringify(settings)); |
33 | } | 38 | } |
34 | } | 39 | } |
40 | |||
41 | // Services | ||
42 | async getAppCacheSize() { | ||
43 | const partitionsDir = getServicePartitionsDirectory(); | ||
44 | return new Promise((resolve, reject) => { | ||
45 | du(partitionsDir, (err, size) => { | ||
46 | if (err) reject(err); | ||
47 | |||
48 | console.debug('LocalApi::getAppCacheSize resolves', size); | ||
49 | resolve(size); | ||
50 | }); | ||
51 | }); | ||
52 | } | ||
53 | |||
54 | async clearCache(serviceId) { | ||
55 | const s = session.fromPartition(`persist:service-${serviceId}`); | ||
56 | |||
57 | console.debug('LocalApi::clearCache resolves', serviceId); | ||
58 | return new Promise(resolve => s.clearCache(resolve)); | ||
59 | } | ||
60 | |||
61 | async clearAppCache() { | ||
62 | const s = session.defaultSession; | ||
63 | |||
64 | console.debug('LocalApi::clearCache clearAppCache'); | ||
65 | return new Promise(resolve => s.clearCache(resolve)); | ||
66 | } | ||
35 | } | 67 | } |
diff --git a/src/api/server/ServerApi.js b/src/api/server/ServerApi.js index f25f02eaa..d37ff51f8 100644 --- a/src/api/server/ServerApi.js +++ b/src/api/server/ServerApi.js | |||
@@ -12,6 +12,8 @@ import NewsModel from '../../models/News'; | |||
12 | import UserModel from '../../models/User'; | 12 | import UserModel from '../../models/User'; |
13 | import OrderModel from '../../models/Order'; | 13 | import OrderModel from '../../models/Order'; |
14 | 14 | ||
15 | import { sleep } from '../../helpers/async-helpers'; | ||
16 | |||
15 | import { API } from '../../environment'; | 17 | import { API } from '../../environment'; |
16 | 18 | ||
17 | import { | 19 | import { |
@@ -20,6 +22,10 @@ import { | |||
20 | loadRecipeConfig, | 22 | loadRecipeConfig, |
21 | } from '../../helpers/recipe-helpers'; | 23 | } from '../../helpers/recipe-helpers'; |
22 | 24 | ||
25 | import { | ||
26 | removeServicePartitionDirectory, | ||
27 | } from '../../helpers/service-helpers.js'; | ||
28 | |||
23 | module.paths.unshift( | 29 | module.paths.unshift( |
24 | getDevRecipeDirectory(), | 30 | getDevRecipeDirectory(), |
25 | getRecipeDirectory(), | 31 | getRecipeDirectory(), |
@@ -125,6 +131,19 @@ export default class ServerApi { | |||
125 | return user; | 131 | return user; |
126 | } | 132 | } |
127 | 133 | ||
134 | async deleteAccount() { | ||
135 | const request = await window.fetch(`${SERVER_URL}/${API_VERSION}/me`, this._prepareAuthRequest({ | ||
136 | method: 'DELETE', | ||
137 | })); | ||
138 | if (!request.ok) { | ||
139 | throw request; | ||
140 | } | ||
141 | const data = await request.json(); | ||
142 | |||
143 | console.debug('ServerApi::deleteAccount resolves', data); | ||
144 | return data; | ||
145 | } | ||
146 | |||
128 | // Services | 147 | // Services |
129 | async getServices() { | 148 | async getServices() { |
130 | const request = await window.fetch(`${SERVER_URL}/${API_VERSION}/me/services`, this._prepareAuthRequest({ | 149 | const request = await window.fetch(`${SERVER_URL}/${API_VERSION}/me/services`, this._prepareAuthRequest({ |
@@ -152,27 +171,65 @@ export default class ServerApi { | |||
152 | throw request; | 171 | throw request; |
153 | } | 172 | } |
154 | const serviceData = await request.json(); | 173 | const serviceData = await request.json(); |
174 | |||
175 | if (data.iconFile) { | ||
176 | const iconData = await this.uploadServiceIcon(serviceData.data.id, data.iconFile); | ||
177 | |||
178 | serviceData.data = iconData; | ||
179 | } | ||
180 | |||
155 | const service = Object.assign(serviceData, { data: await this._prepareServiceModel(serviceData.data) }); | 181 | const service = Object.assign(serviceData, { data: await this._prepareServiceModel(serviceData.data) }); |
156 | 182 | ||
157 | console.debug('ServerApi::createService resolves', service); | 183 | console.debug('ServerApi::createService resolves', service); |
158 | return service; | 184 | return service; |
159 | } | 185 | } |
160 | 186 | ||
161 | async updateService(recipeId, data) { | 187 | async updateService(serviceId, rawData) { |
162 | const request = await window.fetch(`${SERVER_URL}/${API_VERSION}/service/${recipeId}`, this._prepareAuthRequest({ | 188 | const data = rawData; |
189 | |||
190 | if (data.iconFile) { | ||
191 | await this.uploadServiceIcon(serviceId, data.iconFile); | ||
192 | } | ||
193 | |||
194 | const request = await window.fetch(`${SERVER_URL}/${API_VERSION}/service/${serviceId}`, this._prepareAuthRequest({ | ||
163 | method: 'PUT', | 195 | method: 'PUT', |
164 | body: JSON.stringify(data), | 196 | body: JSON.stringify(data), |
165 | })); | 197 | })); |
198 | |||
166 | if (!request.ok) { | 199 | if (!request.ok) { |
167 | throw request; | 200 | throw request; |
168 | } | 201 | } |
202 | |||
169 | const serviceData = await request.json(); | 203 | const serviceData = await request.json(); |
204 | |||
170 | const service = Object.assign(serviceData, { data: await this._prepareServiceModel(serviceData.data) }); | 205 | const service = Object.assign(serviceData, { data: await this._prepareServiceModel(serviceData.data) }); |
171 | 206 | ||
172 | console.debug('ServerApi::updateService resolves', service); | 207 | console.debug('ServerApi::updateService resolves', service); |
173 | return service; | 208 | return service; |
174 | } | 209 | } |
175 | 210 | ||
211 | async uploadServiceIcon(serviceId, icon) { | ||
212 | const formData = new FormData(); | ||
213 | formData.append('icon', icon); | ||
214 | |||
215 | const requestData = this._prepareAuthRequest({ | ||
216 | method: 'PUT', | ||
217 | body: formData, | ||
218 | }); | ||
219 | |||
220 | delete requestData.headers['Content-Type']; | ||
221 | |||
222 | const request = await window.fetch(`${SERVER_URL}/${API_VERSION}/service/${serviceId}`, requestData); | ||
223 | |||
224 | if (!request.ok) { | ||
225 | throw request; | ||
226 | } | ||
227 | |||
228 | const serviceData = await request.json(); | ||
229 | |||
230 | return serviceData.data; | ||
231 | } | ||
232 | |||
176 | async reorderService(data) { | 233 | async reorderService(data) { |
177 | const request = await window.fetch(`${SERVER_URL}/${API_VERSION}/service/reorder`, this._prepareAuthRequest({ | 234 | const request = await window.fetch(`${SERVER_URL}/${API_VERSION}/service/reorder`, this._prepareAuthRequest({ |
178 | method: 'PUT', | 235 | method: 'PUT', |
@@ -195,6 +252,8 @@ export default class ServerApi { | |||
195 | } | 252 | } |
196 | const data = await request.json(); | 253 | const data = await request.json(); |
197 | 254 | ||
255 | removeServicePartitionDirectory(id, true); | ||
256 | |||
198 | console.debug('ServerApi::deleteService resolves', data); | 257 | console.debug('ServerApi::deleteService resolves', data); |
199 | return data; | 258 | return data; |
200 | } | 259 | } |
@@ -290,18 +349,25 @@ export default class ServerApi { | |||
290 | 349 | ||
291 | fs.ensureDirSync(recipeTempDirectory); | 350 | fs.ensureDirSync(recipeTempDirectory); |
292 | const res = await fetch(packageUrl); | 351 | const res = await fetch(packageUrl); |
352 | console.debug('Recipe downloaded', recipeId); | ||
293 | const buffer = await res.buffer(); | 353 | const buffer = await res.buffer(); |
294 | fs.writeFileSync(archivePath, buffer); | 354 | fs.writeFileSync(archivePath, buffer); |
295 | 355 | ||
296 | tar.x({ | 356 | await sleep(10); |
357 | |||
358 | await tar.x({ | ||
297 | file: archivePath, | 359 | file: archivePath, |
298 | cwd: recipeTempDirectory, | 360 | cwd: recipeTempDirectory, |
299 | sync: true, | 361 | preservePaths: true, |
362 | unlink: true, | ||
363 | preserveOwner: false, | ||
364 | onwarn: x => console.log('warn', recipeId, x), | ||
300 | }); | 365 | }); |
301 | 366 | ||
367 | await sleep(10); | ||
368 | |||
302 | const { id } = fs.readJsonSync(path.join(recipeTempDirectory, 'package.json')); | 369 | const { id } = fs.readJsonSync(path.join(recipeTempDirectory, 'package.json')); |
303 | const recipeDirectory = path.join(recipesDirectory, id); | 370 | const recipeDirectory = path.join(recipesDirectory, id); |
304 | |||
305 | fs.copySync(recipeTempDirectory, recipeDirectory); | 371 | fs.copySync(recipeTempDirectory, recipeDirectory); |
306 | fs.remove(recipeTempDirectory); | 372 | fs.remove(recipeTempDirectory); |
307 | fs.remove(path.join(recipesDirectory, recipeId, 'recipe.tar.gz')); | 373 | fs.remove(path.join(recipesDirectory, recipeId, 'recipe.tar.gz')); |
diff --git a/src/app.js b/src/app.js index a0b88611c..8e62776d2 100644 --- a/src/app.js +++ b/src/app.js | |||
@@ -105,3 +105,5 @@ window.addEventListener('load', () => { | |||
105 | // Prevent drag and drop into window from redirecting | 105 | // Prevent drag and drop into window from redirecting |
106 | window.addEventListener('dragover', event => event.preventDefault()); | 106 | window.addEventListener('dragover', event => event.preventDefault()); |
107 | window.addEventListener('drop', event => event.preventDefault()); | 107 | window.addEventListener('drop', event => event.preventDefault()); |
108 | window.addEventListener('dragover', event => event.stopPropagation()); | ||
109 | window.addEventListener('drop', event => event.stopPropagation()); | ||
diff --git a/src/components/auth/Import.js b/src/components/auth/Import.js index 06493a0fd..078244434 100644 --- a/src/components/auth/Import.js +++ b/src/components/auth/Import.js | |||
@@ -24,7 +24,7 @@ const messages = defineMessages({ | |||
24 | }, | 24 | }, |
25 | skipButtonLabel: { | 25 | skipButtonLabel: { |
26 | id: 'import.skip.label', | 26 | id: 'import.skip.label', |
27 | defaultMessage: '!!!I want add services manually', | 27 | defaultMessage: '!!!I want to add services manually', |
28 | }, | 28 | }, |
29 | }); | 29 | }); |
30 | 30 | ||
diff --git a/src/components/auth/Welcome.js b/src/components/auth/Welcome.js index 06b10ecfe..eb9fbb847 100644 --- a/src/components/auth/Welcome.js +++ b/src/components/auth/Welcome.js | |||
@@ -55,12 +55,16 @@ export default class Login extends Component { | |||
55 | </div> | 55 | </div> |
56 | <div className="welcome__featured-services"> | 56 | <div className="welcome__featured-services"> |
57 | {recipes.map(recipe => ( | 57 | {recipes.map(recipe => ( |
58 | <img | 58 | <div |
59 | key={recipe.id} | 59 | key={recipe.id} |
60 | src={recipe.icons.svg} | ||
61 | className="welcome__featured-service" | 60 | className="welcome__featured-service" |
62 | alt="" | 61 | > |
63 | /> | 62 | <img |
63 | key={recipe.id} | ||
64 | src={recipe.icons.svg} | ||
65 | alt="" | ||
66 | /> | ||
67 | </div> | ||
64 | ))} | 68 | ))} |
65 | </div> | 69 | </div> |
66 | </div> | 70 | </div> |
diff --git a/src/components/layout/Sidebar.js b/src/components/layout/Sidebar.js index cb2ecc8ce..915ebeace 100644 --- a/src/components/layout/Sidebar.js +++ b/src/components/layout/Sidebar.js | |||
@@ -17,12 +17,12 @@ const messages = defineMessages({ | |||
17 | defaultMessage: '!!!Add new service', | 17 | defaultMessage: '!!!Add new service', |
18 | }, | 18 | }, |
19 | mute: { | 19 | mute: { |
20 | id: 'sidebar.mute', | 20 | id: 'sidebar.muteApp', |
21 | defaultMessage: '!!!Disable audio', | 21 | defaultMessage: '!!!Disable notifications & audio', |
22 | }, | 22 | }, |
23 | unmute: { | 23 | unmute: { |
24 | id: 'sidebar.unmute', | 24 | id: 'sidebar.unmuteApp', |
25 | defaultMessage: '!!!Enable audio', | 25 | defaultMessage: '!!!Enable notifications & audio', |
26 | }, | 26 | }, |
27 | }); | 27 | }); |
28 | 28 | ||
diff --git a/src/components/services/content/ServiceWebview.js b/src/components/services/content/ServiceWebview.js index faa356d3d..c146abf4e 100644 --- a/src/components/services/content/ServiceWebview.js +++ b/src/components/services/content/ServiceWebview.js | |||
@@ -65,6 +65,7 @@ export default class ServiceWebview extends Component { | |||
65 | 65 | ||
66 | const webviewClasses = classnames({ | 66 | const webviewClasses = classnames({ |
67 | services__webview: true, | 67 | services__webview: true, |
68 | 'services__webview-wrapper': true, | ||
68 | 'is-active': service.isActive, | 69 | 'is-active': service.isActive, |
69 | 'services__webview--force-repaint': this.state.forceRepaint, | 70 | 'services__webview--force-repaint': this.state.forceRepaint, |
70 | }); | 71 | }); |
@@ -105,7 +106,6 @@ export default class ServiceWebview extends Component { | |||
105 | onUpdateTargetUrl={this.updateTargetUrl} | 106 | onUpdateTargetUrl={this.updateTargetUrl} |
106 | useragent={service.userAgent} | 107 | useragent={service.userAgent} |
107 | muted={isAppMuted || service.isMuted} | 108 | muted={isAppMuted || service.isMuted} |
108 | disablewebsecurity | ||
109 | allowpopups | 109 | allowpopups |
110 | /> | 110 | /> |
111 | )} | 111 | )} |
diff --git a/src/components/services/tabs/TabBarSortableList.js b/src/components/services/tabs/TabBarSortableList.js index 2daf55676..489027d57 100644 --- a/src/components/services/tabs/TabBarSortableList.js +++ b/src/components/services/tabs/TabBarSortableList.js | |||
@@ -17,6 +17,8 @@ class TabBarSortableList extends Component { | |||
17 | deleteService: PropTypes.func.isRequired, | 17 | deleteService: PropTypes.func.isRequired, |
18 | disableService: PropTypes.func.isRequired, | 18 | disableService: PropTypes.func.isRequired, |
19 | enableService: PropTypes.func.isRequired, | 19 | enableService: PropTypes.func.isRequired, |
20 | showMessageBadgeWhenMutedSetting: PropTypes.bool.isRequired, | ||
21 | showMessageBadgesEvenWhenMuted: PropTypes.bool.isRequired, | ||
20 | } | 22 | } |
21 | 23 | ||
22 | render() { | 24 | render() { |
@@ -30,6 +32,8 @@ class TabBarSortableList extends Component { | |||
30 | disableService, | 32 | disableService, |
31 | enableService, | 33 | enableService, |
32 | openSettings, | 34 | openSettings, |
35 | showMessageBadgeWhenMutedSetting, | ||
36 | showMessageBadgesEvenWhenMuted, | ||
33 | } = this.props; | 37 | } = this.props; |
34 | 38 | ||
35 | return ( | 39 | return ( |
@@ -50,6 +54,8 @@ class TabBarSortableList extends Component { | |||
50 | disableService={() => disableService({ serviceId: service.id })} | 54 | disableService={() => disableService({ serviceId: service.id })} |
51 | enableService={() => enableService({ serviceId: service.id })} | 55 | enableService={() => enableService({ serviceId: service.id })} |
52 | openSettings={openSettings} | 56 | openSettings={openSettings} |
57 | showMessageBadgeWhenMutedSetting={showMessageBadgeWhenMutedSetting} | ||
58 | showMessageBadgesEvenWhenMuted={showMessageBadgesEvenWhenMuted} | ||
53 | /> | 59 | /> |
54 | ))} | 60 | ))} |
55 | {/* <li> | 61 | {/* <li> |
diff --git a/src/components/services/tabs/TabItem.js b/src/components/services/tabs/TabItem.js index a7136c43f..7aed8fda7 100644 --- a/src/components/services/tabs/TabItem.js +++ b/src/components/services/tabs/TabItem.js | |||
@@ -63,6 +63,8 @@ class TabItem extends Component { | |||
63 | deleteService: PropTypes.func.isRequired, | 63 | deleteService: PropTypes.func.isRequired, |
64 | disableService: PropTypes.func.isRequired, | 64 | disableService: PropTypes.func.isRequired, |
65 | enableService: PropTypes.func.isRequired, | 65 | enableService: PropTypes.func.isRequired, |
66 | showMessageBadgeWhenMutedSetting: PropTypes.bool.isRequired, | ||
67 | showMessageBadgesEvenWhenMuted: PropTypes.bool.isRequired, | ||
66 | }; | 68 | }; |
67 | 69 | ||
68 | static contextTypes = { | 70 | static contextTypes = { |
@@ -81,6 +83,8 @@ class TabItem extends Component { | |||
81 | disableService, | 83 | disableService, |
82 | enableService, | 84 | enableService, |
83 | openSettings, | 85 | openSettings, |
86 | showMessageBadgeWhenMutedSetting, | ||
87 | showMessageBadgesEvenWhenMuted, | ||
84 | } = this.props; | 88 | } = this.props; |
85 | const { intl } = this.context; | 89 | const { intl } = this.context; |
86 | 90 | ||
@@ -121,6 +125,26 @@ class TabItem extends Component { | |||
121 | }]; | 125 | }]; |
122 | const menu = Menu.buildFromTemplate(menuTemplate); | 126 | const menu = Menu.buildFromTemplate(menuTemplate); |
123 | 127 | ||
128 | let notificationBadge = null; | ||
129 | if ((showMessageBadgeWhenMutedSetting || service.isNotificationEnabled) && showMessageBadgesEvenWhenMuted && service.isBadgeEnabled) { | ||
130 | notificationBadge = ( | ||
131 | <span> | ||
132 | {service.unreadDirectMessageCount > 0 && ( | ||
133 | <span className="tab-item__message-count"> | ||
134 | {service.unreadDirectMessageCount} | ||
135 | </span> | ||
136 | )} | ||
137 | {service.unreadIndirectMessageCount > 0 | ||
138 | && service.unreadDirectMessageCount === 0 | ||
139 | && service.isIndirectMessageBadgeEnabled && ( | ||
140 | <span className="tab-item__message-count is-indirect"> | ||
141 | • | ||
142 | </span> | ||
143 | )} | ||
144 | </span> | ||
145 | ); | ||
146 | } | ||
147 | |||
124 | return ( | 148 | return ( |
125 | <li | 149 | <li |
126 | className={classnames({ | 150 | className={classnames({ |
@@ -138,18 +162,7 @@ class TabItem extends Component { | |||
138 | className="tab-item__icon" | 162 | className="tab-item__icon" |
139 | alt="" | 163 | alt="" |
140 | /> | 164 | /> |
141 | {service.unreadDirectMessageCount > 0 && ( | 165 | {notificationBadge} |
142 | <span className="tab-item__message-count"> | ||
143 | {service.unreadDirectMessageCount} | ||
144 | </span> | ||
145 | )} | ||
146 | {service.unreadIndirectMessageCount > 0 | ||
147 | && service.unreadDirectMessageCount === 0 | ||
148 | && service.isIndirectMessageBadgeEnabled && ( | ||
149 | <span className="tab-item__message-count is-indirect"> | ||
150 | • | ||
151 | </span> | ||
152 | )} | ||
153 | </li> | 166 | </li> |
154 | ); | 167 | ); |
155 | } | 168 | } |
diff --git a/src/components/services/tabs/Tabbar.js b/src/components/services/tabs/Tabbar.js index 9da1090b7..ceb88c51c 100644 --- a/src/components/services/tabs/Tabbar.js +++ b/src/components/services/tabs/Tabbar.js | |||
@@ -18,6 +18,8 @@ export default class TabBar extends Component { | |||
18 | toggleAudio: PropTypes.func.isRequired, | 18 | toggleAudio: PropTypes.func.isRequired, |
19 | deleteService: PropTypes.func.isRequired, | 19 | deleteService: PropTypes.func.isRequired, |
20 | updateService: PropTypes.func.isRequired, | 20 | updateService: PropTypes.func.isRequired, |
21 | showMessageBadgeWhenMutedSetting: PropTypes.bool.isRequired, | ||
22 | showMessageBadgesEvenWhenMuted: PropTypes.bool.isRequired, | ||
21 | } | 23 | } |
22 | 24 | ||
23 | onSortEnd = ({ oldIndex, newIndex }) => { | 25 | onSortEnd = ({ oldIndex, newIndex }) => { |
@@ -64,6 +66,8 @@ export default class TabBar extends Component { | |||
64 | toggleNotifications, | 66 | toggleNotifications, |
65 | toggleAudio, | 67 | toggleAudio, |
66 | deleteService, | 68 | deleteService, |
69 | showMessageBadgeWhenMutedSetting, | ||
70 | showMessageBadgesEvenWhenMuted, | ||
67 | } = this.props; | 71 | } = this.props; |
68 | 72 | ||
69 | return ( | 73 | return ( |
@@ -85,6 +89,8 @@ export default class TabBar extends Component { | |||
85 | axis="y" | 89 | axis="y" |
86 | lockAxis="y" | 90 | lockAxis="y" |
87 | helperClass="is-reordering" | 91 | helperClass="is-reordering" |
92 | showMessageBadgeWhenMutedSetting={showMessageBadgeWhenMutedSetting} | ||
93 | showMessageBadgesEvenWhenMuted={showMessageBadgesEvenWhenMuted} | ||
88 | /> | 94 | /> |
89 | </div> | 95 | </div> |
90 | ); | 96 | ); |
diff --git a/src/components/settings/account/AccountDashboard.js b/src/components/settings/account/AccountDashboard.js index 75dbdef49..89fa07800 100644 --- a/src/components/settings/account/AccountDashboard.js +++ b/src/components/settings/account/AccountDashboard.js | |||
@@ -28,6 +28,10 @@ const messages = defineMessages({ | |||
28 | id: 'settings.account.headlineInvoices', | 28 | id: 'settings.account.headlineInvoices', |
29 | defaultMessage: '!!Invoices', | 29 | defaultMessage: '!!Invoices', |
30 | }, | 30 | }, |
31 | headlineDangerZone: { | ||
32 | id: 'settings.account.headlineDangerZone', | ||
33 | defaultMessage: '!!Danger Zone', | ||
34 | }, | ||
31 | manageSubscriptionButtonLabel: { | 35 | manageSubscriptionButtonLabel: { |
32 | id: 'settings.account.manageSubscription.label', | 36 | id: 'settings.account.manageSubscription.label', |
33 | defaultMessage: '!!!Manage your subscription', | 37 | defaultMessage: '!!!Manage your subscription', |
@@ -72,6 +76,18 @@ const messages = defineMessages({ | |||
72 | id: 'settings.account.mining.cancel', | 76 | id: 'settings.account.mining.cancel', |
73 | defaultMessage: '!!!Cancel mining', | 77 | defaultMessage: '!!!Cancel mining', |
74 | }, | 78 | }, |
79 | deleteAccount: { | ||
80 | id: 'settings.account.deleteAccount', | ||
81 | defaultMessage: '!!!Delete account', | ||
82 | }, | ||
83 | deleteInfo: { | ||
84 | id: 'settings.account.deleteInfo', | ||
85 | defaultMessage: '!!!If you don\'t need your Franz account any longer, you can delete your account and all related data here.', | ||
86 | }, | ||
87 | deleteEmailSent: { | ||
88 | id: 'settings.account.deleteEmailSent', | ||
89 | defaultMessage: '!!!You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!', | ||
90 | }, | ||
75 | }); | 91 | }); |
76 | 92 | ||
77 | @observer | 93 | @observer |
@@ -90,6 +106,9 @@ export default class AccountDashboard extends Component { | |||
90 | openExternalUrl: PropTypes.func.isRequired, | 106 | openExternalUrl: PropTypes.func.isRequired, |
91 | onCloseSubscriptionWindow: PropTypes.func.isRequired, | 107 | onCloseSubscriptionWindow: PropTypes.func.isRequired, |
92 | stopMiner: PropTypes.func.isRequired, | 108 | stopMiner: PropTypes.func.isRequired, |
109 | deleteAccount: PropTypes.func.isRequired, | ||
110 | isLoadingDeleteAccount: PropTypes.bool.isRequired, | ||
111 | isDeleteAccountSuccessful: PropTypes.bool.isRequired, | ||
93 | }; | 112 | }; |
94 | 113 | ||
95 | static contextTypes = { | 114 | static contextTypes = { |
@@ -111,6 +130,9 @@ export default class AccountDashboard extends Component { | |||
111 | retryUserInfoRequest, | 130 | retryUserInfoRequest, |
112 | onCloseSubscriptionWindow, | 131 | onCloseSubscriptionWindow, |
113 | stopMiner, | 132 | stopMiner, |
133 | deleteAccount, | ||
134 | isLoadingDeleteAccount, | ||
135 | isDeleteAccountSuccessful, | ||
114 | } = this.props; | 136 | } = this.props; |
115 | const { intl } = this.context; | 137 | const { intl } = this.context; |
116 | 138 | ||
@@ -201,7 +223,7 @@ export default class AccountDashboard extends Component { | |||
201 | /> | 223 | /> |
202 | </div> | 224 | </div> |
203 | </div> | 225 | </div> |
204 | <div className="account__box account__box--last"> | 226 | <div className="account__box"> |
205 | <h2>{intl.formatMessage(messages.headlineInvoices)}</h2> | 227 | <h2>{intl.formatMessage(messages.headlineInvoices)}</h2> |
206 | <table className="invoices"> | 228 | <table className="invoices"> |
207 | <tbody> | 229 | <tbody> |
@@ -230,7 +252,7 @@ export default class AccountDashboard extends Component { | |||
230 | 252 | ||
231 | {user.isMiner && ( | 253 | {user.isMiner && ( |
232 | <div className="account franz-form"> | 254 | <div className="account franz-form"> |
233 | <div className="account__box"> | 255 | <div className="account__box account__box--last"> |
234 | <h2>{intl.formatMessage(messages.headlineSubscription)}</h2> | 256 | <h2>{intl.formatMessage(messages.headlineSubscription)}</h2> |
235 | <div className="account__subscription"> | 257 | <div className="account__subscription"> |
236 | <div> | 258 | <div> |
@@ -267,7 +289,7 @@ export default class AccountDashboard extends Component { | |||
267 | <Loader /> | 289 | <Loader /> |
268 | ) : ( | 290 | ) : ( |
269 | <div className="account franz-form"> | 291 | <div className="account franz-form"> |
270 | <div className="account__box account__box--last"> | 292 | <div className="account__box"> |
271 | <h2>{intl.formatMessage(messages.headlineUpgrade)}</h2> | 293 | <h2>{intl.formatMessage(messages.headlineUpgrade)}</h2> |
272 | <SubscriptionForm | 294 | <SubscriptionForm |
273 | onCloseWindow={onCloseSubscriptionWindow} | 295 | onCloseWindow={onCloseSubscriptionWindow} |
@@ -276,8 +298,29 @@ export default class AccountDashboard extends Component { | |||
276 | </div> | 298 | </div> |
277 | ) | 299 | ) |
278 | )} | 300 | )} |
301 | |||
302 | <div className="account franz-form"> | ||
303 | <div className="account__box"> | ||
304 | <h2>{intl.formatMessage(messages.headlineDangerZone)}</h2> | ||
305 | {!isDeleteAccountSuccessful && ( | ||
306 | <div className="account__subscription"> | ||
307 | <p>{intl.formatMessage(messages.deleteInfo)}</p> | ||
308 | <Button | ||
309 | label={intl.formatMessage(messages.deleteAccount)} | ||
310 | buttonType="danger" | ||
311 | onClick={() => deleteAccount()} | ||
312 | loaded={!isLoadingDeleteAccount} | ||
313 | /> | ||
314 | </div> | ||
315 | )} | ||
316 | {isDeleteAccountSuccessful && ( | ||
317 | <p>{intl.formatMessage(messages.deleteEmailSent)}</p> | ||
318 | )} | ||
319 | </div> | ||
320 | </div> | ||
279 | </div> | 321 | </div> |
280 | )} | 322 | )} |
323 | |||
281 | </div> | 324 | </div> |
282 | <ReactTooltip place="right" type="dark" effect="solid" /> | 325 | <ReactTooltip place="right" type="dark" effect="solid" /> |
283 | </div> | 326 | </div> |
diff --git a/src/components/settings/recipes/RecipesDashboard.js b/src/components/settings/recipes/RecipesDashboard.js index b6ade5da4..4610c69a5 100644 --- a/src/components/settings/recipes/RecipesDashboard.js +++ b/src/components/settings/recipes/RecipesDashboard.js | |||
@@ -16,6 +16,10 @@ const messages = defineMessages({ | |||
16 | id: 'settings.recipes.headline', | 16 | id: 'settings.recipes.headline', |
17 | defaultMessage: '!!!Available Services', | 17 | defaultMessage: '!!!Available Services', |
18 | }, | 18 | }, |
19 | searchService: { | ||
20 | id: 'settings.searchService', | ||
21 | defaultMessage: '!!!Search service', | ||
22 | }, | ||
19 | mostPopularRecipes: { | 23 | mostPopularRecipes: { |
20 | id: 'settings.recipes.mostPopular', | 24 | id: 'settings.recipes.mostPopular', |
21 | defaultMessage: '!!!Most popular', | 25 | defaultMessage: '!!!Most popular', |
@@ -81,13 +85,7 @@ export default class RecipesDashboard extends Component { | |||
81 | return ( | 85 | return ( |
82 | <div className="settings__main"> | 86 | <div className="settings__main"> |
83 | <div className="settings__header"> | 87 | <div className="settings__header"> |
84 | <SearchInput | 88 | <h1>{intl.formatMessage(messages.headline)}</h1> |
85 | className="settings__search-header" | ||
86 | defaultValue={intl.formatMessage(messages.headline)} | ||
87 | onChange={e => searchRecipes(e)} | ||
88 | onReset={() => resetSearch()} | ||
89 | throttle | ||
90 | /> | ||
91 | </div> | 89 | </div> |
92 | <div className="settings__body recipes"> | 90 | <div className="settings__body recipes"> |
93 | {serviceStatus.length > 0 && serviceStatus.includes('created') && ( | 91 | {serviceStatus.length > 0 && serviceStatus.includes('created') && ( |
@@ -101,7 +99,13 @@ export default class RecipesDashboard extends Component { | |||
101 | </Infobox> | 99 | </Infobox> |
102 | </Appear> | 100 | </Appear> |
103 | )} | 101 | )} |
104 | {/* {!searchNeedle && ( */} | 102 | <SearchInput |
103 | placeholder={intl.formatMessage(messages.searchService)} | ||
104 | onChange={e => searchRecipes(e)} | ||
105 | onReset={() => resetSearch()} | ||
106 | autoFocus | ||
107 | throttle | ||
108 | /> | ||
105 | <div className="recipes__navigation"> | 109 | <div className="recipes__navigation"> |
106 | <Link | 110 | <Link |
107 | to="/settings/recipes" | 111 | to="/settings/recipes" |
diff --git a/src/components/settings/services/EditServiceForm.js b/src/components/settings/services/EditServiceForm.js index 36cefe87c..f6f2df2f3 100644 --- a/src/components/settings/services/EditServiceForm.js +++ b/src/components/settings/services/EditServiceForm.js | |||
@@ -13,6 +13,7 @@ import Tabs, { TabItem } from '../../ui/Tabs'; | |||
13 | import Input from '../../ui/Input'; | 13 | import Input from '../../ui/Input'; |
14 | import Toggle from '../../ui/Toggle'; | 14 | import Toggle from '../../ui/Toggle'; |
15 | import Button from '../../ui/Button'; | 15 | import Button from '../../ui/Button'; |
16 | import ImageUpload from '../../ui/ImageUpload'; | ||
16 | 17 | ||
17 | const messages = defineMessages({ | 18 | const messages = defineMessages({ |
18 | saveService: { | 19 | saveService: { |
@@ -47,6 +48,10 @@ const messages = defineMessages({ | |||
47 | id: 'settings.service.form.tabOnPremise', | 48 | id: 'settings.service.form.tabOnPremise', |
48 | defaultMessage: '!!!Self hosted âï¸', | 49 | defaultMessage: '!!!Self hosted âï¸', |
49 | }, | 50 | }, |
51 | useHostedService: { | ||
52 | id: 'settings.service.form.useHostedService', | ||
53 | defaultMessage: '!!!Use the hosted {name} service.', | ||
54 | }, | ||
50 | customUrlValidationError: { | 55 | customUrlValidationError: { |
51 | id: 'settings.service.form.customUrlValidationError', | 56 | id: 'settings.service.form.customUrlValidationError', |
52 | defaultMessage: '!!!Could not validate custom {name} server.', | 57 | defaultMessage: '!!!Could not validate custom {name} server.', |
@@ -67,6 +72,26 @@ const messages = defineMessages({ | |||
67 | id: 'settings.service.form.isMutedInfo', | 72 | id: 'settings.service.form.isMutedInfo', |
68 | defaultMessage: '!!!When disabled, all notification sounds and audio playback are muted', | 73 | defaultMessage: '!!!When disabled, all notification sounds and audio playback are muted', |
69 | }, | 74 | }, |
75 | headlineNotifications: { | ||
76 | id: 'settings.service.form.headlineNotifications', | ||
77 | defaultMessage: '!!!Notifications', | ||
78 | }, | ||
79 | headlineBadges: { | ||
80 | id: 'settings.service.form.headlineBadges', | ||
81 | defaultMessage: '!!!Unread message badges', | ||
82 | }, | ||
83 | headlineGeneral: { | ||
84 | id: 'settings.service.form.headlineGeneral', | ||
85 | defaultMessage: '!!!General', | ||
86 | }, | ||
87 | iconDelete: { | ||
88 | id: 'settings.service.form.iconDelete', | ||
89 | defaultMessage: '!!!Delete', | ||
90 | }, | ||
91 | iconUpload: { | ||
92 | id: 'settings.service.form.iconUpload', | ||
93 | defaultMessage: '!!!Drop your image, or click here', | ||
94 | }, | ||
70 | }); | 95 | }); |
71 | 96 | ||
72 | @observer | 97 | @observer |
@@ -108,9 +133,13 @@ export default class EditServiceForm extends Component { | |||
108 | this.props.form.submit({ | 133 | this.props.form.submit({ |
109 | onSuccess: async (form) => { | 134 | onSuccess: async (form) => { |
110 | const values = form.values(); | 135 | const values = form.values(); |
111 | |||
112 | let isValid = true; | 136 | let isValid = true; |
113 | 137 | ||
138 | const files = form.$('customIcon').files; | ||
139 | if (files) { | ||
140 | values.iconFile = files[0]; | ||
141 | } | ||
142 | |||
114 | if (recipe.validateUrl && values.customUrl) { | 143 | if (recipe.validateUrl && values.customUrl) { |
115 | this.setState({ isValidatingCustomUrl: true }); | 144 | this.setState({ isValidatingCustomUrl: true }); |
116 | try { | 145 | try { |
@@ -166,6 +195,13 @@ export default class EditServiceForm extends Component { | |||
166 | /> | 195 | /> |
167 | ); | 196 | ); |
168 | 197 | ||
198 | let activeTabIndex = 0; | ||
199 | if (recipe.hasHostedOption && service.team) { | ||
200 | activeTabIndex = 1; | ||
201 | } else if (recipe.hasHostedOption && service.customUrl) { | ||
202 | activeTabIndex = 2; | ||
203 | } | ||
204 | |||
169 | return ( | 205 | return ( |
170 | <div className="settings__main"> | 206 | <div className="settings__main"> |
171 | <div className="settings__header"> | 207 | <div className="settings__header"> |
@@ -195,14 +231,25 @@ export default class EditServiceForm extends Component { | |||
195 | </div> | 231 | </div> |
196 | <div className="settings__body"> | 232 | <div className="settings__body"> |
197 | <form onSubmit={e => this.submit(e)} id="form"> | 233 | <form onSubmit={e => this.submit(e)} id="form"> |
198 | <Input field={form.$('name')} focus /> | 234 | <div className="service-name"> |
235 | <Input field={form.$('name')} focus /> | ||
236 | </div> | ||
199 | {(recipe.hasTeamId || recipe.hasCustomUrl) && ( | 237 | {(recipe.hasTeamId || recipe.hasCustomUrl) && ( |
200 | <Tabs | 238 | <Tabs |
201 | active={service.customUrl ? 1 : 0} | 239 | active={activeTabIndex} |
202 | > | 240 | > |
241 | {recipe.hasHostedOption && ( | ||
242 | <TabItem title={recipe.name}> | ||
243 | {intl.formatMessage(messages.useHostedService, { name: recipe.name })} | ||
244 | </TabItem> | ||
245 | )} | ||
203 | {recipe.hasTeamId && ( | 246 | {recipe.hasTeamId && ( |
204 | <TabItem title={intl.formatMessage(messages.tabHosted)}> | 247 | <TabItem title={intl.formatMessage(messages.tabHosted)}> |
205 | <Input field={form.$('team')} suffix={recipe.urlInputSuffix} /> | 248 | <Input |
249 | field={form.$('team')} | ||
250 | prefix={recipe.urlInputPrefix} | ||
251 | suffix={recipe.urlInputSuffix} | ||
252 | /> | ||
206 | </TabItem> | 253 | </TabItem> |
207 | )} | 254 | )} |
208 | {recipe.hasCustomUrl && ( | 255 | {recipe.hasCustomUrl && ( |
@@ -230,21 +277,42 @@ export default class EditServiceForm extends Component { | |||
230 | )} | 277 | )} |
231 | </Tabs> | 278 | </Tabs> |
232 | )} | 279 | )} |
233 | <div className="settings__options"> | 280 | <div className="service-flex-grid"> |
234 | <Toggle field={form.$('isNotificationEnabled')} /> | 281 | <div className="settings__options"> |
235 | {recipe.hasIndirectMessages && ( | 282 | <div className="settings__settings-group"> |
236 | <div> | 283 | <h3>{intl.formatMessage(messages.headlineNotifications)}</h3> |
237 | <Toggle field={form.$('isIndirectMessageBadgeEnabled')} /> | 284 | <Toggle field={form.$('isNotificationEnabled')} /> |
285 | <Toggle field={form.$('isMuted')} /> | ||
238 | <p className="settings__help"> | 286 | <p className="settings__help"> |
239 | {intl.formatMessage(messages.indirectMessageInfo)} | 287 | {intl.formatMessage(messages.isMutedInfo)} |
240 | </p> | 288 | </p> |
241 | </div> | 289 | </div> |
242 | )} | 290 | |
243 | <Toggle field={form.$('isMuted')} /> | 291 | <div className="settings__settings-group"> |
244 | <p className="settings__help"> | 292 | <h3>{intl.formatMessage(messages.headlineBadges)}</h3> |
245 | {intl.formatMessage(messages.isMutedInfo)} | 293 | <Toggle field={form.$('isBadgeEnabled')} /> |
246 | </p> | 294 | {recipe.hasIndirectMessages && form.$('isBadgeEnabled').value && ( |
247 | <Toggle field={form.$('isEnabled')} /> | 295 | <div> |
296 | <Toggle field={form.$('isIndirectMessageBadgeEnabled')} /> | ||
297 | <p className="settings__help"> | ||
298 | {intl.formatMessage(messages.indirectMessageInfo)} | ||
299 | </p> | ||
300 | </div> | ||
301 | )} | ||
302 | </div> | ||
303 | |||
304 | <div className="settings__settings-group"> | ||
305 | <h3>{intl.formatMessage(messages.headlineGeneral)}</h3> | ||
306 | <Toggle field={form.$('isEnabled')} /> | ||
307 | </div> | ||
308 | </div> | ||
309 | <div className="service-icon"> | ||
310 | <ImageUpload | ||
311 | field={form.$('customIcon')} | ||
312 | textDelete={intl.formatMessage(messages.iconDelete)} | ||
313 | textUpload={intl.formatMessage(messages.iconUpload)} | ||
314 | /> | ||
315 | </div> | ||
248 | </div> | 316 | </div> |
249 | {recipe.message && ( | 317 | {recipe.message && ( |
250 | <p className="settings__message"> | 318 | <p className="settings__message"> |
diff --git a/src/components/settings/services/ServicesDashboard.js b/src/components/settings/services/ServicesDashboard.js index 5f146b5f3..20e451f01 100644 --- a/src/components/settings/services/ServicesDashboard.js +++ b/src/components/settings/services/ServicesDashboard.js | |||
@@ -15,10 +15,18 @@ const messages = defineMessages({ | |||
15 | id: 'settings.services.headline', | 15 | id: 'settings.services.headline', |
16 | defaultMessage: '!!!Your services', | 16 | defaultMessage: '!!!Your services', |
17 | }, | 17 | }, |
18 | searchService: { | ||
19 | id: 'settings.searchService', | ||
20 | defaultMessage: '!!!Search service', | ||
21 | }, | ||
18 | noServicesAdded: { | 22 | noServicesAdded: { |
19 | id: 'settings.services.noServicesAdded', | 23 | id: 'settings.services.noServicesAdded', |
20 | defaultMessage: '!!!You haven\'t added any services yet.', | 24 | defaultMessage: '!!!You haven\'t added any services yet.', |
21 | }, | 25 | }, |
26 | noServiceFound: { | ||
27 | id: 'settings.recipes.nothingFound', | ||
28 | defaultMessage: '!!!Sorry, but no service matched your search term.', | ||
29 | }, | ||
22 | discoverServices: { | 30 | discoverServices: { |
23 | id: 'settings.services.discoverServices', | 31 | id: 'settings.services.discoverServices', |
24 | defaultMessage: '!!!Discover services', | 32 | defaultMessage: '!!!Discover services', |
@@ -53,7 +61,13 @@ export default class ServicesDashboard extends Component { | |||
53 | servicesRequestFailed: PropTypes.bool.isRequired, | 61 | servicesRequestFailed: PropTypes.bool.isRequired, |
54 | retryServicesRequest: PropTypes.func.isRequired, | 62 | retryServicesRequest: PropTypes.func.isRequired, |
55 | status: MobxPropTypes.arrayOrObservableArray.isRequired, | 63 | status: MobxPropTypes.arrayOrObservableArray.isRequired, |
64 | searchNeedle: PropTypes.string, | ||
56 | }; | 65 | }; |
66 | |||
67 | static defaultProps = { | ||
68 | searchNeedle: '', | ||
69 | } | ||
70 | |||
57 | static contextTypes = { | 71 | static contextTypes = { |
58 | intl: intlShape, | 72 | intl: intlShape, |
59 | }; | 73 | }; |
@@ -69,20 +83,24 @@ export default class ServicesDashboard extends Component { | |||
69 | servicesRequestFailed, | 83 | servicesRequestFailed, |
70 | retryServicesRequest, | 84 | retryServicesRequest, |
71 | status, | 85 | status, |
86 | searchNeedle, | ||
72 | } = this.props; | 87 | } = this.props; |
73 | const { intl } = this.context; | 88 | const { intl } = this.context; |
74 | 89 | ||
75 | return ( | 90 | return ( |
76 | <div className="settings__main"> | 91 | <div className="settings__main"> |
77 | <div className="settings__header"> | 92 | <div className="settings__header"> |
78 | <SearchInput | 93 | <h1>{intl.formatMessage(messages.headline)}</h1> |
79 | className="settings__search-header" | ||
80 | defaultValue={intl.formatMessage(messages.headline)} | ||
81 | onChange={needle => filterServices({ needle })} | ||
82 | onReset={() => resetFilter()} | ||
83 | /> | ||
84 | </div> | 94 | </div> |
85 | <div className="settings__body"> | 95 | <div className="settings__body"> |
96 | {!isLoading && ( | ||
97 | <SearchInput | ||
98 | placeholder={intl.formatMessage(messages.searchService)} | ||
99 | onChange={needle => filterServices({ needle })} | ||
100 | onReset={() => resetFilter()} | ||
101 | autoFocus | ||
102 | /> | ||
103 | )} | ||
86 | {!isLoading && servicesRequestFailed && ( | 104 | {!isLoading && servicesRequestFailed && ( |
87 | <div> | 105 | <div> |
88 | <Infobox | 106 | <Infobox |
@@ -121,7 +139,7 @@ export default class ServicesDashboard extends Component { | |||
121 | </Appear> | 139 | </Appear> |
122 | )} | 140 | )} |
123 | 141 | ||
124 | {!isLoading && services.length === 0 && ( | 142 | {!isLoading && services.length === 0 && !searchNeedle && ( |
125 | <div className="align-middle settings__empty-state"> | 143 | <div className="align-middle settings__empty-state"> |
126 | <p className="settings__empty-text"> | 144 | <p className="settings__empty-text"> |
127 | <span className="emoji"> | 145 | <span className="emoji"> |
@@ -132,6 +150,16 @@ export default class ServicesDashboard extends Component { | |||
132 | <Link to="/settings/recipes" className="button">{intl.formatMessage(messages.discoverServices)}</Link> | 150 | <Link to="/settings/recipes" className="button">{intl.formatMessage(messages.discoverServices)}</Link> |
133 | </div> | 151 | </div> |
134 | )} | 152 | )} |
153 | {!isLoading && services.length === 0 && searchNeedle && ( | ||
154 | <div className="align-middle settings__empty-state"> | ||
155 | <p className="settings__empty-text"> | ||
156 | <span className="emoji"> | ||
157 | <img src="./assets/images/emoji/dontknow.png" alt="" /> | ||
158 | </span> | ||
159 | {intl.formatMessage(messages.noServiceFound)} | ||
160 | </p> | ||
161 | </div> | ||
162 | )} | ||
135 | {isLoading ? ( | 163 | {isLoading ? ( |
136 | <Loader /> | 164 | <Loader /> |
137 | ) : ( | 165 | ) : ( |
diff --git a/src/components/settings/settings/EditSettingsForm.js b/src/components/settings/settings/EditSettingsForm.js index 4ce9b7ab2..72aa5a8af 100644 --- a/src/components/settings/settings/EditSettingsForm.js +++ b/src/components/settings/settings/EditSettingsForm.js | |||
@@ -40,6 +40,18 @@ const messages = defineMessages({ | |||
40 | id: 'settings.app.translationHelp', | 40 | id: 'settings.app.translationHelp', |
41 | defaultMessage: '!!!Help us to translate Franz into your language.', | 41 | defaultMessage: '!!!Help us to translate Franz into your language.', |
42 | }, | 42 | }, |
43 | subheadlineCache: { | ||
44 | id: 'settings.app.subheadlineCache', | ||
45 | defaultMessage: '!!!Cache', | ||
46 | }, | ||
47 | cacheInfo: { | ||
48 | id: 'settings.app.cacheInfo', | ||
49 | defaultMessage: '!!!Franz cache is currently using {size} of disk space.', | ||
50 | }, | ||
51 | buttonClearAllCache: { | ||
52 | id: 'settings.app.buttonClearAllCache', | ||
53 | defaultMessage: '!!!Clear cache', | ||
54 | }, | ||
43 | buttonSearchForUpdate: { | 55 | buttonSearchForUpdate: { |
44 | id: 'settings.app.buttonSearchForUpdate', | 56 | id: 'settings.app.buttonSearchForUpdate', |
45 | defaultMessage: '!!!Check for updates', | 57 | defaultMessage: '!!!Check for updates', |
@@ -64,10 +76,6 @@ const messages = defineMessages({ | |||
64 | id: 'settings.app.currentVersion', | 76 | id: 'settings.app.currentVersion', |
65 | defaultMessage: '!!!Current version:', | 77 | defaultMessage: '!!!Current version:', |
66 | }, | 78 | }, |
67 | restartRequired: { | ||
68 | id: 'settings.app.restartRequired', | ||
69 | defaultMessage: '!!!Changes require restart', | ||
70 | }, | ||
71 | }); | 79 | }); |
72 | 80 | ||
73 | @observer | 81 | @observer |
@@ -81,6 +89,9 @@ export default class EditSettingsForm extends Component { | |||
81 | isUpdateAvailable: PropTypes.bool.isRequired, | 89 | isUpdateAvailable: PropTypes.bool.isRequired, |
82 | noUpdateAvailable: PropTypes.bool.isRequired, | 90 | noUpdateAvailable: PropTypes.bool.isRequired, |
83 | updateIsReadyToInstall: PropTypes.bool.isRequired, | 91 | updateIsReadyToInstall: PropTypes.bool.isRequired, |
92 | isClearingAllCache: PropTypes.bool.isRequired, | ||
93 | onClearAllCache: PropTypes.func.isRequired, | ||
94 | cacheSize: PropTypes.string.isRequired, | ||
84 | }; | 95 | }; |
85 | 96 | ||
86 | static contextTypes = { | 97 | static contextTypes = { |
@@ -107,6 +118,9 @@ export default class EditSettingsForm extends Component { | |||
107 | isUpdateAvailable, | 118 | isUpdateAvailable, |
108 | noUpdateAvailable, | 119 | noUpdateAvailable, |
109 | updateIsReadyToInstall, | 120 | updateIsReadyToInstall, |
121 | isClearingAllCache, | ||
122 | onClearAllCache, | ||
123 | cacheSize, | ||
110 | } = this.props; | 124 | } = this.props; |
111 | const { intl } = this.context; | 125 | const { intl } = this.context; |
112 | 126 | ||
@@ -142,6 +156,7 @@ export default class EditSettingsForm extends Component { | |||
142 | {/* Appearance */} | 156 | {/* Appearance */} |
143 | <h2 id="apperance">{intl.formatMessage(messages.headlineAppearance)}</h2> | 157 | <h2 id="apperance">{intl.formatMessage(messages.headlineAppearance)}</h2> |
144 | <Toggle field={form.$('showDisabledServices')} /> | 158 | <Toggle field={form.$('showDisabledServices')} /> |
159 | <Toggle field={form.$('showMessageBadgeWhenMuted')} /> | ||
145 | 160 | ||
146 | {/* Language */} | 161 | {/* Language */} |
147 | <h2 id="language">{intl.formatMessage(messages.headlineLanguage)}</h2> | 162 | <h2 id="language">{intl.formatMessage(messages.headlineLanguage)}</h2> |
@@ -157,8 +172,26 @@ export default class EditSettingsForm extends Component { | |||
157 | {/* Advanced */} | 172 | {/* Advanced */} |
158 | <h2 id="advanced">{intl.formatMessage(messages.headlineAdvanced)}</h2> | 173 | <h2 id="advanced">{intl.formatMessage(messages.headlineAdvanced)}</h2> |
159 | <Toggle field={form.$('enableSpellchecking')} /> | 174 | <Toggle field={form.$('enableSpellchecking')} /> |
160 | <p className="settings__help">{intl.formatMessage(messages.restartRequired)}</p> | ||
161 | {/* <Select field={form.$('spellcheckingLanguage')} /> */} | 175 | {/* <Select field={form.$('spellcheckingLanguage')} /> */} |
176 | <div className="settings__settings-group"> | ||
177 | <h3> | ||
178 | {intl.formatMessage(messages.subheadlineCache)} | ||
179 | </h3> | ||
180 | <p> | ||
181 | {intl.formatMessage(messages.cacheInfo, { | ||
182 | size: cacheSize, | ||
183 | })} | ||
184 | </p> | ||
185 | <p> | ||
186 | <Button | ||
187 | buttonType="secondary" | ||
188 | label={intl.formatMessage(messages.buttonClearAllCache)} | ||
189 | onClick={onClearAllCache} | ||
190 | disabled={isClearingAllCache} | ||
191 | loaded={!isClearingAllCache} | ||
192 | /> | ||
193 | </p> | ||
194 | </div> | ||
162 | 195 | ||
163 | {/* Updates */} | 196 | {/* Updates */} |
164 | <h2 id="updates">{intl.formatMessage(messages.headlineUpdates)}</h2> | 197 | <h2 id="updates">{intl.formatMessage(messages.headlineUpdates)}</h2> |
@@ -169,6 +202,7 @@ export default class EditSettingsForm extends Component { | |||
169 | /> | 202 | /> |
170 | ) : ( | 203 | ) : ( |
171 | <Button | 204 | <Button |
205 | buttonType="secondary" | ||
172 | label={intl.formatMessage(updateButtonLabelMessage)} | 206 | label={intl.formatMessage(updateButtonLabelMessage)} |
173 | onClick={checkForUpdates} | 207 | onClick={checkForUpdates} |
174 | disabled={isCheckingForUpdates || isUpdateAvailable} | 208 | disabled={isCheckingForUpdates || isUpdateAvailable} |
diff --git a/src/components/ui/Button.js b/src/components/ui/Button.js index 07e94192f..554206cb7 100644 --- a/src/components/ui/Button.js +++ b/src/components/ui/Button.js | |||
@@ -68,7 +68,7 @@ export default class Button extends Component { | |||
68 | loaded={loaded} | 68 | loaded={loaded} |
69 | lines={10} | 69 | lines={10} |
70 | scale={0.4} | 70 | scale={0.4} |
71 | color={buttonType === '' ? '#FFF' : '#373a3c'} | 71 | color={buttonType !== 'secondary' ? '#FFF' : '#373a3c'} |
72 | component="span" | 72 | component="span" |
73 | /> | 73 | /> |
74 | {label} | 74 | {label} |
diff --git a/src/components/ui/ImageUpload.js b/src/components/ui/ImageUpload.js new file mode 100644 index 000000000..81c3b8da6 --- /dev/null +++ b/src/components/ui/ImageUpload.js | |||
@@ -0,0 +1,108 @@ | |||
1 | import React, { Component } from 'react'; | ||
2 | import PropTypes from 'prop-types'; | ||
3 | import { observer } from 'mobx-react'; | ||
4 | import { Field } from 'mobx-react-form'; | ||
5 | // import Loader from 'react-loader'; | ||
6 | import classnames from 'classnames'; | ||
7 | import Dropzone from 'react-dropzone'; | ||
8 | |||
9 | @observer | ||
10 | export default class ImageUpload extends Component { | ||
11 | static propTypes = { | ||
12 | field: PropTypes.instanceOf(Field).isRequired, | ||
13 | className: PropTypes.string, | ||
14 | multiple: PropTypes.bool, | ||
15 | textDelete: PropTypes.string.isRequired, | ||
16 | textUpload: PropTypes.string.isRequired, | ||
17 | }; | ||
18 | |||
19 | static defaultProps = { | ||
20 | className: null, | ||
21 | multiple: false, | ||
22 | }; | ||
23 | |||
24 | state = { | ||
25 | path: null, | ||
26 | } | ||
27 | |||
28 | onDrop(acceptedFiles) { | ||
29 | const { field } = this.props; | ||
30 | |||
31 | acceptedFiles.forEach((file) => { | ||
32 | this.setState({ | ||
33 | path: file.path, | ||
34 | }); | ||
35 | this.props.field.onDrop(file); | ||
36 | }); | ||
37 | |||
38 | field.set(''); | ||
39 | } | ||
40 | |||
41 | dropzoneRef = null; | ||
42 | |||
43 | render() { | ||
44 | const { | ||
45 | field, | ||
46 | className, | ||
47 | multiple, | ||
48 | textDelete, | ||
49 | textUpload, | ||
50 | } = this.props; | ||
51 | |||
52 | const cssClasses = classnames({ | ||
53 | 'image-upload__dropzone': true, | ||
54 | [`${className}`]: className, | ||
55 | }); | ||
56 | |||
57 | return ( | ||
58 | <div className="image-upload-wrapper"> | ||
59 | <label className="franz-form__label" htmlFor="iconUpload">{field.label}</label> | ||
60 | <div className="image-upload"> | ||
61 | {(field.value && field.value !== 'delete') || this.state.path ? ( | ||
62 | <div> | ||
63 | <div | ||
64 | className="image-upload__preview" | ||
65 | style={({ | ||
66 | backgroundImage: `url("${this.state.path || field.value}")`, | ||
67 | })} | ||
68 | /> | ||
69 | <div className="image-upload__action"> | ||
70 | <button | ||
71 | type="button" | ||
72 | onClick={() => { | ||
73 | if (field.value) { | ||
74 | field.set('delete'); | ||
75 | } else { | ||
76 | this.setState({ | ||
77 | path: null, | ||
78 | }); | ||
79 | } | ||
80 | }} | ||
81 | > | ||
82 | <i className="mdi mdi-delete" /> | ||
83 | <p> | ||
84 | {textDelete} | ||
85 | </p> | ||
86 | </button> | ||
87 | <div className="image-upload__action-background" /> | ||
88 | </div> | ||
89 | </div> | ||
90 | ) : ( | ||
91 | <Dropzone | ||
92 | ref={(node) => { this.dropzoneRef = node; }} | ||
93 | onDrop={this.onDrop.bind(this)} | ||
94 | className={cssClasses} | ||
95 | multiple={multiple} | ||
96 | accept="image/jpeg, image/png" | ||
97 | > | ||
98 | <i className="mdi mdi-file-image" /> | ||
99 | <p> | ||
100 | {textUpload} | ||
101 | </p> | ||
102 | </Dropzone> | ||
103 | )} | ||
104 | </div> | ||
105 | </div> | ||
106 | ); | ||
107 | } | ||
108 | } | ||
diff --git a/src/components/ui/SearchInput.js b/src/components/ui/SearchInput.js index bca412cef..a94cde201 100644 --- a/src/components/ui/SearchInput.js +++ b/src/components/ui/SearchInput.js | |||
@@ -9,36 +9,46 @@ import { debounce } from 'lodash'; | |||
9 | export default class SearchInput extends Component { | 9 | export default class SearchInput extends Component { |
10 | static propTypes = { | 10 | static propTypes = { |
11 | value: PropTypes.string, | 11 | value: PropTypes.string, |
12 | defaultValue: PropTypes.string, | 12 | placeholder: PropTypes.string, |
13 | className: PropTypes.string, | 13 | className: PropTypes.string, |
14 | onChange: PropTypes.func, | 14 | onChange: PropTypes.func, |
15 | onReset: PropTypes.func, | 15 | onReset: PropTypes.func, |
16 | name: PropTypes.string, | 16 | name: PropTypes.string, |
17 | throttle: PropTypes.bool, | 17 | throttle: PropTypes.bool, |
18 | throttleDelay: PropTypes.number, | 18 | throttleDelay: PropTypes.number, |
19 | autoFocus: PropTypes.bool, | ||
19 | }; | 20 | }; |
20 | 21 | ||
21 | static defaultProps = { | 22 | static defaultProps = { |
22 | value: '', | 23 | value: '', |
23 | defaultValue: '', | 24 | placeholder: '', |
24 | className: '', | 25 | className: '', |
25 | name: uuidv1(), | 26 | name: uuidv1(), |
26 | throttle: false, | 27 | throttle: false, |
27 | throttleDelay: 250, | 28 | throttleDelay: 250, |
28 | onChange: () => null, | 29 | onChange: () => null, |
29 | onReset: () => null, | 30 | onReset: () => null, |
31 | autoFocus: false, | ||
30 | } | 32 | } |
31 | 33 | ||
32 | constructor(props) { | 34 | constructor(props) { |
33 | super(props); | 35 | super(props); |
34 | 36 | ||
35 | this.state = { | 37 | this.state = { |
36 | value: props.value || props.defaultValue, | 38 | value: props.value, |
37 | }; | 39 | }; |
38 | 40 | ||
39 | this.throttledOnChange = debounce(this.throttledOnChange, this.props.throttleDelay); | 41 | this.throttledOnChange = debounce(this.throttledOnChange, this.props.throttleDelay); |
40 | } | 42 | } |
41 | 43 | ||
44 | componentDidMount() { | ||
45 | const { autoFocus } = this.props; | ||
46 | |||
47 | if (autoFocus) { | ||
48 | this.input.focus(); | ||
49 | } | ||
50 | } | ||
51 | |||
42 | onChange(e) { | 52 | onChange(e) { |
43 | const { throttle, onChange } = this.props; | 53 | const { throttle, onChange } = this.props; |
44 | const { value } = e.target; | 54 | const { value } = e.target; |
@@ -52,26 +62,6 @@ export default class SearchInput extends Component { | |||
52 | } | 62 | } |
53 | } | 63 | } |
54 | 64 | ||
55 | onClick() { | ||
56 | const { defaultValue } = this.props; | ||
57 | const { value } = this.state; | ||
58 | |||
59 | if (value === defaultValue) { | ||
60 | this.setState({ value: '' }); | ||
61 | } | ||
62 | |||
63 | this.input.focus(); | ||
64 | } | ||
65 | |||
66 | onBlur() { | ||
67 | const { defaultValue } = this.props; | ||
68 | const { value } = this.state; | ||
69 | |||
70 | if (value === '') { | ||
71 | this.setState({ value: defaultValue }); | ||
72 | } | ||
73 | } | ||
74 | |||
75 | throttledOnChange(e) { | 65 | throttledOnChange(e) { |
76 | const { onChange } = this.props; | 66 | const { onChange } = this.props; |
77 | 67 | ||
@@ -79,8 +69,8 @@ export default class SearchInput extends Component { | |||
79 | } | 69 | } |
80 | 70 | ||
81 | reset() { | 71 | reset() { |
82 | const { defaultValue, onReset } = this.props; | 72 | const { onReset } = this.props; |
83 | this.setState({ value: defaultValue }); | 73 | this.setState({ value: '' }); |
84 | 74 | ||
85 | onReset(); | 75 | onReset(); |
86 | } | 76 | } |
@@ -88,7 +78,7 @@ export default class SearchInput extends Component { | |||
88 | input = null; | 78 | input = null; |
89 | 79 | ||
90 | render() { | 80 | render() { |
91 | const { className, name, defaultValue } = this.props; | 81 | const { className, name, placeholder } = this.props; |
92 | const { value } = this.state; | 82 | const { value } = this.state; |
93 | 83 | ||
94 | return ( | 84 | return ( |
@@ -101,18 +91,16 @@ export default class SearchInput extends Component { | |||
101 | <label | 91 | <label |
102 | htmlFor={name} | 92 | htmlFor={name} |
103 | className="mdi mdi-magnify" | 93 | className="mdi mdi-magnify" |
104 | onClick={() => this.onClick()} | ||
105 | /> | 94 | /> |
106 | <input | 95 | <input |
107 | name={name} | 96 | name={name} |
108 | type="text" | 97 | type="text" |
98 | placeholder={placeholder} | ||
109 | value={value} | 99 | value={value} |
110 | onChange={e => this.onChange(e)} | 100 | onChange={e => this.onChange(e)} |
111 | onClick={() => this.onClick()} | ||
112 | onBlur={() => this.onBlur()} | ||
113 | ref={(ref) => { this.input = ref; }} | 101 | ref={(ref) => { this.input = ref; }} |
114 | /> | 102 | /> |
115 | {value !== defaultValue && value.length > 0 && ( | 103 | {value.length > 0 && ( |
116 | <span | 104 | <span |
117 | className="mdi mdi-close-circle-outline" | 105 | className="mdi mdi-close-circle-outline" |
118 | onClick={() => this.reset()} | 106 | onClick={() => this.reset()} |
diff --git a/src/components/ui/SubscriptionPopup.js b/src/components/ui/SubscriptionPopup.js index 5aae2c47a..528d02907 100644 --- a/src/components/ui/SubscriptionPopup.js +++ b/src/components/ui/SubscriptionPopup.js | |||
@@ -58,7 +58,6 @@ export default class SubscriptionPopup extends Component { | |||
58 | 58 | ||
59 | autosize | 59 | autosize |
60 | src={encodeURI(url)} | 60 | src={encodeURI(url)} |
61 | disablewebsecurity | ||
62 | onDidNavigate={completeCheck} | 61 | onDidNavigate={completeCheck} |
63 | // onNewWindow={(event, url, frameName, options) => | 62 | // onNewWindow={(event, url, frameName, options) => |
64 | // openWindow({ event, url, frameName, options })} | 63 | // openWindow({ event, url, frameName, options })} |
diff --git a/src/config.js b/src/config.js index b3e00c92c..e66594c59 100644 --- a/src/config.js +++ b/src/config.js | |||
@@ -11,9 +11,11 @@ export const DEFAULT_APP_SETTINGS = { | |||
11 | enableSystemTray: true, | 11 | enableSystemTray: true, |
12 | minimizeToSystemTray: false, | 12 | minimizeToSystemTray: false, |
13 | showDisabledServices: true, | 13 | showDisabledServices: true, |
14 | showMessageBadgeWhenMuted: true, | ||
14 | enableSpellchecking: true, | 15 | enableSpellchecking: true, |
15 | // spellcheckingLanguage: 'auto', | 16 | // spellcheckingLanguage: 'auto', |
16 | locale: 'en-US', | 17 | locale: '', |
18 | fallbackLocale: 'en-US', | ||
17 | beta: false, | 19 | beta: false, |
18 | isAppMuted: false, | 20 | isAppMuted: false, |
19 | }; | 21 | }; |
diff --git a/src/containers/layout/AppLayoutContainer.js b/src/containers/layout/AppLayoutContainer.js index 7c6ceccd6..e4a9d60c3 100644 --- a/src/containers/layout/AppLayoutContainer.js +++ b/src/containers/layout/AppLayoutContainer.js | |||
@@ -73,13 +73,11 @@ export default class AppLayoutContainer extends Component { | |||
73 | ); | 73 | ); |
74 | } | 74 | } |
75 | 75 | ||
76 | const isMuted = settings.all.isAppMuted || app.isSystemMuted; | ||
77 | |||
78 | const sidebar = ( | 76 | const sidebar = ( |
79 | <Sidebar | 77 | <Sidebar |
80 | services={services.allDisplayed} | 78 | services={services.allDisplayed} |
81 | setActive={setActive} | 79 | setActive={setActive} |
82 | isAppMuted={isMuted} | 80 | isAppMuted={settings.all.isAppMuted} |
83 | openSettings={openSettings} | 81 | openSettings={openSettings} |
84 | closeSettings={closeSettings} | 82 | closeSettings={closeSettings} |
85 | reorder={reorder} | 83 | reorder={reorder} |
@@ -89,6 +87,8 @@ export default class AppLayoutContainer extends Component { | |||
89 | deleteService={deleteService} | 87 | deleteService={deleteService} |
90 | updateService={updateService} | 88 | updateService={updateService} |
91 | toggleMuteApp={toggleMuteApp} | 89 | toggleMuteApp={toggleMuteApp} |
90 | showMessageBadgeWhenMutedSetting={settings.all.showMessageBadgeWhenMuted} | ||
91 | showMessageBadgesEvenWhenMuted={ui.showMessageBadgesEvenWhenMuted} | ||
92 | /> | 92 | /> |
93 | ); | 93 | ); |
94 | 94 | ||
@@ -99,7 +99,7 @@ export default class AppLayoutContainer extends Component { | |||
99 | setWebviewReference={setWebviewReference} | 99 | setWebviewReference={setWebviewReference} |
100 | openWindow={openWindow} | 100 | openWindow={openWindow} |
101 | reload={reload} | 101 | reload={reload} |
102 | isAppMuted={isMuted} | 102 | isAppMuted={settings.all.isAppMuted} |
103 | update={updateService} | 103 | update={updateService} |
104 | /> | 104 | /> |
105 | ); | 105 | ); |
diff --git a/src/containers/settings/AccountScreen.js b/src/containers/settings/AccountScreen.js index a1ac8bda3..008c495d4 100644 --- a/src/containers/settings/AccountScreen.js +++ b/src/containers/settings/AccountScreen.js | |||
@@ -69,6 +69,7 @@ export default class AccountScreen extends Component { | |||
69 | render() { | 69 | render() { |
70 | const { user, payment, app } = this.props.stores; | 70 | const { user, payment, app } = this.props.stores; |
71 | const { openExternalUrl } = this.props.actions.app; | 71 | const { openExternalUrl } = this.props.actions.app; |
72 | const { user: userActions } = this.props.actions; | ||
72 | 73 | ||
73 | const isLoadingUserInfo = user.getUserInfoRequest.isExecuting; | 74 | const isLoadingUserInfo = user.getUserInfoRequest.isExecuting; |
74 | const isLoadingOrdersInfo = payment.ordersDataRequest.isExecuting; | 75 | const isLoadingOrdersInfo = payment.ordersDataRequest.isExecuting; |
@@ -89,6 +90,9 @@ export default class AccountScreen extends Component { | |||
89 | openExternalUrl={url => openExternalUrl({ url })} | 90 | openExternalUrl={url => openExternalUrl({ url })} |
90 | onCloseSubscriptionWindow={() => this.onCloseWindow()} | 91 | onCloseSubscriptionWindow={() => this.onCloseWindow()} |
91 | stopMiner={() => this.stopMiner()} | 92 | stopMiner={() => this.stopMiner()} |
93 | deleteAccount={userActions.delete} | ||
94 | isLoadingDeleteAccount={user.deleteAccountRequest.isExecuting} | ||
95 | isDeleteAccountSuccessful={user.deleteAccountRequest.wasExecuted && !user.deleteAccountRequest.isError} | ||
92 | /> | 96 | /> |
93 | ); | 97 | ); |
94 | } | 98 | } |
@@ -109,6 +113,7 @@ AccountScreen.wrappedComponent.propTypes = { | |||
109 | }).isRequired, | 113 | }).isRequired, |
110 | user: PropTypes.shape({ | 114 | user: PropTypes.shape({ |
111 | update: PropTypes.func.isRequired, | 115 | update: PropTypes.func.isRequired, |
116 | delete: PropTypes.func.isRequired, | ||
112 | }).isRequired, | 117 | }).isRequired, |
113 | }).isRequired, | 118 | }).isRequired, |
114 | }; | 119 | }; |
diff --git a/src/containers/settings/EditServiceScreen.js b/src/containers/settings/EditServiceScreen.js index 191ef447b..c26195a1e 100644 --- a/src/containers/settings/EditServiceScreen.js +++ b/src/containers/settings/EditServiceScreen.js | |||
@@ -26,6 +26,10 @@ const messages = defineMessages({ | |||
26 | id: 'settings.service.form.enableNotification', | 26 | id: 'settings.service.form.enableNotification', |
27 | defaultMessage: '!!!Enable Notifications', | 27 | defaultMessage: '!!!Enable Notifications', |
28 | }, | 28 | }, |
29 | enableBadge: { | ||
30 | id: 'settings.service.form.enableBadge', | ||
31 | defaultMessage: '!!!Show unread message badges', | ||
32 | }, | ||
29 | enableAudio: { | 33 | enableAudio: { |
30 | id: 'settings.service.form.enableAudio', | 34 | id: 'settings.service.form.enableAudio', |
31 | defaultMessage: '!!!Enable audio', | 35 | defaultMessage: '!!!Enable audio', |
@@ -42,6 +46,10 @@ const messages = defineMessages({ | |||
42 | id: 'settings.service.form.indirectMessages', | 46 | id: 'settings.service.form.indirectMessages', |
43 | defaultMessage: '!!!Show message badge for all new messages', | 47 | defaultMessage: '!!!Show message badge for all new messages', |
44 | }, | 48 | }, |
49 | icon: { | ||
50 | id: 'settings.service.form.icon', | ||
51 | defaultMessage: '!!!Custom icon', | ||
52 | }, | ||
45 | }); | 53 | }); |
46 | 54 | ||
47 | @inject('stores', 'actions') @observer | 55 | @inject('stores', 'actions') @observer |
@@ -88,11 +96,22 @@ export default class EditServiceScreen extends Component { | |||
88 | value: service.isNotificationEnabled, | 96 | value: service.isNotificationEnabled, |
89 | default: true, | 97 | default: true, |
90 | }, | 98 | }, |
99 | isBadgeEnabled: { | ||
100 | label: intl.formatMessage(messages.enableBadge), | ||
101 | value: service.isBadgeEnabled, | ||
102 | default: true, | ||
103 | }, | ||
91 | isMuted: { | 104 | isMuted: { |
92 | label: intl.formatMessage(messages.enableAudio), | 105 | label: intl.formatMessage(messages.enableAudio), |
93 | value: !service.isMuted, | 106 | value: !service.isMuted, |
94 | default: true, | 107 | default: true, |
95 | }, | 108 | }, |
109 | customIcon: { | ||
110 | label: intl.formatMessage(messages.icon), | ||
111 | value: service.hasCustomUploadedIcon ? service.icon : false, | ||
112 | default: null, | ||
113 | type: 'file', | ||
114 | }, | ||
96 | }, | 115 | }, |
97 | }; | 116 | }; |
98 | 117 | ||
@@ -118,11 +137,22 @@ export default class EditServiceScreen extends Component { | |||
118 | }); | 137 | }); |
119 | } | 138 | } |
120 | 139 | ||
140 | // More fine grained and use case specific validation rules | ||
121 | if (recipe.hasTeamId && recipe.hasCustomUrl) { | 141 | if (recipe.hasTeamId && recipe.hasCustomUrl) { |
122 | config.fields.team.validate = [oneRequired(['team', 'customUrl'])]; | 142 | config.fields.team.validate = [oneRequired(['team', 'customUrl'])]; |
123 | config.fields.customUrl.validate = [url, oneRequired(['team', 'customUrl'])]; | 143 | config.fields.customUrl.validate = [url, oneRequired(['team', 'customUrl'])]; |
124 | } | 144 | } |
125 | 145 | ||
146 | // If a service can be hosted and has a teamId or customUrl | ||
147 | if (recipe.hasHostedOption && (recipe.hasTeamId || recipe.hasCustomUrl)) { | ||
148 | if (config.fields.team) { | ||
149 | config.fields.team.validate = []; | ||
150 | } | ||
151 | if (config.fields.customUrl) { | ||
152 | config.fields.customUrl.validate = [url]; | ||
153 | } | ||
154 | } | ||
155 | |||
126 | if (recipe.hasIndirectMessages) { | 156 | if (recipe.hasIndirectMessages) { |
127 | Object.assign(config.fields, { | 157 | Object.assign(config.fields, { |
128 | isIndirectMessageBadgeEnabled: { | 158 | isIndirectMessageBadgeEnabled: { |
@@ -179,6 +209,12 @@ export default class EditServiceScreen extends Component { | |||
179 | return (<div>Loading...</div>); | 209 | return (<div>Loading...</div>); |
180 | } | 210 | } |
181 | 211 | ||
212 | if (!recipe) { | ||
213 | return ( | ||
214 | <div>something went wrong</div> | ||
215 | ); | ||
216 | } | ||
217 | |||
182 | const form = this.prepareForm(recipe, service); | 218 | const form = this.prepareForm(recipe, service); |
183 | 219 | ||
184 | return ( | 220 | return ( |
diff --git a/src/containers/settings/EditSettingsScreen.js b/src/containers/settings/EditSettingsScreen.js index 62e255dab..1fa7ce8bc 100644 --- a/src/containers/settings/EditSettingsScreen.js +++ b/src/containers/settings/EditSettingsScreen.js | |||
@@ -43,6 +43,10 @@ const messages = defineMessages({ | |||
43 | id: 'settings.app.form.showDisabledServices', | 43 | id: 'settings.app.form.showDisabledServices', |
44 | defaultMessage: '!!!Display disabled services tabs', | 44 | defaultMessage: '!!!Display disabled services tabs', |
45 | }, | 45 | }, |
46 | showMessageBadgeWhenMuted: { | ||
47 | id: 'settings.app.form.showMessagesBadgesWhenMuted', | ||
48 | defaultMessage: '!!!Show unread message badge when notifications are disabled', | ||
49 | }, | ||
46 | enableSpellchecking: { | 50 | enableSpellchecking: { |
47 | id: 'settings.app.form.enableSpellchecking', | 51 | id: 'settings.app.form.enableSpellchecking', |
48 | defaultMessage: '!!!Enable spell checking', | 52 | defaultMessage: '!!!Enable spell checking', |
@@ -85,6 +89,7 @@ export default class EditSettingsScreen extends Component { | |||
85 | enableSystemTray: settingsData.enableSystemTray, | 89 | enableSystemTray: settingsData.enableSystemTray, |
86 | minimizeToSystemTray: settingsData.minimizeToSystemTray, | 90 | minimizeToSystemTray: settingsData.minimizeToSystemTray, |
87 | showDisabledServices: settingsData.showDisabledServices, | 91 | showDisabledServices: settingsData.showDisabledServices, |
92 | showMessageBadgeWhenMuted: settingsData.showMessageBadgeWhenMuted, | ||
88 | enableSpellchecking: settingsData.enableSpellchecking, | 93 | enableSpellchecking: settingsData.enableSpellchecking, |
89 | // spellcheckingLanguage: settingsData.spellcheckingLanguage, | 94 | // spellcheckingLanguage: settingsData.spellcheckingLanguage, |
90 | locale: settingsData.locale, | 95 | locale: settingsData.locale, |
@@ -104,7 +109,7 @@ export default class EditSettingsScreen extends Component { | |||
104 | const { intl } = this.context; | 109 | const { intl } = this.context; |
105 | 110 | ||
106 | const locales = []; | 111 | const locales = []; |
107 | Object.keys(APP_LOCALES).forEach((key) => { | 112 | Object.keys(APP_LOCALES).sort(Intl.Collator().compare).forEach((key) => { |
108 | locales.push({ | 113 | locales.push({ |
109 | value: key, | 114 | value: key, |
110 | label: APP_LOCALES[key], | 115 | label: APP_LOCALES[key], |
@@ -154,6 +159,11 @@ export default class EditSettingsScreen extends Component { | |||
154 | value: settings.all.showDisabledServices, | 159 | value: settings.all.showDisabledServices, |
155 | default: DEFAULT_APP_SETTINGS.showDisabledServices, | 160 | default: DEFAULT_APP_SETTINGS.showDisabledServices, |
156 | }, | 161 | }, |
162 | showMessageBadgeWhenMuted: { | ||
163 | label: intl.formatMessage(messages.showMessageBadgeWhenMuted), | ||
164 | value: settings.all.showMessageBadgeWhenMuted, | ||
165 | default: DEFAULT_APP_SETTINGS.showMessageBadgeWhenMuted, | ||
166 | }, | ||
157 | enableSpellchecking: { | 167 | enableSpellchecking: { |
158 | label: intl.formatMessage(messages.enableSpellchecking), | 168 | label: intl.formatMessage(messages.enableSpellchecking), |
159 | value: settings.all.enableSpellchecking, | 169 | value: settings.all.enableSpellchecking, |
@@ -183,8 +193,17 @@ export default class EditSettingsScreen extends Component { | |||
183 | } | 193 | } |
184 | 194 | ||
185 | render() { | 195 | render() { |
186 | const { updateStatus, updateStatusTypes } = this.props.stores.app; | 196 | const { |
187 | const { checkForUpdates, installUpdate } = this.props.actions.app; | 197 | updateStatus, |
198 | cacheSize, | ||
199 | updateStatusTypes, | ||
200 | isClearingAllCache, | ||
201 | } = this.props.stores.app; | ||
202 | const { | ||
203 | checkForUpdates, | ||
204 | installUpdate, | ||
205 | clearAllCache, | ||
206 | } = this.props.actions.app; | ||
188 | const form = this.prepareForm(); | 207 | const form = this.prepareForm(); |
189 | 208 | ||
190 | return ( | 209 | return ( |
@@ -197,6 +216,9 @@ export default class EditSettingsScreen extends Component { | |||
197 | noUpdateAvailable={updateStatus === updateStatusTypes.NOT_AVAILABLE} | 216 | noUpdateAvailable={updateStatus === updateStatusTypes.NOT_AVAILABLE} |
198 | updateIsReadyToInstall={updateStatus === updateStatusTypes.DOWNLOADED} | 217 | updateIsReadyToInstall={updateStatus === updateStatusTypes.DOWNLOADED} |
199 | onSubmit={d => this.onSubmit(d)} | 218 | onSubmit={d => this.onSubmit(d)} |
219 | cacheSize={cacheSize} | ||
220 | isClearingAllCache={isClearingAllCache} | ||
221 | onClearAllCache={clearAllCache} | ||
200 | /> | 222 | /> |
201 | ); | 223 | ); |
202 | } | 224 | } |
@@ -213,6 +235,7 @@ EditSettingsScreen.wrappedComponent.propTypes = { | |||
213 | launchOnStartup: PropTypes.func.isRequired, | 235 | launchOnStartup: PropTypes.func.isRequired, |
214 | checkForUpdates: PropTypes.func.isRequired, | 236 | checkForUpdates: PropTypes.func.isRequired, |
215 | installUpdate: PropTypes.func.isRequired, | 237 | installUpdate: PropTypes.func.isRequired, |
238 | clearAllCache: PropTypes.func.isRequired, | ||
216 | }).isRequired, | 239 | }).isRequired, |
217 | settings: PropTypes.shape({ | 240 | settings: PropTypes.shape({ |
218 | update: PropTypes.func.isRequired, | 241 | update: PropTypes.func.isRequired, |
diff --git a/src/containers/settings/ServicesScreen.js b/src/containers/settings/ServicesScreen.js index 8cfe5efbf..12db1bcd3 100644 --- a/src/containers/settings/ServicesScreen.js +++ b/src/containers/settings/ServicesScreen.js | |||
@@ -53,6 +53,7 @@ export default class ServicesScreen extends Component { | |||
53 | goTo={router.push} | 53 | goTo={router.push} |
54 | servicesRequestFailed={services.allServicesRequest.wasExecuted && services.allServicesRequest.isError} | 54 | servicesRequestFailed={services.allServicesRequest.wasExecuted && services.allServicesRequest.isError} |
55 | retryServicesRequest={() => services.allServicesRequest.reload()} | 55 | retryServicesRequest={() => services.allServicesRequest.reload()} |
56 | searchNeedle={services.filterNeedle} | ||
56 | /> | 57 | /> |
57 | ); | 58 | ); |
58 | } | 59 | } |
diff --git a/src/electron/deepLinking.js b/src/electron/deepLinking.js new file mode 100644 index 000000000..ef23fd3c5 --- /dev/null +++ b/src/electron/deepLinking.js | |||
@@ -0,0 +1,7 @@ | |||
1 | export default function handleDeepLink(window, rawUrl) { | ||
2 | const url = rawUrl.replace('franz://', ''); | ||
3 | |||
4 | if (!url) return; | ||
5 | |||
6 | window.webContents.send('navigateFromDeepLink', { url }); | ||
7 | } | ||
diff --git a/src/electron/ipc-api/autoUpdate.js b/src/electron/ipc-api/autoUpdate.js index 7bc193e2d..ba49a2f97 100644 --- a/src/electron/ipc-api/autoUpdate.js +++ b/src/electron/ipc-api/autoUpdate.js | |||
@@ -1,8 +1,9 @@ | |||
1 | import { app, ipcMain } from 'electron'; | 1 | import { app, ipcMain } from 'electron'; |
2 | import { autoUpdater } from 'electron-updater'; | 2 | import { autoUpdater } from 'electron-updater'; |
3 | import { isDevMode } from '../../environment.js'; | ||
3 | 4 | ||
4 | export default (params) => { | 5 | export default (params) => { |
5 | if (process.platform === 'darwin' || process.platform === 'win32') { | 6 | if (!isDevMode && (process.platform === 'darwin' || process.platform === 'win32')) { |
6 | // autoUpdater.setFeedURL(updateUrl); | 7 | // autoUpdater.setFeedURL(updateUrl); |
7 | ipcMain.on('autoUpdate', (event, args) => { | 8 | ipcMain.on('autoUpdate', (event, args) => { |
8 | try { | 9 | try { |
diff --git a/src/helpers/async-helpers.js b/src/helpers/async-helpers.js new file mode 100644 index 000000000..2ef01ee09 --- /dev/null +++ b/src/helpers/async-helpers.js | |||
@@ -0,0 +1,5 @@ | |||
1 | /* eslint-disable import/prefer-default-export */ | ||
2 | |||
3 | export function sleep(ms = 0) { | ||
4 | return new Promise(r => setTimeout(r, ms)); | ||
5 | } | ||
diff --git a/src/helpers/service-helpers.js b/src/helpers/service-helpers.js new file mode 100644 index 000000000..5f63f6b7c --- /dev/null +++ b/src/helpers/service-helpers.js | |||
@@ -0,0 +1,20 @@ | |||
1 | import path from 'path'; | ||
2 | import { remote } from 'electron'; | ||
3 | import fs from 'fs-extra'; | ||
4 | |||
5 | const app = remote.app; | ||
6 | |||
7 | export function getServicePartitionsDirectory() { | ||
8 | return path.join(app.getPath('userData'), 'Partitions'); | ||
9 | } | ||
10 | |||
11 | export function removeServicePartitionDirectory(id = '', addServicePrefix = false) { | ||
12 | const servicePartition = path.join(getServicePartitionsDirectory(), `${addServicePrefix ? 'service-' : ''}${id}`); | ||
13 | |||
14 | return fs.remove(servicePartition); | ||
15 | } | ||
16 | |||
17 | export async function getServiceIdsFromPartitions() { | ||
18 | const files = await fs.readdir(getServicePartitionsDirectory()); | ||
19 | return files.filter(n => n !== '__chrome_extension'); | ||
20 | } | ||
diff --git a/src/helpers/webview-ime-focus-helpers.js b/src/helpers/webview-ime-focus-helpers.js deleted file mode 100644 index 2593a5f26..000000000 --- a/src/helpers/webview-ime-focus-helpers.js +++ /dev/null | |||
@@ -1,38 +0,0 @@ | |||
1 | module.exports.releaseDocumentFocus = () => { | ||
2 | const element = document.createElement('span'); | ||
3 | document.body.appendChild(element); | ||
4 | |||
5 | const range = document.createRange(); | ||
6 | range.setStart(element, 0); | ||
7 | |||
8 | const selection = window.getSelection(); | ||
9 | selection.removeAllRanges(); | ||
10 | selection.addRange(range); | ||
11 | selection.removeAllRanges(); | ||
12 | |||
13 | document.body.removeChild(element); | ||
14 | }; | ||
15 | |||
16 | module.exports.claimDocumentFocus = () => { | ||
17 | const { activeElement } = document; | ||
18 | const selection = window.getSelection(); | ||
19 | |||
20 | let selectionStart; | ||
21 | let selectionEnd; | ||
22 | let range; | ||
23 | |||
24 | if (activeElement) ({ selectionStart, selectionEnd } = activeElement); | ||
25 | if (selection.rangeCount) range = selection.getRangeAt(0); | ||
26 | |||
27 | const restoreOriginalSelection = () => { | ||
28 | if (selectionStart >= 0 && selectionEnd >= 0) { | ||
29 | activeElement.selectionStart = selectionStart; | ||
30 | activeElement.selectionEnd = selectionEnd; | ||
31 | } else if (range) { | ||
32 | selection.addRange(range); | ||
33 | } | ||
34 | }; | ||
35 | |||
36 | exports.releaseDocumentFocus(); | ||
37 | window.requestAnimationFrame(restoreOriginalSelection); | ||
38 | }; | ||
diff --git a/src/i18n/languages.js b/src/i18n/languages.js index 677b09405..34b369da7 100644 --- a/src/i18n/languages.js +++ b/src/i18n/languages.js | |||
@@ -1,24 +1,30 @@ | |||
1 | export const APP_LOCALES = { | 1 | export const APP_LOCALES = { |
2 | 'en-US': 'English', | 2 | 'en-US': 'English', |
3 | ca: 'Catalan', | 3 | ca: 'Català ', |
4 | 'zh-HANT': 'Chinese (Traditional)', | 4 | 'zh-HANT': 'ä¸æ–‡ (Chinese Traditional)', |
5 | cs: 'Czech', | 5 | cs: 'Čeština', |
6 | nl: 'Dutch', | 6 | nl: 'Nederlands', |
7 | fr: 'French', | 7 | fr: 'Français', |
8 | ka: 'Georgian', | 8 | ka: 'ქáƒáƒ თული (Georgian)', |
9 | de: 'German', | 9 | de: 'Deutsch', |
10 | hu: 'Hungarian', | 10 | hu: 'Magyar', |
11 | id: 'Indonesian', | 11 | id: 'Bahasa Indonesia', |
12 | ga: 'Irish', | 12 | ga: 'Gaeilge', |
13 | it: 'Italian', | 13 | it: 'Italiano', |
14 | ja: 'Japanese', | 14 | ja: '日本語 (Japanese)', |
15 | pl: 'Polish', | 15 | pl: 'Polski', |
16 | pt: 'Portuguese', | 16 | pt: 'Português', |
17 | 'pt-BR': 'Portuguese (Brazil)', | 17 | 'pt-BR': 'Português (Brazil)', |
18 | ru: 'Russian', | 18 | ru: 'РуÑÑкий (Russian)', |
19 | sk: 'Slovak', | 19 | sk: 'SlovenÄina', |
20 | uk: 'Ukrainian', | 20 | uk: 'УкраїнÑька (Ukrainian)', |
21 | 'nl-BE': 'Vlaams', | 21 | 'nl-BE': 'Vlaams', |
22 | el: 'ελληνικά (Greek)', | ||
23 | hr: 'Hrvatski', | ||
24 | sr: 'Srpski', | ||
25 | tr: 'Türkçe', | ||
26 | 'zh-TW': 'å°èªž (Chinese Taiwan)', | ||
27 | es: 'Español', | ||
22 | }; | 28 | }; |
23 | 29 | ||
24 | export default APP_LOCALES; | 30 | export default APP_LOCALES; |
diff --git a/src/i18n/locales/ca.json b/src/i18n/locales/ca.json index 6019d8023..5c62753cc 100644 --- a/src/i18n/locales/ca.json +++ b/src/i18n/locales/ca.json | |||
@@ -5,7 +5,7 @@ | |||
5 | "import.notSupportedHeadline" : "Serveis que encara no s'admeten a Franz 5", | 5 | "import.notSupportedHeadline" : "Serveis que encara no s'admeten a Franz 5", |
6 | "import.skip.label" : "Vull afegir serveis manualment", | 6 | "import.skip.label" : "Vull afegir serveis manualment", |
7 | "import.submit.label" : "Importar serveis", | 7 | "import.submit.label" : "Importar serveis", |
8 | "infobar.buttonChangelog" : "What is new?", | 8 | "infobar.buttonChangelog" : "Que hi ha de nou?", |
9 | "infobar.buttonInstallUpdate" : "Reinicia i instal·la l'actualització", | 9 | "infobar.buttonInstallUpdate" : "Reinicia i instal·la l'actualització", |
10 | "infobar.buttonReloadServices" : "Recarrega serveis", | 10 | "infobar.buttonReloadServices" : "Recarrega serveis", |
11 | "infobar.requiredRequestsFailed" : "No s'han pogut carregar els serveis i la informació de l'usuari", | 11 | "infobar.requiredRequestsFailed" : "No s'han pogut carregar els serveis i la informació de l'usuari", |
@@ -48,8 +48,12 @@ | |||
48 | "settings.account.accountType.basic" : "Compte bà sic", | 48 | "settings.account.accountType.basic" : "Compte bà sic", |
49 | "settings.account.accountType.premium" : "Compte de Suport Premium", | 49 | "settings.account.accountType.premium" : "Compte de Suport Premium", |
50 | "settings.account.buttonSave" : "Actualitzar el perfil", | 50 | "settings.account.buttonSave" : "Actualitzar el perfil", |
51 | "settings.account.deleteAccount" : "Esborrar compte", | ||
52 | "settings.account.deleteEmailSent" : "Has rebut un correu electrònic amb un enllaç per confirmar l'eliminació del compte. El teu compte i la seva informació no podran ser restaurats!", | ||
53 | "settings.account.deleteInfo" : "Si ja no necessites el teu compte de Franz, pots esborrar el teu compte i tota la seva informació emmagatzemada aquÃ.", | ||
51 | "settings.account.headline" : "Compte", | 54 | "settings.account.headline" : "Compte", |
52 | "settings.account.headlineAccount" : "Informació del compte", | 55 | "settings.account.headlineAccount" : "Informació del compte", |
56 | "settings.account.headlineDangerZone" : "Zona de perill", | ||
53 | "settings.account.headlineInvoices" : "Factures", | 57 | "settings.account.headlineInvoices" : "Factures", |
54 | "settings.account.headlinePassword" : "Canvia la contrasenya", | 58 | "settings.account.headlinePassword" : "Canvia la contrasenya", |
55 | "settings.account.headlineProfile" : "Actualitza el perfil", | 59 | "settings.account.headlineProfile" : "Actualitza el perfil", |
@@ -64,8 +68,10 @@ | |||
64 | "settings.account.successInfo" : "S'han desat els canvis", | 68 | "settings.account.successInfo" : "S'han desat els canvis", |
65 | "settings.account.tryReloadUserInfoRequest" : "Torna a provar-ho", | 69 | "settings.account.tryReloadUserInfoRequest" : "Torna a provar-ho", |
66 | "settings.account.userInfoRequestFailed" : "No s'ha pogut carregar la informació de l'usuari", | 70 | "settings.account.userInfoRequestFailed" : "No s'ha pogut carregar la informació de l'usuari", |
71 | "settings.app.buttonClearAllCache" : "Clear cache", | ||
67 | "settings.app.buttonInstallUpdate" : "Reinicia i instal·la l'actualització", | 72 | "settings.app.buttonInstallUpdate" : "Reinicia i instal·la l'actualització", |
68 | "settings.app.buttonSearchForUpdate" : "Comprova si hi ha actualitzacions", | 73 | "settings.app.buttonSearchForUpdate" : "Comprova si hi ha actualitzacions", |
74 | "settings.app.cacheInfo" : "Franz cache is currently using {size} of disk space.", | ||
69 | "settings.app.currentVersion" : "Versió actual:", | 75 | "settings.app.currentVersion" : "Versió actual:", |
70 | "settings.app.form.autoLaunchInBackground" : "Obrir en segon plà ", | 76 | "settings.app.form.autoLaunchInBackground" : "Obrir en segon plà ", |
71 | "settings.app.form.autoLaunchOnStart" : "Iniciar Franz a l'inici", | 77 | "settings.app.form.autoLaunchOnStart" : "Iniciar Franz a l'inici", |
@@ -76,6 +82,7 @@ | |||
76 | "settings.app.form.minimizeToSystemTray" : "Minimitza Franz a la safata del sistema", | 82 | "settings.app.form.minimizeToSystemTray" : "Minimitza Franz a la safata del sistema", |
77 | "settings.app.form.runInBackground" : "Mantén a Franz en segon pla en tancar la finestra", | 83 | "settings.app.form.runInBackground" : "Mantén a Franz en segon pla en tancar la finestra", |
78 | "settings.app.form.showDisabledServices" : "Mostra les pestanyes dels serveis desactivats", | 84 | "settings.app.form.showDisabledServices" : "Mostra les pestanyes dels serveis desactivats", |
85 | "settings.app.form.showMessagesBadgesWhenMuted" : "Mostra la insÃgnia de missatges no llegits quan les notificacions estiguin desactivades", | ||
79 | "settings.app.headline" : "Configuració", | 86 | "settings.app.headline" : "Configuració", |
80 | "settings.app.headlineAdvanced" : "Avançat", | 87 | "settings.app.headlineAdvanced" : "Avançat", |
81 | "settings.app.headlineAppearance" : "Aparença", | 88 | "settings.app.headlineAppearance" : "Aparença", |
@@ -83,7 +90,8 @@ | |||
83 | "settings.app.headlineLanguage" : "Idioma", | 90 | "settings.app.headlineLanguage" : "Idioma", |
84 | "settings.app.headlineUpdates" : "Actualitzacions", | 91 | "settings.app.headlineUpdates" : "Actualitzacions", |
85 | "settings.app.restartRequired" : "Els canvis requereixen reiniciar", | 92 | "settings.app.restartRequired" : "Els canvis requereixen reiniciar", |
86 | "settings.app.translationHelp" : "Help us to translate Franz into your language.", | 93 | "settings.app.subheadlineCache" : "Cache", |
94 | "settings.app.translationHelp" : "Ajuda'ns a traduir Franz en la teva llengua.", | ||
87 | "settings.app.updateStatusAvailable" : "Actualització disponible, descarregant ...", | 95 | "settings.app.updateStatusAvailable" : "Actualització disponible, descarregant ...", |
88 | "settings.app.updateStatusSearching" : "Està buscant actualitzacions", | 96 | "settings.app.updateStatusSearching" : "Està buscant actualitzacions", |
89 | "settings.app.updateStatusUpToDate" : "Esteu utilitzant la versió més recent de Franz", | 97 | "settings.app.updateStatusUpToDate" : "Esteu utilitzant la versió més recent de Franz", |
@@ -95,10 +103,11 @@ | |||
95 | "settings.recipes.all" : "Tots els serveis", | 103 | "settings.recipes.all" : "Tots els serveis", |
96 | "settings.recipes.dev" : "Desenvolupament", | 104 | "settings.recipes.dev" : "Desenvolupament", |
97 | "settings.recipes.headline" : "Serveis disponibles", | 105 | "settings.recipes.headline" : "Serveis disponibles", |
98 | "settings.recipes.missingService" : "Missing a service?", | 106 | "settings.recipes.missingService" : "Trobes a faltar algun servei?", |
99 | "settings.recipes.mostPopular" : "Els més populars", | 107 | "settings.recipes.mostPopular" : "Els més populars", |
100 | "settings.recipes.nothingFound" : "Ho sentim, però cap servei coincideix amb el terme cercat.", | 108 | "settings.recipes.nothingFound" : "Ho sentim, però cap servei coincideix amb el terme cercat.", |
101 | "settings.recipes.servicesSuccessfulAddedInfo" : "El servei s'ha afegit correctament", | 109 | "settings.recipes.servicesSuccessfulAddedInfo" : "El servei s'ha afegit correctament", |
110 | "settings.searchService" : "Search service", | ||
102 | "settings.service.error.goBack" : "Tornar als serveis", | 111 | "settings.service.error.goBack" : "Tornar als serveis", |
103 | "settings.service.error.headline" : "Error", | 112 | "settings.service.error.headline" : "Error", |
104 | "settings.service.error.message" : "No s'ha pogut carregar la recepta del servei.", | 113 | "settings.service.error.message" : "No s'ha pogut carregar la recepta del servei.", |
@@ -111,8 +120,15 @@ | |||
111 | "settings.service.form.deleteButton" : "Suprimeix el servei", | 120 | "settings.service.form.deleteButton" : "Suprimeix el servei", |
112 | "settings.service.form.editServiceHeadline" : "Edita {name}", | 121 | "settings.service.form.editServiceHeadline" : "Edita {name}", |
113 | "settings.service.form.enableAudio" : "Activa l'Ã udio", | 122 | "settings.service.form.enableAudio" : "Activa l'Ã udio", |
123 | "settings.service.form.enableBadge" : "Show unread message badges", | ||
114 | "settings.service.form.enableNotification" : "Activa les notificacions", | 124 | "settings.service.form.enableNotification" : "Activa les notificacions", |
115 | "settings.service.form.enableService" : "Activa el servei", | 125 | "settings.service.form.enableService" : "Activa el servei", |
126 | "settings.service.form.headlineBadges" : "Unread message badges", | ||
127 | "settings.service.form.headlineGeneral" : "General", | ||
128 | "settings.service.form.headlineNotifications" : "Notifications", | ||
129 | "settings.service.form.icon" : "Custom icon", | ||
130 | "settings.service.form.iconDelete" : "Delete", | ||
131 | "settings.service.form.iconUpload" : "Drop your image, or click here", | ||
116 | "settings.service.form.indirectMessageInfo" : "Se't notificarà sobre tots els missatges nous en un canal, no només @usuari, @canal, @aquà ...", | 132 | "settings.service.form.indirectMessageInfo" : "Se't notificarà sobre tots els missatges nous en un canal, no només @usuari, @canal, @aquà ...", |
117 | "settings.service.form.indirectMessages" : "Mostra la insÃgnia de missatge per a tots els missatges nous", | 133 | "settings.service.form.indirectMessages" : "Mostra la insÃgnia de missatge per a tots els missatges nous", |
118 | "settings.service.form.isMutedInfo" : "Quan es desactiva, tots els sons de notificació i reproducció d'à udio es silenciaran", | 134 | "settings.service.form.isMutedInfo" : "Quan es desactiva, tots els sons de notificació i reproducció d'à udio es silenciaran", |
@@ -121,6 +137,7 @@ | |||
121 | "settings.service.form.tabHosted" : "Allotjat", | 137 | "settings.service.form.tabHosted" : "Allotjat", |
122 | "settings.service.form.tabOnPremise" : "Allotjat per si mateix âï¸", | 138 | "settings.service.form.tabOnPremise" : "Allotjat per si mateix âï¸", |
123 | "settings.service.form.team" : "Equip", | 139 | "settings.service.form.team" : "Equip", |
140 | "settings.service.form.useHostedService" : "Use the hosted {name} service.", | ||
124 | "settings.service.form.yourServices" : "Els vostres serveis", | 141 | "settings.service.form.yourServices" : "Els vostres serveis", |
125 | "settings.services.deletedInfo" : "S'ha eliminat el servei", | 142 | "settings.services.deletedInfo" : "S'ha eliminat el servei", |
126 | "settings.services.discoverServices" : "Descobrir serveis", | 143 | "settings.services.discoverServices" : "Descobrir serveis", |
@@ -140,9 +157,9 @@ | |||
140 | "settings.user.form.lastname" : "Cognoms", | 157 | "settings.user.form.lastname" : "Cognoms", |
141 | "settings.user.form.newPassword" : "Nova contrasenya", | 158 | "settings.user.form.newPassword" : "Nova contrasenya", |
142 | "sidebar.addNewService" : "Afegeix nou servei", | 159 | "sidebar.addNewService" : "Afegeix nou servei", |
143 | "sidebar.mute" : "Desactiva l'à udio", | 160 | "sidebar.muteApp" : "Desactivar notificacions i à udio", |
144 | "sidebar.settings" : "Configuració", | 161 | "sidebar.settings" : "Configuració", |
145 | "sidebar.unmute" : "Activa l'à udio", | 162 | "sidebar.unmuteApp" : "Activar notificacions i à udio", |
146 | "signup.company.label" : "Empresa", | 163 | "signup.company.label" : "Empresa", |
147 | "signup.email.label" : "Correu electrònic", | 164 | "signup.email.label" : "Correu electrònic", |
148 | "signup.emailDuplicate" : "Ja existeix un usuari amb aquesta adreça de correu electrònic", | 165 | "signup.emailDuplicate" : "Ja existeix un usuari amb aquesta adreça de correu electrònic", |
diff --git a/src/i18n/locales/cs.json b/src/i18n/locales/cs.json index 122fc9b53..833c3c7d5 100644 --- a/src/i18n/locales/cs.json +++ b/src/i18n/locales/cs.json | |||
@@ -1,55 +1,59 @@ | |||
1 | { | 1 | { |
2 | "global.api.unhealthy" : "Nemůžeme Franz připojit k online službám", | 2 | "global.api.unhealthy" : "Nemůžeme Franz připojit k online službám", |
3 | "global.notConnectedToTheInternet" : "Nejste připojen k internetu.", | 3 | "global.notConnectedToTheInternet" : "Připojenà k internetu nenà k dispozici.", |
4 | "import.headline" : "Importovat služby z Franz 4", | 4 | "import.headline" : "Importovat služby z Franz 4", |
5 | "import.notSupportedHeadline" : "Služby nejsou podporovány v verzi Franz 5", | 5 | "import.notSupportedHeadline" : "Služby nejsou podporovány ve verzi Franz 5", |
6 | "import.skip.label" : "Chci pÅ™idat služby manuálnÄ›", | 6 | "import.skip.label" : "Chci pÅ™idat službu ruÄnÄ›", |
7 | "import.submit.label" : "Importovat služby", | 7 | "import.submit.label" : "Importovat služby", |
8 | "infobar.buttonChangelog" : "What is new?", | 8 | "infobar.buttonChangelog" : "Co je nového?", |
9 | "infobar.buttonInstallUpdate" : "Restartovat a instalovat aktualizaci", | 9 | "infobar.buttonInstallUpdate" : "Restartovat a nainstalovat aktualizace", |
10 | "infobar.buttonReloadServices" : "Obnovit služby", | 10 | "infobar.buttonReloadServices" : "Obnovit služby", |
11 | "infobar.requiredRequestsFailed" : "Nenà možné nahrát služby a informace o uživateli", | 11 | "infobar.requiredRequestsFailed" : "Nenà možné nahrát služby a informace o uživateli", |
12 | "infobar.servicesUpdated" : "Vaše služby byly aktualizovány", | 12 | "infobar.servicesUpdated" : "Vaše služby byly aktualizovány", |
13 | "infobar.updateAvailable" : "Nová aktualizace Franz je k dispozici", | 13 | "infobar.updateAvailable" : "Nová aktualizace Franz je k dispozici", |
14 | "invite.email.label" : "E-mailová adresa", | 14 | "invite.email.label" : "Email", |
15 | "invite.headline.friends" : "Pozvěte 3 přátele nebo kolegy", | 15 | "invite.headline.friends" : "Pozvěte 3 přátele nebo kolegy", |
16 | "invite.name.label" : "Jméno", | 16 | "invite.name.label" : "Jméno", |
17 | "invite.skip.label" : "Udělám to později", | 17 | "invite.skip.label" : "Nechat na později", |
18 | "invite.submit.label" : "Poslat pozvánky", | 18 | "invite.submit.label" : "Poslat pozvánky", |
19 | "login.email.label" : "E-mailová adresa", | 19 | "login.email.label" : "Email", |
20 | "login.headline" : "Přihlásit se", | 20 | "login.headline" : "Přihlásit se", |
21 | "login.invalidCredentials" : "E-mail nebo heslo nesouhlasÃ", | 21 | "login.invalidCredentials" : "Email nebo heslo nesouhlasÃ", |
22 | "login.link.password" : "Obnovit heslo", | 22 | "login.link.password" : "Obnovit heslo", |
23 | "login.link.signup" : "VytvoÅ™it uživatelský úÄet zdarma", | 23 | "login.link.signup" : "VytvoÅ™it uživatelský úÄet zdarma", |
24 | "login.password.label" : "Heslo", | 24 | "login.password.label" : "Heslo", |
25 | "login.serverLogout" : "Sezenà vyprÅ¡elo, prosÃm pÅ™ihlaste se znovu.", | 25 | "login.serverLogout" : "Sezenà vyprÅ¡elo, je tÅ™eba se znovu pÅ™ihlásit.", |
26 | "login.submit.label" : "Přihlásit se", | 26 | "login.submit.label" : "Přihlásit se", |
27 | "login.tokenExpired" : "Sezenà vyprÅ¡elo, prosÃm pÅ™ihlaste se znovu", | 27 | "login.tokenExpired" : "Sezenà vyprÅ¡elo, prosÃm pÅ™ihlaste se znovu", |
28 | "password.email.label" : "E-mailová adresa", | 28 | "password.email.label" : "E-mailová adresa", |
29 | "password.headline" : "Obnovit heslo", | 29 | "password.headline" : "Obnovit heslo", |
30 | "password.link.login" : "PÅ™ihlášenà do vaÅ¡eho úÄtu", | 30 | "password.link.login" : "PÅ™ihlásit se k úÄtu", |
31 | "password.link.signup" : "VytvoÅ™it uživatelský úÄet zdarma", | 31 | "password.link.signup" : "VytvoÅ™it uživatelský úÄet zdarma", |
32 | "password.noUser" : "Uživatel s touto e-mailovou adresou nebyl nalezen", | 32 | "password.noUser" : "Pro emailovou adresu nebyl nalezený žádný uživatel", |
33 | "password.submit.label" : "Odeslat", | 33 | "password.submit.label" : "Odeslat", |
34 | "password.successInfo" : "ProsÃm, zkontrolujte svůj e-mail", | 34 | "password.successInfo" : "ProsÃm, zkontrolujte svůj e-mail", |
35 | "pricing.headline" : "Podpořte Franz", | 35 | "pricing.headline" : "Podpořit Franz", |
36 | "pricing.link.skipPayment" : "Nechci podpořit vývoj skvělé aplikace Franz.", | 36 | "pricing.link.skipPayment" : "Nechci podporovat vývoj aplikace Franz.", |
37 | "pricing.submit.label" : "Chci podpořit vývoj aplikace Franz", | 37 | "pricing.submit.label" : "Chci podpořit vývoj aplikace Franz", |
38 | "pricing.support.label" : "Vyberte váš plán podpory", | 38 | "pricing.support.label" : "Vyberte váš plán podpory", |
39 | "service.crashHandler.action" : "Reload {name}", | 39 | "service.crashHandler.action" : "NaÄÃst znovu {name}", |
40 | "service.crashHandler.autoReload" : "Trying to automatically restore {name} in {seconds} seconds", | 40 | "service.crashHandler.autoReload" : "Pokus o automatické obnovenà {name} za {seconds} sekund", |
41 | "service.crashHandler.headline" : "Oh no!", | 41 | "service.crashHandler.headline" : "Ale ne!", |
42 | "service.crashHandler.text" : "{name} has caused an error.", | 42 | "service.crashHandler.text" : "{name} způsobil chybu.", |
43 | "service.disabledHandler.action" : "Enable {name}", | 43 | "service.disabledHandler.action" : "Zapnout {name}", |
44 | "service.disabledHandler.headline" : "{name} is disabled", | 44 | "service.disabledHandler.headline" : "{name} je vypnutý", |
45 | "services.getStarted" : "ZaÄnÄ›me", | 45 | "services.getStarted" : "ZaÄnÄ›me", |
46 | "services.welcome" : "VÃtejte v programu Franz", | 46 | "services.welcome" : "VÃtejte v programu Franz", |
47 | "settings.account.account.editButton" : "Upravit úÄet", | 47 | "settings.account.account.editButton" : "Upravit úÄet", |
48 | "settings.account.accountType.basic" : "Základnà úÄet", | 48 | "settings.account.accountType.basic" : "Základnà úÄet", |
49 | "settings.account.accountType.premium" : "Prémiový úÄet podporovatele", | 49 | "settings.account.accountType.premium" : "Prémiový úÄet podporovatele", |
50 | "settings.account.buttonSave" : "Aktualizovat profil", | 50 | "settings.account.buttonSave" : "Aktualizovat profil", |
51 | "settings.account.deleteAccount" : "Smazat úÄet", | ||
52 | "settings.account.deleteEmailSent" : "Na váš mail byl odeslán email s odkazem pro potvrzenà smazánà úÄtu. Váš úÄet a data poté nepůjde obnovit!", | ||
53 | "settings.account.deleteInfo" : "Pokud již nepotÅ™ebujete váš Franz úÄet, můžete zde váš úÄet, a vÅ¡echna data v nÄ›m, smazat.", | ||
51 | "settings.account.headline" : "ÚÄet", | 54 | "settings.account.headline" : "ÚÄet", |
52 | "settings.account.headlineAccount" : "Informace o úÄtu", | 55 | "settings.account.headlineAccount" : "Informace o úÄtu", |
56 | "settings.account.headlineDangerZone" : "NebezpeÄná zóna", | ||
53 | "settings.account.headlineInvoices" : "Faktury", | 57 | "settings.account.headlineInvoices" : "Faktury", |
54 | "settings.account.headlinePassword" : "Změnit heslo", | 58 | "settings.account.headlinePassword" : "Změnit heslo", |
55 | "settings.account.headlineProfile" : "Aktualizovat profil", | 59 | "settings.account.headlineProfile" : "Aktualizovat profil", |
@@ -64,26 +68,30 @@ | |||
64 | "settings.account.successInfo" : "Vaše změny byly uloženy", | 68 | "settings.account.successInfo" : "Vaše změny byly uloženy", |
65 | "settings.account.tryReloadUserInfoRequest" : "Zkusit opět", | 69 | "settings.account.tryReloadUserInfoRequest" : "Zkusit opět", |
66 | "settings.account.userInfoRequestFailed" : "Nelze naÄÃst informace o uživateli.", | 70 | "settings.account.userInfoRequestFailed" : "Nelze naÄÃst informace o uživateli.", |
71 | "settings.app.buttonClearAllCache" : "Vyprázdnit mezipaměti", | ||
67 | "settings.app.buttonInstallUpdate" : "Restartovat a nainstalovat aktualizace", | 72 | "settings.app.buttonInstallUpdate" : "Restartovat a nainstalovat aktualizace", |
68 | "settings.app.buttonSearchForUpdate" : "Zkontrolovat aktualizace", | 73 | "settings.app.buttonSearchForUpdate" : "Zkontrolovat aktualizace", |
74 | "settings.app.cacheInfo" : "Franz momentálnÄ› použÃvá {size} mÃsta na disku.", | ||
69 | "settings.app.currentVersion" : "Aktuálnà verze:", | 75 | "settings.app.currentVersion" : "Aktuálnà verze:", |
70 | "settings.app.form.autoLaunchInBackground" : "Spustit na pozadÃ", | 76 | "settings.app.form.autoLaunchInBackground" : "Spustit na pozadÃ", |
71 | "settings.app.form.autoLaunchOnStart" : "Spustit Franz při startu", | 77 | "settings.app.form.autoLaunchOnStart" : "Spustit Franz při startu", |
72 | "settings.app.form.beta" : "Zahrnout beta verze", | 78 | "settings.app.form.beta" : "Zahrnout beta verze", |
73 | "settings.app.form.enableSpellchecking" : "Enable spell checking", | 79 | "settings.app.form.enableSpellchecking" : "Zapnout kontrolu pravopisu", |
74 | "settings.app.form.enableSystemTray" : "Zobrazit Franz v systémové liště", | 80 | "settings.app.form.enableSystemTray" : "Zobrazit Franz v systémové liště", |
75 | "settings.app.form.language" : "Jazyk", | 81 | "settings.app.form.language" : "Jazyk", |
76 | "settings.app.form.minimizeToSystemTray" : "Minimalizovat Franz do systémové lišty", | 82 | "settings.app.form.minimizeToSystemTray" : "Minimalizovat Franz do systémové lišty", |
77 | "settings.app.form.runInBackground" : "Ponechat Franze v pozadà pÅ™i zavÃránà okna", | 83 | "settings.app.form.runInBackground" : "Ponechat Franze v pozadà pÅ™i zavÃránà okna", |
78 | "settings.app.form.showDisabledServices" : "Display disabled services tabs", | 84 | "settings.app.form.showDisabledServices" : "Zobrazit záložky vypnutých služeb", |
85 | "settings.app.form.showMessagesBadgesWhenMuted" : "Zobrazit odznak pro nepÅ™eÄtené zprávy když jsou upozornÄ›nà vypnutá", | ||
79 | "settings.app.headline" : "NastavenÃ", | 86 | "settings.app.headline" : "NastavenÃ", |
80 | "settings.app.headlineAdvanced" : "Advanced", | 87 | "settings.app.headlineAdvanced" : "PokroÄilé", |
81 | "settings.app.headlineAppearance" : "Appearance", | 88 | "settings.app.headlineAppearance" : "Vzhled", |
82 | "settings.app.headlineGeneral" : "Obecné", | 89 | "settings.app.headlineGeneral" : "Obecné", |
83 | "settings.app.headlineLanguage" : "Jazyk", | 90 | "settings.app.headlineLanguage" : "Jazyk", |
84 | "settings.app.headlineUpdates" : "Aktualizace", | 91 | "settings.app.headlineUpdates" : "Aktualizace", |
85 | "settings.app.restartRequired" : "Changes require restart", | 92 | "settings.app.restartRequired" : "Změny vyžadujà restart", |
86 | "settings.app.translationHelp" : "Help us to translate Franz into your language.", | 93 | "settings.app.subheadlineCache" : "Mezipaměť", |
94 | "settings.app.translationHelp" : "Pomozte nám přeložit Franz do svého jazyka.", | ||
87 | "settings.app.updateStatusAvailable" : "Aktualizace k dispozici, stahovánÃ...", | 95 | "settings.app.updateStatusAvailable" : "Aktualizace k dispozici, stahovánÃ...", |
88 | "settings.app.updateStatusSearching" : "Hledá aktualizace", | 96 | "settings.app.updateStatusSearching" : "Hledá aktualizace", |
89 | "settings.app.updateStatusUpToDate" : "PoužÃváte nejnovÄ›jÅ¡Ã verzi programu Franz", | 97 | "settings.app.updateStatusUpToDate" : "PoužÃváte nejnovÄ›jÅ¡Ã verzi programu Franz", |
@@ -95,10 +103,11 @@ | |||
95 | "settings.recipes.all" : "Všechny služby", | 103 | "settings.recipes.all" : "Všechny služby", |
96 | "settings.recipes.dev" : "Vývoj", | 104 | "settings.recipes.dev" : "Vývoj", |
97 | "settings.recipes.headline" : "Dostupné služby", | 105 | "settings.recipes.headline" : "Dostupné služby", |
98 | "settings.recipes.missingService" : "Missing a service?", | 106 | "settings.recipes.missingService" : "ChybÄ›jÃcà služba?", |
99 | "settings.recipes.mostPopular" : "NejpopulárnÄ›jÅ¡Ã", | 107 | "settings.recipes.mostPopular" : "NejpopulárnÄ›jÅ¡Ã", |
100 | "settings.recipes.nothingFound" : "Je nám lÃto, ale žádná služba neodpovÃdá vaÅ¡emu hledanému výrazu.", | 108 | "settings.recipes.nothingFound" : "Je nám lÃto, ale žádná služba neodpovÃdá vaÅ¡emu hledanému výrazu.", |
101 | "settings.recipes.servicesSuccessfulAddedInfo" : "Služba byla úspěšně přidána", | 109 | "settings.recipes.servicesSuccessfulAddedInfo" : "Služba byla úspěšně přidána", |
110 | "settings.searchService" : "Vyhledat službu", | ||
102 | "settings.service.error.goBack" : "Zpět na služby", | 111 | "settings.service.error.goBack" : "Zpět na služby", |
103 | "settings.service.error.headline" : "Chyba", | 112 | "settings.service.error.headline" : "Chyba", |
104 | "settings.service.error.message" : "Nelze naÄÃst službu.", | 113 | "settings.service.error.message" : "Nelze naÄÃst službu.", |
@@ -110,24 +119,32 @@ | |||
110 | "settings.service.form.customUrlValidationError" : "Nepodařilo se ověřit vlastnà server {name}.", | 119 | "settings.service.form.customUrlValidationError" : "Nepodařilo se ověřit vlastnà server {name}.", |
111 | "settings.service.form.deleteButton" : "Odstranit službu", | 120 | "settings.service.form.deleteButton" : "Odstranit službu", |
112 | "settings.service.form.editServiceHeadline" : "Upravit {name}", | 121 | "settings.service.form.editServiceHeadline" : "Upravit {name}", |
113 | "settings.service.form.enableAudio" : "Enable audio", | 122 | "settings.service.form.enableAudio" : "Zapnout zvuk", |
123 | "settings.service.form.enableBadge" : "Ukázat odznaky nepÅ™eÄtených zpráv", | ||
114 | "settings.service.form.enableNotification" : "Povolit upozornÄ›nÃ", | 124 | "settings.service.form.enableNotification" : "Povolit upozornÄ›nÃ", |
115 | "settings.service.form.enableService" : "Povolit službu", | 125 | "settings.service.form.enableService" : "Povolit službu", |
126 | "settings.service.form.headlineBadges" : "Odznaky nepÅ™eÄtených zpráv", | ||
127 | "settings.service.form.headlineGeneral" : "Obecné", | ||
128 | "settings.service.form.headlineNotifications" : "UpozornÄ›nÃ", | ||
129 | "settings.service.form.icon" : "Vlastnà ikona", | ||
130 | "settings.service.form.iconDelete" : "Smazat", | ||
131 | "settings.service.form.iconUpload" : "Přesuňte váš obrázek, nebo klepněte sem", | ||
116 | "settings.service.form.indirectMessageInfo" : "Budete informováni o všech nových zprávách v kanálu, nikoliv pouze @název, @kanál, @kde, ...", | 132 | "settings.service.form.indirectMessageInfo" : "Budete informováni o všech nových zprávách v kanálu, nikoliv pouze @název, @kanál, @kde, ...", |
117 | "settings.service.form.indirectMessages" : "Zobrazovat znak zprávy pro všechny nové zprávy", | 133 | "settings.service.form.indirectMessages" : "Zobrazovat znak zprávy pro všechny nové zprávy", |
118 | "settings.service.form.isMutedInfo" : "When disabled, all notification sounds and audio playback are muted", | 134 | "settings.service.form.isMutedInfo" : "Pokud je vypnuto, všechny zvuky notifikacà a jiného audia budou ztišeny", |
119 | "settings.service.form.name" : "Jméno", | 135 | "settings.service.form.name" : "Jméno", |
120 | "settings.service.form.saveButton" : "Uložit službu", | 136 | "settings.service.form.saveButton" : "Uložit službu", |
121 | "settings.service.form.tabHosted" : "Hostováno", | 137 | "settings.service.form.tabHosted" : "Hostováno", |
122 | "settings.service.form.tabOnPremise" : "SamostatnÄ› hostované âï¸", | 138 | "settings.service.form.tabOnPremise" : "SamostatnÄ› hostované âï¸", |
123 | "settings.service.form.team" : "Tým", | 139 | "settings.service.form.team" : "Tým", |
140 | "settings.service.form.useHostedService" : "Použijte hostovanou {name} službu.", | ||
124 | "settings.service.form.yourServices" : "Vaše služby", | 141 | "settings.service.form.yourServices" : "Vaše služby", |
125 | "settings.services.deletedInfo" : "Služba byla odstraněna", | 142 | "settings.services.deletedInfo" : "Služba byla odstraněna", |
126 | "settings.services.discoverServices" : "Objevte služby", | 143 | "settings.services.discoverServices" : "Objevte služby", |
127 | "settings.services.headline" : "Vaše služby", | 144 | "settings.services.headline" : "Vaše služby", |
128 | "settings.services.noServicesAdded" : "Doposud jste nepřidali žádné služby.", | 145 | "settings.services.noServicesAdded" : "Doposud jste nepřidali žádné služby.", |
129 | "settings.services.tooltip.isDisabled" : "Služba je zakázána", | 146 | "settings.services.tooltip.isDisabled" : "Služba je zakázána", |
130 | "settings.services.tooltip.isMuted" : "All sounds are muted", | 147 | "settings.services.tooltip.isMuted" : "Všechny zvuky jsou ztišeny", |
131 | "settings.services.tooltip.notificationsDisabled" : "Oznámenà jsou zakázána", | 148 | "settings.services.tooltip.notificationsDisabled" : "Oznámenà jsou zakázána", |
132 | "settings.services.updatedInfo" : "Vaše změny byly uloženy", | 149 | "settings.services.updatedInfo" : "Vaše změny byly uloženy", |
133 | "settings.user.form.accountType.company" : "SpoleÄnost", | 150 | "settings.user.form.accountType.company" : "SpoleÄnost", |
@@ -136,26 +153,26 @@ | |||
136 | "settings.user.form.accountType.non-profit" : "Nezisková organizace", | 153 | "settings.user.form.accountType.non-profit" : "Nezisková organizace", |
137 | "settings.user.form.currentPassword" : "Aktuálnà heslo", | 154 | "settings.user.form.currentPassword" : "Aktuálnà heslo", |
138 | "settings.user.form.email" : "Email", | 155 | "settings.user.form.email" : "Email", |
139 | "settings.user.form.firstname" : "First Name", | 156 | "settings.user.form.firstname" : "Jméno", |
140 | "settings.user.form.lastname" : "Last Name", | 157 | "settings.user.form.lastname" : "PÅ™ÃjmenÃ", |
141 | "settings.user.form.newPassword" : "Nové heslo", | 158 | "settings.user.form.newPassword" : "Nové heslo", |
142 | "sidebar.addNewService" : "Přidat novou službu", | 159 | "sidebar.addNewService" : "Přidat novou službu", |
143 | "sidebar.mute" : "Disable audio", | 160 | "sidebar.muteApp" : "Vypnout upozorněnà a zvuky", |
144 | "sidebar.settings" : "NastavenÃ", | 161 | "sidebar.settings" : "NastavenÃ", |
145 | "sidebar.unmute" : "Enable audio", | 162 | "sidebar.unmuteApp" : "Zapnout upozorněnà a zvuky", |
146 | "signup.company.label" : "SpoleÄnost", | 163 | "signup.company.label" : "SpoleÄnost", |
147 | "signup.email.label" : "Emailová adresa", | 164 | "signup.email.label" : "Emailová adresa", |
148 | "signup.emailDuplicate" : "Uživatel s touto emailovou adresou již existuje", | 165 | "signup.emailDuplicate" : "Uživatel s touto emailovou adresou již existuje", |
149 | "signup.firstname.label" : "First Name", | 166 | "signup.firstname.label" : "Jméno", |
150 | "signup.headline" : "Přihlásit se", | 167 | "signup.headline" : "Přihlásit se", |
151 | "signup.lastname.label" : "Last Name", | 168 | "signup.lastname.label" : "PÅ™ÃjmenÃ", |
152 | "signup.legal.info" : "VytvoÅ™enÃm úÄtu Franz souhlasÃte s", | 169 | "signup.legal.info" : "VytvoÅ™enÃm úÄtu Franz souhlasÃte s", |
153 | "signup.legal.privacy" : "Prohlášenà o ochranÄ› soukromÃ", | 170 | "signup.legal.privacy" : "Prohlášenà o ochranÄ› soukromÃ", |
154 | "signup.legal.terms" : "PodmÃnky služby", | 171 | "signup.legal.terms" : "PodmÃnky služby", |
155 | "signup.link.login" : "Již máte úÄet, pÅ™ihlásit se?", | 172 | "signup.link.login" : "Již máte úÄet, pÅ™ihlásit se?", |
156 | "signup.password.label" : "Heslo", | 173 | "signup.password.label" : "Heslo", |
157 | "signup.submit.label" : "VytvoÅ™it úÄet", | 174 | "signup.submit.label" : "VytvoÅ™it úÄet", |
158 | "subscription.euTaxInfo" : "EU residents: local sales tax may apply", | 175 | "subscription.euTaxInfo" : "Pro obyvatelé EU: mohou být aplikovány lokálnà daně", |
159 | "subscription.features.ads" : "Žádné reklamy, nikdy!", | 176 | "subscription.features.ads" : "Žádné reklamy, nikdy!", |
160 | "subscription.features.comingSoon" : "již brzy", | 177 | "subscription.features.comingSoon" : "již brzy", |
161 | "subscription.features.customServices" : "Privátnà služby pro vás a váš tým", | 178 | "subscription.features.customServices" : "Privátnà služby pro vás a váš tým", |
@@ -178,13 +195,13 @@ | |||
178 | "subscriptionPopup.buttonCancel" : "Zrušit", | 195 | "subscriptionPopup.buttonCancel" : "Zrušit", |
179 | "subscriptionPopup.buttonDone" : "DokonÄit", | 196 | "subscriptionPopup.buttonDone" : "DokonÄit", |
180 | "tabs.item.deleteService" : "Odstranit službu", | 197 | "tabs.item.deleteService" : "Odstranit službu", |
181 | "tabs.item.disableAudio" : "Disable audio", | 198 | "tabs.item.disableAudio" : "Vypnout zvuk", |
182 | "tabs.item.disableNotifications" : "Zakázat upozornÄ›nÃ", | 199 | "tabs.item.disableNotifications" : "Zakázat upozornÄ›nÃ", |
183 | "tabs.item.disableService" : "Zakázat službu", | 200 | "tabs.item.disableService" : "Zakázat službu", |
184 | "tabs.item.edit" : "Upravit", | 201 | "tabs.item.edit" : "Upravit", |
185 | "tabs.item.enableAudio" : "Enable audio", | 202 | "tabs.item.enableAudio" : "Zapnout zvuk", |
186 | "tabs.item.enableNotification" : "Povolit oznamovánÃ", | 203 | "tabs.item.enableNotification" : "Povolit oznamovánÃ", |
187 | "tabs.item.enableService" : "Povolit službu", | 204 | "tabs.item.enableService" : "Zapnout službu", |
188 | "tabs.item.reload" : "Obnovit", | 205 | "tabs.item.reload" : "Obnovit", |
189 | "welcome.loginButton" : "PÅ™ihlášenà do vaÅ¡eho úÄtu", | 206 | "welcome.loginButton" : "PÅ™ihlášenà do vaÅ¡eho úÄtu", |
190 | "welcome.signupButton" : "VytvoÅ™it úÄet zdarma", | 207 | "welcome.signupButton" : "VytvoÅ™it úÄet zdarma", |
diff --git a/src/i18n/locales/de.json b/src/i18n/locales/de.json index cdfce9d55..1ea0554ba 100644 --- a/src/i18n/locales/de.json +++ b/src/i18n/locales/de.json | |||
@@ -1,21 +1,21 @@ | |||
1 | { | 1 | { |
2 | "global.api.unhealthy" : "Verbindung mit dem Franz Online Service fehlgeschlagen.", | 2 | "global.api.unhealthy" : "Verbindung mit dem Franz Online Service fehlgeschlagen", |
3 | "global.notConnectedToTheInternet" : "Du bist nicht mit dem Internet verbunden.", | 3 | "global.notConnectedToTheInternet" : "Du bist nicht mit dem Internet verbunden.", |
4 | "import.headline" : "Importiere deine Franz 4 Dienste", | 4 | "import.headline" : "Deine Franz 4 Dienste importieren", |
5 | "import.notSupportedHeadline" : "Dienste, die noch nicht von Franz 5 unterstützt werden", | 5 | "import.notSupportedHeadline" : "Dienste, die noch nicht von Franz 5 unterstützt werden", |
6 | "import.skip.label" : "Ich möchte meine Dienste manuell hinzufügen", | 6 | "import.skip.label" : "Ich möchte Dienste selbst hinzufügen", |
7 | "import.submit.label" : "Dienste importieren", | 7 | "import.submit.label" : "Dienste importieren", |
8 | "infobar.buttonChangelog" : "What is new?", | 8 | "infobar.buttonChangelog" : "Was gibt es neues?", |
9 | "infobar.buttonInstallUpdate" : "Neustarten & Update installieren", | 9 | "infobar.buttonInstallUpdate" : "Neustarten & Update installieren", |
10 | "infobar.buttonReloadServices" : "Dienste neu laden", | 10 | "infobar.buttonReloadServices" : "Dienste neuladen", |
11 | "infobar.requiredRequestsFailed" : "Dienste und Benutzerinformationen konnten nicht geladen werden", | 11 | "infobar.requiredRequestsFailed" : "Dienste und Benutzerinformationen konnten nicht geladen werden", |
12 | "infobar.servicesUpdated" : "Deine Dienste wurden aktualisiert.", | 12 | "infobar.servicesUpdated" : "Deine Dienste wurden aktualisiert.", |
13 | "infobar.updateAvailable" : "Eine neue Version von Franz ist verfügbar.", | 13 | "infobar.updateAvailable" : "Eine neue Version von Franz ist verfügbar.", |
14 | "invite.email.label" : "E-Mail Adresse", | 14 | "invite.email.label" : "E-Mail Adresse", |
15 | "invite.headline.friends" : "Lade 3 Freunde oder Kollegen ein", | 15 | "invite.headline.friends" : "3 Freunde oder Kollegen einladen", |
16 | "invite.name.label" : "Name", | 16 | "invite.name.label" : "Name", |
17 | "invite.skip.label" : "Ich möchte das später tun", | 17 | "invite.skip.label" : "Ich möchte das später tun", |
18 | "invite.submit.label" : "Einladungen senden", | 18 | "invite.submit.label" : "Einladungen schicken", |
19 | "login.email.label" : "E-Mail Adresse", | 19 | "login.email.label" : "E-Mail Adresse", |
20 | "login.headline" : "Anmelden", | 20 | "login.headline" : "Anmelden", |
21 | "login.invalidCredentials" : "E-Mail Adresse oder Passwort ungültig", | 21 | "login.invalidCredentials" : "E-Mail Adresse oder Passwort ungültig", |
@@ -27,17 +27,17 @@ | |||
27 | "login.tokenExpired" : "Deine Sitzung ist abgelaufen, bitte melde dich erneut an.", | 27 | "login.tokenExpired" : "Deine Sitzung ist abgelaufen, bitte melde dich erneut an.", |
28 | "password.email.label" : "E-Mail Adresse", | 28 | "password.email.label" : "E-Mail Adresse", |
29 | "password.headline" : "Passwort zurücksetzen", | 29 | "password.headline" : "Passwort zurücksetzen", |
30 | "password.link.login" : "Anmelden", | 30 | "password.link.login" : "An deinem Konto anmelden", |
31 | "password.link.signup" : "Kostenloses Konto erstellen", | 31 | "password.link.signup" : "Kostenloses Konto erstellen", |
32 | "password.noUser" : "Es wurde kein Benutzer mit dieser E-Mail-Adresse gefunden.", | 32 | "password.noUser" : "Es wurde kein Benutzer mit dieser E-Mail-Adresse gefunden.", |
33 | "password.submit.label" : "Absenden", | 33 | "password.submit.label" : "Absenden", |
34 | "password.successInfo" : "Wir haben dir ein E-Mail mit weiteren Anweisungen geschickt.", | 34 | "password.successInfo" : "Wir haben dir eine E-Mail mit weiteren Anweisungen geschickt.", |
35 | "pricing.headline" : "Unterstütze Franz", | 35 | "pricing.headline" : "Franz unterstützen", |
36 | "pricing.link.skipPayment" : "Ich möchte die Entwicklung von Franz nicht unterstützen.", | 36 | "pricing.link.skipPayment" : "Ich möchte die Entwicklung von Franz nicht unterstützen.", |
37 | "pricing.submit.label" : "Ich möchte die Entwicklung von Franz unterstützen.", | 37 | "pricing.submit.label" : "Ich möchte die Entwicklung von Franz unterstützen.", |
38 | "pricing.support.label" : "Wie möchtest du Franz unterstützen?", | 38 | "pricing.support.label" : "Wie möchtest du Franz unterstützen?", |
39 | "service.crashHandler.action" : "Neu laden", | 39 | "service.crashHandler.action" : "{name} neuladen", |
40 | "service.crashHandler.autoReload" : "{name} wird automatisch wiederhergestellt in {seconds} sekunden", | 40 | "service.crashHandler.autoReload" : "{name} wird in {seconds} Sekunden automatisch wiederhergestellt", |
41 | "service.crashHandler.headline" : "Oh nein!", | 41 | "service.crashHandler.headline" : "Oh nein!", |
42 | "service.crashHandler.text" : "{name} hat einen Fehler verursacht.", | 42 | "service.crashHandler.text" : "{name} hat einen Fehler verursacht.", |
43 | "service.disabledHandler.action" : "{name} aktivieren", | 43 | "service.disabledHandler.action" : "{name} aktivieren", |
@@ -48,24 +48,30 @@ | |||
48 | "settings.account.accountType.basic" : "Basis Konto", | 48 | "settings.account.accountType.basic" : "Basis Konto", |
49 | "settings.account.accountType.premium" : "Premium-Supporter Konto", | 49 | "settings.account.accountType.premium" : "Premium-Supporter Konto", |
50 | "settings.account.buttonSave" : "Profil aktualisieren", | 50 | "settings.account.buttonSave" : "Profil aktualisieren", |
51 | "settings.account.deleteAccount" : "Benutzerkonto löschen", | ||
52 | "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!", | ||
53 | "settings.account.deleteInfo" : "Hier kannst du dein Franz Benutzerkonto, und alle dazugehörigen Daten, löschen.", | ||
51 | "settings.account.headline" : "Konto", | 54 | "settings.account.headline" : "Konto", |
52 | "settings.account.headlineAccount" : "Konto Informationen", | 55 | "settings.account.headlineAccount" : "Konto Informationen", |
56 | "settings.account.headlineDangerZone" : "Benutzerkonto löschen", | ||
53 | "settings.account.headlineInvoices" : "Rechnungen", | 57 | "settings.account.headlineInvoices" : "Rechnungen", |
54 | "settings.account.headlinePassword" : "Passwort ändern", | 58 | "settings.account.headlinePassword" : "Passwort ändern", |
55 | "settings.account.headlineProfile" : "Profil aktualisieren", | 59 | "settings.account.headlineProfile" : "Profil aktualisieren", |
56 | "settings.account.headlineSubscription" : "Dein Abonnement", | 60 | "settings.account.headlineSubscription" : "Dein Abonnement", |
57 | "settings.account.headlineUpgrade" : "Upgrade dein Konto & unterstütze Franz", | 61 | "settings.account.headlineUpgrade" : "Dein Konto upgraden & Franz unterstützen", |
58 | "settings.account.invoiceDownload" : "Download", | 62 | "settings.account.invoiceDownload" : "Herunterladen", |
59 | "settings.account.manageSubscription.label" : "Verwalte Dein Abonnement", | 63 | "settings.account.manageSubscription.label" : "Dein Abonnement verwalten", |
60 | "settings.account.mining.active" : "Du führst gerade {hashes} Berechnungen pro Sekunde aus.", | 64 | "settings.account.mining.active" : "Du führst gerade {hashes} Berechnungen pro Sekunde aus.", |
61 | "settings.account.mining.cancel" : "Mining abbrechen", | 65 | "settings.account.mining.cancel" : "Mining abbrechen", |
62 | "settings.account.mining.moreInformation" : "Weitere Informationen", | 66 | "settings.account.mining.moreInformation" : "Weitere Informationen", |
63 | "settings.account.mining.thankyou" : "Vielen Dank, dass du Franz mit deiner Rechenleistung unterstützt.", | 67 | "settings.account.mining.thankyou" : "Vielen Dank, dass du Franz mit deiner Rechenleistung unterstützt.", |
64 | "settings.account.successInfo" : "Deine Änderungen wurden gespeichert.", | 68 | "settings.account.successInfo" : "Deine Änderungen wurden gespeichert", |
65 | "settings.account.tryReloadUserInfoRequest" : "Erneut versuchen", | 69 | "settings.account.tryReloadUserInfoRequest" : "Erneut versuchen", |
66 | "settings.account.userInfoRequestFailed" : "Benutzerinformationen konnten nicht geladen werden", | 70 | "settings.account.userInfoRequestFailed" : "Benutzerinformationen konnten nicht geladen werden", |
71 | "settings.app.buttonClearAllCache" : "Cache leeren", | ||
67 | "settings.app.buttonInstallUpdate" : "Neustarten & Update installieren", | 72 | "settings.app.buttonInstallUpdate" : "Neustarten & Update installieren", |
68 | "settings.app.buttonSearchForUpdate" : "Nach Updates suchen", | 73 | "settings.app.buttonSearchForUpdate" : "Nach Updates suchen", |
74 | "settings.app.cacheInfo" : "Der Franz Cache belegt derzeit {size}.", | ||
69 | "settings.app.currentVersion" : "Aktuelle Version:", | 75 | "settings.app.currentVersion" : "Aktuelle Version:", |
70 | "settings.app.form.autoLaunchInBackground" : "Im Hintergrund öffnen", | 76 | "settings.app.form.autoLaunchInBackground" : "Im Hintergrund öffnen", |
71 | "settings.app.form.autoLaunchOnStart" : "Franz beim Systemstart ausführen", | 77 | "settings.app.form.autoLaunchOnStart" : "Franz beim Systemstart ausführen", |
@@ -76,14 +82,16 @@ | |||
76 | "settings.app.form.minimizeToSystemTray" : "Franz in die Systemleiste minimieren", | 82 | "settings.app.form.minimizeToSystemTray" : "Franz in die Systemleiste minimieren", |
77 | "settings.app.form.runInBackground" : "Franz im Hintergrund behalten, wenn das Fenster geschlossen wird", | 83 | "settings.app.form.runInBackground" : "Franz im Hintergrund behalten, wenn das Fenster geschlossen wird", |
78 | "settings.app.form.showDisabledServices" : "Deaktivierte Services-Tabs anzeigen", | 84 | "settings.app.form.showDisabledServices" : "Deaktivierte Services-Tabs anzeigen", |
85 | "settings.app.form.showMessagesBadgesWhenMuted" : "Ungelesene Nachrichten zeigen, wenn die Benachrichtigungen deaktiviert sind", | ||
79 | "settings.app.headline" : "Einstellungen", | 86 | "settings.app.headline" : "Einstellungen", |
80 | "settings.app.headlineAdvanced" : "Erweitert", | 87 | "settings.app.headlineAdvanced" : "Erweitert", |
81 | "settings.app.headlineAppearance" : "Darstellung", | 88 | "settings.app.headlineAppearance" : "Darstellung", |
82 | "settings.app.headlineGeneral" : "Allgemein", | 89 | "settings.app.headlineGeneral" : "Allgemeines", |
83 | "settings.app.headlineLanguage" : "Sprache", | 90 | "settings.app.headlineLanguage" : "Sprache", |
84 | "settings.app.headlineUpdates" : "Updates", | 91 | "settings.app.headlineUpdates" : "Updates", |
85 | "settings.app.restartRequired" : "Änderungen werden erst nach einem Neustart wirksam. ", | 92 | "settings.app.restartRequired" : "Änderungen werden erst nach einem Neustart wirksam. ", |
86 | "settings.app.translationHelp" : "Help us to translate Franz into your language.", | 93 | "settings.app.subheadlineCache" : "Cache", |
94 | "settings.app.translationHelp" : "Hilf uns, Franz in deine Sprache zu übersetzen.", | ||
87 | "settings.app.updateStatusAvailable" : "Update verfügbar, herunterladen...", | 95 | "settings.app.updateStatusAvailable" : "Update verfügbar, herunterladen...", |
88 | "settings.app.updateStatusSearching" : "Suche nach Updates", | 96 | "settings.app.updateStatusSearching" : "Suche nach Updates", |
89 | "settings.app.updateStatusUpToDate" : "Du nutzt die aktuellste Version von Franz", | 97 | "settings.app.updateStatusUpToDate" : "Du nutzt die aktuellste Version von Franz", |
@@ -95,10 +103,11 @@ | |||
95 | "settings.recipes.all" : "Alle Dienste", | 103 | "settings.recipes.all" : "Alle Dienste", |
96 | "settings.recipes.dev" : "Entwicklung", | 104 | "settings.recipes.dev" : "Entwicklung", |
97 | "settings.recipes.headline" : "Verfügbare Dienste", | 105 | "settings.recipes.headline" : "Verfügbare Dienste", |
98 | "settings.recipes.missingService" : "Missing a service?", | 106 | "settings.recipes.missingService" : "Fehlt ein Service?", |
99 | "settings.recipes.mostPopular" : "Am beliebtesten", | 107 | "settings.recipes.mostPopular" : "Am beliebtesten", |
100 | "settings.recipes.nothingFound" : "Entschuldigung, aber kein Dienst entspricht deiner Suchanfrage.", | 108 | "settings.recipes.nothingFound" : "Entschuldigung, aber kein Dienst entspricht deiner Suchanfrage.", |
101 | "settings.recipes.servicesSuccessfulAddedInfo" : "Dienst erfolgreich hinzugefügt", | 109 | "settings.recipes.servicesSuccessfulAddedInfo" : "Dienst erfolgreich hinzugefügt", |
110 | "settings.searchService" : "Service suchen", | ||
102 | "settings.service.error.goBack" : "Zurück zu den Diensten", | 111 | "settings.service.error.goBack" : "Zurück zu den Diensten", |
103 | "settings.service.error.headline" : "Fehler", | 112 | "settings.service.error.headline" : "Fehler", |
104 | "settings.service.error.message" : "Das Dienst-Rezept konnte nicht geladen werden.", | 113 | "settings.service.error.message" : "Das Dienst-Rezept konnte nicht geladen werden.", |
@@ -106,13 +115,20 @@ | |||
106 | "settings.service.form.availableServices" : "Verfügbare Dienste", | 115 | "settings.service.form.availableServices" : "Verfügbare Dienste", |
107 | "settings.service.form.customUrl" : "Eigener Server", | 116 | "settings.service.form.customUrl" : "Eigener Server", |
108 | "settings.service.form.customUrlPremiumInfo" : "Um einen selbst gehosteten Dienst hinzuzufügen, brauchst du ein Franz Premium-Supporter Konto.", | 117 | "settings.service.form.customUrlPremiumInfo" : "Um einen selbst gehosteten Dienst hinzuzufügen, brauchst du ein Franz Premium-Supporter Konto.", |
109 | "settings.service.form.customUrlUpgradeAccount" : "Upgrade dein Konto", | 118 | "settings.service.form.customUrlUpgradeAccount" : "Dein Konto upgraden", |
110 | "settings.service.form.customUrlValidationError" : "Dein {name}-Server konnte nicht verifiziert werden.\",", | 119 | "settings.service.form.customUrlValidationError" : "Dein {name}-Server konnte nicht verifiziert werden.", |
111 | "settings.service.form.deleteButton" : "Dienst entfernen", | 120 | "settings.service.form.deleteButton" : "Dienst löschen", |
112 | "settings.service.form.editServiceHeadline" : "{name} bearbeiten", | 121 | "settings.service.form.editServiceHeadline" : "{name} bearbeiten", |
113 | "settings.service.form.enableAudio" : "Audio aktivieren", | 122 | "settings.service.form.enableAudio" : "Audio aktivieren", |
123 | "settings.service.form.enableBadge" : "Nachrichten-Badge anzeigen", | ||
114 | "settings.service.form.enableNotification" : "Benachrichtigungen aktivieren", | 124 | "settings.service.form.enableNotification" : "Benachrichtigungen aktivieren", |
115 | "settings.service.form.enableService" : "Dienst aktivieren", | 125 | "settings.service.form.enableService" : "Dienst aktivieren", |
126 | "settings.service.form.headlineBadges" : "Nachrichten-Badge", | ||
127 | "settings.service.form.headlineGeneral" : "Allgemeines", | ||
128 | "settings.service.form.headlineNotifications" : "Benachrichtigungen", | ||
129 | "settings.service.form.icon" : "Icon", | ||
130 | "settings.service.form.iconDelete" : "Löschen", | ||
131 | "settings.service.form.iconUpload" : "Klicken oder Bild hierher ziehen", | ||
116 | "settings.service.form.indirectMessageInfo" : "Du wirst über alle neuen Nachrichten in einem Kanal informiert, nicht nur @username, @channel, @here, ...", | 132 | "settings.service.form.indirectMessageInfo" : "Du wirst über alle neuen Nachrichten in einem Kanal informiert, nicht nur @username, @channel, @here, ...", |
117 | "settings.service.form.indirectMessages" : "Nachrichten-Badge für alle neuen Nachrichten anzeigen", | 133 | "settings.service.form.indirectMessages" : "Nachrichten-Badge für alle neuen Nachrichten anzeigen", |
118 | "settings.service.form.isMutedInfo" : "Sämtliche Wiedergabe von Tönen wird deaktiviert", | 134 | "settings.service.form.isMutedInfo" : "Sämtliche Wiedergabe von Tönen wird deaktiviert", |
@@ -121,16 +137,17 @@ | |||
121 | "settings.service.form.tabHosted" : "Gehostet", | 137 | "settings.service.form.tabHosted" : "Gehostet", |
122 | "settings.service.form.tabOnPremise" : "Selbst gehostet âï¸", | 138 | "settings.service.form.tabOnPremise" : "Selbst gehostet âï¸", |
123 | "settings.service.form.team" : "Team", | 139 | "settings.service.form.team" : "Team", |
140 | "settings.service.form.useHostedService" : "Hosted {name} verwenden.", | ||
124 | "settings.service.form.yourServices" : "Deine Dienste", | 141 | "settings.service.form.yourServices" : "Deine Dienste", |
125 | "settings.services.deletedInfo" : "Dienst wurde entfernt", | 142 | "settings.services.deletedInfo" : "Dienst wurde gelöscht", |
126 | "settings.services.discoverServices" : "Dienste entdecken", | 143 | "settings.services.discoverServices" : "Dienste entdecken", |
127 | "settings.services.headline" : "Deine Dienste", | 144 | "settings.services.headline" : "Deine Dienste", |
128 | "settings.services.noServicesAdded" : "Du hast noch keine Dienste hinzugefügt.", | 145 | "settings.services.noServicesAdded" : "Du hast noch keine Dienste hinzugefügt.", |
129 | "settings.services.tooltip.isDisabled" : "Dienst deaktiviert", | 146 | "settings.services.tooltip.isDisabled" : "Dienst ist deaktiviert", |
130 | "settings.services.tooltip.isMuted" : "Audio ist deaktiviert", | 147 | "settings.services.tooltip.isMuted" : "Alle Töne sind deaktiviert", |
131 | "settings.services.tooltip.notificationsDisabled" : "Benachrichtigungen deaktiviert", | 148 | "settings.services.tooltip.notificationsDisabled" : "Benachrichtigungen deaktiviert", |
132 | "settings.services.updatedInfo" : "Deine Änderungen wurden gespeichert", | 149 | "settings.services.updatedInfo" : "Deine Änderungen wurden gespeichert", |
133 | "settings.user.form.accountType.company" : "Unternehmen", | 150 | "settings.user.form.accountType.company" : "Firma", |
134 | "settings.user.form.accountType.individual" : "Einzelperson", | 151 | "settings.user.form.accountType.individual" : "Einzelperson", |
135 | "settings.user.form.accountType.label" : "Konto-Typ", | 152 | "settings.user.form.accountType.label" : "Konto-Typ", |
136 | "settings.user.form.accountType.non-profit" : "Non-Profit", | 153 | "settings.user.form.accountType.non-profit" : "Non-Profit", |
@@ -139,15 +156,15 @@ | |||
139 | "settings.user.form.firstname" : "Vorname", | 156 | "settings.user.form.firstname" : "Vorname", |
140 | "settings.user.form.lastname" : "Nachname", | 157 | "settings.user.form.lastname" : "Nachname", |
141 | "settings.user.form.newPassword" : "Neues Passwort", | 158 | "settings.user.form.newPassword" : "Neues Passwort", |
142 | "sidebar.addNewService" : "!!!Add new service", | 159 | "sidebar.addNewService" : "Neuem Dienst hinzufügen", |
143 | "sidebar.mute" : "Audio deaktivieren", | 160 | "sidebar.muteApp" : "Benachrichtigungen & Audio deaktivieren", |
144 | "sidebar.settings" : "Einstellungen", | 161 | "sidebar.settings" : "Einstellungen", |
145 | "sidebar.unmute" : "Audio aktivieren", | 162 | "sidebar.unmuteApp" : "Benachrichtigungen & Audio aktivieren", |
146 | "signup.company.label" : "Unternehmen", | 163 | "signup.company.label" : "Firma", |
147 | "signup.email.label" : "E-Mail Adresse", | 164 | "signup.email.label" : "E-Mail Adresse", |
148 | "signup.emailDuplicate" : "Ein Benutzer mit dieser E-Mail Adresse existiert bereits.", | 165 | "signup.emailDuplicate" : "Es existiert bereits ein Benutzer mit dieser E-Mail Adresse.", |
149 | "signup.firstname.label" : "Vorname", | 166 | "signup.firstname.label" : "Vorname", |
150 | "signup.headline" : "Registrierung", | 167 | "signup.headline" : "Anmelden", |
151 | "signup.lastname.label" : "Nachname", | 168 | "signup.lastname.label" : "Nachname", |
152 | "signup.legal.info" : "Mit der Erstellung eines Franz Kontos akzeptierst du die", | 169 | "signup.legal.info" : "Mit der Erstellung eines Franz Kontos akzeptierst du die", |
153 | "signup.legal.privacy" : "Datenschutzerklärung", | 170 | "signup.legal.privacy" : "Datenschutzerklärung", |
@@ -155,13 +172,13 @@ | |||
155 | "signup.link.login" : "Du hast bereits ein Konto? Melde dich an.", | 172 | "signup.link.login" : "Du hast bereits ein Konto? Melde dich an.", |
156 | "signup.password.label" : "Passwort", | 173 | "signup.password.label" : "Passwort", |
157 | "signup.submit.label" : "Konto erstellen", | 174 | "signup.submit.label" : "Konto erstellen", |
158 | "subscription.euTaxInfo" : "Preise sind exklusive Steuern. ", | 175 | "subscription.euTaxInfo" : "Preise sind exklusive Steuern.", |
159 | "subscription.features.ads" : "Nie mehr Werbung!", | 176 | "subscription.features.ads" : "Nie mehr Werbung!", |
160 | "subscription.features.comingSoon" : "folgt bald", | 177 | "subscription.features.comingSoon" : "folgt bald", |
161 | "subscription.features.customServices" : "Private Dienste für dich und dein Team", | 178 | "subscription.features.customServices" : "Private Dienste für dich und dein Team", |
162 | "subscription.features.encryptedSync" : "Verschlüsselte Sitzungs-Synchronisation", | 179 | "subscription.features.encryptedSync" : "Verschlüsselte Sitzungs-Synchronisation", |
163 | "subscription.features.onpremise" : "Integration von gehosteten Diensten, wie HipChat", | 180 | "subscription.features.onpremise" : "Integration von gehosteten Diensten, wie HipChat", |
164 | "subscription.features.vpn" : "Proxy & VPN Unterstützung", | 181 | "subscription.features.vpn" : "Proxy- & VPN-Unterstützung", |
165 | "subscription.includedFeatures" : "Bezahlte Franz Premium Support Konten beinhalten", | 182 | "subscription.includedFeatures" : "Bezahlte Franz Premium Support Konten beinhalten", |
166 | "subscription.mining.experimental" : "experimentell", | 183 | "subscription.mining.experimental" : "experimentell", |
167 | "subscription.mining.headline" : "Wie funktioniert das?", | 184 | "subscription.mining.headline" : "Wie funktioniert das?", |
@@ -172,12 +189,12 @@ | |||
172 | "subscription.paymentSessionError" : "Das Zahlungs-Formular konnte nicht geladen werden.", | 189 | "subscription.paymentSessionError" : "Das Zahlungs-Formular konnte nicht geladen werden.", |
173 | "subscription.submit.label" : "Ich möchte die Entwicklung von Franz unterstützen", | 190 | "subscription.submit.label" : "Ich möchte die Entwicklung von Franz unterstützen", |
174 | "subscription.type.free" : "kostenlos", | 191 | "subscription.type.free" : "kostenlos", |
175 | "subscription.type.mining" : "Unterstütze Franz mit Rechenleistung", | 192 | "subscription.type.mining" : "Franz mit Rechenleistung unterstützen", |
176 | "subscription.type.month" : "Monat", | 193 | "subscription.type.month" : "Monat", |
177 | "subscription.type.year" : "Jahr", | 194 | "subscription.type.year" : "Jahr", |
178 | "subscriptionPopup.buttonCancel" : "Abbrechen", | 195 | "subscriptionPopup.buttonCancel" : "Abbrechen", |
179 | "subscriptionPopup.buttonDone" : "Fertig", | 196 | "subscriptionPopup.buttonDone" : "Fertig", |
180 | "tabs.item.deleteService" : "Dienst entfernen", | 197 | "tabs.item.deleteService" : "Dienst löschen", |
181 | "tabs.item.disableAudio" : "Audio deaktivieren", | 198 | "tabs.item.disableAudio" : "Audio deaktivieren", |
182 | "tabs.item.disableNotifications" : "Benachrichtigungen deaktivieren", | 199 | "tabs.item.disableNotifications" : "Benachrichtigungen deaktivieren", |
183 | "tabs.item.disableService" : "Dienst deaktivieren", | 200 | "tabs.item.disableService" : "Dienst deaktivieren", |
@@ -185,8 +202,8 @@ | |||
185 | "tabs.item.enableAudio" : "Audio aktivieren", | 202 | "tabs.item.enableAudio" : "Audio aktivieren", |
186 | "tabs.item.enableNotification" : "Benachrichtigungen aktivieren", | 203 | "tabs.item.enableNotification" : "Benachrichtigungen aktivieren", |
187 | "tabs.item.enableService" : "Dienst aktivieren", | 204 | "tabs.item.enableService" : "Dienst aktivieren", |
188 | "tabs.item.reload" : "Neu laden", | 205 | "tabs.item.reload" : "Neuladen", |
189 | "welcome.loginButton" : "Anmelden", | 206 | "welcome.loginButton" : "An deinem Konto anmelden", |
190 | "welcome.signupButton" : "Kostenloses Konto erstellen", | 207 | "welcome.signupButton" : "Kostenloses Konto erstellen", |
191 | "welcome.slogan" : "Kommunikation, die für Dich funktioniert" | 208 | "welcome.slogan" : "Kommunikation, die für dich funktioniert" |
192 | } | 209 | } |
diff --git a/src/i18n/locales/el.json b/src/i18n/locales/el.json index 5717a18b1..14c9d05ee 100644 --- a/src/i18n/locales/el.json +++ b/src/i18n/locales/el.json | |||
@@ -1,192 +1,209 @@ | |||
1 | { | 1 | { |
2 | "global.api.unhealthy" : "Can't connect to Franz online services", | 2 | "global.api.unhealthy" : "Δεν είναι δυνατή η σÏνδεση με τις online υπηÏεσίες του Franz", |
3 | "global.notConnectedToTheInternet" : "You are not connected to the internet.", | 3 | "global.notConnectedToTheInternet" : "Δεν είστε συνδεδεμÎνοι στο διαδίκτυο.", |
4 | "import.headline" : "Import your Franz 4 services", | 4 | "import.headline" : "Εισαγάγετε τις Franz 4 υπηÏεσίες σας", |
5 | "import.notSupportedHeadline" : "Services not yet supported in Franz 5", | 5 | "import.notSupportedHeadline" : "ΥπηÏεσίες που δεν υποστηÏίζονται ακόμα στο Franz 5", |
6 | "import.skip.label" : "I want add services manually", | 6 | "import.skip.label" : "ΘÎλω να Ï€ÏοσθÎσω υπηÏεσίες χειÏοκίνητα", |
7 | "import.submit.label" : "Import services", | 7 | "import.submit.label" : "Εισαγωγή υπηÏεσιών", |
8 | "infobar.buttonChangelog" : "What is new?", | 8 | "infobar.buttonChangelog" : "Τι νÎο υπάÏχει;", |
9 | "infobar.buttonInstallUpdate" : "Restart & install update", | 9 | "infobar.buttonInstallUpdate" : "Επανεκκίνηση & εγκατάσταση ενημεÏώσεων", |
10 | "infobar.buttonReloadServices" : "Reload services", | 10 | "infobar.buttonReloadServices" : "ΑνανÎωση υπηÏεσιών", |
11 | "infobar.requiredRequestsFailed" : "Could not load services and user information", | 11 | "infobar.requiredRequestsFailed" : "Δεν ήταν δυνατή η φόÏτωση υπηÏεσιών και πληÏοφοÏιών χÏηστών", |
12 | "infobar.servicesUpdated" : "Your services have been updated.", | 12 | "infobar.servicesUpdated" : "Οι υπηÏεσίες σας Îχουν ενημεÏωθεί.", |
13 | "infobar.updateAvailable" : "A new update for Franz is available.", | 13 | "infobar.updateAvailable" : "ΥπάÏχει διαθÎσιμη μια νÎα ενημÎÏωση για τον Franz.", |
14 | "invite.email.label" : "Email address", | 14 | "invite.email.label" : "ΔιεÏθυνση ηλεκτÏÎ¿Î½Î¹ÎºÎ¿Ï Ï„Î±Ï‡Ï…Î´Ïομείου", |
15 | "invite.headline.friends" : "Invite 3 of your friends or colleagues", | 15 | "invite.headline.friends" : "Î ÏοσκαλÎστε 3 από τους φίλους ή τους συναδÎλφους σας", |
16 | "invite.name.label" : "Name", | 16 | "invite.name.label" : "Όνομα", |
17 | "invite.skip.label" : "I want to do this later", | 17 | "invite.skip.label" : "ΘÎλω να το κάνω αÏγότεÏα", |
18 | "invite.submit.label" : "Send invites", | 18 | "invite.submit.label" : "Αποστολή Ï€Ïοσκλήσεων", |
19 | "login.email.label" : "Email address", | 19 | "login.email.label" : "ΔιεÏθυνση ηλεκτÏÎ¿Î½Î¹ÎºÎ¿Ï Ï„Î±Ï‡Ï…Î´Ïομείου", |
20 | "login.headline" : "Sign in", | 20 | "login.headline" : "ΣÏνδεση", |
21 | "login.invalidCredentials" : "Email or password not valid", | 21 | "login.invalidCredentials" : "Το email ή ο κωδικός Ï€Ïόσβασης δεν είναι ÎγκυÏος", |
22 | "login.link.password" : "Reset password", | 22 | "login.link.password" : "ΕπαναφοÏά ÎºÏ‰Î´Î¹ÎºÎ¿Ï Ï€Ïόσβασης", |
23 | "login.link.signup" : "Create a free account", | 23 | "login.link.signup" : "ΔημιουÏγία δωÏεάν λογαÏιασμοÏ", |
24 | "login.password.label" : "Password", | 24 | "login.password.label" : "Κωδικός Ï€Ïόσβασης", |
25 | "login.serverLogout" : "Your session expired, please login again.", | 25 | "login.serverLogout" : "Η συνεδÏία σας Îληξε, συνδεθείτε ξανά.", |
26 | "login.submit.label" : "Sign in", | 26 | "login.submit.label" : "ΣÏνδεση", |
27 | "login.tokenExpired" : "Your session expired, please login again.", | 27 | "login.tokenExpired" : "Η συνεδÏία σας Îληξε, συνδεθείτε ξανά.", |
28 | "password.email.label" : "Email address", | 28 | "password.email.label" : "ΔιεÏθυνση ηλεκτÏÎ¿Î½Î¹ÎºÎ¿Ï Ï„Î±Ï‡Ï…Î´Ïομείου", |
29 | "password.headline" : "Reset password", | 29 | "password.headline" : "ΕπαναφοÏά ÎºÏ‰Î´Î¹ÎºÎ¿Ï Ï€Ïόσβασης", |
30 | "password.link.login" : "Sign in to your account", | 30 | "password.link.login" : "ΣÏνδεση στο λογαÏιασμό σας", |
31 | "password.link.signup" : "Create a free account", | 31 | "password.link.signup" : "ΔημιουÏγία δωÏεάν λογαÏιασμοÏ", |
32 | "password.noUser" : "No user with that email address was found", | 32 | "password.noUser" : "Δεν βÏÎθηκε χÏήστης με τη συγκεκÏιμÎνη διεÏθυνση ηλεκτÏÎ¿Î½Î¹ÎºÎ¿Ï Ï„Î±Ï‡Ï…Î´Ïομείου", |
33 | "password.submit.label" : "Submit", | 33 | "password.submit.label" : "Υποβολή", |
34 | "password.successInfo" : "Please check your email", | 34 | "password.successInfo" : "ΕλÎγξτε το email σας", |
35 | "pricing.headline" : "Support Franz", | 35 | "pricing.headline" : "ΥποστηÏίξτε το Franz", |
36 | "pricing.link.skipPayment" : "I don't want to support the development of Franz.", | 36 | "pricing.link.skipPayment" : "Δεν θÎλω να βοηθήσω στην ανάπτυξη του Franz.", |
37 | "pricing.submit.label" : "I want to support the development of Franz", | 37 | "pricing.submit.label" : "ΘÎλω να βοηθήσω στην ανάπτυξη του Franz", |
38 | "pricing.support.label" : "Select your support plan", | 38 | "pricing.support.label" : "ΕπιλÎξτε το πακÎτο υποστήÏιξης", |
39 | "service.crashHandler.action" : "Reload {name}", | 39 | "service.crashHandler.action" : "ΕπαναφόÏτωση {name}", |
40 | "service.crashHandler.autoReload" : "Trying to automatically restore {name} in {seconds} seconds", | 40 | "service.crashHandler.autoReload" : "Γίνεται Ï€Ïοσπάθεια αυτόματης ανάκτησης του {name} σε {seconds} δευτεÏόλεπτα", |
41 | "service.crashHandler.headline" : "Oh no!", | 41 | "service.crashHandler.headline" : "Ω, όχι!", |
42 | "service.crashHandler.text" : "{name} has caused an error.", | 42 | "service.crashHandler.text" : "Το {name} Ï€Ïοκάλεσε Îνα σφάλμα.", |
43 | "service.disabledHandler.action" : "Enable {name}", | 43 | "service.disabledHandler.action" : "ΕνεÏγοποίηση {name}", |
44 | "service.disabledHandler.headline" : "{name} is disabled", | 44 | "service.disabledHandler.headline" : "{name} είναι απενεÏγοποιημÎνο", |
45 | "services.getStarted" : "Get started", | 45 | "services.getStarted" : "Ξεκινήστε", |
46 | "services.welcome" : "Welcome to Franz", | 46 | "services.welcome" : "Καλώς οÏίσατε στον Franz", |
47 | "settings.account.account.editButton" : "Edit account", | 47 | "settings.account.account.editButton" : "ΕπεξεÏγασία λογαÏιασμοÏ", |
48 | "settings.account.accountType.basic" : "Basic Account", | 48 | "settings.account.accountType.basic" : "Βασικός λογαÏιασμός", |
49 | "settings.account.accountType.premium" : "Premium Supporter Account", | 49 | "settings.account.accountType.premium" : "ΛογαÏιασμός Premium ΥποστηÏικτή", |
50 | "settings.account.buttonSave" : "Update profile", | 50 | "settings.account.buttonSave" : "ΕνημÎÏωση Ï€Ïοφίλ", |
51 | "settings.account.headline" : "Account", | 51 | "settings.account.deleteAccount" : "ΔιαγÏαφή λογαÏιασμοÏ", |
52 | "settings.account.headlineAccount" : "Account information", | 52 | "settings.account.deleteEmailSent" : "Έχετε λάβει Îνα email με Îναν σÏνδεσμο για την επιβεβαίωση της διαγÏαφής του λογαÏÎ¹Î±ÏƒÎ¼Î¿Ï ÏƒÎ±Ï‚. Ο λογαÏιασμός και τα δεδομÎνα σας δεν μποÏοÏν να ανακτηθοÏν!", |
53 | "settings.account.headlineInvoices" : "Invoices", | 53 | "settings.account.deleteInfo" : "Εάν δεν χÏειάζεστε πλÎον το λογαÏιασμό σας στο Franz, μποÏείτε να διαγÏάψετε το λογαÏιασμό σας και όλα τα δεδομÎνα που σχετίζονται με αυτόν εδώ.", |
54 | "settings.account.headlinePassword" : "Change password", | 54 | "settings.account.headline" : "ΛογαÏιασμός", |
55 | "settings.account.headlineProfile" : "Update profile", | 55 | "settings.account.headlineAccount" : "ΠληÏοφοÏίες λογαÏιασμοÏ", |
56 | "settings.account.headlineSubscription" : "Your subscription", | 56 | "settings.account.headlineDangerZone" : "Επικίνδυνη Ζώνη", |
57 | "settings.account.headlineUpgrade" : "Upgrade your account & support Franz", | 57 | "settings.account.headlineInvoices" : "Τιμολόγια", |
58 | "settings.account.invoiceDownload" : "Download", | 58 | "settings.account.headlinePassword" : "Αλλαγή ÎºÏ‰Î´Î¹ÎºÎ¿Ï Ï€Ïόσβασης", |
59 | "settings.account.manageSubscription.label" : "Manage your subscription", | 59 | "settings.account.headlineProfile" : "ΕνημÎÏωση Ï€Ïοφίλ", |
60 | "settings.account.mining.active" : "You are right now performing {hashes} calculations per second.", | 60 | "settings.account.headlineSubscription" : "Η συνδÏομή σας", |
61 | "settings.account.mining.cancel" : "Cancel mining", | 61 | "settings.account.headlineUpgrade" : "Αναβάθμιση του λογαÏÎ¹Î±ÏƒÎ¼Î¿Ï ÏƒÎ±Ï‚ και υποστήÏιξη Franz", |
62 | "settings.account.mining.moreInformation" : "Get more information", | 62 | "settings.account.invoiceDownload" : "Λήψη", |
63 | "settings.account.mining.thankyou" : "Thank you for supporting Franz with your processing power.", | 63 | "settings.account.manageSubscription.label" : "ΔιαχείÏιση της συνδÏομής σας", |
64 | "settings.account.successInfo" : "Your changes have been saved", | 64 | "settings.account.mining.active" : "ΤώÏα Ï€Ïαγματοποιείτε {hashes} υπολογισμοÏÏ‚ ανά δευτεÏόλεπτο.", |
65 | "settings.account.tryReloadUserInfoRequest" : "Try again", | 65 | "settings.account.mining.cancel" : "ΑκÏÏωση εξόÏυξης", |
66 | "settings.account.userInfoRequestFailed" : "Could not load user information", | 66 | "settings.account.mining.moreInformation" : "Λάβετε πεÏισσότεÏες πληÏοφοÏίες", |
67 | "settings.app.buttonInstallUpdate" : "Restart & install update", | 67 | "settings.account.mining.thankyou" : "Σας ευχαÏιστοÏμε για την υποστήÏιξη του Franz με την Î¹ÏƒÏ‡Ï ÎµÏ€ÎµÎ¾ÎµÏγασίας σας", |
68 | "settings.app.buttonSearchForUpdate" : "Check for updates", | 68 | "settings.account.successInfo" : "Οι αλλαγÎÏ‚ σας Îχουν αποθηκευτεί", |
69 | "settings.app.currentVersion" : "Current version:", | 69 | "settings.account.tryReloadUserInfoRequest" : "Δοκιμάστε ξανά", |
70 | "settings.app.form.autoLaunchInBackground" : "Open in background", | 70 | "settings.account.userInfoRequestFailed" : "Δεν ήταν δυνατή η φόÏτωση πληÏοφοÏιών χÏήστη", |
71 | "settings.app.form.autoLaunchOnStart" : "Launch Franz on start", | 71 | "settings.app.buttonClearAllCache" : "ΚαθαÏισμός λανθάνουσας μνήμης", |
72 | "settings.app.form.beta" : "Include beta versions", | 72 | "settings.app.buttonInstallUpdate" : "Επανεκκίνηση & εγκατάσταση ενημεÏώσεων", |
73 | "settings.app.form.enableSpellchecking" : "Enable spell checking", | 73 | "settings.app.buttonSearchForUpdate" : "Έλεγχος για ενημεÏώσεις", |
74 | "settings.app.form.enableSystemTray" : "Show Franz in system tray", | 74 | "settings.app.cacheInfo" : "Το Franz χÏησιμοποιεί αυτήν τη στιγμή {size} χώÏου στο δίσκο.", |
75 | "settings.app.form.language" : "Language", | 75 | "settings.app.currentVersion" : "ΤÏÎχουσα Îκδοση:", |
76 | "settings.app.form.minimizeToSystemTray" : "Minimize Franz to system tray", | 76 | "settings.app.form.autoLaunchInBackground" : "Άνοιγμα στο παÏασκήνιο", |
77 | "settings.app.form.runInBackground" : "Keep Franz in background when closing the window", | 77 | "settings.app.form.autoLaunchOnStart" : "Εκκίνηση του Franz κατά την εκκίνηση του συστήματος", |
78 | "settings.app.form.showDisabledServices" : "Display disabled services tabs", | 78 | "settings.app.form.beta" : "ΣυμπεÏιλάβετε εκδόσεις beta", |
79 | "settings.app.headline" : "Settings", | 79 | "settings.app.form.enableSpellchecking" : "ΕνεÏγοποίηση οÏθογÏÎ±Ï†Î¹ÎºÎ¿Ï ÎµÎ»Îγχου", |
80 | "settings.app.headlineAdvanced" : "Advanced", | 80 | "settings.app.form.enableSystemTray" : "Εμφάνιση του Franz στη γÏαμμή ειδοποιήσεων", |
81 | "settings.app.headlineAppearance" : "Appearance", | 81 | "settings.app.form.language" : "Γλώσσα", |
82 | "settings.app.headlineGeneral" : "General", | 82 | "settings.app.form.minimizeToSystemTray" : "Ελαχιστοποίηση του Franz στη γÏαμμή ειδοποιήσεων", |
83 | "settings.app.headlineLanguage" : "Language", | 83 | "settings.app.form.runInBackground" : "ΚÏατήστε το Franz στο παÏασκήνιο κατά το κλείσιμο του παÏαθÏÏου", |
84 | "settings.app.headlineUpdates" : "Updates", | 84 | "settings.app.form.showDisabledServices" : "Î Ïοβολή καÏτελών των απενεÏγοποιημÎνων υπηÏεσιών", |
85 | "settings.app.restartRequired" : "Changes require restart", | 85 | "settings.app.form.showMessagesBadgesWhenMuted" : "Î Ïοβολή του εικονιδίου μη αναγνωσμÎνου μηνÏματος όταν οι ειδοποιήσεις είναι απενεÏγοποιημÎνες", |
86 | "settings.app.translationHelp" : "Help us to translate Franz into your language.", | 86 | "settings.app.headline" : "Ρυθμίσεις", |
87 | "settings.app.updateStatusAvailable" : "Update available, downloading...", | 87 | "settings.app.headlineAdvanced" : "Για Ï€ÏοχωÏημÎνους", |
88 | "settings.app.updateStatusSearching" : "Is searching for update", | 88 | "settings.app.headlineAppearance" : "Εμφάνιση", |
89 | "settings.app.updateStatusUpToDate" : "You are using the latest version of Franz", | 89 | "settings.app.headlineGeneral" : "Γενικά", |
90 | "settings.navigation.account" : "Account", | 90 | "settings.app.headlineLanguage" : "Γλώσσα", |
91 | "settings.navigation.availableServices" : "Available services", | 91 | "settings.app.headlineUpdates" : "ΕνημεÏώσεις", |
92 | "settings.navigation.logout" : "Logout", | 92 | "settings.app.restartRequired" : "Οι αλλαγÎÏ‚ απαιτοÏν επανεκκίνηση", |
93 | "settings.navigation.settings" : "Settings", | 93 | "settings.app.subheadlineCache" : "Λανθάνουσα μνήμη", |
94 | "settings.navigation.yourServices" : "Your services", | 94 | "settings.app.translationHelp" : "Βοηθήστε μας να μεταφÏάσουμε το Franz στη δική σας γλώσσα.", |
95 | "settings.recipes.all" : "All services", | 95 | "settings.app.updateStatusAvailable" : "ΥπάÏχει διαθÎσιμη ενημÎÏωση, γίνεται λήψη...", |
96 | "settings.recipes.dev" : "Development", | 96 | "settings.app.updateStatusSearching" : " Γίνεται αναζήτηση για ενημÎÏωση", |
97 | "settings.recipes.headline" : "Available services", | 97 | "settings.app.updateStatusUpToDate" : "ΧÏησιμοποιείτε την τελευταία Îκδοση του Franz", |
98 | "settings.recipes.missingService" : "Missing a service?", | 98 | "settings.navigation.account" : "ΛογαÏιασμός", |
99 | "settings.recipes.mostPopular" : "Most popular", | 99 | "settings.navigation.availableServices" : "ΔιαθÎσιμες υπηÏεσίες", |
100 | "settings.recipes.nothingFound" : "Sorry, but no service matched your search term.", | 100 | "settings.navigation.logout" : "ΑποσÏνδεση", |
101 | "settings.recipes.servicesSuccessfulAddedInfo" : "Service successfully added", | 101 | "settings.navigation.settings" : "Ρυθμίσεις", |
102 | "settings.service.error.goBack" : "Back to services", | 102 | "settings.navigation.yourServices" : "Οι υπηÏεσίες σας", |
103 | "settings.service.error.headline" : "Error", | 103 | "settings.recipes.all" : "Όλες οι υπηÏεσίες", |
104 | "settings.service.error.message" : "Could not load service recipe.", | 104 | "settings.recipes.dev" : "Ανάπτυξη", |
105 | "settings.service.form.addServiceHeadline" : "Add {name}", | 105 | "settings.recipes.headline" : "ΔιαθÎσιμες υπηÏεσίες", |
106 | "settings.service.form.availableServices" : "Available services", | 106 | "settings.recipes.missingService" : "Λείπει κάποια υπηÏεσία;", |
107 | "settings.service.form.customUrl" : "Custom server", | 107 | "settings.recipes.mostPopular" : "Τα πιο δημοφιλή", |
108 | "settings.service.form.customUrlPremiumInfo" : "To add self hosted services, you need a Franz Premium Supporter Account.", | 108 | "settings.recipes.nothingFound" : "ΛυποÏμαστε αλλά καμία υπηÏεσία δεν ταιÏιάζει με τον ÏŒÏο αναζήτησης.", |
109 | "settings.service.form.customUrlUpgradeAccount" : "Upgrade your account", | 109 | "settings.recipes.servicesSuccessfulAddedInfo" : "Η υπηÏεσία Ï€ÏοστÎθηκε με επιτυχία", |
110 | "settings.service.form.customUrlValidationError" : "Could not validate custom {name} server.", | 110 | "settings.searchService" : "Αναζήτηση υπηÏεσίας", |
111 | "settings.service.form.deleteButton" : "Delete service", | 111 | "settings.service.error.goBack" : "ΕπιστÏοφή στις υπηÏεσίες", |
112 | "settings.service.form.editServiceHeadline" : "Edit {name}", | 112 | "settings.service.error.headline" : "Σφάλμα", |
113 | "settings.service.form.enableAudio" : "Enable audio", | 113 | "settings.service.error.message" : "Δεν ήταν δυνατή η φόÏτωση της συνταγής υπηÏεσίας.", |
114 | "settings.service.form.enableNotification" : "Enable notifications", | 114 | "settings.service.form.addServiceHeadline" : "Î Ïοσθήκη {name}", |
115 | "settings.service.form.enableService" : "Enable service", | 115 | "settings.service.form.availableServices" : "ΔιαθÎσιμες υπηÏεσίες", |
116 | "settings.service.form.indirectMessageInfo" : "You will be notified about all new messages in a channel, not just @username, @channel, @here, ...", | 116 | "settings.service.form.customUrl" : "Î ÏοσαÏμοσμÎνος διακομιστής", |
117 | "settings.service.form.indirectMessages" : "Show message badge for all new messages", | 117 | "settings.service.form.customUrlPremiumInfo" : "Για να Ï€ÏοσθÎσετε υπηÏεσίες που φιλοξενοÏνται μόνος σας, χÏειάζεστε Îναν λογαÏιασμό υποστήÏιξης Premium Franz.", |
118 | "settings.service.form.isMutedInfo" : "When disabled, all notification sounds and audio playback are muted", | 118 | "settings.service.form.customUrlUpgradeAccount" : "Αναβάθμιση του λογαÏÎ¹Î±ÏƒÎ¼Î¿Ï ÏƒÎ±Ï‚", |
119 | "settings.service.form.name" : "Name", | 119 | "settings.service.form.customUrlValidationError" : "Δεν ήταν δυνατή η επικÏÏωση του Ï€ÏοσαÏμοσμÎνου διακομιστή {name}.", |
120 | "settings.service.form.saveButton" : "Save service", | 120 | "settings.service.form.deleteButton" : "ΔιαγÏαφή υπηÏεσίας", |
121 | "settings.service.form.tabHosted" : "Hosted", | 121 | "settings.service.form.editServiceHeadline" : "ΕπεξεÏγασία {name}", |
122 | "settings.service.form.tabOnPremise" : "Self hosted âï¸", | 122 | "settings.service.form.enableAudio" : "ΕνεÏγοποίηση ήχου", |
123 | "settings.service.form.team" : "Team", | 123 | "settings.service.form.enableBadge" : "Εμφάνιση εικονιδίων μη αναγνωσμÎνου μηνÏματος", |
124 | "settings.service.form.yourServices" : "Your services", | 124 | "settings.service.form.enableNotification" : "ΕνεÏγοποίηση ειδοποιήσεων", |
125 | "settings.services.deletedInfo" : "Service has been deleted", | 125 | "settings.service.form.enableService" : "ΕνεÏγοποίηση υπηÏεσίας", |
126 | "settings.services.discoverServices" : "Discover services", | 126 | "settings.service.form.headlineBadges" : "Εικονίδια μη αναγνωσμÎνου μηνÏματος", |
127 | "settings.services.headline" : "Your services", | 127 | "settings.service.form.headlineGeneral" : "Γενικά", |
128 | "settings.services.noServicesAdded" : "You haven't added any services yet.", | 128 | "settings.service.form.headlineNotifications" : "Ειδοποιήσεις", |
129 | "settings.services.tooltip.isDisabled" : "Service is disabled", | 129 | "settings.service.form.icon" : "Î ÏοσαÏμοσμÎνο εικονίδιο", |
130 | "settings.services.tooltip.isMuted" : "All sounds are muted", | 130 | "settings.service.form.iconDelete" : "ΔιαγÏαφή", |
131 | "settings.services.tooltip.notificationsDisabled" : "Notifications are disabled", | 131 | "settings.service.form.iconUpload" : "ΣÏÏετε την εικόνα σας, ή κάντε κλικ εδώ", |
132 | "settings.services.updatedInfo" : "Your changes have been saved", | 132 | "settings.service.form.indirectMessageInfo" : "Θα ειδοποιηθείτε για όλα τα νÎα μηνÏματα σε Îνα κανάλι, όχι μόνο @username, @channel, @here, ...", |
133 | "settings.user.form.accountType.company" : "Company", | 133 | "settings.service.form.indirectMessages" : "Εμφάνιση ειδοποίησης μηνÏματος για όλα τα νÎα μηνÏματα", |
134 | "settings.user.form.accountType.individual" : "Individual", | 134 | "settings.service.form.isMutedInfo" : "Όλοι οι ήχοι καθώς και η αναπαÏαγωγή ήχου θα απενεÏγοποιηθοÏν", |
135 | "settings.user.form.accountType.label" : "Account type", | 135 | "settings.service.form.name" : "Όνομα", |
136 | "settings.user.form.accountType.non-profit" : "Non-Profit", | 136 | "settings.service.form.saveButton" : "Αποθήκευση υπηÏεσίας", |
137 | "settings.user.form.currentPassword" : "Current password", | 137 | "settings.service.form.tabHosted" : "Φιλοξενείται", |
138 | "settings.service.form.tabOnPremise" : "Αυτο-φιλοξενείται âï¸", | ||
139 | "settings.service.form.team" : "Ομάδα", | ||
140 | "settings.service.form.useHostedService" : "ΧÏήση της φιλοξενοÏμενης υπηÏεσίας {name}", | ||
141 | "settings.service.form.yourServices" : "Οι υπηÏεσίες σας", | ||
142 | "settings.services.deletedInfo" : "Η υπηÏεσία Îχει διαγÏαφεί", | ||
143 | "settings.services.discoverServices" : "ΑνακαλÏψτε υπηÏεσίες", | ||
144 | "settings.services.headline" : "Οι υπηÏεσίες σας", | ||
145 | "settings.services.noServicesAdded" : "Δεν Îχετε Ï€ÏοσθÎσει ακόμα υπηÏεσίες.", | ||
146 | "settings.services.tooltip.isDisabled" : "Η υπηÏεσία είναι απενεÏγοποιημÎνη", | ||
147 | "settings.services.tooltip.isMuted" : "Όλοι οι ήχοι είναι απενεÏγοποιημÎνοι", | ||
148 | "settings.services.tooltip.notificationsDisabled" : "Οι ειδοποιήσεις είναι απενεÏγοποιημÎνες", | ||
149 | "settings.services.updatedInfo" : "Οι αλλαγÎÏ‚ σας Îχουν αποθηκευτεί", | ||
150 | "settings.user.form.accountType.company" : "ΕταιÏεία", | ||
151 | "settings.user.form.accountType.individual" : "Ατομικός", | ||
152 | "settings.user.form.accountType.label" : "ΤÏπος λογαÏιασμοÏ", | ||
153 | "settings.user.form.accountType.non-profit" : "Μη κεÏδοσκοπικός", | ||
154 | "settings.user.form.currentPassword" : "ΤÏÎχων κωδικός Ï€Ïόσβασης", | ||
138 | "settings.user.form.email" : "Email", | 155 | "settings.user.form.email" : "Email", |
139 | "settings.user.form.firstname" : "First Name", | 156 | "settings.user.form.firstname" : "Όνομα", |
140 | "settings.user.form.lastname" : "Last Name", | 157 | "settings.user.form.lastname" : "Επίθετο", |
141 | "settings.user.form.newPassword" : "New password", | 158 | "settings.user.form.newPassword" : "ÎÎος κωδικός Ï€Ïόσβασης", |
142 | "sidebar.addNewService" : "Add new service", | 159 | "sidebar.addNewService" : "Î Ïοσθήκη νÎας υπηÏεσίας", |
143 | "sidebar.mute" : "Disable audio", | 160 | "sidebar.muteApp" : "ΑπενεÏγοποίηση ειδοποιήσεων & ήχου", |
144 | "sidebar.settings" : "Settings", | 161 | "sidebar.settings" : "Ρυθμίσεις", |
145 | "sidebar.unmute" : "Enable audio", | 162 | "sidebar.unmuteApp" : "ΕνεÏγοποίηση ειδοποιήσεων & ήχου", |
146 | "signup.company.label" : "Company", | 163 | "signup.company.label" : "ΕταιÏεία", |
147 | "signup.email.label" : "Email address", | 164 | "signup.email.label" : "ΔιεÏθυνση ηλεκτÏÎ¿Î½Î¹ÎºÎ¿Ï Ï„Î±Ï‡Ï…Î´Ïομείου", |
148 | "signup.emailDuplicate" : "A user with that email address already exists", | 165 | "signup.emailDuplicate" : "Ένας χÏήστης με τη συγκεκÏιμÎνη διεÏθυνση ηλεκτÏÎ¿Î½Î¹ÎºÎ¿Ï Ï„Î±Ï‡Ï…Î´Ïομείου υπάÏχει ήδη", |
149 | "signup.firstname.label" : "First Name", | 166 | "signup.firstname.label" : "Όνομα", |
150 | "signup.headline" : "Sign up", | 167 | "signup.headline" : "ΕγγÏαφή", |
151 | "signup.lastname.label" : "Last Name", | 168 | "signup.lastname.label" : "Επίθετο", |
152 | "signup.legal.info" : "By creating a Franz account you accept the", | 169 | "signup.legal.info" : "ΔημιουÏγώντας Îναν λογαÏιασμό Franz αποδÎχεστε τους", |
153 | "signup.legal.privacy" : "Privacy Statement", | 170 | "signup.legal.privacy" : "Δήλωση αποÏÏήτου", |
154 | "signup.legal.terms" : "Terms of service", | 171 | "signup.legal.terms" : "ÎŒÏοι υπηÏεσίας", |
155 | "signup.link.login" : "Already have an account, sign in?", | 172 | "signup.link.login" : "Έχετε ήδη λογαÏιασμό? Συνδεθείτε.", |
156 | "signup.password.label" : "Password", | 173 | "signup.password.label" : "Κωδικός Ï€Ïόσβασης", |
157 | "signup.submit.label" : "Create account", | 174 | "signup.submit.label" : "ΔημιουÏγία λογαÏιασμοÏ", |
158 | "subscription.euTaxInfo" : "EU residents: local sales tax may apply", | 175 | "subscription.euTaxInfo" : "Πολίτες Ε.Ε.: Στις τιμÎÏ‚ δεν πεÏιλαμβάνονται τυχόν φόÏοι και άλλες τοπικÎÏ‚ επιβαÏÏνσεις", |
159 | "subscription.features.ads" : "No ads, ever!", | 176 | "subscription.features.ads" : "ΤÎλος στις διαφημίσεις", |
160 | "subscription.features.comingSoon" : "coming soon", | 177 | "subscription.features.comingSoon" : "σÏντομα", |
161 | "subscription.features.customServices" : "Private services for you and your team", | 178 | "subscription.features.customServices" : "ΙδιωτικÎÏ‚ υπηÏεσίες για εσάς και την ομάδα σας", |
162 | "subscription.features.encryptedSync" : "Encrypted session synchronization", | 179 | "subscription.features.encryptedSync" : "ΚÏυπτογÏαφημÎνος συγχÏονισμός πεÏιόδου σÏνδεσης", |
163 | "subscription.features.onpremise" : "Add on-premise\/hosted services like HipChat", | 180 | "subscription.features.onpremise" : "Add on-premise \/ hosted services όπως το HipChat", |
164 | "subscription.features.vpn" : "Proxy & VPN support", | 181 | "subscription.features.vpn" : "ΥποστήÏιξη μεσολαβητή (Proxy) και VPN", |
165 | "subscription.includedFeatures" : "Paid Franz Premium Supporter Account includes", | 182 | "subscription.includedFeatures" : "Ο Premium λογαÏιασμός υποστήÏιξης Franz πεÏιλαμβάνει", |
166 | "subscription.mining.experimental" : "experimental", | 183 | "subscription.mining.experimental" : "πειÏαματική", |
167 | "subscription.mining.headline" : "How does this work?", | 184 | "subscription.mining.headline" : "Î ÏŽÏ‚ λειτουÏγεί αυτό;", |
168 | "subscription.mining.line1" : "By enabling \"Support with processing power\", Franz will use about 20-50% of your CPU to mine the cryptocurrency Monero which equals approximately $ 5\/year.", | 185 | "subscription.mining.line1" : "Το Franz χÏησιμοποιεί πεÏίπου το 20-50% της CPU σας για να εξοÏÏξει το κÏυπτονόμισμα Monero που ισοÏται πεÏίπου με $ 5 \/ Îτος.", |
169 | "subscription.mining.line2" : "We will adapt the CPU usage based to your work behaviour to not drain your battery and slow you and your machine down.", | 186 | "subscription.mining.line2" : "Θα Ï€ÏοσαÏμόσουμε τη χÏήση της CPU με βάση τη συμπεÏιφοÏά εÏγασίας σας ώστε να μην αποστÏαγγίσουμε την μπαταÏία σας και να επιβÏαδÏνουμε εσάς και το μηχάνημά σας.", |
170 | "subscription.mining.line3" : "As long as the miner is active, you will have unlimited access to all the Franz Premium Supporter Features.", | 187 | "subscription.mining.line3" : "Εφόσον ο Miner είναι ενεÏγός, θα Îχετε απεÏιόÏιστη Ï€Ïόσβαση σε όλα τα χαÏακτηÏιστικά του Franz Premium Supporter.", |
171 | "subscription.mining.moreInformation" : "Get more information about this plan.", | 188 | "subscription.mining.moreInformation" : "Λάβετε πεÏισσότεÏες πληÏοφοÏίες σχετικά με αυτό το πακÎτο.", |
172 | "subscription.paymentSessionError" : "Could not initialize payment form", | 189 | "subscription.paymentSessionError" : "Δεν ήταν δυνατή η Ï€Ïοετοιμασία της φόÏμας πληÏωμής", |
173 | "subscription.submit.label" : "I want to support the development of Franz", | 190 | "subscription.submit.label" : "ΘÎλω να βοηθήσω στην ανάπτυξη του Franz", |
174 | "subscription.type.free" : "free", | 191 | "subscription.type.free" : "δωÏεάν", |
175 | "subscription.type.mining" : "Support Franz with processing power", | 192 | "subscription.type.mining" : "ΥποστήÏιξη Franz με Î¹ÏƒÏ‡Ï CPU", |
176 | "subscription.type.month" : "month", | 193 | "subscription.type.month" : "μήνας", |
177 | "subscription.type.year" : "year", | 194 | "subscription.type.year" : "Îτος", |
178 | "subscriptionPopup.buttonCancel" : "Cancel", | 195 | "subscriptionPopup.buttonCancel" : "ΑκÏÏωση", |
179 | "subscriptionPopup.buttonDone" : "Done", | 196 | "subscriptionPopup.buttonDone" : "Έγινε", |
180 | "tabs.item.deleteService" : "Delete service", | 197 | "tabs.item.deleteService" : "ΔιαγÏαφή υπηÏεσίας", |
181 | "tabs.item.disableAudio" : "Disable audio", | 198 | "tabs.item.disableAudio" : "ΑπενεÏγοποίηση ήχου", |
182 | "tabs.item.disableNotifications" : "Disable notifications", | 199 | "tabs.item.disableNotifications" : "ΑπενεÏγοποίηση ειδοποιήσεων", |
183 | "tabs.item.disableService" : "Disable service", | 200 | "tabs.item.disableService" : "ΑπενεÏγοποίηση υπηÏεσίας", |
184 | "tabs.item.edit" : "Edit", | 201 | "tabs.item.edit" : "ΕπεξεÏγασία", |
185 | "tabs.item.enableAudio" : "Enable audio", | 202 | "tabs.item.enableAudio" : "ΕνεÏγοποίηση ήχου", |
186 | "tabs.item.enableNotification" : "Enable notifications", | 203 | "tabs.item.enableNotification" : "ΕνεÏγοποίηση ειδοποιήσεων", |
187 | "tabs.item.enableService" : "Enable service", | 204 | "tabs.item.enableService" : "ΕνεÏγοποίηση υπηÏεσίας", |
188 | "tabs.item.reload" : "Reload", | 205 | "tabs.item.reload" : "ΕπαναφόÏτωση", |
189 | "welcome.loginButton" : "Login to your account", | 206 | "welcome.loginButton" : "ΣÏνδεση στο λογαÏιασμό σας", |
190 | "welcome.signupButton" : "Create a free account", | 207 | "welcome.signupButton" : "ΔημιουÏγία δωÏεάν λογαÏιασμοÏ", |
191 | "welcome.slogan" : "Messaging that works for you" | 208 | "welcome.slogan" : "Επικοινωνία που λειτουÏγεί για εσάς" |
192 | } | 209 | } |
diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json index 8de5e5e02..7fc9eac1c 100644 --- a/src/i18n/locales/en-US.json +++ b/src/i18n/locales/en-US.json | |||
@@ -39,7 +39,7 @@ | |||
39 | "import.headline": "Import your Franz 4 services", | 39 | "import.headline": "Import your Franz 4 services", |
40 | "import.notSupportedHeadline": "Services not yet supported in Franz 5", | 40 | "import.notSupportedHeadline": "Services not yet supported in Franz 5", |
41 | "import.submit.label": "Import services", | 41 | "import.submit.label": "Import services", |
42 | "import.skip.label": "I want add services manually", | 42 | "import.skip.label": "I want to add services manually", |
43 | "invite.submit.label": "Send invites", | 43 | "invite.submit.label": "Send invites", |
44 | "invite.headline.friends": "Invite 3 of your friends or colleagues", | 44 | "invite.headline.friends": "Invite 3 of your friends or colleagues", |
45 | "invite.name.label": "Name", | 45 | "invite.name.label": "Name", |
@@ -62,14 +62,16 @@ | |||
62 | "infobar.requiredRequestsFailed": "Could not load services and user information", | 62 | "infobar.requiredRequestsFailed": "Could not load services and user information", |
63 | "sidebar.settings": "Settings", | 63 | "sidebar.settings": "Settings", |
64 | "sidebar.addNewService": "Add new service", | 64 | "sidebar.addNewService": "Add new service", |
65 | "sidebar.mute": "Disable audio", | 65 | "sidebar.muteApp": "Disable notifications & audio", |
66 | "sidebar.unmute": "Enable audio", | 66 | "sidebar.unmuteApp": "Enable notifications & audio", |
67 | "services.welcome": "Welcome to Franz", | 67 | "services.welcome": "Welcome to Franz", |
68 | "services.getStarted": "Get started", | 68 | "services.getStarted": "Get started", |
69 | "settings.searchService": "Search service", | ||
69 | "settings.account.headline": "Account", | 70 | "settings.account.headline": "Account", |
70 | "settings.account.headlineSubscription": "Your subscription", | 71 | "settings.account.headlineSubscription": "Your subscription", |
71 | "settings.account.headlineUpgrade": "Upgrade your account & support Franz", | 72 | "settings.account.headlineUpgrade": "Upgrade your account & support Franz", |
72 | "settings.account.headlineInvoices": "Invoices", | 73 | "settings.account.headlineInvoices": "Invoices", |
74 | "settings.account.headlineDangerZone": "Danger Zone", | ||
73 | "settings.account.manageSubscription.label": "Manage your subscription", | 75 | "settings.account.manageSubscription.label": "Manage your subscription", |
74 | "settings.account.accountType.basic": "Basic Account", | 76 | "settings.account.accountType.basic": "Basic Account", |
75 | "settings.account.accountType.premium": "Premium Supporter Account", | 77 | "settings.account.accountType.premium": "Premium Supporter Account", |
@@ -86,6 +88,9 @@ | |||
86 | "settings.account.mining.active": "You are right now performing {hashes} calculations per second.", | 88 | "settings.account.mining.active": "You are right now performing {hashes} calculations per second.", |
87 | "settings.account.mining.moreInformation": "Get more information", | 89 | "settings.account.mining.moreInformation": "Get more information", |
88 | "settings.account.mining.cancel": "Cancel mining", | 90 | "settings.account.mining.cancel": "Cancel mining", |
91 | "settings.account.deleteAccount": "Delete account", | ||
92 | "settings.account.deleteInfo": "If you don't need your Franz account any longer, you can delete your account and all related data here.", | ||
93 | "settings.account.deleteEmailSent": "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!", | ||
89 | "settings.navigation.availableServices": "Available services", | 94 | "settings.navigation.availableServices": "Available services", |
90 | "settings.navigation.yourServices": "Your services", | 95 | "settings.navigation.yourServices": "Your services", |
91 | "settings.navigation.account": "Account", | 96 | "settings.navigation.account": "Account", |
@@ -106,6 +111,7 @@ | |||
106 | "settings.service.form.editServiceHeadline": "Edit {name}", | 111 | "settings.service.form.editServiceHeadline": "Edit {name}", |
107 | "settings.service.form.tabHosted": "Hosted", | 112 | "settings.service.form.tabHosted": "Hosted", |
108 | "settings.service.form.tabOnPremise": "Self hosted âï¸", | 113 | "settings.service.form.tabOnPremise": "Self hosted âï¸", |
114 | "settings.service.form.useHostedService": "Use the hosted {name} service.", | ||
109 | "settings.service.form.customUrlValidationError": "Could not validate custom {name} server.", | 115 | "settings.service.form.customUrlValidationError": "Could not validate custom {name} server.", |
110 | "settings.service.form.customUrlPremiumInfo": "To add self hosted services, you need a Franz Premium Supporter Account.", | 116 | "settings.service.form.customUrlPremiumInfo": "To add self hosted services, you need a Franz Premium Supporter Account.", |
111 | "settings.service.form.customUrlUpgradeAccount": "Upgrade your account", | 117 | "settings.service.form.customUrlUpgradeAccount": "Upgrade your account", |
@@ -113,11 +119,18 @@ | |||
113 | "settings.service.form.name": "Name", | 119 | "settings.service.form.name": "Name", |
114 | "settings.service.form.enableService": "Enable service", | 120 | "settings.service.form.enableService": "Enable service", |
115 | "settings.service.form.enableNotification": "Enable notifications", | 121 | "settings.service.form.enableNotification": "Enable notifications", |
122 | "settings.service.form.enableBadge": "Show unread message badges", | ||
116 | "settings.service.form.team": "Team", | 123 | "settings.service.form.team": "Team", |
117 | "settings.service.form.customUrl": "Custom server", | 124 | "settings.service.form.customUrl": "Custom server", |
118 | "settings.service.form.indirectMessages": "Show message badge for all new messages", | 125 | "settings.service.form.indirectMessages": "Show message badge for all new messages", |
119 | "settings.service.form.enableAudio": "Enable audio", | 126 | "settings.service.form.enableAudio": "Enable audio", |
120 | "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted", | 127 | "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted", |
128 | "settings.service.form.headlineNotifications": "Notifications", | ||
129 | "settings.service.form.headlineBadges": "Unread message badges", | ||
130 | "settings.service.form.headlineGeneral": "General", | ||
131 | "settings.service.form.icon": "Custom icon", | ||
132 | "settings.service.form.iconDelete": "Delete", | ||
133 | "settings.service.form.iconUpload": "Drop your image, or click here", | ||
121 | "settings.service.error.headline": "Error", | 134 | "settings.service.error.headline": "Error", |
122 | "settings.service.error.goBack": "Back to services", | 135 | "settings.service.error.goBack": "Back to services", |
123 | "settings.service.error.message": "Could not load service recipe.", | 136 | "settings.service.error.message": "Could not load service recipe.", |
@@ -140,6 +153,9 @@ | |||
140 | "settings.app.updateStatusSearching": "Is searching for update", | 153 | "settings.app.updateStatusSearching": "Is searching for update", |
141 | "settings.app.updateStatusAvailable": "Update available, downloading...", | 154 | "settings.app.updateStatusAvailable": "Update available, downloading...", |
142 | "settings.app.updateStatusUpToDate": "You are using the latest version of Franz", | 155 | "settings.app.updateStatusUpToDate": "You are using the latest version of Franz", |
156 | "settings.app.subheadlineCache": "Cache", | ||
157 | "settings.app.cacheInfo": "Franz cache is currently using {size} of disk space.", | ||
158 | "settings.app.buttonClearAllCache": "Clear cache", | ||
143 | "settings.app.form.autoLaunchOnStart": "Launch Franz on start", | 159 | "settings.app.form.autoLaunchOnStart": "Launch Franz on start", |
144 | "settings.app.form.autoLaunchInBackground": "Open in background", | 160 | "settings.app.form.autoLaunchInBackground": "Open in background", |
145 | "settings.app.form.enableSystemTray": "Show Franz in system tray", | 161 | "settings.app.form.enableSystemTray": "Show Franz in system tray", |
@@ -148,6 +164,7 @@ | |||
148 | "settings.app.form.language": "Language", | 164 | "settings.app.form.language": "Language", |
149 | "settings.app.form.enableSpellchecking": "Enable spell checking", | 165 | "settings.app.form.enableSpellchecking": "Enable spell checking", |
150 | "settings.app.form.showDisabledServices": "Display disabled services tabs", | 166 | "settings.app.form.showDisabledServices": "Display disabled services tabs", |
167 | "settings.app.form.showMessagesBadgesWhenMuted": "Show unread message badge when notifications are disabled", | ||
151 | "settings.app.form.beta": "Include beta versions", | 168 | "settings.app.form.beta": "Include beta versions", |
152 | "settings.app.translationHelp": "Help us to translate Franz into your language.", | 169 | "settings.app.translationHelp": "Help us to translate Franz into your language.", |
153 | "settings.app.currentVersion": "Current version:", | 170 | "settings.app.currentVersion": "Current version:", |
@@ -188,5 +205,5 @@ | |||
188 | "service.crashHandler.action": "Reload {name}", | 205 | "service.crashHandler.action": "Reload {name}", |
189 | "service.crashHandler.autoReload": "Trying to automatically restore {name} in {seconds} seconds", | 206 | "service.crashHandler.autoReload": "Trying to automatically restore {name} in {seconds} seconds", |
190 | "service.disabledHandler.headline": "{name} is disabled", | 207 | "service.disabledHandler.headline": "{name} is disabled", |
191 | "service.disabledHandler.action": "Enable {name}" | 208 | "service.disabledHandler.action": "Enable {name}" |
192 | } | 209 | } |
diff --git a/src/i18n/locales/es.json b/src/i18n/locales/es.json index 5717a18b1..c4f598bd1 100644 --- a/src/i18n/locales/es.json +++ b/src/i18n/locales/es.json | |||
@@ -1,192 +1,209 @@ | |||
1 | { | 1 | { |
2 | "global.api.unhealthy" : "Can't connect to Franz online services", | 2 | "global.api.unhealthy" : "No se puede conectar a los servicios en lÃnea de Franz", |
3 | "global.notConnectedToTheInternet" : "You are not connected to the internet.", | 3 | "global.notConnectedToTheInternet" : "No estás conectado a Internet.", |
4 | "import.headline" : "Import your Franz 4 services", | 4 | "import.headline" : "Importa tus servicios de Franz 4", |
5 | "import.notSupportedHeadline" : "Services not yet supported in Franz 5", | 5 | "import.notSupportedHeadline" : "Servicios no soportados aún en Franz 5", |
6 | "import.skip.label" : "I want add services manually", | 6 | "import.skip.label" : "Quiero agregar servicios manualmente", |
7 | "import.submit.label" : "Import services", | 7 | "import.submit.label" : "Importar servicios", |
8 | "infobar.buttonChangelog" : "What is new?", | 8 | "infobar.buttonChangelog" : "Qué hay de nuevo:", |
9 | "infobar.buttonInstallUpdate" : "Restart & install update", | 9 | "infobar.buttonInstallUpdate" : "Reiniciar e instalar actualizaciones", |
10 | "infobar.buttonReloadServices" : "Reload services", | 10 | "infobar.buttonReloadServices" : "Recargar servicios", |
11 | "infobar.requiredRequestsFailed" : "Could not load services and user information", | 11 | "infobar.requiredRequestsFailed" : "No ha sido posible cargar servicios e información del usuario", |
12 | "infobar.servicesUpdated" : "Your services have been updated.", | 12 | "infobar.servicesUpdated" : "Sus servicios han sido actualizados.", |
13 | "infobar.updateAvailable" : "A new update for Franz is available.", | 13 | "infobar.updateAvailable" : "Nueva actualización para Franz disponible.", |
14 | "invite.email.label" : "Email address", | 14 | "invite.email.label" : "Correo electrónico", |
15 | "invite.headline.friends" : "Invite 3 of your friends or colleagues", | 15 | "invite.headline.friends" : "Invita a 3 amigos o colegas", |
16 | "invite.name.label" : "Name", | 16 | "invite.name.label" : "Nombre", |
17 | "invite.skip.label" : "I want to do this later", | 17 | "invite.skip.label" : "Haré esto más tarde", |
18 | "invite.submit.label" : "Send invites", | 18 | "invite.submit.label" : "Enviar invitaciones", |
19 | "login.email.label" : "Email address", | 19 | "login.email.label" : "Correo electrónico", |
20 | "login.headline" : "Sign in", | 20 | "login.headline" : "Iniciar sesión", |
21 | "login.invalidCredentials" : "Email or password not valid", | 21 | "login.invalidCredentials" : "Correo electrónico o contraseña no válidos", |
22 | "login.link.password" : "Reset password", | 22 | "login.link.password" : "Restablecer contraseña", |
23 | "login.link.signup" : "Create a free account", | 23 | "login.link.signup" : "Crear cuenta gratuita", |
24 | "login.password.label" : "Password", | 24 | "login.password.label" : "Contraseña", |
25 | "login.serverLogout" : "Your session expired, please login again.", | 25 | "login.serverLogout" : "Su sesión ha expirado, por favor inicie sesión nuevamente.", |
26 | "login.submit.label" : "Sign in", | 26 | "login.submit.label" : "Acceder", |
27 | "login.tokenExpired" : "Your session expired, please login again.", | 27 | "login.tokenExpired" : "Su sesión ha expirado, por favor acceda de nuevo.", |
28 | "password.email.label" : "Email address", | 28 | "password.email.label" : "Correo electrónico", |
29 | "password.headline" : "Reset password", | 29 | "password.headline" : "Restablecer contraseña", |
30 | "password.link.login" : "Sign in to your account", | 30 | "password.link.login" : "Acceder a tu cuenta", |
31 | "password.link.signup" : "Create a free account", | 31 | "password.link.signup" : "Crear cuenta gratuita", |
32 | "password.noUser" : "No user with that email address was found", | 32 | "password.noUser" : "No se encontró ningún usuario con esa dirección de correo electrónico", |
33 | "password.submit.label" : "Submit", | 33 | "password.submit.label" : "Enviar", |
34 | "password.successInfo" : "Please check your email", | 34 | "password.successInfo" : "Por favor, revise su correo electrónico", |
35 | "pricing.headline" : "Support Franz", | 35 | "pricing.headline" : "Apoya a Franz", |
36 | "pricing.link.skipPayment" : "I don't want to support the development of Franz.", | 36 | "pricing.link.skipPayment" : "No quiero apoyar el desarrollo de Franz.", |
37 | "pricing.submit.label" : "I want to support the development of Franz", | 37 | "pricing.submit.label" : "Quiero apoyar el desarrollo de Franz", |
38 | "pricing.support.label" : "Select your support plan", | 38 | "pricing.support.label" : "Selecciona tu plan de soporte", |
39 | "service.crashHandler.action" : "Reload {name}", | 39 | "service.crashHandler.action" : "Recargar {name}", |
40 | "service.crashHandler.autoReload" : "Trying to automatically restore {name} in {seconds} seconds", | 40 | "service.crashHandler.autoReload" : "Intentando recuperar automáticamente {name} en {seconds} segundos", |
41 | "service.crashHandler.headline" : "Oh no!", | 41 | "service.crashHandler.headline" : "¡Oh, no!", |
42 | "service.crashHandler.text" : "{name} has caused an error.", | 42 | "service.crashHandler.text" : "{name} ha causado un error.", |
43 | "service.disabledHandler.action" : "Enable {name}", | 43 | "service.disabledHandler.action" : "Activar {name}", |
44 | "service.disabledHandler.headline" : "{name} is disabled", | 44 | "service.disabledHandler.headline" : "{name} está desactivado", |
45 | "services.getStarted" : "Get started", | 45 | "services.getStarted" : "Primeros pasos", |
46 | "services.welcome" : "Welcome to Franz", | 46 | "services.welcome" : "Bienvenido a Franz", |
47 | "settings.account.account.editButton" : "Edit account", | 47 | "settings.account.account.editButton" : "Editar cuenta", |
48 | "settings.account.accountType.basic" : "Basic Account", | 48 | "settings.account.accountType.basic" : "Cuenta Básica", |
49 | "settings.account.accountType.premium" : "Premium Supporter Account", | 49 | "settings.account.accountType.premium" : "Cuenta Colaborador Premium", |
50 | "settings.account.buttonSave" : "Update profile", | 50 | "settings.account.buttonSave" : "Actualizar perfil", |
51 | "settings.account.headline" : "Account", | 51 | "settings.account.deleteAccount" : "Eliminar cuenta", |
52 | "settings.account.headlineAccount" : "Account information", | 52 | "settings.account.deleteEmailSent" : "Ha recibido un correo electrónico con el enlace para confirmar la eliminación de su cuenta. ¡Su cuenta y sus datos no podrán ser restaurados!", |
53 | "settings.account.headlineInvoices" : "Invoices", | 53 | "settings.account.deleteInfo" : "Si usted no necesita una cuenta de Franz, puede eliminarla junto a todos los datos aquà relacionados.", |
54 | "settings.account.headlinePassword" : "Change password", | 54 | "settings.account.headline" : "Cuenta", |
55 | "settings.account.headlineProfile" : "Update profile", | 55 | "settings.account.headlineAccount" : "Información de la cuenta", |
56 | "settings.account.headlineSubscription" : "Your subscription", | 56 | "settings.account.headlineDangerZone" : "Zona Peligrosa", |
57 | "settings.account.headlineUpgrade" : "Upgrade your account & support Franz", | 57 | "settings.account.headlineInvoices" : "Facturas", |
58 | "settings.account.invoiceDownload" : "Download", | 58 | "settings.account.headlinePassword" : "Cambiar contraseña", |
59 | "settings.account.manageSubscription.label" : "Manage your subscription", | 59 | "settings.account.headlineProfile" : "Actualizar perfil", |
60 | "settings.account.mining.active" : "You are right now performing {hashes} calculations per second.", | 60 | "settings.account.headlineSubscription" : "Su suscripción", |
61 | "settings.account.mining.cancel" : "Cancel mining", | 61 | "settings.account.headlineUpgrade" : "Actualice su cuenta y apoye a Franz", |
62 | "settings.account.mining.moreInformation" : "Get more information", | 62 | "settings.account.invoiceDownload" : "Descargar", |
63 | "settings.account.mining.thankyou" : "Thank you for supporting Franz with your processing power.", | 63 | "settings.account.manageSubscription.label" : "Administre su suscripción", |
64 | "settings.account.successInfo" : "Your changes have been saved", | 64 | "settings.account.mining.active" : "Ahora mismo esta realizando {hashes} cálculos por segundo.", |
65 | "settings.account.tryReloadUserInfoRequest" : "Try again", | 65 | "settings.account.mining.cancel" : "Cancelar minerÃa", |
66 | "settings.account.userInfoRequestFailed" : "Could not load user information", | 66 | "settings.account.mining.moreInformation" : "Obtener más información", |
67 | "settings.app.buttonInstallUpdate" : "Restart & install update", | 67 | "settings.account.mining.thankyou" : "Gracias por apoyar a Franz con su potencia de procesamiento.", |
68 | "settings.app.buttonSearchForUpdate" : "Check for updates", | 68 | "settings.account.successInfo" : "Sus cambios han sido guardados", |
69 | "settings.app.currentVersion" : "Current version:", | 69 | "settings.account.tryReloadUserInfoRequest" : "Intentar de nuevo", |
70 | "settings.app.form.autoLaunchInBackground" : "Open in background", | 70 | "settings.account.userInfoRequestFailed" : "No ha sido posible cargar la información de usuario", |
71 | "settings.app.form.autoLaunchOnStart" : "Launch Franz on start", | 71 | "settings.app.buttonClearAllCache" : "Limpiar caché", |
72 | "settings.app.form.beta" : "Include beta versions", | 72 | "settings.app.buttonInstallUpdate" : "Reiniciar e instalar actualizaciones", |
73 | "settings.app.form.enableSpellchecking" : "Enable spell checking", | 73 | "settings.app.buttonSearchForUpdate" : "Comprobar actualizaciones", |
74 | "settings.app.form.enableSystemTray" : "Show Franz in system tray", | 74 | "settings.app.cacheInfo" : "El cache de Franz actualmente usa {size} de espacio en disco.", |
75 | "settings.app.form.language" : "Language", | 75 | "settings.app.currentVersion" : "Versión actual:", |
76 | "settings.app.form.minimizeToSystemTray" : "Minimize Franz to system tray", | 76 | "settings.app.form.autoLaunchInBackground" : "Abrir en segundo plano", |
77 | "settings.app.form.runInBackground" : "Keep Franz in background when closing the window", | 77 | "settings.app.form.autoLaunchOnStart" : "Abrir Franz al iniciar", |
78 | "settings.app.form.showDisabledServices" : "Display disabled services tabs", | 78 | "settings.app.form.beta" : "Incluir versiones beta", |
79 | "settings.app.headline" : "Settings", | 79 | "settings.app.form.enableSpellchecking" : "Activar la verificación ortográfica", |
80 | "settings.app.headlineAdvanced" : "Advanced", | 80 | "settings.app.form.enableSystemTray" : "Mostrar Franz en la bandeja del sistema", |
81 | "settings.app.headlineAppearance" : "Appearance", | 81 | "settings.app.form.language" : "Idioma", |
82 | "settings.app.form.minimizeToSystemTray" : "Minimizar Franz a la bandeja del sistema", | ||
83 | "settings.app.form.runInBackground" : "Mantener Franz en segundo plano al cerrar la ventana", | ||
84 | "settings.app.form.showDisabledServices" : "Mostrar pestañas de servicios desactivados", | ||
85 | "settings.app.form.showMessagesBadgesWhenMuted" : "Mostrar la insignia de mensajes sin leer cuando las notificaciones están desactivadas", | ||
86 | "settings.app.headline" : "Configuración", | ||
87 | "settings.app.headlineAdvanced" : "Avanzado", | ||
88 | "settings.app.headlineAppearance" : "Apariencia", | ||
82 | "settings.app.headlineGeneral" : "General", | 89 | "settings.app.headlineGeneral" : "General", |
83 | "settings.app.headlineLanguage" : "Language", | 90 | "settings.app.headlineLanguage" : "Idioma", |
84 | "settings.app.headlineUpdates" : "Updates", | 91 | "settings.app.headlineUpdates" : "Actualizaciones", |
85 | "settings.app.restartRequired" : "Changes require restart", | 92 | "settings.app.restartRequired" : "Los cambios requieren reiniciar", |
86 | "settings.app.translationHelp" : "Help us to translate Franz into your language.", | 93 | "settings.app.subheadlineCache" : "Caché", |
87 | "settings.app.updateStatusAvailable" : "Update available, downloading...", | 94 | "settings.app.translationHelp" : "Ayúdenos a traducir Franz a su idioma.", |
88 | "settings.app.updateStatusSearching" : "Is searching for update", | 95 | "settings.app.updateStatusAvailable" : "Actualización disponible, descargando...", |
89 | "settings.app.updateStatusUpToDate" : "You are using the latest version of Franz", | 96 | "settings.app.updateStatusSearching" : "Buscando actualizaciones", |
90 | "settings.navigation.account" : "Account", | 97 | "settings.app.updateStatusUpToDate" : "Está utilizando la última versión de Franz", |
91 | "settings.navigation.availableServices" : "Available services", | 98 | "settings.navigation.account" : "Cuenta", |
92 | "settings.navigation.logout" : "Logout", | 99 | "settings.navigation.availableServices" : "Servicios disponibles", |
93 | "settings.navigation.settings" : "Settings", | 100 | "settings.navigation.logout" : "Cerrar sesión", |
94 | "settings.navigation.yourServices" : "Your services", | 101 | "settings.navigation.settings" : "Configuración", |
95 | "settings.recipes.all" : "All services", | 102 | "settings.navigation.yourServices" : "Sus servicios", |
96 | "settings.recipes.dev" : "Development", | 103 | "settings.recipes.all" : "Todos los servicios", |
97 | "settings.recipes.headline" : "Available services", | 104 | "settings.recipes.dev" : "Desarrollo", |
98 | "settings.recipes.missingService" : "Missing a service?", | 105 | "settings.recipes.headline" : "Servicios disponibles", |
99 | "settings.recipes.mostPopular" : "Most popular", | 106 | "settings.recipes.missingService" : "¿Falta algún servicio?", |
100 | "settings.recipes.nothingFound" : "Sorry, but no service matched your search term.", | 107 | "settings.recipes.mostPopular" : "Más populares", |
101 | "settings.recipes.servicesSuccessfulAddedInfo" : "Service successfully added", | 108 | "settings.recipes.nothingFound" : "Lo siento, no se encuentra ningún servicio con tus condiciones de búsqueda.", |
102 | "settings.service.error.goBack" : "Back to services", | 109 | "settings.recipes.servicesSuccessfulAddedInfo" : "Servicio añadido satisfactoriamente", |
110 | "settings.searchService" : "Buscar Servicio", | ||
111 | "settings.service.error.goBack" : "Volver a los servicios", | ||
103 | "settings.service.error.headline" : "Error", | 112 | "settings.service.error.headline" : "Error", |
104 | "settings.service.error.message" : "Could not load service recipe.", | 113 | "settings.service.error.message" : "No se puede cargar el servicio", |
105 | "settings.service.form.addServiceHeadline" : "Add {name}", | 114 | "settings.service.form.addServiceHeadline" : "Añadir {name}", |
106 | "settings.service.form.availableServices" : "Available services", | 115 | "settings.service.form.availableServices" : "Servicios disponibles", |
107 | "settings.service.form.customUrl" : "Custom server", | 116 | "settings.service.form.customUrl" : "Servidor personalizado", |
108 | "settings.service.form.customUrlPremiumInfo" : "To add self hosted services, you need a Franz Premium Supporter Account.", | 117 | "settings.service.form.customUrlPremiumInfo" : "Para añadir tus propios servicios necesitas una Cuenta Colaborador Premium de Franz.", |
109 | "settings.service.form.customUrlUpgradeAccount" : "Upgrade your account", | 118 | "settings.service.form.customUrlUpgradeAccount" : "Asciende tu cuenta", |
110 | "settings.service.form.customUrlValidationError" : "Could not validate custom {name} server.", | 119 | "settings.service.form.customUrlValidationError" : "No se pudo validar el servidor personalizado {name}.", |
111 | "settings.service.form.deleteButton" : "Delete service", | 120 | "settings.service.form.deleteButton" : "Eliminar servicio", |
112 | "settings.service.form.editServiceHeadline" : "Edit {name}", | 121 | "settings.service.form.editServiceHeadline" : "Editar {name}", |
113 | "settings.service.form.enableAudio" : "Enable audio", | 122 | "settings.service.form.enableAudio" : "Habilitar audio", |
114 | "settings.service.form.enableNotification" : "Enable notifications", | 123 | "settings.service.form.enableBadge" : "Mostrar insignia de mensajes no leÃdos", |
115 | "settings.service.form.enableService" : "Enable service", | 124 | "settings.service.form.enableNotification" : "Activar notificaciones", |
116 | "settings.service.form.indirectMessageInfo" : "You will be notified about all new messages in a channel, not just @username, @channel, @here, ...", | 125 | "settings.service.form.enableService" : "Activar servicio", |
117 | "settings.service.form.indirectMessages" : "Show message badge for all new messages", | 126 | "settings.service.form.headlineBadges" : "Insignias de mensaje no leÃdos", |
118 | "settings.service.form.isMutedInfo" : "When disabled, all notification sounds and audio playback are muted", | 127 | "settings.service.form.headlineGeneral" : "General", |
119 | "settings.service.form.name" : "Name", | 128 | "settings.service.form.headlineNotifications" : "Notificaciones", |
120 | "settings.service.form.saveButton" : "Save service", | 129 | "settings.service.form.icon" : "Icono Personalizado", |
121 | "settings.service.form.tabHosted" : "Hosted", | 130 | "settings.service.form.iconDelete" : "Borrar", |
122 | "settings.service.form.tabOnPremise" : "Self hosted âï¸", | 131 | "settings.service.form.iconUpload" : "Arrastra tu imagen o haz clic aquÃ", |
123 | "settings.service.form.team" : "Team", | 132 | "settings.service.form.indirectMessageInfo" : "Se le notificará de todos los mensajes del canal, no sólo @username, @channel, @here, ...", |
124 | "settings.service.form.yourServices" : "Your services", | 133 | "settings.service.form.indirectMessages" : "Muestra etiqueta de notificación para todos los mensajes nuevos", |
125 | "settings.services.deletedInfo" : "Service has been deleted", | 134 | "settings.service.form.isMutedInfo" : "Cuando estén desactivados, todos los sonidos de notificación y la reproducción de audio se silencian", |
126 | "settings.services.discoverServices" : "Discover services", | 135 | "settings.service.form.name" : "Nombre", |
127 | "settings.services.headline" : "Your services", | 136 | "settings.service.form.saveButton" : "Guardar servicio", |
128 | "settings.services.noServicesAdded" : "You haven't added any services yet.", | 137 | "settings.service.form.tabHosted" : "Alojado", |
129 | "settings.services.tooltip.isDisabled" : "Service is disabled", | 138 | "settings.service.form.tabOnPremise" : "Auto alojado âï¸", |
130 | "settings.services.tooltip.isMuted" : "All sounds are muted", | 139 | "settings.service.form.team" : "Equipo", |
131 | "settings.services.tooltip.notificationsDisabled" : "Notifications are disabled", | 140 | "settings.service.form.useHostedService" : "Use el servicio alojado {name}.", |
132 | "settings.services.updatedInfo" : "Your changes have been saved", | 141 | "settings.service.form.yourServices" : "Tus servicios", |
133 | "settings.user.form.accountType.company" : "Company", | 142 | "settings.services.deletedInfo" : "El servicio ha sido borrado", |
134 | "settings.user.form.accountType.individual" : "Individual", | 143 | "settings.services.discoverServices" : "Descubrir servicios", |
135 | "settings.user.form.accountType.label" : "Account type", | 144 | "settings.services.headline" : "Tus servicios", |
136 | "settings.user.form.accountType.non-profit" : "Non-Profit", | 145 | "settings.services.noServicesAdded" : "No has añadido ningún servicio aún.", |
137 | "settings.user.form.currentPassword" : "Current password", | 146 | "settings.services.tooltip.isDisabled" : "El servicio está desactivado", |
138 | "settings.user.form.email" : "Email", | 147 | "settings.services.tooltip.isMuted" : "Todos los sonidos están silenciados", |
139 | "settings.user.form.firstname" : "First Name", | 148 | "settings.services.tooltip.notificationsDisabled" : "Las notificaciones están desactivadas", |
140 | "settings.user.form.lastname" : "Last Name", | 149 | "settings.services.updatedInfo" : "Tus cambios se han guardado", |
141 | "settings.user.form.newPassword" : "New password", | 150 | "settings.user.form.accountType.company" : "CompañÃa", |
142 | "sidebar.addNewService" : "Add new service", | 151 | "settings.user.form.accountType.individual" : "Personal", |
143 | "sidebar.mute" : "Disable audio", | 152 | "settings.user.form.accountType.label" : "Tipo de cuenta", |
144 | "sidebar.settings" : "Settings", | 153 | "settings.user.form.accountType.non-profit" : "Sin fines lucrativos", |
145 | "sidebar.unmute" : "Enable audio", | 154 | "settings.user.form.currentPassword" : "Contraseña actual", |
146 | "signup.company.label" : "Company", | 155 | "settings.user.form.email" : "Correo electrónico", |
147 | "signup.email.label" : "Email address", | 156 | "settings.user.form.firstname" : "Nombre", |
148 | "signup.emailDuplicate" : "A user with that email address already exists", | 157 | "settings.user.form.lastname" : "Apellidos", |
149 | "signup.firstname.label" : "First Name", | 158 | "settings.user.form.newPassword" : "Contraseña nueva", |
150 | "signup.headline" : "Sign up", | 159 | "sidebar.addNewService" : "Añadir un nuevo servicio", |
151 | "signup.lastname.label" : "Last Name", | 160 | "sidebar.muteApp" : "Desactivar notificaciones y sonido", |
152 | "signup.legal.info" : "By creating a Franz account you accept the", | 161 | "sidebar.settings" : "Configuración", |
153 | "signup.legal.privacy" : "Privacy Statement", | 162 | "sidebar.unmuteApp" : "Activar notificaciones y sonido", |
154 | "signup.legal.terms" : "Terms of service", | 163 | "signup.company.label" : "CompañÃa", |
155 | "signup.link.login" : "Already have an account, sign in?", | 164 | "signup.email.label" : "Dirección de correo electrónico", |
156 | "signup.password.label" : "Password", | 165 | "signup.emailDuplicate" : "Ya existe un usuario con esa dirección de correo electrónico", |
157 | "signup.submit.label" : "Create account", | 166 | "signup.firstname.label" : "Nombre", |
158 | "subscription.euTaxInfo" : "EU residents: local sales tax may apply", | 167 | "signup.headline" : "Registrarse", |
159 | "subscription.features.ads" : "No ads, ever!", | 168 | "signup.lastname.label" : "Apellidos", |
160 | "subscription.features.comingSoon" : "coming soon", | 169 | "signup.legal.info" : "Al crear una cuenta en Franz usted acepta las", |
161 | "subscription.features.customServices" : "Private services for you and your team", | 170 | "signup.legal.privacy" : "Declaración de privacidad", |
162 | "subscription.features.encryptedSync" : "Encrypted session synchronization", | 171 | "signup.legal.terms" : "Términos de servicio", |
163 | "subscription.features.onpremise" : "Add on-premise\/hosted services like HipChat", | 172 | "signup.link.login" : "Ya tienes una cuenta, ¿Iniciar sesión?", |
164 | "subscription.features.vpn" : "Proxy & VPN support", | 173 | "signup.password.label" : "Contraseña", |
165 | "subscription.includedFeatures" : "Paid Franz Premium Supporter Account includes", | 174 | "signup.submit.label" : "Crear cuenta", |
175 | "subscription.euTaxInfo" : "Residentes en la UE: pueden ser aplicados impuestos locales", | ||
176 | "subscription.features.ads" : "¡Sin publicidad, para siempre!", | ||
177 | "subscription.features.comingSoon" : "próximamente", | ||
178 | "subscription.features.customServices" : "Servicios privados para ti y tu equipo", | ||
179 | "subscription.features.encryptedSync" : "Sincronización de sesión encriptada", | ||
180 | "subscription.features.onpremise" : "Añade servicios locales\/autoalojados como HipChat", | ||
181 | "subscription.features.vpn" : "Soporte para Proxy y VPN", | ||
182 | "subscription.includedFeatures" : "La Cuenta Colaborador Premium de Franz incluye", | ||
166 | "subscription.mining.experimental" : "experimental", | 183 | "subscription.mining.experimental" : "experimental", |
167 | "subscription.mining.headline" : "How does this work?", | 184 | "subscription.mining.headline" : "¿Cómo funciona?", |
168 | "subscription.mining.line1" : "By enabling \"Support with processing power\", Franz will use about 20-50% of your CPU to mine the cryptocurrency Monero which equals approximately $ 5\/year.", | 185 | "subscription.mining.line1" : "Al habilitar \"Soporte con poder de procesamiento\", Franz usará aproximadamente 20-50% de su CPU para extraer la criptomoneda Monero, lo que equivale a aproximadamente 5 $\/año.", |
169 | "subscription.mining.line2" : "We will adapt the CPU usage based to your work behaviour to not drain your battery and slow you and your machine down.", | 186 | "subscription.mining.line2" : "Adaptaremos el uso de la CPU en función de su comportamiento de trabajo para no agotar la baterÃa y evitar que tu equipo vaya más lento.", |
170 | "subscription.mining.line3" : "As long as the miner is active, you will have unlimited access to all the Franz Premium Supporter Features.", | 187 | "subscription.mining.line3" : "Mientras el sistema de minado se encuentre activo, podrá tener acceso ilimitado a todas las CaracterÃsticas del Colaborador Premium de Franz.", |
171 | "subscription.mining.moreInformation" : "Get more information about this plan.", | 188 | "subscription.mining.moreInformation" : "Obtén más información sobre este plan.", |
172 | "subscription.paymentSessionError" : "Could not initialize payment form", | 189 | "subscription.paymentSessionError" : "No se pudo inicializar el formulario de pago", |
173 | "subscription.submit.label" : "I want to support the development of Franz", | 190 | "subscription.submit.label" : "Quiero apoyar el desarrollo de Franz", |
174 | "subscription.type.free" : "free", | 191 | "subscription.type.free" : "gratis", |
175 | "subscription.type.mining" : "Support Franz with processing power", | 192 | "subscription.type.mining" : "Ayuda a Franz con potencia de procesamiento", |
176 | "subscription.type.month" : "month", | 193 | "subscription.type.month" : "mes", |
177 | "subscription.type.year" : "year", | 194 | "subscription.type.year" : "año", |
178 | "subscriptionPopup.buttonCancel" : "Cancel", | 195 | "subscriptionPopup.buttonCancel" : "Cancelar", |
179 | "subscriptionPopup.buttonDone" : "Done", | 196 | "subscriptionPopup.buttonDone" : "Listo", |
180 | "tabs.item.deleteService" : "Delete service", | 197 | "tabs.item.deleteService" : "Borrar servicio", |
181 | "tabs.item.disableAudio" : "Disable audio", | 198 | "tabs.item.disableAudio" : "Desactivar sonido", |
182 | "tabs.item.disableNotifications" : "Disable notifications", | 199 | "tabs.item.disableNotifications" : "Desactivar notificaciones", |
183 | "tabs.item.disableService" : "Disable service", | 200 | "tabs.item.disableService" : "Desactivar servicio", |
184 | "tabs.item.edit" : "Edit", | 201 | "tabs.item.edit" : "Editar", |
185 | "tabs.item.enableAudio" : "Enable audio", | 202 | "tabs.item.enableAudio" : "Activar sonido", |
186 | "tabs.item.enableNotification" : "Enable notifications", | 203 | "tabs.item.enableNotification" : "Activar notificaciones", |
187 | "tabs.item.enableService" : "Enable service", | 204 | "tabs.item.enableService" : "Activar servicio", |
188 | "tabs.item.reload" : "Reload", | 205 | "tabs.item.reload" : "Recargar", |
189 | "welcome.loginButton" : "Login to your account", | 206 | "welcome.loginButton" : "Accede a tu cuenta", |
190 | "welcome.signupButton" : "Create a free account", | 207 | "welcome.signupButton" : "Crear una cuenta gratuita", |
191 | "welcome.slogan" : "Messaging that works for you" | 208 | "welcome.slogan" : "MensajerÃa que funciona para ti" |
192 | } | 209 | } |
diff --git a/src/i18n/locales/fr.json b/src/i18n/locales/fr.json index d54d7c34e..4a06975bb 100644 --- a/src/i18n/locales/fr.json +++ b/src/i18n/locales/fr.json | |||
@@ -1,18 +1,18 @@ | |||
1 | { | 1 | { |
2 | "global.api.unhealthy" : "Impossible de se connecter aux services en ligne de Franz", | 2 | "global.api.unhealthy" : "Impossible de se connecter aux services en ligne de Franz.", |
3 | "global.notConnectedToTheInternet" : "Vous n'êtes pas connecté à Internet.", | 3 | "global.notConnectedToTheInternet" : "Vous n'êtes pas connecté(e) à Internet.", |
4 | "import.headline" : "Importez vos services depuis Franz 4", | 4 | "import.headline" : "Importez vos services depuis la version 4 de Franz.", |
5 | "import.notSupportedHeadline" : "Services non supportés actuellement dans Franz 5", | 5 | "import.notSupportedHeadline" : "Ces services ne sont pas encore supportés par Franz 5", |
6 | "import.skip.label" : "Je veux ajouter des services manuellement", | 6 | "import.skip.label" : "Je veux ajouter des services manuellement", |
7 | "import.submit.label" : "Importer des services", | 7 | "import.submit.label" : "Importer des services", |
8 | "infobar.buttonChangelog" : "What is new?", | 8 | "infobar.buttonChangelog" : "Nouveautés", |
9 | "infobar.buttonInstallUpdate" : "Redémarrer et installer la mise à jour", | 9 | "infobar.buttonInstallUpdate" : "Redémarrer et installer la mise à jour", |
10 | "infobar.buttonReloadServices" : "Recharger les services", | 10 | "infobar.buttonReloadServices" : "Recharger les services", |
11 | "infobar.requiredRequestsFailed" : "Impossible de charger les services et les informations de l'utilisateur", | 11 | "infobar.requiredRequestsFailed" : "Impossible d'accéder aux services et informations de l'utilisateur", |
12 | "infobar.servicesUpdated" : "Vos services ont été mis à jour.", | 12 | "infobar.servicesUpdated" : "Vos services ont été mis à jour.", |
13 | "infobar.updateAvailable" : "Une nouvelle mise à jour est disponible pour Franz.", | 13 | "infobar.updateAvailable" : "Une nouvelle mise à jour pour Franz est disponible.", |
14 | "invite.email.label" : "Adresse e-mail", | 14 | "invite.email.label" : "Adresse e-mail", |
15 | "invite.headline.friends" : "Invitez 3 de vos amis ou collègues", | 15 | "invite.headline.friends" : "Invitez 3 amis ou collègues", |
16 | "invite.name.label" : "Nom", | 16 | "invite.name.label" : "Nom", |
17 | "invite.skip.label" : "Je veux faire cela plus tard", | 17 | "invite.skip.label" : "Je veux faire cela plus tard", |
18 | "invite.submit.label" : "Envoyer des invitations", | 18 | "invite.submit.label" : "Envoyer des invitations", |
@@ -20,41 +20,45 @@ | |||
20 | "login.headline" : "S'inscrire", | 20 | "login.headline" : "S'inscrire", |
21 | "login.invalidCredentials" : "E-mail ou mot de passe invalide", | 21 | "login.invalidCredentials" : "E-mail ou mot de passe invalide", |
22 | "login.link.password" : "Réinitialiser le mot de passe", | 22 | "login.link.password" : "Réinitialiser le mot de passe", |
23 | "login.link.signup" : "Créer un compte gratuitement", | 23 | "login.link.signup" : "Créer un compte gratuit", |
24 | "login.password.label" : "Mot de passe", | 24 | "login.password.label" : "Mot de passe", |
25 | "login.serverLogout" : "Votre session a expiré, veuillez vous reconnecter.", | 25 | "login.serverLogout" : "Votre session a expiré. Reconnectez-vous s'il vous plaît.", |
26 | "login.submit.label" : "Se connecter", | 26 | "login.submit.label" : "Connexion", |
27 | "login.tokenExpired" : "Votre session a expiré, veuillez vous reconnecter.", | 27 | "login.tokenExpired" : "Votre session a expiré, veuillez vous reconnecter.", |
28 | "password.email.label" : "Adresse e-mail", | 28 | "password.email.label" : "Adresse e-mail", |
29 | "password.headline" : "Réinitialiser le mot de passe", | 29 | "password.headline" : "Réinitialiser le mot de passe", |
30 | "password.link.login" : "Connectez-vous à votre compte", | 30 | "password.link.login" : "Connectez-vous à votre compte", |
31 | "password.link.signup" : "Créer un compte gratuitement", | 31 | "password.link.signup" : "Créer un compte gratuit.", |
32 | "password.noUser" : "Aucun utilisateur avec cette adresse e-mail n'a été trouvé", | 32 | "password.noUser" : "Aucun utilisateur n'a été trouvé avec cette adresse e-mail ", |
33 | "password.submit.label" : "Soumettre", | 33 | "password.submit.label" : "Soumettre", |
34 | "password.successInfo" : "Merci de consulter vos e-mails", | 34 | "password.successInfo" : "Merci de consulter vos e-mails", |
35 | "pricing.headline" : "Supportez Franz", | 35 | "pricing.headline" : "Soutenez Franz", |
36 | "pricing.link.skipPayment" : "Je ne veux pas soutenir le développement de Franz.", | 36 | "pricing.link.skipPayment" : "Je ne veux pas soutenir le développement de Franz.", |
37 | "pricing.submit.label" : "Je veux soutenir le développement de Franz", | 37 | "pricing.submit.label" : "Je veux soutenir le développement de Franz", |
38 | "pricing.support.label" : "Sélectionnez votre plan de soutien", | 38 | "pricing.support.label" : "Sélectionnez votre plan de soutien", |
39 | "service.crashHandler.action" : "Reload {name}", | 39 | "service.crashHandler.action" : "Recharger {name}", |
40 | "service.crashHandler.autoReload" : "Trying to automatically restore {name} in {seconds} seconds", | 40 | "service.crashHandler.autoReload" : "Tentative de restauration automatique de {name} dans {seconds} secondes", |
41 | "service.crashHandler.headline" : "Oh no!", | 41 | "service.crashHandler.headline" : "Oh non !", |
42 | "service.crashHandler.text" : "{name} has caused an error.", | 42 | "service.crashHandler.text" : "{name} a causé une erreur.", |
43 | "service.disabledHandler.action" : "Enable {name}", | 43 | "service.disabledHandler.action" : "Activer {name}", |
44 | "service.disabledHandler.headline" : "{name} is disabled", | 44 | "service.disabledHandler.headline" : "{name} est désactivé", |
45 | "services.getStarted" : "Commencer", | 45 | "services.getStarted" : "Commencer", |
46 | "services.welcome" : "Bienvenue sur Franz", | 46 | "services.welcome" : "Bienvenue dans Franz", |
47 | "settings.account.account.editButton" : "Modifier le compte", | 47 | "settings.account.account.editButton" : "Modifier le compte", |
48 | "settings.account.accountType.basic" : "Compte basique", | 48 | "settings.account.accountType.basic" : "Compte de base", |
49 | "settings.account.accountType.premium" : "Compte Supporter Premium", | 49 | "settings.account.accountType.premium" : "Compte supporteur premium", |
50 | "settings.account.buttonSave" : "Mettre à jour le profil", | 50 | "settings.account.buttonSave" : "Mettre à jour le profil", |
51 | "settings.account.deleteAccount" : "Supprimer le compte", | ||
52 | "settings.account.deleteEmailSent" : "Vous avez reçu un email contenant le lien pour confirmer la suppression de votre compte. Votre compte et les données qui lui sont associés ne pourront être récupérés", | ||
53 | "settings.account.deleteInfo" : "Si vous n'avez plus besoin de votre compte Franz, vous pouvez le supprimer avec toutes ses données associées.", | ||
51 | "settings.account.headline" : "Compte", | 54 | "settings.account.headline" : "Compte", |
52 | "settings.account.headlineAccount" : "Informations de compte", | 55 | "settings.account.headlineAccount" : "Informations sur le compte", |
56 | "settings.account.headlineDangerZone" : "Zone Dangereuse !", | ||
53 | "settings.account.headlineInvoices" : "Factures", | 57 | "settings.account.headlineInvoices" : "Factures", |
54 | "settings.account.headlinePassword" : "Changer le mot de passe", | 58 | "settings.account.headlinePassword" : "Changer le mot de passe", |
55 | "settings.account.headlineProfile" : "Mettre à jour le profil", | 59 | "settings.account.headlineProfile" : "Mettre à jour le profil", |
56 | "settings.account.headlineSubscription" : "Votre abonnement", | 60 | "settings.account.headlineSubscription" : "Votre abonnement", |
57 | "settings.account.headlineUpgrade" : "Améliorez votre compte et supportez Franz", | 61 | "settings.account.headlineUpgrade" : "Améliorez votre compte et soutenez Franz", |
58 | "settings.account.invoiceDownload" : "Télécharger", | 62 | "settings.account.invoiceDownload" : "Télécharger", |
59 | "settings.account.manageSubscription.label" : "Gérer votre abonnement", | 63 | "settings.account.manageSubscription.label" : "Gérer votre abonnement", |
60 | "settings.account.mining.active" : "Vous êtes en train d'effectuer {hashes} calculs par seconde.", | 64 | "settings.account.mining.active" : "Vous êtes en train d'effectuer {hashes} calculs par seconde.", |
@@ -64,28 +68,32 @@ | |||
64 | "settings.account.successInfo" : "Vos modifications ont été enregistrées", | 68 | "settings.account.successInfo" : "Vos modifications ont été enregistrées", |
65 | "settings.account.tryReloadUserInfoRequest" : "Réessayer", | 69 | "settings.account.tryReloadUserInfoRequest" : "Réessayer", |
66 | "settings.account.userInfoRequestFailed" : "Impossible de charger les informations de l'utilisateur", | 70 | "settings.account.userInfoRequestFailed" : "Impossible de charger les informations de l'utilisateur", |
71 | "settings.app.buttonClearAllCache" : "Vider le cache", | ||
67 | "settings.app.buttonInstallUpdate" : "Redémarrer et installer la mise à jour", | 72 | "settings.app.buttonInstallUpdate" : "Redémarrer et installer la mise à jour", |
68 | "settings.app.buttonSearchForUpdate" : "Vérifier les mises à jour", | 73 | "settings.app.buttonSearchForUpdate" : "Vérifier les mises à jour", |
69 | "settings.app.currentVersion" : "Version actuelle:", | 74 | "settings.app.cacheInfo" : "Le cache de Franz occupe actuellement {size} en espace disque.", |
75 | "settings.app.currentVersion" : "Version actuelle :", | ||
70 | "settings.app.form.autoLaunchInBackground" : "Ouvrir en arrière-plan", | 76 | "settings.app.form.autoLaunchInBackground" : "Ouvrir en arrière-plan", |
71 | "settings.app.form.autoLaunchOnStart" : "Lancer Franz au démarrage", | 77 | "settings.app.form.autoLaunchOnStart" : "Lancer Franz au démarrage", |
72 | "settings.app.form.beta" : "Inclure les versions bêta", | 78 | "settings.app.form.beta" : "Accepter les versions bêta", |
73 | "settings.app.form.enableSpellchecking" : "Enable spell checking", | 79 | "settings.app.form.enableSpellchecking" : "Activer la vérification orthographique", |
74 | "settings.app.form.enableSystemTray" : "Afficher Franz dans la barre d'état système", | 80 | "settings.app.form.enableSystemTray" : "Afficher Franz dans la barre d'état système", |
75 | "settings.app.form.language" : "Langue", | 81 | "settings.app.form.language" : "Langue", |
76 | "settings.app.form.minimizeToSystemTray" : "Minimiser Franz dans la zone de notification", | 82 | "settings.app.form.minimizeToSystemTray" : "Minimiser Franz dans la zone de notification", |
77 | "settings.app.form.runInBackground" : "Ouvrir en arrière-plan", | 83 | "settings.app.form.runInBackground" : "Garder Franz ouvert en arrière-plan à la fermeture de la fenêtre", |
78 | "settings.app.form.showDisabledServices" : "Display disabled services tabs", | 84 | "settings.app.form.showDisabledServices" : "Afficher les onglets des services désactivés", |
85 | "settings.app.form.showMessagesBadgesWhenMuted" : "Afficher les badges de messages non lus quand les notifications sont désactivées.", | ||
79 | "settings.app.headline" : "Paramètres", | 86 | "settings.app.headline" : "Paramètres", |
80 | "settings.app.headlineAdvanced" : "Advanced", | 87 | "settings.app.headlineAdvanced" : "Paramètres avancés", |
81 | "settings.app.headlineAppearance" : "Appearance", | 88 | "settings.app.headlineAppearance" : "Apparence", |
82 | "settings.app.headlineGeneral" : "Général", | 89 | "settings.app.headlineGeneral" : "Général", |
83 | "settings.app.headlineLanguage" : "Langue", | 90 | "settings.app.headlineLanguage" : "Langue", |
84 | "settings.app.headlineUpdates" : "Mises à jour", | 91 | "settings.app.headlineUpdates" : "Mises à jour", |
85 | "settings.app.restartRequired" : "Changes require restart", | 92 | "settings.app.restartRequired" : "Les modifications nécessitent un redémarrage", |
86 | "settings.app.translationHelp" : "Help us to translate Franz into your language.", | 93 | "settings.app.subheadlineCache" : "Cache", |
87 | "settings.app.updateStatusAvailable" : "Mise à jour disponible, téléchargement...", | 94 | "settings.app.translationHelp" : "Aidez-nous à traduire Franz dans votre langue.", |
88 | "settings.app.updateStatusSearching" : "Recherche des mises à jour", | 95 | "settings.app.updateStatusAvailable" : "Mise à jour disponible, téléchargement en cours...", |
96 | "settings.app.updateStatusSearching" : "Recherche d'une mise à jour", | ||
89 | "settings.app.updateStatusUpToDate" : "Vous utilisez la dernière version de Franz", | 97 | "settings.app.updateStatusUpToDate" : "Vous utilisez la dernière version de Franz", |
90 | "settings.navigation.account" : "Compte", | 98 | "settings.navigation.account" : "Compte", |
91 | "settings.navigation.availableServices" : "Services disponibles", | 99 | "settings.navigation.availableServices" : "Services disponibles", |
@@ -95,10 +103,11 @@ | |||
95 | "settings.recipes.all" : "Tous les services", | 103 | "settings.recipes.all" : "Tous les services", |
96 | "settings.recipes.dev" : "Développement", | 104 | "settings.recipes.dev" : "Développement", |
97 | "settings.recipes.headline" : "Services disponibles", | 105 | "settings.recipes.headline" : "Services disponibles", |
98 | "settings.recipes.missingService" : "Missing a service?", | 106 | "settings.recipes.missingService" : "Un service est manquant ?", |
99 | "settings.recipes.mostPopular" : "Les plus populaires", | 107 | "settings.recipes.mostPopular" : "Les plus populaires", |
100 | "settings.recipes.nothingFound" : "Désolé, aucun service ne correspond à votre recherche.", | 108 | "settings.recipes.nothingFound" : "Désolé, aucun service ne correspond à votre recherche.", |
101 | "settings.recipes.servicesSuccessfulAddedInfo" : "Service ajouté avec succès", | 109 | "settings.recipes.servicesSuccessfulAddedInfo" : "Le service a été ajouté avec succès", |
110 | "settings.searchService" : "Chercher un service", | ||
102 | "settings.service.error.goBack" : "Retour aux services", | 111 | "settings.service.error.goBack" : "Retour aux services", |
103 | "settings.service.error.headline" : "Erreur", | 112 | "settings.service.error.headline" : "Erreur", |
104 | "settings.service.error.message" : "Impossible de charger le service.", | 113 | "settings.service.error.message" : "Impossible de charger le service.", |
@@ -107,65 +116,73 @@ | |||
107 | "settings.service.form.customUrl" : "Serveur personnalisé", | 116 | "settings.service.form.customUrl" : "Serveur personnalisé", |
108 | "settings.service.form.customUrlPremiumInfo" : "Pour ajouter des services auto-hébergés, vous avez besoin d'un compte Supporter Premium Franz.", | 117 | "settings.service.form.customUrlPremiumInfo" : "Pour ajouter des services auto-hébergés, vous avez besoin d'un compte Supporter Premium Franz.", |
109 | "settings.service.form.customUrlUpgradeAccount" : "Améliorez votre compte", | 118 | "settings.service.form.customUrlUpgradeAccount" : "Améliorez votre compte", |
110 | "settings.service.form.customUrlValidationError" : "Impossible de valider le {name} personnalisé du serveur.", | 119 | "settings.service.form.customUrlValidationError" : "Impossible de valider le serveur personnalisé {name}.", |
111 | "settings.service.form.deleteButton" : "Supprimer le service", | 120 | "settings.service.form.deleteButton" : "Supprimer le service", |
112 | "settings.service.form.editServiceHeadline" : "Modifier {name}", | 121 | "settings.service.form.editServiceHeadline" : "Modifier {name}", |
113 | "settings.service.form.enableAudio" : "Enable audio", | 122 | "settings.service.form.enableAudio" : "Activer l'audio", |
123 | "settings.service.form.enableBadge" : "Afficher le badge des messages non lus", | ||
114 | "settings.service.form.enableNotification" : "Activer les notifications", | 124 | "settings.service.form.enableNotification" : "Activer les notifications", |
115 | "settings.service.form.enableService" : "Activer le service", | 125 | "settings.service.form.enableService" : "Activer le service", |
116 | "settings.service.form.indirectMessageInfo" : "Vous serez averti de tous les nouveaux messages dans un salon, pas seulement @username, @channel, @here, ...", | 126 | "settings.service.form.headlineBadges" : "Badge des messages non lus", |
127 | "settings.service.form.headlineGeneral" : "Général", | ||
128 | "settings.service.form.headlineNotifications" : "Notifications", | ||
129 | "settings.service.form.icon" : "Icône personnalisée", | ||
130 | "settings.service.form.iconDelete" : "Supprimer", | ||
131 | "settings.service.form.iconUpload" : "Déposez votre image, ou cliquez ici", | ||
132 | "settings.service.form.indirectMessageInfo" : "Vous serez averti de tous les nouveaux messages en ligne, pas seulement sur @username, @channel, @here, ...", | ||
117 | "settings.service.form.indirectMessages" : "Afficher le badge des messages pour tous les nouveaux messages", | 133 | "settings.service.form.indirectMessages" : "Afficher le badge des messages pour tous les nouveaux messages", |
118 | "settings.service.form.isMutedInfo" : "When disabled, all notification sounds and audio playback are muted", | 134 | "settings.service.form.isMutedInfo" : "Lorsque désactivé, tous les sons de notifications ainsi que l'audio sont coupés", |
119 | "settings.service.form.name" : "Nom", | 135 | "settings.service.form.name" : "Nom", |
120 | "settings.service.form.saveButton" : "Enregistrer le service", | 136 | "settings.service.form.saveButton" : "Enregistrer le service", |
121 | "settings.service.form.tabHosted" : "Hébergé", | 137 | "settings.service.form.tabHosted" : "Hébergé", |
122 | "settings.service.form.tabOnPremise" : "Auto-hébergé âï¸", | 138 | "settings.service.form.tabOnPremise" : "Auto-hébergé âï¸", |
123 | "settings.service.form.team" : "Équipe", | 139 | "settings.service.form.team" : "Équipe", |
140 | "settings.service.form.useHostedService" : "Use the hosted {name} service.", | ||
124 | "settings.service.form.yourServices" : "Vos services", | 141 | "settings.service.form.yourServices" : "Vos services", |
125 | "settings.services.deletedInfo" : "Le service a été supprimé", | 142 | "settings.services.deletedInfo" : "Le service a été supprimé", |
126 | "settings.services.discoverServices" : "Découvrir des services", | 143 | "settings.services.discoverServices" : "Découvrir les services", |
127 | "settings.services.headline" : "Vos services", | 144 | "settings.services.headline" : "Vos services", |
128 | "settings.services.noServicesAdded" : "Vous n'avez pas encore ajouté de services.", | 145 | "settings.services.noServicesAdded" : "Vous n'avez pas encore ajouté de services.", |
129 | "settings.services.tooltip.isDisabled" : "Le service est désactivé", | 146 | "settings.services.tooltip.isDisabled" : "Ce service est désactivé", |
130 | "settings.services.tooltip.isMuted" : "All sounds are muted", | 147 | "settings.services.tooltip.isMuted" : "Tous les sons sont coupés", |
131 | "settings.services.tooltip.notificationsDisabled" : "Les notifications sont désactivées", | 148 | "settings.services.tooltip.notificationsDisabled" : "Notifications désactivées.", |
132 | "settings.services.updatedInfo" : "Vos modifications ont été enregistrées", | 149 | "settings.services.updatedInfo" : "Vos modifications ont été enregistrées", |
133 | "settings.user.form.accountType.company" : "Entreprise", | 150 | "settings.user.form.accountType.company" : "Entreprise", |
134 | "settings.user.form.accountType.individual" : "Individuel", | 151 | "settings.user.form.accountType.individual" : "Individuel", |
135 | "settings.user.form.accountType.label" : "Type de compte", | 152 | "settings.user.form.accountType.label" : "Type de compte", |
136 | "settings.user.form.accountType.non-profit" : "Non lucratif", | 153 | "settings.user.form.accountType.non-profit" : "Non-lucratif", |
137 | "settings.user.form.currentPassword" : "Mot de passe actuel", | 154 | "settings.user.form.currentPassword" : "Mot de passe actuel", |
138 | "settings.user.form.email" : "E-mail", | 155 | "settings.user.form.email" : "E-mail", |
139 | "settings.user.form.firstname" : "Prénom", | 156 | "settings.user.form.firstname" : "Prénom", |
140 | "settings.user.form.lastname" : "Nom", | 157 | "settings.user.form.lastname" : "Nom", |
141 | "settings.user.form.newPassword" : "Nouveau mot de passe", | 158 | "settings.user.form.newPassword" : "Nouveau mot de passe", |
142 | "sidebar.addNewService" : "Ajouter un nouveau service", | 159 | "sidebar.addNewService" : "Ajouter un nouveau service", |
143 | "sidebar.mute" : "Disable audio", | 160 | "sidebar.muteApp" : "Désactiver les notifications et les sons", |
144 | "sidebar.settings" : "Paramètres", | 161 | "sidebar.settings" : "Paramètres", |
145 | "sidebar.unmute" : "Enable audio", | 162 | "sidebar.unmuteApp" : "Activer les notifications et les sons", |
146 | "signup.company.label" : "Entreprise", | 163 | "signup.company.label" : "Entreprise", |
147 | "signup.email.label" : "Adresse e-mail", | 164 | "signup.email.label" : "Adresse e-mail", |
148 | "signup.emailDuplicate" : "Un utilisateur avec cette adresse e-mail existe déjà ", | 165 | "signup.emailDuplicate" : "Cette adresse e-mail est déjà utilisée", |
149 | "signup.firstname.label" : "Prénom", | 166 | "signup.firstname.label" : "Prénom", |
150 | "signup.headline" : "S'inscrire", | 167 | "signup.headline" : "S'inscrire", |
151 | "signup.lastname.label" : "Nom", | 168 | "signup.lastname.label" : "Nom", |
152 | "signup.legal.info" : "En créant un compte Franz, vous acceptez les", | 169 | "signup.legal.info" : "En créant un compte Franz, vous acceptez la", |
153 | "signup.legal.privacy" : "Déclaration de confidentialité", | 170 | "signup.legal.privacy" : "Déclaration de confidentialité", |
154 | "signup.legal.terms" : "Conditions d'utilisation", | 171 | "signup.legal.terms" : "Conditions d'utilisation", |
155 | "signup.link.login" : "Vous possédez déjà un compte ? Connectez-vous", | 172 | "signup.link.login" : "Vous avez déjà un compte ? Connectez-vous", |
156 | "signup.password.label" : "Mot de passe", | 173 | "signup.password.label" : "Mot de passe", |
157 | "signup.submit.label" : "Créer un compte", | 174 | "signup.submit.label" : "Créer un compte", |
158 | "subscription.euTaxInfo" : "EU residents: local sales tax may apply", | 175 | "subscription.euTaxInfo" : "Résidents de l'UE : une taxe locale peut s'appliquer", |
159 | "subscription.features.ads" : "Aucune publicité!", | 176 | "subscription.features.ads" : "No ads, ever!", |
160 | "subscription.features.comingSoon" : "arrive bientôt", | 177 | "subscription.features.comingSoon" : "coming soon", |
161 | "subscription.features.customServices" : "Des services privés pour vous et votre équipe", | 178 | "subscription.features.customServices" : "Private services for you and your team", |
162 | "subscription.features.encryptedSync" : "Synchronisation de session chiffrée", | 179 | "subscription.features.encryptedSync" : "Encrypted session synchronization", |
163 | "subscription.features.onpremise" : "Add on-premise\/hosted services like HipChat", | 180 | "subscription.features.onpremise" : "Ajouter des services locaux\/hébergés comme HipChat", |
164 | "subscription.features.vpn" : "Support des Proxy et VPN", | 181 | "subscription.features.vpn" : "Support des Proxy et VPN", |
165 | "subscription.includedFeatures" : "Le compte payant Supporter Premium Franz inclut", | 182 | "subscription.includedFeatures" : "Le compte payant Supporter Premium Franz inclut", |
166 | "subscription.mining.experimental" : "expérimental", | 183 | "subscription.mining.experimental" : "expérimental", |
167 | "subscription.mining.headline" : "Comment cela fonctionne-t-il?", | 184 | "subscription.mining.headline" : "Comment ça marche ?", |
168 | "subscription.mining.line1" : "En activant \"Soutenez Franz avec de la puissance de calcul\", Franz utilisera environ de 20 à 50% de votre CPU pour miner la crypto-monnaie Monero, ce qui équivaut à environ 5$\/an.", | 185 | "subscription.mining.line1" : "En activant \"Soutenez Franz avec de la puissance de calcul\", Franz utilisera entre 20 et 50% de votre CPU pour miner la crypto-monnaie Monero, ce qui équivaut à environ 5$\/an.", |
169 | "subscription.mining.line2" : "Nous adapterons l'utilisation du processeur en fonction de vos habitudes de travail pour ne pas vider votre batterie et ne pas ralentir votre machine.", | 186 | "subscription.mining.line2" : "Nous adapterons l'utilisation du processeur en fonction de vos habitudes de travail pour ne pas vider votre batterie et ne pas ralentir votre machine.", |
170 | "subscription.mining.line3" : "Tant que le minage est actif, vous aurez un accès illimité à toutes les fonctionnalités Supporter Premium Franz.", | 187 | "subscription.mining.line3" : "Tant que le minage est actif, vous aurez un accès illimité à toutes les fonctionnalités Supporter Premium Franz.", |
171 | "subscription.mining.moreInformation" : "Obtenir plus d'informations.", | 188 | "subscription.mining.moreInformation" : "Obtenir plus d'informations.", |
@@ -178,15 +195,15 @@ | |||
178 | "subscriptionPopup.buttonCancel" : "Annuler", | 195 | "subscriptionPopup.buttonCancel" : "Annuler", |
179 | "subscriptionPopup.buttonDone" : "Terminé", | 196 | "subscriptionPopup.buttonDone" : "Terminé", |
180 | "tabs.item.deleteService" : "Supprimer le service", | 197 | "tabs.item.deleteService" : "Supprimer le service", |
181 | "tabs.item.disableAudio" : "Disable audio", | 198 | "tabs.item.disableAudio" : "Désactiver l'audio", |
182 | "tabs.item.disableNotifications" : "Désactiver les notifications", | 199 | "tabs.item.disableNotifications" : "Désactiver les notifications", |
183 | "tabs.item.disableService" : "Désactiver le service", | 200 | "tabs.item.disableService" : "Désactiver le service", |
184 | "tabs.item.edit" : "Modifier", | 201 | "tabs.item.edit" : "Modifier", |
185 | "tabs.item.enableAudio" : "Enable audio", | 202 | "tabs.item.enableAudio" : "Activer l'audio", |
186 | "tabs.item.enableNotification" : "Activer les notifications", | 203 | "tabs.item.enableNotification" : "Activer les notifications", |
187 | "tabs.item.enableService" : "Activer le service", | 204 | "tabs.item.enableService" : "Activer le service", |
188 | "tabs.item.reload" : "Recharger", | 205 | "tabs.item.reload" : "Recharger", |
189 | "welcome.loginButton" : "Connectez-vous à votre compte", | 206 | "welcome.loginButton" : "Connectez-vous à votre compte", |
190 | "welcome.signupButton" : "Créer un compte gratuitement", | 207 | "welcome.signupButton" : "Créer un compte gratuit", |
191 | "welcome.slogan" : "Une messagerie qui fonctionne pour vous" | 208 | "welcome.slogan" : "Une messagerie qui fonctionne pour vous" |
192 | } | 209 | } |
diff --git a/src/i18n/locales/ga.json b/src/i18n/locales/ga.json index 63816cf65..f1a03612d 100644 --- a/src/i18n/locales/ga.json +++ b/src/i18n/locales/ga.json | |||
@@ -1,21 +1,21 @@ | |||
1 | { | 1 | { |
2 | "global.api.unhealthy" : "Nà fhéadfar nascadh le seirbhÃsà arlÃne Franz", | 2 | "global.api.unhealthy" : "Nà féidir le Franz nascadh le seirbhÃsà ar lÃne", |
3 | "global.notConnectedToTheInternet" : "NÃl tú nasctha leis an IdirlÃon.", | 3 | "global.notConnectedToTheInternet" : "NÃl tú nasctha leis an IdirlÃon.", |
4 | "import.headline" : "Iompórtáil do chuid seirbhÃsà Franz 4", | 4 | "import.headline" : "Iompórtáil do chuid seirbhÃsà ó Franz 4", |
5 | "import.notSupportedHeadline" : "NÃl na seirbhÃsà seo taca i Franz 5 go fóill", | 5 | "import.notSupportedHeadline" : "NÃl na seirbhÃsà seo faoi thacaÃocht le Franz 5 go fóill", |
6 | "import.skip.label" : "Ba mhaith liom seirbhÃsà a chur leis de láimh", | 6 | "import.skip.label" : "Ba mhaith liom seirbhÃsà a chur de láimh", |
7 | "import.submit.label" : "Iomportaigh seirbhÃsÃ", | 7 | "import.submit.label" : "Iompórtáil seirbhÃsÃ", |
8 | "infobar.buttonChangelog" : "What is new?", | 8 | "infobar.buttonChangelog" : "Cad atá nua?", |
9 | "infobar.buttonInstallUpdate" : "Atosaigh & suiteáil nuashonrú", | 9 | "infobar.buttonInstallUpdate" : "Atosaigh ⊠suiteáil nuashonrú", |
10 | "infobar.buttonReloadServices" : "Athlódáil seirbhÃsÃ", | 10 | "infobar.buttonReloadServices" : "Athlódáil seirbhÃsÃ", |
11 | "infobar.requiredRequestsFailed" : "Nà fhéadfar seirbhÃsà agus eolas úsáideora a lódáil", | 11 | "infobar.requiredRequestsFailed" : "Nà féidir le Franz seirbhÃsà agus eolas úsáideora a lódáil", |
12 | "infobar.servicesUpdated" : "NuashonraÃtear do chuid seirbhÃsÃ.", | 12 | "infobar.servicesUpdated" : "NuashonraÃodh do chuid seirbhÃsÃ.", |
13 | "infobar.updateAvailable" : "Tá nuashonrú nua do Franz le fáil.", | 13 | "infobar.updateAvailable" : "Tá nuashonrú nua ar fáil do Franz.", |
14 | "invite.email.label" : "Seoladh rÃomhphoist", | 14 | "invite.email.label" : "Seoladh rÃomhphoist", |
15 | "invite.headline.friends" : "Tabhair cuireadh do thriúr de do chairde nó chomhghleacaithe", | 15 | "invite.headline.friends" : "Tabhair cuireadh do thriúr chara nó chomhghleacaÃ", |
16 | "invite.name.label" : "Ainm", | 16 | "invite.name.label" : "Ainm", |
17 | "invite.skip.label" : "Ba mhaith liom é seo a dhéanamh nÃos deireanaÃ", | 17 | "invite.skip.label" : "Ba mhaith liom é seo a dhéanamh nÃos deireanaÃ", |
18 | "invite.submit.label" : "Seol cuireadh", | 18 | "invite.submit.label" : "Seol cuirÃ", |
19 | "login.email.label" : "Seoladh rÃomhphoist", | 19 | "login.email.label" : "Seoladh rÃomhphoist", |
20 | "login.headline" : "Logáil isteach", | 20 | "login.headline" : "Logáil isteach", |
21 | "login.invalidCredentials" : "Seoladh rÃomhphoist nó pasfhocal neamhbhailÃ", | 21 | "login.invalidCredentials" : "Seoladh rÃomhphoist nó pasfhocal neamhbhailÃ", |
@@ -27,29 +27,33 @@ | |||
27 | "login.tokenExpired" : "D'éag do sheisiún, logáil isteach arÃs le do thoil.", | 27 | "login.tokenExpired" : "D'éag do sheisiún, logáil isteach arÃs le do thoil.", |
28 | "password.email.label" : "Seoladh rÃomhphoist", | 28 | "password.email.label" : "Seoladh rÃomhphoist", |
29 | "password.headline" : "Athshocraigh pasfhocal", | 29 | "password.headline" : "Athshocraigh pasfhocal", |
30 | "password.link.login" : "Logáil isteach i do chúntas", | 30 | "password.link.login" : "Logáil isteach do do chúntas", |
31 | "password.link.signup" : "Cruthaigh cuntas saor in aisce", | 31 | "password.link.signup" : "Cruthaigh cuntas saor in aisce", |
32 | "password.noUser" : "NÃor aimsÃodh úsáideoir leis an seoladh rÃomhphoist seo", | 32 | "password.noUser" : "NÃor aimsÃodh úsáideoir leis an seoladh rÃomhphoist seo", |
33 | "password.submit.label" : "Cuir isteach", | 33 | "password.submit.label" : "Cuir isteach", |
34 | "password.successInfo" : "Seiceáil do chuid rÃomhphoist, le do thoil", | 34 | "password.successInfo" : "Seiceáil do chuid rÃomhphoist, le do thoil", |
35 | "pricing.headline" : "Tabhair tacaÃocht do Franz", | 35 | "pricing.headline" : "Tabhair tacaÃocht do Franz", |
36 | "pricing.link.skipPayment" : "NÃ mhaith liom tacaÃocht a thabhairt d'fhorbairt Franz.", | 36 | "pricing.link.skipPayment" : "NÃ mhaith liom tacaÃocht a thabhairt d'fhorbairt Franz.", |
37 | "pricing.submit.label" : "Ba maith liom tacaÃocht a thabhairt d'fhorbairt Franz.", | 37 | "pricing.submit.label" : "Ba mhaith liom tacaÃocht a thabhairt d'fhorbairt Franz.", |
38 | "pricing.support.label" : "Roghnaigh do phlean tacaÃochta", | 38 | "pricing.support.label" : "Roghnaigh do phlean tacaÃochta", |
39 | "service.crashHandler.action" : "Athlódáil {name}", | 39 | "service.crashHandler.action" : "Athlódáil {name}", |
40 | "service.crashHandler.autoReload" : "Ag baint triail {name} a thabhairt ar ais go huathoibrÃoch i gceann {seconds} shoicind", | 40 | "service.crashHandler.autoReload" : "Ag baint triail {name} a thabhairt ar ais go huathoibrÃoch i gceann {seconds} shoicind", |
41 | "service.crashHandler.headline" : "Ó, ná habair!", | 41 | "service.crashHandler.headline" : "Oró, nà hea!", |
42 | "service.crashHandler.text" : "Tá {name} tar éis earraid a dhéanamh.", | 42 | "service.crashHandler.text" : "Tá {name} tar éis earraid a dhéanamh.", |
43 | "service.disabledHandler.action" : "Cumasaigh {name}", | 43 | "service.disabledHandler.action" : "Cumasaigh {name}", |
44 | "service.disabledHandler.headline" : "Tá {name} dÃchumasaithe", | 44 | "service.disabledHandler.headline" : "Tá {name} dÃchumasaithe", |
45 | "services.getStarted" : "Tosaigh", | 45 | "services.getStarted" : "Cuir tús", |
46 | "services.welcome" : "Fáilte go Franz", | 46 | "services.welcome" : "Fáilte go Franz", |
47 | "settings.account.account.editButton" : "Cuir cuntas in eagar", | 47 | "settings.account.account.editButton" : "Cuir cuntas in eagar", |
48 | "settings.account.accountType.basic" : "Bunchuntas", | 48 | "settings.account.accountType.basic" : "Bunchuntas", |
49 | "settings.account.accountType.premium" : "Cuntas Phŕeimhtacadóra Franz", | 49 | "settings.account.accountType.premium" : "Cuntas Phŕeimhtacadóra Franz", |
50 | "settings.account.buttonSave" : "Nuashonraigh próifÃl", | 50 | "settings.account.buttonSave" : "Nuashonraigh próifÃl", |
51 | "settings.account.deleteAccount" : "Scrios cuntas", | ||
52 | "settings.account.deleteEmailSent" : "Fuair tú rÃomhphost a fháil le nasc a dheimhnóidh scriosadh do chuntais. Nà feidir leat do chuntas agus do chuid sonraà a thabhairt ar ais!", | ||
53 | "settings.account.deleteInfo" : "Más rud é nár ghá duit cuntas Franz a bheith agat a thuilleadh, is féidir leat do chuntas agus gach sonraà riachtanach a scriosadh anseo.", | ||
51 | "settings.account.headline" : "Cuntas", | 54 | "settings.account.headline" : "Cuntas", |
52 | "settings.account.headlineAccount" : "Eolas an chuntais", | 55 | "settings.account.headlineAccount" : "Eolas faoin gcuntas", |
56 | "settings.account.headlineDangerZone" : "Scrios cuntas", | ||
53 | "settings.account.headlineInvoices" : "Sonraisc", | 57 | "settings.account.headlineInvoices" : "Sonraisc", |
54 | "settings.account.headlinePassword" : "Athraigh pasfhocal", | 58 | "settings.account.headlinePassword" : "Athraigh pasfhocal", |
55 | "settings.account.headlineProfile" : "Nuashonraigh próifÃl", | 59 | "settings.account.headlineProfile" : "Nuashonraigh próifÃl", |
@@ -58,81 +62,94 @@ | |||
58 | "settings.account.invoiceDownload" : "Ãoslódáil", | 62 | "settings.account.invoiceDownload" : "Ãoslódáil", |
59 | "settings.account.manageSubscription.label" : "Bainistigh do shintiús", | 63 | "settings.account.manageSubscription.label" : "Bainistigh do shintiús", |
60 | "settings.account.mining.active" : "Tá tú ag déanamh {hashes} áireamh in aghaidh an soicind anois.", | 64 | "settings.account.mining.active" : "Tá tú ag déanamh {hashes} áireamh in aghaidh an soicind anois.", |
61 | "settings.account.mining.cancel" : "Cuir an mhÃneáil ar ceal", | 65 | "settings.account.mining.cancel" : "Cuir mÃneáil ar ceal", |
62 | "settings.account.mining.moreInformation" : "Faigh tuilleadh eolais", | 66 | "settings.account.mining.moreInformation" : "Faigh tuilleadh eolais", |
63 | "settings.account.mining.thankyou" : "Go raibh maith agat as ucht tacaÃocht a thabhairt go Franz le do chumhacht phróiseála.", | 67 | "settings.account.mining.thankyou" : "Go raibh maith agat as ucht tacaÃocht a thabhairt go Franz le do chumhacht phróiseála.", |
64 | "settings.account.successInfo" : "Sábhailtear do chuid athruithe", | 68 | "settings.account.successInfo" : "Sábhailtear do chuid athruithe", |
65 | "settings.account.tryReloadUserInfoRequest" : "Atriail", | 69 | "settings.account.tryReloadUserInfoRequest" : "Atriail", |
66 | "settings.account.userInfoRequestFailed" : "Nà fheadfar eolas úsáideora a lódáil", | 70 | "settings.account.userInfoRequestFailed" : "Nà féidir eolas úsáideora a lódáil", |
67 | "settings.app.buttonInstallUpdate" : "Atosaigh & suiteáil nuashonrú", | 71 | "settings.app.buttonClearAllCache" : "Glan taisce", |
68 | "settings.app.buttonSearchForUpdate" : "Seiceáil do nuashonruithe", | 72 | "settings.app.buttonInstallUpdate" : "Atosaigh ⊠suiteáil nuashonrú", |
73 | "settings.app.buttonSearchForUpdate" : "Cinntigh le haghaidh nuashonruithe", | ||
74 | "settings.app.cacheInfo" : "Tá taisce Franz ag baint úsáid as {size} de chuid an spáis diosca.", | ||
69 | "settings.app.currentVersion" : "Leagan reatha:", | 75 | "settings.app.currentVersion" : "Leagan reatha:", |
70 | "settings.app.form.autoLaunchInBackground" : "Oscail sa chúlra", | 76 | "settings.app.form.autoLaunchInBackground" : "Oscail sa chúlra", |
71 | "settings.app.form.autoLaunchOnStart" : "Láinseáil Franz ón tús", | 77 | "settings.app.form.autoLaunchOnStart" : "Láinseáil Franz ón tús", |
72 | "settings.app.form.beta" : "Cuir leagain béite san áireamh", | 78 | "settings.app.form.beta" : "Cuir leagain béite san áireamh", |
73 | "settings.app.form.enableSpellchecking" : "Cumasaigh seiceáil litrithe", | 79 | "settings.app.form.enableSpellchecking" : "Cumasaigh seiceáil litrithe", |
74 | "settings.app.form.enableSystemTray" : "Taispeáin Franz i dtrae an chórais", | 80 | "settings.app.form.enableSystemTray" : "Taispeáin Franz i dtráidire an chórais", |
75 | "settings.app.form.language" : "Teanga", | 81 | "settings.app.form.language" : "Teanga", |
76 | "settings.app.form.minimizeToSystemTray" : "Ãoslaghdaigh Franz go dtà trae an chórais", | 82 | "settings.app.form.minimizeToSystemTray" : "Ãoslaghdaigh Franz go dtà tráidire an chórais", |
77 | "settings.app.form.runInBackground" : "Cóimeád Franz sa chúlra agus an fhuinneog a dhúnadh", | 83 | "settings.app.form.runInBackground" : "Cóimeád Franz sa chúlra agus an fhuinneog a dhúnadh", |
78 | "settings.app.form.showDisabledServices" : "Taispeáin tabanna do sheirbhÃsà dÃchumasaithe", | 84 | "settings.app.form.showDisabledServices" : "Taispeáin tabanna sheirbhÃsà dhÃchumasaithe", |
85 | "settings.app.form.showMessagesBadgesWhenMuted" : "Taispeáin teachtaireachtaà neamhléite agus fógraà dÃchumasaithe", | ||
79 | "settings.app.headline" : "Socruithe", | 86 | "settings.app.headline" : "Socruithe", |
80 | "settings.app.headlineAdvanced" : "Casta", | 87 | "settings.app.headlineAdvanced" : "Casta", |
81 | "settings.app.headlineAppearance" : "Dealramh", | 88 | "settings.app.headlineAppearance" : "Dealramh", |
82 | "settings.app.headlineGeneral" : "Ginearálta", | 89 | "settings.app.headlineGeneral" : "Ginearálta", |
83 | "settings.app.headlineLanguage" : "Teanga", | 90 | "settings.app.headlineLanguage" : "Teanga", |
84 | "settings.app.headlineUpdates" : "Nuashonruithe", | 91 | "settings.app.headlineUpdates" : "Nuashonruithe", |
85 | "settings.app.restartRequired" : "Nà gá tosú arÃs chun athruithe a chur i bhfeidhm", | 92 | "settings.app.restartRequired" : "Nà gá duit tosnú arÃs chun athruithe a chur i bhfeidhm", |
86 | "settings.app.translationHelp" : "Help us to translate Franz into your language.", | 93 | "settings.app.subheadlineCache" : "Taisce", |
87 | "settings.app.updateStatusAvailable" : "Nuashonrú le fáil, ag Ãoslódáil", | 94 | "settings.app.translationHelp" : "Cabhraigh linn, Franz a aistriú do do theanga.", |
95 | "settings.app.updateStatusAvailable" : "Nuashonrú ar fáil, á Ãoslódáil...", | ||
88 | "settings.app.updateStatusSearching" : "Ag cuardú le haghaidh nuashonrú", | 96 | "settings.app.updateStatusSearching" : "Ag cuardú le haghaidh nuashonrú", |
89 | "settings.app.updateStatusUpToDate" : "Tá tú ag baint úsáid as an leagn is deireanaà de Franz", | 97 | "settings.app.updateStatusUpToDate" : "Tá tú ag baint úsáid as an leagan is deireanaà de Franz", |
90 | "settings.navigation.account" : "Cuntas", | 98 | "settings.navigation.account" : "Cuntas", |
91 | "settings.navigation.availableServices" : "SeirbhÃsà le fáil", | 99 | "settings.navigation.availableServices" : "SeirbhÃsà ar fáil", |
92 | "settings.navigation.logout" : "Logáil amach", | 100 | "settings.navigation.logout" : "Logáil amach", |
93 | "settings.navigation.settings" : "Socruithe", | 101 | "settings.navigation.settings" : "Socruithe", |
94 | "settings.navigation.yourServices" : "Do chuid seirbhÃsÃ", | 102 | "settings.navigation.yourServices" : "Do chuid seirbhÃsÃ", |
95 | "settings.recipes.all" : "Gach seirbhÃs", | 103 | "settings.recipes.all" : "Gach seirbhÃs", |
96 | "settings.recipes.dev" : "Forbairt", | 104 | "settings.recipes.dev" : "Forbairt", |
97 | "settings.recipes.headline" : "SeirbhÃsà le fáil", | 105 | "settings.recipes.headline" : "SeirbhÃsà ar fáil", |
98 | "settings.recipes.missingService" : "Missing a service?", | 106 | "settings.recipes.missingService" : "SeirbhÃs ar iarraidh?", |
99 | "settings.recipes.mostPopular" : "Is coitianta", | 107 | "settings.recipes.mostPopular" : "Is coitianta", |
100 | "settings.recipes.nothingFound" : "Tá brón orm, ach nÃl seirbhÃs ar bith ag teacht le do théarma chuardach.", | 108 | "settings.recipes.nothingFound" : "Tá brón orm, ach nÃl seirbhÃs ar bith ag teacht le do théarma chuardach.", |
101 | "settings.recipes.servicesSuccessfulAddedInfo" : "SeirbhÃs curtha leis go ráthúil", | 109 | "settings.recipes.servicesSuccessfulAddedInfo" : "SeirbhÃs curtha go ráthúil", |
110 | "settings.searchService" : "Cuardaigh seirbhÃs", | ||
102 | "settings.service.error.goBack" : "Ar ais go dtà seirbhÃsÃ", | 111 | "settings.service.error.goBack" : "Ar ais go dtà seirbhÃsÃ", |
103 | "settings.service.error.headline" : "Earraid", | 112 | "settings.service.error.headline" : "Earráid", |
104 | "settings.service.error.message" : "Nà fhéadfar oideas seirbhÃse a lódáil.", | 113 | "settings.service.error.message" : "Nà féidir le oidis seirbhÃse a lódáil.", |
105 | "settings.service.form.addServiceHeadline" : "Cuir {name} leis", | 114 | "settings.service.form.addServiceHeadline" : "Cuir {name} leis", |
106 | "settings.service.form.availableServices" : "SeirbhÃsà le fáil", | 115 | "settings.service.form.availableServices" : "SeirbhÃsà le fáil", |
107 | "settings.service.form.customUrl" : "Freastalaà saincheaptha", | 116 | "settings.service.form.customUrl" : "Freastalaà shaincheaptha", |
108 | "settings.service.form.customUrlPremiumInfo" : "Chun seirbhÃsà féinóstáilte a chur leis, nà gá Cuntas PhÅ•eimhtacadóra Franz a bheith agat.", | 117 | "settings.service.form.customUrlPremiumInfo" : "Chun seirbhÃsà féinóstáilte a chur le Franz, nà gá Cuntas PhÅ•eimhtacadóra Franz a bheith agat.", |
109 | "settings.service.form.customUrlUpgradeAccount" : "Uasghrádaigh do chuntas", | 118 | "settings.service.form.customUrlUpgradeAccount" : "Uasghrádaigh do chuntas", |
110 | "settings.service.form.customUrlValidationError" : "Nà fhéadfar seirbhÃs {name} saincheaptha a dheimhniú", | 119 | "settings.service.form.customUrlValidationError" : "Nà féidir le seirbhÃs {name} saincheaptha a dheimhniú", |
111 | "settings.service.form.deleteButton" : "Scrios seirbhÃs", | 120 | "settings.service.form.deleteButton" : "Scrios seirbhÃs", |
112 | "settings.service.form.editServiceHeadline" : "Cuir {name} in eagar", | 121 | "settings.service.form.editServiceHeadline" : "Cuir {name} in eagar", |
113 | "settings.service.form.enableAudio" : "Cumasaigh fuaim", | 122 | "settings.service.form.enableAudio" : "Cumasaigh fuaim", |
123 | "settings.service.form.enableBadge" : "Taispeáin comharthaà do theachtaireachtaà neamhléite", | ||
114 | "settings.service.form.enableNotification" : "Cumasaigh fógraÃ", | 124 | "settings.service.form.enableNotification" : "Cumasaigh fógraÃ", |
115 | "settings.service.form.enableService" : "Cumasaigh seirbhÃs", | 125 | "settings.service.form.enableService" : "Cumasaigh seirbhÃs", |
116 | "settings.service.form.indirectMessageInfo" : "FógraÃtear thú faoi gach teachtaireacht nua i gcainéail, nà amháin @username, @channel, @here, ...", | 126 | "settings.service.form.headlineBadges" : "Comharthaà do theachtaireachtaà neamhléite", |
127 | "settings.service.form.headlineGeneral" : "Ginearálta", | ||
128 | "settings.service.form.headlineNotifications" : "FógraÃ", | ||
129 | "settings.service.form.icon" : "DeilbhÃn saincheaptha", | ||
130 | "settings.service.form.iconDelete" : "Scrios", | ||
131 | "settings.service.form.iconUpload" : "Scaoil d'Ãomhá, nó cliceáil anseo", | ||
132 | "settings.service.form.indirectMessageInfo" : "Gheobhaidh tú fógraà faoi gach teachtaireacht nua i mbealach, nà amháin @username, @channel, @here, ...", | ||
117 | "settings.service.form.indirectMessages" : "Taispeáin comhartha theachtaireachta do theachtaireachtaà nua", | 133 | "settings.service.form.indirectMessages" : "Taispeáin comhartha theachtaireachta do theachtaireachtaà nua", |
118 | "settings.service.form.isMutedInfo" : "Nuair a dhÃchumasaÃtear é seo, tachtar gach fuaim fógraà agus athchasadh fuaime", | 134 | "settings.service.form.isMutedInfo" : "Tar éis é a dhÃchumasú, tachtar gach fuaim fógraà agus athchasadh fuaime", |
119 | "settings.service.form.name" : "Ainm", | 135 | "settings.service.form.name" : "Ainm", |
120 | "settings.service.form.saveButton" : "Sábhail seirbhÃs", | 136 | "settings.service.form.saveButton" : "Sábhail seirbhÃs", |
121 | "settings.service.form.tabHosted" : "Óstáilte", | 137 | "settings.service.form.tabHosted" : "Óstáilte", |
122 | "settings.service.form.tabOnPremise" : "Féinóstáilte âï¸", | 138 | "settings.service.form.tabOnPremise" : "Féinóstáilte âï¸", |
123 | "settings.service.form.team" : "Meitheal", | 139 | "settings.service.form.team" : "Foireann", |
140 | "settings.service.form.useHostedService" : "Bain úsáis as an seirbhÃs óstáilte {name}.", | ||
124 | "settings.service.form.yourServices" : "Do chuid seirbhÃsÃ", | 141 | "settings.service.form.yourServices" : "Do chuid seirbhÃsÃ", |
125 | "settings.services.deletedInfo" : "SeirbhÃs scriosta", | 142 | "settings.services.deletedInfo" : "SeirbhÃs scriosta", |
126 | "settings.services.discoverServices" : "Aimsigh seirbhÃsÃ", | 143 | "settings.services.discoverServices" : "Aimsigh seirbhÃsÃ", |
127 | "settings.services.headline" : "Do chuid seirbhÃsÃ", | 144 | "settings.services.headline" : "Do chuid seirbhÃsÃ", |
128 | "settings.services.noServicesAdded" : "NÃl aon seirbhÃs curtha agat fós.", | 145 | "settings.services.noServicesAdded" : "NÃl aon seirbhÃs curtha agat fós.", |
129 | "settings.services.tooltip.isDisabled" : "SeirbhÃs dÃchumasaithe", | 146 | "settings.services.tooltip.isDisabled" : "SeirbhÃs dÃchumasaithe", |
130 | "settings.services.tooltip.isMuted" : "Gach fuaim tachta", | 147 | "settings.services.tooltip.isMuted" : "Tachtar gach fuaim", |
131 | "settings.services.tooltip.notificationsDisabled" : "Fógraà dÃchumasaithe", | 148 | "settings.services.tooltip.notificationsDisabled" : "Fógraà dhÃchumasaithe", |
132 | "settings.services.updatedInfo" : "Sábháiltear do chuid athruithe", | 149 | "settings.services.updatedInfo" : "Sábháiltear do chuid athruithe", |
133 | "settings.user.form.accountType.company" : "Comhlacht", | 150 | "settings.user.form.accountType.company" : "Comhlacht", |
134 | "settings.user.form.accountType.individual" : "Aonair", | 151 | "settings.user.form.accountType.individual" : "Ar leith", |
135 | "settings.user.form.accountType.label" : "Cineál cuntais", | 152 | "settings.user.form.accountType.label" : "Cineál chuntais", |
136 | "settings.user.form.accountType.non-profit" : "Neamhbhrabúis", | 153 | "settings.user.form.accountType.non-profit" : "Neamhbhrabúis", |
137 | "settings.user.form.currentPassword" : "Pasfhocal reatha", | 154 | "settings.user.form.currentPassword" : "Pasfhocal reatha", |
138 | "settings.user.form.email" : "RÃomhphost", | 155 | "settings.user.form.email" : "RÃomhphost", |
@@ -140,42 +157,42 @@ | |||
140 | "settings.user.form.lastname" : "Sloinne", | 157 | "settings.user.form.lastname" : "Sloinne", |
141 | "settings.user.form.newPassword" : "Pasfhocal nua", | 158 | "settings.user.form.newPassword" : "Pasfhocal nua", |
142 | "sidebar.addNewService" : "Cuir seirbhÃs nua leis", | 159 | "sidebar.addNewService" : "Cuir seirbhÃs nua leis", |
143 | "sidebar.mute" : "DÃchumasaigh fuaim", | 160 | "sidebar.muteApp" : "DÃchumasaigh fógraà ⊠fuaim", |
144 | "sidebar.settings" : "Socruithe", | 161 | "sidebar.settings" : "Socruithe", |
145 | "sidebar.unmute" : "Cumasaigh fuaim", | 162 | "sidebar.unmuteApp" : "Cumasaigh fógraà ⊠fuaim", |
146 | "signup.company.label" : "Comhlacht", | 163 | "signup.company.label" : "Comhlacht", |
147 | "signup.email.label" : "Seoladh rÃomhphoist", | 164 | "signup.email.label" : "Seoladh rÃomhphoist", |
148 | "signup.emailDuplicate" : "Tá úsáideoir leis an seoladh rÃomhphoist sin chean féin", | 165 | "signup.emailDuplicate" : "Tá úsáideoir leis an seoladh rÃomhphoist sin cheana féin", |
149 | "signup.firstname.label" : "Céadainm", | 166 | "signup.firstname.label" : "Céadainm", |
150 | "signup.headline" : "Cláraigh", | 167 | "signup.headline" : "Cláraigh", |
151 | "signup.lastname.label" : "Sloinne", | 168 | "signup.lastname.label" : "Sloinne", |
152 | "signup.legal.info" : "Agus tú ag cruthú cuntais Franz glacann tú leis an", | 169 | "signup.legal.info" : "Agus tú ag cruthú cuntas Franz, glacann tú le", |
153 | "signup.legal.privacy" : "Ráiteas prÃobháideachais", | 170 | "signup.legal.privacy" : "Ráiteas phrÃobháideachais", |
154 | "signup.legal.terms" : "Tearmaà seirbhÃse", | 171 | "signup.legal.terms" : "Tearmaà seirbhÃse", |
155 | "signup.link.login" : "Cuntas agat cheana féin, logáil isteach?", | 172 | "signup.link.login" : "Cuntas agat cheana féin, logáil isteach?", |
156 | "signup.password.label" : "Pasfhocal", | 173 | "signup.password.label" : "Pasfhocal", |
157 | "signup.submit.label" : "Cruthaigh cuntas", | 174 | "signup.submit.label" : "Cruthaigh cuntas", |
158 | "subscription.euTaxInfo" : "Ãithritheoirà an tAÉ: féadfar cáin dÃolacháin áitiúla a chur i bhfeidhm", | 175 | "subscription.euTaxInfo" : "Ãithritheoirà an tAÉ: is féidir le cáin dÃolacháin áitiúla cur i bhfeidhm", |
159 | "subscription.features.ads" : "Fógraà ar bith, choÃche!", | 176 | "subscription.features.ads" : "Nà bheadh fógraà ar bith, choÃche!", |
160 | "subscription.features.comingSoon" : "ag teacht go luath", | 177 | "subscription.features.comingSoon" : "ag teacht go luath", |
161 | "subscription.features.customServices" : "SeirbhÃsà phrÃobháideach duitse agus do do mheitheal", | 178 | "subscription.features.customServices" : "SeirbhÃsà phrÃobháideach duitse agus do d'fhoireann", |
162 | "subscription.features.encryptedSync" : "Sionchronú seisiúin chriptithe", | 179 | "subscription.features.encryptedSync" : "Sionchronú seisiúin chriptithe", |
163 | "subscription.features.onpremise" : "Cuir seirbhÃsà óstáilte ar nós HipChat leis", | 180 | "subscription.features.onpremise" : "Cuir seirbhÃsà óstáilte ar nós HipChat leis", |
164 | "subscription.features.vpn" : "TacaÃocht seachfhreastalaà & LPF", | 181 | "subscription.features.vpn" : "TacaÃocht seachfhreastalaà ⊠LPF", |
165 | "subscription.includedFeatures" : "Cuireann Cuntas Phŕeimhtacadóra Franz san áireamh", | 182 | "subscription.includedFeatures" : "Cuireann Cuntas Phŕeimhtacadóra Franz san áireamh", |
166 | "subscription.mining.experimental" : "turgnamhach", | 183 | "subscription.mining.experimental" : "turgnamhach", |
167 | "subscription.mining.headline" : "Conas a oibrÃonn sé seo?", | 184 | "subscription.mining.headline" : "Cén chaoi mar a oibrÃonn sé seo?", |
168 | "subscription.mining.line1" : "Tar éis chur \"Tabhair tacaÃocht le cumhacht phŕóiseála\" ar chumas, bainfidh Franz úsáid as thart ar 20-50\\% de do lárionad próiseála chun an airgeadra digiteach Monero a mhÃneáil, a chothromaÃonn $5 sa bhliain.", | 185 | "subscription.mining.line1" : "Tar éis \"Tabhair tacaÃocht le cumhacht phróiseála\" a chur ar chumas, bainfidh Franz úsáid as thart ar 20-50\\% de do chuid lárionad próiseála, chun an airgeadra digiteach Monero a mhÃneáil, cothrom le thart ar $5 sa bhliain.", |
169 | "subscription.mining.line2" : "Cuirimid úsáid an lárÃonaid próiseála in oiriúint do d'iompar oibre ionas nach mbeidh do cheallra caite agus tú agus do rÃomhaire moillithe.", | 186 | "subscription.mining.line2" : "Cuirfimid úsáid an lárionaid phróiseála in oiriúint do d'iompar oibre, ionas nár caitheadh do cheallra agus nÃor moillÃodh thú agus do rÃomhaire.", |
170 | "subscription.mining.line3" : "Fad is go bhfuil an mhianadóir gnÃomhach, beidh rochtain gan teorainn agat do PhÅ•eimhghnéithe Taca Franz.", | 187 | "subscription.mining.line3" : "Fad is a bhfuil an mhianadóir gnÃomhach, beidh rochtain gan teorainn agat do PhÅ•eimhghnéithe Taca Franz.", |
171 | "subscription.mining.moreInformation" : "Faigh tuilleadh eolais faoin bplean seo.", | 188 | "subscription.mining.moreInformation" : "Faigh tuilleadh eolais faoin bplean seo.", |
172 | "subscription.paymentSessionError" : "Nà fhéadfar tús a chur leis an bhfoirm ÃocaÃochta", | 189 | "subscription.paymentSessionError" : "Nà féidir cur tús leis an bhfoirm ÃocaÃochta", |
173 | "subscription.submit.label" : "Ba mhaith liom tacaÃocht a thabhairt d'fhorbairt Franz", | 190 | "subscription.submit.label" : "Ba mhaith liom tacaÃocht a thabhairt d'fhorbairt Franz", |
174 | "subscription.type.free" : "saor in aisce", | 191 | "subscription.type.free" : "saor", |
175 | "subscription.type.mining" : "Tabhair tacaÃocht do Franz le cumhacht phróiseála", | 192 | "subscription.type.mining" : "Tabhair tacaÃocht do Franz le cumhacht phróiseála", |
176 | "subscription.type.month" : "mÃ", | 193 | "subscription.type.month" : "mÃ", |
177 | "subscription.type.year" : "bliain", | 194 | "subscription.type.year" : "bliain", |
178 | "subscriptionPopup.buttonCancel" : "Cuir ar ceal", | 195 | "subscriptionPopup.buttonCancel" : "Cealaigh", |
179 | "subscriptionPopup.buttonDone" : "Déanta", | 196 | "subscriptionPopup.buttonDone" : "Déanta", |
180 | "tabs.item.deleteService" : "Scrios seirbhÃs", | 197 | "tabs.item.deleteService" : "Scrios seirbhÃs", |
181 | "tabs.item.disableAudio" : "DÃchumasaigh fuaim", | 198 | "tabs.item.disableAudio" : "DÃchumasaigh fuaim", |
@@ -186,7 +203,7 @@ | |||
186 | "tabs.item.enableNotification" : "Cumasaigh fógraÃ", | 203 | "tabs.item.enableNotification" : "Cumasaigh fógraÃ", |
187 | "tabs.item.enableService" : "Cumasaigh seirbhÃs", | 204 | "tabs.item.enableService" : "Cumasaigh seirbhÃs", |
188 | "tabs.item.reload" : "Athlódáil", | 205 | "tabs.item.reload" : "Athlódáil", |
189 | "welcome.loginButton" : "Logáil isteach i do chuntas", | 206 | "welcome.loginButton" : "Logáil isteach do do chuntas", |
190 | "welcome.signupButton" : "Cruthaigh cuntas nua", | 207 | "welcome.signupButton" : "Cruthaigh cuntas nua", |
191 | "welcome.slogan" : "Teachtaireachtaà ag obair leat" | 208 | "welcome.slogan" : "Teachtaireachtaà ag obair leat" |
192 | } | 209 | } |
diff --git a/src/i18n/locales/hr.json b/src/i18n/locales/hr.json new file mode 100644 index 000000000..2b2154a8e --- /dev/null +++ b/src/i18n/locales/hr.json | |||
@@ -0,0 +1,209 @@ | |||
1 | { | ||
2 | "global.api.unhealthy" : "Nije se moguće povezati na Francove on-line servise. ", | ||
3 | "global.notConnectedToTheInternet" : "Sada ste povezani s internetom. ", | ||
4 | "import.headline" : "Uvezite svoje Franc 4 servise. ", | ||
5 | "import.notSupportedHeadline" : "Franc 5 trenutno ne podržava taj servis", | ||
6 | "import.skip.label" : "Želim ruÄno dodati ove usluge", | ||
7 | "import.submit.label" : "Uvezi servise", | ||
8 | "infobar.buttonChangelog" : "Å ta je novo?", | ||
9 | "infobar.buttonInstallUpdate" : "Ponovo pokreni i instaliraj ažuriranje", | ||
10 | "infobar.buttonReloadServices" : "Ponovo uÄitaj servise", | ||
11 | "infobar.requiredRequestsFailed" : "Nemoguće uÄitati servise i korisniÄke informacije", | ||
12 | "infobar.servicesUpdated" : "Vaši servisi su ažurirani. ", | ||
13 | "infobar.updateAvailable" : "Novo ažuriranje Franz-a je dostupno. ", | ||
14 | "invite.email.label" : "Vaša e-adresa:", | ||
15 | "invite.headline.friends" : "Pozovite 3 vaša prijatelja ili kolege", | ||
16 | "invite.name.label" : "Ime", | ||
17 | "invite.skip.label" : "Želim da ovo uradim kasnije", | ||
18 | "invite.submit.label" : "Pošalji pozivnice", | ||
19 | "login.email.label" : "Vaša e-adresa:", | ||
20 | "login.headline" : "Prijavite se", | ||
21 | "login.invalidCredentials" : "E-mail ili lozinka nisu toÄni", | ||
22 | "login.link.password" : "Stvaranje nove lozinke", | ||
23 | "login.link.signup" : "Stvorite besplatan raÄun", | ||
24 | "login.password.label" : "Lozinka", | ||
25 | "login.serverLogout" : "Vaša sesija je istekla, prijavite se ponovo.", | ||
26 | "login.submit.label" : "Prijavite se", | ||
27 | "login.tokenExpired" : "Vaša sesija je istekla, prijavite se ponovo.", | ||
28 | "password.email.label" : "Vaša e-adresa", | ||
29 | "password.headline" : "Stvorite novu zaporku", | ||
30 | "password.link.login" : "Prijavite se na VaÅ¡ raÄun", | ||
31 | "password.link.signup" : "Stvorite besplatan raÄun", | ||
32 | "password.noUser" : "Ne postoji ni jedan korisnik s tom e-mail adresom", | ||
33 | "password.submit.label" : "Pošalji", | ||
34 | "password.successInfo" : "Molimo Vas da provjerite svoju e-mail adresu", | ||
35 | "pricing.headline" : "Podržite Franz aplikaciju", | ||
36 | "pricing.link.skipPayment" : "Ne želim da podržim razvoj Franz-a.", | ||
37 | "pricing.submit.label" : "Želim da podržim razvoj Franz-a.", | ||
38 | "pricing.support.label" : "Izaberite vaš plan za podržavanje", | ||
39 | "service.crashHandler.action" : "Osvježi okvir", | ||
40 | "service.crashHandler.autoReload" : "Pokušati ću automatski povratiti {ime} u {sekundi} sekundi", | ||
41 | "service.crashHandler.headline" : "O, ne! ", | ||
42 | "service.crashHandler.text" : "{name} je izazvalo grešku. ", | ||
43 | "service.disabledHandler.action" : "Omogući {name}", | ||
44 | "service.disabledHandler.headline" : "{name} je onemogućen\/o", | ||
45 | "services.getStarted" : "ZapoÄnimo!", | ||
46 | "services.welcome" : "Dobrodošli u Franz", | ||
47 | "settings.account.account.editButton" : "Uredi raÄun", | ||
48 | "settings.account.accountType.basic" : "Osnovni raÄun", | ||
49 | "settings.account.accountType.premium" : "Premium raÄun", | ||
50 | "settings.account.buttonSave" : "Ažuriraj profil", | ||
51 | "settings.account.deleteAccount" : "Izbrisati raÄun", | ||
52 | "settings.account.deleteEmailSent" : "Dobili ste email s linkom putem kojeg ćete potvrditi brisanje raÄuna. VaÅ¡ raÄun i podatke neće biti moguće vratiti. ", | ||
53 | "settings.account.deleteInfo" : "Ako viÅ¡e ne trebate Franz raÄun, ovdje možete obrisati sve vezane podatke kao i raÄun.", | ||
54 | "settings.account.headline" : "KorisniÄki raÄun", | ||
55 | "settings.account.headlineAccount" : "Informacije o raÄunu", | ||
56 | "settings.account.headlineDangerZone" : "Opasnost", | ||
57 | "settings.account.headlineInvoices" : "Fakture", | ||
58 | "settings.account.headlinePassword" : "Promijenite lozinku", | ||
59 | "settings.account.headlineProfile" : "Ažurirajte profil", | ||
60 | "settings.account.headlineSubscription" : "Vaša pretplata", | ||
61 | "settings.account.headlineUpgrade" : "Nadogradite raÄun i podržite Franc", | ||
62 | "settings.account.invoiceDownload" : "Preuzmite", | ||
63 | "settings.account.manageSubscription.label" : "Upravljajte pretplatama", | ||
64 | "settings.account.mining.active" : "Trenutno se odvija {hashes} kalkulacija po sekundi.", | ||
65 | "settings.account.mining.cancel" : "Odustani ", | ||
66 | "settings.account.mining.moreInformation" : "Dođi do više informacija", | ||
67 | "settings.account.mining.thankyou" : "Hvala Vam što podržavate Franca s vašom procesorskom moći. ", | ||
68 | "settings.account.successInfo" : "Vaše promjene su spremljene", | ||
69 | "settings.account.tryReloadUserInfoRequest" : "Pokušajte ponovno", | ||
70 | "settings.account.userInfoRequestFailed" : "Nije moguće uÄitati informacije o korisniku", | ||
71 | "settings.app.buttonClearAllCache" : "OÄisti memoriju", | ||
72 | "settings.app.buttonInstallUpdate" : "Ponovo pokreni i instaliraj ažuriranje", | ||
73 | "settings.app.buttonSearchForUpdate" : "Potraži ažuriranja", | ||
74 | "settings.app.cacheInfo" : "Franz cache is currently using {size} of disk space.", | ||
75 | "settings.app.currentVersion" : "Trenutna verzija:", | ||
76 | "settings.app.form.autoLaunchInBackground" : "Otvori u pozadini", | ||
77 | "settings.app.form.autoLaunchOnStart" : "Pokreni Franz sa sistemom", | ||
78 | "settings.app.form.beta" : "Obuhvati i beta verzije", | ||
79 | "settings.app.form.enableSpellchecking" : "Omogući provjeru pravopisa", | ||
80 | "settings.app.form.enableSystemTray" : "Prikaži aplikaciju u sustavskoj traci", | ||
81 | "settings.app.form.language" : "Jezik", | ||
82 | "settings.app.form.minimizeToSystemTray" : "Smanji Franca u sustavsku traku", | ||
83 | "settings.app.form.runInBackground" : "Neka se Franc održava u pozadini i ako je prozor zatvoren", | ||
84 | "settings.app.form.showDisabledServices" : "Prikaži ploÄe s onemogućenim servisima", | ||
85 | "settings.app.form.showMessagesBadgesWhenMuted" : "Pokaži neproÄitane znaÄke poruka kad se obavjeÅ¡tenja onemoguće", | ||
86 | "settings.app.headline" : "Postavke", | ||
87 | "settings.app.headlineAdvanced" : "Napredne alatke", | ||
88 | "settings.app.headlineAppearance" : "Izgled", | ||
89 | "settings.app.headlineGeneral" : "Općenito", | ||
90 | "settings.app.headlineLanguage" : "Jezik", | ||
91 | "settings.app.headlineUpdates" : "Nadogradnje", | ||
92 | "settings.app.restartRequired" : "Promjene postavki zahtijevaju ponovni zagon", | ||
93 | "settings.app.subheadlineCache" : "Cache", | ||
94 | "settings.app.translationHelp" : "Pomozite nam prevesti aplikaciju na Vaš jezik. ", | ||
95 | "settings.app.updateStatusAvailable" : "Nadogradnja dostupna, preuzimanje...", | ||
96 | "settings.app.updateStatusSearching" : "Traže se ažuriranja", | ||
97 | "settings.app.updateStatusUpToDate" : "Koristite najnoviju verziju Franca.", | ||
98 | "settings.navigation.account" : "RaÄun", | ||
99 | "settings.navigation.availableServices" : "Dostupne usluge", | ||
100 | "settings.navigation.logout" : "Odjava", | ||
101 | "settings.navigation.settings" : "Postavke", | ||
102 | "settings.navigation.yourServices" : "Vaše usluge", | ||
103 | "settings.recipes.all" : "Sve usluge", | ||
104 | "settings.recipes.dev" : "Razvoj", | ||
105 | "settings.recipes.headline" : "Dostupne usluge", | ||
106 | "settings.recipes.missingService" : "Da li neki servis nedostaje?", | ||
107 | "settings.recipes.mostPopular" : "Najpopularniji", | ||
108 | "settings.recipes.nothingFound" : "Žao nam je, ali ne postoje usluge koje se poklapaju s onima koje tražite. ", | ||
109 | "settings.recipes.servicesSuccessfulAddedInfo" : "Usluga uspješno dodana. ", | ||
110 | "settings.searchService" : "Search service", | ||
111 | "settings.service.error.goBack" : "Nazad do servisa", | ||
112 | "settings.service.error.headline" : "Greška", | ||
113 | "settings.service.error.message" : "Nemoguće uÄitati sadržaj usluge. ", | ||
114 | "settings.service.form.addServiceHeadline" : "Dodaj {ime}", | ||
115 | "settings.service.form.availableServices" : "Dostupne usluge:", | ||
116 | "settings.service.form.customUrl" : "Prilagođen server", | ||
117 | "settings.service.form.customUrlPremiumInfo" : "Da bi ste dodali samo-hostovane usluge, potreban vam je Premium raÄun.", | ||
118 | "settings.service.form.customUrlUpgradeAccount" : "Nadogradite VaÅ¡ raÄun", | ||
119 | "settings.service.form.customUrlValidationError" : "Nije moguće odobriti prilagođeno {ime} servera.", | ||
120 | "settings.service.form.deleteButton" : "Izbriši uslugu", | ||
121 | "settings.service.form.editServiceHeadline" : "Uredite {ime}", | ||
122 | "settings.service.form.enableAudio" : "Omogućite zvuk", | ||
123 | "settings.service.form.enableBadge" : "Show unread message badges", | ||
124 | "settings.service.form.enableNotification" : "Omogućite obavijesti", | ||
125 | "settings.service.form.enableService" : "Omogućite usluge", | ||
126 | "settings.service.form.headlineBadges" : "Unread message badges", | ||
127 | "settings.service.form.headlineGeneral" : "Općenito", | ||
128 | "settings.service.form.headlineNotifications" : "Notifications", | ||
129 | "settings.service.form.icon" : "Custom icon", | ||
130 | "settings.service.form.iconDelete" : "Delete", | ||
131 | "settings.service.form.iconUpload" : "Drop your image, or click here", | ||
132 | "settings.service.form.indirectMessageInfo" : "Vi ćete biti obavješteni o svim novim porukama na kanalu, ne samo o @imenima, kanalima, @ovdje, ...", | ||
133 | "settings.service.form.indirectMessages" : "Prikaži znaÄku na svim novim porukuama", | ||
134 | "settings.service.form.isMutedInfo" : "Kada je onemogućeno, sve obavijesti, svi zvukovi i sva pozadinska podrÅ¡ka će biti neÄujna. ", | ||
135 | "settings.service.form.name" : "Ime", | ||
136 | "settings.service.form.saveButton" : "SaÄuvaj uslugu\/e", | ||
137 | "settings.service.form.tabHosted" : "Hostovano", | ||
138 | "settings.service.form.tabOnPremise" : "Samo-hostovano âï¸", | ||
139 | "settings.service.form.team" : "Tim", | ||
140 | "settings.service.form.useHostedService" : "Use the hosted {name} service.", | ||
141 | "settings.service.form.yourServices" : "Vaše usluge", | ||
142 | "settings.services.deletedInfo" : "Usluga je onemogućena", | ||
143 | "settings.services.discoverServices" : "Pronađite usluge", | ||
144 | "settings.services.headline" : "Vaše usluge", | ||
145 | "settings.services.noServicesAdded" : "Još uvijek niste unijeli niti jednu uslugu.", | ||
146 | "settings.services.tooltip.isDisabled" : "Usluga je onemogućena. ", | ||
147 | "settings.services.tooltip.isMuted" : "Svi zvukovi su onemogućeni. ", | ||
148 | "settings.services.tooltip.notificationsDisabled" : "Obavijesti su onemogućene.", | ||
149 | "settings.services.updatedInfo" : "Vaše promjene su pohranjene. ", | ||
150 | "settings.user.form.accountType.company" : "Tvrtka", | ||
151 | "settings.user.form.accountType.individual" : "Pojedinac", | ||
152 | "settings.user.form.accountType.label" : "Tip raÄuna", | ||
153 | "settings.user.form.accountType.non-profit" : "Neprofitno ", | ||
154 | "settings.user.form.currentPassword" : "Trenutna lozinka:", | ||
155 | "settings.user.form.email" : "E-pošta", | ||
156 | "settings.user.form.firstname" : "Ime", | ||
157 | "settings.user.form.lastname" : "Prezime", | ||
158 | "settings.user.form.newPassword" : "Nova lozinka", | ||
159 | "sidebar.addNewService" : "Dodajte novu uslugu", | ||
160 | "sidebar.muteApp" : "Ugasi obavijesti i zvuk", | ||
161 | "sidebar.settings" : "Postavke", | ||
162 | "sidebar.unmuteApp" : "Omogući obavijesti i zvuk", | ||
163 | "signup.company.label" : "Tvrtka", | ||
164 | "signup.email.label" : "Vaša e-adresa", | ||
165 | "signup.emailDuplicate" : "Već postoji korisnik s tom e-mail adresom", | ||
166 | "signup.firstname.label" : "Ime", | ||
167 | "signup.headline" : "Prijava", | ||
168 | "signup.lastname.label" : "Prezime", | ||
169 | "signup.legal.info" : "Prilikom stvaranja Franz raÄuna, slažete se sa sljedećim stavkama:", | ||
170 | "signup.legal.privacy" : "Izjava o privatnosti ", | ||
171 | "signup.legal.terms" : "Uvjeti korištenja", | ||
172 | "signup.link.login" : "Imate raÄun? Prijavite se.", | ||
173 | "signup.password.label" : "Lozinka", | ||
174 | "signup.submit.label" : "Napravite novi raÄun", | ||
175 | "subscription.euTaxInfo" : "EU državljani, upozerenje: Moguće taksiranje ", | ||
176 | "subscription.features.ads" : "Bez reklama, doživotno!", | ||
177 | "subscription.features.comingSoon" : "Dolazi uskoro", | ||
178 | "subscription.features.customServices" : "Privatni servisi za Vas i Vaš tim", | ||
179 | "subscription.features.encryptedSync" : "Kodirano usklađivanje sesija.", | ||
180 | "subscription.features.onpremise" : "Dodajte pretpostavljeni\/hostirani servis kao Å¡to ima usluga HipChat ", | ||
181 | "subscription.features.vpn" : "Podrška za Proxy i VPM ( VPN )", | ||
182 | "subscription.includedFeatures" : "Plaćeni\/Premium raÄun ukljuÄuje sljedeće: ", | ||
183 | "subscription.mining.experimental" : "Eksperimentalno", | ||
184 | "subscription.mining.headline" : "Na koji naÄin ovo radi?", | ||
185 | "subscription.mining.line1" : "Omogućavanjem \" Podrška snagom procesora \", Franc će iskoristiti oko 20-50% vaših CPU resursa za Kripto valutu \" Monero \" koja košta otprilike 5$ godišnje. ", | ||
186 | "subscription.mining.line2" : "Adaptiraćemo iskorišćenost CPU resursa na osnovu vaÅ¡eg rada, na taj naÄin ćemo izbjeći iscrpljivanje baterije i usporavanje ureÄ‘aja. ", | ||
187 | "subscription.mining.line3" : "Dok god je \" rudar \" aktivan, imaćete neograniÄen pristup svim Francovim Premium znaÄajkama. ", | ||
188 | "subscription.mining.moreInformation" : "Dajte mi više informacija o ovom planu. ", | ||
189 | "subscription.paymentSessionError" : "Nemoguće inicijalizirati obrazac za uplatu", | ||
190 | "subscription.submit.label" : "Želim da podržim razvoj Franca. ", | ||
191 | "subscription.type.free" : "Slobodno", | ||
192 | "subscription.type.mining" : "Podržite Franca s procesorskim resursima", | ||
193 | "subscription.type.month" : "mjesec", | ||
194 | "subscription.type.year" : "godina", | ||
195 | "subscriptionPopup.buttonCancel" : "Odustani", | ||
196 | "subscriptionPopup.buttonDone" : "Završeno", | ||
197 | "tabs.item.deleteService" : "Izbriši servis", | ||
198 | "tabs.item.disableAudio" : "Onemogući zvuk", | ||
199 | "tabs.item.disableNotifications" : "Onemogući obavijesti", | ||
200 | "tabs.item.disableService" : "Onemogući servis", | ||
201 | "tabs.item.edit" : "Uredi", | ||
202 | "tabs.item.enableAudio" : "UkljuÄi zvuk", | ||
203 | "tabs.item.enableNotification" : "Omogući obavijesti", | ||
204 | "tabs.item.enableService" : "Omogući usluge", | ||
205 | "tabs.item.reload" : "Ponovno uÄitavanje", | ||
206 | "welcome.loginButton" : "Prijavite se na raÄun", | ||
207 | "welcome.signupButton" : "Stvorite novi korisniÄki raÄun", | ||
208 | "welcome.slogan" : "Poruke koje su stvorene za tebe" | ||
209 | } | ||
diff --git a/src/i18n/locales/hu.json b/src/i18n/locales/hu.json index f62c0ead9..55914919d 100644 --- a/src/i18n/locales/hu.json +++ b/src/i18n/locales/hu.json | |||
@@ -3,9 +3,9 @@ | |||
3 | "global.notConnectedToTheInternet" : "Nincs kapcsolat a kiszolgálóval.", | 3 | "global.notConnectedToTheInternet" : "Nincs kapcsolat a kiszolgálóval.", |
4 | "import.headline" : "Importáld szolgáltatásaidat a Franz 4-ből", | 4 | "import.headline" : "Importáld szolgáltatásaidat a Franz 4-ből", |
5 | "import.notSupportedHeadline" : "Még nem támogatott szolgáltatások a Franz 5-ben", | 5 | "import.notSupportedHeadline" : "Még nem támogatott szolgáltatások a Franz 5-ben", |
6 | "import.skip.label" : "Kézzel szeretnék szolgáltatást felvenni", | 6 | "import.skip.label" : "Manuálisan szeretném hozzáadni a szolgáltatásokat", |
7 | "import.submit.label" : "Szolgáltatások importálása", | 7 | "import.submit.label" : "Szolgáltatások importálása", |
8 | "infobar.buttonChangelog" : "What is new?", | 8 | "infobar.buttonChangelog" : "Mi változott?", |
9 | "infobar.buttonInstallUpdate" : "ÚjraindÃtás és a frissÃtés telepÃtése", | 9 | "infobar.buttonInstallUpdate" : "ÚjraindÃtás és a frissÃtés telepÃtése", |
10 | "infobar.buttonReloadServices" : "Szolgáltatások újratöltése", | 10 | "infobar.buttonReloadServices" : "Szolgáltatások újratöltése", |
11 | "infobar.requiredRequestsFailed" : "Szolgáltatások és felhasználói információk nem tölthetők be", | 11 | "infobar.requiredRequestsFailed" : "Szolgáltatások és felhasználói információk nem tölthetők be", |
@@ -36,20 +36,24 @@ | |||
36 | "pricing.link.skipPayment" : "Nem szeretném támogatni a Franz fejlesztését.", | 36 | "pricing.link.skipPayment" : "Nem szeretném támogatni a Franz fejlesztését.", |
37 | "pricing.submit.label" : "Támogatni szeretném a Franz fejlesztését.", | 37 | "pricing.submit.label" : "Támogatni szeretném a Franz fejlesztését.", |
38 | "pricing.support.label" : "Válaszd ki a támogatás módját", | 38 | "pricing.support.label" : "Válaszd ki a támogatás módját", |
39 | "service.crashHandler.action" : "Reload {name}", | 39 | "service.crashHandler.action" : "{name} újratöltése", |
40 | "service.crashHandler.autoReload" : "Trying to automatically restore {name} in {seconds} seconds", | 40 | "service.crashHandler.autoReload" : "Megpróbáljuk automatikusan helyreállÃtani {name}-t {seconds} mp-en belül", |
41 | "service.crashHandler.headline" : "Oh no!", | 41 | "service.crashHandler.headline" : "Jajj ne!", |
42 | "service.crashHandler.text" : "{name} has caused an error.", | 42 | "service.crashHandler.text" : "{name} hibát okozott.", |
43 | "service.disabledHandler.action" : "Enable {name}", | 43 | "service.disabledHandler.action" : "{name} engedélyezése", |
44 | "service.disabledHandler.headline" : "{name} is disabled", | 44 | "service.disabledHandler.headline" : "{name} letiltva", |
45 | "services.getStarted" : "Kezdj hozzá", | 45 | "services.getStarted" : "Kezdj hozzá", |
46 | "services.welcome" : "Üdvözöl a Franz", | 46 | "services.welcome" : "Üdvözöl a Franz", |
47 | "settings.account.account.editButton" : "Fiók szerkesztése", | 47 | "settings.account.account.editButton" : "Fiók szerkesztése", |
48 | "settings.account.accountType.basic" : "Alap Fiók", | 48 | "settings.account.accountType.basic" : "Alap Fiók", |
49 | "settings.account.accountType.premium" : "Prémium Támogató Fiók", | 49 | "settings.account.accountType.premium" : "Prémium Támogató Fiók", |
50 | "settings.account.buttonSave" : "Profil frissÃtése", | 50 | "settings.account.buttonSave" : "Profil frissÃtése", |
51 | "settings.account.deleteAccount" : "Fiók törlése", | ||
52 | "settings.account.deleteEmailSent" : "A fiókod törléséhez egy e-mailt küldtük a törlést megerÅ‘sÃtÅ‘ linkkel. A linkre kattintást követÅ‘en a fiókod és az adatait már nem állÃthatók vissza többé!", | ||
53 | "settings.account.deleteInfo" : "Ha még nem szeretnéd fenntartani a Franz-fiókodat, akkor itt törölheted minden hozzá kapcsolódó adattal együtt.", | ||
51 | "settings.account.headline" : "Fiók", | 54 | "settings.account.headline" : "Fiók", |
52 | "settings.account.headlineAccount" : "Fiókinformációk", | 55 | "settings.account.headlineAccount" : "Fiókinformációk", |
56 | "settings.account.headlineDangerZone" : "Veszélyes üzemmód", | ||
53 | "settings.account.headlineInvoices" : "Számlák", | 57 | "settings.account.headlineInvoices" : "Számlák", |
54 | "settings.account.headlinePassword" : "Jelszócsere", | 58 | "settings.account.headlinePassword" : "Jelszócsere", |
55 | "settings.account.headlineProfile" : "Profil frissÃtése", | 59 | "settings.account.headlineProfile" : "Profil frissÃtése", |
@@ -64,26 +68,30 @@ | |||
64 | "settings.account.successInfo" : "A módosÃtásokat elmentettük", | 68 | "settings.account.successInfo" : "A módosÃtásokat elmentettük", |
65 | "settings.account.tryReloadUserInfoRequest" : "Próbáld újra", | 69 | "settings.account.tryReloadUserInfoRequest" : "Próbáld újra", |
66 | "settings.account.userInfoRequestFailed" : "A felhasználói adatok betöltése sikertelen", | 70 | "settings.account.userInfoRequestFailed" : "A felhasználói adatok betöltése sikertelen", |
71 | "settings.app.buttonClearAllCache" : "GyorsÃtótár törlése", | ||
67 | "settings.app.buttonInstallUpdate" : "ÚjraindÃtás és frissÃtések telepÃtése", | 72 | "settings.app.buttonInstallUpdate" : "ÚjraindÃtás és frissÃtések telepÃtése", |
68 | "settings.app.buttonSearchForUpdate" : "FrissÃtések keresése", | 73 | "settings.app.buttonSearchForUpdate" : "FrissÃtések keresése", |
74 | "settings.app.cacheInfo" : "A Franz gyorsÃtótár jelenleg {space} lemezterületet használ.", | ||
69 | "settings.app.currentVersion" : "Aktuális verzió:", | 75 | "settings.app.currentVersion" : "Aktuális verzió:", |
70 | "settings.app.form.autoLaunchInBackground" : "Megnyitás háttérben", | 76 | "settings.app.form.autoLaunchInBackground" : "Megnyitás háttérben", |
71 | "settings.app.form.autoLaunchOnStart" : "Franz betöltése indÃtáskor", | 77 | "settings.app.form.autoLaunchOnStart" : "Franz betöltése indÃtáskor", |
72 | "settings.app.form.beta" : "Béta verziók keresése", | 78 | "settings.app.form.beta" : "Béta verziók keresése", |
73 | "settings.app.form.enableSpellchecking" : "Enable spell checking", | 79 | "settings.app.form.enableSpellchecking" : "HelyesÃrás-ellenÅ‘rzés engedélyezése", |
74 | "settings.app.form.enableSystemTray" : "Franz mutatása a tálcán", | 80 | "settings.app.form.enableSystemTray" : "Franz mutatása a tálcán", |
75 | "settings.app.form.language" : "Nyelv", | 81 | "settings.app.form.language" : "Nyelv", |
76 | "settings.app.form.minimizeToSystemTray" : "Franz kicsinyÃtése a tálcára", | 82 | "settings.app.form.minimizeToSystemTray" : "Franz kicsinyÃtése a tálcára", |
77 | "settings.app.form.runInBackground" : "Franz fusson a háttérben az ablak bezárásakor", | 83 | "settings.app.form.runInBackground" : "Franz fusson a háttérben az ablak bezárásakor", |
78 | "settings.app.form.showDisabledServices" : "Display disabled services tabs", | 84 | "settings.app.form.showDisabledServices" : "Letiltott szolgáltatások megjelenÃtése", |
85 | "settings.app.form.showMessagesBadgesWhenMuted" : "Mutass az 'olvasatlan üzenet' jelzést amikor az értesÃtések le vannak tiltva.", | ||
79 | "settings.app.headline" : "BeállÃtások", | 86 | "settings.app.headline" : "BeállÃtások", |
80 | "settings.app.headlineAdvanced" : "Advanced", | 87 | "settings.app.headlineAdvanced" : "Haladó", |
81 | "settings.app.headlineAppearance" : "Appearance", | 88 | "settings.app.headlineAppearance" : "Megjelenés", |
82 | "settings.app.headlineGeneral" : "Ãltalános", | 89 | "settings.app.headlineGeneral" : "Ãltalános", |
83 | "settings.app.headlineLanguage" : "Nyelv", | 90 | "settings.app.headlineLanguage" : "Nyelv", |
84 | "settings.app.headlineUpdates" : "FrissÃtések", | 91 | "settings.app.headlineUpdates" : "FrissÃtések", |
85 | "settings.app.restartRequired" : "Changes require restart", | 92 | "settings.app.restartRequired" : "ÚjraindÃtást igénylÅ‘ módosÃtás", |
86 | "settings.app.translationHelp" : "Help us to translate Franz into your language.", | 93 | "settings.app.subheadlineCache" : "GyorsÃtótár", |
94 | "settings.app.translationHelp" : "SegÃts nekünk a Franz-ot lefordÃtani a nyelvedre.", | ||
87 | "settings.app.updateStatusAvailable" : "FrissÃtés elérhetÅ‘, letöltés folyamatban...", | 95 | "settings.app.updateStatusAvailable" : "FrissÃtés elérhetÅ‘, letöltés folyamatban...", |
88 | "settings.app.updateStatusSearching" : "FrissÃtéseket keres", | 96 | "settings.app.updateStatusSearching" : "FrissÃtéseket keres", |
89 | "settings.app.updateStatusUpToDate" : "A Franz legfrissebb verzióját használod", | 97 | "settings.app.updateStatusUpToDate" : "A Franz legfrissebb verzióját használod", |
@@ -95,10 +103,11 @@ | |||
95 | "settings.recipes.all" : "Összes szolgáltatás", | 103 | "settings.recipes.all" : "Összes szolgáltatás", |
96 | "settings.recipes.dev" : "Fejlesztés", | 104 | "settings.recipes.dev" : "Fejlesztés", |
97 | "settings.recipes.headline" : "Elérhető szolgáltatások", | 105 | "settings.recipes.headline" : "Elérhető szolgáltatások", |
98 | "settings.recipes.missingService" : "Missing a service?", | 106 | "settings.recipes.missingService" : "Hiányzik egy szolgáltatás?", |
99 | "settings.recipes.mostPopular" : "Legnépszerűbb", | 107 | "settings.recipes.mostPopular" : "Legnépszerűbb", |
100 | "settings.recipes.nothingFound" : "Sajnáljuk, nincs egyezés a szolgáltatások között a keresett kifejezésre.", | 108 | "settings.recipes.nothingFound" : "Sajnáljuk, nincs egyezés a szolgáltatások között a keresett kifejezésre.", |
101 | "settings.recipes.servicesSuccessfulAddedInfo" : "Szolgáltatás sikeresen hozzáadva.", | 109 | "settings.recipes.servicesSuccessfulAddedInfo" : "Szolgáltatás sikeresen hozzáadva.", |
110 | "settings.searchService" : "Szolgáltatások keresése", | ||
102 | "settings.service.error.goBack" : "Vissza a szolgáltatásokhoz", | 111 | "settings.service.error.goBack" : "Vissza a szolgáltatásokhoz", |
103 | "settings.service.error.headline" : "Hiba", | 112 | "settings.service.error.headline" : "Hiba", |
104 | "settings.service.error.message" : "Nem tölthető be a szolgáltatás receptje.", | 113 | "settings.service.error.message" : "Nem tölthető be a szolgáltatás receptje.", |
@@ -110,24 +119,32 @@ | |||
110 | "settings.service.form.customUrlValidationError" : "Nem sikerült hitelesÃteni az egyéni {name} szervert.", | 119 | "settings.service.form.customUrlValidationError" : "Nem sikerült hitelesÃteni az egyéni {name} szervert.", |
111 | "settings.service.form.deleteButton" : "Szolgáltatás törlése", | 120 | "settings.service.form.deleteButton" : "Szolgáltatás törlése", |
112 | "settings.service.form.editServiceHeadline" : "{name} szerkesztése", | 121 | "settings.service.form.editServiceHeadline" : "{name} szerkesztése", |
113 | "settings.service.form.enableAudio" : "Enable audio", | 122 | "settings.service.form.enableAudio" : "Hang engedélyezése", |
123 | "settings.service.form.enableBadge" : "Mutasd az olvasatlan jelzéseket", | ||
114 | "settings.service.form.enableNotification" : "ÉrtesÃtések engedélyezése", | 124 | "settings.service.form.enableNotification" : "ÉrtesÃtések engedélyezése", |
115 | "settings.service.form.enableService" : "Szolgáltatás engedélyezése", | 125 | "settings.service.form.enableService" : "Szolgáltatás engedélyezése", |
126 | "settings.service.form.headlineBadges" : "Olvasatlan üzenet jelzések", | ||
127 | "settings.service.form.headlineGeneral" : "Ãltalános", | ||
128 | "settings.service.form.headlineNotifications" : "ÉrtesÃtések", | ||
129 | "settings.service.form.icon" : "Egyedi ikon", | ||
130 | "settings.service.form.iconDelete" : "Törlés", | ||
131 | "settings.service.form.iconUpload" : "Húzd ide a képet, vagy kattints ide", | ||
116 | "settings.service.form.indirectMessageInfo" : "ÉrtesÃtést kapsz minden üzenetrÅ‘l a csatornában, nem csak @felhasználónév, @csatorna @here és egyéb emlÃtések esetén", | 132 | "settings.service.form.indirectMessageInfo" : "ÉrtesÃtést kapsz minden üzenetrÅ‘l a csatornában, nem csak @felhasználónév, @csatorna @here és egyéb emlÃtések esetén", |
117 | "settings.service.form.indirectMessages" : "Ãœzenet kitűzÅ‘ megjelenÃtése minden üzenethez", | 133 | "settings.service.form.indirectMessages" : "Ãœzenet kitűzÅ‘ megjelenÃtése minden üzenethez", |
118 | "settings.service.form.isMutedInfo" : "When disabled, all notification sounds and audio playback are muted", | 134 | "settings.service.form.isMutedInfo" : "Ha kikapcsolod, minden értesÃtési és lejátszott hang némÃtásra kerül.", |
119 | "settings.service.form.name" : "Név", | 135 | "settings.service.form.name" : "Név", |
120 | "settings.service.form.saveButton" : "Szolgáltatás mentése", | 136 | "settings.service.form.saveButton" : "Szolgáltatás mentése", |
121 | "settings.service.form.tabHosted" : "Ãœzemeltetett", | 137 | "settings.service.form.tabHosted" : "Ãœzemeltetett", |
122 | "settings.service.form.tabOnPremise" : "Egyénileg üzemeltetett", | 138 | "settings.service.form.tabOnPremise" : "Egyénileg üzemeltetett", |
123 | "settings.service.form.team" : "Csapat", | 139 | "settings.service.form.team" : "Csapat", |
140 | "settings.service.form.useHostedService" : "A távoli {name} szolgáltatás használata", | ||
124 | "settings.service.form.yourServices" : "Szolgáltatásaid", | 141 | "settings.service.form.yourServices" : "Szolgáltatásaid", |
125 | "settings.services.deletedInfo" : "A szolgáltatás törlésre került", | 142 | "settings.services.deletedInfo" : "A szolgáltatás törlésre került", |
126 | "settings.services.discoverServices" : "Szolgáltatások felfedezése", | 143 | "settings.services.discoverServices" : "Szolgáltatások felfedezése", |
127 | "settings.services.headline" : "Szolgáltatásaid", | 144 | "settings.services.headline" : "Szolgáltatásaid", |
128 | "settings.services.noServicesAdded" : "Még nem adtál hozzá egyetlen szolgáltatást sem eddig.", | 145 | "settings.services.noServicesAdded" : "Még nem adtál hozzá egyetlen szolgáltatást sem eddig.", |
129 | "settings.services.tooltip.isDisabled" : "Ez a szolgáltatás le van tiltva.", | 146 | "settings.services.tooltip.isDisabled" : "Ez a szolgáltatás le van tiltva.", |
130 | "settings.services.tooltip.isMuted" : "All sounds are muted", | 147 | "settings.services.tooltip.isMuted" : "Minden hang lenémÃtva", |
131 | "settings.services.tooltip.notificationsDisabled" : "ÉrtesÃtések letiltva", | 148 | "settings.services.tooltip.notificationsDisabled" : "ÉrtesÃtések letiltva", |
132 | "settings.services.updatedInfo" : "A módosÃtásokat elmentettük", | 149 | "settings.services.updatedInfo" : "A módosÃtásokat elmentettük", |
133 | "settings.user.form.accountType.company" : "Cég", | 150 | "settings.user.form.accountType.company" : "Cég", |
@@ -136,26 +153,26 @@ | |||
136 | "settings.user.form.accountType.non-profit" : "Non-Profit", | 153 | "settings.user.form.accountType.non-profit" : "Non-Profit", |
137 | "settings.user.form.currentPassword" : "Jelenlegi jelszó", | 154 | "settings.user.form.currentPassword" : "Jelenlegi jelszó", |
138 | "settings.user.form.email" : "Email", | 155 | "settings.user.form.email" : "Email", |
139 | "settings.user.form.firstname" : "First Name", | 156 | "settings.user.form.firstname" : "Keresztnév", |
140 | "settings.user.form.lastname" : "Last Name", | 157 | "settings.user.form.lastname" : "Vezetéknév", |
141 | "settings.user.form.newPassword" : "Új jelszó", | 158 | "settings.user.form.newPassword" : "Új jelszó", |
142 | "sidebar.addNewService" : "Szolgáltatás hozzáadása", | 159 | "sidebar.addNewService" : "Szolgáltatás hozzáadása", |
143 | "sidebar.mute" : "Disable audio", | 160 | "sidebar.muteApp" : "ÉrtesÃtések és hangok letiltása", |
144 | "sidebar.settings" : "BeállÃtások", | 161 | "sidebar.settings" : "BeállÃtások", |
145 | "sidebar.unmute" : "Enable audio", | 162 | "sidebar.unmuteApp" : "ÉrtesÃtések és hangok engedélyezése", |
146 | "signup.company.label" : "Cég", | 163 | "signup.company.label" : "Cég", |
147 | "signup.email.label" : "Email cÃm", | 164 | "signup.email.label" : "Email cÃm", |
148 | "signup.emailDuplicate" : "Ezzel az e-mail cÃmmel már létezik felhasználó", | 165 | "signup.emailDuplicate" : "Ezzel az e-mail cÃmmel már létezik felhasználó", |
149 | "signup.firstname.label" : "First Name", | 166 | "signup.firstname.label" : "Keresztnév", |
150 | "signup.headline" : "Regisztráció", | 167 | "signup.headline" : "Regisztráció", |
151 | "signup.lastname.label" : "Last Name", | 168 | "signup.lastname.label" : "Családnév", |
152 | "signup.legal.info" : "A Franz fiók létrehozásával elfogadod az", | 169 | "signup.legal.info" : "A Franz fiók létrehozásával elfogadod az", |
153 | "signup.legal.privacy" : "Adatvédelmi Nyilatkozatot", | 170 | "signup.legal.privacy" : "Adatvédelmi Nyilatkozatot", |
154 | "signup.legal.terms" : "Felhasználási Feltételeket", | 171 | "signup.legal.terms" : "Felhasználási Feltételeket", |
155 | "signup.link.login" : "Már van fiókod? Lépj be!", | 172 | "signup.link.login" : "Már van fiókod? Lépj be!", |
156 | "signup.password.label" : "Jelszó", | 173 | "signup.password.label" : "Jelszó", |
157 | "signup.submit.label" : "Fiók létrehozása", | 174 | "signup.submit.label" : "Fiók létrehozása", |
158 | "subscription.euTaxInfo" : "EU residents: local sales tax may apply", | 175 | "subscription.euTaxInfo" : "EU állampolgárok: helyi vásárlás esetén adók kerülhetnek felszámolásra", |
159 | "subscription.features.ads" : "Hirdetésmentes, mindig!", | 176 | "subscription.features.ads" : "Hirdetésmentes, mindig!", |
160 | "subscription.features.comingSoon" : "Hamarosan!", | 177 | "subscription.features.comingSoon" : "Hamarosan!", |
161 | "subscription.features.customServices" : "Privát szolgáltatások neked és a csapatodnak", | 178 | "subscription.features.customServices" : "Privát szolgáltatások neked és a csapatodnak", |
@@ -178,11 +195,11 @@ | |||
178 | "subscriptionPopup.buttonCancel" : "Mégsem", | 195 | "subscriptionPopup.buttonCancel" : "Mégsem", |
179 | "subscriptionPopup.buttonDone" : "Kész", | 196 | "subscriptionPopup.buttonDone" : "Kész", |
180 | "tabs.item.deleteService" : "Szolgáltatás törlése", | 197 | "tabs.item.deleteService" : "Szolgáltatás törlése", |
181 | "tabs.item.disableAudio" : "Disable audio", | 198 | "tabs.item.disableAudio" : "Hang letiltása", |
182 | "tabs.item.disableNotifications" : "ÉrtesÃtések letiltása", | 199 | "tabs.item.disableNotifications" : "ÉrtesÃtések letiltása", |
183 | "tabs.item.disableService" : "Szolgáltatás letiltása", | 200 | "tabs.item.disableService" : "Szolgáltatás letiltása", |
184 | "tabs.item.edit" : "Szerkesztés", | 201 | "tabs.item.edit" : "Szerkesztés", |
185 | "tabs.item.enableAudio" : "Enable audio", | 202 | "tabs.item.enableAudio" : "Hang engedélyezése", |
186 | "tabs.item.enableNotification" : "ÉrtesÃtések engedélyezése", | 203 | "tabs.item.enableNotification" : "ÉrtesÃtések engedélyezése", |
187 | "tabs.item.enableService" : "Szolgáltatás engedélyezése", | 204 | "tabs.item.enableService" : "Szolgáltatás engedélyezése", |
188 | "tabs.item.reload" : "Újratöltés", | 205 | "tabs.item.reload" : "Újratöltés", |
diff --git a/src/i18n/locales/id.json b/src/i18n/locales/id.json index 611cad550..f47a860b6 100644 --- a/src/i18n/locales/id.json +++ b/src/i18n/locales/id.json | |||
@@ -5,7 +5,7 @@ | |||
5 | "import.notSupportedHeadline" : "Layanan belum didukung di Franz 5", | 5 | "import.notSupportedHeadline" : "Layanan belum didukung di Franz 5", |
6 | "import.skip.label" : "Saya ingin menambahkan layanan secara manual", | 6 | "import.skip.label" : "Saya ingin menambahkan layanan secara manual", |
7 | "import.submit.label" : "Impor layanan", | 7 | "import.submit.label" : "Impor layanan", |
8 | "infobar.buttonChangelog" : "What is new?", | 8 | "infobar.buttonChangelog" : "Yang baru", |
9 | "infobar.buttonInstallUpdate" : "Mulai ulang dan instal versi baru", | 9 | "infobar.buttonInstallUpdate" : "Mulai ulang dan instal versi baru", |
10 | "infobar.buttonReloadServices" : "Muat ulang layanan", | 10 | "infobar.buttonReloadServices" : "Muat ulang layanan", |
11 | "infobar.requiredRequestsFailed" : "Tidak bisa memuat layanan dan informasi pengguna", | 11 | "infobar.requiredRequestsFailed" : "Tidak bisa memuat layanan dan informasi pengguna", |
@@ -48,8 +48,12 @@ | |||
48 | "settings.account.accountType.basic" : "Akun Dasar", | 48 | "settings.account.accountType.basic" : "Akun Dasar", |
49 | "settings.account.accountType.premium" : "Akun Pendukung Premium", | 49 | "settings.account.accountType.premium" : "Akun Pendukung Premium", |
50 | "settings.account.buttonSave" : "Perbarui profil", | 50 | "settings.account.buttonSave" : "Perbarui profil", |
51 | "settings.account.deleteAccount" : "Hapus akun", | ||
52 | "settings.account.deleteEmailSent" : "Anda menerima email dengan tautan untuk mengonfirmasi penghapusan akun. Akun dan data Anda tidak bisa dipulihkan!", | ||
53 | "settings.account.deleteInfo" : "Jika Anda tidak membutuhkan akun Franz lagi, Anda bisa menghapus akun dan semua data terkait di sini.", | ||
51 | "settings.account.headline" : "Akun", | 54 | "settings.account.headline" : "Akun", |
52 | "settings.account.headlineAccount" : "Informasi akun", | 55 | "settings.account.headlineAccount" : "Informasi akun", |
56 | "settings.account.headlineDangerZone" : "Wilayah Berbahaya", | ||
53 | "settings.account.headlineInvoices" : "Tagihan", | 57 | "settings.account.headlineInvoices" : "Tagihan", |
54 | "settings.account.headlinePassword" : "Ubah sandi", | 58 | "settings.account.headlinePassword" : "Ubah sandi", |
55 | "settings.account.headlineProfile" : "Perbarui profil", | 59 | "settings.account.headlineProfile" : "Perbarui profil", |
@@ -64,8 +68,10 @@ | |||
64 | "settings.account.successInfo" : "Perubahan Anda telah disimpan", | 68 | "settings.account.successInfo" : "Perubahan Anda telah disimpan", |
65 | "settings.account.tryReloadUserInfoRequest" : "Coba lagi", | 69 | "settings.account.tryReloadUserInfoRequest" : "Coba lagi", |
66 | "settings.account.userInfoRequestFailed" : "Tidak bisa memuat informasi pengguna", | 70 | "settings.account.userInfoRequestFailed" : "Tidak bisa memuat informasi pengguna", |
71 | "settings.app.buttonClearAllCache" : "Bersihkan singgahan", | ||
67 | "settings.app.buttonInstallUpdate" : "Mulai ulang dan instal versi baru", | 72 | "settings.app.buttonInstallUpdate" : "Mulai ulang dan instal versi baru", |
68 | "settings.app.buttonSearchForUpdate" : "Periksa versi baru", | 73 | "settings.app.buttonSearchForUpdate" : "Periksa versi baru", |
74 | "settings.app.cacheInfo" : "Singgahan Franz sedang menggunakan ruang disk {size}.", | ||
69 | "settings.app.currentVersion" : "Versi saat ini:", | 75 | "settings.app.currentVersion" : "Versi saat ini:", |
70 | "settings.app.form.autoLaunchInBackground" : "Buka di latar belakang", | 76 | "settings.app.form.autoLaunchInBackground" : "Buka di latar belakang", |
71 | "settings.app.form.autoLaunchOnStart" : "Jalankan Franz saat komputer dimulai", | 77 | "settings.app.form.autoLaunchOnStart" : "Jalankan Franz saat komputer dimulai", |
@@ -76,6 +82,7 @@ | |||
76 | "settings.app.form.minimizeToSystemTray" : "Perkecil Franz ke baki sistem", | 82 | "settings.app.form.minimizeToSystemTray" : "Perkecil Franz ke baki sistem", |
77 | "settings.app.form.runInBackground" : "Tetap jalankan Franz di latar belakang saat menutup jendela", | 83 | "settings.app.form.runInBackground" : "Tetap jalankan Franz di latar belakang saat menutup jendela", |
78 | "settings.app.form.showDisabledServices" : "Tampilkan tab layanan yang dinonaktifkan", | 84 | "settings.app.form.showDisabledServices" : "Tampilkan tab layanan yang dinonaktifkan", |
85 | "settings.app.form.showMessagesBadgesWhenMuted" : "Tampilkan lencana pesan belum dibaca saat pemberitahuan dinonaktifkan", | ||
79 | "settings.app.headline" : "Pengaturan", | 86 | "settings.app.headline" : "Pengaturan", |
80 | "settings.app.headlineAdvanced" : "Tingkat Lanjut", | 87 | "settings.app.headlineAdvanced" : "Tingkat Lanjut", |
81 | "settings.app.headlineAppearance" : "Tampilan", | 88 | "settings.app.headlineAppearance" : "Tampilan", |
@@ -83,7 +90,8 @@ | |||
83 | "settings.app.headlineLanguage" : "Bahasa", | 90 | "settings.app.headlineLanguage" : "Bahasa", |
84 | "settings.app.headlineUpdates" : "Versi Baru", | 91 | "settings.app.headlineUpdates" : "Versi Baru", |
85 | "settings.app.restartRequired" : "Perubahan membutuhkan mulai ulang", | 92 | "settings.app.restartRequired" : "Perubahan membutuhkan mulai ulang", |
86 | "settings.app.translationHelp" : "Help us to translate Franz into your language.", | 93 | "settings.app.subheadlineCache" : "Singgahan", |
94 | "settings.app.translationHelp" : "Bantu kami menerjemahkan Franz ke bahasa Anda.", | ||
87 | "settings.app.updateStatusAvailable" : "Versi baru tersedia, mengunduh...", | 95 | "settings.app.updateStatusAvailable" : "Versi baru tersedia, mengunduh...", |
88 | "settings.app.updateStatusSearching" : "Sedang mencari versi baru", | 96 | "settings.app.updateStatusSearching" : "Sedang mencari versi baru", |
89 | "settings.app.updateStatusUpToDate" : "Anda sedang menggunakan versi terbaru Franz", | 97 | "settings.app.updateStatusUpToDate" : "Anda sedang menggunakan versi terbaru Franz", |
@@ -95,32 +103,41 @@ | |||
95 | "settings.recipes.all" : "Semua layanan", | 103 | "settings.recipes.all" : "Semua layanan", |
96 | "settings.recipes.dev" : "Pengembangan", | 104 | "settings.recipes.dev" : "Pengembangan", |
97 | "settings.recipes.headline" : "Layanan tersedia", | 105 | "settings.recipes.headline" : "Layanan tersedia", |
98 | "settings.recipes.missingService" : "Missing a service?", | 106 | "settings.recipes.missingService" : "Layanan tidak tersedia?", |
99 | "settings.recipes.mostPopular" : "Paling populer", | 107 | "settings.recipes.mostPopular" : "Paling populer", |
100 | "settings.recipes.nothingFound" : "Maaf, tidak ada layanan yang cocok dengan pencarian Anda.", | 108 | "settings.recipes.nothingFound" : "Maaf, tidak ada layanan yang cocok dengan pencarian Anda.", |
101 | "settings.recipes.servicesSuccessfulAddedInfo" : "Layanan berhasil ditambahkan", | 109 | "settings.recipes.servicesSuccessfulAddedInfo" : "Layanan berhasil ditambahkan", |
110 | "settings.searchService" : "Cari layanan", | ||
102 | "settings.service.error.goBack" : "Kembali ke layanan", | 111 | "settings.service.error.goBack" : "Kembali ke layanan", |
103 | "settings.service.error.headline" : "Kesalahan", | 112 | "settings.service.error.headline" : "Kesalahan", |
104 | "settings.service.error.message" : "Tidak dapat memuat konfigurasi layanan.", | 113 | "settings.service.error.message" : "Tidak dapat memuat konfigurasi layanan.", |
105 | "settings.service.form.addServiceHeadline" : "Tambahkan {name}", | 114 | "settings.service.form.addServiceHeadline" : "Tambahkan {name}", |
106 | "settings.service.form.availableServices" : "Layanan tersedia", | 115 | "settings.service.form.availableServices" : "Layanan tersedia", |
107 | "settings.service.form.customUrl" : "Server khusus", | 116 | "settings.service.form.customUrl" : "Server khusus", |
108 | "settings.service.form.customUrlPremiumInfo" : "Untuk menambahkan layanan yang dijalankan mandiri, Anda membutuhkan Franz Premium Supporter Account.", | 117 | "settings.service.form.customUrlPremiumInfo" : "Untuk menambahkan layanan hosted yang dijalankan mandiri, Anda membutuhkan Franz Premium Supporter Account.", |
109 | "settings.service.form.customUrlUpgradeAccount" : "Tingkatkan akun Anda", | 118 | "settings.service.form.customUrlUpgradeAccount" : "Tingkatkan akun Anda", |
110 | "settings.service.form.customUrlValidationError" : "Tidak bisa memvalidasi server {name} khusus.", | 119 | "settings.service.form.customUrlValidationError" : "Tidak bisa memvalidasi server {name} khusus.", |
111 | "settings.service.form.deleteButton" : "Hapus layanan", | 120 | "settings.service.form.deleteButton" : "Hapus layanan", |
112 | "settings.service.form.editServiceHeadline" : "Edit {name}", | 121 | "settings.service.form.editServiceHeadline" : "Edit {name}", |
113 | "settings.service.form.enableAudio" : "Aktifkan audio", | 122 | "settings.service.form.enableAudio" : "Aktifkan audio", |
123 | "settings.service.form.enableBadge" : "Tampilkan lencana pesan belum dibaca", | ||
114 | "settings.service.form.enableNotification" : "Aktifkan pemberitahuan", | 124 | "settings.service.form.enableNotification" : "Aktifkan pemberitahuan", |
115 | "settings.service.form.enableService" : "Aktifkan layanan", | 125 | "settings.service.form.enableService" : "Aktifkan layanan", |
126 | "settings.service.form.headlineBadges" : "Lencana pesan belum dibaca", | ||
127 | "settings.service.form.headlineGeneral" : "Umum", | ||
128 | "settings.service.form.headlineNotifications" : "Notifikasi", | ||
129 | "settings.service.form.icon" : "Ikon khusus", | ||
130 | "settings.service.form.iconDelete" : "Hapus", | ||
131 | "settings.service.form.iconUpload" : "Lepaskan gambar atau klik di sini", | ||
116 | "settings.service.form.indirectMessageInfo" : "Anda akan diberi tahu tentang semua pesan dalam kanal, bukan hanya @username, @channel, @here, ...", | 132 | "settings.service.form.indirectMessageInfo" : "Anda akan diberi tahu tentang semua pesan dalam kanal, bukan hanya @username, @channel, @here, ...", |
117 | "settings.service.form.indirectMessages" : "Tampilkan lencana pesan untuk semua pesan", | 133 | "settings.service.form.indirectMessages" : "Tampilkan lencana pesan untuk semua pesan", |
118 | "settings.service.form.isMutedInfo" : "Saat dinonaktifkan, semua suara notifikasi dan pemutaran audio akan dibisukan", | 134 | "settings.service.form.isMutedInfo" : "Saat dinonaktifkan, semua suara pemberitahuan dan pemutaran audio akan dibisukan", |
119 | "settings.service.form.name" : "Nama", | 135 | "settings.service.form.name" : "Nama", |
120 | "settings.service.form.saveButton" : "Simpan layanan", | 136 | "settings.service.form.saveButton" : "Simpan layanan", |
121 | "settings.service.form.tabHosted" : "Hosted", | 137 | "settings.service.form.tabHosted" : "Hosted", |
122 | "settings.service.form.tabOnPremise" : "Hosted mandiri", | 138 | "settings.service.form.tabOnPremise" : "Hosted mandiri", |
123 | "settings.service.form.team" : "Tim", | 139 | "settings.service.form.team" : "Tim", |
140 | "settings.service.form.useHostedService" : "Gunakan layanan hosted {name}.", | ||
124 | "settings.service.form.yourServices" : "Layanan Anda", | 141 | "settings.service.form.yourServices" : "Layanan Anda", |
125 | "settings.services.deletedInfo" : "Layanan telah dihapus", | 142 | "settings.services.deletedInfo" : "Layanan telah dihapus", |
126 | "settings.services.discoverServices" : "Temukan layanan", | 143 | "settings.services.discoverServices" : "Temukan layanan", |
@@ -140,9 +157,9 @@ | |||
140 | "settings.user.form.lastname" : "Nama Belakang", | 157 | "settings.user.form.lastname" : "Nama Belakang", |
141 | "settings.user.form.newPassword" : "Sandi baru", | 158 | "settings.user.form.newPassword" : "Sandi baru", |
142 | "sidebar.addNewService" : "Tambahkan layanan baru", | 159 | "sidebar.addNewService" : "Tambahkan layanan baru", |
143 | "sidebar.mute" : "Nonaktifkan audio", | 160 | "sidebar.muteApp" : "Nonaktifkan pemberitahuan & audio", |
144 | "sidebar.settings" : "Pengaturan", | 161 | "sidebar.settings" : "Pengaturan", |
145 | "sidebar.unmute" : "Aktifkan audio", | 162 | "sidebar.unmuteApp" : "Aktifkan pemberitahuan", |
146 | "signup.company.label" : "Perusahaan", | 163 | "signup.company.label" : "Perusahaan", |
147 | "signup.email.label" : "Alamat email", | 164 | "signup.email.label" : "Alamat email", |
148 | "signup.emailDuplicate" : "Pengguna dengan alamat email ini sudah ada", | 165 | "signup.emailDuplicate" : "Pengguna dengan alamat email ini sudah ada", |
@@ -160,7 +177,7 @@ | |||
160 | "subscription.features.comingSoon" : "segera hadir", | 177 | "subscription.features.comingSoon" : "segera hadir", |
161 | "subscription.features.customServices" : "Layanan pribadi untuk Anda dan tim Anda", | 178 | "subscription.features.customServices" : "Layanan pribadi untuk Anda dan tim Anda", |
162 | "subscription.features.encryptedSync" : "Sinkronisasi sesi terenkripsi", | 179 | "subscription.features.encryptedSync" : "Sinkronisasi sesi terenkripsi", |
163 | "subscription.features.onpremise" : "Layanan add-on premise\/hosten seperti HipChat", | 180 | "subscription.features.onpremise" : "Layanan add-on premise\/hosted seperti HipChat", |
164 | "subscription.features.vpn" : "Dukungan proxy & VPN", | 181 | "subscription.features.vpn" : "Dukungan proxy & VPN", |
165 | "subscription.includedFeatures" : "Franz Premium Supporter Account berbayar menyertakan", | 182 | "subscription.includedFeatures" : "Franz Premium Supporter Account berbayar menyertakan", |
166 | "subscription.mining.experimental" : "eksperimental", | 183 | "subscription.mining.experimental" : "eksperimental", |
diff --git a/src/i18n/locales/it.json b/src/i18n/locales/it.json index ad3f9b880..1d2485b19 100644 --- a/src/i18n/locales/it.json +++ b/src/i18n/locales/it.json | |||
@@ -5,33 +5,33 @@ | |||
5 | "import.notSupportedHeadline" : "Servizi non ancora supportati in Franz 5", | 5 | "import.notSupportedHeadline" : "Servizi non ancora supportati in Franz 5", |
6 | "import.skip.label" : "Voglio aggiungere servizi manualmente", | 6 | "import.skip.label" : "Voglio aggiungere servizi manualmente", |
7 | "import.submit.label" : "Importa servizi", | 7 | "import.submit.label" : "Importa servizi", |
8 | "infobar.buttonChangelog" : "What is new?", | 8 | "infobar.buttonChangelog" : "Novità ", |
9 | "infobar.buttonInstallUpdate" : "Riavvia e installa aggiornamento", | 9 | "infobar.buttonInstallUpdate" : "Riavvia e installa aggiornamento", |
10 | "infobar.buttonReloadServices" : "Ricarica servizi", | 10 | "infobar.buttonReloadServices" : "Ricarica servizi", |
11 | "infobar.requiredRequestsFailed" : "Impossibile caricare servizi e info utente", | 11 | "infobar.requiredRequestsFailed" : "Impossibile caricare servizi e info utente", |
12 | "infobar.servicesUpdated" : "I tuoi servizi sono stati aggiornati.", | 12 | "infobar.servicesUpdated" : "I tuoi servizi sono stati aggiornati.", |
13 | "infobar.updateAvailable" : "È disponibile un nuovo aggiornamento di Franz.", | 13 | "infobar.updateAvailable" : "È disponibile un nuovo aggiornamento di Franz.", |
14 | "invite.email.label" : "Indirizzo e-mail", | 14 | "invite.email.label" : "Indirizzo email", |
15 | "invite.headline.friends" : "Invita 3 dei tuoi amici o colleghi", | 15 | "invite.headline.friends" : "Invita 3 dei tuoi amici o colleghi", |
16 | "invite.name.label" : "Nome", | 16 | "invite.name.label" : "Nome", |
17 | "invite.skip.label" : "Voglio farlo dopo", | 17 | "invite.skip.label" : "Voglio farlo dopo", |
18 | "invite.submit.label" : "Invia inviti", | 18 | "invite.submit.label" : "Invia inviti", |
19 | "login.email.label" : "Indirizzo e-mail", | 19 | "login.email.label" : "Indirizzo email", |
20 | "login.headline" : "Accedi", | 20 | "login.headline" : "Accedi", |
21 | "login.invalidCredentials" : "E-mail o password non valide", | 21 | "login.invalidCredentials" : "Email o password non valide", |
22 | "login.link.password" : "Reimposta password", | 22 | "login.link.password" : "Reimposta password", |
23 | "login.link.signup" : "Crea un account gratuito", | 23 | "login.link.signup" : "Crea un account gratuito", |
24 | "login.password.label" : "Password", | 24 | "login.password.label" : "Password", |
25 | "login.serverLogout" : "Sessione scaduta, accedi di nuovo.", | 25 | "login.serverLogout" : "Sessione scaduta, accedi di nuovo.", |
26 | "login.submit.label" : "Accedi", | 26 | "login.submit.label" : "Accedi", |
27 | "login.tokenExpired" : "Sessione scaduta, accedi di nuovo.", | 27 | "login.tokenExpired" : "Sessione scaduta, accedi di nuovo.", |
28 | "password.email.label" : "Indirizzo e-mail", | 28 | "password.email.label" : "Indirizzo email", |
29 | "password.headline" : "Reimposta password", | 29 | "password.headline" : "Reimposta password", |
30 | "password.link.login" : "Accedi al tuo account", | 30 | "password.link.login" : "Accedi al tuo account", |
31 | "password.link.signup" : "Crea un account gratuito", | 31 | "password.link.signup" : "Crea un account gratuito", |
32 | "password.noUser" : "Non è stato trovato nessun utente con quell'indirizzo e-mail", | 32 | "password.noUser" : "Non è stato trovato nessun utente con questo indirizzo email", |
33 | "password.submit.label" : "Invia", | 33 | "password.submit.label" : "Invia", |
34 | "password.successInfo" : "Controlla la tua e-mail", | 34 | "password.successInfo" : "Controlla la tua email", |
35 | "pricing.headline" : "Supporta Franz", | 35 | "pricing.headline" : "Supporta Franz", |
36 | "pricing.link.skipPayment" : "Non voglio supportare lo sviluppo di Franz", | 36 | "pricing.link.skipPayment" : "Non voglio supportare lo sviluppo di Franz", |
37 | "pricing.submit.label" : "Voglio supportare lo sviluppo di Franz", | 37 | "pricing.submit.label" : "Voglio supportare lo sviluppo di Franz", |
@@ -40,16 +40,20 @@ | |||
40 | "service.crashHandler.autoReload" : "Prova a ripristinare automaticamente {name} in {seconds} secondi", | 40 | "service.crashHandler.autoReload" : "Prova a ripristinare automaticamente {name} in {seconds} secondi", |
41 | "service.crashHandler.headline" : "Oh no!", | 41 | "service.crashHandler.headline" : "Oh no!", |
42 | "service.crashHandler.text" : "{name} ha causato un errore.", | 42 | "service.crashHandler.text" : "{name} ha causato un errore.", |
43 | "service.disabledHandler.action" : "Abilita {name}", | 43 | "service.disabledHandler.action" : "Attiva {name}", |
44 | "service.disabledHandler.headline" : "{name} è disabilitato", | 44 | "service.disabledHandler.headline" : "{name} è disattivato", |
45 | "services.getStarted" : "Iniziamo", | 45 | "services.getStarted" : "Iniziamo", |
46 | "services.welcome" : "Benvenuto in Franz", | 46 | "services.welcome" : "Benvenuto in Franz", |
47 | "settings.account.account.editButton" : "Modifica account", | 47 | "settings.account.account.editButton" : "Modifica account", |
48 | "settings.account.accountType.basic" : "Account Basic", | 48 | "settings.account.accountType.basic" : "Account Basic", |
49 | "settings.account.accountType.premium" : "Premium Supporter Account", | 49 | "settings.account.accountType.premium" : "Premium Supporter Account", |
50 | "settings.account.buttonSave" : "Aggiorna profilo", | 50 | "settings.account.buttonSave" : "Aggiorna profilo", |
51 | "settings.account.deleteAccount" : "Elimina account", | ||
52 | "settings.account.deleteEmailSent" : "Hai ricevuto un'email con un link per confermare l'eliminazione del tuo account. I dati del tuo account non potranno essere ripristinati!", | ||
53 | "settings.account.deleteInfo" : "Se non hai più bisogno dell'account Franz, puoi eliminare il tuo account e tutti i dati relativi qui.", | ||
51 | "settings.account.headline" : "Account", | 54 | "settings.account.headline" : "Account", |
52 | "settings.account.headlineAccount" : "Informazioni account", | 55 | "settings.account.headlineAccount" : "Informazioni account", |
56 | "settings.account.headlineDangerZone" : "Zona Pericolosa", | ||
53 | "settings.account.headlineInvoices" : "Fatture", | 57 | "settings.account.headlineInvoices" : "Fatture", |
54 | "settings.account.headlinePassword" : "Cambia password", | 58 | "settings.account.headlinePassword" : "Cambia password", |
55 | "settings.account.headlineProfile" : "Aggiorna profilo", | 59 | "settings.account.headlineProfile" : "Aggiorna profilo", |
@@ -64,18 +68,21 @@ | |||
64 | "settings.account.successInfo" : "Le tue modifiche sono state salvate", | 68 | "settings.account.successInfo" : "Le tue modifiche sono state salvate", |
65 | "settings.account.tryReloadUserInfoRequest" : "Riprova ancora", | 69 | "settings.account.tryReloadUserInfoRequest" : "Riprova ancora", |
66 | "settings.account.userInfoRequestFailed" : "Impossibile caricare informazioni utente.", | 70 | "settings.account.userInfoRequestFailed" : "Impossibile caricare informazioni utente.", |
71 | "settings.app.buttonClearAllCache" : "Svuota cache", | ||
67 | "settings.app.buttonInstallUpdate" : "Riavvia e installa aggiornamento", | 72 | "settings.app.buttonInstallUpdate" : "Riavvia e installa aggiornamento", |
68 | "settings.app.buttonSearchForUpdate" : "Controlla aggiornamenti", | 73 | "settings.app.buttonSearchForUpdate" : "Controlla aggiornamenti", |
74 | "settings.app.cacheInfo" : "Franz sta utilizzando {size} di spazio su disco.", | ||
69 | "settings.app.currentVersion" : "Versione attuale:", | 75 | "settings.app.currentVersion" : "Versione attuale:", |
70 | "settings.app.form.autoLaunchInBackground" : "Apri in secondo piano", | 76 | "settings.app.form.autoLaunchInBackground" : "Apri in secondo piano", |
71 | "settings.app.form.autoLaunchOnStart" : "Apri Franz all'avvio", | 77 | "settings.app.form.autoLaunchOnStart" : "Esegui Franz all'avvio", |
72 | "settings.app.form.beta" : "Includi versioni beta", | 78 | "settings.app.form.beta" : "Includi versioni beta", |
73 | "settings.app.form.enableSpellchecking" : "Abilita controllo ortografico", | 79 | "settings.app.form.enableSpellchecking" : "Attiva controllo ortografico", |
74 | "settings.app.form.enableSystemTray" : "Mostra Franz nell'area di notifica", | 80 | "settings.app.form.enableSystemTray" : "Mostra Franz nell'area di notifica", |
75 | "settings.app.form.language" : "Lingua", | 81 | "settings.app.form.language" : "Lingua", |
76 | "settings.app.form.minimizeToSystemTray" : "Minimizza Franz nell'area di notifica", | 82 | "settings.app.form.minimizeToSystemTray" : "Minimizza Franz nell'area di notifica", |
77 | "settings.app.form.runInBackground" : "Mantieni Franz in esecuzione quando chiudi la finestra", | 83 | "settings.app.form.runInBackground" : "Mantieni Franz in esecuzione quando chiudi la finestra", |
78 | "settings.app.form.showDisabledServices" : "Mostra i tab disabilitati", | 84 | "settings.app.form.showDisabledServices" : "Mostra tab servizi disattivati", |
85 | "settings.app.form.showMessagesBadgesWhenMuted" : "Mostra badge messaggi non letti quanto le notifiche sono disattivati", | ||
79 | "settings.app.headline" : "Impostazioni", | 86 | "settings.app.headline" : "Impostazioni", |
80 | "settings.app.headlineAdvanced" : "Avanzate", | 87 | "settings.app.headlineAdvanced" : "Avanzate", |
81 | "settings.app.headlineAppearance" : "Aspetto", | 88 | "settings.app.headlineAppearance" : "Aspetto", |
@@ -83,9 +90,10 @@ | |||
83 | "settings.app.headlineLanguage" : "Lingua", | 90 | "settings.app.headlineLanguage" : "Lingua", |
84 | "settings.app.headlineUpdates" : "Aggiornamenti", | 91 | "settings.app.headlineUpdates" : "Aggiornamenti", |
85 | "settings.app.restartRequired" : "Le modifiche richiedono un riavvio", | 92 | "settings.app.restartRequired" : "Le modifiche richiedono un riavvio", |
86 | "settings.app.translationHelp" : "Help us to translate Franz into your language.", | 93 | "settings.app.subheadlineCache" : "Cache", |
94 | "settings.app.translationHelp" : "Aiutaci a tradurre Franz nella tua lingua.", | ||
87 | "settings.app.updateStatusAvailable" : "Aggiornamento disponibile, download in corso...", | 95 | "settings.app.updateStatusAvailable" : "Aggiornamento disponibile, download in corso...", |
88 | "settings.app.updateStatusSearching" : "È in ricerca di un aggiornamento", | 96 | "settings.app.updateStatusSearching" : "Ricerca aggiornamenti...", |
89 | "settings.app.updateStatusUpToDate" : "Stai utilizzando l'ultima versione di Franz", | 97 | "settings.app.updateStatusUpToDate" : "Stai utilizzando l'ultima versione di Franz", |
90 | "settings.navigation.account" : "Account", | 98 | "settings.navigation.account" : "Account", |
91 | "settings.navigation.availableServices" : "Servizi disponibili", | 99 | "settings.navigation.availableServices" : "Servizi disponibili", |
@@ -95,10 +103,11 @@ | |||
95 | "settings.recipes.all" : "Tutti i servizi", | 103 | "settings.recipes.all" : "Tutti i servizi", |
96 | "settings.recipes.dev" : "Sviluppo", | 104 | "settings.recipes.dev" : "Sviluppo", |
97 | "settings.recipes.headline" : "Servizi disponibili", | 105 | "settings.recipes.headline" : "Servizi disponibili", |
98 | "settings.recipes.missingService" : "Missing a service?", | 106 | "settings.recipes.missingService" : "Richiedi un servizio", |
99 | "settings.recipes.mostPopular" : "Più popolari", | 107 | "settings.recipes.mostPopular" : "Più popolari", |
100 | "settings.recipes.nothingFound" : "Ci dispiace, ma nessun servizio corrisponde alla tua ricerca.", | 108 | "settings.recipes.nothingFound" : "Ci dispiace, ma nessun servizio corrisponde alla tua ricerca.", |
101 | "settings.recipes.servicesSuccessfulAddedInfo" : "Servizio aggiunto con successo", | 109 | "settings.recipes.servicesSuccessfulAddedInfo" : "Servizio aggiunto con successo", |
110 | "settings.searchService" : "Cerca servizio", | ||
102 | "settings.service.error.goBack" : "Indietro ai servizi", | 111 | "settings.service.error.goBack" : "Indietro ai servizi", |
103 | "settings.service.error.headline" : "Errore", | 112 | "settings.service.error.headline" : "Errore", |
104 | "settings.service.error.message" : "Impossibile caricare il servizio.", | 113 | "settings.service.error.message" : "Impossibile caricare il servizio.", |
@@ -110,17 +119,25 @@ | |||
110 | "settings.service.form.customUrlValidationError" : "Impossibile validare il server personalizzato {name}.", | 119 | "settings.service.form.customUrlValidationError" : "Impossibile validare il server personalizzato {name}.", |
111 | "settings.service.form.deleteButton" : "Elimina servizio", | 120 | "settings.service.form.deleteButton" : "Elimina servizio", |
112 | "settings.service.form.editServiceHeadline" : "Modifica {name}", | 121 | "settings.service.form.editServiceHeadline" : "Modifica {name}", |
113 | "settings.service.form.enableAudio" : "Abilita audio", | 122 | "settings.service.form.enableAudio" : "Attiva audio", |
123 | "settings.service.form.enableBadge" : "Mostra badge messaggi non letti", | ||
114 | "settings.service.form.enableNotification" : "Attiva notifiche", | 124 | "settings.service.form.enableNotification" : "Attiva notifiche", |
115 | "settings.service.form.enableService" : "Attiva servizio", | 125 | "settings.service.form.enableService" : "Attiva servizio", |
126 | "settings.service.form.headlineBadges" : "Badge messaggi non letti", | ||
127 | "settings.service.form.headlineGeneral" : "Generale", | ||
128 | "settings.service.form.headlineNotifications" : "Notifiche", | ||
129 | "settings.service.form.icon" : "Icona personalizzata", | ||
130 | "settings.service.form.iconDelete" : "Elimina", | ||
131 | "settings.service.form.iconUpload" : "Trascina la tua immagine o clicca qui", | ||
116 | "settings.service.form.indirectMessageInfo" : "Verrai notificato di tutti i messaggi in un canale, non solo @username, @channel, @here, ...", | 132 | "settings.service.form.indirectMessageInfo" : "Verrai notificato di tutti i messaggi in un canale, non solo @username, @channel, @here, ...", |
117 | "settings.service.form.indirectMessages" : "Mostra il simbolo del messaggio per tutti i messaggi", | 133 | "settings.service.form.indirectMessages" : "Mostra il simbolo del messaggio per tutti i messaggi", |
118 | "settings.service.form.isMutedInfo" : "Quando disabilitato, tutte le notifiche sonore e le riproduzioni audio saranno disattivate", | 134 | "settings.service.form.isMutedInfo" : "Quando disattivato, tutte le notifiche sonore e le riproduzioni audio saranno mute", |
119 | "settings.service.form.name" : "Nome", | 135 | "settings.service.form.name" : "Nome", |
120 | "settings.service.form.saveButton" : "Salva servizio", | 136 | "settings.service.form.saveButton" : "Salva servizio", |
121 | "settings.service.form.tabHosted" : "Hosted", | 137 | "settings.service.form.tabHosted" : "Hosted", |
122 | "settings.service.form.tabOnPremise" : "Self hosted âï¸", | 138 | "settings.service.form.tabOnPremise" : "Self hosted âï¸", |
123 | "settings.service.form.team" : "Team", | 139 | "settings.service.form.team" : "Team", |
140 | "settings.service.form.useHostedService" : "Utilizza il servizio hostato {name}.", | ||
124 | "settings.service.form.yourServices" : "I tuoi servizi", | 141 | "settings.service.form.yourServices" : "I tuoi servizi", |
125 | "settings.services.deletedInfo" : "Il servizio è stato eliminato", | 142 | "settings.services.deletedInfo" : "Il servizio è stato eliminato", |
126 | "settings.services.discoverServices" : "Scopri servizi", | 143 | "settings.services.discoverServices" : "Scopri servizi", |
@@ -135,17 +152,17 @@ | |||
135 | "settings.user.form.accountType.label" : "Tipo account", | 152 | "settings.user.form.accountType.label" : "Tipo account", |
136 | "settings.user.form.accountType.non-profit" : "Non-Profit", | 153 | "settings.user.form.accountType.non-profit" : "Non-Profit", |
137 | "settings.user.form.currentPassword" : "Password attuale", | 154 | "settings.user.form.currentPassword" : "Password attuale", |
138 | "settings.user.form.email" : "E-mail", | 155 | "settings.user.form.email" : "Email", |
139 | "settings.user.form.firstname" : "Nome", | 156 | "settings.user.form.firstname" : "Nome", |
140 | "settings.user.form.lastname" : "Cognome", | 157 | "settings.user.form.lastname" : "Cognome", |
141 | "settings.user.form.newPassword" : "Nuova password", | 158 | "settings.user.form.newPassword" : "Nuova password", |
142 | "sidebar.addNewService" : "Aggiungi nuovo servizio", | 159 | "sidebar.addNewService" : "Aggiungi nuovo servizio", |
143 | "sidebar.mute" : "Disabilita audio", | 160 | "sidebar.muteApp" : "Disattiva notifiche & audio", |
144 | "sidebar.settings" : "Impostazioni", | 161 | "sidebar.settings" : "Impostazioni", |
145 | "sidebar.unmute" : "Abilita audio", | 162 | "sidebar.unmuteApp" : "Attiva notifiche & audio", |
146 | "signup.company.label" : "Società ", | 163 | "signup.company.label" : "Società ", |
147 | "signup.email.label" : "Indirizzo e-mail", | 164 | "signup.email.label" : "Indirizzo email", |
148 | "signup.emailDuplicate" : "Esiste già un utente con lo stesso indirizzo e-mail", | 165 | "signup.emailDuplicate" : "Esiste già un utente con lo stesso indirizzo email", |
149 | "signup.firstname.label" : "Nome", | 166 | "signup.firstname.label" : "Nome", |
150 | "signup.headline" : "Iscriviti", | 167 | "signup.headline" : "Iscriviti", |
151 | "signup.lastname.label" : "Cognome", | 168 | "signup.lastname.label" : "Cognome", |
@@ -155,19 +172,19 @@ | |||
155 | "signup.link.login" : "Hai già un account, accedi?", | 172 | "signup.link.login" : "Hai già un account, accedi?", |
156 | "signup.password.label" : "Password", | 173 | "signup.password.label" : "Password", |
157 | "signup.submit.label" : "Crea un account", | 174 | "signup.submit.label" : "Crea un account", |
158 | "subscription.euTaxInfo" : "Residente nella Comunità Europea, possono essere applicate tasse locali", | 175 | "subscription.euTaxInfo" : "Residenti EU: possono essere applicate tasse locali", |
159 | "subscription.features.ads" : "Nessuna pubblicità , mai!", | 176 | "subscription.features.ads" : "Nessuna pubblicità , mai!", |
160 | "subscription.features.comingSoon" : "in arrivo", | 177 | "subscription.features.comingSoon" : "in arrivo", |
161 | "subscription.features.customServices" : "Servizi privati per te e il tuo team", | 178 | "subscription.features.customServices" : "Servizi privati per te e il tuo team", |
162 | "subscription.features.encryptedSync" : "Sincronizzazione sessione crittografata", | 179 | "subscription.features.encryptedSync" : "Sincronizzazione sessione crittografata", |
163 | "subscription.features.onpremise" : "Aggiungi servizi on-premise\/hostati come HipChat", | 180 | "subscription.features.onpremise" : "Aggiungi servizi on-premise\/hostati come HipChat", |
164 | "subscription.features.vpn" : "Supporto Proxy e VPN", | 181 | "subscription.features.vpn" : "Supporto Proxy e VPN", |
165 | "subscription.includedFeatures" : "L'account Franz a pagamento Premium Supporter include", | 182 | "subscription.includedFeatures" : "L'account a pagamento Franz Premium Supporter include", |
166 | "subscription.mining.experimental" : "sperimentale", | 183 | "subscription.mining.experimental" : "sperimentale", |
167 | "subscription.mining.headline" : "Come funziona?", | 184 | "subscription.mining.headline" : "Come funziona?", |
168 | "subscription.mining.line1" : "Attivando il \"Supporto con potenza di calcolo\", Franz utilizzerà circa il 20-50% della tua CPU per minare la criptomoneta Monero che equivale a circa 5$\/anno.", | 185 | "subscription.mining.line1" : "Attivando il \"Supporto con potenza di calcolo\", Franz utilizzerà circa il 20-50% della tua CPU per minare la criptomoneta Monero che equivale a circa 5$\/anno.", |
169 | "subscription.mining.line2" : "Adatteremo l'utilizzo della CPU in base al carico di lavoro per non drenare la batteria e rallentare la tua macchina.", | 186 | "subscription.mining.line2" : "Adatteremo l'utilizzo della CPU in base al carico di lavoro per non drenare la batteria e rallentare la tua macchina.", |
170 | "subscription.mining.line3" : "Avrai accesso illimitato a tutte le caratteristiche Premium Supporter finché che il mining sarà attivo.", | 187 | "subscription.mining.line3" : "Avrai accesso illimitato a tutte le caratteristiche Franz Premium Supporter finché il mining sarà attivo.", |
171 | "subscription.mining.moreInformation" : "Ottieni maggiori informazioni su questo piano.", | 188 | "subscription.mining.moreInformation" : "Ottieni maggiori informazioni su questo piano.", |
172 | "subscription.paymentSessionError" : "Impossibile inizializzare il form del pagamento", | 189 | "subscription.paymentSessionError" : "Impossibile inizializzare il form del pagamento", |
173 | "subscription.submit.label" : "Voglio supportare lo sviluppo di Franz", | 190 | "subscription.submit.label" : "Voglio supportare lo sviluppo di Franz", |
diff --git a/src/i18n/locales/ja.json b/src/i18n/locales/ja.json index e091f1f5b..3b0e3b428 100644 --- a/src/i18n/locales/ja.json +++ b/src/i18n/locales/ja.json | |||
@@ -1,44 +1,44 @@ | |||
1 | { | 1 | { |
2 | "global.api.unhealthy" : "Franzオンラインサービスã«æŽ¥ç¶šã§ãã¾ã›ã‚“。", | 2 | "global.api.unhealthy" : "Franzオンラインサービスã«æŽ¥ç¶šã§ãã¾ã›ã‚“。", |
3 | "global.notConnectedToTheInternet" : "Internetã«æŽ¥ç¶šã•ã‚Œã¦ã„ã¾ã›ã‚“。", | 3 | "global.notConnectedToTheInternet" : "インターãƒãƒƒãƒˆã«æŽ¥ç¶šã•ã‚Œã¦ã„ã¾ã›ã‚“。", |
4 | "import.headline" : "Franz 4サービスã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆ", | 4 | "import.headline" : "Franz 4ã®ã‚µãƒ¼ãƒ“スをインãƒãƒ¼ãƒˆ", |
5 | "import.notSupportedHeadline" : "サービスã¯Franz 5ã§ã¯ã¾ã 対応ã•ã‚Œã¦ã„ã¾ã›ã‚“", | 5 | "import.notSupportedHeadline" : "Franz 5ã§ã¯ã“ã®ã‚µãƒ¼ãƒ“スã«ã¾ã 対応ã—ã¦ã„ã¾ã›ã‚“", |
6 | "import.skip.label" : "サービスã®è¿½åŠ ã¯å¾Œã§è¡Œã†", | 6 | "import.skip.label" : "後ã§æ‰‹å‹•ã§ã‚µãƒ¼ãƒ“ã‚¹ã‚’è¿½åŠ ã™ã‚‹", |
7 | "import.submit.label" : "サービスã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆ", | 7 | "import.submit.label" : "サービスをインãƒãƒ¼ãƒˆ", |
8 | "infobar.buttonChangelog" : "What is new?", | 8 | "infobar.buttonChangelog" : "æœ€æ–°æƒ…å ±", |
9 | "infobar.buttonInstallUpdate" : "å†èµ·å‹•ã—ã¦æ›´æ–°ã‚’インストールã™ã‚‹", | 9 | "infobar.buttonInstallUpdate" : "å†èµ·å‹•ã—ã¦æ›´æ–°ã‚’インストールã™ã‚‹", |
10 | "infobar.buttonReloadServices" : "サービスã®ãƒªãƒãƒ¼ãƒ‰", | 10 | "infobar.buttonReloadServices" : "サービスã®å†èªã¿è¾¼ã¿", |
11 | "infobar.requiredRequestsFailed" : "サービスã¨ãƒ¦ãƒ¼ã‚¶ãƒ¼æƒ…å ±ãŒèªã¿è¾¼ã‚ã¾ã›ã‚“", | 11 | "infobar.requiredRequestsFailed" : "サービスã¨ãƒ¦ãƒ¼ã‚¶ãƒ¼æƒ…å ±ã‚’èªã¿è¾¼ã‚ã¾ã›ã‚“ã§ã—ãŸ", |
12 | "infobar.servicesUpdated" : "サービスãŒæ›´æ–°ã•ã‚Œã¾ã—ãŸã€‚", | 12 | "infobar.servicesUpdated" : "サービスãŒæ›´æ–°ã•ã‚Œã¾ã—ãŸã€‚", |
13 | "infobar.updateAvailable" : "Franzã®æ–°ã—ã„æ›´æ–°ãŒã‚ã‚Šã¾ã™ã€‚", | 13 | "infobar.updateAvailable" : "Franzã®æ›´æ–°ãŒã‚ã‚Šã¾ã™ã€‚", |
14 | "invite.email.label" : "メールアドレス", | 14 | "invite.email.label" : "メールアドレス", |
15 | "invite.headline.friends" : "ã‚ãªãŸã®å‹äººã‚„åŒåƒšã®æ–¹ã‚’3åã¾ã§Franzã«æ‹›å¾…ã§ãã¾ã™", | 15 | "invite.headline.friends" : "ã‚ãªãŸã®å‹äººã‚„åŒåƒšã®æ–¹ã‚’3åã¾ã§Franzã«æ‹›å¾…ã§ãã¾ã™", |
16 | "invite.name.label" : "æ°å", | 16 | "invite.name.label" : "æ°å", |
17 | "invite.skip.label" : "後ã«ã™ã‚‹", | 17 | "invite.skip.label" : "後ã§", |
18 | "invite.submit.label" : "招待をé€ã‚‹", | 18 | "invite.submit.label" : "招待をé€ã‚‹", |
19 | "login.email.label" : "メールアドレス", | 19 | "login.email.label" : "メールアドレス", |
20 | "login.headline" : "サインイン", | 20 | "login.headline" : "サインイン", |
21 | "login.invalidCredentials" : "メールアドレスã‹ãƒ‘スワードã«èª¤ã‚ŠãŒã‚ã‚Šã¾ã™", | 21 | "login.invalidCredentials" : "メールアドレスã¾ãŸã¯ãƒ‘スワードãŒé–“é•ã£ã¦ã„ã¾ã™", |
22 | "login.link.password" : "パスワードをリセット", | 22 | "login.link.password" : "パスワードをリセット", |
23 | "login.link.signup" : "無料アカウントを作æˆ", | 23 | "login.link.signup" : "無料アカウントを作æˆ", |
24 | "login.password.label" : "パスワード", | 24 | "login.password.label" : "パスワード", |
25 | "login.serverLogout" : "セッションãŒåˆ‡ã‚Œã¾ã—ãŸã€‚ãƒã‚°ã‚¤ãƒ³ã—ç›´ã—ã¦ä¸‹ã•ã„。", | 25 | "login.serverLogout" : "セッションã®æœŸé™ãŒåˆ‡ã‚Œã¾ã—ãŸã€‚ãƒã‚°ã‚¤ãƒ³ã—ç›´ã—ã¦ä¸‹ã•ã„。", |
26 | "login.submit.label" : "サインイン", | 26 | "login.submit.label" : "サインイン", |
27 | "login.tokenExpired" : "セッションãŒåˆ‡ã‚Œã¾ã—ãŸã€‚ãƒã‚°ã‚¤ãƒ³ã—ç›´ã—ã¦ä¸‹ã•ã„。", | 27 | "login.tokenExpired" : "セッションã®æœŸé™ãŒåˆ‡ã‚Œã¾ã—ãŸã€‚ãƒã‚°ã‚¤ãƒ³ã—ç›´ã—ã¦ä¸‹ã•ã„。", |
28 | "password.email.label" : "メールアドレス", | 28 | "password.email.label" : "メールアドレス", |
29 | "password.headline" : "パスワードã®ãƒªã‚»ãƒƒãƒˆ", | 29 | "password.headline" : "パスワードã®ãƒªã‚»ãƒƒãƒˆ", |
30 | "password.link.login" : "サインイン", | 30 | "password.link.login" : "サインイン", |
31 | "password.link.signup" : "無料アカウントを作æˆ", | 31 | "password.link.signup" : "無料アカウントを作æˆ", |
32 | "password.noUser" : "ã“ã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã¯ç™»éŒ²ã•ã‚Œã¦ã„ã¾ã›ã‚“", | 32 | "password.noUser" : "ã“ã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã¯ã¾ã 登録ã•ã‚Œã¦ã„ã¾ã›ã‚“", |
33 | "password.submit.label" : "é€ä¿¡", | 33 | "password.submit.label" : "é€ä¿¡", |
34 | "password.successInfo" : "メールを確èªã—ã¦ä¸‹ã•ã„", | 34 | "password.successInfo" : "メールを確èªã—ã¦ä¸‹ã•ã„", |
35 | "pricing.headline" : "Franzを支æ´ã™ã‚‹", | 35 | "pricing.headline" : "Franzを支æ´ã™ã‚‹", |
36 | "pricing.link.skipPayment" : "Franzã®é–‹ç™ºã‚’支æ´ã—ãªã„。", | 36 | "pricing.link.skipPayment" : "Franzã®é–‹ç™ºã‚’支æ´ã—ãŸããªã„。", |
37 | "pricing.submit.label" : "Franzã®é–‹ç™ºã‚’支æ´ã—ãŸã„。", | 37 | "pricing.submit.label" : "Franzã®é–‹ç™ºã‚’支æ´ã—ãŸã„。", |
38 | "pricing.support.label" : "プランをé¸æŠžã—ã¦ä¸‹ã•ã„", | 38 | "pricing.support.label" : "プランをé¸æŠžã—ã¦ãã ã•ã„", |
39 | "service.crashHandler.action" : "{name} をリãƒãƒ¼ãƒ‰", | 39 | "service.crashHandler.action" : "{name}ã‚’å†èªã¿è¾¼ã¿", |
40 | "service.crashHandler.autoReload" : "{seconds}秒後ã€è‡ªå‹•çš„ã«{name}ã®å¾©æ—§ã‚’試ã¿ã¾ã™", | 40 | "service.crashHandler.autoReload" : "{seconds}秒後ã€è‡ªå‹•çš„ã«{name}ã®å¾©æ—§ã‚’試ã¿ã¾ã™", |
41 | "service.crashHandler.headline" : "ã—ã¾ã£ãŸ!", | 41 | "service.crashHandler.headline" : "ã—ã¾ã£ãŸï¼", |
42 | "service.crashHandler.text" : "{name}ã¯ã‚¨ãƒ©ãƒ¼ã‚’èµ·ã“ã—ã¾ã—ãŸã€‚", | 42 | "service.crashHandler.text" : "{name}ã¯ã‚¨ãƒ©ãƒ¼ã‚’èµ·ã“ã—ã¾ã—ãŸã€‚", |
43 | "service.disabledHandler.action" : "{name}を有効ã«ã™ã‚‹", | 43 | "service.disabledHandler.action" : "{name}を有効ã«ã™ã‚‹", |
44 | "service.disabledHandler.headline" : "{name}ã¯ç„¡åŠ¹ã§ã™", | 44 | "service.disabledHandler.headline" : "{name}ã¯ç„¡åŠ¹ã§ã™", |
@@ -48,24 +48,30 @@ | |||
48 | "settings.account.accountType.basic" : "Basicアカウント", | 48 | "settings.account.accountType.basic" : "Basicアカウント", |
49 | "settings.account.accountType.premium" : "Premium Supporterアカウント", | 49 | "settings.account.accountType.premium" : "Premium Supporterアカウント", |
50 | "settings.account.buttonSave" : "プãƒãƒ•ã‚£ãƒ¼ãƒ«ã®æ›´æ–°", | 50 | "settings.account.buttonSave" : "プãƒãƒ•ã‚£ãƒ¼ãƒ«ã®æ›´æ–°", |
51 | "settings.account.deleteAccount" : "アカウントを削除", | ||
52 | "settings.account.deleteEmailSent" : "アカウント削除ã®ç¢ºèªãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡ã—ã¾ã—ãŸã€‚ã‚ãªãŸã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã¨ãƒ‡ãƒ¼ã‚¿ã¯å¾©æ—§ã§ãã¾ã›ã‚“ï¼", | ||
53 | "settings.account.deleteInfo" : "今後Franzã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆãŒå¿…è¦ãªã‘ã‚Œã°ã€ã“ã¡ã‚‰ã§ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã¨é–¢é€£ã™ã‚‹æƒ…å ±ã‚’å‰Šé™¤ã§ãã¾ã™ã€‚", | ||
51 | "settings.account.headline" : "アカウント", | 54 | "settings.account.headline" : "アカウント", |
52 | "settings.account.headlineAccount" : "ã‚¢ã‚«ã‚¦ãƒ³ãƒˆæƒ…å ±", | 55 | "settings.account.headlineAccount" : "ã‚¢ã‚«ã‚¦ãƒ³ãƒˆæƒ…å ±", |
56 | "settings.account.headlineDangerZone" : "注æ„ï¼", | ||
53 | "settings.account.headlineInvoices" : "請求書", | 57 | "settings.account.headlineInvoices" : "請求書", |
54 | "settings.account.headlinePassword" : "パスワードã®å¤‰æ›´", | 58 | "settings.account.headlinePassword" : "パスワードã®å¤‰æ›´", |
55 | "settings.account.headlineProfile" : "プãƒãƒ•ã‚£ãƒ¼ãƒ«ã®æ›´æ–°", | 59 | "settings.account.headlineProfile" : "プãƒãƒ•ã‚£ãƒ¼ãƒ«ã®æ›´æ–°", |
56 | "settings.account.headlineSubscription" : "サブスクリプション内容", | 60 | "settings.account.headlineSubscription" : "ã‚ãªãŸã®ç™»éŒ²å†…容", |
57 | "settings.account.headlineUpgrade" : "アカウントをアップグレードã—ã€Franzを支æ´ã™ã‚‹", | 61 | "settings.account.headlineUpgrade" : "アカウントをアップグレードã—ã€Franzを支æ´ã™ã‚‹", |
58 | "settings.account.invoiceDownload" : "ダウンãƒãƒ¼ãƒ‰", | 62 | "settings.account.invoiceDownload" : "ダウンãƒãƒ¼ãƒ‰", |
59 | "settings.account.manageSubscription.label" : "サブスクリプションã®ç®¡ç†", | 63 | "settings.account.manageSubscription.label" : "サブスクリプションã®ç®¡ç†", |
60 | "settings.account.mining.active" : "1秒ã‚ãŸã‚Š{hashes}個ã®ãƒãƒƒã‚·ãƒ¥ã‚’計算ä¸ã§ã™ã€‚", | 64 | "settings.account.mining.active" : "1秒ã‚ãŸã‚Š{hashes}個ã®ãƒãƒƒã‚·ãƒ¥ã‚’計算ä¸ã§ã™ã€‚", |
61 | "settings.account.mining.cancel" : "マイニングをã‚ャンセルã™ã‚‹", | 65 | "settings.account.mining.cancel" : "マイニングをã‚ャンセル", |
62 | "settings.account.mining.moreInformation" : "詳細を確èªã™ã‚‹", | 66 | "settings.account.mining.moreInformation" : "詳細を確èªã™ã‚‹", |
63 | "settings.account.mining.thankyou" : "ãŠä½¿ã„ã®PCã®å‡¦ç†èƒ½åŠ›ã‚’Franzã®æ”¯æ´ã«æ´»ç”¨ã—ã¦é ‚ãã€ã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ã€‚", | 67 | "settings.account.mining.thankyou" : "ãŠä½¿ã„ã®PCã®å‡¦ç†èƒ½åŠ›ã‚’Franzã®æ”¯æ´ã«æ´»ç”¨ã—ã¦é ‚ãã€ã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ã€‚", |
64 | "settings.account.successInfo" : "変更内容ãŒä¿å˜ã•ã‚Œã¾ã—ãŸ", | 68 | "settings.account.successInfo" : "変更内容ãŒä¿å˜ã•ã‚Œã¾ã—ãŸ", |
65 | "settings.account.tryReloadUserInfoRequest" : "å†è©¦è¡Œ", | 69 | "settings.account.tryReloadUserInfoRequest" : "ã‚‚ã†ä¸€åº¦è©¦ã™", |
66 | "settings.account.userInfoRequestFailed" : "ãƒ¦ãƒ¼ã‚¶æƒ…å ±ã‚’èªã¿è¾¼ã‚ã¾ã›ã‚“ã§ã—ãŸ", | 70 | "settings.account.userInfoRequestFailed" : "ãƒ¦ãƒ¼ã‚¶æƒ…å ±ã‚’èªã¿è¾¼ã‚ã¾ã›ã‚“ã§ã—ãŸ", |
71 | "settings.app.buttonClearAllCache" : "ã‚ャッシュを消去ã™ã‚‹", | ||
67 | "settings.app.buttonInstallUpdate" : "å†èµ·å‹•ã—ã¦æ›´æ–°ã‚’インストールã™ã‚‹", | 72 | "settings.app.buttonInstallUpdate" : "å†èµ·å‹•ã—ã¦æ›´æ–°ã‚’インストールã™ã‚‹", |
68 | "settings.app.buttonSearchForUpdate" : "æ›´æ–°ã®ç¢ºèª", | 73 | "settings.app.buttonSearchForUpdate" : "æ›´æ–°ã®ç¢ºèª", |
74 | "settings.app.cacheInfo" : "ç¾åœ¨ã€Franzã®ã‚ャッシュã¯ãƒ‡ã‚£ã‚¹ã‚¯ã®{size}分を使用ã—ã¦ã„ã¾ã™ã€‚", | ||
69 | "settings.app.currentVersion" : "ç¾åœ¨ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³:", | 75 | "settings.app.currentVersion" : "ç¾åœ¨ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³:", |
70 | "settings.app.form.autoLaunchInBackground" : "ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã§é–‹ã", | 76 | "settings.app.form.autoLaunchInBackground" : "ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã§é–‹ã", |
71 | "settings.app.form.autoLaunchOnStart" : "システム起動時ã«Franzã‚’é–‹ã", | 77 | "settings.app.form.autoLaunchOnStart" : "システム起動時ã«Franzã‚’é–‹ã", |
@@ -76,6 +82,7 @@ | |||
76 | "settings.app.form.minimizeToSystemTray" : "Franzをシステムトレイã«æœ€å°åŒ–ã™ã‚‹", | 82 | "settings.app.form.minimizeToSystemTray" : "Franzをシステムトレイã«æœ€å°åŒ–ã™ã‚‹", |
77 | "settings.app.form.runInBackground" : "ウインドウを閉ã˜ãŸéš›ã«Franzã‚’ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã§å®Ÿè¡Œã•ã›ã¦ãŠã", | 83 | "settings.app.form.runInBackground" : "ウインドウを閉ã˜ãŸéš›ã«Franzã‚’ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã§å®Ÿè¡Œã•ã›ã¦ãŠã", |
78 | "settings.app.form.showDisabledServices" : "無効化ã•ã‚ŒãŸã‚µãƒ¼ãƒ“スã®ã‚¿ãƒ–を表示ã™ã‚‹", | 84 | "settings.app.form.showDisabledServices" : "無効化ã•ã‚ŒãŸã‚µãƒ¼ãƒ“スã®ã‚¿ãƒ–を表示ã™ã‚‹", |
85 | "settings.app.form.showMessagesBadgesWhenMuted" : "通知ã®ç„¡åŠ¹æ™‚ã«æœªèªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ä»¶æ•°ã‚’表示ã™ã‚‹", | ||
79 | "settings.app.headline" : "è¨å®š", | 86 | "settings.app.headline" : "è¨å®š", |
80 | "settings.app.headlineAdvanced" : "詳細", | 87 | "settings.app.headlineAdvanced" : "詳細", |
81 | "settings.app.headlineAppearance" : "表示スタイル", | 88 | "settings.app.headlineAppearance" : "表示スタイル", |
@@ -83,7 +90,8 @@ | |||
83 | "settings.app.headlineLanguage" : "言語", | 90 | "settings.app.headlineLanguage" : "言語", |
84 | "settings.app.headlineUpdates" : "æ›´æ–°", | 91 | "settings.app.headlineUpdates" : "æ›´æ–°", |
85 | "settings.app.restartRequired" : "変更ã«ã¯å†èµ·å‹•ãŒå¿…è¦ã§ã™", | 92 | "settings.app.restartRequired" : "変更ã«ã¯å†èµ·å‹•ãŒå¿…è¦ã§ã™", |
86 | "settings.app.translationHelp" : "Help us to translate Franz into your language.", | 93 | "settings.app.subheadlineCache" : "ã‚ャッシュ", |
94 | "settings.app.translationHelp" : "Franzã®ç¿»è¨³ä½œæ¥ã«ã”å”力をãŠé¡˜ã„ã—ã¾ã™ã€‚", | ||
87 | "settings.app.updateStatusAvailable" : "æ›´æ–°ãŒè¦‹ã¤ã‹ã‚Šã¾ã—ãŸã€‚ダウンãƒãƒ¼ãƒ‰ã—ã¦ã„ã¾ã™...", | 95 | "settings.app.updateStatusAvailable" : "æ›´æ–°ãŒè¦‹ã¤ã‹ã‚Šã¾ã—ãŸã€‚ダウンãƒãƒ¼ãƒ‰ã—ã¦ã„ã¾ã™...", |
88 | "settings.app.updateStatusSearching" : "更新を確èªä¸", | 96 | "settings.app.updateStatusSearching" : "更新を確èªä¸", |
89 | "settings.app.updateStatusUpToDate" : "ãŠä½¿ã„ã®Franzã¯æœ€æ–°ã§ã™", | 97 | "settings.app.updateStatusUpToDate" : "ãŠä½¿ã„ã®Franzã¯æœ€æ–°ã§ã™", |
@@ -95,10 +103,11 @@ | |||
95 | "settings.recipes.all" : "ã™ã¹ã¦ã®ã‚µãƒ¼ãƒ“ス", | 103 | "settings.recipes.all" : "ã™ã¹ã¦ã®ã‚µãƒ¼ãƒ“ス", |
96 | "settings.recipes.dev" : "開発版", | 104 | "settings.recipes.dev" : "開発版", |
97 | "settings.recipes.headline" : "利用å¯èƒ½ãªã‚µãƒ¼ãƒ“ス", | 105 | "settings.recipes.headline" : "利用å¯èƒ½ãªã‚µãƒ¼ãƒ“ス", |
98 | "settings.recipes.missingService" : "Missing a service?", | 106 | "settings.recipes.missingService" : "使ã„ãŸã„サービスãŒä¸€è¦§ã«ã‚ã‚Šã¾ã›ã‚“ã‹?", |
99 | "settings.recipes.mostPopular" : "最も人気", | 107 | "settings.recipes.mostPopular" : "最も人気", |
100 | "settings.recipes.nothingFound" : "ã™ã¿ã¾ã›ã‚“ãŒã€æ¤œç´¢ãƒ¯ãƒ¼ãƒ‰ã«è©²å½“ã™ã‚‹ã‚µãƒ¼ãƒ“スãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚", | 108 | "settings.recipes.nothingFound" : "ã™ã¿ã¾ã›ã‚“ãŒã€æ¤œç´¢ãƒ¯ãƒ¼ãƒ‰ã«è©²å½“ã™ã‚‹ã‚µãƒ¼ãƒ“スãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚", |
101 | "settings.recipes.servicesSuccessfulAddedInfo" : "サービスãŒè¿½åŠ ã•ã‚Œã¾ã—ãŸ", | 109 | "settings.recipes.servicesSuccessfulAddedInfo" : "サービスãŒè¿½åŠ ã•ã‚Œã¾ã—ãŸ", |
110 | "settings.searchService" : "サービスを検索", | ||
102 | "settings.service.error.goBack" : "サービスã«æˆ»ã‚‹", | 111 | "settings.service.error.goBack" : "サービスã«æˆ»ã‚‹", |
103 | "settings.service.error.headline" : "エラー", | 112 | "settings.service.error.headline" : "エラー", |
104 | "settings.service.error.message" : "サービスã®ãƒ¬ã‚·ãƒ”ã‚’èªã¿è¾¼ã‚ã¾ã›ã‚“ã§ã—ãŸã€‚", | 113 | "settings.service.error.message" : "サービスã®ãƒ¬ã‚·ãƒ”ã‚’èªã¿è¾¼ã‚ã¾ã›ã‚“ã§ã—ãŸã€‚", |
@@ -110,9 +119,16 @@ | |||
110 | "settings.service.form.customUrlValidationError" : "独自サーãƒãƒ¼{name}を検証ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚", | 119 | "settings.service.form.customUrlValidationError" : "独自サーãƒãƒ¼{name}を検証ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚", |
111 | "settings.service.form.deleteButton" : "サービスã®å‰Šé™¤", | 120 | "settings.service.form.deleteButton" : "サービスã®å‰Šé™¤", |
112 | "settings.service.form.editServiceHeadline" : "{name}を編集", | 121 | "settings.service.form.editServiceHeadline" : "{name}を編集", |
113 | "settings.service.form.enableAudio" : "オーディオã®æœ‰åŠ¹åŒ–", | 122 | "settings.service.form.enableAudio" : "オーディオを有効ã«ã™ã‚‹", |
123 | "settings.service.form.enableBadge" : "未èªä»¶æ•°ã®é€šçŸ¥ãƒãƒƒã‚¸ã‚’表示ã™ã‚‹", | ||
114 | "settings.service.form.enableNotification" : "通知を有効ã«ã™ã‚‹", | 124 | "settings.service.form.enableNotification" : "通知を有効ã«ã™ã‚‹", |
115 | "settings.service.form.enableService" : "サービスを有効ã«ã™ã‚‹", | 125 | "settings.service.form.enableService" : "サービスを有効ã«ã™ã‚‹", |
126 | "settings.service.form.headlineBadges" : "未èªä»¶æ•°ã®é€šçŸ¥ãƒãƒƒã‚¸", | ||
127 | "settings.service.form.headlineGeneral" : "一般", | ||
128 | "settings.service.form.headlineNotifications" : "通知メッセージ", | ||
129 | "settings.service.form.icon" : "カスタムアイコン", | ||
130 | "settings.service.form.iconDelete" : "削除", | ||
131 | "settings.service.form.iconUpload" : "ã“ã“ã«ç”»åƒã‚’ドãƒãƒƒãƒ—ã™ã‚‹ã‹ã€ã‚¯ãƒªãƒƒã‚¯ã—ã¦ä¸‹ã•ã„", | ||
116 | "settings.service.form.indirectMessageInfo" : "@usernameã€@channelã€@hereã ã‘ã§ãªãã€ãƒãƒ£ãƒ³ãƒãƒ«å†…ã®ã™ã¹ã¦ã®æ–°è¦ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã«ã¤ã„ã¦é€šçŸ¥ã•ã‚Œã¾ã™ã€‚", | 132 | "settings.service.form.indirectMessageInfo" : "@usernameã€@channelã€@hereã ã‘ã§ãªãã€ãƒãƒ£ãƒ³ãƒãƒ«å†…ã®ã™ã¹ã¦ã®æ–°è¦ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã«ã¤ã„ã¦é€šçŸ¥ã•ã‚Œã¾ã™ã€‚", |
117 | "settings.service.form.indirectMessages" : "ã™ã¹ã¦ã®æ–°è¦ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã«ã¤ã„ã¦ãƒãƒƒã‚¸ã‚’表示ã™ã‚‹", | 133 | "settings.service.form.indirectMessages" : "ã™ã¹ã¦ã®æ–°è¦ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã«ã¤ã„ã¦ãƒãƒƒã‚¸ã‚’表示ã™ã‚‹", |
118 | "settings.service.form.isMutedInfo" : "無効化ã•ã‚Œã¦ã„ã‚‹å ´åˆã€å…¨ã¦ã®é€šçŸ¥éŸ³ã‚„オーディオå†ç”Ÿã¯ç„¡éŸ³ã«ãªã‚Šã¾ã™", | 134 | "settings.service.form.isMutedInfo" : "無効化ã•ã‚Œã¦ã„ã‚‹å ´åˆã€å…¨ã¦ã®é€šçŸ¥éŸ³ã‚„オーディオå†ç”Ÿã¯ç„¡éŸ³ã«ãªã‚Šã¾ã™", |
@@ -121,6 +137,7 @@ | |||
121 | "settings.service.form.tabHosted" : "ホスト", | 137 | "settings.service.form.tabHosted" : "ホスト", |
122 | "settings.service.form.tabOnPremise" : "セルフホスト âï¸", | 138 | "settings.service.form.tabOnPremise" : "セルフホスト âï¸", |
123 | "settings.service.form.team" : "ãƒãƒ¼ãƒ ", | 139 | "settings.service.form.team" : "ãƒãƒ¼ãƒ ", |
140 | "settings.service.form.useHostedService" : "ホストã•ã‚ŒãŸã‚µãƒ¼ãƒ“ス {name} を使用ã™ã‚‹ã€‚", | ||
124 | "settings.service.form.yourServices" : "利用ä¸ã®ã‚µãƒ¼ãƒ“ス", | 141 | "settings.service.form.yourServices" : "利用ä¸ã®ã‚µãƒ¼ãƒ“ス", |
125 | "settings.services.deletedInfo" : "サービスãŒå‰Šé™¤ã•ã‚Œã¾ã—ãŸ", | 142 | "settings.services.deletedInfo" : "サービスãŒå‰Šé™¤ã•ã‚Œã¾ã—ãŸ", |
126 | "settings.services.discoverServices" : "サービスを探ã™", | 143 | "settings.services.discoverServices" : "サービスを探ã™", |
@@ -140,9 +157,9 @@ | |||
140 | "settings.user.form.lastname" : "姓", | 157 | "settings.user.form.lastname" : "姓", |
141 | "settings.user.form.newPassword" : "æ–°ã—ã„パスワード", | 158 | "settings.user.form.newPassword" : "æ–°ã—ã„パスワード", |
142 | "sidebar.addNewService" : "ã‚µãƒ¼ãƒ“ã‚¹ã‚’è¿½åŠ ", | 159 | "sidebar.addNewService" : "ã‚µãƒ¼ãƒ“ã‚¹ã‚’è¿½åŠ ", |
143 | "sidebar.mute" : "オーディオã®ç„¡åŠ¹åŒ–", | 160 | "sidebar.muteApp" : "通知ã¨ã‚ªãƒ¼ãƒ‡ã‚£ã‚ªã‚’無効化", |
144 | "sidebar.settings" : "è¨å®š", | 161 | "sidebar.settings" : "è¨å®š", |
145 | "sidebar.unmute" : "オーディオã®æœ‰åŠ¹åŒ–", | 162 | "sidebar.unmuteApp" : "通知ã¨ã‚ªãƒ¼ãƒ‡ã‚£ã‚ªã‚’有効化", |
146 | "signup.company.label" : "法人", | 163 | "signup.company.label" : "法人", |
147 | "signup.email.label" : "メールアドレス", | 164 | "signup.email.label" : "メールアドレス", |
148 | "signup.emailDuplicate" : "ã“ã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã¯æ—¢ã«ç™»éŒ²ã•ã‚Œã¦ã„ã¾ã™", | 165 | "signup.emailDuplicate" : "ã“ã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã¯æ—¢ã«ç™»éŒ²ã•ã‚Œã¦ã„ã¾ã™", |
@@ -182,7 +199,7 @@ | |||
182 | "tabs.item.disableNotifications" : "通知を無効ã«ã™ã‚‹", | 199 | "tabs.item.disableNotifications" : "通知を無効ã«ã™ã‚‹", |
183 | "tabs.item.disableService" : "サービスを無効ã«ã™ã‚‹", | 200 | "tabs.item.disableService" : "サービスを無効ã«ã™ã‚‹", |
184 | "tabs.item.edit" : "編集", | 201 | "tabs.item.edit" : "編集", |
185 | "tabs.item.enableAudio" : "オーディオã®æœ‰åŠ¹åŒ–", | 202 | "tabs.item.enableAudio" : "オーディオを有効ã«ã™ã‚‹", |
186 | "tabs.item.enableNotification" : "通知を有効ã«ã™ã‚‹", | 203 | "tabs.item.enableNotification" : "通知を有効ã«ã™ã‚‹", |
187 | "tabs.item.enableService" : "サービスを有効ã«ã™ã‚‹", | 204 | "tabs.item.enableService" : "サービスを有効ã«ã™ã‚‹", |
188 | "tabs.item.reload" : "å†èªã¿è¾¼ã¿", | 205 | "tabs.item.reload" : "å†èªã¿è¾¼ã¿", |
diff --git a/src/i18n/locales/ka.json b/src/i18n/locales/ka.json index 30337cc61..434e885a4 100644 --- a/src/i18n/locales/ka.json +++ b/src/i18n/locales/ka.json | |||
@@ -3,7 +3,7 @@ | |||
3 | "global.notConnectedToTheInternet" : "თქვენ áƒáƒ ხáƒáƒ თ ინტერნეტთáƒáƒœ დáƒáƒ™áƒáƒ•áƒ¨áƒ˜áƒ ებული.", | 3 | "global.notConnectedToTheInternet" : "თქვენ áƒáƒ ხáƒáƒ თ ინტერნეტთáƒáƒœ დáƒáƒ™áƒáƒ•áƒ¨áƒ˜áƒ ებული.", |
4 | "import.headline" : "შემáƒáƒ˜áƒ¢áƒáƒœáƒ” Franz 4-ის სერვისები", | 4 | "import.headline" : "შემáƒáƒ˜áƒ¢áƒáƒœáƒ” Franz 4-ის სერვისები", |
5 | "import.notSupportedHeadline" : "სერვისები ჯერáƒáƒ áƒáƒ ის მხáƒáƒ დáƒáƒáƒ”რილი Franz 5-ში", | 5 | "import.notSupportedHeadline" : "სერვისები ჯერáƒáƒ áƒáƒ ის მხáƒáƒ დáƒáƒáƒ”რილი Franz 5-ში", |
6 | "import.skip.label" : "მსურს სერვისების ხელით დáƒáƒ›áƒáƒ¢áƒ”ბáƒ", | 6 | "import.skip.label" : "I want to add services manually", |
7 | "import.submit.label" : "მáƒáƒ¬áƒ•áƒ”ვის გáƒáƒ’ზáƒáƒ•áƒœáƒ", | 7 | "import.submit.label" : "მáƒáƒ¬áƒ•áƒ”ვის გáƒáƒ’ზáƒáƒ•áƒœáƒ", |
8 | "infobar.buttonChangelog" : "What is new?", | 8 | "infobar.buttonChangelog" : "What is new?", |
9 | "infobar.buttonInstallUpdate" : "გáƒáƒ“áƒáƒ¢áƒ•áƒ˜áƒ თეთ დრდáƒáƒáƒ§áƒ”ნეთ გáƒáƒœáƒáƒ®áƒšáƒ”ბáƒ", | 9 | "infobar.buttonInstallUpdate" : "გáƒáƒ“áƒáƒ¢áƒ•áƒ˜áƒ თეთ დრდáƒáƒáƒ§áƒ”ნეთ გáƒáƒœáƒáƒ®áƒšáƒ”ბáƒ", |
@@ -48,8 +48,12 @@ | |||
48 | "settings.account.accountType.basic" : "ძირითáƒáƒ“ი áƒáƒœáƒ’áƒáƒ იში", | 48 | "settings.account.accountType.basic" : "ძირითáƒáƒ“ი áƒáƒœáƒ’áƒáƒ იში", |
49 | "settings.account.accountType.premium" : "პრემიუმ მხáƒáƒ დáƒáƒ›áƒáƒ”რის áƒáƒœáƒ’áƒáƒ იში", | 49 | "settings.account.accountType.premium" : "პრემიუმ მხáƒáƒ დáƒáƒ›áƒáƒ”რის áƒáƒœáƒ’áƒáƒ იში", |
50 | "settings.account.buttonSave" : "პრáƒáƒ¤áƒ˜áƒšáƒ˜áƒ¡ გáƒáƒœáƒáƒ®áƒšáƒ”ბáƒ", | 50 | "settings.account.buttonSave" : "პრáƒáƒ¤áƒ˜áƒšáƒ˜áƒ¡ გáƒáƒœáƒáƒ®áƒšáƒ”ბáƒ", |
51 | "settings.account.deleteAccount" : "Delete account", | ||
52 | "settings.account.deleteEmailSent" : "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!", | ||
53 | "settings.account.deleteInfo" : "If you don't need your Franz account any longer, you can delete your account and all related data here.", | ||
51 | "settings.account.headline" : "áƒáƒœáƒ’áƒáƒ იში", | 54 | "settings.account.headline" : "áƒáƒœáƒ’áƒáƒ იში", |
52 | "settings.account.headlineAccount" : "áƒáƒœáƒ’áƒáƒ იშის ინფáƒáƒ მáƒáƒªáƒ˜áƒ", | 55 | "settings.account.headlineAccount" : "áƒáƒœáƒ’áƒáƒ იშის ინფáƒáƒ მáƒáƒªáƒ˜áƒ", |
56 | "settings.account.headlineDangerZone" : "Danger Zone", | ||
53 | "settings.account.headlineInvoices" : "ინვáƒáƒ˜áƒ¡áƒ”ბი", | 57 | "settings.account.headlineInvoices" : "ინვáƒáƒ˜áƒ¡áƒ”ბი", |
54 | "settings.account.headlinePassword" : "პáƒáƒ áƒáƒšáƒ˜áƒ¡ შეცვლáƒ", | 58 | "settings.account.headlinePassword" : "პáƒáƒ áƒáƒšáƒ˜áƒ¡ შეცვლáƒ", |
55 | "settings.account.headlineProfile" : "პრáƒáƒ¤áƒ˜áƒšáƒ˜áƒ¡ გáƒáƒœáƒáƒ®áƒšáƒ”ბáƒ", | 59 | "settings.account.headlineProfile" : "პრáƒáƒ¤áƒ˜áƒšáƒ˜áƒ¡ გáƒáƒœáƒáƒ®áƒšáƒ”ბáƒ", |
@@ -64,8 +68,10 @@ | |||
64 | "settings.account.successInfo" : "თქვენი ცვლილებები შენáƒáƒ®áƒ£áƒšáƒ˜áƒ", | 68 | "settings.account.successInfo" : "თქვენი ცვლილებები შენáƒáƒ®áƒ£áƒšáƒ˜áƒ", |
65 | "settings.account.tryReloadUserInfoRequest" : "სცáƒáƒ“ეთ ხელáƒáƒ®áƒšáƒ", | 69 | "settings.account.tryReloadUserInfoRequest" : "სცáƒáƒ“ეთ ხელáƒáƒ®áƒšáƒ", |
66 | "settings.account.userInfoRequestFailed" : "მáƒáƒ›áƒ®áƒ›áƒáƒ ებლის ინფáƒáƒ მáƒáƒªáƒ˜áƒ˜áƒ¡ ჩáƒáƒ¢áƒ•áƒ˜áƒ თვრვერმáƒáƒ®áƒ”რხდáƒ", | 70 | "settings.account.userInfoRequestFailed" : "მáƒáƒ›áƒ®áƒ›áƒáƒ ებლის ინფáƒáƒ მáƒáƒªáƒ˜áƒ˜áƒ¡ ჩáƒáƒ¢áƒ•áƒ˜áƒ თვრვერმáƒáƒ®áƒ”რხდáƒ", |
71 | "settings.app.buttonClearAllCache" : "Clear cache", | ||
67 | "settings.app.buttonInstallUpdate" : "გáƒáƒ“áƒáƒ¢áƒ•áƒ˜áƒ თეთ დრდáƒáƒáƒ§áƒ”ნეთ გáƒáƒœáƒáƒ®áƒšáƒ”ბáƒ", | 72 | "settings.app.buttonInstallUpdate" : "გáƒáƒ“áƒáƒ¢áƒ•áƒ˜áƒ თეთ დრდáƒáƒáƒ§áƒ”ნეთ გáƒáƒœáƒáƒ®áƒšáƒ”ბáƒ", |
68 | "settings.app.buttonSearchForUpdate" : "გáƒáƒœáƒáƒ®áƒšáƒ”ბების შემáƒáƒ¬áƒ›áƒ”ბáƒ", | 73 | "settings.app.buttonSearchForUpdate" : "გáƒáƒœáƒáƒ®áƒšáƒ”ბების შემáƒáƒ¬áƒ›áƒ”ბáƒ", |
74 | "settings.app.cacheInfo" : "Franz cache is currently using {size} of disk space.", | ||
69 | "settings.app.currentVersion" : "áƒáƒ›áƒŸáƒáƒ›áƒ˜áƒœáƒ“ელი ვერსიáƒ:", | 75 | "settings.app.currentVersion" : "áƒáƒ›áƒŸáƒáƒ›áƒ˜áƒœáƒ“ელი ვერსიáƒ:", |
70 | "settings.app.form.autoLaunchInBackground" : "გáƒáƒ®áƒ¡áƒ”ნით ფáƒáƒœáƒ–ე", | 76 | "settings.app.form.autoLaunchInBackground" : "გáƒáƒ®áƒ¡áƒ”ნით ფáƒáƒœáƒ–ე", |
71 | "settings.app.form.autoLaunchOnStart" : "გáƒáƒ”შვáƒáƒ¡ Franz სისტემის ჩáƒáƒ¢áƒ•áƒ˜áƒ თვისáƒáƒ¡", | 77 | "settings.app.form.autoLaunchOnStart" : "გáƒáƒ”შვáƒáƒ¡ Franz სისტემის ჩáƒáƒ¢áƒ•áƒ˜áƒ თვისáƒáƒ¡", |
@@ -76,6 +82,7 @@ | |||
76 | "settings.app.form.minimizeToSystemTray" : "ჩáƒáƒ™áƒ”ცეთ Franz სისტემის უჯრáƒáƒ¨áƒ˜", | 82 | "settings.app.form.minimizeToSystemTray" : "ჩáƒáƒ™áƒ”ცეთ Franz სისტემის უჯრáƒáƒ¨áƒ˜", |
77 | "settings.app.form.runInBackground" : "დáƒáƒ¢áƒáƒ•áƒ”თ Franz გáƒáƒ¨áƒ•áƒ”ბული რáƒáƒ“ესáƒáƒª ფáƒáƒœáƒ¯áƒáƒ რდáƒáƒ˜áƒ®áƒ£áƒ ებáƒ", | 83 | "settings.app.form.runInBackground" : "დáƒáƒ¢áƒáƒ•áƒ”თ Franz გáƒáƒ¨áƒ•áƒ”ბული რáƒáƒ“ესáƒáƒª ფáƒáƒœáƒ¯áƒáƒ რდáƒáƒ˜áƒ®áƒ£áƒ ებáƒ", |
78 | "settings.app.form.showDisabledServices" : "Display disabled services tabs", | 84 | "settings.app.form.showDisabledServices" : "Display disabled services tabs", |
85 | "settings.app.form.showMessagesBadgesWhenMuted" : "Show unread message badge when notifications are disabled", | ||
79 | "settings.app.headline" : "პáƒáƒ áƒáƒ›áƒ”ტრები", | 86 | "settings.app.headline" : "პáƒáƒ áƒáƒ›áƒ”ტრები", |
80 | "settings.app.headlineAdvanced" : "Advanced", | 87 | "settings.app.headlineAdvanced" : "Advanced", |
81 | "settings.app.headlineAppearance" : "Appearance", | 88 | "settings.app.headlineAppearance" : "Appearance", |
@@ -83,6 +90,7 @@ | |||
83 | "settings.app.headlineLanguage" : "ენáƒ", | 90 | "settings.app.headlineLanguage" : "ენáƒ", |
84 | "settings.app.headlineUpdates" : "გáƒáƒœáƒáƒ®áƒšáƒ”ბები", | 91 | "settings.app.headlineUpdates" : "გáƒáƒœáƒáƒ®áƒšáƒ”ბები", |
85 | "settings.app.restartRequired" : "Changes require restart", | 92 | "settings.app.restartRequired" : "Changes require restart", |
93 | "settings.app.subheadlineCache" : "Cache", | ||
86 | "settings.app.translationHelp" : "Help us to translate Franz into your language.", | 94 | "settings.app.translationHelp" : "Help us to translate Franz into your language.", |
87 | "settings.app.updateStatusAvailable" : "გáƒáƒœáƒáƒ®áƒšáƒ”ბრხელმისáƒáƒ¬áƒ•áƒ“áƒáƒ›áƒ˜áƒ, იწყებრგáƒáƒ“მáƒáƒ¬áƒ”რáƒ...", | 95 | "settings.app.updateStatusAvailable" : "გáƒáƒœáƒáƒ®áƒšáƒ”ბრხელმისáƒáƒ¬áƒ•áƒ“áƒáƒ›áƒ˜áƒ, იწყებრგáƒáƒ“მáƒáƒ¬áƒ”რáƒ...", |
88 | "settings.app.updateStatusSearching" : "მიმდინáƒáƒ ეáƒáƒ‘ს გáƒáƒœáƒáƒ®áƒšáƒ”ბის ძიებáƒ", | 96 | "settings.app.updateStatusSearching" : "მიმდინáƒáƒ ეáƒáƒ‘ს გáƒáƒœáƒáƒ®áƒšáƒ”ბის ძიებáƒ", |
@@ -99,6 +107,7 @@ | |||
99 | "settings.recipes.mostPopular" : "ყველáƒáƒ–ე პáƒáƒžáƒ£áƒšáƒáƒ ული", | 107 | "settings.recipes.mostPopular" : "ყველáƒáƒ–ე პáƒáƒžáƒ£áƒšáƒáƒ ული", |
100 | "settings.recipes.nothingFound" : "უკáƒáƒªáƒ áƒáƒ•áƒáƒ“, მáƒáƒ’რáƒáƒ› áƒáƒ ცერთი სერვისი áƒáƒ შეესáƒáƒ‘áƒáƒ›áƒ”ბრთქვენს ძიებáƒáƒ¡.", | 108 | "settings.recipes.nothingFound" : "უკáƒáƒªáƒ áƒáƒ•áƒáƒ“, მáƒáƒ’რáƒáƒ› áƒáƒ ცერთი სერვისი áƒáƒ შეესáƒáƒ‘áƒáƒ›áƒ”ბრთქვენს ძიებáƒáƒ¡.", |
101 | "settings.recipes.servicesSuccessfulAddedInfo" : "სერვისი წáƒáƒ მáƒáƒ¢áƒ”ბით დáƒáƒ”მáƒáƒ¢áƒ", | 109 | "settings.recipes.servicesSuccessfulAddedInfo" : "სერვისი წáƒáƒ მáƒáƒ¢áƒ”ბით დáƒáƒ”მáƒáƒ¢áƒ", |
110 | "settings.searchService" : "Search service", | ||
102 | "settings.service.error.goBack" : "სერვისებში დáƒáƒ‘რუნებáƒ", | 111 | "settings.service.error.goBack" : "სერვისებში დáƒáƒ‘რუნებáƒ", |
103 | "settings.service.error.headline" : "შეცდáƒáƒ›áƒ", | 112 | "settings.service.error.headline" : "შეცდáƒáƒ›áƒ", |
104 | "settings.service.error.message" : "სერვისის ჩáƒáƒ¢áƒ•áƒ˜áƒ თვრვერმáƒáƒ®áƒ”რხდáƒ.", | 113 | "settings.service.error.message" : "სერვისის ჩáƒáƒ¢áƒ•áƒ˜áƒ თვრვერმáƒáƒ®áƒ”რხდáƒ.", |
@@ -111,8 +120,15 @@ | |||
111 | "settings.service.form.deleteButton" : "სერვისის წáƒáƒ¨áƒšáƒ", | 120 | "settings.service.form.deleteButton" : "სერვისის წáƒáƒ¨áƒšáƒ", |
112 | "settings.service.form.editServiceHeadline" : "შეáƒáƒ¡áƒ¬áƒáƒ ე {name}", | 121 | "settings.service.form.editServiceHeadline" : "შეáƒáƒ¡áƒ¬áƒáƒ ე {name}", |
113 | "settings.service.form.enableAudio" : "Enable audio", | 122 | "settings.service.form.enableAudio" : "Enable audio", |
123 | "settings.service.form.enableBadge" : "Show unread message badges", | ||
114 | "settings.service.form.enableNotification" : "შეტყáƒáƒ‘ინებების ჩáƒáƒ თვáƒ", | 124 | "settings.service.form.enableNotification" : "შეტყáƒáƒ‘ინებების ჩáƒáƒ თვáƒ", |
115 | "settings.service.form.enableService" : "სერვისის ჩáƒáƒ თვáƒ", | 125 | "settings.service.form.enableService" : "სერვისის ჩáƒáƒ თვáƒ", |
126 | "settings.service.form.headlineBadges" : "Unread message badges", | ||
127 | "settings.service.form.headlineGeneral" : "მთáƒáƒ•áƒáƒ ი", | ||
128 | "settings.service.form.headlineNotifications" : "Notifications", | ||
129 | "settings.service.form.icon" : "Custom icon", | ||
130 | "settings.service.form.iconDelete" : "Delete", | ||
131 | "settings.service.form.iconUpload" : "Drop your image, or click here", | ||
116 | "settings.service.form.indirectMessageInfo" : "თქვენ მიიღებთ შეტყáƒáƒ‘ინებáƒáƒ¡ ყáƒáƒ•áƒ”ლი áƒáƒ®áƒáƒšáƒ˜ შეტყáƒáƒ‘ინებისáƒáƒ¡ áƒáƒ ხზე, áƒáƒ áƒáƒ›áƒáƒ ტრ@username, @channel, @here, ...", | 132 | "settings.service.form.indirectMessageInfo" : "თქვენ მიიღებთ შეტყáƒáƒ‘ინებáƒáƒ¡ ყáƒáƒ•áƒ”ლი áƒáƒ®áƒáƒšáƒ˜ შეტყáƒáƒ‘ინებისáƒáƒ¡ áƒáƒ ხზე, áƒáƒ áƒáƒ›áƒáƒ ტრ@username, @channel, @here, ...", |
117 | "settings.service.form.indirectMessages" : "áƒáƒ©áƒ•áƒ”ნე შეტყáƒáƒ‘ინებების ნიშáƒáƒœáƒ˜ ყáƒáƒ•áƒ”ლი áƒáƒ®áƒáƒšáƒ˜ შეტყáƒáƒ‘ინებისთვის", | 133 | "settings.service.form.indirectMessages" : "áƒáƒ©áƒ•áƒ”ნე შეტყáƒáƒ‘ინებების ნიშáƒáƒœáƒ˜ ყáƒáƒ•áƒ”ლი áƒáƒ®áƒáƒšáƒ˜ შეტყáƒáƒ‘ინებისთვის", |
118 | "settings.service.form.isMutedInfo" : "When disabled, all notification sounds and audio playback are muted", | 134 | "settings.service.form.isMutedInfo" : "When disabled, all notification sounds and audio playback are muted", |
@@ -121,6 +137,7 @@ | |||
121 | "settings.service.form.tabHosted" : "დáƒáƒ°áƒáƒ¡áƒ¢áƒ˜áƒšáƒ˜", | 137 | "settings.service.form.tabHosted" : "დáƒáƒ°áƒáƒ¡áƒ¢áƒ˜áƒšáƒ˜", |
122 | "settings.service.form.tabOnPremise" : "თვით დáƒáƒ°áƒáƒ¡áƒ¢áƒ˜áƒšáƒ˜ âï¸", | 138 | "settings.service.form.tabOnPremise" : "თვით დáƒáƒ°áƒáƒ¡áƒ¢áƒ˜áƒšáƒ˜ âï¸", |
123 | "settings.service.form.team" : "გუნდი", | 139 | "settings.service.form.team" : "გუნდი", |
140 | "settings.service.form.useHostedService" : "Use the hosted {name} service.", | ||
124 | "settings.service.form.yourServices" : "თქვენი სერვისები", | 141 | "settings.service.form.yourServices" : "თქვენი სერვისები", |
125 | "settings.services.deletedInfo" : "სერვისი წáƒáƒ˜áƒ¨áƒáƒšáƒ", | 142 | "settings.services.deletedInfo" : "სერვისი წáƒáƒ˜áƒ¨áƒáƒšáƒ", |
126 | "settings.services.discoverServices" : "áƒáƒ¦áƒ›áƒáƒáƒ©áƒ˜áƒœáƒ”თ სერვისები", | 143 | "settings.services.discoverServices" : "áƒáƒ¦áƒ›áƒáƒáƒ©áƒ˜áƒœáƒ”თ სერვისები", |
@@ -140,9 +157,9 @@ | |||
140 | "settings.user.form.lastname" : "Last Name", | 157 | "settings.user.form.lastname" : "Last Name", |
141 | "settings.user.form.newPassword" : "áƒáƒ®áƒáƒšáƒ˜ პáƒáƒ áƒáƒšáƒ˜", | 158 | "settings.user.form.newPassword" : "áƒáƒ®áƒáƒšáƒ˜ პáƒáƒ áƒáƒšáƒ˜", |
142 | "sidebar.addNewService" : "Add new service", | 159 | "sidebar.addNewService" : "Add new service", |
143 | "sidebar.mute" : "Disable audio", | 160 | "sidebar.muteApp" : "Disable notifications & audio", |
144 | "sidebar.settings" : "პáƒáƒ áƒáƒ›áƒ”ტრები", | 161 | "sidebar.settings" : "პáƒáƒ áƒáƒ›áƒ”ტრები", |
145 | "sidebar.unmute" : "Enable audio", | 162 | "sidebar.unmuteApp" : "Enable notifications & audio", |
146 | "signup.company.label" : "კáƒáƒ›áƒžáƒáƒœáƒ˜áƒ", | 163 | "signup.company.label" : "კáƒáƒ›áƒžáƒáƒœáƒ˜áƒ", |
147 | "signup.email.label" : "მეილი", | 164 | "signup.email.label" : "მეილი", |
148 | "signup.emailDuplicate" : "მáƒáƒ›áƒ®áƒ›áƒáƒ ებელი áƒáƒ› მეილით უკვე áƒáƒ სებáƒáƒ‘ს", | 165 | "signup.emailDuplicate" : "მáƒáƒ›áƒ®áƒ›áƒáƒ ებელი áƒáƒ› მეილით უკვე áƒáƒ სებáƒáƒ‘ს", |
diff --git a/src/i18n/locales/nl-BE.json b/src/i18n/locales/nl-BE.json index 70ae4467e..69ffca6e2 100644 --- a/src/i18n/locales/nl-BE.json +++ b/src/i18n/locales/nl-BE.json | |||
@@ -3,7 +3,7 @@ | |||
3 | "global.notConnectedToTheInternet" : "Je hebt geen internet verbinding.", | 3 | "global.notConnectedToTheInternet" : "Je hebt geen internet verbinding.", |
4 | "import.headline" : "Importeer je Franz 4 services", | 4 | "import.headline" : "Importeer je Franz 4 services", |
5 | "import.notSupportedHeadline" : "De volgende services worden nog niet ondersteund in Franz 5", | 5 | "import.notSupportedHeadline" : "De volgende services worden nog niet ondersteund in Franz 5", |
6 | "import.skip.label" : "Ik wil handmatig een service toevoegen", | 6 | "import.skip.label" : "I want to add services manually", |
7 | "import.submit.label" : "Importeer services", | 7 | "import.submit.label" : "Importeer services", |
8 | "infobar.buttonChangelog" : "What is new?", | 8 | "infobar.buttonChangelog" : "What is new?", |
9 | "infobar.buttonInstallUpdate" : "Start opnieuw op & installeer de update", | 9 | "infobar.buttonInstallUpdate" : "Start opnieuw op & installeer de update", |
@@ -48,8 +48,12 @@ | |||
48 | "settings.account.accountType.basic" : "Basis Account", | 48 | "settings.account.accountType.basic" : "Basis Account", |
49 | "settings.account.accountType.premium" : "Premium Supporter Account", | 49 | "settings.account.accountType.premium" : "Premium Supporter Account", |
50 | "settings.account.buttonSave" : "Profiel aanpassen", | 50 | "settings.account.buttonSave" : "Profiel aanpassen", |
51 | "settings.account.deleteAccount" : "Delete account", | ||
52 | "settings.account.deleteEmailSent" : "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!", | ||
53 | "settings.account.deleteInfo" : "If you don't need your Franz account any longer, you can delete your account and all related data here.", | ||
51 | "settings.account.headline" : "Account", | 54 | "settings.account.headline" : "Account", |
52 | "settings.account.headlineAccount" : "Account informatie", | 55 | "settings.account.headlineAccount" : "Account informatie", |
56 | "settings.account.headlineDangerZone" : "Danger Zone", | ||
53 | "settings.account.headlineInvoices" : "Facturen", | 57 | "settings.account.headlineInvoices" : "Facturen", |
54 | "settings.account.headlinePassword" : "Wijzig wachtwoord", | 58 | "settings.account.headlinePassword" : "Wijzig wachtwoord", |
55 | "settings.account.headlineProfile" : "Profiel aanpassen", | 59 | "settings.account.headlineProfile" : "Profiel aanpassen", |
@@ -64,8 +68,10 @@ | |||
64 | "settings.account.successInfo" : "Je wijzigingen zijn opgeslagen", | 68 | "settings.account.successInfo" : "Je wijzigingen zijn opgeslagen", |
65 | "settings.account.tryReloadUserInfoRequest" : "Probeer opnieuw", | 69 | "settings.account.tryReloadUserInfoRequest" : "Probeer opnieuw", |
66 | "settings.account.userInfoRequestFailed" : "Kon gebruikerinformatie niet laden", | 70 | "settings.account.userInfoRequestFailed" : "Kon gebruikerinformatie niet laden", |
71 | "settings.app.buttonClearAllCache" : "Clear cache", | ||
67 | "settings.app.buttonInstallUpdate" : "Herstart & installeer update", | 72 | "settings.app.buttonInstallUpdate" : "Herstart & installeer update", |
68 | "settings.app.buttonSearchForUpdate" : "Controleer op updates", | 73 | "settings.app.buttonSearchForUpdate" : "Controleer op updates", |
74 | "settings.app.cacheInfo" : "Franz cache is currently using {size} of disk space.", | ||
69 | "settings.app.currentVersion" : "Huidige versie:", | 75 | "settings.app.currentVersion" : "Huidige versie:", |
70 | "settings.app.form.autoLaunchInBackground" : "Open op de achtergrond", | 76 | "settings.app.form.autoLaunchInBackground" : "Open op de achtergrond", |
71 | "settings.app.form.autoLaunchOnStart" : "Lanceer Franz bij opstarten", | 77 | "settings.app.form.autoLaunchOnStart" : "Lanceer Franz bij opstarten", |
@@ -76,6 +82,7 @@ | |||
76 | "settings.app.form.minimizeToSystemTray" : "Minimaliseer Franz naar de systeembalk", | 82 | "settings.app.form.minimizeToSystemTray" : "Minimaliseer Franz naar de systeembalk", |
77 | "settings.app.form.runInBackground" : "Houd Franz op de achtergrond wanneer het venster gesloten wordt", | 83 | "settings.app.form.runInBackground" : "Houd Franz op de achtergrond wanneer het venster gesloten wordt", |
78 | "settings.app.form.showDisabledServices" : "Display disabled services tabs", | 84 | "settings.app.form.showDisabledServices" : "Display disabled services tabs", |
85 | "settings.app.form.showMessagesBadgesWhenMuted" : "Show unread message badge when notifications are disabled", | ||
79 | "settings.app.headline" : "Instellingen", | 86 | "settings.app.headline" : "Instellingen", |
80 | "settings.app.headlineAdvanced" : "Advanced", | 87 | "settings.app.headlineAdvanced" : "Advanced", |
81 | "settings.app.headlineAppearance" : "Appearance", | 88 | "settings.app.headlineAppearance" : "Appearance", |
@@ -83,6 +90,7 @@ | |||
83 | "settings.app.headlineLanguage" : "Taal", | 90 | "settings.app.headlineLanguage" : "Taal", |
84 | "settings.app.headlineUpdates" : "Updates", | 91 | "settings.app.headlineUpdates" : "Updates", |
85 | "settings.app.restartRequired" : "Changes require restart", | 92 | "settings.app.restartRequired" : "Changes require restart", |
93 | "settings.app.subheadlineCache" : "Cache", | ||
86 | "settings.app.translationHelp" : "Help us to translate Franz into your language.", | 94 | "settings.app.translationHelp" : "Help us to translate Franz into your language.", |
87 | "settings.app.updateStatusAvailable" : "Update beschikbaar, downloaden...", | 95 | "settings.app.updateStatusAvailable" : "Update beschikbaar, downloaden...", |
88 | "settings.app.updateStatusSearching" : "Zoekt naar updates", | 96 | "settings.app.updateStatusSearching" : "Zoekt naar updates", |
@@ -99,6 +107,7 @@ | |||
99 | "settings.recipes.mostPopular" : "Meest populair", | 107 | "settings.recipes.mostPopular" : "Meest populair", |
100 | "settings.recipes.nothingFound" : "Sorry, maar geen enkele service kwam overeen met je zoekterm.", | 108 | "settings.recipes.nothingFound" : "Sorry, maar geen enkele service kwam overeen met je zoekterm.", |
101 | "settings.recipes.servicesSuccessfulAddedInfo" : "Service succesvol toegevoegd", | 109 | "settings.recipes.servicesSuccessfulAddedInfo" : "Service succesvol toegevoegd", |
110 | "settings.searchService" : "Search service", | ||
102 | "settings.service.error.goBack" : "Terug naar de services", | 111 | "settings.service.error.goBack" : "Terug naar de services", |
103 | "settings.service.error.headline" : "Fout", | 112 | "settings.service.error.headline" : "Fout", |
104 | "settings.service.error.message" : "Kon het service-recept niet laden.", | 113 | "settings.service.error.message" : "Kon het service-recept niet laden.", |
@@ -111,8 +120,15 @@ | |||
111 | "settings.service.form.deleteButton" : "Service verwijderen", | 120 | "settings.service.form.deleteButton" : "Service verwijderen", |
112 | "settings.service.form.editServiceHeadline" : "{name} aanpassen", | 121 | "settings.service.form.editServiceHeadline" : "{name} aanpassen", |
113 | "settings.service.form.enableAudio" : "Enable audio", | 122 | "settings.service.form.enableAudio" : "Enable audio", |
123 | "settings.service.form.enableBadge" : "Show unread message badges", | ||
114 | "settings.service.form.enableNotification" : "Notificaties aanzetten", | 124 | "settings.service.form.enableNotification" : "Notificaties aanzetten", |
115 | "settings.service.form.enableService" : "Service aanzetten", | 125 | "settings.service.form.enableService" : "Service aanzetten", |
126 | "settings.service.form.headlineBadges" : "Unread message badges", | ||
127 | "settings.service.form.headlineGeneral" : "Algemeen", | ||
128 | "settings.service.form.headlineNotifications" : "Notifications", | ||
129 | "settings.service.form.icon" : "Custom icon", | ||
130 | "settings.service.form.iconDelete" : "Delete", | ||
131 | "settings.service.form.iconUpload" : "Drop your image, or click here", | ||
116 | "settings.service.form.indirectMessageInfo" : "Je wordt verwittigd over alle nieuwe berichten in een kanaal, niet alleen @username, @channel, @here, ...", | 132 | "settings.service.form.indirectMessageInfo" : "Je wordt verwittigd over alle nieuwe berichten in een kanaal, niet alleen @username, @channel, @here, ...", |
117 | "settings.service.form.indirectMessages" : "Toon berichten-badge voor alle nieuwe berichten", | 133 | "settings.service.form.indirectMessages" : "Toon berichten-badge voor alle nieuwe berichten", |
118 | "settings.service.form.isMutedInfo" : "When disabled, all notification sounds and audio playback are muted", | 134 | "settings.service.form.isMutedInfo" : "When disabled, all notification sounds and audio playback are muted", |
@@ -121,6 +137,7 @@ | |||
121 | "settings.service.form.tabHosted" : "Gehost", | 137 | "settings.service.form.tabHosted" : "Gehost", |
122 | "settings.service.form.tabOnPremise" : "Intern gehost âï¸", | 138 | "settings.service.form.tabOnPremise" : "Intern gehost âï¸", |
123 | "settings.service.form.team" : "Team", | 139 | "settings.service.form.team" : "Team", |
140 | "settings.service.form.useHostedService" : "Use the hosted {name} service.", | ||
124 | "settings.service.form.yourServices" : "Jouw services", | 141 | "settings.service.form.yourServices" : "Jouw services", |
125 | "settings.services.deletedInfo" : "Service werd verwijderd", | 142 | "settings.services.deletedInfo" : "Service werd verwijderd", |
126 | "settings.services.discoverServices" : "Services ontdekken", | 143 | "settings.services.discoverServices" : "Services ontdekken", |
@@ -140,9 +157,9 @@ | |||
140 | "settings.user.form.lastname" : "Achternaam", | 157 | "settings.user.form.lastname" : "Achternaam", |
141 | "settings.user.form.newPassword" : "Nieuw wachtwoord", | 158 | "settings.user.form.newPassword" : "Nieuw wachtwoord", |
142 | "sidebar.addNewService" : "!!!Add new service", | 159 | "sidebar.addNewService" : "!!!Add new service", |
143 | "sidebar.mute" : "Disable audio", | 160 | "sidebar.muteApp" : "Disable notifications & audio", |
144 | "sidebar.settings" : "Instellingen", | 161 | "sidebar.settings" : "Instellingen", |
145 | "sidebar.unmute" : "Enable audio", | 162 | "sidebar.unmuteApp" : "Enable notifications & audio", |
146 | "signup.company.label" : "Bedrijf", | 163 | "signup.company.label" : "Bedrijf", |
147 | "signup.email.label" : "E-mailadres", | 164 | "signup.email.label" : "E-mailadres", |
148 | "signup.emailDuplicate" : "Er bestaat reeds een gebruiker met dat e-mailadres", | 165 | "signup.emailDuplicate" : "Er bestaat reeds een gebruiker met dat e-mailadres", |
diff --git a/src/i18n/locales/nl.json b/src/i18n/locales/nl.json index a78a08878..499f4d784 100644 --- a/src/i18n/locales/nl.json +++ b/src/i18n/locales/nl.json | |||
@@ -1,21 +1,21 @@ | |||
1 | { | 1 | { |
2 | "global.api.unhealthy" : "Kan geen verbinding maken met de Franz services", | 2 | "global.api.unhealthy" : "Kan geen verbinding maken met de Franz services", |
3 | "global.notConnectedToTheInternet" : "Je hebt geen internet verbinding.", | 3 | "global.notConnectedToTheInternet" : "U bent niet verbonden met het internet.", |
4 | "import.headline" : "Importeer je Franz 4 services", | 4 | "import.headline" : "Importeer uw Franz 4 services", |
5 | "import.notSupportedHeadline" : "De volgende services worden nog niet ondersteund in Franz 5", | 5 | "import.notSupportedHeadline" : "De volgende services worden nog niet ondersteund in Franz 5", |
6 | "import.skip.label" : "Ik wil handmatig een service toevoegen", | 6 | "import.skip.label" : "Ik wil services handmatig toevoegen", |
7 | "import.submit.label" : "Importeer services", | 7 | "import.submit.label" : "Importeer services", |
8 | "infobar.buttonChangelog" : "What is new?", | 8 | "infobar.buttonChangelog" : "Wat is er nieuw?", |
9 | "infobar.buttonInstallUpdate" : "Start opnieuw op & installeer de update", | 9 | "infobar.buttonInstallUpdate" : "Opnieuw opstarten & update installeren", |
10 | "infobar.buttonReloadServices" : "Herlaad de services", | 10 | "infobar.buttonReloadServices" : "Herlaad de services", |
11 | "infobar.requiredRequestsFailed" : "Kan de services en gebruikers informatie niet laden", | 11 | "infobar.requiredRequestsFailed" : "Kan de services en gebruikers informatie niet laden", |
12 | "infobar.servicesUpdated" : "Je services zijn geüpdatet.", | 12 | "infobar.servicesUpdated" : "Je services zijn bijgewerkt.", |
13 | "infobar.updateAvailable" : "Een nieuwe update voor Franz is beschikbaar.", | 13 | "infobar.updateAvailable" : "Een nieuwe update voor Franz is beschikbaar.", |
14 | "invite.email.label" : "E-mailadres", | 14 | "invite.email.label" : "E-mailadres", |
15 | "invite.headline.friends" : "Nodig 3 van je vrienden of collega's uit", | 15 | "invite.headline.friends" : "Nodig 3 van je vrienden of collega's uit", |
16 | "invite.name.label" : "Naam", | 16 | "invite.name.label" : "Naam", |
17 | "invite.skip.label" : "Ik wil dit later doen", | 17 | "invite.skip.label" : "Ik wil dit later doen", |
18 | "invite.submit.label" : "Verzend uitnodigingen", | 18 | "invite.submit.label" : "Uitnodigingen verzenden", |
19 | "login.email.label" : "E-mailadres", | 19 | "login.email.label" : "E-mailadres", |
20 | "login.headline" : "Inloggen", | 20 | "login.headline" : "Inloggen", |
21 | "login.invalidCredentials" : "E-mailadres of wachtwoord ongeldig", | 21 | "login.invalidCredentials" : "E-mailadres of wachtwoord ongeldig", |
@@ -37,22 +37,26 @@ | |||
37 | "pricing.submit.label" : "Ik wil de ontwikkeling van Franz ondersteunen", | 37 | "pricing.submit.label" : "Ik wil de ontwikkeling van Franz ondersteunen", |
38 | "pricing.support.label" : "Selecteer je ondersteuningsplan", | 38 | "pricing.support.label" : "Selecteer je ondersteuningsplan", |
39 | "service.crashHandler.action" : "{name} herladen", | 39 | "service.crashHandler.action" : "{name} herladen", |
40 | "service.crashHandler.autoReload" : "Probeer {name} te herstellen over {seconds} seconden", | 40 | "service.crashHandler.autoReload" : "Ga proberen om {name} te herstellen over {seconds} seconden", |
41 | "service.crashHandler.headline" : "Oh nee!", | 41 | "service.crashHandler.headline" : "Oh nee!", |
42 | "service.crashHandler.text" : "{name} heeft voor een fout gezorgd.", | 42 | "service.crashHandler.text" : "{name} heeft voor een fout gezorgd.", |
43 | "service.disabledHandler.action" : "Activeer {name}", | 43 | "service.disabledHandler.action" : "Activeer {name}", |
44 | "service.disabledHandler.headline" : "{name} is uitgeschakeld", | 44 | "service.disabledHandler.headline" : "{name} is uitgeschakeld", |
45 | "services.getStarted" : "Beginnen", | 45 | "services.getStarted" : "Begin", |
46 | "services.welcome" : "Welkom bij Franz", | 46 | "services.welcome" : "Welkom bij Franz", |
47 | "settings.account.account.editButton" : "Bewerk account", | 47 | "settings.account.account.editButton" : "Bewerk account", |
48 | "settings.account.accountType.basic" : "Basis Account", | 48 | "settings.account.accountType.basic" : "Basis Account", |
49 | "settings.account.accountType.premium" : "Premium Supporter Account", | 49 | "settings.account.accountType.premium" : "Premium Supporter Account", |
50 | "settings.account.buttonSave" : "Update profiel", | 50 | "settings.account.buttonSave" : "Update profiel", |
51 | "settings.account.deleteAccount" : "Verwijder account", | ||
52 | "settings.account.deleteEmailSent" : "Je hebt een e-mail ontvangen met een link om de aanvraag tot verwijderen van het account te bevestigen. Je accountgegevens en -data kunnen niet worden teruggehaald!", | ||
53 | "settings.account.deleteInfo" : "Wanneer je je Franz account niet langer wilt gebruiken, kan je je account en alle gerelateerde data hier verwijderen.", | ||
51 | "settings.account.headline" : "Account", | 54 | "settings.account.headline" : "Account", |
52 | "settings.account.headlineAccount" : "Account informatie", | 55 | "settings.account.headlineAccount" : "Account informatie", |
56 | "settings.account.headlineDangerZone" : "Gevarenzone", | ||
53 | "settings.account.headlineInvoices" : "Facturen", | 57 | "settings.account.headlineInvoices" : "Facturen", |
54 | "settings.account.headlinePassword" : "Wijzig wachtwoord", | 58 | "settings.account.headlinePassword" : "Wijzig wachtwoord", |
55 | "settings.account.headlineProfile" : "Update profiel", | 59 | "settings.account.headlineProfile" : "Profiel bijwerken", |
56 | "settings.account.headlineSubscription" : "Je abonnement", | 60 | "settings.account.headlineSubscription" : "Je abonnement", |
57 | "settings.account.headlineUpgrade" : "Upgrade je account & ondersteun Franz", | 61 | "settings.account.headlineUpgrade" : "Upgrade je account & ondersteun Franz", |
58 | "settings.account.invoiceDownload" : "Download", | 62 | "settings.account.invoiceDownload" : "Download", |
@@ -64,8 +68,10 @@ | |||
64 | "settings.account.successInfo" : "Je wijzigingen zijn opgeslagen", | 68 | "settings.account.successInfo" : "Je wijzigingen zijn opgeslagen", |
65 | "settings.account.tryReloadUserInfoRequest" : "Probeer opnieuw", | 69 | "settings.account.tryReloadUserInfoRequest" : "Probeer opnieuw", |
66 | "settings.account.userInfoRequestFailed" : "Kon gebruikerinformatie niet laden", | 70 | "settings.account.userInfoRequestFailed" : "Kon gebruikerinformatie niet laden", |
71 | "settings.app.buttonClearAllCache" : "Cache legen", | ||
67 | "settings.app.buttonInstallUpdate" : "Herstart & installeer update", | 72 | "settings.app.buttonInstallUpdate" : "Herstart & installeer update", |
68 | "settings.app.buttonSearchForUpdate" : "Controleer op updates", | 73 | "settings.app.buttonSearchForUpdate" : "Controleer op updates", |
74 | "settings.app.cacheInfo" : "De Franz cache gebruikt op dit moment {size} schijfruimte.", | ||
69 | "settings.app.currentVersion" : "Huidige versie:", | 75 | "settings.app.currentVersion" : "Huidige versie:", |
70 | "settings.app.form.autoLaunchInBackground" : "Open op de achtergrond", | 76 | "settings.app.form.autoLaunchInBackground" : "Open op de achtergrond", |
71 | "settings.app.form.autoLaunchOnStart" : "Lanceer Franz bij opstarten", | 77 | "settings.app.form.autoLaunchOnStart" : "Lanceer Franz bij opstarten", |
@@ -76,6 +82,7 @@ | |||
76 | "settings.app.form.minimizeToSystemTray" : "Minimaliseer Franz naar de systeembalk", | 82 | "settings.app.form.minimizeToSystemTray" : "Minimaliseer Franz naar de systeembalk", |
77 | "settings.app.form.runInBackground" : "Houd Franz op de achtergrond wanneer het venster gesloten wordt", | 83 | "settings.app.form.runInBackground" : "Houd Franz op de achtergrond wanneer het venster gesloten wordt", |
78 | "settings.app.form.showDisabledServices" : "Laat uitgeschakelde services zien", | 84 | "settings.app.form.showDisabledServices" : "Laat uitgeschakelde services zien", |
85 | "settings.app.form.showMessagesBadgesWhenMuted" : "Toon badge met ongelezen berichten wanneer meldingen zijn uitgeschakeld", | ||
79 | "settings.app.headline" : "Instellingen", | 86 | "settings.app.headline" : "Instellingen", |
80 | "settings.app.headlineAdvanced" : "Geavanceerd", | 87 | "settings.app.headlineAdvanced" : "Geavanceerd", |
81 | "settings.app.headlineAppearance" : "Weergave", | 88 | "settings.app.headlineAppearance" : "Weergave", |
@@ -83,7 +90,8 @@ | |||
83 | "settings.app.headlineLanguage" : "Taal", | 90 | "settings.app.headlineLanguage" : "Taal", |
84 | "settings.app.headlineUpdates" : "Updates", | 91 | "settings.app.headlineUpdates" : "Updates", |
85 | "settings.app.restartRequired" : "Deze wijziging heeft een herstart nodig", | 92 | "settings.app.restartRequired" : "Deze wijziging heeft een herstart nodig", |
86 | "settings.app.translationHelp" : "Help us to translate Franz into your language.", | 93 | "settings.app.subheadlineCache" : "Cache", |
94 | "settings.app.translationHelp" : "Help ons om Franz te vertalen naar uw taal.", | ||
87 | "settings.app.updateStatusAvailable" : "Update beschikbaar, downloaden...", | 95 | "settings.app.updateStatusAvailable" : "Update beschikbaar, downloaden...", |
88 | "settings.app.updateStatusSearching" : "Zoekt naar updates", | 96 | "settings.app.updateStatusSearching" : "Zoekt naar updates", |
89 | "settings.app.updateStatusUpToDate" : "Je gebruikt de laatste versie van Franz", | 97 | "settings.app.updateStatusUpToDate" : "Je gebruikt de laatste versie van Franz", |
@@ -95,32 +103,41 @@ | |||
95 | "settings.recipes.all" : "Alle services", | 103 | "settings.recipes.all" : "Alle services", |
96 | "settings.recipes.dev" : "Ontwikkeling", | 104 | "settings.recipes.dev" : "Ontwikkeling", |
97 | "settings.recipes.headline" : "Beschikbare services", | 105 | "settings.recipes.headline" : "Beschikbare services", |
98 | "settings.recipes.missingService" : "Missing a service?", | 106 | "settings.recipes.missingService" : "Mist er een dienst?", |
99 | "settings.recipes.mostPopular" : "Meest populair", | 107 | "settings.recipes.mostPopular" : "Meest populair", |
100 | "settings.recipes.nothingFound" : "Geen service kwam overeen met je zoekopdracht.", | 108 | "settings.recipes.nothingFound" : "Geen service kwam overeen met je zoekopdracht.", |
101 | "settings.recipes.servicesSuccessfulAddedInfo" : "Service succesvol toegevoegd", | 109 | "settings.recipes.servicesSuccessfulAddedInfo" : "Service succesvol toegevoegd", |
110 | "settings.searchService" : "Zoek service", | ||
102 | "settings.service.error.goBack" : "Terug naar services", | 111 | "settings.service.error.goBack" : "Terug naar services", |
103 | "settings.service.error.headline" : "Fout", | 112 | "settings.service.error.headline" : "Fout", |
104 | "settings.service.error.message" : "Kon servicerecept niet laden.", | 113 | "settings.service.error.message" : "Kon servicerecept niet laden.", |
105 | "settings.service.form.addServiceHeadline" : "Toevoegen {name}", | 114 | "settings.service.form.addServiceHeadline" : "Toevoegen {name}", |
106 | "settings.service.form.availableServices" : "Beschikbare services", | 115 | "settings.service.form.availableServices" : "Beschikbare services", |
107 | "settings.service.form.customUrl" : "Custom server", | 116 | "settings.service.form.customUrl" : "Aangepaste server", |
108 | "settings.service.form.customUrlPremiumInfo" : "Om zelf-gehoste services toe te kunnen voegen, heb je een Franz Premium Supporter Account nodig.", | 117 | "settings.service.form.customUrlPremiumInfo" : "Om zelf-gehoste services toe te kunnen voegen, heb je een Franz Premium Supporter Account nodig.", |
109 | "settings.service.form.customUrlUpgradeAccount" : "Upgrade je account", | 118 | "settings.service.form.customUrlUpgradeAccount" : "Upgrade je account", |
110 | "settings.service.form.customUrlValidationError" : "Kon custom server {name} niet valideren.", | 119 | "settings.service.form.customUrlValidationError" : "Kon aangepaste server {name} niet valideren.", |
111 | "settings.service.form.deleteButton" : "Verwijder service", | 120 | "settings.service.form.deleteButton" : "Verwijder service", |
112 | "settings.service.form.editServiceHeadline" : "Bewerk {name}", | 121 | "settings.service.form.editServiceHeadline" : "Bewerk {name}", |
113 | "settings.service.form.enableAudio" : "Audio inschakelen", | 122 | "settings.service.form.enableAudio" : "Audio inschakelen", |
123 | "settings.service.form.enableBadge" : "Toon badges met ongelezen berichten", | ||
114 | "settings.service.form.enableNotification" : "Meldingen inschakelen", | 124 | "settings.service.form.enableNotification" : "Meldingen inschakelen", |
115 | "settings.service.form.enableService" : "Service inschakelen", | 125 | "settings.service.form.enableService" : "Service inschakelen", |
126 | "settings.service.form.headlineBadges" : "Ongelezen berichten badges", | ||
127 | "settings.service.form.headlineGeneral" : "Algemeen", | ||
128 | "settings.service.form.headlineNotifications" : "Meldingen", | ||
129 | "settings.service.form.icon" : "Aangepast icoon", | ||
130 | "settings.service.form.iconDelete" : "Verwijderen", | ||
131 | "settings.service.form.iconUpload" : "Sleep je afbeelding, of klik hier", | ||
116 | "settings.service.form.indirectMessageInfo" : "Je ontvangt meldingen van alle nieuwe berichten in een kanaal, niet alleen @username, @channel, @here, ...", | 132 | "settings.service.form.indirectMessageInfo" : "Je ontvangt meldingen van alle nieuwe berichten in een kanaal, niet alleen @username, @channel, @here, ...", |
117 | "settings.service.form.indirectMessages" : "Toon berichtenbadge voor alle nieuwe berichten", | 133 | "settings.service.form.indirectMessages" : "Toon berichtenbadge voor alle nieuwe berichten", |
118 | "settings.service.form.isMutedInfo" : "Indien uitgeschakeld zullen alle meldinggeluiden en afgespeelde audio uitgeschakeld zijn", | 134 | "settings.service.form.isMutedInfo" : "Indien uitgeschakeld zullen alle meldinggeluiden en afgespeelde audio uitgeschakeld zijn", |
119 | "settings.service.form.name" : "Naam", | 135 | "settings.service.form.name" : "Naam", |
120 | "settings.service.form.saveButton" : "Opslaan service", | 136 | "settings.service.form.saveButton" : "Opslaan service", |
121 | "settings.service.form.tabHosted" : "Gehost", | 137 | "settings.service.form.tabHosted" : "Gehost", |
122 | "settings.service.form.tabOnPremise" : "Zelf-gehost *", | 138 | "settings.service.form.tabOnPremise" : "Zelf-gehost âï¸", |
123 | "settings.service.form.team" : "Team", | 139 | "settings.service.form.team" : "Team", |
140 | "settings.service.form.useHostedService" : "Gebruik de gehoste service {name}", | ||
124 | "settings.service.form.yourServices" : "Jouw services", | 141 | "settings.service.form.yourServices" : "Jouw services", |
125 | "settings.services.deletedInfo" : "Service is verwijderd", | 142 | "settings.services.deletedInfo" : "Service is verwijderd", |
126 | "settings.services.discoverServices" : "Ontdek services", | 143 | "settings.services.discoverServices" : "Ontdek services", |
@@ -134,15 +151,15 @@ | |||
134 | "settings.user.form.accountType.individual" : "Individueel", | 151 | "settings.user.form.accountType.individual" : "Individueel", |
135 | "settings.user.form.accountType.label" : "Account type", | 152 | "settings.user.form.accountType.label" : "Account type", |
136 | "settings.user.form.accountType.non-profit" : "Non-Profit", | 153 | "settings.user.form.accountType.non-profit" : "Non-Profit", |
137 | "settings.user.form.currentPassword" : "Huidig wachtwoord", | 154 | "settings.user.form.currentPassword" : "Huidige wachtwoord", |
138 | "settings.user.form.email" : "E-mailadres", | 155 | "settings.user.form.email" : "E-mailadres", |
139 | "settings.user.form.firstname" : "Voornaam", | 156 | "settings.user.form.firstname" : "Voornaam", |
140 | "settings.user.form.lastname" : "Achternaam", | 157 | "settings.user.form.lastname" : "Achternaam", |
141 | "settings.user.form.newPassword" : "Nieuw wachtwoord", | 158 | "settings.user.form.newPassword" : "Nieuw wachtwoord", |
142 | "sidebar.addNewService" : "Service toevoegen", | 159 | "sidebar.addNewService" : "Service toevoegen", |
143 | "sidebar.mute" : "Audio uitschakelen", | 160 | "sidebar.muteApp" : "Uitschakelen berichten & geluid", |
144 | "sidebar.settings" : "Instellingen", | 161 | "sidebar.settings" : "Instellingen", |
145 | "sidebar.unmute" : "Audio inschakelen", | 162 | "sidebar.unmuteApp" : "Inschakelen berichten & geluid", |
146 | "signup.company.label" : "Bedrijf", | 163 | "signup.company.label" : "Bedrijf", |
147 | "signup.email.label" : "E-mailadres", | 164 | "signup.email.label" : "E-mailadres", |
148 | "signup.emailDuplicate" : "Er bestaat al een gebruiker met dat e-mailadres", | 165 | "signup.emailDuplicate" : "Er bestaat al een gebruiker met dat e-mailadres", |
@@ -154,7 +171,7 @@ | |||
154 | "signup.legal.terms" : "Gebruiksvoorwaarden", | 171 | "signup.legal.terms" : "Gebruiksvoorwaarden", |
155 | "signup.link.login" : "Al een account? Log in!", | 172 | "signup.link.login" : "Al een account? Log in!", |
156 | "signup.password.label" : "Wachtwoord", | 173 | "signup.password.label" : "Wachtwoord", |
157 | "signup.submit.label" : "Maak een nieuw account aan", | 174 | "signup.submit.label" : "Account aanmaken", |
158 | "subscription.euTaxInfo" : "Bewoners binnen EU: lokale belasting kan van toepassing zijn", | 175 | "subscription.euTaxInfo" : "Bewoners binnen EU: lokale belasting kan van toepassing zijn", |
159 | "subscription.features.ads" : "Geen advertenties, nooit!", | 176 | "subscription.features.ads" : "Geen advertenties, nooit!", |
160 | "subscription.features.comingSoon" : "komt binnenkort", | 177 | "subscription.features.comingSoon" : "komt binnenkort", |
@@ -166,7 +183,7 @@ | |||
166 | "subscription.mining.experimental" : "experimenteel", | 183 | "subscription.mining.experimental" : "experimenteel", |
167 | "subscription.mining.headline" : "Hoe werkt dit?", | 184 | "subscription.mining.headline" : "Hoe werkt dit?", |
168 | "subscription.mining.line1" : "Door \"Ondersteun met rekenkracht\" te activeren, zal Franz ongeveer 20-50% van je CPU gebruiken om de cryptomunt Monero te minen, wat overeenkomt met ongeveer $ 5\/jaar.", | 185 | "subscription.mining.line1" : "Door \"Ondersteun met rekenkracht\" te activeren, zal Franz ongeveer 20-50% van je CPU gebruiken om de cryptomunt Monero te minen, wat overeenkomt met ongeveer $ 5\/jaar.", |
169 | "subscription.mining.line2" : "We zullen het CPU-gebruik aanpassen aan je gebruik en daarmee voorkomen dat de batterij niet leegloopt of dat jij en je werk afgeremd wordt.", | 186 | "subscription.mining.line2" : "We zullen het CPU-gebruik aanpassen aan je gebruik en daarmee voorkomen dat de batterij leegloopt of dat jij en je werk worden afgeremd.", |
170 | "subscription.mining.line3" : "Zolang de miner actief is, heb je onbeperkt toegang tot alle Franz Premium Supporter Features.", | 187 | "subscription.mining.line3" : "Zolang de miner actief is, heb je onbeperkt toegang tot alle Franz Premium Supporter Features.", |
171 | "subscription.mining.moreInformation" : "Verkrijg meer informatie over dit plan.", | 188 | "subscription.mining.moreInformation" : "Verkrijg meer informatie over dit plan.", |
172 | "subscription.paymentSessionError" : "Kan betaalformulier niet initialiseren", | 189 | "subscription.paymentSessionError" : "Kan betaalformulier niet initialiseren", |
diff --git a/src/i18n/locales/pl.json b/src/i18n/locales/pl.json index 67657155f..85b8cf497 100644 --- a/src/i18n/locales/pl.json +++ b/src/i18n/locales/pl.json | |||
@@ -3,9 +3,9 @@ | |||
3 | "global.notConnectedToTheInternet" : "Nie masz połączenia z Internetem.", | 3 | "global.notConnectedToTheInternet" : "Nie masz połączenia z Internetem.", |
4 | "import.headline" : "Importuj usługi Franz 4", | 4 | "import.headline" : "Importuj usługi Franz 4", |
5 | "import.notSupportedHeadline" : "Usługi, które nie są jeszcze obsługiwane w Franz 5", | 5 | "import.notSupportedHeadline" : "Usługi, które nie są jeszcze obsługiwane w Franz 5", |
6 | "import.skip.label" : "Chcę ręcznie dodać usługi", | 6 | "import.skip.label" : "Chcę dodać usługi samodzielnie", |
7 | "import.submit.label" : "Zaimportuj usługi", | 7 | "import.submit.label" : "Zaimportuj usługi", |
8 | "infobar.buttonChangelog" : "What is new?", | 8 | "infobar.buttonChangelog" : "Co nowego?", |
9 | "infobar.buttonInstallUpdate" : "Uruchom ponownie i zainstaluj aktualizacjÄ™", | 9 | "infobar.buttonInstallUpdate" : "Uruchom ponownie i zainstaluj aktualizacjÄ™", |
10 | "infobar.buttonReloadServices" : "Załaduj ponownie usługi", | 10 | "infobar.buttonReloadServices" : "Załaduj ponownie usługi", |
11 | "infobar.requiredRequestsFailed" : "Nie można załadować usług i informacji użytkownika", | 11 | "infobar.requiredRequestsFailed" : "Nie można załadować usług i informacji użytkownika", |
@@ -36,20 +36,24 @@ | |||
36 | "pricing.link.skipPayment" : "Nie chcę wspierać rozwoju aplikacji Franz.", | 36 | "pricing.link.skipPayment" : "Nie chcę wspierać rozwoju aplikacji Franz.", |
37 | "pricing.submit.label" : "Chcę wspierać rozwój aplikacji Franz", | 37 | "pricing.submit.label" : "Chcę wspierać rozwój aplikacji Franz", |
38 | "pricing.support.label" : "Wybierz swój plan wsparcia", | 38 | "pricing.support.label" : "Wybierz swój plan wsparcia", |
39 | "service.crashHandler.action" : "Reload {name}", | 39 | "service.crashHandler.action" : "Przeładuj {name}", |
40 | "service.crashHandler.autoReload" : "Trying to automatically restore {name} in {seconds} seconds", | 40 | "service.crashHandler.autoReload" : "Próba automatycznego odnowienia {name} za {seconds} sekund\/y", |
41 | "service.crashHandler.headline" : "Oh no!", | 41 | "service.crashHandler.headline" : "O nie!", |
42 | "service.crashHandler.text" : "{name} has caused an error.", | 42 | "service.crashHandler.text" : "{name} spowodował problem.", |
43 | "service.disabledHandler.action" : "Enable {name}", | 43 | "service.disabledHandler.action" : "Dostępny {name}", |
44 | "service.disabledHandler.headline" : "{name} is disabled", | 44 | "service.disabledHandler.headline" : "{name} jest wyłączony", |
45 | "services.getStarted" : "Zacznij", | 45 | "services.getStarted" : "Zacznij", |
46 | "services.welcome" : "Witaj w programie Franz", | 46 | "services.welcome" : "Witaj w programie Franz", |
47 | "settings.account.account.editButton" : "Modyfikuj konta", | 47 | "settings.account.account.editButton" : "Modyfikuj konta", |
48 | "settings.account.accountType.basic" : "Podstawowe konto", | 48 | "settings.account.accountType.basic" : "Podstawowe konto", |
49 | "settings.account.accountType.premium" : "Premium Supporter Account", | 49 | "settings.account.accountType.premium" : "Premium Supporter Account", |
50 | "settings.account.buttonSave" : "Uaktualnij profil", | 50 | "settings.account.buttonSave" : "Uaktualnij profil", |
51 | "settings.account.deleteAccount" : "Usuń konto", | ||
52 | "settings.account.deleteEmailSent" : "Wysłaliśmy email z linkiem do potwierdzenia usunięcia konta. Konto oraz dane są usuwane trwale i nie można tego cofnąć!", | ||
53 | "settings.account.deleteInfo" : "Jeżeli nie potrzebujesz już konta Franz, możesz je usunąć oraz wszystkie dane na nim zapisane.", | ||
51 | "settings.account.headline" : "Konto", | 54 | "settings.account.headline" : "Konto", |
52 | "settings.account.headlineAccount" : "Informacje o koncie", | 55 | "settings.account.headlineAccount" : "Informacje o koncie", |
56 | "settings.account.headlineDangerZone" : "Niebezpieczna strefa", | ||
53 | "settings.account.headlineInvoices" : "Faktury", | 57 | "settings.account.headlineInvoices" : "Faktury", |
54 | "settings.account.headlinePassword" : "Zmień hasło", | 58 | "settings.account.headlinePassword" : "Zmień hasło", |
55 | "settings.account.headlineProfile" : "Uaktualnij profil", | 59 | "settings.account.headlineProfile" : "Uaktualnij profil", |
@@ -64,26 +68,30 @@ | |||
64 | "settings.account.successInfo" : "Twoje zmiany zostały zapisane", | 68 | "settings.account.successInfo" : "Twoje zmiany zostały zapisane", |
65 | "settings.account.tryReloadUserInfoRequest" : "Spróbuj ponownie", | 69 | "settings.account.tryReloadUserInfoRequest" : "Spróbuj ponownie", |
66 | "settings.account.userInfoRequestFailed" : "Nie można wczytać informacji o użytkowniku", | 70 | "settings.account.userInfoRequestFailed" : "Nie można wczytać informacji o użytkowniku", |
71 | "settings.app.buttonClearAllCache" : "Clear cache", | ||
67 | "settings.app.buttonInstallUpdate" : "Uruchom ponownie i zainstaluj aktualizacjÄ™", | 72 | "settings.app.buttonInstallUpdate" : "Uruchom ponownie i zainstaluj aktualizacjÄ™", |
68 | "settings.app.buttonSearchForUpdate" : "Sprawdź aktualizacje", | 73 | "settings.app.buttonSearchForUpdate" : "Sprawdź aktualizacje", |
74 | "settings.app.cacheInfo" : "Franz cache is currently using {size} of disk space.", | ||
69 | "settings.app.currentVersion" : "Aktualna wersja:", | 75 | "settings.app.currentVersion" : "Aktualna wersja:", |
70 | "settings.app.form.autoLaunchInBackground" : "Otwórz w tle", | 76 | "settings.app.form.autoLaunchInBackground" : "Otwórz w tle", |
71 | "settings.app.form.autoLaunchOnStart" : "Uruchom Franz na poczÄ…tku", | 77 | "settings.app.form.autoLaunchOnStart" : "Uruchom Franz na poczÄ…tku", |
72 | "settings.app.form.beta" : "Uwzględnij wersje beta", | 78 | "settings.app.form.beta" : "Uwzględnij wersje beta", |
73 | "settings.app.form.enableSpellchecking" : "Enable spell checking", | 79 | "settings.app.form.enableSpellchecking" : "WÅ‚Ä…cz sprawdzanie pisowni", |
74 | "settings.app.form.enableSystemTray" : "Pokaż Franza w tacy systemowej", | 80 | "settings.app.form.enableSystemTray" : "Pokaż Franza w tacy systemowej", |
75 | "settings.app.form.language" : "Język", | 81 | "settings.app.form.language" : "Język", |
76 | "settings.app.form.minimizeToSystemTray" : "Zminimalizuj aplikacjÄ™ Franz", | 82 | "settings.app.form.minimizeToSystemTray" : "Zminimalizuj aplikacjÄ™ Franz", |
77 | "settings.app.form.runInBackground" : "Zachowaj aplikację Franz w tle po zamknięciu okna", | 83 | "settings.app.form.runInBackground" : "Zachowaj aplikację Franz w tle po zamknięciu okna", |
78 | "settings.app.form.showDisabledServices" : "Display disabled services tabs", | 84 | "settings.app.form.showDisabledServices" : "Wyłącz wyświetlanie zakładek z usługami", |
85 | "settings.app.form.showMessagesBadgesWhenMuted" : "Pokaż licznik nieprzeczytanych wiadomości gdy powiadomienia są wyłączone", | ||
79 | "settings.app.headline" : "Ustawienia", | 86 | "settings.app.headline" : "Ustawienia", |
80 | "settings.app.headlineAdvanced" : "Advanced", | 87 | "settings.app.headlineAdvanced" : "Zaawansowane", |
81 | "settings.app.headlineAppearance" : "Appearance", | 88 | "settings.app.headlineAppearance" : "WyglÄ…d", |
82 | "settings.app.headlineGeneral" : "Ogólne", | 89 | "settings.app.headlineGeneral" : "Ogólne", |
83 | "settings.app.headlineLanguage" : "Język", | 90 | "settings.app.headlineLanguage" : "Język", |
84 | "settings.app.headlineUpdates" : "Aktualizacje", | 91 | "settings.app.headlineUpdates" : "Aktualizacje", |
85 | "settings.app.restartRequired" : "Changes require restart", | 92 | "settings.app.restartRequired" : "Zmiany. wymagajÄ… ponownego uruchomienia", |
86 | "settings.app.translationHelp" : "Help us to translate Franz into your language.", | 93 | "settings.app.subheadlineCache" : "Cache", |
94 | "settings.app.translationHelp" : "Pomóż nam tłumaczyć Franz na Twój język.", | ||
87 | "settings.app.updateStatusAvailable" : "Dostępna aktualizacja, pobieram...", | 95 | "settings.app.updateStatusAvailable" : "Dostępna aktualizacja, pobieram...", |
88 | "settings.app.updateStatusSearching" : "Szukam aktualizacji", | 96 | "settings.app.updateStatusSearching" : "Szukam aktualizacji", |
89 | "settings.app.updateStatusUpToDate" : "Używasz najnowszej wersji aplikacji Franz", | 97 | "settings.app.updateStatusUpToDate" : "Używasz najnowszej wersji aplikacji Franz", |
@@ -95,10 +103,11 @@ | |||
95 | "settings.recipes.all" : "Wszystkie usługi", | 103 | "settings.recipes.all" : "Wszystkie usługi", |
96 | "settings.recipes.dev" : "Rozwojowe", | 104 | "settings.recipes.dev" : "Rozwojowe", |
97 | "settings.recipes.headline" : "Dostępne usługi", | 105 | "settings.recipes.headline" : "Dostępne usługi", |
98 | "settings.recipes.missingService" : "Missing a service?", | 106 | "settings.recipes.missingService" : "Brak usługi?", |
99 | "settings.recipes.mostPopular" : "Najpopularniejsze", | 107 | "settings.recipes.mostPopular" : "Najpopularniejsze", |
100 | "settings.recipes.nothingFound" : "Żadna usługa nie została znaleziona.", | 108 | "settings.recipes.nothingFound" : "Żadna usługa nie została znaleziona.", |
101 | "settings.recipes.servicesSuccessfulAddedInfo" : "Usługa została dodana pomyślnie", | 109 | "settings.recipes.servicesSuccessfulAddedInfo" : "Usługa została dodana pomyślnie", |
110 | "settings.searchService" : "Search service", | ||
102 | "settings.service.error.goBack" : "Wróć do usług", | 111 | "settings.service.error.goBack" : "Wróć do usług", |
103 | "settings.service.error.headline" : "BÅ‚Ä…d", | 112 | "settings.service.error.headline" : "BÅ‚Ä…d", |
104 | "settings.service.error.message" : "Nie można wczytać przepisu usługi.", | 113 | "settings.service.error.message" : "Nie można wczytać przepisu usługi.", |
@@ -110,39 +119,47 @@ | |||
110 | "settings.service.form.customUrlValidationError" : "Nie można zweryfikować spersonalizowanego {name} serwera.", | 119 | "settings.service.form.customUrlValidationError" : "Nie można zweryfikować spersonalizowanego {name} serwera.", |
111 | "settings.service.form.deleteButton" : "Usuń usługę", | 120 | "settings.service.form.deleteButton" : "Usuń usługę", |
112 | "settings.service.form.editServiceHeadline" : "Edytuj {name}", | 121 | "settings.service.form.editServiceHeadline" : "Edytuj {name}", |
113 | "settings.service.form.enableAudio" : "Enable audio", | 122 | "settings.service.form.enableAudio" : "Włącz dźwięk", |
123 | "settings.service.form.enableBadge" : "Show unread message badges", | ||
114 | "settings.service.form.enableNotification" : "Aktywuj powiadomienia", | 124 | "settings.service.form.enableNotification" : "Aktywuj powiadomienia", |
115 | "settings.service.form.enableService" : "Aktywuj usługę", | 125 | "settings.service.form.enableService" : "Aktywuj usługę", |
126 | "settings.service.form.headlineBadges" : "Unread message badges", | ||
127 | "settings.service.form.headlineGeneral" : "Ogólne", | ||
128 | "settings.service.form.headlineNotifications" : "Notifications", | ||
129 | "settings.service.form.icon" : "Custom icon", | ||
130 | "settings.service.form.iconDelete" : "Delete", | ||
131 | "settings.service.form.iconUpload" : "Drop your image, or click here", | ||
116 | "settings.service.form.indirectMessageInfo" : "Będziesz informowany o wszystkich nowych wiadomościach na kanale, nie tylko @username, @channel, @here, ...", | 132 | "settings.service.form.indirectMessageInfo" : "Będziesz informowany o wszystkich nowych wiadomościach na kanale, nie tylko @username, @channel, @here, ...", |
117 | "settings.service.form.indirectMessages" : "Pokaż ikonę wiadomości dla wszystkich nowych wiadomości", | 133 | "settings.service.form.indirectMessages" : "Pokaż ikonę wiadomości dla wszystkich nowych wiadomości", |
118 | "settings.service.form.isMutedInfo" : "When disabled, all notification sounds and audio playback are muted", | 134 | "settings.service.form.isMutedInfo" : "Kiedy nieaktywne, wszystkie dźwięki powiadomień są wyciszone", |
119 | "settings.service.form.name" : "Nazwa", | 135 | "settings.service.form.name" : "Nazwa", |
120 | "settings.service.form.saveButton" : "Zapisz usługę", | 136 | "settings.service.form.saveButton" : "Zapisz usługę", |
121 | "settings.service.form.tabHosted" : "Hostowane", | 137 | "settings.service.form.tabHosted" : "Hostowane", |
122 | "settings.service.form.tabOnPremise" : "Hostowane lokalnie âï¸", | 138 | "settings.service.form.tabOnPremise" : "Hostowane lokalnie âï¸", |
123 | "settings.service.form.team" : "Zespół", | 139 | "settings.service.form.team" : "Zespół", |
140 | "settings.service.form.useHostedService" : "Use the hosted {name} service.", | ||
124 | "settings.service.form.yourServices" : "Twoje usługi", | 141 | "settings.service.form.yourServices" : "Twoje usługi", |
125 | "settings.services.deletedInfo" : "Usługa została usunięta", | 142 | "settings.services.deletedInfo" : "Usługa została usunięta", |
126 | "settings.services.discoverServices" : "Przeglądaj usługi", | 143 | "settings.services.discoverServices" : "Przeglądaj usługi", |
127 | "settings.services.headline" : "Twoje usługi", | 144 | "settings.services.headline" : "Twoje usługi", |
128 | "settings.services.noServicesAdded" : "Nie dodałeś jeszcze żadnych usług.", | 145 | "settings.services.noServicesAdded" : "Nie dodałeś jeszcze żadnych usług.", |
129 | "settings.services.tooltip.isDisabled" : "Usługa jest nieaktywna", | 146 | "settings.services.tooltip.isDisabled" : "Usługa jest nieaktywna", |
130 | "settings.services.tooltip.isMuted" : "All sounds are muted", | 147 | "settings.services.tooltip.isMuted" : "Wszystkie dźwięki są wyciszone", |
131 | "settings.services.tooltip.notificationsDisabled" : "Powiadomienia sÄ… nieaktywne", | 148 | "settings.services.tooltip.notificationsDisabled" : "Powiadomienia sÄ… nieaktywne", |
132 | "settings.services.updatedInfo" : "Zmiany zostały zapisane", | 149 | "settings.services.updatedInfo" : "Zmiany zostały zapisane", |
133 | "settings.user.form.accountType.company" : "Firma", | 150 | "settings.user.form.accountType.company" : "Firma", |
134 | "settings.user.form.accountType.individual" : "Prywatne", | 151 | "settings.user.form.accountType.individual" : "Prywatne", |
135 | "settings.user.form.accountType.label" : "Typ konta", | 152 | "settings.user.form.accountType.label" : "Typ konta", |
136 | "settings.user.form.accountType.non-profit" : "Non-Profit ", | 153 | "settings.user.form.accountType.non-profit" : "Non-profit", |
137 | "settings.user.form.currentPassword" : "Obecne hasło", | 154 | "settings.user.form.currentPassword" : "Obecne hasło", |
138 | "settings.user.form.email" : "Adres email", | 155 | "settings.user.form.email" : "Adres email", |
139 | "settings.user.form.firstname" : "ImiÄ™", | 156 | "settings.user.form.firstname" : "ImiÄ™", |
140 | "settings.user.form.lastname" : "Nazwisko", | 157 | "settings.user.form.lastname" : "Nazwisko", |
141 | "settings.user.form.newPassword" : "Nowe hasło", | 158 | "settings.user.form.newPassword" : "Nowe hasło", |
142 | "sidebar.addNewService" : "!!!Add new service", | 159 | "sidebar.addNewService" : "!!!Add new service", |
143 | "sidebar.mute" : "Disable audio", | 160 | "sidebar.muteApp" : "Wyłącz powiadomienia i dźwięki", |
144 | "sidebar.settings" : "Ustawienia", | 161 | "sidebar.settings" : "Ustawienia", |
145 | "sidebar.unmute" : "Enable audio", | 162 | "sidebar.unmuteApp" : "Włącz powiadomienia i dźwięki", |
146 | "signup.company.label" : "Firma", | 163 | "signup.company.label" : "Firma", |
147 | "signup.email.label" : "Adres email", | 164 | "signup.email.label" : "Adres email", |
148 | "signup.emailDuplicate" : "Użytkownik z takim adresem email już istnieje", | 165 | "signup.emailDuplicate" : "Użytkownik z takim adresem email już istnieje", |
@@ -155,7 +172,7 @@ | |||
155 | "signup.link.login" : "Masz już konto, zalogować się?", | 172 | "signup.link.login" : "Masz już konto, zalogować się?", |
156 | "signup.password.label" : "Hasło", | 173 | "signup.password.label" : "Hasło", |
157 | "signup.submit.label" : "Stwórz konto", | 174 | "signup.submit.label" : "Stwórz konto", |
158 | "subscription.euTaxInfo" : "EU residents: local sales tax may apply", | 175 | "subscription.euTaxInfo" : "Rezydenci UE: lokalne stawki VAT mogą zostać zaaplikowane", |
159 | "subscription.features.ads" : "Brak reklam, na zawsze!", | 176 | "subscription.features.ads" : "Brak reklam, na zawsze!", |
160 | "subscription.features.comingSoon" : "wkrótce dostępne", | 177 | "subscription.features.comingSoon" : "wkrótce dostępne", |
161 | "subscription.features.customServices" : "Prywatne usługi dla Ciebie i Twojego zespołu", | 178 | "subscription.features.customServices" : "Prywatne usługi dla Ciebie i Twojego zespołu", |
@@ -178,11 +195,11 @@ | |||
178 | "subscriptionPopup.buttonCancel" : "Anuluj", | 195 | "subscriptionPopup.buttonCancel" : "Anuluj", |
179 | "subscriptionPopup.buttonDone" : "Zrobione", | 196 | "subscriptionPopup.buttonDone" : "Zrobione", |
180 | "tabs.item.deleteService" : "Usuń usługę", | 197 | "tabs.item.deleteService" : "Usuń usługę", |
181 | "tabs.item.disableAudio" : "Disable audio", | 198 | "tabs.item.disableAudio" : "Wyłącz dźwięk", |
182 | "tabs.item.disableNotifications" : "Wyłącz powiadomienia", | 199 | "tabs.item.disableNotifications" : "Wyłącz powiadomienia", |
183 | "tabs.item.disableService" : "Wyłącz usługę", | 200 | "tabs.item.disableService" : "Wyłącz usługę", |
184 | "tabs.item.edit" : "Edytuj", | 201 | "tabs.item.edit" : "Edytuj", |
185 | "tabs.item.enableAudio" : "Enable audio", | 202 | "tabs.item.enableAudio" : "Włącz dźwięk ", |
186 | "tabs.item.enableNotification" : "WÅ‚Ä…cz powiadomienia", | 203 | "tabs.item.enableNotification" : "WÅ‚Ä…cz powiadomienia", |
187 | "tabs.item.enableService" : "Aktywuj usługę", | 204 | "tabs.item.enableService" : "Aktywuj usługę", |
188 | "tabs.item.reload" : "Przeładuj", | 205 | "tabs.item.reload" : "Przeładuj", |
diff --git a/src/i18n/locales/pt-BR.json b/src/i18n/locales/pt-BR.json index 5a20f387a..d32a09e48 100644 --- a/src/i18n/locales/pt-BR.json +++ b/src/i18n/locales/pt-BR.json | |||
@@ -5,7 +5,7 @@ | |||
5 | "import.notSupportedHeadline" : "Serviços ainda não suportados pelo Franz 5", | 5 | "import.notSupportedHeadline" : "Serviços ainda não suportados pelo Franz 5", |
6 | "import.skip.label" : "Quero adicionar serviços manualmente", | 6 | "import.skip.label" : "Quero adicionar serviços manualmente", |
7 | "import.submit.label" : "Importar serviços", | 7 | "import.submit.label" : "Importar serviços", |
8 | "infobar.buttonChangelog" : "What is new?", | 8 | "infobar.buttonChangelog" : "O que há de novo?", |
9 | "infobar.buttonInstallUpdate" : "Reiniciar e instalar atualizações", | 9 | "infobar.buttonInstallUpdate" : "Reiniciar e instalar atualizações", |
10 | "infobar.buttonReloadServices" : "Recarregar serviços", | 10 | "infobar.buttonReloadServices" : "Recarregar serviços", |
11 | "infobar.requiredRequestsFailed" : "Não foi possÃvel carregar serviços e informações do usuário", | 11 | "infobar.requiredRequestsFailed" : "Não foi possÃvel carregar serviços e informações do usuário", |
@@ -22,7 +22,7 @@ | |||
22 | "login.link.password" : "Trocar a senha", | 22 | "login.link.password" : "Trocar a senha", |
23 | "login.link.signup" : "Criar uma conta gratuita", | 23 | "login.link.signup" : "Criar uma conta gratuita", |
24 | "login.password.label" : "Senha", | 24 | "login.password.label" : "Senha", |
25 | "login.serverLogout" : "Sua sessão expirou, faça o login novamente.\",", | 25 | "login.serverLogout" : "Sua sessão expirou, faça o login novamente.", |
26 | "login.submit.label" : "Login", | 26 | "login.submit.label" : "Login", |
27 | "login.tokenExpired" : "Sua sessão expirou, faça o login novamente.", | 27 | "login.tokenExpired" : "Sua sessão expirou, faça o login novamente.", |
28 | "password.email.label" : "Endereço de email", | 28 | "password.email.label" : "Endereço de email", |
@@ -36,20 +36,24 @@ | |||
36 | "pricing.link.skipPayment" : "Eu não quero apoiar o desenvolvimento do Franz.", | 36 | "pricing.link.skipPayment" : "Eu não quero apoiar o desenvolvimento do Franz.", |
37 | "pricing.submit.label" : "Eu quero apoiar o desenvolvimento do Franz", | 37 | "pricing.submit.label" : "Eu quero apoiar o desenvolvimento do Franz", |
38 | "pricing.support.label" : "Selecione seu plano de apoio", | 38 | "pricing.support.label" : "Selecione seu plano de apoio", |
39 | "service.crashHandler.action" : "Reload {name}", | 39 | "service.crashHandler.action" : "Recarregar {name}", |
40 | "service.crashHandler.autoReload" : "Trying to automatically restore {name} in {seconds} seconds", | 40 | "service.crashHandler.autoReload" : "Tentando restabelecer {name} automaticamente em {seconds} segundos", |
41 | "service.crashHandler.headline" : "Oh no!", | 41 | "service.crashHandler.headline" : "Ah não!", |
42 | "service.crashHandler.text" : "{name} has caused an error.", | 42 | "service.crashHandler.text" : "{name} causou um erro.", |
43 | "service.disabledHandler.action" : "Enable {name}", | 43 | "service.disabledHandler.action" : "Habilitar {name}", |
44 | "service.disabledHandler.headline" : "{name} is disabled", | 44 | "service.disabledHandler.headline" : "{name} está desabilitado", |
45 | "services.getStarted" : "Começar", | 45 | "services.getStarted" : "Começar", |
46 | "services.welcome" : "Bem-vindo ao Franz", | 46 | "services.welcome" : "Bem-vindo ao Franz", |
47 | "settings.account.account.editButton" : "Editar conta", | 47 | "settings.account.account.editButton" : "Editar conta", |
48 | "settings.account.accountType.basic" : "Conta Básica", | 48 | "settings.account.accountType.basic" : "Conta Básica", |
49 | "settings.account.accountType.premium" : "Conta Apoiador Premium", | 49 | "settings.account.accountType.premium" : "Conta Apoiador Premium", |
50 | "settings.account.buttonSave" : "Atualizar perfil", | 50 | "settings.account.buttonSave" : "Atualizar perfil", |
51 | "settings.account.deleteAccount" : "Excluir conta", | ||
52 | "settings.account.deleteEmailSent" : "Você recebeu um e-mail com um link para confirmar a exclusão da sua conta. Sua conta e os dados não podem ser restaurados!", | ||
53 | "settings.account.deleteInfo" : "Se você não precisar de sua conta Franz por mais tempo, você pode excluir sua conta e todos os dados relacionados aqui.", | ||
51 | "settings.account.headline" : "Conta", | 54 | "settings.account.headline" : "Conta", |
52 | "settings.account.headlineAccount" : "Informações de conta", | 55 | "settings.account.headlineAccount" : "Informações de conta", |
56 | "settings.account.headlineDangerZone" : "Zona de Perigo", | ||
53 | "settings.account.headlineInvoices" : "Recibos", | 57 | "settings.account.headlineInvoices" : "Recibos", |
54 | "settings.account.headlinePassword" : "Mudar senha", | 58 | "settings.account.headlinePassword" : "Mudar senha", |
55 | "settings.account.headlineProfile" : "Atualizar perfil", | 59 | "settings.account.headlineProfile" : "Atualizar perfil", |
@@ -64,26 +68,30 @@ | |||
64 | "settings.account.successInfo" : "Suas mudanças foram salvas", | 68 | "settings.account.successInfo" : "Suas mudanças foram salvas", |
65 | "settings.account.tryReloadUserInfoRequest" : "Tente novamente", | 69 | "settings.account.tryReloadUserInfoRequest" : "Tente novamente", |
66 | "settings.account.userInfoRequestFailed" : "Não foi possÃvel carregar as informações do usuário", | 70 | "settings.account.userInfoRequestFailed" : "Não foi possÃvel carregar as informações do usuário", |
71 | "settings.app.buttonClearAllCache" : "Limpar cache", | ||
67 | "settings.app.buttonInstallUpdate" : "Reiniciar & instalar atualização", | 72 | "settings.app.buttonInstallUpdate" : "Reiniciar & instalar atualização", |
68 | "settings.app.buttonSearchForUpdate" : "Verificar por atualizações", | 73 | "settings.app.buttonSearchForUpdate" : "Verificar por atualizações", |
74 | "settings.app.cacheInfo" : "O cache do franz está usando atualmente {size} do espaço em disco.", | ||
69 | "settings.app.currentVersion" : "Versão atual:", | 75 | "settings.app.currentVersion" : "Versão atual:", |
70 | "settings.app.form.autoLaunchInBackground" : "Abrir no fundo", | 76 | "settings.app.form.autoLaunchInBackground" : "Abrir no fundo", |
71 | "settings.app.form.autoLaunchOnStart" : "Abrir o Franz iniciar o sistema", | 77 | "settings.app.form.autoLaunchOnStart" : "Abrir o Franz ao iniciar o sistema", |
72 | "settings.app.form.beta" : "Incluir versões beta", | 78 | "settings.app.form.beta" : "Incluir versões beta", |
73 | "settings.app.form.enableSpellchecking" : "Enable spell checking", | 79 | "settings.app.form.enableSpellchecking" : "Habilitar correção ortográfica", |
74 | "settings.app.form.enableSystemTray" : "Mostrar o Franz na bandeja do sistema", | 80 | "settings.app.form.enableSystemTray" : "Mostrar o Franz na bandeja do sistema", |
75 | "settings.app.form.language" : "Idioma", | 81 | "settings.app.form.language" : "Idioma", |
76 | "settings.app.form.minimizeToSystemTray" : "Minimizar o Franz para a bandeja do sistema", | 82 | "settings.app.form.minimizeToSystemTray" : "Minimizar o Franz para a bandeja do sistema", |
77 | "settings.app.form.runInBackground" : "Manter o Franz no fundo quando fechar a janela", | 83 | "settings.app.form.runInBackground" : "Manter o Franz no fundo quando fechar a janela", |
78 | "settings.app.form.showDisabledServices" : "Display disabled services tabs", | 84 | "settings.app.form.showDisabledServices" : "Mostrar abas de serviços desabilitados", |
85 | "settings.app.form.showMessagesBadgesWhenMuted" : "Mostrar o Ãcone da mensagem não lida quando as notificações estão desativadas", | ||
79 | "settings.app.headline" : "Ajustes", | 86 | "settings.app.headline" : "Ajustes", |
80 | "settings.app.headlineAdvanced" : "Advanced", | 87 | "settings.app.headlineAdvanced" : "Avançado", |
81 | "settings.app.headlineAppearance" : "Appearance", | 88 | "settings.app.headlineAppearance" : "Aparência", |
82 | "settings.app.headlineGeneral" : "Geral", | 89 | "settings.app.headlineGeneral" : "Geral", |
83 | "settings.app.headlineLanguage" : "Idioma", | 90 | "settings.app.headlineLanguage" : "Idioma", |
84 | "settings.app.headlineUpdates" : "Atualizações", | 91 | "settings.app.headlineUpdates" : "Atualizações", |
85 | "settings.app.restartRequired" : "Changes require restart", | 92 | "settings.app.restartRequired" : "Reinicialização necessária", |
86 | "settings.app.translationHelp" : "Help us to translate Franz into your language.", | 93 | "settings.app.subheadlineCache" : "Cache", |
94 | "settings.app.translationHelp" : "Ajude-nos a traduzir o Franz para a sua lÃngua.", | ||
87 | "settings.app.updateStatusAvailable" : "Atualização disponÃvel, fazendo download...", | 95 | "settings.app.updateStatusAvailable" : "Atualização disponÃvel, fazendo download...", |
88 | "settings.app.updateStatusSearching" : "Em busca de atualização", | 96 | "settings.app.updateStatusSearching" : "Em busca de atualização", |
89 | "settings.app.updateStatusUpToDate" : "Você está usando a última versão do Franz", | 97 | "settings.app.updateStatusUpToDate" : "Você está usando a última versão do Franz", |
@@ -95,10 +103,11 @@ | |||
95 | "settings.recipes.all" : "Todos serviços", | 103 | "settings.recipes.all" : "Todos serviços", |
96 | "settings.recipes.dev" : "Desenvolvimento ", | 104 | "settings.recipes.dev" : "Desenvolvimento ", |
97 | "settings.recipes.headline" : "Serviços disponÃveis", | 105 | "settings.recipes.headline" : "Serviços disponÃveis", |
98 | "settings.recipes.missingService" : "Missing a service?", | 106 | "settings.recipes.missingService" : "Sentiu falta de um serviço?", |
99 | "settings.recipes.mostPopular" : "Mais populares", | 107 | "settings.recipes.mostPopular" : "Mais populares", |
100 | "settings.recipes.nothingFound" : "Desculpe, mas nenhum serviço corresponde a sua pesquisa.", | 108 | "settings.recipes.nothingFound" : "Desculpe, mas nenhum serviço corresponde a sua pesquisa.", |
101 | "settings.recipes.servicesSuccessfulAddedInfo" : "Serviço adicionado com sucesso", | 109 | "settings.recipes.servicesSuccessfulAddedInfo" : "Serviço adicionado com sucesso", |
110 | "settings.searchService" : "Serviço de pesquisa", | ||
102 | "settings.service.error.goBack" : "Voltar aos serviços", | 111 | "settings.service.error.goBack" : "Voltar aos serviços", |
103 | "settings.service.error.headline" : "Erro", | 112 | "settings.service.error.headline" : "Erro", |
104 | "settings.service.error.message" : "Não foi possÃvel carregar a receita de serviço.", | 113 | "settings.service.error.message" : "Não foi possÃvel carregar a receita de serviço.", |
@@ -110,25 +119,33 @@ | |||
110 | "settings.service.form.customUrlValidationError" : "Não foi possÃvel validar o servidor personalizado {name}.", | 119 | "settings.service.form.customUrlValidationError" : "Não foi possÃvel validar o servidor personalizado {name}.", |
111 | "settings.service.form.deleteButton" : "Apagar serviço", | 120 | "settings.service.form.deleteButton" : "Apagar serviço", |
112 | "settings.service.form.editServiceHeadline" : "Editar {name}", | 121 | "settings.service.form.editServiceHeadline" : "Editar {name}", |
113 | "settings.service.form.enableAudio" : "Enable audio", | 122 | "settings.service.form.enableAudio" : "Habilitar áudio", |
114 | "settings.service.form.enableNotification" : "Ativar notificações", | 123 | "settings.service.form.enableBadge" : "Mostrar aviso de mensagens não lidas", |
115 | "settings.service.form.enableService" : "Ativar serviço", | 124 | "settings.service.form.enableNotification" : "Habilitar notificações", |
125 | "settings.service.form.enableService" : "Habilitar serviço", | ||
126 | "settings.service.form.headlineBadges" : "Mensagens não lidas", | ||
127 | "settings.service.form.headlineGeneral" : "Geral", | ||
128 | "settings.service.form.headlineNotifications" : "Notificações", | ||
129 | "settings.service.form.icon" : "Ãcone personalizado", | ||
130 | "settings.service.form.iconDelete" : "Excluir", | ||
131 | "settings.service.form.iconUpload" : "Solte sua imagem, ou clique aqui", | ||
116 | "settings.service.form.indirectMessageInfo" : "Você será notificado por todas as mensagens em um canal, não apenas @usuário, @channel, @here, ...", | 132 | "settings.service.form.indirectMessageInfo" : "Você será notificado por todas as mensagens em um canal, não apenas @usuário, @channel, @here, ...", |
117 | "settings.service.form.indirectMessages" : "Mostrar avisos para todas as mensagens", | 133 | "settings.service.form.indirectMessages" : "Mostrar avisos para todas as mensagens", |
118 | "settings.service.form.isMutedInfo" : "When disabled, all notification sounds and audio playback are muted", | 134 | "settings.service.form.isMutedInfo" : "Quando desabilitado, todas as notificações sonoras e áudios são nulas", |
119 | "settings.service.form.name" : "Nome", | 135 | "settings.service.form.name" : "Nome", |
120 | "settings.service.form.saveButton" : "Salvar serviço", | 136 | "settings.service.form.saveButton" : "Salvar serviço", |
121 | "settings.service.form.tabHosted" : "Hospedado", | 137 | "settings.service.form.tabHosted" : "Hospedado", |
122 | "settings.service.form.tabOnPremise" : "Auto-hospedado âï¸", | 138 | "settings.service.form.tabOnPremise" : "Auto-hospedado âï¸", |
123 | "settings.service.form.team" : "Equipe", | 139 | "settings.service.form.team" : "Equipe", |
140 | "settings.service.form.useHostedService" : "Use o serviço {nome} hospedado.", | ||
124 | "settings.service.form.yourServices" : "Seus serviços", | 141 | "settings.service.form.yourServices" : "Seus serviços", |
125 | "settings.services.deletedInfo" : "Serviço apagado", | 142 | "settings.services.deletedInfo" : "Serviço apagado", |
126 | "settings.services.discoverServices" : "Descobrir serviços", | 143 | "settings.services.discoverServices" : "Descobrir serviços", |
127 | "settings.services.headline" : "Seus serviços", | 144 | "settings.services.headline" : "Seus serviços", |
128 | "settings.services.noServicesAdded" : "Você ainda não adicionou nenhum serviço.", | 145 | "settings.services.noServicesAdded" : "Você ainda não adicionou nenhum serviço.", |
129 | "settings.services.tooltip.isDisabled" : "Serviço desativado", | 146 | "settings.services.tooltip.isDisabled" : "Serviço desabilitado", |
130 | "settings.services.tooltip.isMuted" : "All sounds are muted", | 147 | "settings.services.tooltip.isMuted" : "Sem som", |
131 | "settings.services.tooltip.notificationsDisabled" : "Notificações desativadas", | 148 | "settings.services.tooltip.notificationsDisabled" : "Notificações desabilitadas", |
132 | "settings.services.updatedInfo" : "Suas mudanças foram salvas", | 149 | "settings.services.updatedInfo" : "Suas mudanças foram salvas", |
133 | "settings.user.form.accountType.company" : "Empresa", | 150 | "settings.user.form.accountType.company" : "Empresa", |
134 | "settings.user.form.accountType.individual" : "Individual", | 151 | "settings.user.form.accountType.individual" : "Individual", |
@@ -140,9 +157,9 @@ | |||
140 | "settings.user.form.lastname" : "Sobrenome", | 157 | "settings.user.form.lastname" : "Sobrenome", |
141 | "settings.user.form.newPassword" : "Nova senha", | 158 | "settings.user.form.newPassword" : "Nova senha", |
142 | "sidebar.addNewService" : "Adicionar novo serviço", | 159 | "sidebar.addNewService" : "Adicionar novo serviço", |
143 | "sidebar.mute" : "Disable audio", | 160 | "sidebar.muteApp" : "Desativar notificações e áudio", |
144 | "sidebar.settings" : "Ajustes", | 161 | "sidebar.settings" : "Ajustes", |
145 | "sidebar.unmute" : "Enable audio", | 162 | "sidebar.unmuteApp" : "Ativar notificações e áudio", |
146 | "signup.company.label" : "Empresa", | 163 | "signup.company.label" : "Empresa", |
147 | "signup.email.label" : "Endereço de email", | 164 | "signup.email.label" : "Endereço de email", |
148 | "signup.emailDuplicate" : "Um usuário com esta conta já existe", | 165 | "signup.emailDuplicate" : "Um usuário com esta conta já existe", |
@@ -155,7 +172,7 @@ | |||
155 | "signup.link.login" : "Já tem uma conta. Fazer login?", | 172 | "signup.link.login" : "Já tem uma conta. Fazer login?", |
156 | "signup.password.label" : "Senha", | 173 | "signup.password.label" : "Senha", |
157 | "signup.submit.label" : "Criar conta", | 174 | "signup.submit.label" : "Criar conta", |
158 | "subscription.euTaxInfo" : "EU residents: local sales tax may apply", | 175 | "subscription.euTaxInfo" : "Residentes na União Européia: taxas locais serão aplicadas", |
159 | "subscription.features.ads" : "Sem anúncios, sempre!", | 176 | "subscription.features.ads" : "Sem anúncios, sempre!", |
160 | "subscription.features.comingSoon" : "em breve", | 177 | "subscription.features.comingSoon" : "em breve", |
161 | "subscription.features.customServices" : "Serviços privados para você e sua equipe", | 178 | "subscription.features.customServices" : "Serviços privados para você e sua equipe", |
@@ -178,13 +195,13 @@ | |||
178 | "subscriptionPopup.buttonCancel" : "Cancelar", | 195 | "subscriptionPopup.buttonCancel" : "Cancelar", |
179 | "subscriptionPopup.buttonDone" : "Feito", | 196 | "subscriptionPopup.buttonDone" : "Feito", |
180 | "tabs.item.deleteService" : "Apagar serviço", | 197 | "tabs.item.deleteService" : "Apagar serviço", |
181 | "tabs.item.disableAudio" : "Disable audio", | 198 | "tabs.item.disableAudio" : "Desabilitar áudio", |
182 | "tabs.item.disableNotifications" : "Desativar notificações", | 199 | "tabs.item.disableNotifications" : "Desabilitar notificações", |
183 | "tabs.item.disableService" : "Desativar serviço", | 200 | "tabs.item.disableService" : "Desabilitar serviço", |
184 | "tabs.item.edit" : "Editar", | 201 | "tabs.item.edit" : "Editar", |
185 | "tabs.item.enableAudio" : "Enable audio", | 202 | "tabs.item.enableAudio" : "Habilitar áudio", |
186 | "tabs.item.enableNotification" : "Ativar notificações", | 203 | "tabs.item.enableNotification" : "Habilitar notificações", |
187 | "tabs.item.enableService" : "Ativar serviço", | 204 | "tabs.item.enableService" : "Habilitar o serviço", |
188 | "tabs.item.reload" : "Recarregar", | 205 | "tabs.item.reload" : "Recarregar", |
189 | "welcome.loginButton" : "Fazer login na sua conta", | 206 | "welcome.loginButton" : "Fazer login na sua conta", |
190 | "welcome.signupButton" : "Criar uma conta grátis", | 207 | "welcome.signupButton" : "Criar uma conta grátis", |
diff --git a/src/i18n/locales/pt.json b/src/i18n/locales/pt.json index dc776c1ad..b8aec56a1 100644 --- a/src/i18n/locales/pt.json +++ b/src/i18n/locales/pt.json | |||
@@ -3,9 +3,9 @@ | |||
3 | "global.notConnectedToTheInternet" : "Não estás conectado à internet.", | 3 | "global.notConnectedToTheInternet" : "Não estás conectado à internet.", |
4 | "import.headline" : "Importar os teus 4 serviços Franz", | 4 | "import.headline" : "Importar os teus 4 serviços Franz", |
5 | "import.notSupportedHeadline" : "Os serviços não são suportados no Franz 5", | 5 | "import.notSupportedHeadline" : "Os serviços não são suportados no Franz 5", |
6 | "import.skip.label" : "Quero adicionar os serviços manualmente", | 6 | "import.skip.label" : "Quero adicionar serviços manualmente", |
7 | "import.submit.label" : "Importar serviços", | 7 | "import.submit.label" : "Importar serviços", |
8 | "infobar.buttonChangelog" : "What is new?", | 8 | "infobar.buttonChangelog" : "Novidades?", |
9 | "infobar.buttonInstallUpdate" : "Reiniciar & Instalar Atualizações", | 9 | "infobar.buttonInstallUpdate" : "Reiniciar & Instalar Atualizações", |
10 | "infobar.buttonReloadServices" : "Recarregar serviços", | 10 | "infobar.buttonReloadServices" : "Recarregar serviços", |
11 | "infobar.requiredRequestsFailed" : "Não foi possivel carregar os serviços e informações do utilizador", | 11 | "infobar.requiredRequestsFailed" : "Não foi possivel carregar os serviços e informações do utilizador", |
@@ -36,20 +36,24 @@ | |||
36 | "pricing.link.skipPayment" : "Não quero ajudar no desenvolvimento do Franz", | 36 | "pricing.link.skipPayment" : "Não quero ajudar no desenvolvimento do Franz", |
37 | "pricing.submit.label" : "Quero ajudar o desenvolvimento do Franz", | 37 | "pricing.submit.label" : "Quero ajudar o desenvolvimento do Franz", |
38 | "pricing.support.label" : "Seleciona o teu plano", | 38 | "pricing.support.label" : "Seleciona o teu plano", |
39 | "service.crashHandler.action" : "Reload {name}", | 39 | "service.crashHandler.action" : "Actualizar", |
40 | "service.crashHandler.autoReload" : "Trying to automatically restore {name} in {seconds} seconds", | 40 | "service.crashHandler.autoReload" : "A tentar restaurar automaticamente {name} em {seconds} seconds", |
41 | "service.crashHandler.headline" : "Oh no!", | 41 | "service.crashHandler.headline" : "Oh não!", |
42 | "service.crashHandler.text" : "{name} has caused an error.", | 42 | "service.crashHandler.text" : "{name} causou um erro.", |
43 | "service.disabledHandler.action" : "Enable {name}", | 43 | "service.disabledHandler.action" : "Habilitar {name}", |
44 | "service.disabledHandler.headline" : "{name} is disabled", | 44 | "service.disabledHandler.headline" : "{name} está desactivado", |
45 | "services.getStarted" : "Vamos começar", | 45 | "services.getStarted" : "Vamos começar", |
46 | "services.welcome" : "Bem-vindo ao Franz", | 46 | "services.welcome" : "Bem-vindo ao Franz", |
47 | "settings.account.account.editButton" : "Editar conta", | 47 | "settings.account.account.editButton" : "Editar conta", |
48 | "settings.account.accountType.basic" : "Conta básica", | 48 | "settings.account.accountType.basic" : "Conta básica", |
49 | "settings.account.accountType.premium" : "Conta Premium, a ajudar o Franz", | 49 | "settings.account.accountType.premium" : "Conta Premium, a ajudar o Franz", |
50 | "settings.account.buttonSave" : "Atualizar o perfil", | 50 | "settings.account.buttonSave" : "Atualizar o perfil", |
51 | "settings.account.deleteAccount" : "Apagar conta", | ||
52 | "settings.account.deleteEmailSent" : "Recebeu um email com um endereço para confirmar a remoção da sua conta. A sua conta e dados não são possiveis de restaurar!", | ||
53 | "settings.account.deleteInfo" : "Se não precisa mais da sua conta Franz, pode apagar a conta e os seus dados aqui.", | ||
51 | "settings.account.headline" : "Conta", | 54 | "settings.account.headline" : "Conta", |
52 | "settings.account.headlineAccount" : "Informação da conta", | 55 | "settings.account.headlineAccount" : "Informação da conta", |
56 | "settings.account.headlineDangerZone" : "Zona de perigo", | ||
53 | "settings.account.headlineInvoices" : "Faturas", | 57 | "settings.account.headlineInvoices" : "Faturas", |
54 | "settings.account.headlinePassword" : "Mudar password", | 58 | "settings.account.headlinePassword" : "Mudar password", |
55 | "settings.account.headlineProfile" : "Actualizar o perfil", | 59 | "settings.account.headlineProfile" : "Actualizar o perfil", |
@@ -64,26 +68,30 @@ | |||
64 | "settings.account.successInfo" : "As tuas mudanças foram feitas com sucesso", | 68 | "settings.account.successInfo" : "As tuas mudanças foram feitas com sucesso", |
65 | "settings.account.tryReloadUserInfoRequest" : "Tentar novamente", | 69 | "settings.account.tryReloadUserInfoRequest" : "Tentar novamente", |
66 | "settings.account.userInfoRequestFailed" : "Não é possÃvel carregar a informação do utilizador.", | 70 | "settings.account.userInfoRequestFailed" : "Não é possÃvel carregar a informação do utilizador.", |
71 | "settings.app.buttonClearAllCache" : "Clear cache", | ||
67 | "settings.app.buttonInstallUpdate" : "Reiniciar & Instalar Atualizações", | 72 | "settings.app.buttonInstallUpdate" : "Reiniciar & Instalar Atualizações", |
68 | "settings.app.buttonSearchForUpdate" : "Procurar por atualizações", | 73 | "settings.app.buttonSearchForUpdate" : "Procurar por atualizações", |
74 | "settings.app.cacheInfo" : "Franz cache is currently using {size} of disk space.", | ||
69 | "settings.app.currentVersion" : "Versão atual", | 75 | "settings.app.currentVersion" : "Versão atual", |
70 | "settings.app.form.autoLaunchInBackground" : "Abrir em segundo plano", | 76 | "settings.app.form.autoLaunchInBackground" : "Abrir em segundo plano", |
71 | "settings.app.form.autoLaunchOnStart" : "Inicar o Franz quando inciar o computador", | 77 | "settings.app.form.autoLaunchOnStart" : "Inicar o Franz quando inciar o computador", |
72 | "settings.app.form.beta" : "Incluir versões instáveis (beta)", | 78 | "settings.app.form.beta" : "Incluir versões instáveis (beta)", |
73 | "settings.app.form.enableSpellchecking" : "Enable spell checking", | 79 | "settings.app.form.enableSpellchecking" : "Ativar verificação ortográfica", |
74 | "settings.app.form.enableSystemTray" : "Mostrar o Franz na bandeja do sistema", | 80 | "settings.app.form.enableSystemTray" : "Mostrar o Franz na bandeja do sistema", |
75 | "settings.app.form.language" : "Idioma:", | 81 | "settings.app.form.language" : "Idioma:", |
76 | "settings.app.form.minimizeToSystemTray" : "Minimizar o Franz para a bandeja do sistema", | 82 | "settings.app.form.minimizeToSystemTray" : "Minimizar o Franz para a bandeja do sistema", |
77 | "settings.app.form.runInBackground" : "Manter o Franz em segundo plano ao fechar a janela", | 83 | "settings.app.form.runInBackground" : "Manter o Franz em segundo plano ao fechar a janela", |
78 | "settings.app.form.showDisabledServices" : "Display disabled services tabs", | 84 | "settings.app.form.showDisabledServices" : "Apresentar separadores de serviços desactivados", |
85 | "settings.app.form.showMessagesBadgesWhenMuted" : "Apresentar icon com o número de mensagens não lidas quando as notificações estão desactivadas", | ||
79 | "settings.app.headline" : "Definições", | 86 | "settings.app.headline" : "Definições", |
80 | "settings.app.headlineAdvanced" : "Advanced", | 87 | "settings.app.headlineAdvanced" : "Avançado", |
81 | "settings.app.headlineAppearance" : "Appearance", | 88 | "settings.app.headlineAppearance" : "Aparência", |
82 | "settings.app.headlineGeneral" : "Geral", | 89 | "settings.app.headlineGeneral" : "Geral", |
83 | "settings.app.headlineLanguage" : "Idioma:", | 90 | "settings.app.headlineLanguage" : "Idioma:", |
84 | "settings.app.headlineUpdates" : "Atualizações", | 91 | "settings.app.headlineUpdates" : "Atualizações", |
85 | "settings.app.restartRequired" : "Changes require restart", | 92 | "settings.app.restartRequired" : "Alterações requerem reiniciar", |
86 | "settings.app.translationHelp" : "Help us to translate Franz into your language.", | 93 | "settings.app.subheadlineCache" : "Cache", |
94 | "settings.app.translationHelp" : "Ajude a traduzir a Franz para a sua lÃngua. ", | ||
87 | "settings.app.updateStatusAvailable" : "Atualização disponivel, a descarregar...", | 95 | "settings.app.updateStatusAvailable" : "Atualização disponivel, a descarregar...", |
88 | "settings.app.updateStatusSearching" : "Está a procurar atualizações", | 96 | "settings.app.updateStatusSearching" : "Está a procurar atualizações", |
89 | "settings.app.updateStatusUpToDate" : "Estás a usar a última versão do Franz", | 97 | "settings.app.updateStatusUpToDate" : "Estás a usar a última versão do Franz", |
@@ -95,10 +103,11 @@ | |||
95 | "settings.recipes.all" : "Todos os serviços", | 103 | "settings.recipes.all" : "Todos os serviços", |
96 | "settings.recipes.dev" : "Desenvolvimento", | 104 | "settings.recipes.dev" : "Desenvolvimento", |
97 | "settings.recipes.headline" : "Serviços disponÃveis", | 105 | "settings.recipes.headline" : "Serviços disponÃveis", |
98 | "settings.recipes.missingService" : "Missing a service?", | 106 | "settings.recipes.missingService" : "A faltar um serviço?", |
99 | "settings.recipes.mostPopular" : "Os mais populares", | 107 | "settings.recipes.mostPopular" : "Os mais populares", |
100 | "settings.recipes.nothingFound" : "Desculpa, mas não existe nenhum serviço com este termo.", | 108 | "settings.recipes.nothingFound" : "Desculpa, mas não existe nenhum serviço com este termo.", |
101 | "settings.recipes.servicesSuccessfulAddedInfo" : "Serviço adicionado", | 109 | "settings.recipes.servicesSuccessfulAddedInfo" : "Serviço adicionado", |
110 | "settings.searchService" : "Search service", | ||
102 | "settings.service.error.goBack" : "Voltar aos serviços", | 111 | "settings.service.error.goBack" : "Voltar aos serviços", |
103 | "settings.service.error.headline" : "Erro", | 112 | "settings.service.error.headline" : "Erro", |
104 | "settings.service.error.message" : "Não foi possÃvel carregar a receita do serviço.", | 113 | "settings.service.error.message" : "Não foi possÃvel carregar a receita do serviço.", |
@@ -110,24 +119,32 @@ | |||
110 | "settings.service.form.customUrlValidationError" : "Não foi possÃvel validar o servidor {nome}.", | 119 | "settings.service.form.customUrlValidationError" : "Não foi possÃvel validar o servidor {nome}.", |
111 | "settings.service.form.deleteButton" : "Apagar serviço", | 120 | "settings.service.form.deleteButton" : "Apagar serviço", |
112 | "settings.service.form.editServiceHeadline" : "Editar {name}", | 121 | "settings.service.form.editServiceHeadline" : "Editar {name}", |
113 | "settings.service.form.enableAudio" : "Enable audio", | 122 | "settings.service.form.enableAudio" : "Activar áudio", |
123 | "settings.service.form.enableBadge" : "Show unread message badges", | ||
114 | "settings.service.form.enableNotification" : "Ativar notificações", | 124 | "settings.service.form.enableNotification" : "Ativar notificações", |
115 | "settings.service.form.enableService" : "Ativar serviço", | 125 | "settings.service.form.enableService" : "Ativar serviço", |
126 | "settings.service.form.headlineBadges" : "Unread message badges", | ||
127 | "settings.service.form.headlineGeneral" : "Geral", | ||
128 | "settings.service.form.headlineNotifications" : "Notifications", | ||
129 | "settings.service.form.icon" : "Custom icon", | ||
130 | "settings.service.form.iconDelete" : "Delete", | ||
131 | "settings.service.form.iconUpload" : "Drop your image, or click here", | ||
116 | "settings.service.form.indirectMessageInfo" : "Serás notificado sobre todas as novas mensagens de um canal, não só @username, @channel, @here, ...", | 132 | "settings.service.form.indirectMessageInfo" : "Serás notificado sobre todas as novas mensagens de um canal, não só @username, @channel, @here, ...", |
117 | "settings.service.form.indirectMessages" : "Mostrar o emblema da mensagem para todas as novas mensagens", | 133 | "settings.service.form.indirectMessages" : "Mostrar o emblema da mensagem para todas as novas mensagens", |
118 | "settings.service.form.isMutedInfo" : "When disabled, all notification sounds and audio playback are muted", | 134 | "settings.service.form.isMutedInfo" : "Quando desactivado, todo o audio das notificações estará em silêncio", |
119 | "settings.service.form.name" : "Nome", | 135 | "settings.service.form.name" : "Nome", |
120 | "settings.service.form.saveButton" : "Guardar serviço", | 136 | "settings.service.form.saveButton" : "Guardar serviço", |
121 | "settings.service.form.tabHosted" : "Hospedado", | 137 | "settings.service.form.tabHosted" : "Hospedado", |
122 | "settings.service.form.tabOnPremise" : "Hospedado por si próprio âï¸", | 138 | "settings.service.form.tabOnPremise" : "Hospedado por si próprio âï¸", |
123 | "settings.service.form.team" : "Equipa", | 139 | "settings.service.form.team" : "Equipa", |
140 | "settings.service.form.useHostedService" : "Use the hosted {name} service.", | ||
124 | "settings.service.form.yourServices" : "Os teus serviços", | 141 | "settings.service.form.yourServices" : "Os teus serviços", |
125 | "settings.services.deletedInfo" : "O serviço foi apagado", | 142 | "settings.services.deletedInfo" : "O serviço foi apagado", |
126 | "settings.services.discoverServices" : "Descobrir serviços", | 143 | "settings.services.discoverServices" : "Descobrir serviços", |
127 | "settings.services.headline" : "Os teus serviços", | 144 | "settings.services.headline" : "Os teus serviços", |
128 | "settings.services.noServicesAdded" : "Ainda não adicionaste nenhum serviço.", | 145 | "settings.services.noServicesAdded" : "Ainda não adicionaste nenhum serviço.", |
129 | "settings.services.tooltip.isDisabled" : "O serviço está desativado", | 146 | "settings.services.tooltip.isDisabled" : "O serviço está desativado", |
130 | "settings.services.tooltip.isMuted" : "All sounds are muted", | 147 | "settings.services.tooltip.isMuted" : "Todos os sons estão silenciados", |
131 | "settings.services.tooltip.notificationsDisabled" : "As notificações estão desabilitadas", | 148 | "settings.services.tooltip.notificationsDisabled" : "As notificações estão desabilitadas", |
132 | "settings.services.updatedInfo" : "As alterações foram guardadas", | 149 | "settings.services.updatedInfo" : "As alterações foram guardadas", |
133 | "settings.user.form.accountType.company" : "Empresa", | 150 | "settings.user.form.accountType.company" : "Empresa", |
@@ -136,26 +153,26 @@ | |||
136 | "settings.user.form.accountType.non-profit" : "Sem fins lucrativos", | 153 | "settings.user.form.accountType.non-profit" : "Sem fins lucrativos", |
137 | "settings.user.form.currentPassword" : "Password atual", | 154 | "settings.user.form.currentPassword" : "Password atual", |
138 | "settings.user.form.email" : "Email", | 155 | "settings.user.form.email" : "Email", |
139 | "settings.user.form.firstname" : "First Name", | 156 | "settings.user.form.firstname" : "Primeiro Nome", |
140 | "settings.user.form.lastname" : "Last Name", | 157 | "settings.user.form.lastname" : "Último Nome", |
141 | "settings.user.form.newPassword" : "Nova password", | 158 | "settings.user.form.newPassword" : "Nova password", |
142 | "sidebar.addNewService" : "Adicionar um novo serviço", | 159 | "sidebar.addNewService" : "Adicionar um novo serviço", |
143 | "sidebar.mute" : "Disable audio", | 160 | "sidebar.muteApp" : "Desactivar notificações e audio", |
144 | "sidebar.settings" : "Definições", | 161 | "sidebar.settings" : "Definições", |
145 | "sidebar.unmute" : "Enable audio", | 162 | "sidebar.unmuteApp" : "Activar notificações e audio", |
146 | "signup.company.label" : "Empresa", | 163 | "signup.company.label" : "Empresa", |
147 | "signup.email.label" : "Endereço de e-mail", | 164 | "signup.email.label" : "Endereço de e-mail", |
148 | "signup.emailDuplicate" : "Uma conta já tem esse email associado", | 165 | "signup.emailDuplicate" : "Uma conta já tem esse email associado", |
149 | "signup.firstname.label" : "First Name", | 166 | "signup.firstname.label" : "Primeiro Nome", |
150 | "signup.headline" : "Iniciar Sessão", | 167 | "signup.headline" : "Iniciar Sessão", |
151 | "signup.lastname.label" : "Last Name", | 168 | "signup.lastname.label" : "Último Nome", |
152 | "signup.legal.info" : "Ao criar uma conta Franz, aceitas", | 169 | "signup.legal.info" : "Ao criar uma conta Franz, aceitas", |
153 | "signup.legal.privacy" : "Declaração de privacidade", | 170 | "signup.legal.privacy" : "Declaração de privacidade", |
154 | "signup.legal.terms" : "Termos de Serviço", | 171 | "signup.legal.terms" : "Termos de Serviço", |
155 | "signup.link.login" : "Já tens uma conta?", | 172 | "signup.link.login" : "Já tens uma conta?", |
156 | "signup.password.label" : "Password", | 173 | "signup.password.label" : "Password", |
157 | "signup.submit.label" : "Criar uma Conta", | 174 | "signup.submit.label" : "Criar uma Conta", |
158 | "subscription.euTaxInfo" : "EU residents: local sales tax may apply", | 175 | "subscription.euTaxInfo" : "Residentes EU: Taxas locais podem ser aplicadas", |
159 | "subscription.features.ads" : "Sem anúncios, para sempre!", | 176 | "subscription.features.ads" : "Sem anúncios, para sempre!", |
160 | "subscription.features.comingSoon" : "Em breve!", | 177 | "subscription.features.comingSoon" : "Em breve!", |
161 | "subscription.features.customServices" : "Serviços privados para ti e para os teus amigos\/colegas", | 178 | "subscription.features.customServices" : "Serviços privados para ti e para os teus amigos\/colegas", |
@@ -178,11 +195,11 @@ | |||
178 | "subscriptionPopup.buttonCancel" : "Cancelar", | 195 | "subscriptionPopup.buttonCancel" : "Cancelar", |
179 | "subscriptionPopup.buttonDone" : "ConcluÃdo", | 196 | "subscriptionPopup.buttonDone" : "ConcluÃdo", |
180 | "tabs.item.deleteService" : "Apagar serviço", | 197 | "tabs.item.deleteService" : "Apagar serviço", |
181 | "tabs.item.disableAudio" : "Disable audio", | 198 | "tabs.item.disableAudio" : "Desactivar audio", |
182 | "tabs.item.disableNotifications" : "Desativar notificações", | 199 | "tabs.item.disableNotifications" : "Desativar notificações", |
183 | "tabs.item.disableService" : "Desativar serviço", | 200 | "tabs.item.disableService" : "Desativar serviço", |
184 | "tabs.item.edit" : "Editar", | 201 | "tabs.item.edit" : "Editar", |
185 | "tabs.item.enableAudio" : "Enable audio", | 202 | "tabs.item.enableAudio" : "Activar áudio", |
186 | "tabs.item.enableNotification" : "Ativar notificações", | 203 | "tabs.item.enableNotification" : "Ativar notificações", |
187 | "tabs.item.enableService" : "Ativar serviço", | 204 | "tabs.item.enableService" : "Ativar serviço", |
188 | "tabs.item.reload" : "Recarregar", | 205 | "tabs.item.reload" : "Recarregar", |
diff --git a/src/i18n/locales/ru.json b/src/i18n/locales/ru.json index 62a8a0f84..8b1e75871 100644 --- a/src/i18n/locales/ru.json +++ b/src/i18n/locales/ru.json | |||
@@ -1,55 +1,59 @@ | |||
1 | { | 1 | { |
2 | "global.api.unhealthy" : "Ðевозможно подключитьÑÑ Ðº ÑервиÑам Franz", | 2 | "global.api.unhealthy" : "Ðевозможно подключитьÑÑ Ðº ÑервиÑам Franz", |
3 | "global.notConnectedToTheInternet" : "Ðет Интернет-ÑоединениÑ", | 3 | "global.notConnectedToTheInternet" : "Ðет Интернет-ÑоединениÑ", |
4 | "import.headline" : "Импортировать ÑервиÑÑ‹ Franz 4", | 4 | "import.headline" : "Импортировать ÑервиÑÑ‹ из Franz 4", |
5 | "import.notSupportedHeadline" : "СервиÑÑ‹ еще не поддержаны в Franz 5", | 5 | "import.notSupportedHeadline" : "СервиÑÑ‹ ещё не поддерживаютÑÑ Ð² Franz 5", |
6 | "import.skip.label" : "Я хочу добавить ÑервиÑÑ‹ вручную", | 6 | "import.skip.label" : "Я хочу добавить ÑÐµÑ€Ð²Ð¸Ñ Ð²Ñ€ÑƒÑ‡Ð½ÑƒÑŽ", |
7 | "import.submit.label" : "Импортировать ÑервиÑÑ‹", | 7 | "import.submit.label" : "Импортировать ÑервиÑÑ‹", |
8 | "infobar.buttonChangelog" : "What is new?", | 8 | "infobar.buttonChangelog" : "Что новенького?", |
9 | "infobar.buttonInstallUpdate" : "ПерезапуÑтить и обновить", | 9 | "infobar.buttonInstallUpdate" : "ПерезапуÑтить и обновить", |
10 | "infobar.buttonReloadServices" : "Перезагрузить ÑервиÑÑ‹", | 10 | "infobar.buttonReloadServices" : "Перезагрузить ÑервиÑÑ‹", |
11 | "infobar.requiredRequestsFailed" : "Ðевозможно загрузить ÑервиÑÑ‹ и информацию пользователÑ", | 11 | "infobar.requiredRequestsFailed" : "Ðевозможно загрузить ÑервиÑÑ‹ и информацию пользователÑ", |
12 | "infobar.servicesUpdated" : "Ваши ÑервиÑÑ‹ были обновлены.", | 12 | "infobar.servicesUpdated" : "Ваши ÑервиÑÑ‹ были обновлены.", |
13 | "infobar.updateAvailable" : "ДоÑтупно обновление Franz.", | 13 | "infobar.updateAvailable" : "ДоÑтупно обновление Franz.", |
14 | "invite.email.label" : "Email адреÑ", | 14 | "invite.email.label" : "Email адреÑ", |
15 | "invite.headline.friends" : "ПриглаÑите 3Ñ… друзей или коллег", | 15 | "invite.headline.friends" : "ПриглаÑите 3-Ñ… друзей или коллег", |
16 | "invite.name.label" : "ИмÑ", | 16 | "invite.name.label" : "ИмÑ", |
17 | "invite.skip.label" : "Я Ñделаю Ñто позже", | 17 | "invite.skip.label" : "Я Ñделаю Ñто позже", |
18 | "invite.submit.label" : "Ð’Ñ‹Ñлать приглашениÑ", | 18 | "invite.submit.label" : "Ð’Ñ‹Ñлать приглашениÑ", |
19 | "login.email.label" : "Email адреÑ", | 19 | "login.email.label" : "Email", |
20 | "login.headline" : "РегиÑтрациÑ", | 20 | "login.headline" : "Вход", |
21 | "login.invalidCredentials" : "Ðеправильный email или пароль", | 21 | "login.invalidCredentials" : "Ðеправильный email или пароль", |
22 | "login.link.password" : "ВоÑÑтановить пароль", | 22 | "login.link.password" : "ВоÑÑтановить пароль", |
23 | "login.link.signup" : "Создать беÑплатный аккаунт", | 23 | "login.link.signup" : "Создать беÑплатный аккаунт", |
24 | "login.password.label" : "Пароль", | 24 | "login.password.label" : "Пароль", |
25 | "login.serverLogout" : "СеÑÑÐ¸Ñ ÑƒÑтарела, пожалуйÑта, войдите Ñнова.", | 25 | "login.serverLogout" : "СеÑÑÐ¸Ñ ÑƒÑтарела, пожалуйÑта, войдите Ñнова.", |
26 | "login.submit.label" : "РегиÑтрациÑ", | 26 | "login.submit.label" : "Вход", |
27 | "login.tokenExpired" : "СеÑÑÐ¸Ñ ÑƒÑтарела, пожалуйÑта, войдите Ñнова.", | 27 | "login.tokenExpired" : "СеÑÑÐ¸Ñ ÑƒÑтарела, пожалуйÑта, войдите Ñнова.", |
28 | "password.email.label" : "Email адреÑ", | 28 | "password.email.label" : "Email адреÑ", |
29 | "password.headline" : "ВоÑÑтановление паролÑ", | 29 | "password.headline" : "ВоÑÑтановление паролÑ", |
30 | "password.link.login" : "Вход", | 30 | "password.link.login" : "Вход", |
31 | "password.link.signup" : "Создать аккаунт", | 31 | "password.link.signup" : "Создать аккаунт", |
32 | "password.noUser" : "Ðе найдено Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ñ Ñ‚Ð°ÐºÐ¸Ð¼ email", | 32 | "password.noUser" : "Ðе найдено Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ñ Ñ‚Ð°ÐºÐ¸Ð¼ email", |
33 | "password.submit.label" : "Отправить", | 33 | "password.submit.label" : "ВоÑÑтановить", |
34 | "password.successInfo" : "Проверьте Ваш email", | 34 | "password.successInfo" : "Проверьте Ваш email", |
35 | "pricing.headline" : "Поддержать Franz", | 35 | "pricing.headline" : "Поддержать Franz", |
36 | "pricing.link.skipPayment" : "Я не хочу поддерживать разработку Franz.", | 36 | "pricing.link.skipPayment" : "Я не хочу поддерживать разработку Franz.", |
37 | "pricing.submit.label" : "Я хочу поддержать разработку Franz", | 37 | "pricing.submit.label" : "Я хочу поддержать разработку Franz", |
38 | "pricing.support.label" : "Выберите план поддержки", | 38 | "pricing.support.label" : "Выберите план поддержки", |
39 | "service.crashHandler.action" : "Reload {name}", | 39 | "service.crashHandler.action" : "Перезагрузить {name}", |
40 | "service.crashHandler.autoReload" : "Trying to automatically restore {name} in {seconds} seconds", | 40 | "service.crashHandler.autoReload" : "ПытаюÑÑŒ автоматичеÑки воÑÑтановить {name} в течение {seconds} Ñекунд", |
41 | "service.crashHandler.headline" : "Oh no!", | 41 | "service.crashHandler.headline" : "О, нет!", |
42 | "service.crashHandler.text" : "{name} has caused an error.", | 42 | "service.crashHandler.text" : "{name} вызвало ошибку.", |
43 | "service.disabledHandler.action" : "Enable {name}", | 43 | "service.disabledHandler.action" : "Включить {name}", |
44 | "service.disabledHandler.headline" : "{name} is disabled", | 44 | "service.disabledHandler.headline" : "{name} выключено", |
45 | "services.getStarted" : "Ðачать работу", | 45 | "services.getStarted" : "Ðачать работу", |
46 | "services.welcome" : "Добро пожаловать во Franz", | 46 | "services.welcome" : "Добро пожаловать во Franz", |
47 | "settings.account.account.editButton" : "Редактировать аккаунт", | 47 | "settings.account.account.editButton" : "Редактировать аккаунт", |
48 | "settings.account.accountType.basic" : "Базовый аккаунт", | 48 | "settings.account.accountType.basic" : "Базовый аккаунт", |
49 | "settings.account.accountType.premium" : "Премиум аккаунт", | 49 | "settings.account.accountType.premium" : "Премиум аккаунт", |
50 | "settings.account.buttonSave" : "Сохранить изменениÑ", | 50 | "settings.account.buttonSave" : "Обновить профиль", |
51 | "settings.account.deleteAccount" : "Удалить аккаунт", | ||
52 | "settings.account.deleteEmailSent" : "Вам выÑлано пиÑьмо Ñ ÑÑылкой Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð°ÐºÐºÐ°ÑƒÐ½Ñ‚Ð°. ПоÑле Ñтого ваш аккаунт и данные не Ñмогут быть воÑÑтановлены!", | ||
53 | "settings.account.deleteInfo" : "ЕÑли вам больше не нужна ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ в Franz, вы можете удалить аккаунт и вÑÑŽ ÑвÑзанную Ñ Ð½ÐµÐ¹ информацию.", | ||
51 | "settings.account.headline" : "Ðккаунт", | 54 | "settings.account.headline" : "Ðккаунт", |
52 | "settings.account.headlineAccount" : "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð°ÐºÐºÐ°ÑƒÐ½Ñ‚Ð°", | 55 | "settings.account.headlineAccount" : "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð°ÐºÐºÐ°ÑƒÐ½Ñ‚Ð°", |
56 | "settings.account.headlineDangerZone" : "ОпаÑÐ½Ð°Ñ Ð—Ð¾Ð½Ð°", | ||
53 | "settings.account.headlineInvoices" : "Счета", | 57 | "settings.account.headlineInvoices" : "Счета", |
54 | "settings.account.headlinePassword" : "Сменить пароль", | 58 | "settings.account.headlinePassword" : "Сменить пароль", |
55 | "settings.account.headlineProfile" : "Обновить профиль", | 59 | "settings.account.headlineProfile" : "Обновить профиль", |
@@ -60,31 +64,35 @@ | |||
60 | "settings.account.mining.active" : "Ð’Ñ‹ выполнÑете {hashes} вычиÑлений в Ñекунду.", | 64 | "settings.account.mining.active" : "Ð’Ñ‹ выполнÑете {hashes} вычиÑлений в Ñекунду.", |
61 | "settings.account.mining.cancel" : "Отменить майнинг", | 65 | "settings.account.mining.cancel" : "Отменить майнинг", |
62 | "settings.account.mining.moreInformation" : "Больше информации", | 66 | "settings.account.mining.moreInformation" : "Больше информации", |
63 | "settings.account.mining.thankyou" : "СпаÑибо за поддержку Franz Вашими процеÑÑорными мощноÑÑ‚Ñми.", | 67 | "settings.account.mining.thankyou" : "Благодарим Ð²Ð°Ñ Ð·Ð° поддержку Franz вашей вычиÑлительной мощноÑтью.", |
64 | "settings.account.successInfo" : "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñохранены", | 68 | "settings.account.successInfo" : "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñохранены", |
65 | "settings.account.tryReloadUserInfoRequest" : "Попробовать Ñнова", | 69 | "settings.account.tryReloadUserInfoRequest" : "Попробовать Ñнова", |
66 | "settings.account.userInfoRequestFailed" : "Ðевозможно загрузить информацию пользователÑ", | 70 | "settings.account.userInfoRequestFailed" : "Ðевозможно загрузить информацию пользователÑ", |
71 | "settings.app.buttonClearAllCache" : "Clear cache", | ||
67 | "settings.app.buttonInstallUpdate" : "ПерезапуÑтить и обновить", | 72 | "settings.app.buttonInstallUpdate" : "ПерезапуÑтить и обновить", |
68 | "settings.app.buttonSearchForUpdate" : "Проверить обновлениÑ", | 73 | "settings.app.buttonSearchForUpdate" : "Проверить обновлениÑ", |
74 | "settings.app.cacheInfo" : "Franz cache is currently using {size} of disk space.", | ||
69 | "settings.app.currentVersion" : "Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ð²ÐµÑ€ÑиÑ:", | 75 | "settings.app.currentVersion" : "Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ð²ÐµÑ€ÑиÑ:", |
70 | "settings.app.form.autoLaunchInBackground" : "Открывать в фоне", | 76 | "settings.app.form.autoLaunchInBackground" : "Открывать в фоне", |
71 | "settings.app.form.autoLaunchOnStart" : "ЗапуÑкать Franz при Ñтарте", | 77 | "settings.app.form.autoLaunchOnStart" : "ЗапуÑкать Franz при Ñтарте", |
72 | "settings.app.form.beta" : "Ð’ÐºÐ»ÑŽÑ‡Ð°Ñ Ð±ÐµÑ‚Ð° верÑии", | 78 | "settings.app.form.beta" : "Ð’ÐºÐ»ÑŽÑ‡Ð°Ñ Ð±ÐµÑ‚Ð° верÑии", |
73 | "settings.app.form.enableSpellchecking" : "Enable spell checking", | 79 | "settings.app.form.enableSpellchecking" : "Включить проверку правопиÑаниÑ", |
74 | "settings.app.form.enableSystemTray" : "Показывать Franz в трее", | 80 | "settings.app.form.enableSystemTray" : "Показывать Franz в ÑиÑтемном трее", |
75 | "settings.app.form.language" : "Язык", | 81 | "settings.app.form.language" : "Язык", |
76 | "settings.app.form.minimizeToSystemTray" : "Сворачивать Franz в трей", | 82 | "settings.app.form.minimizeToSystemTray" : "Сворачивать Franz в ÑиÑтемный трей", |
77 | "settings.app.form.runInBackground" : "ОÑтавлÑÑ‚ÑŒ Franz в фоне при закрытии окна", | 83 | "settings.app.form.runInBackground" : "ОÑтавлÑÑ‚ÑŒ Franz в фоне при закрытии окна", |
78 | "settings.app.form.showDisabledServices" : "Display disabled services tabs", | 84 | "settings.app.form.showDisabledServices" : "Показывать вкладки отключённых Ñлужб", |
85 | "settings.app.form.showMessagesBadgesWhenMuted" : "Показывать значок непрочитанного ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ отключённых уведомлениÑÑ…", | ||
79 | "settings.app.headline" : "ÐаÑтройки", | 86 | "settings.app.headline" : "ÐаÑтройки", |
80 | "settings.app.headlineAdvanced" : "Advanced", | 87 | "settings.app.headlineAdvanced" : "Дополнительно", |
81 | "settings.app.headlineAppearance" : "Appearance", | 88 | "settings.app.headlineAppearance" : "Внешний вид", |
82 | "settings.app.headlineGeneral" : "Общие", | 89 | "settings.app.headlineGeneral" : "Общие", |
83 | "settings.app.headlineLanguage" : "Язык", | 90 | "settings.app.headlineLanguage" : "Язык", |
84 | "settings.app.headlineUpdates" : "ОбновлениÑ", | 91 | "settings.app.headlineUpdates" : "ОбновлениÑ", |
85 | "settings.app.restartRequired" : "Changes require restart", | 92 | "settings.app.restartRequired" : "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ‚Ñ€ÐµÐ±ÑƒÑŽÑ‚ перезагрузки приложениÑ", |
86 | "settings.app.translationHelp" : "Help us to translate Franz into your language.", | 93 | "settings.app.subheadlineCache" : "Cache", |
87 | "settings.app.updateStatusAvailable" : "ДоÑтупно обновление, загрука...", | 94 | "settings.app.translationHelp" : "Помогите нам перевеÑти Franz на ваш Ñзык.", |
95 | "settings.app.updateStatusAvailable" : "ДоÑтупно обновление, идёт загрузка...", | ||
88 | "settings.app.updateStatusSearching" : "ПоиÑк обновлений", | 96 | "settings.app.updateStatusSearching" : "ПоиÑк обновлений", |
89 | "settings.app.updateStatusUpToDate" : "Ð’Ñ‹ иÑпользуете актуальную верÑию Franz", | 97 | "settings.app.updateStatusUpToDate" : "Ð’Ñ‹ иÑпользуете актуальную верÑию Franz", |
90 | "settings.navigation.account" : "Ðккаунт", | 98 | "settings.navigation.account" : "Ðккаунт", |
@@ -95,39 +103,48 @@ | |||
95 | "settings.recipes.all" : "Ð’Ñе ÑервиÑÑ‹", | 103 | "settings.recipes.all" : "Ð’Ñе ÑервиÑÑ‹", |
96 | "settings.recipes.dev" : "Разработка", | 104 | "settings.recipes.dev" : "Разработка", |
97 | "settings.recipes.headline" : "ДоÑтупные ÑервиÑÑ‹", | 105 | "settings.recipes.headline" : "ДоÑтупные ÑервиÑÑ‹", |
98 | "settings.recipes.missingService" : "Missing a service?", | 106 | "settings.recipes.missingService" : "Ðе можете найти Ñлужбу?", |
99 | "settings.recipes.mostPopular" : "ПопулÑрные", | 107 | "settings.recipes.mostPopular" : "ПопулÑрные", |
100 | "settings.recipes.nothingFound" : "Ðичего не найдено по Вашему запроÑу.", | 108 | "settings.recipes.nothingFound" : "Ðичего не найдено по вашему запроÑу.", |
101 | "settings.recipes.servicesSuccessfulAddedInfo" : "Ð¡ÐµÑ€Ð²Ð¸Ñ ÑƒÑпешно добавлен", | 109 | "settings.recipes.servicesSuccessfulAddedInfo" : "Ð¡ÐµÑ€Ð²Ð¸Ñ ÑƒÑпешно добавлен", |
110 | "settings.searchService" : "Search service", | ||
102 | "settings.service.error.goBack" : "ВернутьÑÑ Ðº ÑервиÑам", | 111 | "settings.service.error.goBack" : "ВернутьÑÑ Ðº ÑервиÑам", |
103 | "settings.service.error.headline" : "Ошибка", | 112 | "settings.service.error.headline" : "Ошибка", |
104 | "settings.service.error.message" : "Ðевозможно загрузить рецепт ÑервиÑа.", | 113 | "settings.service.error.message" : "Ðевозможно загрузить рецепт ÑервиÑа.", |
105 | "settings.service.form.addServiceHeadline" : "Добавление {name}", | 114 | "settings.service.form.addServiceHeadline" : "Добавление {name}", |
106 | "settings.service.form.availableServices" : "ДоÑтупные ÑервиÑÑ‹", | 115 | "settings.service.form.availableServices" : "ДоÑтупные ÑервиÑÑ‹", |
107 | "settings.service.form.customUrl" : "ÐÐ´Ñ€ÐµÑ Ñервера", | 116 | "settings.service.form.customUrl" : "ÐÐ´Ñ€ÐµÑ Ñервера", |
108 | "settings.service.form.customUrlPremiumInfo" : "Ð”Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð½Ð¸Ñ ÑервиÑа на Ñвоем хоÑтинге, необходим аккаунт Franz Premium.", | 117 | "settings.service.form.customUrlPremiumInfo" : "Ð”Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑервиÑа на Ñвоем хоÑтинге необходим аккаунт Franz Premium.", |
109 | "settings.service.form.customUrlUpgradeAccount" : "Улучшить аккаунт", | 118 | "settings.service.form.customUrlUpgradeAccount" : "Улучшить аккаунт", |
110 | "settings.service.form.customUrlValidationError" : "Ðевозможно проверить Ñервер {name}.", | 119 | "settings.service.form.customUrlValidationError" : "Ðевозможно проверить Ñервер {name}.", |
111 | "settings.service.form.deleteButton" : "Удалить ÑервиÑ", | 120 | "settings.service.form.deleteButton" : "Удалить ÑервиÑ", |
112 | "settings.service.form.editServiceHeadline" : "Редактирование {name}", | 121 | "settings.service.form.editServiceHeadline" : "Редактирование {name}", |
113 | "settings.service.form.enableAudio" : "Enable audio", | 122 | "settings.service.form.enableAudio" : "Включить звук", |
123 | "settings.service.form.enableBadge" : "Show unread message badges", | ||
114 | "settings.service.form.enableNotification" : "Включить уведомлениÑ", | 124 | "settings.service.form.enableNotification" : "Включить уведомлениÑ", |
115 | "settings.service.form.enableService" : "Включить ÑервиÑ", | 125 | "settings.service.form.enableService" : "Включить ÑервиÑ", |
126 | "settings.service.form.headlineBadges" : "Unread message badges", | ||
127 | "settings.service.form.headlineGeneral" : "Общие", | ||
128 | "settings.service.form.headlineNotifications" : "Notifications", | ||
129 | "settings.service.form.icon" : "Custom icon", | ||
130 | "settings.service.form.iconDelete" : "Delete", | ||
131 | "settings.service.form.iconUpload" : "Drop your image, or click here", | ||
116 | "settings.service.form.indirectMessageInfo" : "Ð’Ñ‹ будете получать ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð²Ñех Ñообщений, не только Ð´Ð»Ñ @username, @channel, @here, ...", | 132 | "settings.service.form.indirectMessageInfo" : "Ð’Ñ‹ будете получать ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð²Ñех Ñообщений, не только Ð´Ð»Ñ @username, @channel, @here, ...", |
117 | "settings.service.form.indirectMessages" : "Показывать значок уведомлений Ð´Ð»Ñ Ð²Ñех новых Ñообщений", | 133 | "settings.service.form.indirectMessages" : "Показывать значок уведомлений Ð´Ð»Ñ Ð²Ñех новых Ñообщений", |
118 | "settings.service.form.isMutedInfo" : "When disabled, all notification sounds and audio playback are muted", | 134 | "settings.service.form.isMutedInfo" : "Когда выключено, вÑе звуковые ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ отключены", |
119 | "settings.service.form.name" : "Ðазвание", | 135 | "settings.service.form.name" : "Ðазвание", |
120 | "settings.service.form.saveButton" : "Сохранить ÑервиÑ", | 136 | "settings.service.form.saveButton" : "Сохранить", |
121 | "settings.service.form.tabHosted" : "Hosted", | 137 | "settings.service.form.tabHosted" : "Размещено", |
122 | "settings.service.form.tabOnPremise" : "Свой хоÑтинг âï¸", | 138 | "settings.service.form.tabOnPremise" : "Свой хоÑтинг âï¸", |
123 | "settings.service.form.team" : "Команда", | 139 | "settings.service.form.team" : "Команда", |
140 | "settings.service.form.useHostedService" : "Use the hosted {name} service.", | ||
124 | "settings.service.form.yourServices" : "Ваши ÑервиÑÑ‹", | 141 | "settings.service.form.yourServices" : "Ваши ÑервиÑÑ‹", |
125 | "settings.services.deletedInfo" : "Ð¡ÐµÑ€Ð²Ð¸Ñ ÑƒÐ´Ð°Ð»ÐµÐ½", | 142 | "settings.services.deletedInfo" : "Ð¡ÐµÑ€Ð²Ð¸Ñ ÑƒÐ´Ð°Ð»ÐµÐ½", |
126 | "settings.services.discoverServices" : "Ðайти ÑервиÑÑ‹", | 143 | "settings.services.discoverServices" : "Ðайти ÑервиÑÑ‹", |
127 | "settings.services.headline" : "Ваши ÑервиÑÑ‹", | 144 | "settings.services.headline" : "Ваши ÑервиÑÑ‹", |
128 | "settings.services.noServicesAdded" : "У Ð’Ð°Ñ Ð¿Ð¾ÐºÐ° нет ÑервиÑов", | 145 | "settings.services.noServicesAdded" : "Ð’Ñ‹ пока не добавили никаких ÑервиÑов.", |
129 | "settings.services.tooltip.isDisabled" : "Ð¡ÐµÑ€Ð²Ð¸Ñ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½", | 146 | "settings.services.tooltip.isDisabled" : "Ð¡ÐµÑ€Ð²Ð¸Ñ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½", |
130 | "settings.services.tooltip.isMuted" : "All sounds are muted", | 147 | "settings.services.tooltip.isMuted" : "Ð’Ñе звуки отключены", |
131 | "settings.services.tooltip.notificationsDisabled" : "Ð£Ð²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½Ñ‹", | 148 | "settings.services.tooltip.notificationsDisabled" : "Ð£Ð²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½Ñ‹", |
132 | "settings.services.updatedInfo" : "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñохранены", | 149 | "settings.services.updatedInfo" : "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñохранены", |
133 | "settings.user.form.accountType.company" : "КомпаниÑ", | 150 | "settings.user.form.accountType.company" : "КомпаниÑ", |
@@ -139,52 +156,52 @@ | |||
139 | "settings.user.form.firstname" : "ИмÑ", | 156 | "settings.user.form.firstname" : "ИмÑ", |
140 | "settings.user.form.lastname" : "ФамилиÑ", | 157 | "settings.user.form.lastname" : "ФамилиÑ", |
141 | "settings.user.form.newPassword" : "Ðовый пароль", | 158 | "settings.user.form.newPassword" : "Ðовый пароль", |
142 | "sidebar.addNewService" : "!!!Add new service", | 159 | "sidebar.addNewService" : "Добавить новый ÑервиÑ", |
143 | "sidebar.mute" : "Disable audio", | 160 | "sidebar.muteApp" : "Отключить ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¸ звук", |
144 | "sidebar.settings" : "ÐаÑтройки", | 161 | "sidebar.settings" : "ÐаÑтройки", |
145 | "sidebar.unmute" : "Enable audio", | 162 | "sidebar.unmuteApp" : "Включить ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¸ звук", |
146 | "signup.company.label" : "ОрганизациÑ", | 163 | "signup.company.label" : "ОрганизациÑ", |
147 | "signup.email.label" : "Email адреÑ", | 164 | "signup.email.label" : "Email адреÑ", |
148 | "signup.emailDuplicate" : "Пользователь Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ email уже ÑущеÑтвует", | 165 | "signup.emailDuplicate" : "Пользователь Ñ Ñ‚Ð°ÐºÐ¸Ð¼ email уже ÑущеÑтвует", |
149 | "signup.firstname.label" : "ИмÑ", | 166 | "signup.firstname.label" : "ИмÑ", |
150 | "signup.headline" : "РегиÑтрациÑ", | 167 | "signup.headline" : "РегиÑтрациÑ", |
151 | "signup.lastname.label" : "ФамилиÑ", | 168 | "signup.lastname.label" : "ФамилиÑ", |
152 | "signup.legal.info" : "Ð¡Ð¾Ð·Ð´Ð°Ð²Ð°Ñ Ð°ÐºÐºÐ°ÑƒÐ½Ñ‚ Franz, Ð’Ñ‹ принимаете", | 169 | "signup.legal.info" : "Ð¡Ð¾Ð·Ð´Ð°Ð²Ð°Ñ Ð°ÐºÐºÐ°ÑƒÐ½Ñ‚ Franz, вы принимаете", |
153 | "signup.legal.privacy" : "Политика конфиденциальноÑти", | 170 | "signup.legal.privacy" : "Политика конфиденциальноÑти", |
154 | "signup.legal.terms" : "УÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ð±ÑлуживаниÑ", | 171 | "signup.legal.terms" : "УÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ð±ÑлуживаниÑ", |
155 | "signup.link.login" : "Уже еÑÑ‚ÑŒ аккаунт, войти?", | 172 | "signup.link.login" : "Уже еÑÑ‚ÑŒ аккаунт, войти?", |
156 | "signup.password.label" : "Пароль", | 173 | "signup.password.label" : "Пароль", |
157 | "signup.submit.label" : "Создать аккаунт", | 174 | "signup.submit.label" : "Создать аккаунт", |
158 | "subscription.euTaxInfo" : "EU residents: local sales tax may apply", | 175 | "subscription.euTaxInfo" : "Резидентам ЕвроСоюза: могут применÑÑ‚ÑŒÑÑ Ð¼ÐµÑтные налоги", |
159 | "subscription.features.ads" : "Без рекламы, навÑегда!", | 176 | "subscription.features.ads" : "Без рекламы, навÑегда!", |
160 | "subscription.features.comingSoon" : "Ñледите за обновлениÑми", | 177 | "subscription.features.comingSoon" : "Ñкоро", |
161 | "subscription.features.customServices" : "ÐаÑтраиваемые ÑервиÑÑ‹ Ð´Ð»Ñ Ð’Ð°Ñ Ð¸ Вашей команды", | 178 | "subscription.features.customServices" : "ÐаÑтраиваемые ÑервиÑÑ‹ Ð´Ð»Ñ Ð²Ð°Ñ Ð¸ вашей команды", |
162 | "subscription.features.encryptedSync" : "Ð¨Ð¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ ÑÐ¸Ð½Ñ…Ñ€Ð¾Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ ÑеÑÑии", | 179 | "subscription.features.encryptedSync" : "Шифрование ÑеÑÑий Ñинхронизации", |
163 | "subscription.features.onpremise" : "Добавить облачные Ñлужбы или Ñлужбы Ñо Ñвоим хоÑтингом типа HipChat", | 180 | "subscription.features.onpremise" : "Добавление облачных Ñлужб или Ñлужб на Ñвоём хоÑтинге типа HipChat", |
164 | "subscription.features.vpn" : "Поддержка прокÑи и VPN", | 181 | "subscription.features.vpn" : "Поддержку прокÑи и VPN", |
165 | "subscription.includedFeatures" : "Оплаченный Franz Премиум аккаунт включает", | 182 | "subscription.includedFeatures" : "Платный аккаунт Franz Premium включает", |
166 | "subscription.mining.experimental" : "ÑкÑпериментально", | 183 | "subscription.mining.experimental" : "ÑкÑпериментально", |
167 | "subscription.mining.headline" : "Как Ñто работает?\",", | 184 | "subscription.mining.headline" : "Как Ñто работает?", |
168 | "subscription.mining.line1" : "Ð’ÐºÐ»ÑŽÑ‡Ð°Ñ \"Поддерживать Franz, предоÑтавлÑÑ Ð¿Ñ€Ð¾Ñ†ÐµÑÑорную мощноÑÑ‚ÑŒ\", Franz будет иÑпользовать 20-50% процеÑÑорного времени Ð´Ð»Ñ Ð¼Ð°Ð¹Ð½Ð¸Ð½Ð³Ð° криптовалюты Monero в примерном объеме 5$\/год.", | 185 | "subscription.mining.line1" : "Включив «Поддержку Ñ Ð²Ñ‹Ñ‡Ð¸Ñлительной мощноÑтью», Franz будет иÑпользовать около 20–50% вашего процеÑÑора, Ð´Ð»Ñ Ð¼Ð°Ð¹Ð½Ð¸Ð½Ð³Ð° криптовалюты Monero в примерном объёме $5\/год.", |
169 | "subscription.mining.line2" : "Мы будем регулировать иÑпользование процеÑÑора, чтобы не Ñадить батарею и не мешать Вашей работе", | 186 | "subscription.mining.line2" : "Мы будем регулировать иÑпользование процеÑÑора, чтобы не разрÑжать аккумулÑтор и не замедлÑÑ‚ÑŒ работу вашего компьютера.", |
170 | "subscription.mining.line3" : "Пока разрешен майнинг, Вам будут доÑтуны вÑе возможноÑти Franz Premium без ограничений", | 187 | "subscription.mining.line3" : "Пока разрешен майнинг, у Ð²Ð°Ñ Ð±ÑƒÐ´ÐµÑ‚ неограниченный доÑтуп ко вÑем функциÑм Franz Premium.", |
171 | "subscription.mining.moreInformation" : "Узнать больше об Ñтом плане.", | 188 | "subscription.mining.moreInformation" : "Узнать больше об Ñтом плане.", |
172 | "subscription.paymentSessionError" : "Ðевозможно загрузить форму оплаты", | 189 | "subscription.paymentSessionError" : "Ðевозможно загрузить форму оплаты", |
173 | "subscription.submit.label" : "Я хочу поддержать разработку Franz", | 190 | "subscription.submit.label" : "Я хочу поддержать разработку Franz", |
174 | "subscription.type.free" : "беÑплатно", | 191 | "subscription.type.free" : "беÑплатно", |
175 | "subscription.type.mining" : "Поддерживать Franz, предоÑтавлÑÑ Ð¿Ñ€Ð¾Ñ†ÐµÑÑорную мощноÑÑ‚ÑŒ", | 192 | "subscription.type.mining" : "Поддержка Franz вычиÑлительной мощноÑтью", |
176 | "subscription.type.month" : "меÑÑц", | 193 | "subscription.type.month" : "меÑÑц", |
177 | "subscription.type.year" : "год", | 194 | "subscription.type.year" : "год", |
178 | "subscriptionPopup.buttonCancel" : "Отмена", | 195 | "subscriptionPopup.buttonCancel" : "Отмена", |
179 | "subscriptionPopup.buttonDone" : "Готово", | 196 | "subscriptionPopup.buttonDone" : "Готово", |
180 | "tabs.item.deleteService" : "Удалить ÑервиÑ", | 197 | "tabs.item.deleteService" : "Удалить ÑервиÑ", |
181 | "tabs.item.disableAudio" : "Disable audio", | 198 | "tabs.item.disableAudio" : "Отключить звук", |
182 | "tabs.item.disableNotifications" : "Отключить уведомлениÑ", | 199 | "tabs.item.disableNotifications" : "Отключить уведомлениÑ", |
183 | "tabs.item.disableService" : "Отключить ÑервиÑ", | 200 | "tabs.item.disableService" : "Отключить ÑервиÑ", |
184 | "tabs.item.edit" : "Редактировать", | 201 | "tabs.item.edit" : "Редактировать", |
185 | "tabs.item.enableAudio" : "Enable audio", | 202 | "tabs.item.enableAudio" : "Включить аудио", |
186 | "tabs.item.enableNotification" : "Включить уведомлениÑ", | 203 | "tabs.item.enableNotification" : "Включить уведомлениÑ", |
187 | "tabs.item.enableService" : "Включить ÑервиÑ", | 204 | "tabs.item.enableService" : "Включить Ñлужбу", |
188 | "tabs.item.reload" : "Перезагрузить", | 205 | "tabs.item.reload" : "Перезагрузить", |
189 | "welcome.loginButton" : "Вход", | 206 | "welcome.loginButton" : "Вход", |
190 | "welcome.signupButton" : "Создать аккаунт", | 207 | "welcome.signupButton" : "Создать аккаунт", |
diff --git a/src/i18n/locales/sk.json b/src/i18n/locales/sk.json index d8415762d..84f6e7ecc 100644 --- a/src/i18n/locales/sk.json +++ b/src/i18n/locales/sk.json | |||
@@ -3,9 +3,9 @@ | |||
3 | "global.notConnectedToTheInternet" : "Nie ste pripojený k internetu", | 3 | "global.notConnectedToTheInternet" : "Nie ste pripojený k internetu", |
4 | "import.headline" : "Importovať služby z Franz 4", | 4 | "import.headline" : "Importovať služby z Franz 4", |
5 | "import.notSupportedHeadline" : "Služby zatiaľ nie sú podporované vo verzii Franz 5", | 5 | "import.notSupportedHeadline" : "Služby zatiaľ nie sú podporované vo verzii Franz 5", |
6 | "import.skip.label" : "Chcem pridaÅ¥ služby manuálne", | 6 | "import.skip.label" : "Chcem pridaÅ¥ službu ruÄne", |
7 | "import.submit.label" : "Importovať služby", | 7 | "import.submit.label" : "Importovať služby", |
8 | "infobar.buttonChangelog" : "What is new?", | 8 | "infobar.buttonChangelog" : "Čo je nové:", |
9 | "infobar.buttonInstallUpdate" : "Reštartovať a inštalovať aktualizáciu", | 9 | "infobar.buttonInstallUpdate" : "Reštartovať a inštalovať aktualizáciu", |
10 | "infobar.buttonReloadServices" : "Obnoviť služby", | 10 | "infobar.buttonReloadServices" : "Obnoviť služby", |
11 | "infobar.requiredRequestsFailed" : "Nie je možné naÄÃtaÅ¥ služby a informácie o užÃvateľovi", | 11 | "infobar.requiredRequestsFailed" : "Nie je možné naÄÃtaÅ¥ služby a informácie o užÃvateľovi", |
@@ -36,20 +36,24 @@ | |||
36 | "pricing.link.skipPayment" : "Nechcem podporiť vývoj aplikácie Franz.", | 36 | "pricing.link.skipPayment" : "Nechcem podporiť vývoj aplikácie Franz.", |
37 | "pricing.submit.label" : "Chcem podporiť vývoj aplikácie Franz", | 37 | "pricing.submit.label" : "Chcem podporiť vývoj aplikácie Franz", |
38 | "pricing.support.label" : "Vyberte váš plán podpory", | 38 | "pricing.support.label" : "Vyberte váš plán podpory", |
39 | "service.crashHandler.action" : "Reload {name}", | 39 | "service.crashHandler.action" : "NaÄÃtaÅ¥ znovu {name}", |
40 | "service.crashHandler.autoReload" : "Trying to automatically restore {name} in {seconds} seconds", | 40 | "service.crashHandler.autoReload" : "Pokus o automatické obnovenie {name} za {seconds} sekúnd", |
41 | "service.crashHandler.headline" : "Oh no!", | 41 | "service.crashHandler.headline" : "Ale nie!", |
42 | "service.crashHandler.text" : "{name} has caused an error.", | 42 | "service.crashHandler.text" : "{name} spôsobil chybu.", |
43 | "service.disabledHandler.action" : "Enable {name}", | 43 | "service.disabledHandler.action" : "Zapnúť {name}", |
44 | "service.disabledHandler.headline" : "{name} is disabled", | 44 | "service.disabledHandler.headline" : "{name} je vypnutý", |
45 | "services.getStarted" : "ZaÄÃname", | 45 | "services.getStarted" : "ZaÄÃname", |
46 | "services.welcome" : "VÃta vás Franz", | 46 | "services.welcome" : "VÃta vás Franz", |
47 | "settings.account.account.editButton" : "UpraviÅ¥ úÄet", | 47 | "settings.account.account.editButton" : "UpraviÅ¥ úÄet", |
48 | "settings.account.accountType.basic" : "Základný úÄet", | 48 | "settings.account.accountType.basic" : "Základný úÄet", |
49 | "settings.account.accountType.premium" : "Prémiový úÄet podporovateľa", | 49 | "settings.account.accountType.premium" : "Prémiový úÄet podporovateľa", |
50 | "settings.account.buttonSave" : "Aktualizovať profil", | 50 | "settings.account.buttonSave" : "Aktualizovať profil", |
51 | "settings.account.deleteAccount" : "OdstrániÅ¥ úÄet", | ||
52 | "settings.account.deleteEmailSent" : "Na váš mail bol odoslaný email s odkazom pre potvrdenie zmazanie úÄtu. Váš úÄet a dáta potom nepôjde obnoviÅ¥!", | ||
53 | "settings.account.deleteInfo" : "Ak už nepotrebujete váš Franz úÄet, môžete tu váš úÄet, a vÅ¡etky dáta v ňom, zmazaÅ¥.", | ||
51 | "settings.account.headline" : "ÚÄet", | 54 | "settings.account.headline" : "ÚÄet", |
52 | "settings.account.headlineAccount" : "Informácie o úÄte", | 55 | "settings.account.headlineAccount" : "Informácie o úÄte", |
56 | "settings.account.headlineDangerZone" : "NebezpeÄná zóna", | ||
53 | "settings.account.headlineInvoices" : "Faktúry", | 57 | "settings.account.headlineInvoices" : "Faktúry", |
54 | "settings.account.headlinePassword" : "Zmeniť heslo", | 58 | "settings.account.headlinePassword" : "Zmeniť heslo", |
55 | "settings.account.headlineProfile" : "Aktualizovať profil", | 59 | "settings.account.headlineProfile" : "Aktualizovať profil", |
@@ -64,26 +68,30 @@ | |||
64 | "settings.account.successInfo" : "Vaše zmeny boli uložené", | 68 | "settings.account.successInfo" : "Vaše zmeny boli uložené", |
65 | "settings.account.tryReloadUserInfoRequest" : "Skúsiť znova", | 69 | "settings.account.tryReloadUserInfoRequest" : "Skúsiť znova", |
66 | "settings.account.userInfoRequestFailed" : "Nebolo možné zÃskaÅ¥ informácie o užÃvateľovi", | 70 | "settings.account.userInfoRequestFailed" : "Nebolo možné zÃskaÅ¥ informácie o užÃvateľovi", |
71 | "settings.app.buttonClearAllCache" : "VyÄistiÅ¥ vyrovnávaciu pamäť", | ||
67 | "settings.app.buttonInstallUpdate" : "ReÅ¡tart a inÅ¡talácia aktualizáciÃ", | 72 | "settings.app.buttonInstallUpdate" : "ReÅ¡tart a inÅ¡talácia aktualizáciÃ", |
68 | "settings.app.buttonSearchForUpdate" : "Skontrolovať aktualizácie", | 73 | "settings.app.buttonSearchForUpdate" : "Skontrolovať aktualizácie", |
74 | "settings.app.cacheInfo" : "Franz momentálne použÃva {size} miesta na disku.", | ||
69 | "settings.app.currentVersion" : "Aktuálna verzia:", | 75 | "settings.app.currentVersion" : "Aktuálna verzia:", |
70 | "settings.app.form.autoLaunchInBackground" : "OtvoriÅ¥ na pozadÃ", | 76 | "settings.app.form.autoLaunchInBackground" : "OtvoriÅ¥ na pozadÃ", |
71 | "settings.app.form.autoLaunchOnStart" : "Spustiť Franz pri štarte", | 77 | "settings.app.form.autoLaunchOnStart" : "Spustiť Franz pri štarte", |
72 | "settings.app.form.beta" : "Vrátane beta verziÃ", | 78 | "settings.app.form.beta" : "Vrátane beta verziÃ", |
73 | "settings.app.form.enableSpellchecking" : "Enable spell checking", | 79 | "settings.app.form.enableSpellchecking" : "Povoliť zvýraznenie preklepov", |
74 | "settings.app.form.enableSystemTray" : "Zobrazovať Franz v systémovej lište", | 80 | "settings.app.form.enableSystemTray" : "Zobrazovať Franz v systémovej lište", |
75 | "settings.app.form.language" : "Jazyk", | 81 | "settings.app.form.language" : "Jazyk", |
76 | "settings.app.form.minimizeToSystemTray" : "Minimalizovať Franz do systémovej lišty", | 82 | "settings.app.form.minimizeToSystemTray" : "Minimalizovať Franz do systémovej lišty", |
77 | "settings.app.form.runInBackground" : "Ponechať Franz spustený v pozadà pri zatvorenà okna", | 83 | "settings.app.form.runInBackground" : "Ponechať Franz spustený v pozadà pri zatvorenà okna", |
78 | "settings.app.form.showDisabledServices" : "Display disabled services tabs", | 84 | "settings.app.form.showDisabledServices" : "Zobraziť záložky vypnutých služieb", |
85 | "settings.app.form.showMessagesBadgesWhenMuted" : "ZobraziÅ¥ odznak pre nepreÄÃtané správy keÄ sú upozornenia vypnutá", | ||
79 | "settings.app.headline" : "Nastavenia", | 86 | "settings.app.headline" : "Nastavenia", |
80 | "settings.app.headlineAdvanced" : "Advanced", | 87 | "settings.app.headlineAdvanced" : "RozÅ¡Ãrené", |
81 | "settings.app.headlineAppearance" : "Appearance", | 88 | "settings.app.headlineAppearance" : "Vzhľad", |
82 | "settings.app.headlineGeneral" : "Všeobecné", | 89 | "settings.app.headlineGeneral" : "Všeobecné", |
83 | "settings.app.headlineLanguage" : "Jazyk", | 90 | "settings.app.headlineLanguage" : "Jazyk", |
84 | "settings.app.headlineUpdates" : "Aktualizácie", | 91 | "settings.app.headlineUpdates" : "Aktualizácie", |
85 | "settings.app.restartRequired" : "Changes require restart", | 92 | "settings.app.restartRequired" : "Zmeny vyžadujú restart", |
86 | "settings.app.translationHelp" : "Help us to translate Franz into your language.", | 93 | "settings.app.subheadlineCache" : "Vyrovnávacia pamäť", |
94 | "settings.app.translationHelp" : "Pomôžte nám preložiť Franz do svojho jazyka.", | ||
87 | "settings.app.updateStatusAvailable" : "Dostupná aktualizácia, sťahujem...", | 95 | "settings.app.updateStatusAvailable" : "Dostupná aktualizácia, sťahujem...", |
88 | "settings.app.updateStatusSearching" : "Vyhľadávam aktualizácie", | 96 | "settings.app.updateStatusSearching" : "Vyhľadávam aktualizácie", |
89 | "settings.app.updateStatusUpToDate" : "PoužÃvate najnovÅ¡iu verziu Franz", | 97 | "settings.app.updateStatusUpToDate" : "PoužÃvate najnovÅ¡iu verziu Franz", |
@@ -95,10 +103,11 @@ | |||
95 | "settings.recipes.all" : "Všetky služby", | 103 | "settings.recipes.all" : "Všetky služby", |
96 | "settings.recipes.dev" : "Vývoj", | 104 | "settings.recipes.dev" : "Vývoj", |
97 | "settings.recipes.headline" : "Dostupné služby", | 105 | "settings.recipes.headline" : "Dostupné služby", |
98 | "settings.recipes.missingService" : "Missing a service?", | 106 | "settings.recipes.missingService" : "Chýbajúce služba?", |
99 | "settings.recipes.mostPopular" : "Najpopulárnejšie", | 107 | "settings.recipes.mostPopular" : "Najpopulárnejšie", |
100 | "settings.recipes.nothingFound" : "Je nám ľúto, ale žiadna služba nezodpovedala vášmu hľadanému výrazu.", | 108 | "settings.recipes.nothingFound" : "Je nám ľúto, ale žiadna služba nezodpovedala vášmu hľadanému výrazu.", |
101 | "settings.recipes.servicesSuccessfulAddedInfo" : "Služba úspešne pridaná", | 109 | "settings.recipes.servicesSuccessfulAddedInfo" : "Služba úspešne pridaná", |
110 | "settings.searchService" : "Vyhľadať službu", | ||
102 | "settings.service.error.goBack" : "Späť na služby", | 111 | "settings.service.error.goBack" : "Späť na služby", |
103 | "settings.service.error.headline" : "Chyba", | 112 | "settings.service.error.headline" : "Chyba", |
104 | "settings.service.error.message" : "Nepodarilo sa naÄÃtaÅ¥ službu.", | 113 | "settings.service.error.message" : "Nepodarilo sa naÄÃtaÅ¥ službu.", |
@@ -110,24 +119,32 @@ | |||
110 | "settings.service.form.customUrlValidationError" : "Nebolo možné overiť vlastný server: {name}.", | 119 | "settings.service.form.customUrlValidationError" : "Nebolo možné overiť vlastný server: {name}.", |
111 | "settings.service.form.deleteButton" : "Odstrániť službu", | 120 | "settings.service.form.deleteButton" : "Odstrániť službu", |
112 | "settings.service.form.editServiceHeadline" : "Upraviť {meno}", | 121 | "settings.service.form.editServiceHeadline" : "Upraviť {meno}", |
113 | "settings.service.form.enableAudio" : "Enable audio", | 122 | "settings.service.form.enableAudio" : "Zapnúť zvuk", |
123 | "settings.service.form.enableBadge" : "UkázaÅ¥ odznaky nepreÄÃtaných správ", | ||
114 | "settings.service.form.enableNotification" : "Povoliť oznámenia", | 124 | "settings.service.form.enableNotification" : "Povoliť oznámenia", |
115 | "settings.service.form.enableService" : "Povoliť službu", | 125 | "settings.service.form.enableService" : "Povoliť službu", |
126 | "settings.service.form.headlineBadges" : "Odznaky nepreÄÃtaných správ", | ||
127 | "settings.service.form.headlineGeneral" : "Všeobecné", | ||
128 | "settings.service.form.headlineNotifications" : "Upozornenia", | ||
129 | "settings.service.form.icon" : "Vlastná ikona", | ||
130 | "settings.service.form.iconDelete" : "Zmazať", | ||
131 | "settings.service.form.iconUpload" : "Presuňte váš obrázok, alebo kliknite sem", | ||
116 | "settings.service.form.indirectMessageInfo" : "Budete dostávať upozornenia na všetky nové správy v kanáli, nielen na @meno, @kanál, @kde, ...", | 132 | "settings.service.form.indirectMessageInfo" : "Budete dostávať upozornenia na všetky nové správy v kanáli, nielen na @meno, @kanál, @kde, ...", |
117 | "settings.service.form.indirectMessages" : "Zobraziť znak správy pre všetky nové správy", | 133 | "settings.service.form.indirectMessages" : "Zobraziť znak správy pre všetky nové správy", |
118 | "settings.service.form.isMutedInfo" : "When disabled, all notification sounds and audio playback are muted", | 134 | "settings.service.form.isMutedInfo" : "Ak je vypnuté, vÅ¡etky zvuky notifikácià a iného audia budú stÃÅ¡ené", |
119 | "settings.service.form.name" : "Meno", | 135 | "settings.service.form.name" : "Meno", |
120 | "settings.service.form.saveButton" : "Uložiť službu", | 136 | "settings.service.form.saveButton" : "Uložiť službu", |
121 | "settings.service.form.tabHosted" : "Hostovaný", | 137 | "settings.service.form.tabHosted" : "Hostovaný", |
122 | "settings.service.form.tabOnPremise" : "Vlastné hosÅ¥ovanie âï¸", | 138 | "settings.service.form.tabOnPremise" : "Vlastné hosÅ¥ovanie âï¸", |
123 | "settings.service.form.team" : "TÃm", | 139 | "settings.service.form.team" : "TÃm", |
140 | "settings.service.form.useHostedService" : "Použite hostovanú {name} službu.", | ||
124 | "settings.service.form.yourServices" : "Vaše služby", | 141 | "settings.service.form.yourServices" : "Vaše služby", |
125 | "settings.services.deletedInfo" : "Služba bola odstránená", | 142 | "settings.services.deletedInfo" : "Služba bola odstránená", |
126 | "settings.services.discoverServices" : "Preskúmajte služby", | 143 | "settings.services.discoverServices" : "Preskúmajte služby", |
127 | "settings.services.headline" : "Vaše služby", | 144 | "settings.services.headline" : "Vaše služby", |
128 | "settings.services.noServicesAdded" : "Nepridali ste ešte žiadne služby", | 145 | "settings.services.noServicesAdded" : "Nepridali ste ešte žiadne služby", |
129 | "settings.services.tooltip.isDisabled" : "Služba je vypnutá", | 146 | "settings.services.tooltip.isDisabled" : "Služba je vypnutá", |
130 | "settings.services.tooltip.isMuted" : "All sounds are muted", | 147 | "settings.services.tooltip.isMuted" : "VÅ¡etky zvuky sú stÃÅ¡ené", |
131 | "settings.services.tooltip.notificationsDisabled" : "Oznámenia sú vypnuté", | 148 | "settings.services.tooltip.notificationsDisabled" : "Oznámenia sú vypnuté", |
132 | "settings.services.updatedInfo" : "Vaše zmeny boli uložené", | 149 | "settings.services.updatedInfo" : "Vaše zmeny boli uložené", |
133 | "settings.user.form.accountType.company" : "SpoloÄnosÅ¥", | 150 | "settings.user.form.accountType.company" : "SpoloÄnosÅ¥", |
@@ -136,26 +153,26 @@ | |||
136 | "settings.user.form.accountType.non-profit" : "Nezisková organizácia", | 153 | "settings.user.form.accountType.non-profit" : "Nezisková organizácia", |
137 | "settings.user.form.currentPassword" : "SúÄasné heslo", | 154 | "settings.user.form.currentPassword" : "SúÄasné heslo", |
138 | "settings.user.form.email" : "Email", | 155 | "settings.user.form.email" : "Email", |
139 | "settings.user.form.firstname" : "First Name", | 156 | "settings.user.form.firstname" : "Krstné meno", |
140 | "settings.user.form.lastname" : "Last Name", | 157 | "settings.user.form.lastname" : "Priezvisko", |
141 | "settings.user.form.newPassword" : "Nové heslo", | 158 | "settings.user.form.newPassword" : "Nové heslo", |
142 | "sidebar.addNewService" : "Pridať novú službu", | 159 | "sidebar.addNewService" : "Pridať novú službu", |
143 | "sidebar.mute" : "Disable audio", | 160 | "sidebar.muteApp" : "Vypnúť upozornenia a zvuky", |
144 | "sidebar.settings" : "Nastavenia", | 161 | "sidebar.settings" : "Nastavenia", |
145 | "sidebar.unmute" : "Enable audio", | 162 | "sidebar.unmuteApp" : "Zapnúť upozornenia a zvuky", |
146 | "signup.company.label" : "SpoloÄnosÅ¥", | 163 | "signup.company.label" : "SpoloÄnosÅ¥", |
147 | "signup.email.label" : "Emailová adresa", | 164 | "signup.email.label" : "Emailová adresa", |
148 | "signup.emailDuplicate" : "Kontakt s touto emailovou adresou už existuje", | 165 | "signup.emailDuplicate" : "Kontakt s touto emailovou adresou už existuje", |
149 | "signup.firstname.label" : "First Name", | 166 | "signup.firstname.label" : "Krstné meno", |
150 | "signup.headline" : "Prihlásiť sa", | 167 | "signup.headline" : "Prihlásiť sa", |
151 | "signup.lastname.label" : "Last Name", | 168 | "signup.lastname.label" : "Priezvisko", |
152 | "signup.legal.info" : "VytvorenÃm úÄtu Franz akceptujete", | 169 | "signup.legal.info" : "VytvorenÃm úÄtu Franz akceptujete", |
153 | "signup.legal.privacy" : "Vyhlásenie o ochrane súkromia", | 170 | "signup.legal.privacy" : "Vyhlásenie o ochrane súkromia", |
154 | "signup.legal.terms" : "Podmienky služby", | 171 | "signup.legal.terms" : "Podmienky služby", |
155 | "signup.link.login" : "Už máte úÄet, prihlásiÅ¥ sa?", | 172 | "signup.link.login" : "Už máte úÄet, prihlásiÅ¥ sa?", |
156 | "signup.password.label" : "Heslo", | 173 | "signup.password.label" : "Heslo", |
157 | "signup.submit.label" : "VytvoriÅ¥ úÄet", | 174 | "signup.submit.label" : "VytvoriÅ¥ úÄet", |
158 | "subscription.euTaxInfo" : "EU residents: local sales tax may apply", | 175 | "subscription.euTaxInfo" : "Pro obyvatelé EÚ: môžu byť aplikované miestne dane", |
159 | "subscription.features.ads" : "Žiadne reklamy, nikdy!", | 176 | "subscription.features.ads" : "Žiadne reklamy, nikdy!", |
160 | "subscription.features.comingSoon" : "už Äoskoro", | 177 | "subscription.features.comingSoon" : "už Äoskoro", |
161 | "subscription.features.customServices" : "Privátne ​​služby pre vás a váš tÃm", | 178 | "subscription.features.customServices" : "Privátne ​​služby pre vás a váš tÃm", |
@@ -178,11 +195,11 @@ | |||
178 | "subscriptionPopup.buttonCancel" : "Zrušiť", | 195 | "subscriptionPopup.buttonCancel" : "Zrušiť", |
179 | "subscriptionPopup.buttonDone" : "DokonÄiÅ¥", | 196 | "subscriptionPopup.buttonDone" : "DokonÄiÅ¥", |
180 | "tabs.item.deleteService" : "Odstrániť službu", | 197 | "tabs.item.deleteService" : "Odstrániť službu", |
181 | "tabs.item.disableAudio" : "Disable audio", | 198 | "tabs.item.disableAudio" : "Vypnúť zvuk", |
182 | "tabs.item.disableNotifications" : "Zakázať oznámenia", | 199 | "tabs.item.disableNotifications" : "Zakázať oznámenia", |
183 | "tabs.item.disableService" : "Vypnúť službu", | 200 | "tabs.item.disableService" : "Vypnúť službu", |
184 | "tabs.item.edit" : "Upraviť", | 201 | "tabs.item.edit" : "Upraviť", |
185 | "tabs.item.enableAudio" : "Enable audio", | 202 | "tabs.item.enableAudio" : "Zapnúť zvuk", |
186 | "tabs.item.enableNotification" : "Povoliť oznámenia", | 203 | "tabs.item.enableNotification" : "Povoliť oznámenia", |
187 | "tabs.item.enableService" : "Povoliť službu", | 204 | "tabs.item.enableService" : "Povoliť službu", |
188 | "tabs.item.reload" : "Obnoviť", | 205 | "tabs.item.reload" : "Obnoviť", |
diff --git a/src/i18n/locales/sr.json b/src/i18n/locales/sr.json new file mode 100644 index 000000000..4d4e20d17 --- /dev/null +++ b/src/i18n/locales/sr.json | |||
@@ -0,0 +1,209 @@ | |||
1 | { | ||
2 | "global.api.unhealthy" : "Nije moguće pristupiti Francovim on-line servisima. ", | ||
3 | "global.notConnectedToTheInternet" : "Niste povezani sa serverom.", | ||
4 | "import.headline" : "Uvezite svoje Franc4 servise", | ||
5 | "import.notSupportedHeadline" : "Servis trenutno nije podržan u Franc5", | ||
6 | "import.skip.label" : "I want to add services manually", | ||
7 | "import.submit.label" : "Uvezi servise", | ||
8 | "infobar.buttonChangelog" : "Å ta je novo? ", | ||
9 | "infobar.buttonInstallUpdate" : "Ponovo pokreni i instaliraj ažuriranje ", | ||
10 | "infobar.buttonReloadServices" : "Ponovo uÄitaj servise ", | ||
11 | "infobar.requiredRequestsFailed" : "Nemoguće uÄitati servise i korisniÄke informacije", | ||
12 | "infobar.servicesUpdated" : "Vaši servisi su ažurirani. ", | ||
13 | "infobar.updateAvailable" : "Novo ažuriranje Franz-a je dostupno. ", | ||
14 | "invite.email.label" : "Vaša e-adresa", | ||
15 | "invite.headline.friends" : "Pozovite 3 vaša prijatelja ili kolege", | ||
16 | "invite.name.label" : "Ime", | ||
17 | "invite.skip.label" : "Želim da ovo uradim kasnije", | ||
18 | "invite.submit.label" : "Pošalji pozivnice", | ||
19 | "login.email.label" : "Vaša e-adresa:", | ||
20 | "login.headline" : "Prijavite se", | ||
21 | "login.invalidCredentials" : "E-mail ili lozinka nisu toÄni", | ||
22 | "login.link.password" : "Stvaranje nove lozinke", | ||
23 | "login.link.signup" : "Stvorite besplatan raÄun", | ||
24 | "login.password.label" : "Lozinka", | ||
25 | "login.serverLogout" : "Vaša sesija je istekla, prijavite se ponovo.", | ||
26 | "login.submit.label" : "Prijavite se", | ||
27 | "login.tokenExpired" : "Vaša sesija je istekla, prijavite se ponovo.", | ||
28 | "password.email.label" : "Vaša e-adresa", | ||
29 | "password.headline" : "Stvorite novu zaporku", | ||
30 | "password.link.login" : "Prijavite se na VaÅ¡ raÄun", | ||
31 | "password.link.signup" : "Stvorite besplatan raÄun", | ||
32 | "password.noUser" : "Ne postoji ni jedan korisnik s tom e-mail adresom", | ||
33 | "password.submit.label" : "Pošalji", | ||
34 | "password.successInfo" : "Molimo Vas da provjerite vašu e-mail adresu", | ||
35 | "pricing.headline" : "Podržite Franz", | ||
36 | "pricing.link.skipPayment" : "Ne želim da podržim razvoj Franz-a.", | ||
37 | "pricing.submit.label" : "Želim da podržim razvoj Franz-a.", | ||
38 | "pricing.support.label" : "Izaberite vaš plan za podržavanje", | ||
39 | "service.crashHandler.action" : "Osvježi {ime}", | ||
40 | "service.crashHandler.autoReload" : "Pokušaću automatski povratiti {ime} u {sekundi} sekundi", | ||
41 | "service.crashHandler.headline" : "O, ne! ", | ||
42 | "service.crashHandler.text" : "{ime} je izazvalo grešku. ", | ||
43 | "service.disabledHandler.action" : "Omogući {ime} ", | ||
44 | "service.disabledHandler.headline" : "{ime} je onemogućen\/o", | ||
45 | "services.getStarted" : "ZapoÄnimo! ", | ||
46 | "services.welcome" : "Dobrodošli u Franz", | ||
47 | "settings.account.account.editButton" : "Uredi raÄun", | ||
48 | "settings.account.accountType.basic" : "Osnovni raÄun", | ||
49 | "settings.account.accountType.premium" : "Premium raÄun", | ||
50 | "settings.account.buttonSave" : "Ažuriraj profil", | ||
51 | "settings.account.deleteAccount" : "Delete account", | ||
52 | "settings.account.deleteEmailSent" : "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!", | ||
53 | "settings.account.deleteInfo" : "If you don't need your Franz account any longer, you can delete your account and all related data here.", | ||
54 | "settings.account.headline" : "KorisniÄki nalog", | ||
55 | "settings.account.headlineAccount" : "Podaci o nalogu", | ||
56 | "settings.account.headlineDangerZone" : "Danger Zone", | ||
57 | "settings.account.headlineInvoices" : "Fakture", | ||
58 | "settings.account.headlinePassword" : "Promijenite lozinku", | ||
59 | "settings.account.headlineProfile" : "Ažurirajte profil", | ||
60 | "settings.account.headlineSubscription" : "Vaša pretplata", | ||
61 | "settings.account.headlineUpgrade" : "Nadogradite raÄun i podržite Franc", | ||
62 | "settings.account.invoiceDownload" : "Preuzmite", | ||
63 | "settings.account.manageSubscription.label" : "Upravljajte pretplatama", | ||
64 | "settings.account.mining.active" : "Trenutno se odvija {hashes} kalkulacija po sekundi. ", | ||
65 | "settings.account.mining.cancel" : "Odustani ", | ||
66 | "settings.account.mining.moreInformation" : "Dođi do više informacija", | ||
67 | "settings.account.mining.thankyou" : "Hvala Vam što podržavate Franca s vašom procesorskom moći. ", | ||
68 | "settings.account.successInfo" : "Vaše promjene su spremljene", | ||
69 | "settings.account.tryReloadUserInfoRequest" : "Pokušajte ponovno", | ||
70 | "settings.account.userInfoRequestFailed" : "Nije moguće uÄitati informacije o korisniku", | ||
71 | "settings.app.buttonClearAllCache" : "Clear cache", | ||
72 | "settings.app.buttonInstallUpdate" : "Ponovo pokreni i instaliraj ažuriranje", | ||
73 | "settings.app.buttonSearchForUpdate" : "Potraži ažuriranja", | ||
74 | "settings.app.cacheInfo" : "Franz cache is currently using {size} of disk space.", | ||
75 | "settings.app.currentVersion" : "Trenutna verzija:", | ||
76 | "settings.app.form.autoLaunchInBackground" : "Otvori u pozadini", | ||
77 | "settings.app.form.autoLaunchOnStart" : "Pokreni Franz sa sistemom", | ||
78 | "settings.app.form.beta" : "Obuhvati i beta verzije", | ||
79 | "settings.app.form.enableSpellchecking" : "Omogući provjeru pravopisa", | ||
80 | "settings.app.form.enableSystemTray" : "Prikaži aplikaciju u sustavskoj traci", | ||
81 | "settings.app.form.language" : "Jezik", | ||
82 | "settings.app.form.minimizeToSystemTray" : "Smanji Franca u sustavsku traku", | ||
83 | "settings.app.form.runInBackground" : "Neka se Franc održava u pozadini i ako je prozor zatvoren", | ||
84 | "settings.app.form.showDisabledServices" : "Prikaži ploÄe s onemogućenim servisima", | ||
85 | "settings.app.form.showMessagesBadgesWhenMuted" : "Show unread message badge when notifications are disabled", | ||
86 | "settings.app.headline" : "Postavke", | ||
87 | "settings.app.headlineAdvanced" : "Napredne alatke", | ||
88 | "settings.app.headlineAppearance" : "Izgled", | ||
89 | "settings.app.headlineGeneral" : "Općenito", | ||
90 | "settings.app.headlineLanguage" : "Jezik", | ||
91 | "settings.app.headlineUpdates" : "Nadogradnje", | ||
92 | "settings.app.restartRequired" : "Promjene postavki zahtijevaju ponovni pogon", | ||
93 | "settings.app.subheadlineCache" : "Cache", | ||
94 | "settings.app.translationHelp" : "Pomozite nam prevesti aplikaciju na Vaš jezik. ", | ||
95 | "settings.app.updateStatusAvailable" : "Nadogradnja dostupna, preuzimanje...", | ||
96 | "settings.app.updateStatusSearching" : "Traže se ažuriranja", | ||
97 | "settings.app.updateStatusUpToDate" : "Koristite najnoviju verziju Franca.", | ||
98 | "settings.navigation.account" : "RaÄun", | ||
99 | "settings.navigation.availableServices" : "Dostupne usluge", | ||
100 | "settings.navigation.logout" : "Odjava", | ||
101 | "settings.navigation.settings" : "Postavke", | ||
102 | "settings.navigation.yourServices" : "Vaše usluge", | ||
103 | "settings.recipes.all" : "Sve usluge", | ||
104 | "settings.recipes.dev" : "Razvoj", | ||
105 | "settings.recipes.headline" : "Dostupne usluge", | ||
106 | "settings.recipes.missingService" : "Da li neki servis nedostaje?", | ||
107 | "settings.recipes.mostPopular" : "Najpopularniji", | ||
108 | "settings.recipes.nothingFound" : "Žao nam je, ali ne postoje usluge koje se poklapaju s onima koje tražite", | ||
109 | "settings.recipes.servicesSuccessfulAddedInfo" : "Usluga uspješno dodana", | ||
110 | "settings.searchService" : "Search service", | ||
111 | "settings.service.error.goBack" : "Nazad do servisa", | ||
112 | "settings.service.error.headline" : "Greška ", | ||
113 | "settings.service.error.message" : "Nemoguće uÄitati sadržaj usluge", | ||
114 | "settings.service.form.addServiceHeadline" : "Dodaj {ime} ", | ||
115 | "settings.service.form.availableServices" : "Dostupne usluge", | ||
116 | "settings.service.form.customUrl" : "Prilagođen server", | ||
117 | "settings.service.form.customUrlPremiumInfo" : "Da bi ste dodali samo-hostovane usluge, potreban vam je Premium raÄun.", | ||
118 | "settings.service.form.customUrlUpgradeAccount" : "Nadogradite VaÅ¡ raÄun", | ||
119 | "settings.service.form.customUrlValidationError" : "Nije moguće odobriti prilagođeno {ime} servera.", | ||
120 | "settings.service.form.deleteButton" : "Izbriši uslugu", | ||
121 | "settings.service.form.editServiceHeadline" : "Uredite {ime}", | ||
122 | "settings.service.form.enableAudio" : "Omogućite zvuk", | ||
123 | "settings.service.form.enableBadge" : "Show unread message badges", | ||
124 | "settings.service.form.enableNotification" : "Omogućite obavijesti", | ||
125 | "settings.service.form.enableService" : "Omogućite usluge", | ||
126 | "settings.service.form.headlineBadges" : "Unread message badges", | ||
127 | "settings.service.form.headlineGeneral" : "Općenito", | ||
128 | "settings.service.form.headlineNotifications" : "Notifications", | ||
129 | "settings.service.form.icon" : "Custom icon", | ||
130 | "settings.service.form.iconDelete" : "Delete", | ||
131 | "settings.service.form.iconUpload" : "Drop your image, or click here", | ||
132 | "settings.service.form.indirectMessageInfo" : "Vi ćete biti obavješteni o svim novim porukama na kanalu, ne samo o @imenima, kanalima, @ovdje, ...", | ||
133 | "settings.service.form.indirectMessages" : "Prikaži znaÄku na svim novim porukuama", | ||
134 | "settings.service.form.isMutedInfo" : "Kada je onemogućeno, sve obavijesti, svi zvukovi i sva pozadinska podrÅ¡ka će biti neÄujna.", | ||
135 | "settings.service.form.name" : "Ime", | ||
136 | "settings.service.form.saveButton" : "SaÄuvaj uslugu\/e", | ||
137 | "settings.service.form.tabHosted" : "Hostovano", | ||
138 | "settings.service.form.tabOnPremise" : "Samo-hostovano âï¸", | ||
139 | "settings.service.form.team" : "Tim", | ||
140 | "settings.service.form.useHostedService" : "Use the hosted {name} service.", | ||
141 | "settings.service.form.yourServices" : "Vaše usluge", | ||
142 | "settings.services.deletedInfo" : "Usluga je onemogućena", | ||
143 | "settings.services.discoverServices" : "Pronađite usluge", | ||
144 | "settings.services.headline" : "Vaše usluge", | ||
145 | "settings.services.noServicesAdded" : "Još uvijek niste unijeli niti jednu uslugu.", | ||
146 | "settings.services.tooltip.isDisabled" : "Usluga je onemogućena.", | ||
147 | "settings.services.tooltip.isMuted" : "Svi zvukovi su onemogućeni.", | ||
148 | "settings.services.tooltip.notificationsDisabled" : "Obavijesti su onemogućene.", | ||
149 | "settings.services.updatedInfo" : "Vaše promjene su pohranjene.", | ||
150 | "settings.user.form.accountType.company" : "Tvrtka", | ||
151 | "settings.user.form.accountType.individual" : "Pojedinac", | ||
152 | "settings.user.form.accountType.label" : "Tip raÄuna", | ||
153 | "settings.user.form.accountType.non-profit" : "Neprofitno", | ||
154 | "settings.user.form.currentPassword" : "Trenutna lozinka", | ||
155 | "settings.user.form.email" : "E-pošta", | ||
156 | "settings.user.form.firstname" : "Ime", | ||
157 | "settings.user.form.lastname" : "Prezime", | ||
158 | "settings.user.form.newPassword" : "Nova lozinka", | ||
159 | "sidebar.addNewService" : "Dodajte novu uslugu", | ||
160 | "sidebar.muteApp" : "Disable notifications & audio", | ||
161 | "sidebar.settings" : "Postavke", | ||
162 | "sidebar.unmuteApp" : "Enable notifications & audio", | ||
163 | "signup.company.label" : "Tvrtka", | ||
164 | "signup.email.label" : "Vaša e-adresa", | ||
165 | "signup.emailDuplicate" : "Već postoji korisnik s tom e-mail adresom", | ||
166 | "signup.firstname.label" : "Ime", | ||
167 | "signup.headline" : "Prijava", | ||
168 | "signup.lastname.label" : "Prezime", | ||
169 | "signup.legal.info" : "Prilikom stvaranja Franz raÄuna, slažete se sa sljedećim stavkama", | ||
170 | "signup.legal.privacy" : "Izjava o privatnosti", | ||
171 | "signup.legal.terms" : "Uvjeti korištenja", | ||
172 | "signup.link.login" : "Imate raÄun? Prijavite se.", | ||
173 | "signup.password.label" : "Lozinka", | ||
174 | "signup.submit.label" : "Napravite novi raÄun", | ||
175 | "subscription.euTaxInfo" : "EU državljani, upozerenje: Moguće taksiranje", | ||
176 | "subscription.features.ads" : "Bez reklama, doživotno!", | ||
177 | "subscription.features.comingSoon" : "Dolazi uskoro", | ||
178 | "subscription.features.customServices" : "Privatni servisi za Vas i Vaš tim", | ||
179 | "subscription.features.encryptedSync" : "Kodirano usklađivanje sesija.", | ||
180 | "subscription.features.onpremise" : "Dodajte pretpostavljeni\/hostirani servis kao Å¡to ima usluga HipChat", | ||
181 | "subscription.features.vpn" : "Podrška za Proxy i VPM ( VPN )", | ||
182 | "subscription.includedFeatures" : "Plaćeni\/Premium raÄun ukljuÄuje sljedeće:", | ||
183 | "subscription.mining.experimental" : "Eksperimentalno", | ||
184 | "subscription.mining.headline" : "Na koji naÄin ovo radi?", | ||
185 | "subscription.mining.line1" : "Omogućavanjem \" Podrška snagom procesora \", Franc će iskoristiti oko 20-50% vaših CPU resursa za Kripto valutu \" Monero \" koja košta otprilike 5$ godišnje.", | ||
186 | "subscription.mining.line2" : "Adaptiraćemo iskorišćenost CPU resursa na osnovu vaÅ¡eg rada, na taj naÄin ćemo izbjeći iscrpljivanje baterije i usporavanje ureÄ‘aja.", | ||
187 | "subscription.mining.line3" : "Dok god je \" rudar \" aktivan, imaćete neograniÄen pristup svim Francovim Premium znaÄajkama.", | ||
188 | "subscription.mining.moreInformation" : "Dajte mi više informacija o ovom planu.", | ||
189 | "subscription.paymentSessionError" : "Nemoguće inicijalizirati obrazac za uplatu", | ||
190 | "subscription.submit.label" : "Želim da podržim razvoj Franca.", | ||
191 | "subscription.type.free" : "Slobodno", | ||
192 | "subscription.type.mining" : "Podržite Franca s procesorskim resursima", | ||
193 | "subscription.type.month" : "mjesec", | ||
194 | "subscription.type.year" : "godina", | ||
195 | "subscriptionPopup.buttonCancel" : "Odustani", | ||
196 | "subscriptionPopup.buttonDone" : "Završeno", | ||
197 | "tabs.item.deleteService" : "Izbriši servis", | ||
198 | "tabs.item.disableAudio" : "Onemogući zvuk", | ||
199 | "tabs.item.disableNotifications" : "Onemogući obavijesti", | ||
200 | "tabs.item.disableService" : "Onemogući servis", | ||
201 | "tabs.item.edit" : "Uredi", | ||
202 | "tabs.item.enableAudio" : "UkljuÄi zvuk", | ||
203 | "tabs.item.enableNotification" : "Omogući obavijesti", | ||
204 | "tabs.item.enableService" : "Omogući usluge", | ||
205 | "tabs.item.reload" : "Ponovno uÄitavanje", | ||
206 | "welcome.loginButton" : "Prijavite se na raÄun", | ||
207 | "welcome.signupButton" : "Stvorite novi korisniÄki raÄun", | ||
208 | "welcome.slogan" : "Poruke koje su stvorene za tebe" | ||
209 | } | ||
diff --git a/src/i18n/locales/tr.json b/src/i18n/locales/tr.json new file mode 100644 index 000000000..816a60793 --- /dev/null +++ b/src/i18n/locales/tr.json | |||
@@ -0,0 +1,209 @@ | |||
1 | { | ||
2 | "global.api.unhealthy" : "Franz hizmetlerine ÅŸu anda eriÅŸilemiyor.", | ||
3 | "global.notConnectedToTheInternet" : "İnternete bağlı değilsiniz.", | ||
4 | "import.headline" : "Franz 4 servislerinizi ekleyin.", | ||
5 | "import.notSupportedHeadline" : "Servisler henüz Franz 5'te desteklenmiyor.", | ||
6 | "import.skip.label" : "Servisleri kendim eklemek istiyorum", | ||
7 | "import.submit.label" : "Servisleri içe aktar", | ||
8 | "infobar.buttonChangelog" : "Yeni ne var?", | ||
9 | "infobar.buttonInstallUpdate" : "Yeniden Başlat ve Güncelleştirmeleri Kur", | ||
10 | "infobar.buttonReloadServices" : "Hizmetleri yeniden yükle", | ||
11 | "infobar.requiredRequestsFailed" : "Hizmetler ve kullanıcı bilgileri yüklenemedi", | ||
12 | "infobar.servicesUpdated" : "Hizmetleriniz güncellendi.", | ||
13 | "infobar.updateAvailable" : "Yeni Franz güncellemesi mevcut", | ||
14 | "invite.email.label" : "E-posta adresi", | ||
15 | "invite.headline.friends" : "3 arkadaşını ya da çalışma arkadaşını davet et", | ||
16 | "invite.name.label" : "Ad", | ||
17 | "invite.skip.label" : "Daha sonra yapmak istiyorum", | ||
18 | "invite.submit.label" : "Davetiye gönder", | ||
19 | "login.email.label" : "E-posta adresi", | ||
20 | "login.headline" : "Oturum Aç", | ||
21 | "login.invalidCredentials" : "Yanlış parola ya da e-posta adresi", | ||
22 | "login.link.password" : "Parola sıfırla", | ||
23 | "login.link.signup" : "Kullanıcı hesabı oluştur", | ||
24 | "login.password.label" : "Parola", | ||
25 | "login.serverLogout" : "Oturum süreniz dolmuş, lütfen tekrar giriş yapın.", | ||
26 | "login.submit.label" : "Oturum Aç", | ||
27 | "login.tokenExpired" : "Oturum zaman aşımına uğradı, lütfen tekrar giriş yapın.", | ||
28 | "password.email.label" : "E-posta adresi", | ||
29 | "password.headline" : "Parola sıfırla", | ||
30 | "password.link.login" : "Hesabına giriş yap", | ||
31 | "password.link.signup" : "Ãœcretsiz bir hesap oluÅŸtur", | ||
32 | "password.noUser" : "Bu e-posta adresinde bir kullanıcı bulunamadı", | ||
33 | "password.submit.label" : "Gönder", | ||
34 | "password.successInfo" : "E-postanızı kontrol ediniz", | ||
35 | "pricing.headline" : "Franz'ı Destekle", | ||
36 | "pricing.link.skipPayment" : "Franz'ın gelişimini desteklemek istemiyorum.", | ||
37 | "pricing.submit.label" : "Franz'ın gelişimini desteklemek istiyorum", | ||
38 | "pricing.support.label" : "Destek planınızı seçiniz", | ||
39 | "service.crashHandler.action" : "{name} yeniden yükle", | ||
40 | "service.crashHandler.autoReload" : "{name}'i {seconds} saniye içerisinde otomatik onarmayı deniyoruz", | ||
41 | "service.crashHandler.headline" : "Aman Tanrım hayır!", | ||
42 | "service.crashHandler.text" : "{name} bir hataya neden oldu.", | ||
43 | "service.disabledHandler.action" : "AktifleÅŸtir {name}", | ||
44 | "service.disabledHandler.headline" : "{name} devredışı", | ||
45 | "services.getStarted" : "Haydi başlayalım", | ||
46 | "services.welcome" : "Franz'a HoÅŸgeldiniz", | ||
47 | "settings.account.account.editButton" : "Hesabı düzenle", | ||
48 | "settings.account.accountType.basic" : "Basit Hesap", | ||
49 | "settings.account.accountType.premium" : "Premium Destekçi Hesabı", | ||
50 | "settings.account.buttonSave" : "Profili güncelle", | ||
51 | "settings.account.deleteAccount" : "Hesabı sil", | ||
52 | "settings.account.deleteEmailSent" : "Hesabınızın silinmesini onaylamanız için e-posta adresinize gönderilen bağlantıya tıklayınız. Bu işlem sonrasında hesabınız ve bilgileriniz geri getirilemez!", | ||
53 | "settings.account.deleteInfo" : "Franz hesabınıza artık ihtiyaç duymuyorsanız, hesabınızı ve buradaki bütün bağlantılı bilgilerinizi silebilirsiniz.", | ||
54 | "settings.account.headline" : "Hesap", | ||
55 | "settings.account.headlineAccount" : "Hesap bilgileri", | ||
56 | "settings.account.headlineDangerZone" : "Tehlike Bölgesi", | ||
57 | "settings.account.headlineInvoices" : "Faturalar", | ||
58 | "settings.account.headlinePassword" : "Parolayı değiştir", | ||
59 | "settings.account.headlineProfile" : "Profili güncelle", | ||
60 | "settings.account.headlineSubscription" : "AboneliÄŸin", | ||
61 | "settings.account.headlineUpgrade" : "Hesabını yükselt & Franz'ı destekle", | ||
62 | "settings.account.invoiceDownload" : "Ä°ndir", | ||
63 | "settings.account.manageSubscription.label" : "Aboneliğini yönet", | ||
64 | "settings.account.mining.active" : "Şu anda saniyede {hashes} hesaplama işlemi gerçekleştiriyorsun.", | ||
65 | "settings.account.mining.cancel" : "MadenciliÄŸi iptal et", | ||
66 | "settings.account.mining.moreInformation" : "Daha fazla bilgi al", | ||
67 | "settings.account.mining.thankyou" : "Franz'ı işlem gücünle desteklediğin için teşekkürler.", | ||
68 | "settings.account.successInfo" : "DeÄŸiÅŸikliklerin kaydedildi", | ||
69 | "settings.account.tryReloadUserInfoRequest" : "Tekrar deneyin", | ||
70 | "settings.account.userInfoRequestFailed" : "Kullanıcı bilgisi yüklenemedi.", | ||
71 | "settings.app.buttonClearAllCache" : "Clear cache", | ||
72 | "settings.app.buttonInstallUpdate" : "Yeniden Başlat ve Güncelleştirmeleri Kur", | ||
73 | "settings.app.buttonSearchForUpdate" : "Güncellemeleri kontrol et", | ||
74 | "settings.app.cacheInfo" : "Franz cache is currently using {size} of disk space.", | ||
75 | "settings.app.currentVersion" : "Geçerli sürüm:", | ||
76 | "settings.app.form.autoLaunchInBackground" : "Arka planda aç", | ||
77 | "settings.app.form.autoLaunchOnStart" : "Franz'ı başlangıçta aç", | ||
78 | "settings.app.form.beta" : "Beta versiyonları dahil et", | ||
79 | "settings.app.form.enableSpellchecking" : "Yazım denetimini etkinleştir", | ||
80 | "settings.app.form.enableSystemTray" : "Franz'ı sistem tepsisinde göster", | ||
81 | "settings.app.form.language" : "Dil", | ||
82 | "settings.app.form.minimizeToSystemTray" : "Franz'ı sistem tepsisine küçült", | ||
83 | "settings.app.form.runInBackground" : "Pencereyi kapatırken Franz'ı arka planda tut", | ||
84 | "settings.app.form.showDisabledServices" : "Devre dışı bırakılan servis sekmelerini göster", | ||
85 | "settings.app.form.showMessagesBadgesWhenMuted" : "Bildirimler kapalı iken okunmamış mesaj sayısını göster", | ||
86 | "settings.app.headline" : "Ayarlar", | ||
87 | "settings.app.headlineAdvanced" : "GeliÅŸmiÅŸ", | ||
88 | "settings.app.headlineAppearance" : "Görünüm", | ||
89 | "settings.app.headlineGeneral" : "Genel", | ||
90 | "settings.app.headlineLanguage" : "Dil", | ||
91 | "settings.app.headlineUpdates" : "Güncellemeler", | ||
92 | "settings.app.restartRequired" : "Değişiklikler yeniden başlatmayı gerektiriyor", | ||
93 | "settings.app.subheadlineCache" : "Cache", | ||
94 | "settings.app.translationHelp" : "Franz'ı senin diline tercüme etmemiz için yardım et.", | ||
95 | "settings.app.updateStatusAvailable" : "Güncelleme mevcut, indiriliyor...", | ||
96 | "settings.app.updateStatusSearching" : "Güncellemeleri denetliyor", | ||
97 | "settings.app.updateStatusUpToDate" : "Franz'ın son versiyonunu kullanıyorsun", | ||
98 | "settings.navigation.account" : "Hesap", | ||
99 | "settings.navigation.availableServices" : "Mevcut servisler", | ||
100 | "settings.navigation.logout" : "Çıkış", | ||
101 | "settings.navigation.settings" : "Ayarlar", | ||
102 | "settings.navigation.yourServices" : "Servislerin", | ||
103 | "settings.recipes.all" : "Tüm servisler", | ||
104 | "settings.recipes.dev" : "GeliÅŸtirme", | ||
105 | "settings.recipes.headline" : "Mevcut servisler", | ||
106 | "settings.recipes.missingService" : "Aradığın servisi bulamadın mı?", | ||
107 | "settings.recipes.mostPopular" : "En popüler", | ||
108 | "settings.recipes.nothingFound" : "Aradığın terimle eşleşen servis bulunamadı.", | ||
109 | "settings.recipes.servicesSuccessfulAddedInfo" : "Servis başarıyla eklendi", | ||
110 | "settings.searchService" : "Search service", | ||
111 | "settings.service.error.goBack" : "Servislere geri dön", | ||
112 | "settings.service.error.headline" : "Hata", | ||
113 | "settings.service.error.message" : "Servis tarifi yüklenemedi", | ||
114 | "settings.service.form.addServiceHeadline" : "{name} Ekle", | ||
115 | "settings.service.form.availableServices" : "Mevcut servisler", | ||
116 | "settings.service.form.customUrl" : "Özel sunucu", | ||
117 | "settings.service.form.customUrlPremiumInfo" : "Kendi barındırdığın servisi ekleyebilmek için Franz Premium Destek Hesabına ihtiyacın var.", | ||
118 | "settings.service.form.customUrlUpgradeAccount" : "Hesabını yükselt", | ||
119 | "settings.service.form.customUrlValidationError" : "{name} özel sunucu doğrulanamadı.", | ||
120 | "settings.service.form.deleteButton" : "Servisi sil", | ||
121 | "settings.service.form.editServiceHeadline" : "{name} düzenle", | ||
122 | "settings.service.form.enableAudio" : "Sesi etkinleÅŸtirin", | ||
123 | "settings.service.form.enableBadge" : "Show unread message badges", | ||
124 | "settings.service.form.enableNotification" : "Bildirimleri etkinleÅŸtir", | ||
125 | "settings.service.form.enableService" : "Servisi etkinleÅŸtir", | ||
126 | "settings.service.form.headlineBadges" : "Unread message badges", | ||
127 | "settings.service.form.headlineGeneral" : "Genel", | ||
128 | "settings.service.form.headlineNotifications" : "Notifications", | ||
129 | "settings.service.form.icon" : "Custom icon", | ||
130 | "settings.service.form.iconDelete" : "Delete", | ||
131 | "settings.service.form.iconUpload" : "Drop your image, or click here", | ||
132 | "settings.service.form.indirectMessageInfo" : "Bir kanaldaki tüm yeni mesajlar hakkında size bilgi verilecektir, bunlar daihil @username, @channel, @here, ...", | ||
133 | "settings.service.form.indirectMessages" : "Mesaj rozetini tüm yeni mesajlar için göster", | ||
134 | "settings.service.form.isMutedInfo" : "Devre dışı bırakıldığında, tüm bildirim sesleri sessize alınır", | ||
135 | "settings.service.form.name" : "Ä°sim", | ||
136 | "settings.service.form.saveButton" : "Servisi kaydet", | ||
137 | "settings.service.form.tabHosted" : "Barındırılan", | ||
138 | "settings.service.form.tabOnPremise" : "Kendi barındırılan", | ||
139 | "settings.service.form.team" : "Takım", | ||
140 | "settings.service.form.useHostedService" : "Use the hosted {name} service.", | ||
141 | "settings.service.form.yourServices" : "Servislerin", | ||
142 | "settings.services.deletedInfo" : "Servis silindi", | ||
143 | "settings.services.discoverServices" : "Servisleri keÅŸfet", | ||
144 | "settings.services.headline" : "Servislerin", | ||
145 | "settings.services.noServicesAdded" : "Henüz hiç servis eklemedin.", | ||
146 | "settings.services.tooltip.isDisabled" : "Servis devre dışı", | ||
147 | "settings.services.tooltip.isMuted" : "Tüm sesler kapalı", | ||
148 | "settings.services.tooltip.notificationsDisabled" : "Bildirimler devre dışı", | ||
149 | "settings.services.updatedInfo" : "DeÄŸiÅŸikliklerin kaydedildi", | ||
150 | "settings.user.form.accountType.company" : "Kurum", | ||
151 | "settings.user.form.accountType.individual" : "Bireysel", | ||
152 | "settings.user.form.accountType.label" : "Hesap tipi", | ||
153 | "settings.user.form.accountType.non-profit" : "Kar amacı gütmeyen", | ||
154 | "settings.user.form.currentPassword" : "Mevcut ÅŸifre", | ||
155 | "settings.user.form.email" : "E-posta", | ||
156 | "settings.user.form.firstname" : "Ad", | ||
157 | "settings.user.form.lastname" : "Soyad", | ||
158 | "settings.user.form.newPassword" : "Yeni ÅŸifre", | ||
159 | "sidebar.addNewService" : "Yeni servis ekle", | ||
160 | "sidebar.muteApp" : "Bildirimleri ve sesli uyarıları kapat", | ||
161 | "sidebar.settings" : "Ayarlar", | ||
162 | "sidebar.unmuteApp" : "Bildirimleri ve sesli uyarıları etkinleştir", | ||
163 | "signup.company.label" : "Kurum", | ||
164 | "signup.email.label" : "E-posta adresi", | ||
165 | "signup.emailDuplicate" : "Bu email adresine sahip bir kullanıcı zaten mevcut", | ||
166 | "signup.firstname.label" : "Ad", | ||
167 | "signup.headline" : "Hesap oluÅŸtur", | ||
168 | "signup.lastname.label" : "Soyad", | ||
169 | "signup.legal.info" : "Franz'ı hesabı oluşturark kabul ediyorsun", | ||
170 | "signup.legal.privacy" : "Gizlilik Sözleşmesi", | ||
171 | "signup.legal.terms" : "Kullanım Koşulları", | ||
172 | "signup.link.login" : "Mevcut hesabınla giriş yap.", | ||
173 | "signup.password.label" : "Åžifre", | ||
174 | "signup.submit.label" : "Hesap oluÅŸtur", | ||
175 | "subscription.euTaxInfo" : "AB vatandaşları: yerel satış vergileri uygulanabilir", | ||
176 | "subscription.features.ads" : "Reklam yok, asla!", | ||
177 | "subscription.features.comingSoon" : "yakında geliyor", | ||
178 | "subscription.features.customServices" : "Sen ve takımın için gizli servis", | ||
179 | "subscription.features.encryptedSync" : "Åžifreli oturum senkronizasyonu", | ||
180 | "subscription.features.onpremise" : "HipChat gibi kurum içi\/barındırılan hizmetler ekle", | ||
181 | "subscription.features.vpn" : "Proxy & VPN desteÄŸi", | ||
182 | "subscription.includedFeatures" : "Ücretli Franz Premium Destekçi Hesabına dahil", | ||
183 | "subscription.mining.experimental" : "deneysel", | ||
184 | "subscription.mining.headline" : "Bu nasıl çalışır?", | ||
185 | "subscription.mining.line1" : "\"İşlem gücü ile destekleme\"'yi etkinleştirdiğinde, Franz CPU'nun %20-50'lik kısmını kriptopara Monero madenciliği için kullanacak. Yılda yaklaşık 5$'a eşdeğer.", | ||
186 | "subscription.mining.line2" : "CPU kullanımını, pilinizi bitirmemek ve makinenizi yavaşlatmamak için çalışma davranışınıza göre uyarlayacağız.", | ||
187 | "subscription.mining.line3" : "Madenci etkin olduğu sürece, tüm Franz Premium Destekçi Özelliklerine sınırsız erişime sahip olacaksınız.", | ||
188 | "subscription.mining.moreInformation" : "Bu plan hakkında daha fazla bilgi al.", | ||
189 | "subscription.paymentSessionError" : "Ödeme formu başlatılamadı", | ||
190 | "subscription.submit.label" : "Franz'ın gelişimini desteklemek istiyorum", | ||
191 | "subscription.type.free" : "ücretsiz", | ||
192 | "subscription.type.mining" : "Franz'ı işlem gücüyle destekle", | ||
193 | "subscription.type.month" : "ay", | ||
194 | "subscription.type.year" : "yıl", | ||
195 | "subscriptionPopup.buttonCancel" : "Ä°ptal", | ||
196 | "subscriptionPopup.buttonDone" : "Tamamlandı", | ||
197 | "tabs.item.deleteService" : "Servisi sil", | ||
198 | "tabs.item.disableAudio" : "Sesi kapat", | ||
199 | "tabs.item.disableNotifications" : "Bildirimleri devre dışı bırak", | ||
200 | "tabs.item.disableService" : "Servisi devre dışı bırak", | ||
201 | "tabs.item.edit" : "Düzenle", | ||
202 | "tabs.item.enableAudio" : "Sesi etkinleÅŸtir", | ||
203 | "tabs.item.enableNotification" : "Bildirimleri etkinleÅŸtir", | ||
204 | "tabs.item.enableService" : "Servisi etkinleÅŸtir", | ||
205 | "tabs.item.reload" : "Yeniden Yükle", | ||
206 | "welcome.loginButton" : "Hesabına giriş yap", | ||
207 | "welcome.signupButton" : "Ãœcretsiz hesap oluÅŸtur", | ||
208 | "welcome.slogan" : "Sizin için çalışan mesajlaşma" | ||
209 | } | ||
diff --git a/src/i18n/locales/uk.json b/src/i18n/locales/uk.json index 902368150..5456bea95 100644 --- a/src/i18n/locales/uk.json +++ b/src/i18n/locales/uk.json | |||
@@ -3,9 +3,9 @@ | |||
3 | "global.notConnectedToTheInternet" : "Ви не підключені до Інтернету.", | 3 | "global.notConnectedToTheInternet" : "Ви не підключені до Інтернету.", |
4 | "import.headline" : "Імпортувати ваші ÑервіÑи з Franz 4", | 4 | "import.headline" : "Імпортувати ваші ÑервіÑи з Franz 4", |
5 | "import.notSupportedHeadline" : "СервіÑи ще не підтримуютьÑÑ Ð² Franz 5", | 5 | "import.notSupportedHeadline" : "СервіÑи ще не підтримуютьÑÑ Ð² Franz 5", |
6 | "import.skip.label" : "Я хочу додати ÑервіÑи вручну", | 6 | "import.skip.label" : "Я бажаю додати ÑÐµÑ€Ð²Ñ–Ñ Ð²Ñ€ÑƒÑ‡Ð½Ñƒ", |
7 | "import.submit.label" : "Імпортувати ÑервіÑи", | 7 | "import.submit.label" : "Імпортувати ÑервіÑи", |
8 | "infobar.buttonChangelog" : "What is new?", | 8 | "infobar.buttonChangelog" : "Що нового?", |
9 | "infobar.buttonInstallUpdate" : "Перезавантажити Ñ– вÑтановити оновленнÑ", | 9 | "infobar.buttonInstallUpdate" : "Перезавантажити Ñ– вÑтановити оновленнÑ", |
10 | "infobar.buttonReloadServices" : "Перезавантажити ÑервіÑи", | 10 | "infobar.buttonReloadServices" : "Перезавантажити ÑервіÑи", |
11 | "infobar.requiredRequestsFailed" : "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ ÑервіÑи та інформацію кориÑтувача", | 11 | "infobar.requiredRequestsFailed" : "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ ÑервіÑи та інформацію кориÑтувача", |
@@ -36,20 +36,24 @@ | |||
36 | "pricing.link.skipPayment" : "Я не хочу підтримувати розробку Franz.", | 36 | "pricing.link.skipPayment" : "Я не хочу підтримувати розробку Franz.", |
37 | "pricing.submit.label" : "Я хочу підтримати розробку Franz", | 37 | "pricing.submit.label" : "Я хочу підтримати розробку Franz", |
38 | "pricing.support.label" : "Виберіть Ñвій план підтримки", | 38 | "pricing.support.label" : "Виберіть Ñвій план підтримки", |
39 | "service.crashHandler.action" : "Reload {name}", | 39 | "service.crashHandler.action" : "Перезавантажити {name}", |
40 | "service.crashHandler.autoReload" : "Trying to automatically restore {name} in {seconds} seconds", | 40 | "service.crashHandler.autoReload" : "Спробую автоматично відновити {name} через {seconds} Ñ", |
41 | "service.crashHandler.headline" : "Oh no!", | 41 | "service.crashHandler.headline" : "О, ні!", |
42 | "service.crashHandler.text" : "{name} has caused an error.", | 42 | "service.crashHandler.text" : "{name} призвів до помилки.", |
43 | "service.disabledHandler.action" : "Enable {name}", | 43 | "service.disabledHandler.action" : "Увімкнути {name} ", |
44 | "service.disabledHandler.headline" : "{name} is disabled", | 44 | "service.disabledHandler.headline" : "{name} вимкнено", |
45 | "services.getStarted" : "Почати", | 45 | "services.getStarted" : "Почати", |
46 | "services.welcome" : "ЛаÑкаво проÑимо в Franz", | 46 | "services.welcome" : "ЛаÑкаво проÑимо в Franz", |
47 | "settings.account.account.editButton" : "Редагувати акаунт", | 47 | "settings.account.account.editButton" : "Редагувати акаунт", |
48 | "settings.account.accountType.basic" : "Базовий акаунт", | 48 | "settings.account.accountType.basic" : "Базовий акаунт", |
49 | "settings.account.accountType.premium" : "Преміум Ðкаунт Прихильника", | 49 | "settings.account.accountType.premium" : "Преміум Ðкаунт Прихильника", |
50 | "settings.account.buttonSave" : "Оновити профіль", | 50 | "settings.account.buttonSave" : "Оновити профіль", |
51 | "settings.account.deleteAccount" : "Видалити обліковий запиÑ", | ||
52 | "settings.account.deleteEmailSent" : "You have received an email with a link to confirm your account deletion. Your account and data cannot be restored!", | ||
53 | "settings.account.deleteInfo" : "Якщо Вам більше не потрібний обліковий Ð·Ð°Ð¿Ð¸Ñ Franz, Ви можете його видалити Ñ– вÑÑ– Ñуміжні дані.", | ||
51 | "settings.account.headline" : "Ðкаунт", | 54 | "settings.account.headline" : "Ðкаунт", |
52 | "settings.account.headlineAccount" : "Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ акаунт", | 55 | "settings.account.headlineAccount" : "Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ акаунт", |
56 | "settings.account.headlineDangerZone" : "Ðа Ñвій Ñтрах Ñ– ризик", | ||
53 | "settings.account.headlineInvoices" : "ІнвойÑи", | 57 | "settings.account.headlineInvoices" : "ІнвойÑи", |
54 | "settings.account.headlinePassword" : "Змінити пароль", | 58 | "settings.account.headlinePassword" : "Змінити пароль", |
55 | "settings.account.headlineProfile" : "Оновити профіль", | 59 | "settings.account.headlineProfile" : "Оновити профіль", |
@@ -64,26 +68,30 @@ | |||
64 | "settings.account.successInfo" : "Ваші зміни були збережені", | 68 | "settings.account.successInfo" : "Ваші зміни були збережені", |
65 | "settings.account.tryReloadUserInfoRequest" : "Спробуйте ще раз", | 69 | "settings.account.tryReloadUserInfoRequest" : "Спробуйте ще раз", |
66 | "settings.account.userInfoRequestFailed" : "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ інформацію кориÑтувача", | 70 | "settings.account.userInfoRequestFailed" : "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ інформацію кориÑтувача", |
71 | "settings.app.buttonClearAllCache" : "Clear cache", | ||
67 | "settings.app.buttonInstallUpdate" : "Перезавантажити Ñ– вÑтановити оновленнÑ", | 72 | "settings.app.buttonInstallUpdate" : "Перезавантажити Ñ– вÑтановити оновленнÑ", |
68 | "settings.app.buttonSearchForUpdate" : "Перевірити наÑвніÑÑ‚ÑŒ оновлень", | 73 | "settings.app.buttonSearchForUpdate" : "Перевірити наÑвніÑÑ‚ÑŒ оновлень", |
74 | "settings.app.cacheInfo" : "Franz cache is currently using {size} of disk space.", | ||
69 | "settings.app.currentVersion" : "Поточна верÑÑ–Ñ:", | 75 | "settings.app.currentVersion" : "Поточна верÑÑ–Ñ:", |
70 | "settings.app.form.autoLaunchInBackground" : "Відкрити у фоновому режимі", | 76 | "settings.app.form.autoLaunchInBackground" : "Відкрити у фоновому режимі", |
71 | "settings.app.form.autoLaunchOnStart" : "ЗапуÑкати Franz на початку", | 77 | "settings.app.form.autoLaunchOnStart" : "ЗапуÑкати Franz на початку", |
72 | "settings.app.form.beta" : "Включити бета-верÑÑ–Ñ—", | 78 | "settings.app.form.beta" : "Включити бета-верÑÑ–Ñ—", |
73 | "settings.app.form.enableSpellchecking" : "Enable spell checking", | 79 | "settings.app.form.enableSpellchecking" : "Увімкнути перевірку орфографії", |
74 | "settings.app.form.enableSystemTray" : "Show Franz in system tray", | 80 | "settings.app.form.enableSystemTray" : "Показувати Franz у ÑиÑтемному лотку", |
75 | "settings.app.form.language" : "Мова", | 81 | "settings.app.form.language" : "Мова", |
76 | "settings.app.form.minimizeToSystemTray" : "Мінімізувати Franz до ÑиÑтемного лотка", | 82 | "settings.app.form.minimizeToSystemTray" : "Мінімізувати Franz до ÑиÑтемного лотка", |
77 | "settings.app.form.runInBackground" : "Тримати Franz в фоні при закритті вікна", | 83 | "settings.app.form.runInBackground" : "Тримати Franz в фоні при закритті вікна", |
78 | "settings.app.form.showDisabledServices" : "Display disabled services tabs", | 84 | "settings.app.form.showDisabledServices" : "Display disabled services tabs", |
85 | "settings.app.form.showMessagesBadgesWhenMuted" : "Показувати значок непрочитаних повідомлень коли ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ñ–", | ||
79 | "settings.app.headline" : "ÐалаштуваннÑ", | 86 | "settings.app.headline" : "ÐалаштуваннÑ", |
80 | "settings.app.headlineAdvanced" : "Advanced", | 87 | "settings.app.headlineAdvanced" : "Advanced", |
81 | "settings.app.headlineAppearance" : "Appearance", | 88 | "settings.app.headlineAppearance" : "ВиглÑд", |
82 | "settings.app.headlineGeneral" : "Загальні", | 89 | "settings.app.headlineGeneral" : "Загальні", |
83 | "settings.app.headlineLanguage" : "Мова", | 90 | "settings.app.headlineLanguage" : "Мова", |
84 | "settings.app.headlineUpdates" : "ОновленнÑ", | 91 | "settings.app.headlineUpdates" : "ОновленнÑ", |
85 | "settings.app.restartRequired" : "Changes require restart", | 92 | "settings.app.restartRequired" : "Зміни потребують перезапуÑку", |
86 | "settings.app.translationHelp" : "Help us to translate Franz into your language.", | 93 | "settings.app.subheadlineCache" : "Cache", |
94 | "settings.app.translationHelp" : "Допоможіть переклаÑти Franz на Вашу мову.", | ||
87 | "settings.app.updateStatusAvailable" : "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð¾Ñтупне, завантаженнÑ...", | 95 | "settings.app.updateStatusAvailable" : "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð¾Ñтупне, завантаженнÑ...", |
88 | "settings.app.updateStatusSearching" : "Шукає оновленнÑ", | 96 | "settings.app.updateStatusSearching" : "Шукає оновленнÑ", |
89 | "settings.app.updateStatusUpToDate" : "Ви викориÑтовуєте оÑтанню верÑÑ–ÑŽ Franz", | 97 | "settings.app.updateStatusUpToDate" : "Ви викориÑтовуєте оÑтанню верÑÑ–ÑŽ Franz", |
@@ -95,24 +103,32 @@ | |||
95 | "settings.recipes.all" : "Ð’ÑÑ– ÑервіÑи", | 103 | "settings.recipes.all" : "Ð’ÑÑ– ÑервіÑи", |
96 | "settings.recipes.dev" : "Розробка", | 104 | "settings.recipes.dev" : "Розробка", |
97 | "settings.recipes.headline" : "ДоÑтупні ÑервіÑи", | 105 | "settings.recipes.headline" : "ДоÑтупні ÑервіÑи", |
98 | "settings.recipes.missingService" : "Missing a service?", | 106 | "settings.recipes.missingService" : "Ðе знайшли ÑервіÑу?", |
99 | "settings.recipes.mostPopular" : "Ðайбільш популÑрні", | 107 | "settings.recipes.mostPopular" : "Ðайбільш популÑрні", |
100 | "settings.recipes.nothingFound" : "Вибачте, але жоден ÑÐµÑ€Ð²Ñ–Ñ Ð½Ðµ відповідає пошуковому терміну.", | 108 | "settings.recipes.nothingFound" : "Вибачте, але жоден ÑÐµÑ€Ð²Ñ–Ñ Ð½Ðµ відповідає пошуковому терміну.", |
101 | "settings.recipes.servicesSuccessfulAddedInfo" : "Ð¡ÐµÑ€Ð²Ñ–Ñ ÑƒÑпішно додано", | 109 | "settings.recipes.servicesSuccessfulAddedInfo" : "Ð¡ÐµÑ€Ð²Ñ–Ñ ÑƒÑпішно додано", |
110 | "settings.searchService" : "Search service", | ||
102 | "settings.service.error.goBack" : "ПовернутиÑÑŒ до ÑервіÑів", | 111 | "settings.service.error.goBack" : "ПовернутиÑÑŒ до ÑервіÑів", |
103 | "settings.service.error.headline" : "Помилка", | 112 | "settings.service.error.headline" : "Помилка", |
104 | "settings.service.error.message" : "Ðе вдалоÑÑŒ завантажити Ñерверний протокол.", | 113 | "settings.service.error.message" : "Ðе вдалоÑÑŒ завантажити Ñерверний протокол.", |
105 | "settings.service.form.addServiceHeadline" : "Додати {name}", | 114 | "settings.service.form.addServiceHeadline" : "Додати {name}", |
106 | "settings.service.form.availableServices" : "ДоÑтупні ÑервіÑи", | 115 | "settings.service.form.availableServices" : "ДоÑтупні ÑервіÑи", |
107 | "settings.service.form.customUrl" : "КориÑтувацький Ñервер ", | 116 | "settings.service.form.customUrl" : "КориÑтувацький Ñервер", |
108 | "settings.service.form.customUrlPremiumInfo" : "Щоб додати ÑамоÑтійно розміщені ÑервіÑи, вам потріьно мати Преміумним Ðкаунт Прихильника Franz.", | 117 | "settings.service.form.customUrlPremiumInfo" : "Щоб додати ÑамоÑтійно розміщені ÑервіÑи, вам потріьно мати Преміумним Ðкаунт Прихильника Franz.", |
109 | "settings.service.form.customUrlUpgradeAccount" : "Оновити ваш обліковий запиÑ", | 118 | "settings.service.form.customUrlUpgradeAccount" : "Оновити ваш обліковий запиÑ", |
110 | "settings.service.form.customUrlValidationError" : "Ðе вдалоÑÑŒ підтвердити влаÑний {name} Ñервер.", | 119 | "settings.service.form.customUrlValidationError" : "Ðе вдалоÑÑŒ підтвердити влаÑний {name} Ñервер.", |
111 | "settings.service.form.deleteButton" : "Видалити ÑервіÑ", | 120 | "settings.service.form.deleteButton" : "Видалити ÑервіÑ", |
112 | "settings.service.form.editServiceHeadline" : "Редагувати {name}", | 121 | "settings.service.form.editServiceHeadline" : "Редагувати {name}", |
113 | "settings.service.form.enableAudio" : "Enable audio", | 122 | "settings.service.form.enableAudio" : "Увімкнути звук", |
123 | "settings.service.form.enableBadge" : "Show unread message badges", | ||
114 | "settings.service.form.enableNotification" : "Увімкнути ÑповіщеннÑ", | 124 | "settings.service.form.enableNotification" : "Увімкнути ÑповіщеннÑ", |
115 | "settings.service.form.enableService" : "Увімкнути ÑервіÑ", | 125 | "settings.service.form.enableService" : "Увімкнути ÑервіÑ", |
126 | "settings.service.form.headlineBadges" : "Unread message badges", | ||
127 | "settings.service.form.headlineGeneral" : "Загальні", | ||
128 | "settings.service.form.headlineNotifications" : "Notifications", | ||
129 | "settings.service.form.icon" : "Custom icon", | ||
130 | "settings.service.form.iconDelete" : "Delete", | ||
131 | "settings.service.form.iconUpload" : "Drop your image, or click here", | ||
116 | "settings.service.form.indirectMessageInfo" : "Ви отримаєте ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ вÑÑ– нові Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð² каналі, а не лише про @username, @channel, @here, ...", | 132 | "settings.service.form.indirectMessageInfo" : "Ви отримаєте ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ вÑÑ– нові Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð² каналі, а не лише про @username, @channel, @here, ...", |
117 | "settings.service.form.indirectMessages" : "Показувати значок Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð²ÑÑ–Ñ… нових повідомлень", | 133 | "settings.service.form.indirectMessages" : "Показувати значок Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð²ÑÑ–Ñ… нових повідомлень", |
118 | "settings.service.form.isMutedInfo" : "When disabled, all notification sounds and audio playback are muted", | 134 | "settings.service.form.isMutedInfo" : "When disabled, all notification sounds and audio playback are muted", |
@@ -121,13 +137,14 @@ | |||
121 | "settings.service.form.tabHosted" : "Розміщений", | 137 | "settings.service.form.tabHosted" : "Розміщений", |
122 | "settings.service.form.tabOnPremise" : "СамоÑтійно розміщений âï¸", | 138 | "settings.service.form.tabOnPremise" : "СамоÑтійно розміщений âï¸", |
123 | "settings.service.form.team" : "Команда", | 139 | "settings.service.form.team" : "Команда", |
140 | "settings.service.form.useHostedService" : "Use the hosted {name} service.", | ||
124 | "settings.service.form.yourServices" : "Ваші ÑервіÑи", | 141 | "settings.service.form.yourServices" : "Ваші ÑервіÑи", |
125 | "settings.services.deletedInfo" : "Ð¡ÐµÑ€Ð²Ñ–Ñ Ð±ÑƒÐ»Ð¾ видалено", | 142 | "settings.services.deletedInfo" : "Ð¡ÐµÑ€Ð²Ñ–Ñ Ð±ÑƒÐ»Ð¾ видалено", |
126 | "settings.services.discoverServices" : "Відкрийте Ð´Ð»Ñ Ñебе ÑервіÑи", | 143 | "settings.services.discoverServices" : "Відкрийте Ð´Ð»Ñ Ñебе ÑервіÑи", |
127 | "settings.services.headline" : "Ваші ÑервіÑи", | 144 | "settings.services.headline" : "Ваші ÑервіÑи", |
128 | "settings.services.noServicesAdded" : "Ви ще не додавали жодних ÑервіÑів.", | 145 | "settings.services.noServicesAdded" : "Ви ще не додавали жодних ÑервіÑів.", |
129 | "settings.services.tooltip.isDisabled" : "Ð¡ÐµÑ€Ð²Ñ–Ñ Ð²Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ð¹", | 146 | "settings.services.tooltip.isDisabled" : "Ð¡ÐµÑ€Ð²Ñ–Ñ Ð²Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ð¹", |
130 | "settings.services.tooltip.isMuted" : "All sounds are muted", | 147 | "settings.services.tooltip.isMuted" : "Ð’ÑÑ– звуки вимкнено", |
131 | "settings.services.tooltip.notificationsDisabled" : "Ð¡Ð¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ñ–", | 148 | "settings.services.tooltip.notificationsDisabled" : "Ð¡Ð¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ñ–", |
132 | "settings.services.updatedInfo" : "Ваші зміни були збережені", | 149 | "settings.services.updatedInfo" : "Ваші зміни були збережені", |
133 | "settings.user.form.accountType.company" : "КомпаніÑ", | 150 | "settings.user.form.accountType.company" : "КомпаніÑ", |
@@ -135,27 +152,27 @@ | |||
135 | "settings.user.form.accountType.label" : "Тип акаунту", | 152 | "settings.user.form.accountType.label" : "Тип акаунту", |
136 | "settings.user.form.accountType.non-profit" : "Ðекомерційний", | 153 | "settings.user.form.accountType.non-profit" : "Ðекомерційний", |
137 | "settings.user.form.currentPassword" : "Поточний пароль", | 154 | "settings.user.form.currentPassword" : "Поточний пароль", |
138 | "settings.user.form.email" : "Email", | 155 | "settings.user.form.email" : "Ел. пошта", |
139 | "settings.user.form.firstname" : "First Name", | 156 | "settings.user.form.firstname" : "Ім`Ñ", |
140 | "settings.user.form.lastname" : "Last Name", | 157 | "settings.user.form.lastname" : "Прізвище", |
141 | "settings.user.form.newPassword" : "Ðовий пароль", | 158 | "settings.user.form.newPassword" : "Ðовий пароль", |
142 | "sidebar.addNewService" : "Add new service", | 159 | "sidebar.addNewService" : "Додати новий ÑервіÑ", |
143 | "sidebar.mute" : "Disable audio", | 160 | "sidebar.muteApp" : "Вимкнути ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ‚Ð° звуки", |
144 | "sidebar.settings" : "ÐалаштуваннÑ", | 161 | "sidebar.settings" : "ÐалаштуваннÑ", |
145 | "sidebar.unmute" : "Enable audio", | 162 | "sidebar.unmuteApp" : "Увімкнути ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ‚Ð° звуки", |
146 | "signup.company.label" : "КомпаніÑ", | 163 | "signup.company.label" : "КомпаніÑ", |
147 | "signup.email.label" : "Email адреÑа", | 164 | "signup.email.label" : "Email адреÑа", |
148 | "signup.emailDuplicate" : "КориÑтувач із цією email адреÑою вже Ñ–Ñнує", | 165 | "signup.emailDuplicate" : "КориÑтувач із цією email адреÑою вже Ñ–Ñнує", |
149 | "signup.firstname.label" : "First Name", | 166 | "signup.firstname.label" : "Ім`Ñ", |
150 | "signup.headline" : "Увійти", | 167 | "signup.headline" : "Увійти", |
151 | "signup.lastname.label" : "Last Name", | 168 | "signup.lastname.label" : "Прізвище", |
152 | "signup.legal.info" : "СтвореннÑм акаунту Franz ви приймаєте", | 169 | "signup.legal.info" : "СтвореннÑм акаунту Franz ви приймаєте", |
153 | "signup.legal.privacy" : "ЗаÑва про конфіденційніÑÑ‚ÑŒ", | 170 | "signup.legal.privacy" : "ЗаÑва про конфіденційніÑÑ‚ÑŒ", |
154 | "signup.legal.terms" : "Умови викориÑтаннÑ", | 171 | "signup.legal.terms" : "Умови викориÑтаннÑ", |
155 | "signup.link.login" : "У Ð²Ð°Ñ Ð²Ð¶Ðµ Ñ” обліковий запиÑ, увійти?", | 172 | "signup.link.login" : "У Ð²Ð°Ñ Ð²Ð¶Ðµ Ñ” обліковий запиÑ, увійти?", |
156 | "signup.password.label" : "Пароль", | 173 | "signup.password.label" : "Пароль", |
157 | "signup.submit.label" : "Створити акаунт", | 174 | "signup.submit.label" : "Створити акаунт", |
158 | "subscription.euTaxInfo" : "EU residents: local sales tax may apply", | 175 | "subscription.euTaxInfo" : "Ð”Ð»Ñ Ð¶Ð¸Ñ‚ÐµÐ»Ñ–Ð² ЄС: можуть заÑтоÑовуватиÑÑ Ð¿Ð¾Ð´Ð°Ñ‚ÐºÐ¸", |
159 | "subscription.features.ads" : "Жодної реклами!", | 176 | "subscription.features.ads" : "Жодної реклами!", |
160 | "subscription.features.comingSoon" : "очікуйте незабаром", | 177 | "subscription.features.comingSoon" : "очікуйте незабаром", |
161 | "subscription.features.customServices" : "Приватні ÑервіÑи Ð´Ð»Ñ Ð²Ð°Ñ Ñ– вашої команди", | 178 | "subscription.features.customServices" : "Приватні ÑервіÑи Ð´Ð»Ñ Ð²Ð°Ñ Ñ– вашої команди", |
@@ -178,13 +195,13 @@ | |||
178 | "subscriptionPopup.buttonCancel" : "Відмінити", | 195 | "subscriptionPopup.buttonCancel" : "Відмінити", |
179 | "subscriptionPopup.buttonDone" : "Готово", | 196 | "subscriptionPopup.buttonDone" : "Готово", |
180 | "tabs.item.deleteService" : "Видалити ÑервіÑ", | 197 | "tabs.item.deleteService" : "Видалити ÑервіÑ", |
181 | "tabs.item.disableAudio" : "Disable audio", | 198 | "tabs.item.disableAudio" : "відключити звук", |
182 | "tabs.item.disableNotifications" : "Вимкнути ÑповіщеннÑ", | 199 | "tabs.item.disableNotifications" : "Вимкнути ÑповіщеннÑ", |
183 | "tabs.item.disableService" : "Вимкнути ÑервіÑ", | 200 | "tabs.item.disableService" : "Вимкнути ÑервіÑ", |
184 | "tabs.item.edit" : "Редагувати", | 201 | "tabs.item.edit" : "Редагувати", |
185 | "tabs.item.enableAudio" : "Enable audio", | 202 | "tabs.item.enableAudio" : "Увімкнути звук", |
186 | "tabs.item.enableNotification" : "Увімкнути ÑповіщеннÑ", | 203 | "tabs.item.enableNotification" : "Увімкнути ÑповіщеннÑ", |
187 | "tabs.item.enableService" : "Увімкнути ÑервіÑ", | 204 | "tabs.item.enableService" : "Увімкнути Ñлужбу", |
188 | "tabs.item.reload" : "Перезавантажити", | 205 | "tabs.item.reload" : "Перезавантажити", |
189 | "welcome.loginButton" : "Увійдіть до Ñвого акаунту", | 206 | "welcome.loginButton" : "Увійдіть до Ñвого акаунту", |
190 | "welcome.signupButton" : "Створити безплатний акаунт", | 207 | "welcome.signupButton" : "Створити безплатний акаунт", |
diff --git a/src/i18n/locales/zh-TW.json b/src/i18n/locales/zh-TW.json new file mode 100644 index 000000000..12f1035bf --- /dev/null +++ b/src/i18n/locales/zh-TW.json | |||
@@ -0,0 +1,209 @@ | |||
1 | { | ||
2 | "global.api.unhealthy" : "無法連線至Franz的伺æœå™¨ã€‚", | ||
3 | "global.notConnectedToTheInternet" : "ä½ æ²’æœ‰é€£ä¸Šç¶²è·¯ã€‚", | ||
4 | "import.headline" : "匯入Franz 4çš„æœå‹™", | ||
5 | "import.notSupportedHeadline" : "Franz 5尚未支æ´æ¤æœå‹™", | ||
6 | "import.skip.label" : "æ‰‹å‹•æ·»åŠ æœå‹™", | ||
7 | "import.submit.label" : "匯入æœå‹™", | ||
8 | "infobar.buttonChangelog" : "有什麼新功能呢?", | ||
9 | "infobar.buttonInstallUpdate" : "é‡æ–°å•Ÿå‹•ä¸¦å®‰è£æ›´æ–°", | ||
10 | "infobar.buttonReloadServices" : "é‡æ–°è¼‰å…¥æœå‹™", | ||
11 | "infobar.requiredRequestsFailed" : "無法載入æœå‹™å’Œä½¿ç”¨è€…資訊", | ||
12 | "infobar.servicesUpdated" : "ä½ çš„æœå‹™å·²ç¶“被更新", | ||
13 | "infobar.updateAvailable" : "Franz有å¯ç”¨çš„æ›´æ–°", | ||
14 | "invite.email.label" : "é›»å郵件地å€", | ||
15 | "invite.headline.friends" : "邀請3ä½ä½ 的朋å‹æˆ–åŒäº‹", | ||
16 | "invite.name.label" : "å稱", | ||
17 | "invite.skip.label" : "我想ç¨å¾Œå†åš", | ||
18 | "invite.submit.label" : "é€å‡ºé‚€è«‹", | ||
19 | "login.email.label" : "é›»å郵件地å€", | ||
20 | "login.headline" : "登入", | ||
21 | "login.invalidCredentials" : "é›»å郵件或密碼有誤", | ||
22 | "login.link.password" : "é‡è¨å¯†ç¢¼", | ||
23 | "login.link.signup" : "建立å…費帳號", | ||
24 | "login.password.label" : "密碼", | ||
25 | "login.serverLogout" : "您的登入期間已éŽæœŸï¼Œè«‹é‡æ–°ç™»éŒ„", | ||
26 | "login.submit.label" : "登入", | ||
27 | "login.tokenExpired" : "您的登入已éŽæœŸï¼Œè«‹é‡æ–°ç™»å…¥ã€‚", | ||
28 | "password.email.label" : "é›»å郵件地å€", | ||
29 | "password.headline" : "é‡è¨å¯†ç¢¼", | ||
30 | "password.link.login" : "登入您的帳號", | ||
31 | "password.link.signup" : "建立å…費帳號", | ||
32 | "password.noUser" : "找ä¸åˆ°è©²é›»å郵件地å€çš„用戶", | ||
33 | "password.submit.label" : "é€å‡º", | ||
34 | "password.successInfo" : "請檢查您的電å郵件", | ||
35 | "pricing.headline" : "支æŒFranz", | ||
36 | "pricing.link.skipPayment" : "我ä¸æƒ³æ”¯æŒFranz的開發。", | ||
37 | "pricing.submit.label" : "我想支æŒFranz的開發。", | ||
38 | "pricing.support.label" : "é¸æ“‡æ‚¨æ”¯æŒçš„計畫", | ||
39 | "service.crashHandler.action" : "é‡æ–°è¼‰å…¥{name}", | ||
40 | "service.crashHandler.autoReload" : "嘗試在{seconds}秒內自動æ¢å¾©{name}", | ||
41 | "service.crashHandler.headline" : "噢ä¸!", | ||
42 | "service.crashHandler.text" : "{name}導致了一個錯誤。", | ||
43 | "service.disabledHandler.action" : "啟用{name}", | ||
44 | "service.disabledHandler.headline" : "{name}å·²åœç”¨", | ||
45 | "services.getStarted" : "開始", | ||
46 | "services.welcome" : "æ¡è¿Žä½¿ç”¨Franz", | ||
47 | "settings.account.account.editButton" : "編輯帳號", | ||
48 | "settings.account.accountType.basic" : "基礎帳號", | ||
49 | "settings.account.accountType.premium" : "高級支æŒè€…帳戶", | ||
50 | "settings.account.buttonSave" : "更新簡介", | ||
51 | "settings.account.deleteAccount" : "移除帳號", | ||
52 | "settings.account.deleteEmailSent" : "移除帳號之確èªé›»éƒµå·²é€å‡ºã€‚ä½ çš„å¸³è™ŸåŠç›¸é—œè³‡æ–™å°‡ç„¡æ³•æ¢å¾©ï¼", | ||
53 | "settings.account.deleteInfo" : "如果ä¸å†éœ€è¦ä½ çš„å¸³è™Ÿäº†ï¼Œä½ å¯ä»¥åœ¨é€™è£¡åˆªé™¤å¸³è™Ÿå’Œç›¸é—œè³‡æ–™", | ||
54 | "settings.account.headline" : "帳號", | ||
55 | "settings.account.headlineAccount" : "帳戶資訊", | ||
56 | "settings.account.headlineDangerZone" : "å±éšªåœ°å¸¶", | ||
57 | "settings.account.headlineInvoices" : "帳單", | ||
58 | "settings.account.headlinePassword" : "變更密碼", | ||
59 | "settings.account.headlineProfile" : "更新簡介", | ||
60 | "settings.account.headlineSubscription" : "您的訂閱", | ||
61 | "settings.account.headlineUpgrade" : "å‡ç´šæ‚¨çš„帳戶&支æŒFranz", | ||
62 | "settings.account.invoiceDownload" : "下載", | ||
63 | "settings.account.manageSubscription.label" : "管ç†æ‚¨çš„訂閱", | ||
64 | "settings.account.mining.active" : "您ç¾åœ¨æ¯ç§’æ£åœ¨åŸ·è¡Œ{hashes}計算。", | ||
65 | "settings.account.mining.cancel" : "å–消挖掘", | ||
66 | "settings.account.mining.moreInformation" : "å–得更多資訊", | ||
67 | "settings.account.mining.thankyou" : "æ„Ÿè¬ç”¨ä½ 的處ç†èƒ½åŠ›æ”¯æŒFranz。", | ||
68 | "settings.account.successInfo" : "您的更變已經被儲å˜", | ||
69 | "settings.account.tryReloadUserInfoRequest" : "å†è©¦ä¸€æ¬¡", | ||
70 | "settings.account.userInfoRequestFailed" : "無法載入使用者資訊。", | ||
71 | "settings.app.buttonClearAllCache" : "Clear cache", | ||
72 | "settings.app.buttonInstallUpdate" : "é‡æ–°å•Ÿå‹•ä¸¦å®‰è£æ›´æ–°", | ||
73 | "settings.app.buttonSearchForUpdate" : "檢查更新", | ||
74 | "settings.app.cacheInfo" : "Franz cache is currently using {size} of disk space.", | ||
75 | "settings.app.currentVersion" : "ç›®å‰çš„版本", | ||
76 | "settings.app.form.autoLaunchInBackground" : "在背景開啟", | ||
77 | "settings.app.form.autoLaunchOnStart" : "開機時啟動Franz", | ||
78 | "settings.app.form.beta" : "包å«æ¸¬è©¦ç‰ˆ", | ||
79 | "settings.app.form.enableSpellchecking" : "啟用拼å—檢查", | ||
80 | "settings.app.form.enableSystemTray" : "顯示Franz在系統列", | ||
81 | "settings.app.form.language" : "語言", | ||
82 | "settings.app.form.minimizeToSystemTray" : "最å°åŒ–Franz到系統列", | ||
83 | "settings.app.form.runInBackground" : "當關閉視窗時ä¿æŒFranz在背景é‹ä½œ", | ||
84 | "settings.app.form.showDisabledServices" : "顯示åœç”¨çš„æœå‹™æ¨™ç±¤", | ||
85 | "settings.app.form.showMessagesBadgesWhenMuted" : "當通知關閉時,標記未讀的訊æ¯", | ||
86 | "settings.app.headline" : "è¨å®š", | ||
87 | "settings.app.headlineAdvanced" : "進階", | ||
88 | "settings.app.headlineAppearance" : "外觀", | ||
89 | "settings.app.headlineGeneral" : "一般", | ||
90 | "settings.app.headlineLanguage" : "語言", | ||
91 | "settings.app.headlineUpdates" : "æ›´æ–°", | ||
92 | "settings.app.restartRequired" : "需è¦é‡å•Ÿä»¥æ›´è®Š", | ||
93 | "settings.app.subheadlineCache" : "Cache", | ||
94 | "settings.app.translationHelp" : "幫助我們將Franzç¿»è¯æˆæ‚¨çš„語言。", | ||
95 | "settings.app.updateStatusAvailable" : "有å¯ç”¨æ›´æ–°ï¼Œä¸‹è¼‰ä¸...", | ||
96 | "settings.app.updateStatusSearching" : "æ£åœ¨æœå°‹æ›´æ–°", | ||
97 | "settings.app.updateStatusUpToDate" : "您æ£åœ¨ä½¿ç”¨æœ€æ–°ç‰ˆæœ¬çš„Franz", | ||
98 | "settings.navigation.account" : "帳號", | ||
99 | "settings.navigation.availableServices" : "å¯ä½¿ç”¨çš„æœå‹™", | ||
100 | "settings.navigation.logout" : "登出", | ||
101 | "settings.navigation.settings" : "è¨å®š", | ||
102 | "settings.navigation.yourServices" : "您的æœå‹™", | ||
103 | "settings.recipes.all" : "所有æœå‹™", | ||
104 | "settings.recipes.dev" : "開發", | ||
105 | "settings.recipes.headline" : "å¯ä½¿ç”¨çš„æœå‹™", | ||
106 | "settings.recipes.missingService" : "缺少æœå‹™?", | ||
107 | "settings.recipes.mostPopular" : "最熱門", | ||
108 | "settings.recipes.nothingFound" : "很抱æ‰ï¼Œæ²’有與您的æœå°‹å—詞符åˆçš„æœå‹™", | ||
109 | "settings.recipes.servicesSuccessfulAddedInfo" : "æœå‹™å·²æˆåŠŸæ–°å¢žã€‚", | ||
110 | "settings.searchService" : "Search service", | ||
111 | "settings.service.error.goBack" : "返回æœå‹™", | ||
112 | "settings.service.error.headline" : "錯誤", | ||
113 | "settings.service.error.message" : "無法載入æœå‹™å‘½ä»¤ã€‚", | ||
114 | "settings.service.form.addServiceHeadline" : "新增{name}", | ||
115 | "settings.service.form.availableServices" : "å¯ä½¿ç”¨çš„æœå‹™", | ||
116 | "settings.service.form.customUrl" : "自訂伺æœå™¨", | ||
117 | "settings.service.form.customUrlPremiumInfo" : "è¦æ·»åŠ 自己託管的æœå‹™ï¼Œæ‚¨éœ€è¦ä¸€å€‹Franz é¡å¤–支æŒè€…帳戶。", | ||
118 | "settings.service.form.customUrlUpgradeAccount" : "å‡ç´šæ‚¨çš„帳戶", | ||
119 | "settings.service.form.customUrlValidationError" : "無法驗è‰è‡ªå®šç¾©{name}æœå‹™å™¨ã€‚", | ||
120 | "settings.service.form.deleteButton" : "刪除æœå‹™", | ||
121 | "settings.service.form.editServiceHeadline" : "編輯{å稱}", | ||
122 | "settings.service.form.enableAudio" : "啟用音訊", | ||
123 | "settings.service.form.enableBadge" : "Show unread message badges", | ||
124 | "settings.service.form.enableNotification" : "啟用通知", | ||
125 | "settings.service.form.enableService" : "啟用æœå‹™", | ||
126 | "settings.service.form.headlineBadges" : "Unread message badges", | ||
127 | "settings.service.form.headlineGeneral" : "一般", | ||
128 | "settings.service.form.headlineNotifications" : "Notifications", | ||
129 | "settings.service.form.icon" : "Custom icon", | ||
130 | "settings.service.form.iconDelete" : "Delete", | ||
131 | "settings.service.form.iconUpload" : "Drop your image, or click here", | ||
132 | "settings.service.form.indirectMessageInfo" : "æ‚¨å°‡æ”¶åˆ°æœ‰é—œé »é“ä¸æ‰€æœ‰æ–°æ¶ˆæ¯çš„通知,而ä¸åƒ…僅是@username,@channel,@here,...", | ||
133 | "settings.service.form.indirectMessages" : "顯示所有新消æ¯çš„消æ¯æ¨™èªŒ", | ||
134 | "settings.service.form.isMutedInfo" : "åœç”¨æ™‚,所有通知è²å’Œè²éŸ³æ’放都將éœéŸ³", | ||
135 | "settings.service.form.name" : "å稱", | ||
136 | "settings.service.form.saveButton" : "ä¿å˜æœå‹™", | ||
137 | "settings.service.form.tabHosted" : "託管", | ||
138 | "settings.service.form.tabOnPremise" : "自我託管âï¸", | ||
139 | "settings.service.form.team" : "團隊", | ||
140 | "settings.service.form.useHostedService" : "Use the hosted {name} service.", | ||
141 | "settings.service.form.yourServices" : "您的æœå‹™", | ||
142 | "settings.services.deletedInfo" : "已刪除æœå‹™", | ||
143 | "settings.services.discoverServices" : "發ç¾æœå‹™", | ||
144 | "settings.services.headline" : "您的æœå‹™", | ||
145 | "settings.services.noServicesAdded" : "ä½ å°šæœªæ–°å¢žä»»ä½•æœå‹™", | ||
146 | "settings.services.tooltip.isDisabled" : "æœå‹™å·²åœç”¨", | ||
147 | "settings.services.tooltip.isMuted" : "所有的è²éŸ³éƒ½æ˜¯éœéŸ³", | ||
148 | "settings.services.tooltip.notificationsDisabled" : "通知已åœç”¨", | ||
149 | "settings.services.updatedInfo" : "ä½ çš„æ›´è®Šå·²ç¶“å„²å˜", | ||
150 | "settings.user.form.accountType.company" : "å…¬å¸", | ||
151 | "settings.user.form.accountType.individual" : "個人", | ||
152 | "settings.user.form.accountType.label" : "帳戶類型", | ||
153 | "settings.user.form.accountType.non-profit" : "éžç›ˆåˆ©", | ||
154 | "settings.user.form.currentPassword" : "ç›®å‰å¯†ç¢¼", | ||
155 | "settings.user.form.email" : "é›»å郵件", | ||
156 | "settings.user.form.firstname" : "å", | ||
157 | "settings.user.form.lastname" : "姓", | ||
158 | "settings.user.form.newPassword" : "新密碼", | ||
159 | "sidebar.addNewService" : "新增新的æœå‹™", | ||
160 | "sidebar.muteApp" : "關閉通知和通知音效", | ||
161 | "sidebar.settings" : "è¨å®š", | ||
162 | "sidebar.unmuteApp" : "開啟通知和通知音效", | ||
163 | "signup.company.label" : "å…¬å¸", | ||
164 | "signup.email.label" : "é›»å郵件地å€", | ||
165 | "signup.emailDuplicate" : "該使用者的電å郵件ä½å€å·²å˜åœ¨", | ||
166 | "signup.firstname.label" : "å", | ||
167 | "signup.headline" : "註冊", | ||
168 | "signup.lastname.label" : "姓", | ||
169 | "signup.legal.info" : "ä½ æŽ¥å—é€éŽå‰µå»ºä¸€å€‹Franz帳戶", | ||
170 | "signup.legal.privacy" : "éš±ç§è²æ˜Ž", | ||
171 | "signup.legal.terms" : "æœå‹™æ¢æ¬¾", | ||
172 | "signup.link.login" : "已經有一個帳戶,登入?", | ||
173 | "signup.password.label" : "密碼", | ||
174 | "signup.submit.label" : "建立帳號", | ||
175 | "subscription.euTaxInfo" : "æ盟居民:å¯èƒ½æŽ¡ç”¨ç•¶åœ°éŠ·å”®ç¨…", | ||
176 | "subscription.features.ads" : "無廣告,永é !", | ||
177 | "subscription.features.comingSoon" : "å³å°‡æŽ¨å‡º", | ||
178 | "subscription.features.customServices" : "為您和您的團隊æä¾›ç§äººæœå‹™", | ||
179 | "subscription.features.encryptedSync" : "åŠ å¯†çš„æœƒè©±åŒæ¥", | ||
180 | "subscription.features.onpremise" : "æ·»åŠ æœ¬åœ°\/託管æœå‹™å¦‚HipChat", | ||
181 | "subscription.features.vpn" : "代ç†å’ŒVPN支æŒ", | ||
182 | "subscription.includedFeatures" : "包å«é«˜ç´šFranz付費帳戶", | ||
183 | "subscription.mining.experimental" : "實驗性", | ||
184 | "subscription.mining.headline" : "這是怎麼é‹ä½œçš„?", | ||
185 | "subscription.mining.line1" : "é€éŽå•Ÿç”¨ã€Œå…·æœ‰è™•ç†èƒ½åŠ›çš„支æ´ã€ï¼ŒFranz將使用大約20-50%çš„CPUä¾†æŒ–æŽ˜åŠ å¯†è²¨å¹£Monero,大約相當於æ¯å¹´5美元。", | ||
186 | "subscription.mining.line2" : "æˆ‘å€‘å°‡æ ¹æ“šæ‚¨çš„ä½¿ç”¨æƒ…å½¢èª¿æ•´CPU使用率,以é¿å…è€—ç›¡é›»æ± ï¼Œé™ä½Žæ‚¨å’Œæ©Ÿå™¨çš„性能。", | ||
187 | "subscription.mining.line3" : "åªè¦ç¤¦å·¥è™•æ–¼æ´»å‹•ç‹€æ…‹ï¼Œæ‚¨å°±å¯ä»¥ç„¡é™åˆ¶åœ°ä½¿ç”¨æ‰€æœ‰çš„Franz 高級支æŒè€…的功能。", | ||
188 | "subscription.mining.moreInformation" : "å–得有關æ¤è¨ˆåŠƒçš„更多資訊。", | ||
189 | "subscription.paymentSessionError" : "無法åˆå§‹åŒ–付款表單", | ||
190 | "subscription.submit.label" : "我想支æŒFranz的開發", | ||
191 | "subscription.type.free" : "自由", | ||
192 | "subscription.type.mining" : "用進程處ç†æ¬Šé™æ”¯æŒFranz", | ||
193 | "subscription.type.month" : "月", | ||
194 | "subscription.type.year" : "å¹´", | ||
195 | "subscriptionPopup.buttonCancel" : "å–消", | ||
196 | "subscriptionPopup.buttonDone" : "完æˆ", | ||
197 | "tabs.item.deleteService" : "刪除æœå‹™", | ||
198 | "tabs.item.disableAudio" : "åœç”¨éŸ³è¨Š", | ||
199 | "tabs.item.disableNotifications" : "åœç”¨é€šçŸ¥", | ||
200 | "tabs.item.disableService" : "關閉æœå‹™", | ||
201 | "tabs.item.edit" : "編輯", | ||
202 | "tabs.item.enableAudio" : "啟用音訊", | ||
203 | "tabs.item.enableNotification" : "啟用通知", | ||
204 | "tabs.item.enableService" : "啟用æœå‹™", | ||
205 | "tabs.item.reload" : "é‡æ–°è¼‰å…¥", | ||
206 | "welcome.loginButton" : "登入您的帳戶", | ||
207 | "welcome.signupButton" : "建立å…費帳號", | ||
208 | "welcome.slogan" : "ç‚ºä½ é€šä¿¡" | ||
209 | } | ||
diff --git a/src/index.html b/src/index.html index 05a93e37b..9e5acd705 100644 --- a/src/index.html +++ b/src/index.html | |||
@@ -23,6 +23,24 @@ | |||
23 | s.async = true; | 23 | s.async = true; |
24 | s.setAttribute('src', lrHost + '/livereload.js'); | 24 | s.setAttribute('src', lrHost + '/livereload.js'); |
25 | document.body.appendChild(s); | 25 | document.body.appendChild(s); |
26 | |||
27 | s.onload = () => { | ||
28 | console.log('livereload loaded'); | ||
29 | const originalReloadBehaviour = window._onLiveReloadFileChanged; | ||
30 | |||
31 | window._onLiveReloadFileChanged = (file) => { | ||
32 | if (!file.path.includes('/build/webview/') && !file.path.includes('/build/index.js') && !file.path.includes('/build/electron/')) { | ||
33 | originalReloadBehaviour(file); | ||
34 | } else { | ||
35 | if (file.path.includes('/build/webview/')) { | ||
36 | console.log('Livereload: Reloading all webvies'); | ||
37 | const webviews = document.querySelectorAll('webview').forEach(webview => webview.reload()); | ||
38 | } else { | ||
39 | console.log('Livereload: skip reload as only main process files have changed'); | ||
40 | } | ||
41 | } | ||
42 | } | ||
43 | } | ||
26 | })(); | 44 | })(); |
27 | } | 45 | } |
28 | </script> | 46 | </script> |
diff --git a/src/index.js b/src/index.js index 6a08e5e5a..f82bb3590 100644 --- a/src/index.js +++ b/src/index.js | |||
@@ -8,6 +8,7 @@ import { isDevMode, isWindows } from './environment'; | |||
8 | import ipcApi from './electron/ipc-api'; | 8 | import ipcApi from './electron/ipc-api'; |
9 | import Tray from './lib/Tray'; | 9 | import Tray from './lib/Tray'; |
10 | import Settings from './electron/Settings'; | 10 | import Settings from './electron/Settings'; |
11 | import handleDeepLink from './electron/deepLinking'; | ||
11 | import { appId } from './package.json'; // eslint-disable-line import/no-unresolved | 12 | import { appId } from './package.json'; // eslint-disable-line import/no-unresolved |
12 | import './electron/exception'; | 13 | import './electron/exception'; |
13 | 14 | ||
@@ -26,14 +27,24 @@ if (isWindows) { | |||
26 | } | 27 | } |
27 | 28 | ||
28 | // Force single window | 29 | // Force single window |
29 | const isSecondInstance = app.makeSingleInstance(() => { | 30 | const isSecondInstance = app.makeSingleInstance((argv) => { |
30 | if (mainWindow) { | 31 | if (mainWindow) { |
31 | if (mainWindow.isMinimized()) mainWindow.restore(); | 32 | if (mainWindow.isMinimized()) mainWindow.restore(); |
32 | mainWindow.focus(); | 33 | mainWindow.focus(); |
34 | |||
35 | if (process.platform === 'win32') { | ||
36 | // Keep only command line / deep linked arguments | ||
37 | const url = argv.slice(1); | ||
38 | |||
39 | if (url) { | ||
40 | handleDeepLink(mainWindow, url.toString()); | ||
41 | } | ||
42 | } | ||
33 | } | 43 | } |
34 | }); | 44 | }); |
35 | 45 | ||
36 | if (isSecondInstance) { | 46 | if (isSecondInstance) { |
47 | console.log('An instance of Franz is already running. Exiting...'); | ||
37 | app.exit(); | 48 | app.exit(); |
38 | } | 49 | } |
39 | 50 | ||
@@ -176,3 +187,15 @@ app.on('activate', () => { | |||
176 | mainWindow.show(); | 187 | mainWindow.show(); |
177 | } | 188 | } |
178 | }); | 189 | }); |
190 | |||
191 | app.on('will-finish-launching', () => { | ||
192 | // Protocol handler for osx | ||
193 | app.on('open-url', (event, url) => { | ||
194 | event.preventDefault(); | ||
195 | console.log(`open-url event: ${url}`); | ||
196 | handleDeepLink(mainWindow, url); | ||
197 | }); | ||
198 | }); | ||
199 | |||
200 | // Register App URL | ||
201 | app.setAsDefaultProtocolClient('franz'); | ||
diff --git a/src/lib/Menu.js b/src/lib/Menu.js index 6624ab75e..d01666d49 100644 --- a/src/lib/Menu.js +++ b/src/lib/Menu.js | |||
@@ -167,7 +167,7 @@ export default class FranzMenu { | |||
167 | label: 'Settings', | 167 | label: 'Settings', |
168 | accelerator: 'CmdOrCtrl+,', | 168 | accelerator: 'CmdOrCtrl+,', |
169 | click: () => { | 169 | click: () => { |
170 | this.actions.ui.openSettings({ path: '' }); | 170 | this.actions.ui.openSettings({ path: 'app' }); |
171 | }, | 171 | }, |
172 | }, | 172 | }, |
173 | { | 173 | { |
@@ -249,7 +249,7 @@ export default class FranzMenu { | |||
249 | } | 249 | } |
250 | 250 | ||
251 | @computed get serviceTpl() { | 251 | @computed get serviceTpl() { |
252 | const services = this.stores.services.enabled; | 252 | const services = this.stores.services.allDisplayed; |
253 | 253 | ||
254 | if (this.stores.user.isLoggedIn) { | 254 | if (this.stores.user.isLoggedIn) { |
255 | return services.map((service, i) => ({ | 255 | return services.map((service, i) => ({ |
diff --git a/src/models/Recipe.js b/src/models/Recipe.js index 9971df77c..1fc23ac89 100644 --- a/src/models/Recipe.js +++ b/src/models/Recipe.js | |||
@@ -1,10 +1,11 @@ | |||
1 | import emailParser from 'address-rfc2822'; | 1 | import emailParser from 'address-rfc2822'; |
2 | import semver from 'semver'; | ||
2 | 3 | ||
3 | export default class Recipe { | 4 | export default class Recipe { |
4 | id = ''; | 5 | id = ''; |
5 | name = ''; | 6 | name = ''; |
6 | description = ''; | 7 | description = ''; |
7 | version = '1.0'; | 8 | version = ''; |
8 | path = ''; | 9 | path = ''; |
9 | 10 | ||
10 | serviceURL = ''; | 11 | serviceURL = ''; |
@@ -15,6 +16,7 @@ export default class Recipe { | |||
15 | hasTeamId = false; | 16 | hasTeamId = false; |
16 | hasPredefinedUrl = false; | 17 | hasPredefinedUrl = false; |
17 | hasCustomUrl = false; | 18 | hasCustomUrl = false; |
19 | hasHostedOption = false; | ||
18 | urlInputPrefix = ''; | 20 | urlInputPrefix = ''; |
19 | urlInputSuffix = ''; | 21 | urlInputSuffix = ''; |
20 | 22 | ||
@@ -30,6 +32,10 @@ export default class Recipe { | |||
30 | throw Error(`Recipe '${data.name}' requires Id`); | 32 | throw Error(`Recipe '${data.name}' requires Id`); |
31 | } | 33 | } |
32 | 34 | ||
35 | if (!semver.valid(data.version)) { | ||
36 | throw Error(`Version ${data.version} of recipe '${data.name}' is not a valid semver version`); | ||
37 | } | ||
38 | |||
33 | this.id = data.id || this.id; | 39 | this.id = data.id || this.id; |
34 | this.name = data.name || this.name; | 40 | this.name = data.name || this.name; |
35 | this.rawAuthor = data.author || this.author; | 41 | this.rawAuthor = data.author || this.author; |
@@ -45,6 +51,7 @@ export default class Recipe { | |||
45 | this.hasTeamId = data.config.hasTeamId || this.hasTeamId; | 51 | this.hasTeamId = data.config.hasTeamId || this.hasTeamId; |
46 | this.hasPredefinedUrl = data.config.hasPredefinedUrl || this.hasPredefinedUrl; | 52 | this.hasPredefinedUrl = data.config.hasPredefinedUrl || this.hasPredefinedUrl; |
47 | this.hasCustomUrl = data.config.hasCustomUrl || this.hasCustomUrl; | 53 | this.hasCustomUrl = data.config.hasCustomUrl || this.hasCustomUrl; |
54 | this.hasHostedOption = data.config.hasHostedOption || this.hasHostedOption; | ||
48 | 55 | ||
49 | this.urlInputPrefix = data.config.urlInputPrefix || this.urlInputPrefix; | 56 | this.urlInputPrefix = data.config.urlInputPrefix || this.urlInputPrefix; |
50 | this.urlInputSuffix = data.config.urlInputSuffix || this.urlInputSuffix; | 57 | this.urlInputSuffix = data.config.urlInputSuffix || this.urlInputSuffix; |
diff --git a/src/models/Service.js b/src/models/Service.js index 958e4b11e..423510c7d 100644 --- a/src/models/Service.js +++ b/src/models/Service.js | |||
@@ -22,8 +22,10 @@ export default class Service { | |||
22 | @observable team = ''; | 22 | @observable team = ''; |
23 | @observable customUrl = ''; | 23 | @observable customUrl = ''; |
24 | @observable isNotificationEnabled = true; | 24 | @observable isNotificationEnabled = true; |
25 | @observable isBadgeEnabled = true; | ||
25 | @observable isIndirectMessageBadgeEnabled = true; | 26 | @observable isIndirectMessageBadgeEnabled = true; |
26 | @observable customIconUrl = ''; | 27 | @observable iconUrl = ''; |
28 | @observable hasCustomUploadedIcon = false; | ||
27 | @observable hasCrashed = false; | 29 | @observable hasCrashed = false; |
28 | 30 | ||
29 | constructor(data, recipe) { | 31 | constructor(data, recipe) { |
@@ -41,7 +43,8 @@ export default class Service { | |||
41 | this.name = data.name || this.name; | 43 | this.name = data.name || this.name; |
42 | this.team = data.team || this.team; | 44 | this.team = data.team || this.team; |
43 | this.customUrl = data.customUrl || this.customUrl; | 45 | this.customUrl = data.customUrl || this.customUrl; |
44 | this.customIconUrl = data.customIconUrl || this.customIconUrl; | 46 | // this.customIconUrl = data.customIconUrl || this.customIconUrl; |
47 | this.iconUrl = data.iconUrl || this.iconUrl; | ||
45 | 48 | ||
46 | this.order = data.order !== undefined | 49 | this.order = data.order !== undefined |
47 | ? data.order : this.order; | 50 | ? data.order : this.order; |
@@ -52,11 +55,16 @@ export default class Service { | |||
52 | this.isNotificationEnabled = data.isNotificationEnabled !== undefined | 55 | this.isNotificationEnabled = data.isNotificationEnabled !== undefined |
53 | ? data.isNotificationEnabled : this.isNotificationEnabled; | 56 | ? data.isNotificationEnabled : this.isNotificationEnabled; |
54 | 57 | ||
58 | this.isBadgeEnabled = data.isBadgeEnabled !== undefined | ||
59 | ? data.isBadgeEnabled : this.isBadgeEnabled; | ||
60 | |||
55 | this.isIndirectMessageBadgeEnabled = data.isIndirectMessageBadgeEnabled !== undefined | 61 | this.isIndirectMessageBadgeEnabled = data.isIndirectMessageBadgeEnabled !== undefined |
56 | ? data.isIndirectMessageBadgeEnabled : this.isIndirectMessageBadgeEnabled; | 62 | ? data.isIndirectMessageBadgeEnabled : this.isIndirectMessageBadgeEnabled; |
57 | 63 | ||
58 | this.isMuted = data.isMuted !== undefined ? data.isMuted : this.isMuted; | 64 | this.isMuted = data.isMuted !== undefined ? data.isMuted : this.isMuted; |
59 | 65 | ||
66 | this.hasCustomUploadedIcon = data.hasCustomIcon !== undefined ? data.hasCustomIcon : this.hasCustomUploadedIcon; | ||
67 | |||
60 | this.recipe = recipe; | 68 | this.recipe = recipe; |
61 | 69 | ||
62 | autorun(() => { | 70 | autorun(() => { |
@@ -93,15 +101,15 @@ export default class Service { | |||
93 | } | 101 | } |
94 | 102 | ||
95 | @computed get icon() { | 103 | @computed get icon() { |
96 | if (this.hasCustomIcon) { | 104 | if (this.iconUrl) { |
97 | return this.customIconUrl; | 105 | return this.iconUrl; |
98 | } | 106 | } |
99 | 107 | ||
100 | return path.join(this.recipe.path, 'icon.svg'); | 108 | return path.join(this.recipe.path, 'icon.svg'); |
101 | } | 109 | } |
102 | 110 | ||
103 | @computed get hasCustomIcon() { | 111 | @computed get hasCustomIcon() { |
104 | return (this.customIconUrl !== ''); | 112 | return Boolean(this.iconUrl); |
105 | } | 113 | } |
106 | 114 | ||
107 | @computed get iconPNG() { | 115 | @computed get iconPNG() { |
diff --git a/src/models/Settings.js b/src/models/Settings.js index 3b352f9aa..ca44da258 100644 --- a/src/models/Settings.js +++ b/src/models/Settings.js | |||
@@ -1,4 +1,4 @@ | |||
1 | import { observable } from 'mobx'; | 1 | import { observable, extendObservable } from 'mobx'; |
2 | import { DEFAULT_APP_SETTINGS } from '../config'; | 2 | import { DEFAULT_APP_SETTINGS } from '../config'; |
3 | 3 | ||
4 | export default class Settings { | 4 | export default class Settings { |
@@ -8,6 +8,7 @@ export default class Settings { | |||
8 | @observable enableSystemTray = DEFAULT_APP_SETTINGS.enableSystemTray; | 8 | @observable enableSystemTray = DEFAULT_APP_SETTINGS.enableSystemTray; |
9 | @observable minimizeToSystemTray = DEFAULT_APP_SETTINGS.minimizeToSystemTray; | 9 | @observable minimizeToSystemTray = DEFAULT_APP_SETTINGS.minimizeToSystemTray; |
10 | @observable showDisabledServices = DEFAULT_APP_SETTINGS.showDisabledServices; | 10 | @observable showDisabledServices = DEFAULT_APP_SETTINGS.showDisabledServices; |
11 | @observable showMessageBadgeWhenMuted = DEFAULT_APP_SETTINGS.showMessageBadgeWhenMuted; | ||
11 | @observable enableSpellchecking = DEFAULT_APP_SETTINGS.enableSpellchecking; | 12 | @observable enableSpellchecking = DEFAULT_APP_SETTINGS.enableSpellchecking; |
12 | @observable locale = DEFAULT_APP_SETTINGS.locale; | 13 | @observable locale = DEFAULT_APP_SETTINGS.locale; |
13 | @observable beta = DEFAULT_APP_SETTINGS.beta; | 14 | @observable beta = DEFAULT_APP_SETTINGS.beta; |
@@ -16,4 +17,8 @@ export default class Settings { | |||
16 | constructor(data) { | 17 | constructor(data) { |
17 | Object.assign(this, data); | 18 | Object.assign(this, data); |
18 | } | 19 | } |
20 | |||
21 | update(data) { | ||
22 | extendObservable(this, data); | ||
23 | } | ||
19 | } | 24 | } |
diff --git a/src/stores/AppStore.js b/src/stores/AppStore.js index 0b7c60bce..e33f50f05 100644 --- a/src/stores/AppStore.js +++ b/src/stores/AppStore.js | |||
@@ -1,10 +1,11 @@ | |||
1 | import { remote, ipcRenderer, shell } from 'electron'; | 1 | import { remote, ipcRenderer, shell } from 'electron'; |
2 | import { action, observable } from 'mobx'; | 2 | import { action, computed, observable } from 'mobx'; |
3 | import moment from 'moment'; | 3 | import moment from 'moment'; |
4 | import key from 'keymaster'; | 4 | import key from 'keymaster'; |
5 | import { getDoNotDisturb } from '@meetfranz/electron-notification-state'; | 5 | import { getDoNotDisturb } from '@meetfranz/electron-notification-state'; |
6 | import idleTimer from '@paulcbetts/system-idle-time'; | 6 | import idleTimer from '@paulcbetts/system-idle-time'; |
7 | import AutoLaunch from 'auto-launch'; | 7 | import AutoLaunch from 'auto-launch'; |
8 | import prettyBytes from 'pretty-bytes'; | ||
8 | 9 | ||
9 | import Store from './lib/Store'; | 10 | import Store from './lib/Store'; |
10 | import Request from './lib/Request'; | 11 | import Request from './lib/Request'; |
@@ -14,7 +15,10 @@ import locales from '../i18n/translations'; | |||
14 | import { gaEvent } from '../lib/analytics'; | 15 | import { gaEvent } from '../lib/analytics'; |
15 | import Miner from '../lib/Miner'; | 16 | import Miner from '../lib/Miner'; |
16 | 17 | ||
17 | const { app, powerMonitor } = remote; | 18 | import { getServiceIdsFromPartitions, removeServicePartitionDirectory } from '../helpers/service-helpers.js'; |
19 | |||
20 | const { app } = remote; | ||
21 | |||
18 | const defaultLocale = DEFAULT_APP_SETTINGS.locale; | 22 | const defaultLocale = DEFAULT_APP_SETTINGS.locale; |
19 | const autoLauncher = new AutoLaunch({ | 23 | const autoLauncher = new AutoLaunch({ |
20 | name: 'Franz', | 24 | name: 'Franz', |
@@ -30,6 +34,8 @@ export default class AppStore extends Store { | |||
30 | }; | 34 | }; |
31 | 35 | ||
32 | @observable healthCheckRequest = new Request(this.api.app, 'health'); | 36 | @observable healthCheckRequest = new Request(this.api.app, 'health'); |
37 | @observable getAppCacheSizeRequest = new Request(this.api.local, 'getAppCacheSize'); | ||
38 | @observable clearAppCacheRequest = new Request(this.api.local, 'clearAppCache'); | ||
33 | 39 | ||
34 | @observable autoLaunchOnStart = true; | 40 | @observable autoLaunchOnStart = true; |
35 | 41 | ||
@@ -45,7 +51,9 @@ export default class AppStore extends Store { | |||
45 | miner = null; | 51 | miner = null; |
46 | @observable minerHashrate = 0.0; | 52 | @observable minerHashrate = 0.0; |
47 | 53 | ||
48 | @observable isSystemMuted = false; | 54 | @observable isSystemMuteOverridden = false; |
55 | |||
56 | @observable isClearingAllCache = false; | ||
49 | 57 | ||
50 | constructor(...args) { | 58 | constructor(...args) { |
51 | super(...args); | 59 | super(...args); |
@@ -61,12 +69,14 @@ export default class AppStore extends Store { | |||
61 | this.actions.app.healthCheck.listen(this._healthCheck.bind(this)); | 69 | this.actions.app.healthCheck.listen(this._healthCheck.bind(this)); |
62 | this.actions.app.muteApp.listen(this._muteApp.bind(this)); | 70 | this.actions.app.muteApp.listen(this._muteApp.bind(this)); |
63 | this.actions.app.toggleMuteApp.listen(this._toggleMuteApp.bind(this)); | 71 | this.actions.app.toggleMuteApp.listen(this._toggleMuteApp.bind(this)); |
72 | this.actions.app.clearAllCache.listen(this._clearAllCache.bind(this)); | ||
64 | 73 | ||
65 | this.registerReactions([ | 74 | this.registerReactions([ |
66 | this._offlineCheck.bind(this), | 75 | this._offlineCheck.bind(this), |
67 | this._setLocale.bind(this), | 76 | this._setLocale.bind(this), |
68 | this._handleMiner.bind(this), | 77 | this._handleMiner.bind(this), |
69 | this._handleMinerThrottle.bind(this), | 78 | this._handleMinerThrottle.bind(this), |
79 | this._muteAppHandler.bind(this), | ||
70 | ]); | 80 | ]); |
71 | } | 81 | } |
72 | 82 | ||
@@ -115,15 +125,31 @@ export default class AppStore extends Store { | |||
115 | } | 125 | } |
116 | }); | 126 | }); |
117 | 127 | ||
128 | // Handle deep linking (franz://) | ||
129 | ipcRenderer.on('navigateFromDeepLink', (event, data) => { | ||
130 | const { url } = data; | ||
131 | if (!url) return; | ||
132 | |||
133 | this.stores.router.push(data.url); | ||
134 | }); | ||
135 | |||
136 | const TIMEOUT = 5000; | ||
118 | // Check system idle time every minute | 137 | // Check system idle time every minute |
119 | setInterval(() => { | 138 | setInterval(() => { |
120 | this.idleTime = idleTimer.getIdleTime(); | 139 | this.idleTime = idleTimer.getIdleTime(); |
121 | }, 60000); | 140 | }, TIMEOUT); |
122 | 141 | ||
123 | // Reload all services after a healthy nap | 142 | // Reload all services after a healthy nap |
124 | powerMonitor.on('resume', () => { | 143 | // Alternative solution for powerMonitor as the resume event is not fired |
125 | setTimeout(window.location.reload, 5000); | 144 | // More information: https://github.com/electron/electron/issues/1615 |
126 | }); | 145 | let lastTime = (new Date()).getTime(); |
146 | setInterval(() => { | ||
147 | const currentTime = (new Date()).getTime(); | ||
148 | if (currentTime > (lastTime + TIMEOUT + 2000)) { | ||
149 | this._reactivateServices(); | ||
150 | } | ||
151 | lastTime = currentTime; | ||
152 | }, TIMEOUT); | ||
127 | 153 | ||
128 | // Set active the next service | 154 | // Set active the next service |
129 | key( | 155 | key( |
@@ -137,7 +163,7 @@ export default class AppStore extends Store { | |||
137 | this.actions.service.setActivePrev(); | 163 | this.actions.service.setActivePrev(); |
138 | }); | 164 | }); |
139 | 165 | ||
140 | // Global Mute | 166 | // Global Mute |
141 | key( | 167 | key( |
142 | '⌘+shift+m ctrl+shift+m', () => { | 168 | '⌘+shift+m ctrl+shift+m', () => { |
143 | this.actions.app.toggleMuteApp(); | 169 | this.actions.app.toggleMuteApp(); |
@@ -148,8 +174,14 @@ export default class AppStore extends Store { | |||
148 | this._healthCheck(); | 174 | this._healthCheck(); |
149 | } | 175 | } |
150 | 176 | ||
177 | @computed get cacheSize() { | ||
178 | return prettyBytes(this.getAppCacheSizeRequest.execute().result || 0); | ||
179 | } | ||
180 | |||
151 | // Actions | 181 | // Actions |
152 | @action _notify({ title, options, notificationId, serviceId = null }) { | 182 | @action _notify({ title, options, notificationId, serviceId = null }) { |
183 | if (this.stores.settings.all.isAppMuted) return; | ||
184 | |||
153 | const notification = new window.Notification(title, options); | 185 | const notification = new window.Notification(title, options); |
154 | notification.onclick = (e) => { | 186 | notification.onclick = (e) => { |
155 | if (serviceId) { | 187 | if (serviceId) { |
@@ -160,6 +192,11 @@ export default class AppStore extends Store { | |||
160 | }); | 192 | }); |
161 | 193 | ||
162 | this.actions.service.setActive({ serviceId }); | 194 | this.actions.service.setActive({ serviceId }); |
195 | |||
196 | if (!isMac) { | ||
197 | const mainWindow = remote.getCurrentWindow(); | ||
198 | mainWindow.restore(); | ||
199 | } | ||
163 | } | 200 | } |
164 | }; | 201 | }; |
165 | } | 202 | } |
@@ -217,7 +254,9 @@ export default class AppStore extends Store { | |||
217 | this.healthCheckRequest.execute(); | 254 | this.healthCheckRequest.execute(); |
218 | } | 255 | } |
219 | 256 | ||
220 | @action _muteApp({ isMuted }) { | 257 | @action _muteApp({ isMuted, overrideSystemMute = true }) { |
258 | this.isSystemMuteOverriden = overrideSystemMute; | ||
259 | |||
221 | this.actions.settings.update({ | 260 | this.actions.settings.update({ |
222 | settings: { | 261 | settings: { |
223 | isAppMuted: isMuted, | 262 | isAppMuted: isMuted, |
@@ -229,6 +268,23 @@ export default class AppStore extends Store { | |||
229 | this._muteApp({ isMuted: !this.stores.settings.all.isAppMuted }); | 268 | this._muteApp({ isMuted: !this.stores.settings.all.isAppMuted }); |
230 | } | 269 | } |
231 | 270 | ||
271 | @action async _clearAllCache() { | ||
272 | this.isClearingAllCache = true; | ||
273 | const clearAppCache = this.clearAppCacheRequest.execute(); | ||
274 | const allServiceIds = await getServiceIdsFromPartitions(); | ||
275 | const allOrphanedServiceIds = allServiceIds.filter(id => !this.stores.services.all.find(s => id.replace('service-', '') === s.id)); | ||
276 | |||
277 | await Promise.all(allOrphanedServiceIds.map(id => removeServicePartitionDirectory(id))); | ||
278 | |||
279 | await Promise.all(this.stores.services.all.map(s => this.actions.service.clearCache({ serviceId: s.id }))); | ||
280 | |||
281 | await clearAppCache._promise; | ||
282 | |||
283 | this.getAppCacheSizeRequest.execute(); | ||
284 | |||
285 | this.isClearingAllCache = false; | ||
286 | } | ||
287 | |||
232 | // Reactions | 288 | // Reactions |
233 | _offlineCheck() { | 289 | _offlineCheck() { |
234 | if (!this.isOnline) { | 290 | if (!this.isOnline) { |
@@ -245,8 +301,10 @@ export default class AppStore extends Store { | |||
245 | _setLocale() { | 301 | _setLocale() { |
246 | const locale = this.stores.settings.all.locale; | 302 | const locale = this.stores.settings.all.locale; |
247 | 303 | ||
248 | if (locale && locale !== this.locale) { | 304 | if (locale && Object.prototype.hasOwnProperty.call(locales, locale) && locale !== this.locale) { |
249 | this.locale = locale; | 305 | this.locale = locale; |
306 | } else if (!locale) { | ||
307 | this.locale = this._getDefaultLocale(); | ||
250 | } | 308 | } |
251 | } | 309 | } |
252 | 310 | ||
@@ -271,6 +329,10 @@ export default class AppStore extends Store { | |||
271 | locale = defaultLocale; | 329 | locale = defaultLocale; |
272 | } | 330 | } |
273 | 331 | ||
332 | if (!locale) { | ||
333 | locale = DEFAULT_APP_SETTINGS.fallbackLocale; | ||
334 | } | ||
335 | |||
274 | return locale; | 336 | return locale; |
275 | } | 337 | } |
276 | 338 | ||
@@ -296,6 +358,14 @@ export default class AppStore extends Store { | |||
296 | } | 358 | } |
297 | } | 359 | } |
298 | 360 | ||
361 | _muteAppHandler() { | ||
362 | const showMessageBadgesEvenWhenMuted = this.stores.ui.showMessageBadgesEvenWhenMuted; | ||
363 | |||
364 | if (!showMessageBadgesEvenWhenMuted) { | ||
365 | this.actions.app.setBadge({ unreadDirectMessageCount: 0, unreadIndirectMessageCount: 0 }); | ||
366 | } | ||
367 | } | ||
368 | |||
299 | // Helpers | 369 | // Helpers |
300 | async _appStartsCounter() { | 370 | async _appStartsCounter() { |
301 | // we need to wait until the settings request is resolved | 371 | // we need to wait until the settings request is resolved |
@@ -325,7 +395,23 @@ export default class AppStore extends Store { | |||
325 | return autoLauncher.isEnabled() || false; | 395 | return autoLauncher.isEnabled() || false; |
326 | } | 396 | } |
327 | 397 | ||
398 | _reactivateServices(retryCount = 0) { | ||
399 | if (!this.isOnline) { | ||
400 | console.debug('reactivateServices: computer is offline, trying again in 5s, retries:', retryCount); | ||
401 | setTimeout(() => this._reactivateServices(retryCount + 1), 5000); | ||
402 | } else { | ||
403 | console.debug('reactivateServices: reload all services'); | ||
404 | this.actions.service.reloadAll(); | ||
405 | } | ||
406 | } | ||
407 | |||
328 | _systemDND() { | 408 | _systemDND() { |
329 | this.isSystemMuted = getDoNotDisturb(); | 409 | const dnd = getDoNotDisturb(); |
410 | if (dnd === this.stores.settings.all.isAppMuted || !this.isSystemMuteOverriden) { | ||
411 | this.actions.app.muteApp({ | ||
412 | isMuted: dnd, | ||
413 | overrideSystemMute: false, | ||
414 | }); | ||
415 | } | ||
330 | } | 416 | } |
331 | } | 417 | } |
diff --git a/src/stores/ServicesStore.js b/src/stores/ServicesStore.js index 22c376c06..20e07e540 100644 --- a/src/stores/ServicesStore.js +++ b/src/stores/ServicesStore.js | |||
@@ -16,6 +16,7 @@ export default class ServicesStore extends Store { | |||
16 | @observable updateServiceRequest = new Request(this.api.services, 'update'); | 16 | @observable updateServiceRequest = new Request(this.api.services, 'update'); |
17 | @observable reorderServicesRequest = new Request(this.api.services, 'reorder'); | 17 | @observable reorderServicesRequest = new Request(this.api.services, 'reorder'); |
18 | @observable deleteServiceRequest = new Request(this.api.services, 'delete'); | 18 | @observable deleteServiceRequest = new Request(this.api.services, 'delete'); |
19 | @observable clearCacheRequest = new Request(this.api.services, 'clearCache'); | ||
19 | 20 | ||
20 | @observable filterNeedle = null; | 21 | @observable filterNeedle = null; |
21 | 22 | ||
@@ -31,6 +32,7 @@ export default class ServicesStore extends Store { | |||
31 | this.actions.service.createFromLegacyService.listen(this._createFromLegacyService.bind(this)); | 32 | this.actions.service.createFromLegacyService.listen(this._createFromLegacyService.bind(this)); |
32 | this.actions.service.updateService.listen(this._updateService.bind(this)); | 33 | this.actions.service.updateService.listen(this._updateService.bind(this)); |
33 | this.actions.service.deleteService.listen(this._deleteService.bind(this)); | 34 | this.actions.service.deleteService.listen(this._deleteService.bind(this)); |
35 | this.actions.service.clearCache.listen(this._clearCache.bind(this)); | ||
34 | this.actions.service.setWebviewReference.listen(this._setWebviewReference.bind(this)); | 36 | this.actions.service.setWebviewReference.listen(this._setWebviewReference.bind(this)); |
35 | this.actions.service.focusService.listen(this._focusService.bind(this)); | 37 | this.actions.service.focusService.listen(this._focusService.bind(this)); |
36 | this.actions.service.focusActiveService.listen(this._focusActiveService.bind(this)); | 38 | this.actions.service.focusActiveService.listen(this._focusActiveService.bind(this)); |
@@ -172,9 +174,29 @@ export default class ServicesStore extends Store { | |||
172 | const data = this._cleanUpTeamIdAndCustomUrl(service.recipe.id, serviceData); | 174 | const data = this._cleanUpTeamIdAndCustomUrl(service.recipe.id, serviceData); |
173 | const request = this.updateServiceRequest.execute(serviceId, data); | 175 | const request = this.updateServiceRequest.execute(serviceId, data); |
174 | 176 | ||
177 | const newData = serviceData; | ||
178 | if (serviceData.iconFile) { | ||
179 | await request._promise; | ||
180 | |||
181 | newData.iconUrl = request.result.data.iconUrl; | ||
182 | newData.hasCustomUploadedIcon = true; | ||
183 | } | ||
184 | |||
175 | this.allServicesRequest.patch((result) => { | 185 | this.allServicesRequest.patch((result) => { |
176 | if (!result) return; | 186 | if (!result) return; |
177 | Object.assign(result.find(c => c.id === serviceId), serviceData); | 187 | |
188 | // patch custom icon deletion | ||
189 | if (data.customIcon === 'delete') { | ||
190 | newData.iconUrl = ''; | ||
191 | newData.hasCustomUploadedIcon = false; | ||
192 | } | ||
193 | |||
194 | // patch custom icon url | ||
195 | if (data.customIconUrl) { | ||
196 | newData.iconUrl = data.customIconUrl; | ||
197 | } | ||
198 | |||
199 | Object.assign(result.find(c => c.id === serviceId), newData); | ||
178 | }); | 200 | }); |
179 | 201 | ||
180 | await request._promise; | 202 | await request._promise; |
@@ -205,6 +227,13 @@ export default class ServicesStore extends Store { | |||
205 | gaEvent('Service', 'delete', service.recipe.id); | 227 | gaEvent('Service', 'delete', service.recipe.id); |
206 | } | 228 | } |
207 | 229 | ||
230 | @action async _clearCache({ serviceId }) { | ||
231 | this.clearCacheRequest.reset(); | ||
232 | const request = this.clearCacheRequest.execute(serviceId); | ||
233 | await request._promise; | ||
234 | gaEvent('Service', 'clear cache'); | ||
235 | } | ||
236 | |||
208 | @action _setActive({ serviceId }) { | 237 | @action _setActive({ serviceId }) { |
209 | const service = this.one(serviceId); | 238 | const service = this.one(serviceId); |
210 | 239 | ||
@@ -297,7 +326,7 @@ export default class ServicesStore extends Store { | |||
297 | }); | 326 | }); |
298 | } else if (channel === 'notification') { | 327 | } else if (channel === 'notification') { |
299 | const options = args[0].options; | 328 | const options = args[0].options; |
300 | if (service.recipe.hasNotificationSound || service.isMuted) { | 329 | if (service.recipe.hasNotificationSound || service.isMuted || this.stores.settings.all.isAppMuted) { |
301 | Object.assign(options, { | 330 | Object.assign(options, { |
302 | silent: true, | 331 | silent: true, |
303 | }); | 332 | }); |
@@ -316,7 +345,7 @@ export default class ServicesStore extends Store { | |||
316 | } | 345 | } |
317 | } else if (channel === 'avatar') { | 346 | } else if (channel === 'avatar') { |
318 | const url = args[0]; | 347 | const url = args[0]; |
319 | if (service.customIconUrl !== url) { | 348 | if (service.iconUrl !== url && !service.hasCustomUploadedIcon) { |
320 | service.customIconUrl = url; | 349 | service.customIconUrl = url; |
321 | 350 | ||
322 | this.actions.service.updateService({ | 351 | this.actions.service.updateService({ |
@@ -327,6 +356,10 @@ export default class ServicesStore extends Store { | |||
327 | redirect: false, | 356 | redirect: false, |
328 | }); | 357 | }); |
329 | } | 358 | } |
359 | } else if (channel === 'new-window') { | ||
360 | const url = args[0]; | ||
361 | |||
362 | this.actions.app.openExternalUrl({ url }); | ||
330 | } | 363 | } |
331 | } | 364 | } |
332 | 365 | ||
@@ -368,7 +401,7 @@ export default class ServicesStore extends Store { | |||
368 | const service = this.one(serviceId); | 401 | const service = this.one(serviceId); |
369 | service.resetMessageCount(); | 402 | service.resetMessageCount(); |
370 | 403 | ||
371 | service.webview.reload(); | 404 | service.webview.loadURL(service.url); |
372 | } | 405 | } |
373 | 406 | ||
374 | @action _reloadActive() { | 407 | @action _reloadActive() { |
@@ -488,19 +521,27 @@ export default class ServicesStore extends Store { | |||
488 | } | 521 | } |
489 | 522 | ||
490 | _getUnreadMessageCountReaction() { | 523 | _getUnreadMessageCountReaction() { |
491 | const unreadDirectMessageCount = this.enabled | 524 | const showMessageBadgeWhenMuted = this.stores.settings.all.showMessageBadgeWhenMuted; |
525 | const showMessageBadgesEvenWhenMuted = this.stores.ui.showMessageBadgesEvenWhenMuted; | ||
526 | |||
527 | const unreadDirectMessageCount = this.allDisplayed | ||
528 | .filter(s => (showMessageBadgeWhenMuted || s.isNotificationEnabled) && showMessageBadgesEvenWhenMuted && s.isBadgeEnabled) | ||
492 | .map(s => s.unreadDirectMessageCount) | 529 | .map(s => s.unreadDirectMessageCount) |
493 | .reduce((a, b) => a + b, 0); | 530 | .reduce((a, b) => a + b, 0); |
494 | 531 | ||
495 | const unreadIndirectMessageCount = this.enabled | 532 | const unreadIndirectMessageCount = this.allDisplayed |
496 | .filter(s => s.isIndirectMessageBadgeEnabled) | 533 | .filter(s => (showMessageBadgeWhenMuted && showMessageBadgesEvenWhenMuted) && (s.isBadgeEnabled && s.isIndirectMessageBadgeEnabled)) |
497 | .map(s => s.unreadIndirectMessageCount) | 534 | .map(s => s.unreadIndirectMessageCount) |
498 | .reduce((a, b) => a + b, 0); | 535 | .reduce((a, b) => a + b, 0); |
499 | 536 | ||
500 | this.actions.app.setBadge({ | 537 | // We can't just block this earlier, otherwise the mobx reaction won't be aware of the vars to watch in some cases |
501 | unreadDirectMessageCount, | 538 | if (showMessageBadgesEvenWhenMuted) { |
502 | unreadIndirectMessageCount, | 539 | console.log('set badge', unreadDirectMessageCount, unreadIndirectMessageCount); |
503 | }); | 540 | this.actions.app.setBadge({ |
541 | unreadDirectMessageCount, | ||
542 | unreadIndirectMessageCount, | ||
543 | }); | ||
544 | } | ||
504 | } | 545 | } |
505 | 546 | ||
506 | _logoutReaction() { | 547 | _logoutReaction() { |
diff --git a/src/stores/SettingsStore.js b/src/stores/SettingsStore.js index 30058f41d..da99a720f 100644 --- a/src/stores/SettingsStore.js +++ b/src/stores/SettingsStore.js | |||
@@ -5,6 +5,7 @@ import Store from './lib/Store'; | |||
5 | import Request from './lib/Request'; | 5 | import Request from './lib/Request'; |
6 | import CachedRequest from './lib/CachedRequest'; | 6 | import CachedRequest from './lib/CachedRequest'; |
7 | import { gaEvent } from '../lib/analytics'; | 7 | import { gaEvent } from '../lib/analytics'; |
8 | import SettingsModel from '../models/Settings'; | ||
8 | 9 | ||
9 | export default class SettingsStore extends Store { | 10 | export default class SettingsStore extends Store { |
10 | @observable allSettingsRequest = new CachedRequest(this.api.local, 'getSettings'); | 11 | @observable allSettingsRequest = new CachedRequest(this.api.local, 'getSettings'); |
@@ -25,7 +26,7 @@ export default class SettingsStore extends Store { | |||
25 | } | 26 | } |
26 | 27 | ||
27 | @computed get all() { | 28 | @computed get all() { |
28 | return this.allSettingsRequest.result || {}; | 29 | return new SettingsModel(this.allSettingsRequest.result); |
29 | } | 30 | } |
30 | 31 | ||
31 | @action async _update({ settings }) { | 32 | @action async _update({ settings }) { |
diff --git a/src/stores/UIStore.js b/src/stores/UIStore.js index cb45b88b5..5e9cc9ba7 100644 --- a/src/stores/UIStore.js +++ b/src/stores/UIStore.js | |||
@@ -1,4 +1,4 @@ | |||
1 | import { action, observable } from 'mobx'; | 1 | import { action, observable, computed } from 'mobx'; |
2 | 2 | ||
3 | import Store from './lib/Store'; | 3 | import Store from './lib/Store'; |
4 | 4 | ||
@@ -14,6 +14,12 @@ export default class UIStore extends Store { | |||
14 | this.actions.ui.toggleServiceUpdatedInfoBar.listen(this._toggleServiceUpdatedInfoBar.bind(this)); | 14 | this.actions.ui.toggleServiceUpdatedInfoBar.listen(this._toggleServiceUpdatedInfoBar.bind(this)); |
15 | } | 15 | } |
16 | 16 | ||
17 | @computed get showMessageBadgesEvenWhenMuted() { | ||
18 | const settings = this.stores.settings.all; | ||
19 | |||
20 | return (settings.isAppMuted && settings.showMessageBadgeWhenMuted) || !settings.isAppMuted; | ||
21 | } | ||
22 | |||
17 | // Actions | 23 | // Actions |
18 | @action _openSettings({ path = '/settings' }) { | 24 | @action _openSettings({ path = '/settings' }) { |
19 | const settingsPath = path !== '/settings' ? `/settings/${path}` : path; | 25 | const settingsPath = path !== '/settings' ? `/settings/${path}` : path; |
diff --git a/src/stores/UserStore.js b/src/stores/UserStore.js index 1cb2ecac3..09000dcdb 100644 --- a/src/stores/UserStore.js +++ b/src/stores/UserStore.js | |||
@@ -26,6 +26,7 @@ export default class UserStore extends Store { | |||
26 | @observable getUserInfoRequest = new CachedRequest(this.api.user, 'getInfo'); | 26 | @observable getUserInfoRequest = new CachedRequest(this.api.user, 'getInfo'); |
27 | @observable updateUserInfoRequest = new Request(this.api.user, 'updateInfo'); | 27 | @observable updateUserInfoRequest = new Request(this.api.user, 'updateInfo'); |
28 | @observable getLegacyServicesRequest = new CachedRequest(this.api.user, 'getLegacyServices'); | 28 | @observable getLegacyServicesRequest = new CachedRequest(this.api.user, 'getLegacyServices'); |
29 | @observable deleteAccountRequest = new CachedRequest(this.api.user, 'delete'); | ||
29 | 30 | ||
30 | @observable isImportLegacyServicesExecuting = false; | 31 | @observable isImportLegacyServicesExecuting = false; |
31 | @observable isImportLegacyServicesCompleted = false; | 32 | @observable isImportLegacyServicesCompleted = false; |
@@ -57,6 +58,7 @@ export default class UserStore extends Store { | |||
57 | this.actions.user.update.listen(this._update.bind(this)); | 58 | this.actions.user.update.listen(this._update.bind(this)); |
58 | this.actions.user.resetStatus.listen(this._resetStatus.bind(this)); | 59 | this.actions.user.resetStatus.listen(this._resetStatus.bind(this)); |
59 | this.actions.user.importLegacyServices.listen(this._importLegacyServices.bind(this)); | 60 | this.actions.user.importLegacyServices.listen(this._importLegacyServices.bind(this)); |
61 | this.actions.user.delete.listen(this._delete.bind(this)); | ||
60 | 62 | ||
61 | // Reactions | 63 | // Reactions |
62 | this.registerReactions([ | 64 | this.registerReactions([ |
@@ -212,6 +214,10 @@ export default class UserStore extends Store { | |||
212 | this.isImportLegacyServicesCompleted = true; | 214 | this.isImportLegacyServicesCompleted = true; |
213 | } | 215 | } |
214 | 216 | ||
217 | @action async _delete() { | ||
218 | this.deleteAccountRequest.execute(); | ||
219 | } | ||
220 | |||
215 | // This is a mobx autorun which forces the user to login if not authenticated | 221 | // This is a mobx autorun which forces the user to login if not authenticated |
216 | _requireAuthenticatedUser = () => { | 222 | _requireAuthenticatedUser = () => { |
217 | if (this.isTokenExpired) { | 223 | if (this.isTokenExpired) { |
diff --git a/src/styles/button.scss b/src/styles/button.scss index 75d2cb1d4..8d2adbbcc 100644 --- a/src/styles/button.scss +++ b/src/styles/button.scss | |||
@@ -48,6 +48,18 @@ | |||
48 | } | 48 | } |
49 | } | 49 | } |
50 | 50 | ||
51 | &.franz-form__button--warning { | ||
52 | background: $theme-brand-warning; | ||
53 | |||
54 | &:hover { | ||
55 | background: darken($theme-brand-warning, 5%); | ||
56 | } | ||
57 | |||
58 | &:active { | ||
59 | background: lighten($theme-brand-warning, 5%); | ||
60 | } | ||
61 | } | ||
62 | |||
51 | &.franz-form__button--inverted { | 63 | &.franz-form__button--inverted { |
52 | background: none; | 64 | background: none; |
53 | padding: 10px 20px; | 65 | padding: 10px 20px; |
diff --git a/src/styles/content-tabs.scss b/src/styles/content-tabs.scss index aa3c8594b..47dfea2c4 100644 --- a/src/styles/content-tabs.scss +++ b/src/styles/content-tabs.scss | |||
@@ -12,15 +12,17 @@ | |||
12 | flex: 1; | 12 | flex: 1; |
13 | // border: 1px solid $theme-gray-lightest; | 13 | // border: 1px solid $theme-gray-lightest; |
14 | color: $theme-gray-dark; | 14 | color: $theme-gray-dark; |
15 | background: $theme-gray-lightest; | 15 | background: linear-gradient($theme-gray-lightest 80%, darken($theme-gray-lightest, 3%)); |
16 | border-bottom: 1px solid $theme-gray-lighter; | 16 | border-right: 1px solid $theme-gray-lighter; |
17 | box-shadow: inset 0px -3px 10px rgba(black, 0.05); | 17 | transition: background $theme-transition-time; |
18 | transition: all $theme-transition-time; | 18 | |
19 | &:last-of-type { | ||
20 | border-right: 0; | ||
21 | } | ||
19 | 22 | ||
20 | &.is-active { | 23 | &.is-active { |
21 | background: $theme-brand-primary; | 24 | background: $theme-brand-primary; |
22 | color: #FFF; | 25 | color: #FFF; |
23 | border-bottom: 1px solid $theme-brand-primary; | ||
24 | box-shadow: none; | 26 | box-shadow: none; |
25 | } | 27 | } |
26 | } | 28 | } |
diff --git a/src/styles/image-upload.scss b/src/styles/image-upload.scss new file mode 100644 index 000000000..06176a7af --- /dev/null +++ b/src/styles/image-upload.scss | |||
@@ -0,0 +1,91 @@ | |||
1 | .image-upload { | ||
2 | position: absolute; | ||
3 | width: 140px; | ||
4 | height: 140px; | ||
5 | border: 1px solid $theme-gray-lighter; | ||
6 | border-radius: $theme-border-radius-small; | ||
7 | background: $theme-gray-lightest; | ||
8 | overflow: hidden; | ||
9 | margin-top: 5px; | ||
10 | |||
11 | &__preview, | ||
12 | &__action { | ||
13 | position: absolute; | ||
14 | top: 0; | ||
15 | left: 0; | ||
16 | right: 0; | ||
17 | } | ||
18 | |||
19 | &__preview { | ||
20 | z-index: 1; | ||
21 | background-size: cover; | ||
22 | background-size: 100%; | ||
23 | background-repeat: no-repeat; | ||
24 | background-position: center center; | ||
25 | border-radius: 3px; | ||
26 | } | ||
27 | |||
28 | &__action { | ||
29 | position: relative; | ||
30 | z-index: 10; | ||
31 | opacity: 0; | ||
32 | transition: opacity 0.5s; | ||
33 | display: flex; | ||
34 | justify-content: center; | ||
35 | |||
36 | &-background { | ||
37 | position: absolute; | ||
38 | top: 0; | ||
39 | left: 0; | ||
40 | right: 0; | ||
41 | bottom: 0; | ||
42 | background: rgba($theme-gray, 0.7); | ||
43 | z-index: 10; | ||
44 | } | ||
45 | |||
46 | button { | ||
47 | position: relative; | ||
48 | z-index: 100; | ||
49 | color: #FFF; | ||
50 | |||
51 | .mdi { | ||
52 | color: #FFF; | ||
53 | } | ||
54 | } | ||
55 | } | ||
56 | |||
57 | &__dropzone { | ||
58 | text-align: center; | ||
59 | border-radius: 5px; | ||
60 | padding: 10px; | ||
61 | display: flex; | ||
62 | align-items: center; | ||
63 | justify-content: center; | ||
64 | flex-direction: column; | ||
65 | } | ||
66 | |||
67 | &__dropzone, | ||
68 | button { | ||
69 | .mdi { | ||
70 | margin-bottom: 5px; | ||
71 | } | ||
72 | |||
73 | p { | ||
74 | font-size: 10px; | ||
75 | line-height: 10px; | ||
76 | } | ||
77 | } | ||
78 | |||
79 | &:hover { | ||
80 | .image-upload__action { | ||
81 | opacity: 1; | ||
82 | } | ||
83 | } | ||
84 | } | ||
85 | |||
86 | .image-upload-wrapper { | ||
87 | .mdi { | ||
88 | font-size: 40px; | ||
89 | color: $theme-gray-light; | ||
90 | } | ||
91 | } \ No newline at end of file | ||
diff --git a/src/styles/input.scss b/src/styles/input.scss index 814dce5f8..7042f56e8 100644 --- a/src/styles/input.scss +++ b/src/styles/input.scss | |||
@@ -47,6 +47,10 @@ | |||
47 | padding: 8px; | 47 | padding: 8px; |
48 | // font-size: 18px; | 48 | // font-size: 18px; |
49 | color: $theme-gray; | 49 | color: $theme-gray; |
50 | |||
51 | &::placeholder { | ||
52 | color: lighten($theme-gray-light, 10%); | ||
53 | } | ||
50 | } | 54 | } |
51 | 55 | ||
52 | .franz-form__input-prefix, | 56 | .franz-form__input-prefix, |
diff --git a/src/styles/main.scss b/src/styles/main.scss index 0a082729c..261396f6f 100644 --- a/src/styles/main.scss +++ b/src/styles/main.scss | |||
@@ -35,3 +35,4 @@ $mdi-font-path: '../node_modules/mdi/fonts'; | |||
35 | @import './button.scss'; | 35 | @import './button.scss'; |
36 | @import './searchInput.scss'; | 36 | @import './searchInput.scss'; |
37 | @import './select.scss'; | 37 | @import './select.scss'; |
38 | @import './image-upload.scss'; | ||
diff --git a/src/styles/searchInput.scss b/src/styles/searchInput.scss index 28ff09fc4..633a31e09 100644 --- a/src/styles/searchInput.scss +++ b/src/styles/searchInput.scss | |||
@@ -1,4 +1,20 @@ | |||
1 | .search-input { | 1 | .search-input { |
2 | width: 100%; | 2 | width: 100%; |
3 | height: auto; | 3 | height: auto; |
4 | display: flex; | ||
5 | align-items: center; | ||
6 | padding: 0 10px; | ||
7 | border-radius: 30px; | ||
8 | background: $theme-gray-lightest; | ||
9 | padding: 5px 10px; | ||
10 | @extend %headline; | ||
11 | color: $theme-gray-light; | ||
12 | |||
13 | input { | ||
14 | padding-left: 10px; | ||
15 | background: none; | ||
16 | border: 0; | ||
17 | flex: 1; | ||
18 | color: $theme-gray-light; | ||
19 | } | ||
4 | } | 20 | } |
diff --git a/src/styles/services.scss b/src/styles/services.scss index 282c15121..9f6cfc772 100644 --- a/src/styles/services.scss +++ b/src/styles/services.scss | |||
@@ -24,6 +24,7 @@ | |||
24 | display: inline-flex; | 24 | display: inline-flex; |
25 | width: 0px; | 25 | width: 0px; |
26 | height: 0px; | 26 | height: 0px; |
27 | background: $theme-gray-lighter; | ||
27 | } | 28 | } |
28 | 29 | ||
29 | &.is-active { | 30 | &.is-active { |
diff --git a/src/styles/settings.scss b/src/styles/settings.scss index 6e93094b4..2182c9b5f 100644 --- a/src/styles/settings.scss +++ b/src/styles/settings.scss | |||
@@ -111,6 +111,26 @@ | |||
111 | &::-webkit-scrollbar-thumb:window-inactive { | 111 | &::-webkit-scrollbar-thumb:window-inactive { |
112 | background: none; | 112 | background: none; |
113 | } | 113 | } |
114 | |||
115 | .service-flex-grid { | ||
116 | display: flex; | ||
117 | } | ||
118 | |||
119 | .service-name { | ||
120 | flex: 1px; | ||
121 | } | ||
122 | |||
123 | .service-icon { | ||
124 | width: 140px; | ||
125 | float: right; | ||
126 | margin-top: 30px; | ||
127 | margin-left: 40px; | ||
128 | |||
129 | label { | ||
130 | font-weight: bold; | ||
131 | letter-spacing: -0.1px; | ||
132 | } | ||
133 | } | ||
114 | } | 134 | } |
115 | 135 | ||
116 | .settings__close { | 136 | .settings__close { |
@@ -129,30 +149,28 @@ | |||
129 | } | 149 | } |
130 | } | 150 | } |
131 | 151 | ||
132 | .settings__search-header { | 152 | .search-input { |
133 | display: flex; | 153 | margin-bottom: 30px; |
134 | align-items: center; | 154 | } |
135 | padding: 0 10px; | ||
136 | border-radius: $theme-border-radius; | ||
137 | transition: background $theme-transition-time; | ||
138 | @extend %headline; | ||
139 | font-size: 22px; | ||
140 | |||
141 | &:hover { | ||
142 | background: darken($theme-gray-lighter, 5%); | ||
143 | } | ||
144 | 155 | ||
145 | input { | 156 | &__options { |
146 | padding-left: 10px; | 157 | margin-top: 20px; |
147 | background: none; | 158 | flex: 1; |
148 | border: 0; | ||
149 | flex: 1; | ||
150 | @extend %headline; | ||
151 | } | ||
152 | } | 159 | } |
153 | 160 | ||
154 | .settings__options { | 161 | &__settings-group { |
155 | margin-top: 30px; | 162 | margin-top: 10px; |
163 | |||
164 | h3 { | ||
165 | font-weight: bold; | ||
166 | margin: 25px 0 15px; | ||
167 | color: $theme-gray-light; | ||
168 | letter-spacing: -0.1px; | ||
169 | |||
170 | &:first-of-type { | ||
171 | margin-top: 0; | ||
172 | } | ||
173 | } | ||
156 | } | 174 | } |
157 | 175 | ||
158 | .settings__message { | 176 | .settings__message { |
@@ -173,10 +191,6 @@ | |||
173 | margin: -10px 0 20px 55px;; | 191 | margin: -10px 0 20px 55px;; |
174 | font-size: 12px; | 192 | font-size: 12px; |
175 | color: $theme-gray-light; | 193 | color: $theme-gray-light; |
176 | |||
177 | &:last-of-type { | ||
178 | margin-bottom: 30px; | ||
179 | } | ||
180 | } | 194 | } |
181 | 195 | ||
182 | .settings__controls { | 196 | .settings__controls { |
@@ -281,6 +295,10 @@ | |||
281 | margin-left: auto; | 295 | margin-left: auto; |
282 | } | 296 | } |
283 | 297 | ||
298 | .franz-form__button { | ||
299 | white-space: nowrap; | ||
300 | } | ||
301 | |||
284 | div { | 302 | div { |
285 | height: auto; | 303 | height: auto; |
286 | } | 304 | } |
@@ -308,12 +326,6 @@ | |||
308 | } | 326 | } |
309 | } | 327 | } |
310 | 328 | ||
311 | // @include element(add-service-teaser) { | ||
312 | // height: auto; | ||
313 | // margin-top: 20px; | ||
314 | // display: block; | ||
315 | // text-align: center; | ||
316 | // } | ||
317 | .emoji { | 329 | .emoji { |
318 | display: block; | 330 | display: block; |
319 | font-size: 40px; | 331 | font-size: 40px; |
diff --git a/src/styles/tabs.scss b/src/styles/tabs.scss index 3ffc53558..ac48aabd6 100644 --- a/src/styles/tabs.scss +++ b/src/styles/tabs.scss | |||
@@ -78,6 +78,26 @@ | |||
78 | } | 78 | } |
79 | } | 79 | } |
80 | 80 | ||
81 | .tab-item__info-badge { | ||
82 | width: 17px; | ||
83 | height: 17px; | ||
84 | background: $theme-gray-light; | ||
85 | color: $theme-gray-lighter; | ||
86 | border-radius: 20px; | ||
87 | padding: 0px 5px; | ||
88 | font-size: 11px; | ||
89 | position: absolute; | ||
90 | right: 8px; | ||
91 | bottom: 8px; | ||
92 | display: flex; | ||
93 | justify-content: center; | ||
94 | align-items: center; | ||
95 | |||
96 | &.is-indirect { | ||
97 | padding-top: 0px; | ||
98 | } | ||
99 | } | ||
100 | |||
81 | &.is-reordering { | 101 | &.is-reordering { |
82 | z-index: 99999; | 102 | z-index: 99999; |
83 | } | 103 | } |
diff --git a/src/styles/welcome.scss b/src/styles/welcome.scss index 5365921fb..46299b966 100644 --- a/src/styles/welcome.scss +++ b/src/styles/welcome.scss | |||
@@ -58,17 +58,25 @@ | |||
58 | } | 58 | } |
59 | 59 | ||
60 | &__featured-services { | 60 | &__featured-services { |
61 | margin-top: 150px; | ||
62 | text-align: center; | 61 | text-align: center; |
63 | margin-top: 80px; | 62 | width: 480px; |
63 | margin: 80px auto 0 auto; | ||
64 | display: flex; | ||
65 | align-items: center; | ||
66 | flex-wrap: wrap; | ||
67 | background: #FFF; | ||
68 | border-radius: 6px; | ||
69 | padding: 20px 20px 5px; | ||
64 | } | 70 | } |
65 | 71 | ||
66 | &__featured-service { | 72 | &__featured-service { |
67 | width: 35px; | 73 | width: 35px; |
68 | margin-right: 30px; | 74 | height: 35px; |
75 | margin: 0 10px 15px; | ||
76 | transition: 0.5s filter, 0.5s opacity; | ||
69 | 77 | ||
70 | &:last-of-type { | 78 | img { |
71 | margin-right: 0; | 79 | width: 35px; |
72 | } | 80 | } |
73 | } | 81 | } |
74 | } | 82 | } |
diff --git a/src/webview/ime.js b/src/webview/ime.js deleted file mode 100644 index 43df6267c..000000000 --- a/src/webview/ime.js +++ /dev/null | |||
@@ -1,10 +0,0 @@ | |||
1 | const { ipcRenderer } = require('electron'); | ||
2 | const { claimDocumentFocus } = require('../helpers/webview-ime-focus-helpers'); | ||
3 | |||
4 | ipcRenderer.on('claim-document-focus', claimDocumentFocus); | ||
5 | |||
6 | window.addEventListener('DOMContentLoaded', () => { | ||
7 | if (document.querySelector('[autofocus]')) { | ||
8 | ipcRenderer.sendToHost('autofocus'); | ||
9 | } | ||
10 | }); | ||
diff --git a/src/webview/lib/RecipeWebview.js b/src/webview/lib/RecipeWebview.js index 048beea69..be29142af 100644 --- a/src/webview/lib/RecipeWebview.js +++ b/src/webview/lib/RecipeWebview.js | |||
@@ -40,8 +40,8 @@ class RecipeWebview { | |||
40 | && this.countCache.indirect === indirect) return; | 40 | && this.countCache.indirect === indirect) return; |
41 | 41 | ||
42 | const count = { | 42 | const count = { |
43 | direct, | 43 | direct: direct > 0 ? direct : 0, |
44 | indirect, | 44 | indirect: indirect > 0 ? indirect : 0, |
45 | }; | 45 | }; |
46 | 46 | ||
47 | ipcRenderer.sendToHost('messages', count); | 47 | ipcRenderer.sendToHost('messages', count); |
diff --git a/src/webview/notifications.js b/src/webview/notifications.js index 4f602bfdb..2020bbdc6 100644 --- a/src/webview/notifications.js +++ b/src/webview/notifications.js | |||
@@ -16,7 +16,9 @@ class Notification { | |||
16 | })); | 16 | })); |
17 | 17 | ||
18 | ipcRenderer.once(`notification-onclick:${this.notificationId}`, () => { | 18 | ipcRenderer.once(`notification-onclick:${this.notificationId}`, () => { |
19 | this.onclick(); | 19 | if (typeof this.onclick === 'function') { |
20 | this.onclick(); | ||
21 | } | ||
20 | }); | 22 | }); |
21 | } | 23 | } |
22 | 24 | ||
diff --git a/src/webview/plugin.js b/src/webview/plugin.js index c877132b1..d9e021e6d 100644 --- a/src/webview/plugin.js +++ b/src/webview/plugin.js | |||
@@ -1,13 +1,12 @@ | |||
1 | import { ipcRenderer } from 'electron'; | 1 | import { ipcRenderer } from 'electron'; |
2 | import { ContextMenuListener, ContextMenuBuilder } from 'electron-spellchecker'; | ||
2 | import path from 'path'; | 3 | import path from 'path'; |
3 | 4 | ||
5 | import { isDevMode } from '../environment'; | ||
4 | import RecipeWebview from './lib/RecipeWebview'; | 6 | import RecipeWebview from './lib/RecipeWebview'; |
5 | 7 | ||
6 | import Spellchecker from './spellchecker.js'; | 8 | import Spellchecker from './spellchecker'; |
7 | import './notifications.js'; | 9 | import './notifications'; |
8 | import './ime.js'; | ||
9 | |||
10 | const spellchecker = new Spellchecker(); | ||
11 | 10 | ||
12 | ipcRenderer.on('initializeRecipe', (e, data) => { | 11 | ipcRenderer.on('initializeRecipe', (e, data) => { |
13 | const modulePath = path.join(data.recipe.path, 'webview.js'); | 12 | const modulePath = path.join(data.recipe.path, 'webview.js'); |
@@ -21,20 +20,34 @@ ipcRenderer.on('initializeRecipe', (e, data) => { | |||
21 | } | 20 | } |
22 | }); | 21 | }); |
23 | 22 | ||
23 | const spellchecker = new Spellchecker(); | ||
24 | spellchecker.initialize(); | ||
25 | |||
26 | const contextMenuBuilder = new ContextMenuBuilder(spellchecker.handler, null, isDevMode); | ||
27 | |||
28 | new ContextMenuListener((info) => { // eslint-disable-line | ||
29 | contextMenuBuilder.showPopupMenu(info); | ||
30 | }); | ||
31 | |||
24 | ipcRenderer.on('settings-update', (e, data) => { | 32 | ipcRenderer.on('settings-update', (e, data) => { |
25 | if (data.enableSpellchecking) { | 33 | console.log('settings-update', data); |
26 | if (!spellchecker.isEnabled) { | 34 | spellchecker.toggleSpellchecker(data.enableSpellchecking); |
27 | spellchecker.enable(); | ||
28 | |||
29 | // TODO: this does not work yet, needs more testing | ||
30 | // if (data.spellcheckingLanguage !== 'auto') { | ||
31 | // console.log('set spellchecking language to', data.spellcheckingLanguage); | ||
32 | // spellchecker.switchLanguage(data.spellcheckingLanguage); | ||
33 | // } | ||
34 | } | ||
35 | } | ||
36 | }); | 35 | }); |
37 | 36 | ||
37 | // initSpellche | ||
38 | |||
38 | document.addEventListener('DOMContentLoaded', () => { | 39 | document.addEventListener('DOMContentLoaded', () => { |
39 | ipcRenderer.sendToHost('hello'); | 40 | ipcRenderer.sendToHost('hello'); |
40 | }, false); | 41 | }, false); |
42 | |||
43 | // Patching window.open | ||
44 | const originalWindowOpen = window.open; | ||
45 | |||
46 | window.open = (url, frameName, features) => { | ||
47 | // We need to differentiate if the link should be opened in a popup or in the systems default browser | ||
48 | if (!frameName && !features) { | ||
49 | return ipcRenderer.sendToHost('new-window', url); | ||
50 | } | ||
51 | |||
52 | return originalWindowOpen(url, frameName, features); | ||
53 | }; | ||
diff --git a/src/webview/spellchecker.js b/src/webview/spellchecker.js index 5beb77e03..a504a4039 100644 --- a/src/webview/spellchecker.js +++ b/src/webview/spellchecker.js | |||
@@ -1,30 +1,63 @@ | |||
1 | import { SpellCheckHandler, ContextMenuListener, ContextMenuBuilder } from 'electron-spellchecker'; | 1 | import { SpellCheckHandler } from 'electron-spellchecker'; |
2 | 2 | ||
3 | import { isMac } from '../environment'; | 3 | import { isMac } from '../environment'; |
4 | 4 | ||
5 | export default class Spellchecker { | 5 | export default class Spellchecker { |
6 | isEnabled = false; | 6 | isInitialized = false; |
7 | spellchecker = null; | 7 | handler = null; |
8 | initRetries = 0; | ||
9 | DOMCheckInterval = null; | ||
10 | |||
11 | get inputs() { | ||
12 | return document.querySelectorAll('input[type="text"], [contenteditable="true"], textarea'); | ||
13 | } | ||
14 | |||
15 | initialize() { | ||
16 | this.handler = new SpellCheckHandler(); | ||
8 | 17 | ||
9 | enable() { | ||
10 | this.spellchecker = new SpellCheckHandler(); | ||
11 | if (!isMac) { | 18 | if (!isMac) { |
12 | this.spellchecker.attachToInput(); | 19 | this.attach(); |
13 | this.spellchecker.switchLanguage(navigator.language); | 20 | } else { |
21 | this.isInitialized = true; | ||
22 | } | ||
23 | } | ||
24 | |||
25 | attach() { | ||
26 | let initFailed = false; | ||
27 | |||
28 | if (this.initRetries > 3) { | ||
29 | console.error('Could not initialize spellchecker'); | ||
30 | return; | ||
14 | } | 31 | } |
15 | 32 | ||
16 | const contextMenuBuilder = new ContextMenuBuilder(this.spellchecker); | 33 | try { |
34 | this.handler.attachToInput(); | ||
35 | this.handler.switchLanguage(navigator.language); | ||
36 | } catch (err) { | ||
37 | initFailed = true; | ||
38 | this.initRetries = +1; | ||
39 | setTimeout(() => { this.attach(); console.warn('Spellchecker init failed, trying again in 5s'); }, 5000); | ||
40 | } | ||
17 | 41 | ||
18 | new ContextMenuListener((info) => { // eslint-disable-line | 42 | if (!initFailed) { |
19 | contextMenuBuilder.showPopupMenu(info); | 43 | this.isInitialized = true; |
44 | } | ||
45 | } | ||
46 | |||
47 | toggleSpellchecker(enable = false) { | ||
48 | this.inputs.forEach((input) => { | ||
49 | input.setAttribute('spellcheck', enable); | ||
20 | }); | 50 | }); |
51 | |||
52 | this.intervalHandler(enable); | ||
21 | } | 53 | } |
22 | 54 | ||
23 | // TODO: this does not work yet, needs more testing | 55 | intervalHandler(enable) { |
24 | // switchLanguage(language) { | 56 | clearInterval(this.DOMCheckInterval); |
25 | // if (language !== 'auto') { | 57 | |
26 | // this.spellchecker.switchLanguage(language); | 58 | if (enable) { |
27 | // } | 59 | this.DOMCheckInterval = setInterval(() => this.toggleSpellchecker(enable), 30000); |
28 | // } | 60 | } |
61 | } | ||
29 | } | 62 | } |
30 | 63 | ||