aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Stefan Malzner <stefan@adlk.io>2017-10-27 12:06:08 +0200
committerLibravatar GitHub <noreply@github.com>2017-10-27 12:06:08 +0200
commitde8cf1fa58b3cccad3b2d9c3ccba617a3f4aa77f (patch)
treefe390d220a9c55b540e729f0efc09fc2a4531686
parentRemoves unused intl in tabbar; Adds nl translation for addNewService (diff)
parentMerge pull request #137 from GustavoKatel/orderingJumpFix (diff)
downloadferdium-app-de8cf1fa58b3cccad3b2d9c3ccba617a3f4aa77f.tar.gz
ferdium-app-de8cf1fa58b3cccad3b2d9c3ccba617a3f4aa77f.tar.zst
ferdium-app-de8cf1fa58b3cccad3b2d9c3ccba617a3f4aa77f.zip
Merge branch 'develop' into master
-rw-r--r--src/i18n/languages.js2
-rw-r--r--src/i18n/locales/es-ES.json168
-rw-r--r--src/i18n/locales/ja.json5
-rw-r--r--src/i18n/locales/nl-BE.json6
-rw-r--r--src/i18n/locales/nl.json4
-rw-r--r--src/i18n/locales/pt-BR.json7
-rw-r--r--src/i18n/locales/zh-Hant.json168
-rw-r--r--src/index.js2
-rw-r--r--src/lib/Tray.js9
-rw-r--r--src/stores/ServicesStore.js2
10 files changed, 354 insertions, 19 deletions
diff --git a/src/i18n/languages.js b/src/i18n/languages.js
index 9860295b3..8777cf89a 100644
--- a/src/i18n/languages.js
+++ b/src/i18n/languages.js
@@ -10,4 +10,6 @@ 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}; 15};
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/ja.json b/src/i18n/locales/ja.json
index 9b422548b..98b7cbb19 100644
--- a/src/i18n/locales/ja.json
+++ b/src/i18n/locales/ja.json
@@ -66,7 +66,7 @@
66 "settings.account.headline": "アカウント", 66 "settings.account.headline": "アカウント",
67 "settings.account.headlineSubscription": "サブスクリプション内容", 67 "settings.account.headlineSubscription": "サブスクリプション内容",
68 "settings.account.headlineUpgrade": "アカウントをアップグレードし、Franzを支援する", 68 "settings.account.headlineUpgrade": "アカウントをアップグレードし、Franzを支援する",
69 "settings.account.headlineInvoices": "Invoices", 69 "settings.account.headlineInvoices": "インボイス",
70 "settings.account.manageSubscription.label": "サブスクリプションの管理", 70 "settings.account.manageSubscription.label": "サブスクリプションの管理",
71 "settings.account.accountType.basic": "Basicアカウント", 71 "settings.account.accountType.basic": "Basicアカウント",
72 "settings.account.accountType.premium": "Premium Supporterアカウント", 72 "settings.account.accountType.premium": "Premium Supporterアカウント",
@@ -127,6 +127,7 @@
127 "settings.app.updateStatusUpToDate": "お使いのFranzは最新です", 127 "settings.app.updateStatusUpToDate": "お使いのFranzは最新です",
128 "settings.app.form.autoLaunchOnStart": "システム起動時にFranzを開く", 128 "settings.app.form.autoLaunchOnStart": "システム起動時にFranzを開く",
129 "settings.app.form.autoLaunchInBackground": "バックグラウンドで開く", 129 "settings.app.form.autoLaunchInBackground": "バックグラウンドで開く",
130 "settings.app.form.enableSystemTray": "Franzをシステムトレイに表示する",
130 "settings.app.form.minimizeToSystemTray": "Franzをシステムトレイに最小化する", 131 "settings.app.form.minimizeToSystemTray": "Franzをシステムトレイに最小化する",
131 "settings.app.form.runInBackground": "ウインドウを閉じた際にFranzをバックグラウンドで実行させておく", 132 "settings.app.form.runInBackground": "ウインドウを閉じた際にFranzをバックグラウンドで実行させておく",
132 "settings.app.form.language": "言語", 133 "settings.app.form.language": "言語",
@@ -151,7 +152,7 @@
151 "subscription.type.month": "月間", 152 "subscription.type.month": "月間",
152 "subscription.type.year": "年間", 153 "subscription.type.year": "年間",
153 "subscription.type.mining": "PCの処理能力を使ってFranzを支援する", 154 "subscription.type.mining": "PCの処理能力を使ってFranzを支援する",
154 "subscription.mining.headline": "これはどのよう", 155 "subscription.mining.headline": "これはどのようか",
155 "subscription.mining.experimental": "実験的", 156 "subscription.mining.experimental": "実験的",
156 "subscription.mining.line1": "\"PCの処理能力を使ってFranzを支援する\"を有効にすることで、Franzはおよそ20-50%のCPUパワーを暗号通貨Moneroのマイニングに使用し、これはおよそ年間で5ドル分にあたります。", 157 "subscription.mining.line1": "\"PCの処理能力を使ってFranzを支援する\"を有効にすることで、Franzはおよそ20-50%のCPUパワーを暗号通貨Moneroのマイニングに使用し、これはおよそ年間で5ドル分にあたります。",
157 "subscription.mining.line2": "処理能力に基づいてCPUの使用率を適応しますのでバッテリーを無駄に消費したり、システムを遅くすることはありません。", 158 "subscription.mining.line2": "処理能力に基づいてCPUの使用率を適応しますのでバッテリーを無駄に消費したり、システムを遅くすることはありません。",
diff --git a/src/i18n/locales/nl-BE.json b/src/i18n/locales/nl-BE.json
index 45615cc6f..a19d51b2b 100644
--- a/src/i18n/locales/nl-BE.json
+++ b/src/i18n/locales/nl-BE.json
@@ -54,7 +54,7 @@
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",
@@ -77,7 +77,7 @@
77 "settings.account.headlineProfile": "Profiel aanpassen", 77 "settings.account.headlineProfile": "Profiel aanpassen",
78 "settings.account.headlineAccount": "Accountinformatie", 78 "settings.account.headlineAccount": "Accountinformatie",
79 "settings.account.headlinePassword": "Wachtwoord veranderen", 79 "settings.account.headlinePassword": "Wachtwoord veranderen",
80 "settings.account.successInfo": "Je wijzigingen werden bewaard", 80 "settings.account.successInfo": "Je wijzigingen zijn opgeslagen",
81 "settings.account.buttonSave": "Profiel aanpassen", 81 "settings.account.buttonSave": "Profiel aanpassen",
82 "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.",
83 "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.",
@@ -114,7 +114,7 @@
114 "settings.services.headline": "Jouw services", 114 "settings.services.headline": "Jouw services",
115 "settings.services.noServicesAdded": "Je hebt nog geen services toegevoegd.", 115 "settings.services.noServicesAdded": "Je hebt nog geen services toegevoegd.",
116 "settings.services.discoverServices": "Services ontdekken", 116 "settings.services.discoverServices": "Services ontdekken",
117 "settings.services.updatedInfo": "Je veranderingen werden bewaard", 117 "settings.services.updatedInfo": "Je wijzigingen werden bewaard",
118 "settings.services.deletedInfo": "Service werd verwijderd", 118 "settings.services.deletedInfo": "Service werd verwijderd",
119 "settings.app.headline": "Instellingen", 119 "settings.app.headline": "Instellingen",
120 "settings.app.headlineGeneral": "Algemeen", 120 "settings.app.headlineGeneral": "Algemeen",
diff --git a/src/i18n/locales/nl.json b/src/i18n/locales/nl.json
index 757041b90..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",
@@ -158,7 +158,7 @@
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.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.",
159 "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.",
160 "subscription.mining.moreInformation": "Verkrijg meer informatie over dit plan.", 160 "subscription.mining.moreInformation": "Verkrijg meer informatie over dit plan.",
161 "subscriptionPopup.buttonCancel": "Cancel", 161 "subscriptionPopup.buttonCancel": "Annuleer",
162 "subscriptionPopup.buttonDone": "Klaar", 162 "subscriptionPopup.buttonDone": "Klaar",
163 "tabs.item.reload": "Herlaad", 163 "tabs.item.reload": "Herlaad",
164 "tabs.item.edit": "Bewerk", 164 "tabs.item.edit": "Bewerk",
diff --git a/src/i18n/locales/pt-BR.json b/src/i18n/locales/pt-BR.json
index 31bb2a861..8a139a4f5 100644
--- a/src/i18n/locales/pt-BR.json
+++ b/src/i18n/locales/pt-BR.json
@@ -59,8 +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",
63 "sidebar.addNewService": "!!!Add new service", 62 "sidebar.addNewService": "!!!Add new service",
63 "sidebar.settings": "Ajustes",
64 "services.welcome": "Bem-vindo ao Franz", 64 "services.welcome": "Bem-vindo ao Franz",
65 "services.getStarted": "Começar", 65 "services.getStarted": "Começar",
66 "settings.account.headline": "Conta", 66 "settings.account.headline": "Conta",
@@ -86,7 +86,7 @@
86 "settings.navigation.availableServices": "Serviços disponíveis", 86 "settings.navigation.availableServices": "Serviços disponíveis",
87 "settings.navigation.yourServices": "Seus serviços", 87 "settings.navigation.yourServices": "Seus serviços",
88 "settings.navigation.account": "Conta", 88 "settings.navigation.account": "Conta",
89 "settings.navigation.settings": "Configurações", 89 "settings.navigation.settings": "Ajustes",
90 "settings.navigation.logout": "Logout", 90 "settings.navigation.logout": "Logout",
91 "settings.recipes.headline": "Serviços disponíveis", 91 "settings.recipes.headline": "Serviços disponíveis",
92 "settings.recipes.mostPopular": "Mais populares", 92 "settings.recipes.mostPopular": "Mais populares",
@@ -116,7 +116,7 @@
116 "settings.services.discoverServices": "Descobrir serviços", 116 "settings.services.discoverServices": "Descobrir serviços",
117 "settings.services.updatedInfo": "Suas mudanças foram salvas", 117 "settings.services.updatedInfo": "Suas mudanças foram salvas",
118 "settings.services.deletedInfo": "Serviço apagado", 118 "settings.services.deletedInfo": "Serviço apagado",
119 "settings.app.headline": "Configurações", 119 "settings.app.headline": "Ajustes",
120 "settings.app.headlineGeneral": "Geral", 120 "settings.app.headlineGeneral": "Geral",
121 "settings.app.headlineLanguage": "Idioma", 121 "settings.app.headlineLanguage": "Idioma",
122 "settings.app.headlineUpdates": "Atualizações", 122 "settings.app.headlineUpdates": "Atualizações",
@@ -127,6 +127,7 @@
127 "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",
128 "settings.app.form.autoLaunchOnStart": "Abrir o Franz iniciar o sistema", 128 "settings.app.form.autoLaunchOnStart": "Abrir o Franz iniciar o sistema",
129 "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",
130 "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",
131 "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",
132 "settings.app.form.language": "Idioma", 133 "settings.app.form.language": "Idioma",
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';
6const INDICATOR_TRAY_UNREAD = 'tray-unread'; 6const INDICATOR_TRAY_UNREAD = 'tray-unread';
7 7
8export default class TrayIcon { 8export 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