diff options
author | 2017-10-27 20:56:35 +0200 | |
---|---|---|
committer | 2017-10-27 20:56:35 +0200 | |
commit | 059319506050ac652a4e790475fd9423db4f5133 (patch) | |
tree | e3aa16dcd0fe26b17c234ea43bbcfeb3bec93c05 /src | |
parent | [translation] Add norwegian translations (diff) | |
parent | Merge pull request #152 from meetfranz/chore/travis-setup (diff) | |
download | ferdium-app-059319506050ac652a4e790475fd9423db4f5133.tar.gz ferdium-app-059319506050ac652a4e790475fd9423db4f5133.tar.zst ferdium-app-059319506050ac652a4e790475fd9423db4f5133.zip |
Fix merge conflict and add missing translation
Diffstat (limited to 'src')
-rw-r--r-- | src/components/layout/Sidebar.js | 2 | ||||
-rw-r--r-- | src/components/services/tabs/TabBarSortableList.js | 110 | ||||
-rw-r--r-- | src/i18n/languages.js | 2 | ||||
-rw-r--r-- | src/i18n/locales/de.json | 1 | ||||
-rw-r--r-- | src/i18n/locales/el-GR.json | 1 | ||||
-rw-r--r-- | src/i18n/locales/en-US.json | 1 | ||||
-rw-r--r-- | src/i18n/locales/es-ES.json | 168 | ||||
-rw-r--r-- | src/i18n/locales/fr.json | 1 | ||||
-rw-r--r-- | src/i18n/locales/ja.json | 6 | ||||
-rw-r--r-- | src/i18n/locales/nb-NO.json | 1 | ||||
-rw-r--r-- | src/i18n/locales/nl-BE.json | 7 | ||||
-rw-r--r-- | src/i18n/locales/nl.json | 5 | ||||
-rw-r--r-- | src/i18n/locales/pl.json | 1 | ||||
-rw-r--r-- | src/i18n/locales/pt-BR.json | 8 | ||||
-rw-r--r-- | src/i18n/locales/ru.json | 1 | ||||
-rw-r--r-- | src/i18n/locales/ua.json | 1 | ||||
-rw-r--r-- | src/i18n/locales/zh-Hant.json | 168 | ||||
-rw-r--r-- | src/index.js | 2 | ||||
-rw-r--r-- | src/lib/Tray.js | 9 | ||||
-rw-r--r-- | src/stores/ServicesStore.js | 2 |
20 files changed, 439 insertions, 58 deletions
diff --git a/src/components/layout/Sidebar.js b/src/components/layout/Sidebar.js index 4aee1ec60..6a5c0f365 100644 --- a/src/components/layout/Sidebar.js +++ b/src/components/layout/Sidebar.js | |||
@@ -52,7 +52,7 @@ export default class Sidebar extends Component { | |||
52 | <button | 52 | <button |
53 | onClick={openSettings} | 53 | onClick={openSettings} |
54 | className="sidebar__settings-button" | 54 | className="sidebar__settings-button" |
55 | data-tip={`Settings (${ctrlKey}+,)`} | 55 | data-tip={`${intl.formatMessage(messages.settings)} (${ctrlKey}+,)`} |
56 | > | 56 | > |
57 | {isPremiumUser && ( | 57 | {isPremiumUser && ( |
58 | <span className="emoji"> | 58 | <span className="emoji"> |
diff --git a/src/components/services/tabs/TabBarSortableList.js b/src/components/services/tabs/TabBarSortableList.js index c0a68d1a5..e5ae36419 100644 --- a/src/components/services/tabs/TabBarSortableList.js +++ b/src/components/services/tabs/TabBarSortableList.js | |||
@@ -1,44 +1,78 @@ | |||
1 | import React from 'react'; | 1 | import React, { Component } from 'react'; |
2 | import { observer } from 'mobx-react'; | 2 | import { observer, PropTypes as MobxPropTypes } from 'mobx-react'; |
3 | import PropTypes from 'prop-types'; | ||
3 | import { SortableContainer } from 'react-sortable-hoc'; | 4 | import { SortableContainer } from 'react-sortable-hoc'; |
5 | import { defineMessages, intlShape } from 'react-intl'; | ||
4 | 6 | ||
5 | import TabItem from './TabItem'; | 7 | import TabItem from './TabItem'; |
6 | import { ctrlKey } from '../../../environment'; | 8 | import { ctrlKey } from '../../../environment'; |
7 | 9 | ||
8 | export default SortableContainer(observer(({ | 10 | const messages = defineMessages({ |
9 | services, | 11 | addNewService: { |
10 | setActive, | 12 | id: 'sidebar.addNewService', |
11 | reload, | 13 | defaultMessage: '!!!Add new service', |
12 | toggleNotifications, | 14 | }, |
13 | deleteService, | 15 | }); |
14 | disableService, | 16 | |
15 | openSettings, | 17 | @observer |
16 | }) => ( | 18 | class TabBarSortableList extends Component { |
17 | <ul | 19 | static propTypes = { |
18 | className="tabs" | 20 | services: MobxPropTypes.arrayOrObservableArray.isRequired, |
19 | > | 21 | setActive: PropTypes.func.isRequired, |
20 | {services.map((service, index) => ( | 22 | openSettings: PropTypes.func.isRequired, |
21 | <TabItem | 23 | reload: PropTypes.func.isRequired, |
22 | key={service.id} | 24 | toggleNotifications: PropTypes.func.isRequired, |
23 | clickHandler={() => setActive({ serviceId: service.id })} | 25 | deleteService: PropTypes.func.isRequired, |
24 | service={service} | 26 | disableService: PropTypes.func.isRequired, |
25 | index={index} | 27 | } |
26 | shortcutIndex={index + 1} | 28 | |
27 | reload={() => reload({ serviceId: service.id })} | 29 | static contextTypes = { |
28 | toggleNotifications={() => toggleNotifications({ serviceId: service.id })} | 30 | intl: intlShape, |
29 | deleteService={() => deleteService({ serviceId: service.id })} | 31 | }; |
30 | disableService={() => disableService({ serviceId: service.id })} | 32 | |
31 | openSettings={openSettings} | 33 | render() { |
32 | /> | 34 | const { |
33 | ))} | 35 | services, |
34 | <li> | 36 | setActive, |
35 | <button | 37 | reload, |
36 | className="sidebar__add-service" | 38 | toggleNotifications, |
37 | onClick={() => openSettings({ path: 'recipes' })} | 39 | deleteService, |
38 | data-tip={`Add new service (${ctrlKey}+N)`} | 40 | disableService, |
41 | openSettings, | ||
42 | } = this.props; | ||
43 | |||
44 | const { intl } = this.context; | ||
45 | |||
46 | return ( | ||
47 | <ul | ||
48 | className="tabs" | ||
39 | > | 49 | > |
40 | <span className="mdi mdi-plus" /> | 50 | {services.map((service, index) => ( |
41 | </button> | 51 | <TabItem |
42 | </li> | 52 | key={service.id} |
43 | </ul> | 53 | clickHandler={() => setActive({ serviceId: service.id })} |
44 | ))); | 54 | service={service} |
55 | index={index} | ||
56 | shortcutIndex={index + 1} | ||
57 | reload={() => reload({ serviceId: service.id })} | ||
58 | toggleNotifications={() => toggleNotifications({ serviceId: service.id })} | ||
59 | deleteService={() => deleteService({ serviceId: service.id })} | ||
60 | disableService={() => disableService({ serviceId: service.id })} | ||
61 | openSettings={openSettings} | ||
62 | /> | ||
63 | ))} | ||
64 | <li> | ||
65 | <button | ||
66 | className="sidebar__add-service" | ||
67 | onClick={() => openSettings({ path: 'recipes' })} | ||
68 | data-tip={`${intl.formatMessage(messages.addNewService)} (${ctrlKey}+N)`} | ||
69 | > | ||
70 | <span className="mdi mdi-plus" /> | ||
71 | </button> | ||
72 | </li> | ||
73 | </ul> | ||
74 | ); | ||
75 | } | ||
76 | } | ||
77 | |||
78 | export default SortableContainer(TabBarSortableList); | ||
diff --git a/src/i18n/languages.js b/src/i18n/languages.js index 0f93d236d..4d9707a13 100644 --- a/src/i18n/languages.js +++ b/src/i18n/languages.js | |||
@@ -10,5 +10,7 @@ module.exports = { | |||
10 | pl: 'Polish', | 10 | pl: 'Polish', |
11 | ru: 'Русский', | 11 | ru: 'Русский', |
12 | ua: 'Українська', | 12 | ua: 'Українська', |
13 | 'es-ES': 'Español - España', | ||
14 | 'zh-Hant': 'Chinese (Traditional)', | ||
13 | 'nb-NO': 'Norsk' | 15 | 'nb-NO': 'Norsk' |
14 | }; | 16 | }; |
diff --git a/src/i18n/locales/de.json b/src/i18n/locales/de.json index 0964169a8..80b66db08 100644 --- a/src/i18n/locales/de.json +++ b/src/i18n/locales/de.json | |||
@@ -60,6 +60,7 @@ | |||
60 | "infobar.buttonInstallUpdate": "Neustarten & Aktualisierung installieren", | 60 | "infobar.buttonInstallUpdate": "Neustarten & Aktualisierung installieren", |
61 | "infobar.requiredRequestsFailed": "Dienste und Benutzerinformationen konnten nicht geladen werden", | 61 | "infobar.requiredRequestsFailed": "Dienste und Benutzerinformationen konnten nicht geladen werden", |
62 | "sidebar.settings": "Einstellungen", | 62 | "sidebar.settings": "Einstellungen", |
63 | "sidebar.addNewService": "!!!Add new service", | ||
63 | "services.welcome": "Willkommen bei Franz", | 64 | "services.welcome": "Willkommen bei Franz", |
64 | "services.getStarted": "Loslegen", | 65 | "services.getStarted": "Loslegen", |
65 | "settings.account.headline": "Konto", | 66 | "settings.account.headline": "Konto", |
diff --git a/src/i18n/locales/el-GR.json b/src/i18n/locales/el-GR.json index dfada77a2..3710bc9a2 100644 --- a/src/i18n/locales/el-GR.json +++ b/src/i18n/locales/el-GR.json | |||
@@ -60,6 +60,7 @@ | |||
60 | "infobar.buttonInstallUpdate": "Επανεκκίνηση & εγκατάσταση ενημερώσεων", | 60 | "infobar.buttonInstallUpdate": "Επανεκκίνηση & εγκατάσταση ενημερώσεων", |
61 | "infobar.requiredRequestsFailed": "Δεν ήταν δυνατή η φόρτωση υπηρεσιών και πληροφοριών χρηστών", | 61 | "infobar.requiredRequestsFailed": "Δεν ήταν δυνατή η φόρτωση υπηρεσιών και πληροφοριών χρηστών", |
62 | "sidebar.settings": "Ρυθμίσεις", | 62 | "sidebar.settings": "Ρυθμίσεις", |
63 | "sidebar.addNewService": "!!!Add new service", | ||
63 | "services.welcome": "Καλώς ορίσατε στον Franz", | 64 | "services.welcome": "Καλώς ορίσατε στον Franz", |
64 | "services.getStarted": "Ξεκινήστε", | 65 | "services.getStarted": "Ξεκινήστε", |
65 | "settings.account.headline": "Λογαριασμός", | 66 | "settings.account.headline": "Λογαριασμός", |
diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json index b9ed51b83..b1d260f0a 100644 --- a/src/i18n/locales/en-US.json +++ b/src/i18n/locales/en-US.json | |||
@@ -60,6 +60,7 @@ | |||
60 | "infobar.buttonInstallUpdate": "Restart & install update", | 60 | "infobar.buttonInstallUpdate": "Restart & install update", |
61 | "infobar.requiredRequestsFailed": "Could not load services and user information", | 61 | "infobar.requiredRequestsFailed": "Could not load services and user information", |
62 | "sidebar.settings": "Settings", | 62 | "sidebar.settings": "Settings", |
63 | "sidebar.addNewService": "Add new service", | ||
63 | "services.welcome": "Welcome to Franz", | 64 | "services.welcome": "Welcome to Franz", |
64 | "services.getStarted": "Get started", | 65 | "services.getStarted": "Get started", |
65 | "settings.account.headline": "Account", | 66 | "settings.account.headline": "Account", |
diff --git a/src/i18n/locales/es-ES.json b/src/i18n/locales/es-ES.json new file mode 100644 index 000000000..f71b07b2d --- /dev/null +++ b/src/i18n/locales/es-ES.json | |||
@@ -0,0 +1,168 @@ | |||
1 | { | ||
2 | "global.api.unhealthy": "No se pudo conectar con los servicios online de Franz", | ||
3 | "global.notConnectedToTheInternet": "No estás conectado a internet.", | ||
4 | "welcome.signupButton": "Crea una cuenta gratuita", | ||
5 | "welcome.loginButton": "Accede a tu cuenta", | ||
6 | "welcome.slogan": "Mensajería hecha para ti", | ||
7 | "login.headline": "Acceder", | ||
8 | "login.email.label": "Dirección de Email", | ||
9 | "login.password.label": "Contraseña", | ||
10 | "login.submit.label": "Acceder", | ||
11 | "login.invalidCredentials": "Email o contraseña no válidos", | ||
12 | "login.tokenExpired": "Tu sesión ha expirado. Por favor, accede de nuevo.", | ||
13 | "login.serverLogout": "Tu sesión ha expirado. Por favor, accede de nuevo.", | ||
14 | "login.link.signup": "Crea una cuenta gratuita", | ||
15 | "login.link.password": "Restablecer contraseña", | ||
16 | "password.headline": "Restablecer contraseña", | ||
17 | "password.email.label": "Dirección de Email", | ||
18 | "password.submit.label": "Enviar", | ||
19 | "password.noUser": "No hemos encontrado un usuario con ese email", | ||
20 | "password.successInfo": "Por favor, comprueba tu email", | ||
21 | "password.link.signup": "Crea una cuenta gratuita", | ||
22 | "password.link.login": "Accede a tu cuenta", | ||
23 | "signup.headline": "Crea tu cuenta", | ||
24 | "signup.firstname.label": "Nombre", | ||
25 | "signup.lastname.label": "Apellidos", | ||
26 | "signup.email.label": "Dirección de Email", | ||
27 | "signup.company.label": "Empresa", | ||
28 | "signup.password.label": "Contraseña", | ||
29 | "signup.submit.label": "Crear cuenta", | ||
30 | "signup.link.login": "¿Tienes ya una cuenta? Accede", | ||
31 | "signup.emailDuplicate": "Ya existe un usuario con esa dirección de email", | ||
32 | "signup.legal.info": "Al crear una cuenta de Franz aceptas los", | ||
33 | "signup.legal.terms": "Términos de servicio", | ||
34 | "signup.legal.privacy": "Política de privacidad", | ||
35 | "pricing.headline": "Ayuda a Franz", | ||
36 | "pricing.support.label": "Selecciona tu plan de ayuda", | ||
37 | "pricing.submit.label": "Quiero ayudar al desarrollo de Franz", | ||
38 | "pricing.link.skipPayment": "No quiero ayudar al desarrollo de Franz.", | ||
39 | "import.headline": "Importa tus servicios de Franz 4", | ||
40 | "import.notSupportedHeadline": "Servicios aún no disponibles en Franz 5", | ||
41 | "import.submit.label": "Importar servicios", | ||
42 | "import.skip.label": "Quiero añadir los servicios manualmente", | ||
43 | "invite.submit.label": "Enviar invitaciones", | ||
44 | "invite.headline.friends": "Invita a 3 de tus amigos o compañeros", | ||
45 | "invite.name.label": "Nombre", | ||
46 | "invite.email.label": "Dirección de Email", | ||
47 | "invite.skip.label": "Prefiero hacer esto luego", | ||
48 | "subscription.submit.label": "Quiero ayudar al desarrollo de Franz", | ||
49 | "subscription.paymentSessionError": "No se ha podido inicializar el formulario de pago", | ||
50 | "subscription.includedFeatures": "La cuenta de Franz Premium Supporter incluye", | ||
51 | "subscription.features.onpremise": "Añadir servicios in-situ/alojados como HipChat", | ||
52 | "subscription.features.customServices": "Servicios privados para ti y tu equipo", | ||
53 | "subscription.features.encryptedSync": "Sincronización de sesión encriptada", | ||
54 | "subscription.features.vpn": "Soporte para Proxy y VPN", | ||
55 | "subscription.features.ads": "¡Sin anuncios, para siempre!", | ||
56 | "subscription.features.comingSoon": "próximamente", | ||
57 | "infobar.servicesUpdated": "Tus servicios han sido actualizados.", | ||
58 | "infobar.updateAvailable": "Una nueva actualización para Franz está disponible.", | ||
59 | "infobar.buttonReloadServices": "Volver a cargar servicios", | ||
60 | "infobar.buttonInstallUpdate": "Reiniciar e instalar actualizaciones", | ||
61 | "infobar.requiredRequestsFailed": "No se han podido cargar los servicios y la información de usuario", | ||
62 | "sidebar.settings": "Ajustes", | ||
63 | "services.welcome": "Bienvenido a Franz", | ||
64 | "services.getStarted": "Comienza", | ||
65 | "settings.account.headline": "Mi cuenta", | ||
66 | "settings.account.headlineSubscription": "Tu suscripción", | ||
67 | "settings.account.headlineUpgrade": "Mejora tu cuenta y ayuda a Franz", | ||
68 | "settings.account.headlineInvoices": "Recibos", | ||
69 | "settings.account.manageSubscription.label": "Administra tu suscripción", | ||
70 | "settings.account.accountType.basic": "Cuenta Básica", | ||
71 | "settings.account.accountType.premium": "Cuenta Premium Supporter", | ||
72 | "settings.account.account.editButton": "Editar cuenta", | ||
73 | "settings.account.invoiceDownload": "Descargar", | ||
74 | "settings.account.userInfoRequestFailed": "No se ha podido cargar la información de usuario", | ||
75 | "settings.account.tryReloadUserInfoRequest": "TPrueba otra vez", | ||
76 | "settings.account.headlineProfile": "Actualizar perfil", | ||
77 | "settings.account.headlineAccount": "Información de la cuenta", | ||
78 | "settings.account.headlinePassword": "Cambiar contraseña", | ||
79 | "settings.account.successInfo": "Tus cambios han sido guardados", | ||
80 | "settings.account.buttonSave": "Actualizar perfil", | ||
81 | "settings.account.mining.thankyou": "Gracias por ayudar a Franz con tu procesador.", | ||
82 | "settings.account.mining.active": "Ahora mismo estás haciendo {hashes} cálculos por segundo.", | ||
83 | "settings.account.mining.moreInformation": "Obtén más información", | ||
84 | "settings.account.mining.cancel": "Cancelar minado", | ||
85 | "settings.navigation.availableServices": "Servicios disponibles", | ||
86 | "settings.navigation.yourServices": "Tus servicios", | ||
87 | "settings.navigation.account": "Cuenta", | ||
88 | "settings.navigation.settings": "Ajustes", | ||
89 | "settings.navigation.logout": "Desconectar", | ||
90 | "settings.recipes.headline": "Servicios disponibles", | ||
91 | "settings.recipes.mostPopular": "Más populares", | ||
92 | "settings.recipes.all": "Todos los servicios", | ||
93 | "settings.recipes.dev": "Desarrollo", | ||
94 | "settings.recipes.nothingFound": "Lo sentimos, no hemos encontrado nada.", | ||
95 | "settings.recipes.servicesSuccessfulAddedInfo": "Servicio añadido con éxito", | ||
96 | "settings.service.form.saveButton": "Guardar servicio", | ||
97 | "settings.service.form.deleteButton": "Eliminar servicio", | ||
98 | "settings.service.form.availableServices": "Servicios disponibles", | ||
99 | "settings.service.form.yourServices": "Tus servicios", | ||
100 | "settings.service.form.addServiceHeadline": "Añadir {name}", | ||
101 | "settings.service.form.editServiceHeadline": "Editar {name}", | ||
102 | "settings.service.form.tabHosted": "Alojados", | ||
103 | "settings.service.form.tabOnPremise": "Autoalojados ⭐️", | ||
104 | "settings.service.form.customUrlValidationError": "No se ha podido validar el servidor personalizado {name}.", | ||
105 | "settings.service.form.customUrlPremiumInfo": "Para añadir servicios autoalojados necesitas una cuenta de Franz Premium Supporter.", | ||
106 | "settings.service.form.customUrlUpgradeAccount": "Mejora tu cuenta", | ||
107 | "settings.service.form.indirectMessageInfo": "Serás notificado sobre todos los nuevos mensajes en un canal, no solo @username, @channel, @here, ...", | ||
108 | "settings.service.error.headline": "Error", | ||
109 | "settings.service.error.goBack": "Volver a los servicios", | ||
110 | "settings.service.error.message": "No se ha podido cargar el servicio.", | ||
111 | "settings.services.tooltip.isDisabled": "Servicio deshabilitado", | ||
112 | "settings.services.tooltip.notificationsDisabled": "Notificaciones deshabilitadas", | ||
113 | "settings.services.headline": "Tus servicios", | ||
114 | "settings.services.noServicesAdded": "Aún no has añadido ningún servicio.", | ||
115 | "settings.services.discoverServices": "Descubrir servicios", | ||
116 | "settings.services.updatedInfo": "Tu cambios han sido guardados", | ||
117 | "settings.services.deletedInfo": "Se ha eliminado el servicio", | ||
118 | "settings.app.headline": "Ajustes", | ||
119 | "settings.app.headlineGeneral": "Generales", | ||
120 | "settings.app.headlineLanguage": "Idioma", | ||
121 | "settings.app.headlineUpdates": "Actualizaciones", | ||
122 | "settings.app.buttonSearchForUpdate": "Buscar actualizaciones", | ||
123 | "settings.app.buttonInstallUpdate": "Reiniciar e instalar actualizaciones", | ||
124 | "settings.app.updateStatusSearching": "Buscando actualizaciones", | ||
125 | "settings.app.updateStatusAvailable": "Actualización disponible, descargando...", | ||
126 | "settings.app.updateStatusUpToDate": "Estás utilizando la última versión de Franz", | ||
127 | "settings.app.form.autoLaunchOnStart": "Iniciar Franz al encender", | ||
128 | "settings.app.form.autoLaunchInBackground": "Abrir en segundo plano", | ||
129 | "settings.app.form.enableSystemTray": "Mostrar Franz en la barra de tareas", | ||
130 | "settings.app.form.minimizeToSystemTray": "Minimizar Franz a la barra de tareas", | ||
131 | "settings.app.form.runInBackground": "Mantener Franz abierto en segundo plano al cerrar la ventana", | ||
132 | "settings.app.form.language": "Idioma", | ||
133 | "settings.app.form.beta": "Incluir versiones beta", | ||
134 | "settings.app.currentVersion": "Versión actual:", | ||
135 | "settings.service.form.name": "Nombre", | ||
136 | "settings.service.form.enableService": "Habilitar servicio", | ||
137 | "settings.service.form.enableNotification": "Habilitar notificaciones", | ||
138 | "settings.service.form.team": "Equipo", | ||
139 | "settings.service.form.customUrl": "Servidor personalizado", | ||
140 | "settings.service.form.indirectMessages": "Mostrar señal para todos los mensajes nuevos", | ||
141 | "settings.user.form.firstname": "Nombre", | ||
142 | "settings.user.form.lastname": "Apellidos", | ||
143 | "settings.user.form.email": "Email", | ||
144 | "settings.user.form.currentPassword": "Contraseña actual", | ||
145 | "settings.user.form.newPassword": "Nueva contraseña", | ||
146 | "settings.user.form.accountType.label": "Tipo de cuenta", | ||
147 | "settings.user.form.accountType.individual": "Individual", | ||
148 | "settings.user.form.accountType.non-profit": "Sin ánimo de lucro", | ||
149 | "settings.user.form.accountType.company": "Empresa", | ||
150 | "subscription.type.free": "gratis", | ||
151 | "subscription.type.month": "mensual", | ||
152 | "subscription.type.year": "anual", | ||
153 | "subscription.type.mining": "Ayuda a Franz con tu procesador", | ||
154 | "subscription.mining.headline": "¿Cómo funciona?", | ||
155 | "subscription.mining.experimental": "experimental", | ||
156 | "subscription.mining.line1": "Al habilitar \"Ayuda a Franz con tu procesador\", Franz utilizará entre un 20-50% de tu CPU para minar la criptomoneda Monero, lo que equivale a aproximadamente 5$ anuales.", | ||
157 | "subscription.mining.line2": "Adaptaremos el uso de CPU basándonos en tu carga de trabajo para no vaciar tu batería ni realentizar tu ordenador.", | ||
158 | "subscription.mining.line3": "Siempre que el minero esté activo, tendrás acceso ilimitado a todas las ventajas de la cuenta Franz Premium Supporter.", | ||
159 | "subscription.mining.moreInformation": "Obtén más información sobre este plan.", | ||
160 | "subscriptionPopup.buttonCancel": "Cancelar", | ||
161 | "subscriptionPopup.buttonDone": "Hecho", | ||
162 | "tabs.item.reload": "Recargar", | ||
163 | "tabs.item.edit": "Editar", | ||
164 | "tabs.item.disableNotifications": "Desactivar notificaciones", | ||
165 | "tabs.item.enableNotification": "Activar notificaciones", | ||
166 | "tabs.item.disableService": "Deshabilitar servicio", | ||
167 | "tabs.item.deleteService": "Eliminar servicio" | ||
168 | } | ||
diff --git a/src/i18n/locales/fr.json b/src/i18n/locales/fr.json index 84cf54492..2863f47e4 100644 --- a/src/i18n/locales/fr.json +++ b/src/i18n/locales/fr.json | |||
@@ -60,6 +60,7 @@ | |||
60 | "infobar.buttonInstallUpdate": "Redémarrer et installer la mise à jour", | 60 | "infobar.buttonInstallUpdate": "Redémarrer et installer la mise à jour", |
61 | "infobar.requiredRequestsFailed": "Impossible de charger les services et les informations de l'utilisateur", | 61 | "infobar.requiredRequestsFailed": "Impossible de charger les services et les informations de l'utilisateur", |
62 | "sidebar.settings": "Paramètres", | 62 | "sidebar.settings": "Paramètres", |
63 | "sidebar.addNewService": "!!!Add new service", | ||
63 | "services.welcome": "Bienvenue sur Franz", | 64 | "services.welcome": "Bienvenue sur Franz", |
64 | "services.getStarted": "Commencer", | 65 | "services.getStarted": "Commencer", |
65 | "settings.account.headline": "Compte", | 66 | "settings.account.headline": "Compte", |
diff --git a/src/i18n/locales/ja.json b/src/i18n/locales/ja.json index a283154c9..98b7cbb19 100644 --- a/src/i18n/locales/ja.json +++ b/src/i18n/locales/ja.json | |||
@@ -60,12 +60,13 @@ | |||
60 | "infobar.buttonInstallUpdate": "再起動して更新をインストールする", | 60 | "infobar.buttonInstallUpdate": "再起動して更新をインストールする", |
61 | "infobar.requiredRequestsFailed": "サービスとユーザー情報が読み込めません", | 61 | "infobar.requiredRequestsFailed": "サービスとユーザー情報が読み込めません", |
62 | "sidebar.settings": "設定", | 62 | "sidebar.settings": "設定", |
63 | "sidebar.addNewService": "!!!Add new service", | ||
63 | "services.welcome": "Franzにようこそ", | 64 | "services.welcome": "Franzにようこそ", |
64 | "services.getStarted": "はじめる", | 65 | "services.getStarted": "はじめる", |
65 | "settings.account.headline": "アカウント", | 66 | "settings.account.headline": "アカウント", |
66 | "settings.account.headlineSubscription": "サブスクリプション内容", | 67 | "settings.account.headlineSubscription": "サブスクリプション内容", |
67 | "settings.account.headlineUpgrade": "アカウントをアップグレードし、Franzを支援する", | 68 | "settings.account.headlineUpgrade": "アカウントをアップグレードし、Franzを支援する", |
68 | "settings.account.headlineInvoices": "Invoices", | 69 | "settings.account.headlineInvoices": "インボイス", |
69 | "settings.account.manageSubscription.label": "サブスクリプションの管理", | 70 | "settings.account.manageSubscription.label": "サブスクリプションの管理", |
70 | "settings.account.accountType.basic": "Basicアカウント", | 71 | "settings.account.accountType.basic": "Basicアカウント", |
71 | "settings.account.accountType.premium": "Premium Supporterアカウント", | 72 | "settings.account.accountType.premium": "Premium Supporterアカウント", |
@@ -126,6 +127,7 @@ | |||
126 | "settings.app.updateStatusUpToDate": "お使いのFranzは最新です", | 127 | "settings.app.updateStatusUpToDate": "お使いのFranzは最新です", |
127 | "settings.app.form.autoLaunchOnStart": "システム起動時にFranzを開く", | 128 | "settings.app.form.autoLaunchOnStart": "システム起動時にFranzを開く", |
128 | "settings.app.form.autoLaunchInBackground": "バックグラウンドで開く", | 129 | "settings.app.form.autoLaunchInBackground": "バックグラウンドで開く", |
130 | "settings.app.form.enableSystemTray": "Franzをシステムトレイに表示する", | ||
129 | "settings.app.form.minimizeToSystemTray": "Franzをシステムトレイに最小化する", | 131 | "settings.app.form.minimizeToSystemTray": "Franzをシステムトレイに最小化する", |
130 | "settings.app.form.runInBackground": "ウインドウを閉じた際にFranzをバックグラウンドで実行させておく", | 132 | "settings.app.form.runInBackground": "ウインドウを閉じた際にFranzをバックグラウンドで実行させておく", |
131 | "settings.app.form.language": "言語", | 133 | "settings.app.form.language": "言語", |
@@ -150,7 +152,7 @@ | |||
150 | "subscription.type.month": "月間", | 152 | "subscription.type.month": "月間", |
151 | "subscription.type.year": "年間", | 153 | "subscription.type.year": "年間", |
152 | "subscription.type.mining": "PCの処理能力を使ってFranzを支援する", | 154 | "subscription.type.mining": "PCの処理能力を使ってFranzを支援する", |
153 | "subscription.mining.headline": "これはどのよう動", | 155 | "subscription.mining.headline": "これはどのよう組か", |
154 | "subscription.mining.experimental": "実験的", | 156 | "subscription.mining.experimental": "実験的", |
155 | "subscription.mining.line1": "\"PCの処理能力を使ってFranzを支援する\"を有効にすることで、Franzはおよそ20-50%のCPUパワーを暗号通貨Moneroのマイニングに使用し、これはおよそ年間で5ドル分にあたります。", | 157 | "subscription.mining.line1": "\"PCの処理能力を使ってFranzを支援する\"を有効にすることで、Franzはおよそ20-50%のCPUパワーを暗号通貨Moneroのマイニングに使用し、これはおよそ年間で5ドル分にあたります。", |
156 | "subscription.mining.line2": "処理能力に基づいてCPUの使用率を適応しますのでバッテリーを無駄に消費したり、システムを遅くすることはありません。", | 158 | "subscription.mining.line2": "処理能力に基づいてCPUの使用率を適応しますのでバッテリーを無駄に消費したり、システムを遅くすることはありません。", |
diff --git a/src/i18n/locales/nb-NO.json b/src/i18n/locales/nb-NO.json index ec0599535..976c54787 100644 --- a/src/i18n/locales/nb-NO.json +++ b/src/i18n/locales/nb-NO.json | |||
@@ -60,6 +60,7 @@ | |||
60 | "infobar.buttonInstallUpdate": "Restart & installer oppdatering", | 60 | "infobar.buttonInstallUpdate": "Restart & installer oppdatering", |
61 | "infobar.requiredRequestsFailed": "Kunne ikke laste tjenester og brukerinformasjon", | 61 | "infobar.requiredRequestsFailed": "Kunne ikke laste tjenester og brukerinformasjon", |
62 | "sidebar.settings": "Innstillinger", | 62 | "sidebar.settings": "Innstillinger", |
63 | "sidebar.addNewService": "Legg til ny tjeneste", | ||
63 | "services.welcome": "Velkommen til Franz", | 64 | "services.welcome": "Velkommen til Franz", |
64 | "services.getStarted": "Kom i gang", | 65 | "services.getStarted": "Kom i gang", |
65 | "settings.account.headline": "Konto", | 66 | "settings.account.headline": "Konto", |
diff --git a/src/i18n/locales/nl-BE.json b/src/i18n/locales/nl-BE.json index 40cc14c50..a19d51b2b 100644 --- a/src/i18n/locales/nl-BE.json +++ b/src/i18n/locales/nl-BE.json | |||
@@ -54,12 +54,13 @@ | |||
54 | "subscription.features.vpn": "Proxy & VPN ondersteuning", | 54 | "subscription.features.vpn": "Proxy & VPN ondersteuning", |
55 | "subscription.features.ads": "Geen reclame, nooit!", | 55 | "subscription.features.ads": "Geen reclame, nooit!", |
56 | "subscription.features.comingSoon": "komt binnenkort", | 56 | "subscription.features.comingSoon": "komt binnenkort", |
57 | "infobar.servicesUpdated": "Je services zijn geüpdated.", | 57 | "infobar.servicesUpdated": "Je services zijn geüpdatet.", |
58 | "infobar.updateAvailable": "Er is een nieuwe update van Franz beschikbaar.", | 58 | "infobar.updateAvailable": "Er is een nieuwe update van Franz beschikbaar.", |
59 | "infobar.buttonReloadServices": "Services herladen", | 59 | "infobar.buttonReloadServices": "Services herladen", |
60 | "infobar.buttonInstallUpdate": "Herstarten & update installeren", | 60 | "infobar.buttonInstallUpdate": "Herstarten & update installeren", |
61 | "infobar.requiredRequestsFailed": "Kon services en gebruikersinformatie niet laden", | 61 | "infobar.requiredRequestsFailed": "Kon services en gebruikersinformatie niet laden", |
62 | "sidebar.settings": "Instellingen", | 62 | "sidebar.settings": "Instellingen", |
63 | "sidebar.addNewService": "!!!Add new service", | ||
63 | "services.welcome": "Welkom bij Franz", | 64 | "services.welcome": "Welkom bij Franz", |
64 | "services.getStarted": "Begin", | 65 | "services.getStarted": "Begin", |
65 | "settings.account.headline": "Account", | 66 | "settings.account.headline": "Account", |
@@ -76,7 +77,7 @@ | |||
76 | "settings.account.headlineProfile": "Profiel aanpassen", | 77 | "settings.account.headlineProfile": "Profiel aanpassen", |
77 | "settings.account.headlineAccount": "Accountinformatie", | 78 | "settings.account.headlineAccount": "Accountinformatie", |
78 | "settings.account.headlinePassword": "Wachtwoord veranderen", | 79 | "settings.account.headlinePassword": "Wachtwoord veranderen", |
79 | "settings.account.successInfo": "Je wijzigingen werden bewaard", | 80 | "settings.account.successInfo": "Je wijzigingen zijn opgeslagen", |
80 | "settings.account.buttonSave": "Profiel aanpassen", | 81 | "settings.account.buttonSave": "Profiel aanpassen", |
81 | "settings.account.mining.thankyou": "Bedankt om Franz te steunen met je rekenkracht.", | 82 | "settings.account.mining.thankyou": "Bedankt om Franz te steunen met je rekenkracht.", |
82 | "settings.account.mining.active": "Op dit moment maak je {hashes} berekeningen per seconde.", | 83 | "settings.account.mining.active": "Op dit moment maak je {hashes} berekeningen per seconde.", |
@@ -113,7 +114,7 @@ | |||
113 | "settings.services.headline": "Jouw services", | 114 | "settings.services.headline": "Jouw services", |
114 | "settings.services.noServicesAdded": "Je hebt nog geen services toegevoegd.", | 115 | "settings.services.noServicesAdded": "Je hebt nog geen services toegevoegd.", |
115 | "settings.services.discoverServices": "Services ontdekken", | 116 | "settings.services.discoverServices": "Services ontdekken", |
116 | "settings.services.updatedInfo": "Je veranderingen werden bewaard", | 117 | "settings.services.updatedInfo": "Je wijzigingen werden bewaard", |
117 | "settings.services.deletedInfo": "Service werd verwijderd", | 118 | "settings.services.deletedInfo": "Service werd verwijderd", |
118 | "settings.app.headline": "Instellingen", | 119 | "settings.app.headline": "Instellingen", |
119 | "settings.app.headlineGeneral": "Algemeen", | 120 | "settings.app.headlineGeneral": "Algemeen", |
diff --git a/src/i18n/locales/nl.json b/src/i18n/locales/nl.json index 159d1f328..aee1a52c8 100644 --- a/src/i18n/locales/nl.json +++ b/src/i18n/locales/nl.json | |||
@@ -10,7 +10,7 @@ | |||
10 | "login.submit.label": "Inloggen", | 10 | "login.submit.label": "Inloggen", |
11 | "login.invalidCredentials": "E-mailadres of wachtwoord ongeldig", | 11 | "login.invalidCredentials": "E-mailadres of wachtwoord ongeldig", |
12 | "login.tokenExpired": "De sessie is verlopen, log opnieuw in alsjeblieft.", | 12 | "login.tokenExpired": "De sessie is verlopen, log opnieuw in alsjeblieft.", |
13 | "login.serverLogout": "De sessie is verlopen, log opnieuw in alsjeblieft..", | 13 | "login.serverLogout": "De sessie is verlopen, log opnieuw in alsjeblieft.", |
14 | "login.link.signup": "Maak een gratis account", | 14 | "login.link.signup": "Maak een gratis account", |
15 | "login.link.password": "Wachtwoord vergeten", | 15 | "login.link.password": "Wachtwoord vergeten", |
16 | "password.headline": "Wachtwoord vergeten", | 16 | "password.headline": "Wachtwoord vergeten", |
@@ -60,6 +60,7 @@ | |||
60 | "infobar.buttonInstallUpdate": "Herstart & installeer update", | 60 | "infobar.buttonInstallUpdate": "Herstart & installeer update", |
61 | "infobar.requiredRequestsFailed": "Kon services en gebruikerinformatie niet laden", | 61 | "infobar.requiredRequestsFailed": "Kon services en gebruikerinformatie niet laden", |
62 | "sidebar.settings": "Instellingen", | 62 | "sidebar.settings": "Instellingen", |
63 | "sidebar.addNewService": "Voeg nieuwe service toe", | ||
63 | "services.welcome": "Welkom bij Franz", | 64 | "services.welcome": "Welkom bij Franz", |
64 | "services.getStarted": "Beginnen", | 65 | "services.getStarted": "Beginnen", |
65 | "settings.account.headline": "Account", | 66 | "settings.account.headline": "Account", |
@@ -157,7 +158,7 @@ | |||
157 | "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.", | 158 | "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.", |
158 | "subscription.mining.line3": "Zolang de miner actief is, heb je onbeperkt toegang tot alle Franz Premium Supporter Features.", | 159 | "subscription.mining.line3": "Zolang de miner actief is, heb je onbeperkt toegang tot alle Franz Premium Supporter Features.", |
159 | "subscription.mining.moreInformation": "Verkrijg meer informatie over dit plan.", | 160 | "subscription.mining.moreInformation": "Verkrijg meer informatie over dit plan.", |
160 | "subscriptionPopup.buttonCancel": "Cancel", | 161 | "subscriptionPopup.buttonCancel": "Annuleer", |
161 | "subscriptionPopup.buttonDone": "Klaar", | 162 | "subscriptionPopup.buttonDone": "Klaar", |
162 | "tabs.item.reload": "Herlaad", | 163 | "tabs.item.reload": "Herlaad", |
163 | "tabs.item.edit": "Bewerk", | 164 | "tabs.item.edit": "Bewerk", |
diff --git a/src/i18n/locales/pl.json b/src/i18n/locales/pl.json index 1a8e9ad54..a884ef319 100644 --- a/src/i18n/locales/pl.json +++ b/src/i18n/locales/pl.json | |||
@@ -60,6 +60,7 @@ | |||
60 | "infobar.buttonInstallUpdate": "Uruchom ponownie i zainstaluj aktualizacje", | 60 | "infobar.buttonInstallUpdate": "Uruchom ponownie i zainstaluj aktualizacje", |
61 | "infobar.requiredRequestsFailed": "Nie można wczytać usług i informacji o użytkowniku", | 61 | "infobar.requiredRequestsFailed": "Nie można wczytać usług i informacji o użytkowniku", |
62 | "sidebar.settings": "Ustawienia", | 62 | "sidebar.settings": "Ustawienia", |
63 | "sidebar.addNewService": "!!!Add new service", | ||
63 | "services.welcome": "Witaj w aplikcji Franz", | 64 | "services.welcome": "Witaj w aplikcji Franz", |
64 | "services.getStarted": "Zacznij", | 65 | "services.getStarted": "Zacznij", |
65 | "settings.account.headline": "Konto", | 66 | "settings.account.headline": "Konto", |
diff --git a/src/i18n/locales/pt-BR.json b/src/i18n/locales/pt-BR.json index 38f0836a7..8a139a4f5 100644 --- a/src/i18n/locales/pt-BR.json +++ b/src/i18n/locales/pt-BR.json | |||
@@ -59,7 +59,8 @@ | |||
59 | "infobar.buttonReloadServices": "Recarregar serviços", | 59 | "infobar.buttonReloadServices": "Recarregar serviços", |
60 | "infobar.buttonInstallUpdate": "Reiniciar & instalar atualização", | 60 | "infobar.buttonInstallUpdate": "Reiniciar & instalar atualização", |
61 | "infobar.requiredRequestsFailed": "Não foi possível carregar serviços e informações do usuário", | 61 | "infobar.requiredRequestsFailed": "Não foi possível carregar serviços e informações do usuário", |
62 | "sidebar.settings": "Configurações", | 62 | "sidebar.addNewService": "!!!Add new service", |
63 | "sidebar.settings": "Ajustes", | ||
63 | "services.welcome": "Bem-vindo ao Franz", | 64 | "services.welcome": "Bem-vindo ao Franz", |
64 | "services.getStarted": "Começar", | 65 | "services.getStarted": "Começar", |
65 | "settings.account.headline": "Conta", | 66 | "settings.account.headline": "Conta", |
@@ -85,7 +86,7 @@ | |||
85 | "settings.navigation.availableServices": "Serviços disponíveis", | 86 | "settings.navigation.availableServices": "Serviços disponíveis", |
86 | "settings.navigation.yourServices": "Seus serviços", | 87 | "settings.navigation.yourServices": "Seus serviços", |
87 | "settings.navigation.account": "Conta", | 88 | "settings.navigation.account": "Conta", |
88 | "settings.navigation.settings": "Configurações", | 89 | "settings.navigation.settings": "Ajustes", |
89 | "settings.navigation.logout": "Logout", | 90 | "settings.navigation.logout": "Logout", |
90 | "settings.recipes.headline": "Serviços disponíveis", | 91 | "settings.recipes.headline": "Serviços disponíveis", |
91 | "settings.recipes.mostPopular": "Mais populares", | 92 | "settings.recipes.mostPopular": "Mais populares", |
@@ -115,7 +116,7 @@ | |||
115 | "settings.services.discoverServices": "Descobrir serviços", | 116 | "settings.services.discoverServices": "Descobrir serviços", |
116 | "settings.services.updatedInfo": "Suas mudanças foram salvas", | 117 | "settings.services.updatedInfo": "Suas mudanças foram salvas", |
117 | "settings.services.deletedInfo": "Serviço apagado", | 118 | "settings.services.deletedInfo": "Serviço apagado", |
118 | "settings.app.headline": "Configurações", | 119 | "settings.app.headline": "Ajustes", |
119 | "settings.app.headlineGeneral": "Geral", | 120 | "settings.app.headlineGeneral": "Geral", |
120 | "settings.app.headlineLanguage": "Idioma", | 121 | "settings.app.headlineLanguage": "Idioma", |
121 | "settings.app.headlineUpdates": "Atualizações", | 122 | "settings.app.headlineUpdates": "Atualizações", |
@@ -126,6 +127,7 @@ | |||
126 | "settings.app.updateStatusUpToDate": "Você está usando a última versão do Franz", | 127 | "settings.app.updateStatusUpToDate": "Você está usando a última versão do Franz", |
127 | "settings.app.form.autoLaunchOnStart": "Abrir o Franz iniciar o sistema", | 128 | "settings.app.form.autoLaunchOnStart": "Abrir o Franz iniciar o sistema", |
128 | "settings.app.form.autoLaunchInBackground": "Abrir no fundo", | 129 | "settings.app.form.autoLaunchInBackground": "Abrir no fundo", |
130 | "settings.app.form.enableSystemTray": "Mostrar o Franz na bandeja do sistema", | ||
129 | "settings.app.form.minimizeToSystemTray": "Minimizar o Franz para a bandeja do sistema", | 131 | "settings.app.form.minimizeToSystemTray": "Minimizar o Franz para a bandeja do sistema", |
130 | "settings.app.form.runInBackground": "Manter o Franz no fundo quando fechar a janela", | 132 | "settings.app.form.runInBackground": "Manter o Franz no fundo quando fechar a janela", |
131 | "settings.app.form.language": "Idioma", | 133 | "settings.app.form.language": "Idioma", |
diff --git a/src/i18n/locales/ru.json b/src/i18n/locales/ru.json index 44ced9e43..97b746097 100644 --- a/src/i18n/locales/ru.json +++ b/src/i18n/locales/ru.json | |||
@@ -60,6 +60,7 @@ | |||
60 | "infobar.buttonInstallUpdate": "Перезапустить и обновить", | 60 | "infobar.buttonInstallUpdate": "Перезапустить и обновить", |
61 | "infobar.requiredRequestsFailed": "Невозможно загрузить сервисы и информацию пользователя", | 61 | "infobar.requiredRequestsFailed": "Невозможно загрузить сервисы и информацию пользователя", |
62 | "sidebar.settings": "Настройки", | 62 | "sidebar.settings": "Настройки", |
63 | "sidebar.addNewService": "!!!Add new service", | ||
63 | "services.welcome": "Добро пожаловать во Franz", | 64 | "services.welcome": "Добро пожаловать во Franz", |
64 | "services.getStarted": "Начать работу", | 65 | "services.getStarted": "Начать работу", |
65 | "settings.account.headline": "Аккаунт", | 66 | "settings.account.headline": "Аккаунт", |
diff --git a/src/i18n/locales/ua.json b/src/i18n/locales/ua.json index 63135e52c..fcb99c4e4 100644 --- a/src/i18n/locales/ua.json +++ b/src/i18n/locales/ua.json | |||
@@ -60,6 +60,7 @@ | |||
60 | "infobar.buttonInstallUpdate": "Перезавантажити і встановити оновлення", | 60 | "infobar.buttonInstallUpdate": "Перезавантажити і встановити оновлення", |
61 | "infobar.requiredRequestsFailed": "Не вдалося завантажити сервіси та інформацію користувача", | 61 | "infobar.requiredRequestsFailed": "Не вдалося завантажити сервіси та інформацію користувача", |
62 | "sidebar.settings": "Налаштування", | 62 | "sidebar.settings": "Налаштування", |
63 | "sidebar.addNewService": "!!!Add new service", | ||
63 | "services.welcome": "Ласкаво просимо в Franz", | 64 | "services.welcome": "Ласкаво просимо в Franz", |
64 | "services.getStarted": "Почати", | 65 | "services.getStarted": "Почати", |
65 | "settings.account.headline": "Акаунт", | 66 | "settings.account.headline": "Акаунт", |
diff --git a/src/i18n/locales/zh-Hant.json b/src/i18n/locales/zh-Hant.json new file mode 100644 index 000000000..e52b9ca26 --- /dev/null +++ b/src/i18n/locales/zh-Hant.json | |||
@@ -0,0 +1,168 @@ | |||
1 | { | ||
2 | "global.api.unhealthy": "無法連接到Franz網路服務", | ||
3 | "global.notConnectedToTheInternet": "您未連上網際網路", | ||
4 | "welcome.signupButton": "建立一個免費帳戶", | ||
5 | "welcome.loginButton": "登入", | ||
6 | "welcome.slogan": "Messaging that works for you", | ||
7 | "login.headline": "登入", | ||
8 | "login.email.label": "電子郵件信箱", | ||
9 | "login.password.label": "密碼", | ||
10 | "login.submit.label": "登入", | ||
11 | "login.invalidCredentials": "電子郵件帳戶或密碼有誤", | ||
12 | "login.tokenExpired": "登入狀態過期,請重新登入", | ||
13 | "login.serverLogout": "登入狀態過期,請重新登入", | ||
14 | "login.link.signup": "建立一個免費帳戶", | ||
15 | "login.link.password": "密碼重設", | ||
16 | "password.headline": "密碼重設", | ||
17 | "password.email.label": "電子郵件信箱", | ||
18 | "password.submit.label": "送出", | ||
19 | "password.noUser": "此電子郵件帳戶不存在", | ||
20 | "password.successInfo": "請重新確認您的電子郵件信箱", | ||
21 | "password.link.signup": "建立一個免費帳戶", | ||
22 | "password.link.login": "登入您的帳戶", | ||
23 | "signup.headline": "註冊", | ||
24 | "signup.firstname.label": "名子", | ||
25 | "signup.lastname.label": "姓氏", | ||
26 | "signup.email.label": "電子郵件信箱", | ||
27 | "signup.company.label": "公司", | ||
28 | "signup.password.label": "密碼", | ||
29 | "signup.submit.label": "建立帳戶", | ||
30 | "signup.link.login": "您已有一個帳戶,請問是否要登入?", | ||
31 | "signup.emailDuplicate": "此電子郵件信箱已被註冊", | ||
32 | "signup.legal.info": "在建立帳戶同時,您同意:", | ||
33 | "signup.legal.terms": "服務條款", | ||
34 | "signup.legal.privacy": "隱私聲明", | ||
35 | "pricing.headline": "贊助 Franz", | ||
36 | "pricing.support.label": "選擇贊助方案", | ||
37 | "pricing.submit.label": "我想協助 Franz 的開發", | ||
38 | "pricing.link.skipPayment": "我不想協助 Franz 的開發", | ||
39 | "import.headline": "匯入您的 Franz 4 服務", | ||
40 | "import.notSupportedHeadline": "此服務不被 Franz 5 支持", | ||
41 | "import.submit.label": "匯入服務", | ||
42 | "import.skip.label": "我想手動匯入", | ||
43 | "invite.submit.label": "Send invites", | ||
44 | "invite.headline.friends": "邀請三個人", | ||
45 | "invite.name.label": "名子", | ||
46 | "invite.email.label": "電子郵件信箱", | ||
47 | "invite.skip.label": "我想晚點進行", | ||
48 | "subscription.submit.label": "我想協助 Franz 的開發", | ||
49 | "subscription.paymentSessionError": "無法初始化付費表單", | ||
50 | "subscription.includedFeatures": "Paid Franz Premium Supporter Account includes", | ||
51 | "subscription.features.onpremise": "Add on-premise/hosted services like HipChat", | ||
52 | "subscription.features.customServices": "Private services for you and your team", | ||
53 | "subscription.features.encryptedSync": "Encrypted session synchronization", | ||
54 | "subscription.features.vpn": "支援 Proxy & VPN", | ||
55 | "subscription.features.ads": "不再有任何廣告", | ||
56 | "subscription.features.comingSoon": "敬請期待", | ||
57 | "infobar.servicesUpdated": "您的服務已更新", | ||
58 | "infobar.updateAvailable": "有新的更新可安裝", | ||
59 | "infobar.buttonReloadServices": "重新載入", | ||
60 | "infobar.buttonInstallUpdate": "重新啟動並且更新", | ||
61 | "infobar.requiredRequestsFailed": "無法載入服務與帳戶資訊", | ||
62 | "sidebar.settings": "設定", | ||
63 | "services.welcome": "歡迎使用 Franz", | ||
64 | "services.getStarted": "開始使用", | ||
65 | "settings.account.headline": "帳戶", | ||
66 | "settings.account.headlineSubscription": "您的訂閱", | ||
67 | "settings.account.headlineUpgrade": "升級帳戶以及贊助 Franz", | ||
68 | "settings.account.headlineInvoices": "Invoices", | ||
69 | "settings.account.manageSubscription.label": "管理訂閱", | ||
70 | "settings.account.accountType.basic": "基本帳戶", | ||
71 | "settings.account.accountType.premium": "Premium Supporter Account", | ||
72 | "settings.account.account.editButton": "更改帳戶資訊", | ||
73 | "settings.account.invoiceDownload": "下載", | ||
74 | "settings.account.userInfoRequestFailed": "無法載入帳戶資訊", | ||
75 | "settings.account.tryReloadUserInfoRequest": "請重試", | ||
76 | "settings.account.headlineProfile": "更新帳戶資訊", | ||
77 | "settings.account.headlineAccount": "帳戶資訊", | ||
78 | "settings.account.headlinePassword": "更改密碼", | ||
79 | "settings.account.successInfo": "您的更改已經儲存", | ||
80 | "settings.account.buttonSave": "更新帳戶資訊", | ||
81 | "settings.account.mining.thankyou": "感謝您贊助運算能力", | ||
82 | "settings.account.mining.active": "您現在每秒執行 {hashes} 個計算", | ||
83 | "settings.account.mining.moreInformation": "取得更多資訊", | ||
84 | "settings.account.mining.cancel": "取消贊助運算", | ||
85 | "settings.navigation.availableServices": "可用服務", | ||
86 | "settings.navigation.yourServices": "您的服務", | ||
87 | "settings.navigation.account": "帳戶", | ||
88 | "settings.navigation.settings": "設定", | ||
89 | "settings.navigation.logout": "登出", | ||
90 | "settings.recipes.headline": "可用服務", | ||
91 | "settings.recipes.mostPopular": "熱門", | ||
92 | "settings.recipes.all": "全部", | ||
93 | "settings.recipes.dev": "開發中", | ||
94 | "settings.recipes.nothingFound": "抱歉,找不到您所要的服務", | ||
95 | "settings.recipes.servicesSuccessfulAddedInfo": "新增服務成功", | ||
96 | "settings.service.form.saveButton": "儲存", | ||
97 | "settings.service.form.deleteButton": "刪除", | ||
98 | "settings.service.form.availableServices": "可用服務", | ||
99 | "settings.service.form.yourServices": "您的服務", | ||
100 | "settings.service.form.addServiceHeadline": "新增 {name}", | ||
101 | "settings.service.form.editServiceHeadline": "更改 {name}", | ||
102 | "settings.service.form.tabHosted": "Hosted", | ||
103 | "settings.service.form.tabOnPremise": "Self hosted ⭐️", | ||
104 | "settings.service.form.customUrlValidationError": "Could not validate custom {name} server.", | ||
105 | "settings.service.form.customUrlPremiumInfo": "To add self hosted services, you need a Franz Premium Supporter Account.", | ||
106 | "settings.service.form.customUrlUpgradeAccount": "升級帳戶", | ||
107 | "settings.service.form.indirectMessageInfo": "除了 @username, @channel, @here 之外,當您參與的頻道有訊息時,就會通知", | ||
108 | "settings.service.error.headline": "錯誤", | ||
109 | "settings.service.error.goBack": "返回", | ||
110 | "settings.service.error.message": "無法載入服務元件", | ||
111 | "settings.services.tooltip.isDisabled": "已停用服務", | ||
112 | "settings.services.tooltip.notificationsDisabled": "已停用通知", | ||
113 | "settings.services.headline": "您的服務", | ||
114 | "settings.services.noServicesAdded": "您還沒加入任何服務", | ||
115 | "settings.services.discoverServices": "服務列表", | ||
116 | "settings.services.updatedInfo": "更動已經儲存", | ||
117 | "settings.services.deletedInfo": "服務已刪除", | ||
118 | "settings.app.headline": "設定", | ||
119 | "settings.app.headlineGeneral": "一般", | ||
120 | "settings.app.headlineLanguage": "語言", | ||
121 | "settings.app.headlineUpdates": "更新", | ||
122 | "settings.app.buttonSearchForUpdate": "檢查更新", | ||
123 | "settings.app.buttonInstallUpdate": "重新開啟並且更新", | ||
124 | "settings.app.updateStatusSearching": "檢查更新中...", | ||
125 | "settings.app.updateStatusAvailable": "有可用更新,下載中...", | ||
126 | "settings.app.updateStatusUpToDate": "已經是最新版本了", | ||
127 | "settings.app.form.autoLaunchOnStart": "開機時啟動", | ||
128 | "settings.app.form.autoLaunchInBackground": "背景啟動", | ||
129 | "settings.app.form.enableSystemTray": "在系統匣上顯示", | ||
130 | "settings.app.form.minimizeToSystemTray": "最小化至系統匣", | ||
131 | "settings.app.form.runInBackground": "關閉時保持在背景運作", | ||
132 | "settings.app.form.language": "語言", | ||
133 | "settings.app.form.beta": "包含開發中版本", | ||
134 | "settings.app.currentVersion": "當前版本:", | ||
135 | "settings.service.form.name": "Name", | ||
136 | "settings.service.form.enableService": "啟用服務", | ||
137 | "settings.service.form.enableNotification": "啟用通知", | ||
138 | "settings.service.form.team": "Team", | ||
139 | "settings.service.form.customUrl": "Custom server", | ||
140 | "settings.service.form.indirectMessages": "針對全部訊息顯示通知", | ||
141 | "settings.user.form.firstname": "名子", | ||
142 | "settings.user.form.lastname": "姓氏", | ||
143 | "settings.user.form.email": "電子郵件信箱", | ||
144 | "settings.user.form.currentPassword": "舊密碼", | ||
145 | "settings.user.form.newPassword": "新密碼", | ||
146 | "settings.user.form.accountType.label": "帳戶類型", | ||
147 | "settings.user.form.accountType.individual": "個人", | ||
148 | "settings.user.form.accountType.non-profit": "非營利", | ||
149 | "settings.user.form.accountType.company": "公司", | ||
150 | "subscription.type.free": "免費", | ||
151 | "subscription.type.month": "月", | ||
152 | "subscription.type.year": "年", | ||
153 | "subscription.type.mining": "用您機器的計算能力來贊助 Franz", | ||
154 | "subscription.mining.headline": "如何進行的?", | ||
155 | "subscription.mining.experimental": "實驗性功能", | ||
156 | "subscription.mining.line1": "Franz 運用您CPU的20%至50%的運算能力來挖門羅幣(一種開源加密貨幣),每年約莫可得到5美元。", | ||
157 | "subscription.mining.line2": "我們會調整運算強度,避免消耗過多電池電量及影響效能。", | ||
158 | "subscription.mining.line3": "當您允許我們挖掘門羅幣之時,我們便允許您使用全部的加值服務。", | ||
159 | "subscription.mining.moreInformation": "取得更多資訊", | ||
160 | "subscriptionPopup.buttonCancel": "取消", | ||
161 | "subscriptionPopup.buttonDone": "完成", | ||
162 | "tabs.item.reload": "重新載入", | ||
163 | "tabs.item.edit": "更改", | ||
164 | "tabs.item.disableNotifications": "停用通知", | ||
165 | "tabs.item.enableNotification": "啟用通知", | ||
166 | "tabs.item.disableService": "停用服務", | ||
167 | "tabs.item.deleteService": "刪除服務" | ||
168 | } | ||
diff --git a/src/index.js b/src/index.js index 9ca059f48..030736fee 100644 --- a/src/index.js +++ b/src/index.js | |||
@@ -66,7 +66,7 @@ const createWindow = async () => { | |||
66 | }); | 66 | }); |
67 | 67 | ||
68 | // Initialize System Tray | 68 | // Initialize System Tray |
69 | const trayIcon = new Tray(mainWindow); | 69 | const trayIcon = new Tray(); |
70 | 70 | ||
71 | // Initialize ipcApi | 71 | // Initialize ipcApi |
72 | ipcApi({ mainWindow, settings, trayIcon }); | 72 | ipcApi({ mainWindow, settings, trayIcon }); |
diff --git a/src/lib/Tray.js b/src/lib/Tray.js index 67150971e..525ce592e 100644 --- a/src/lib/Tray.js +++ b/src/lib/Tray.js | |||
@@ -6,13 +6,8 @@ const INDICATOR_TRAY_PLAIN = 'tray'; | |||
6 | const INDICATOR_TRAY_UNREAD = 'tray-unread'; | 6 | const INDICATOR_TRAY_UNREAD = 'tray-unread'; |
7 | 7 | ||
8 | export default class TrayIcon { | 8 | export default class TrayIcon { |
9 | mainWindow = null; | ||
10 | trayIcon = null; | 9 | trayIcon = null; |
11 | 10 | ||
12 | constructor(mainWindow) { | ||
13 | this.mainWindow = mainWindow; | ||
14 | } | ||
15 | |||
16 | show() { | 11 | show() { |
17 | if (this.trayIcon) return; | 12 | if (this.trayIcon) return; |
18 | 13 | ||
@@ -21,7 +16,7 @@ export default class TrayIcon { | |||
21 | { | 16 | { |
22 | label: 'Show Franz', | 17 | label: 'Show Franz', |
23 | click() { | 18 | click() { |
24 | this.mainWindow.show(); | 19 | app.mainWindow.show(); |
25 | }, | 20 | }, |
26 | }, { | 21 | }, { |
27 | label: 'Quit Franz', | 22 | label: 'Quit Franz', |
@@ -35,7 +30,7 @@ export default class TrayIcon { | |||
35 | this.trayIcon.setContextMenu(trayMenu); | 30 | this.trayIcon.setContextMenu(trayMenu); |
36 | 31 | ||
37 | this.trayIcon.on('click', () => { | 32 | this.trayIcon.on('click', () => { |
38 | this.mainWindow.show(); | 33 | app.mainWindow.show(); |
39 | }); | 34 | }); |
40 | } | 35 | } |
41 | 36 | ||
diff --git a/src/stores/ServicesStore.js b/src/stores/ServicesStore.js index 19db05494..4510146e0 100644 --- a/src/stores/ServicesStore.js +++ b/src/stores/ServicesStore.js | |||
@@ -383,7 +383,7 @@ export default class ServicesStore extends Store { | |||
383 | data.forEach((s) => { | 383 | data.forEach((s) => { |
384 | const service = s; | 384 | const service = s; |
385 | 385 | ||
386 | service.order = this.one(s.id).order; | 386 | service.order = services[s.id]; |
387 | }); | 387 | }); |
388 | }); | 388 | }); |
389 | 389 | ||