diff --git a/README.md b/README.md
index 8032f41f..49206e49 100644
--- a/README.md
+++ b/README.md
@@ -81,21 +81,23 @@ Pangolin is a self-hosted tunneled reverse proxy server with identity and access
-#### Manage Access to Internal Apps
+## Use Cases
-Grant users access to your apps from anywhere using just a web browser. No client software required.
+### Manage Access to Internal Apps
-#### Developers and DevOps
+- Grant users access to your apps from anywhere using just a web browser. No client software required.
-Expose and test internal tools and dashboards like **Grafana**. Bring localhost online for easy access.
+### Developers and DevOps
-#### Secure API Gateway
+- Expose and test internal tools and dashboards like **Grafana**. Bring localhost or private IPs online for easy access.
-One application load balancer across multiple clouds and on-premises.
+### Secure API Gateway
-#### IoT and Edge Devices
+- One application load balancer across multiple clouds and on-premises.
-Easily expose **IoT devices**, **edge servers**, or **Raspberry Pi** to the internet for field equipment monitoring.
+### IoT and Edge Devices
+
+- Easily expose **IoT devices**, **edge servers**, or **Raspberry Pi** to the internet for field equipment monitoring.
@@ -103,7 +105,7 @@ Easily expose **IoT devices**, **edge servers**, or **Raspberry Pi** to the inte
### Fully Self Hosted
-Host the full application on your own server on your network our on the cloud with a VPS. Take a look at the [documentation](https://docs.fossorial.io/Getting%20Started/quick-install) to get started.
+Host the full application on your own server or on the cloud with a VPS. Take a look at the [documentation](https://docs.fossorial.io/Getting%20Started/quick-install) to get started.
> Many of our users have had a great experience with [RackNerd](https://my.racknerd.com/aff.php?aff=13788). Depending on promotions, you can get a [**VPS with 1 vCPU, 1GB RAM, and ~20GB SSD for just around $12/year**](https://my.racknerd.com/aff.php?aff=13788&pid=912). That's a great deal!
@@ -111,28 +113,25 @@ Host the full application on your own server on your network our on the cloud wi
Easy to use with simple pay as you go pricing. [Check it out here](https://pangolin.fossorial.io/auth/signup).
-- Everything you get with self hosted Pangolin
-- Managed for you
+- Everything you get with self hosted Pangolin, but fully managed for you.
-### Hybrid & HA
+### Hybrid & High Availability
Managed control plane, your infrastructure
-- We manage database and control plane
-- You self-host lightweight exit-node
-- Traffic flows through your infra
-- We coordinate failover between your nodes or to cloud when things go bad
+- We manage database and control plane.
+- You self-host lightweight exit-node.
+- Traffic flows through your infra.
+- We coordinate failover between your nodes or to Cloud when things go bad.
-If interested contact [contact us](mailto:numbat@fossorial.io).
+If interested, [contact us](mailto:numbat@fossorial.io).
-### Enterprise
+### Full Enterprise On-Premises
-[Contact us](mailto:numbat@fossorial.io) for HA distributed enterprise deployments fully controlled by your team
+[Contact us](mailto:numbat@fossorial.io) for a full distributed and enterprise deployments on your infrastructure controlled by your team.
## Project Development / Roadmap
-View the [project board](https://github.com/orgs/fosrl/projects/1) for more detailed info.
-
We want to hear your feature requests! Add them to the [discussion board](https://github.com/orgs/fosrl/discussions/categories/feature-requests).
## Licensing
@@ -145,4 +144,4 @@ Looking for something to contribute? Take a look at issues marked with [help wan
Please see [CONTRIBUTING](./CONTRIBUTING.md) in the repository for guidelines and best practices.
-Please post bug reports and other functional issues in the [Issues](https://github.com/fosrl/pangolin/issues) section of the repository.
\ No newline at end of file
+Please post bug reports and other functional issues in the [Issues](https://github.com/fosrl/pangolin/issues) section of the repository.
diff --git a/messages/cs-CZ.json b/messages/cs-CZ.json
index 80269103..1416cede 100644
--- a/messages/cs-CZ.json
+++ b/messages/cs-CZ.json
@@ -1198,7 +1198,8 @@
"newtUpdateAvailableInfo": "A new version of Newt is available. Please update to the latest version for the best experience.",
"domainPickerEnterDomain": "Enter your domain",
"domainPickerPlaceholder": "myapp.example.com, api.v1.mydomain.com, or just myapp",
- "domainPickerDescription": "Enter a full domain, subdomain, or just a name to see available options",
+ "domainPickerDescription": "Enter the full domain of the resource to see available options.",
+ "domainPickerDescriptionSaas": "Enter a full domain, subdomain, or just a name to see available options",
"domainPickerTabAll": "All",
"domainPickerTabOrganization": "Organization",
"domainPickerTabProvided": "Provided",
@@ -1231,7 +1232,7 @@
"securityKeyRemoveSuccess": "Security key removed successfully",
"securityKeyRemoveError": "Failed to remove security key",
"securityKeyLoadError": "Failed to load security keys",
- "securityKeyLogin": "Sign in with security key",
+ "securityKeyLogin": "Continue with security key",
"securityKeyAuthError": "Failed to authenticate with security key",
"securityKeyRecommendation": "Register a backup security key on another device to ensure you always have access to your account.",
"registering": "Registering...",
diff --git a/messages/de-DE.json b/messages/de-DE.json
index a15b9dad..d139b61d 100644
--- a/messages/de-DE.json
+++ b/messages/de-DE.json
@@ -13,7 +13,7 @@
"welcome": "Willkommen zu Pangolin",
"welcomeTo": "Willkommen bei",
"componentsCreateOrg": "Erstelle eine Organisation",
- "componentsMember": "You're a member of {count, plural, =0 {no organization} one {one organization} other {# organizations}}.",
+ "componentsMember": "Du bist Mitglied von {count, plural, =0 {keiner Organisation} one {einer Organisation} other {# Organisationen}}.",
"componentsInvalidKey": "Ungültige oder abgelaufene Lizenzschlüssel erkannt. Beachte die Lizenzbedingungen, um alle Funktionen weiterhin zu nutzen.",
"dismiss": "Verwerfen",
"componentsLicenseViolation": "Lizenzverstoß: Dieser Server benutzt {usedSites} Sites, die das Lizenzlimit der {maxSites} Sites überschreiten. Beachte die Lizenzbedingungen, um alle Funktionen weiterhin zu nutzen.",
@@ -349,7 +349,7 @@
"licensePurchase": "Lizenz kaufen",
"licensePurchaseSites": "Zusätzliche Seiten kaufen",
"licenseSitesUsedMax": "{usedSites} der {maxSites} Seiten verwendet",
- "licenseSitesUsed": "{count, plural, =0 {# sites} one {# site} other {# sites}} in system.",
+ "licenseSitesUsed": "{count, plural, =0 {# Seiten} one {# Seite} other {# Seiten}} im System.",
"licensePurchaseDescription": "Wähle aus, für wieviele Seiten du möchtest {selectedMode, select, license {kaufe eine Lizenz. Du kannst später immer weitere Seiten hinzufügen.} other {Füge zu deiner bestehenden Lizenz hinzu.}}",
"licenseFee": "Lizenzgebühr",
"licensePriceSite": "Preis pro Seite",
@@ -1198,7 +1198,8 @@
"newtUpdateAvailableInfo": "Eine neue Version von Newt ist verfügbar. Bitte aktualisieren Sie auf die neueste Version für das beste Erlebnis.",
"domainPickerEnterDomain": "Geben Sie Ihre Domain ein",
"domainPickerPlaceholder": "myapp.example.com, api.v1.mydomain.com, oder einfach myapp",
- "domainPickerDescription": "Geben Sie eine vollständige Domain, Subdomain oder einfach einen Namen ein, um verfügbare Optionen zu sehen",
+ "domainPickerDescription": "Geben Sie die vollständige Domäne der Ressource ein, um verfügbare Optionen zu sehen.",
+ "domainPickerDescriptionSaas": "Geben Sie eine vollständige Domäne, Subdomäne oder einfach einen Namen ein, um verfügbare Optionen zu sehen",
"domainPickerTabAll": "Alle",
"domainPickerTabOrganization": "Organisation",
"domainPickerTabProvided": "Bereitgestellt",
@@ -1231,7 +1232,7 @@
"securityKeyRemoveSuccess": "Sicherheitsschlüssel erfolgreich entfernt",
"securityKeyRemoveError": "Fehler beim Entfernen des Sicherheitsschlüssels",
"securityKeyLoadError": "Fehler beim Laden der Sicherheitsschlüssel",
- "securityKeyLogin": "Mit Sicherheitsschlüssel anmelden",
+ "securityKeyLogin": "Mit dem Sicherheitsschlüssel fortfahren",
"securityKeyAuthError": "Fehler bei der Authentifizierung mit Sicherheitsschlüssel",
"securityKeyRecommendation": "Erwägen Sie die Registrierung eines weiteren Sicherheitsschlüssels auf einem anderen Gerät, um sicherzustellen, dass Sie sich nicht aus Ihrem Konto aussperren.",
"registering": "Registrierung...",
diff --git a/messages/es-ES.json b/messages/es-ES.json
index 36d0051f..f7c208bb 100644
--- a/messages/es-ES.json
+++ b/messages/es-ES.json
@@ -13,7 +13,7 @@
"welcome": "Bienvenido a Pangolin",
"welcomeTo": "Bienvenido a",
"componentsCreateOrg": "Crear una organización",
- "componentsMember": "You're a member of {count, plural, =0 {no organization} one {one organization} other {# organizations}}.",
+ "componentsMember": "Eres un miembro de {count, plural, =0 {ninguna organización} one {una organización} other {# organizaciones}}.",
"componentsInvalidKey": "Se han detectado claves de licencia inválidas o caducadas. Siga los términos de licencia para seguir usando todas las características.",
"dismiss": "Descartar",
"componentsLicenseViolation": "Violación de la Licencia: Este servidor está usando sitios {usedSites} que exceden su límite de licencias de sitios {maxSites} . Siga los términos de licencia para seguir usando todas las características.",
@@ -349,7 +349,7 @@
"licensePurchase": "Comprar Licencia",
"licensePurchaseSites": "Comprar sitios adicionales",
"licenseSitesUsedMax": "{usedSites} de {maxSites} sitios usados",
- "licenseSitesUsed": "{count, plural, =0 {# sites} one {# site} other {# sites}} in system.",
+ "licenseSitesUsed": "{count, plural, =0 {# sitios} one {# sitio} other {# sitios}} en el sistema.",
"licensePurchaseDescription": "Elige cuántos sitios quieres {selectedMode, select, license {compra una licencia para. Siempre puedes añadir más sitios más tarde.} other {añadir a tu licencia existente.}}",
"licenseFee": "Tarifa de licencia",
"licensePriceSite": "Precio por sitio",
@@ -1198,7 +1198,8 @@
"newtUpdateAvailableInfo": "Hay una nueva versión de Newt disponible. Actualice a la última versión para la mejor experiencia.",
"domainPickerEnterDomain": "Ingresa tu dominio",
"domainPickerPlaceholder": "myapp.example.com, api.v1.miDominio.com, o solo myapp",
- "domainPickerDescription": "Ingresa un dominio completo, subdominio, o solo un nombre para ver las opciones disponibles",
+ "domainPickerDescription": "Ingresa el dominio completo del recurso para ver las opciones disponibles.",
+ "domainPickerDescriptionSaas": "Ingresa un dominio completo, subdominio o simplemente un nombre para ver las opciones disponibles",
"domainPickerTabAll": "Todo",
"domainPickerTabOrganization": "Organización",
"domainPickerTabProvided": "Proporcionado",
@@ -1231,7 +1232,7 @@
"securityKeyRemoveSuccess": "Llave de seguridad eliminada exitosamente",
"securityKeyRemoveError": "Error al eliminar la llave de seguridad",
"securityKeyLoadError": "Error al cargar las llaves de seguridad",
- "securityKeyLogin": "Iniciar sesión con llave de seguridad",
+ "securityKeyLogin": "Continuar con clave de seguridad",
"securityKeyAuthError": "Error al autenticar con llave de seguridad",
"securityKeyRecommendation": "Considere registrar otra llave de seguridad en un dispositivo diferente para asegurarse de no quedar bloqueado de su cuenta.",
"registering": "Registrando...",
diff --git a/messages/fr-FR.json b/messages/fr-FR.json
index 6eed64ce..235c6a7c 100644
--- a/messages/fr-FR.json
+++ b/messages/fr-FR.json
@@ -1198,7 +1198,8 @@
"newtUpdateAvailableInfo": "Une nouvelle version de Newt est disponible. Veuillez mettre à jour vers la dernière version pour une meilleure expérience.",
"domainPickerEnterDomain": "Entrez votre domaine",
"domainPickerPlaceholder": "myapp.example.com, api.v1.mydomain.com, ou simplement myapp",
- "domainPickerDescription": "Entrez un domaine complet, un sous-domaine, ou simplement un nom pour voir les options disponibles",
+ "domainPickerDescription": "Entrez le domaine complet de la ressource pour voir les options disponibles.",
+ "domainPickerDescriptionSaas": "Entrez un domaine complet, un sous-domaine ou juste un nom pour voir les options disponibles",
"domainPickerTabAll": "Tous",
"domainPickerTabOrganization": "Organisation",
"domainPickerTabProvided": "Fournis",
@@ -1231,7 +1232,7 @@
"securityKeyRemoveSuccess": "Clé de sécurité supprimée avec succès",
"securityKeyRemoveError": "Échec de la suppression de la clé de sécurité",
"securityKeyLoadError": "Échec du chargement des clés de sécurité",
- "securityKeyLogin": "Se connecter avec une clé de sécurité",
+ "securityKeyLogin": "Continuer avec une clé de sécurité",
"securityKeyAuthError": "Échec de l'authentification avec la clé de sécurité",
"securityKeyRecommendation": "Envisagez d'enregistrer une autre clé de sécurité sur un appareil différent pour vous assurer de ne pas être bloqué de votre compte.",
"registering": "Enregistrement...",
diff --git a/messages/it-IT.json b/messages/it-IT.json
index 35728eb7..ce13ab23 100644
--- a/messages/it-IT.json
+++ b/messages/it-IT.json
@@ -1198,7 +1198,8 @@
"newtUpdateAvailableInfo": "È disponibile una nuova versione di Newt. Si prega di aggiornare all'ultima versione per la migliore esperienza.",
"domainPickerEnterDomain": "Inserisci il tuo dominio",
"domainPickerPlaceholder": "myapp.example.com, api.v1.mydomain.com, o semplicemente myapp",
- "domainPickerDescription": "Inserisci un dominio completo, sottodominio o solo un nome per vedere le opzioni disponibili",
+ "domainPickerDescription": "Inserisci il dominio completo della risorsa per vedere le opzioni disponibili.",
+ "domainPickerDescriptionSaas": "Inserisci un dominio completo, un sottodominio o semplicemente un nome per vedere le opzioni disponibili",
"domainPickerTabAll": "Tutti",
"domainPickerTabOrganization": "Organizzazione",
"domainPickerTabProvided": "Fornito",
@@ -1231,7 +1232,7 @@
"securityKeyRemoveSuccess": "Chiave di sicurezza rimossa con successo",
"securityKeyRemoveError": "Errore durante la rimozione della chiave di sicurezza",
"securityKeyLoadError": "Errore durante il caricamento delle chiavi di sicurezza",
- "securityKeyLogin": "Accedi con chiave di sicurezza",
+ "securityKeyLogin": "Continua con la chiave di sicurezza",
"securityKeyAuthError": "Errore durante l'autenticazione con chiave di sicurezza",
"securityKeyRecommendation": "Considera di registrare un'altra chiave di sicurezza su un dispositivo diverso per assicurarti di non rimanere bloccato fuori dal tuo account.",
"registering": "Registrazione in corso...",
diff --git a/messages/ko-KR.json b/messages/ko-KR.json
index 40f99f19..1406a624 100644
--- a/messages/ko-KR.json
+++ b/messages/ko-KR.json
@@ -1198,7 +1198,8 @@
"newtUpdateAvailableInfo": "뉴트의 새 버전이 출시되었습니다. 최상의 경험을 위해 최신 버전으로 업데이트하세요.",
"domainPickerEnterDomain": "도메인 입력",
"domainPickerPlaceholder": "myapp.example.com, api.v1.mydomain.com, 또는 그냥 myapp",
- "domainPickerDescription": "도메인, 서브도메인, 또는 이름을 입력하여 사용 가능한 옵션을 확인하세요",
+ "domainPickerDescription": "Enter the full domain of the resource to see available options.",
+ "domainPickerDescriptionSaas": "Enter a full domain, subdomain, or just a name to see available options",
"domainPickerTabAll": "모두",
"domainPickerTabOrganization": "조직",
"domainPickerTabProvided": "제공 됨",
@@ -1231,7 +1232,7 @@
"securityKeyRemoveSuccess": "보안 키가 성공적으로 제거되었습니다",
"securityKeyRemoveError": "보안 키 제거 실패",
"securityKeyLoadError": "보안 키를 불러오는 데 실패했습니다",
- "securityKeyLogin": "보안 키로 로그인",
+ "securityKeyLogin": "Continue with security key",
"securityKeyAuthError": "보안 키를 사용한 인증 실패",
"securityKeyRecommendation": "항상 계정에 액세스할 수 있도록 다른 장치에 백업 보안 키를 등록하세요.",
"registering": "등록 중...",
diff --git a/messages/nl-NL.json b/messages/nl-NL.json
index fdaeff47..e756e281 100644
--- a/messages/nl-NL.json
+++ b/messages/nl-NL.json
@@ -1198,7 +1198,8 @@
"newtUpdateAvailableInfo": "Er is een nieuwe versie van Newt beschikbaar. Update naar de nieuwste versie voor de beste ervaring.",
"domainPickerEnterDomain": "Voer je domein in",
"domainPickerPlaceholder": "mijnapp.voorbeeld.com, api.v1.mijndomein.com, of gewoon mijnapp",
- "domainPickerDescription": "Voer een volledig domein, subdomein of alleen een naam in om beschikbare opties te zien",
+ "domainPickerDescription": "Voer de volledige domein van de bron in om beschikbare opties te zien.",
+ "domainPickerDescriptionSaas": "Voer een volledig domein, subdomein of gewoon een naam in om beschikbare opties te zien",
"domainPickerTabAll": "Alles",
"domainPickerTabOrganization": "Organisatie",
"domainPickerTabProvided": "Aangeboden",
@@ -1231,7 +1232,7 @@
"securityKeyRemoveSuccess": "Beveiligingssleutel succesvol verwijderd",
"securityKeyRemoveError": "Fout bij verwijderen van beveiligingssleutel",
"securityKeyLoadError": "Fout bij laden van beveiligingssleutels",
- "securityKeyLogin": "Inloggen met beveiligingssleutel",
+ "securityKeyLogin": "Doorgaan met beveiligingssleutel",
"securityKeyAuthError": "Fout bij authenticatie met beveiligingssleutel",
"securityKeyRecommendation": "Overweeg om een andere beveiligingssleutel te registreren op een ander apparaat om ervoor te zorgen dat u niet buitengesloten raakt van uw account.",
"registering": "Registreren...",
diff --git a/messages/pl-PL.json b/messages/pl-PL.json
index c5f5297e..966dea6a 100644
--- a/messages/pl-PL.json
+++ b/messages/pl-PL.json
@@ -1174,7 +1174,7 @@
"billing": "Fakturowanie",
"orgBillingDescription": "Zarządzaj swoimi informacjami rozliczeniowymi i subskrypcjami",
"github": "GitHub",
- "pangolinHosted": "Pangolin Hosted",
+ "pangolinHosted": "Logo Pangolin",
"fossorial": "Fossorial",
"completeAccountSetup": "Zakończ konfigurację konta",
"completeAccountSetupDescription": "Ustaw swoje hasło, aby rozpocząć",
@@ -1198,7 +1198,8 @@
"newtUpdateAvailableInfo": "Nowa wersja Newt jest dostępna. Prosimy o aktualizację do najnowszej wersji dla najlepszej pracy.",
"domainPickerEnterDomain": "Wprowadź swoją domenę",
"domainPickerPlaceholder": "myapp.example.com, api.v1.mydomain.com lub po prostu myapp",
- "domainPickerDescription": "Wprowadź pełną domenę, subdomenę, lub po prostu nazwę, aby zobaczyć dostępne opcje",
+ "domainPickerDescription": "Wpisz pełną domenę zasobu, aby zobaczyć dostępne opcje.",
+ "domainPickerDescriptionSaas": "Wprowadź pełną domenę, subdomenę lub po prostu nazwę, aby zobaczyć dostępne opcje",
"domainPickerTabAll": "Wszystko",
"domainPickerTabOrganization": "Organizacja",
"domainPickerTabProvided": "Dostarczona",
@@ -1265,7 +1266,7 @@
"createDomainName": "Nazwa:",
"createDomainValue": "Wartość:",
"createDomainCnameRecords": "Rekordy CNAME",
- "createDomainRecordNumber": "Record {number}",
+ "createDomainRecordNumber": "Rekord {number}",
"createDomainTxtRecords": "Rekordy TXT",
"createDomainSaveTheseRecords": "Zapisz te rekordy",
"createDomainSaveTheseRecordsDescription": "Upewnij się, że zapiszesz te rekordy DNS, ponieważ nie będziesz mieć ich ponownie na ekranie.",
diff --git a/messages/pt-PT.json b/messages/pt-PT.json
index cb3a1144..762689f9 100644
--- a/messages/pt-PT.json
+++ b/messages/pt-PT.json
@@ -1198,7 +1198,8 @@
"newtUpdateAvailableInfo": "Uma nova versão do Newt está disponível. Atualize para a versão mais recente para uma melhor experiência.",
"domainPickerEnterDomain": "Insira seu domínio",
"domainPickerPlaceholder": "meuapp.exemplo.com, api.v1.meudominio.com, ou apenas meuapp",
- "domainPickerDescription": "Digite um domínio completo, subdomínio, ou apenas um nome para ver opções disponíveis",
+ "domainPickerDescription": "Insira o domínio completo do recurso para ver as opções disponíveis.",
+ "domainPickerDescriptionSaas": "Insira um domínio completo, subdomínio ou apenas um nome para ver as opções disponíveis",
"domainPickerTabAll": "Todos",
"domainPickerTabOrganization": "Organização",
"domainPickerTabProvided": "Fornecido",
@@ -1231,7 +1232,7 @@
"securityKeyRemoveSuccess": "Chave de segurança removida com sucesso",
"securityKeyRemoveError": "Erro ao remover chave de segurança",
"securityKeyLoadError": "Erro ao carregar chaves de segurança",
- "securityKeyLogin": "Entrar com chave de segurança",
+ "securityKeyLogin": "Continuar com a chave de segurança",
"securityKeyAuthError": "Erro ao autenticar com chave de segurança",
"securityKeyRecommendation": "Considere registrar outra chave de segurança em um dispositivo diferente para garantir que você não fique bloqueado da sua conta.",
"registering": "Registrando...",
diff --git a/messages/ru-RU.json b/messages/ru-RU.json
index 6614b8a6..d72ad989 100644
--- a/messages/ru-RU.json
+++ b/messages/ru-RU.json
@@ -1198,7 +1198,8 @@
"newtUpdateAvailableInfo": "A new version of Newt is available. Please update to the latest version for the best experience.",
"domainPickerEnterDomain": "Enter your domain",
"domainPickerPlaceholder": "myapp.example.com, api.v1.mydomain.com, or just myapp",
- "domainPickerDescription": "Enter a full domain, subdomain, or just a name to see available options",
+ "domainPickerDescription": "Enter the full domain of the resource to see available options.",
+ "domainPickerDescriptionSaas": "Enter a full domain, subdomain, or just a name to see available options",
"domainPickerTabAll": "All",
"domainPickerTabOrganization": "Organization",
"domainPickerTabProvided": "Provided",
@@ -1231,7 +1232,7 @@
"securityKeyRemoveSuccess": "Security key removed successfully",
"securityKeyRemoveError": "Failed to remove security key",
"securityKeyLoadError": "Failed to load security keys",
- "securityKeyLogin": "Sign in with security key",
+ "securityKeyLogin": "Continue with security key",
"securityKeyAuthError": "Failed to authenticate with security key",
"securityKeyRecommendation": "Register a backup security key on another device to ensure you always have access to your account.",
"registering": "Registering...",
diff --git a/messages/tr-TR.json b/messages/tr-TR.json
index 12e5929d..a547a44b 100644
--- a/messages/tr-TR.json
+++ b/messages/tr-TR.json
@@ -1198,7 +1198,8 @@
"newtUpdateAvailableInfo": "Newt'in yeni bir versiyonu mevcut. En iyi deneyim için lütfen en son sürüme güncelleyin.",
"domainPickerEnterDomain": "Alan adınızı girin",
"domainPickerPlaceholder": "myapp.example.com, api.v1.mydomain.com veya sadece myapp",
- "domainPickerDescription": "Mevcut seçenekleri görmek için tam bir alan adı, alt alan adı veya sadece bir isim girin.",
+ "domainPickerDescription": "Mevcut seçenekleri görmek için kaynağın tam etki alanını girin.",
+ "domainPickerDescriptionSaas": "Mevcut seçenekleri görmek için tam etki alanı, alt etki alanı veya sadece bir isim girin",
"domainPickerTabAll": "Tümü",
"domainPickerTabOrganization": "Organizasyon",
"domainPickerTabProvided": "Sağlanan",
@@ -1231,7 +1232,7 @@
"securityKeyRemoveSuccess": "Güvenlik anahtarı başarıyla kaldırıldı",
"securityKeyRemoveError": "Güvenlik anahtarı kaldırılırken hata oluştu",
"securityKeyLoadError": "Güvenlik anahtarları yüklenirken hata oluştu",
- "securityKeyLogin": "Güvenlik anahtarı ile giriş yap",
+ "securityKeyLogin": "Güvenlik anahtarı ile devam edin",
"securityKeyAuthError": "Güvenlik anahtarı ile kimlik doğrulama başarısız oldu",
"securityKeyRecommendation": "Hesabınızdan kilitlenmediğinizden emin olmak için farklı bir cihazda başka bir güvenlik anahtarı kaydetmeyi düşünün.",
"registering": "Kaydediliyor...",
diff --git a/messages/zh-CN.json b/messages/zh-CN.json
index ca8b344b..4f7d779e 100644
--- a/messages/zh-CN.json
+++ b/messages/zh-CN.json
@@ -13,7 +13,7 @@
"welcome": "欢迎使用 Pangolin",
"welcomeTo": "欢迎来到",
"componentsCreateOrg": "创建组织",
- "componentsMember": "You're a member of {count, plural, =0 {no organization} one {one organization} other {# organizations}}.",
+ "componentsMember": "您属于{count, plural, =0 {没有组织} one {一个组织} other {# 个组织}}。",
"componentsInvalidKey": "检测到无效或过期的许可证密钥。按照许可证条款操作以继续使用所有功能。",
"dismiss": "忽略",
"componentsLicenseViolation": "许可证超限:该服务器使用了 {usedSites} 个站点,已超过授权的 {maxSites} 个。请遵守许可证条款以继续使用全部功能。",
@@ -349,7 +349,7 @@
"licensePurchase": "购买许可证",
"licensePurchaseSites": "购买更多站点",
"licenseSitesUsedMax": "使用了 {usedSites}/{maxSites} 个站点",
- "licenseSitesUsed": "{count, plural, =0 {# sites} one {# site} other {# sites}} in system.",
+ "licenseSitesUsed": "{count, plural, =0 {# 站点} one {# 站点} other {# 站点}}",
"licensePurchaseDescription": "请选择您希望 {selectedMode, select, license {直接购买许可证,您可以随时增加更多站点。} other {为现有许可证购买更多站点}}",
"licenseFee": "许可证费用",
"licensePriceSite": "每个站点的价格",
@@ -1198,7 +1198,8 @@
"newtUpdateAvailableInfo": "新版本的 Newt 已可用。请更新到最新版本以获得最佳体验。",
"domainPickerEnterDomain": "输入您的域",
"domainPickerPlaceholder": "myapp.example.com、api.v1.mydomain.com 或仅 myapp",
- "domainPickerDescription": "输入完整域名、子域或仅输入名称以查看可用选项",
+ "domainPickerDescription": "输入资源的完整域名以查看可用选项。",
+ "domainPickerDescriptionSaas": "输入完整域名、子域或名称以查看可用选项。",
"domainPickerTabAll": "所有",
"domainPickerTabOrganization": "组织",
"domainPickerTabProvided": "提供的",
@@ -1231,7 +1232,7 @@
"securityKeyRemoveSuccess": "安全密钥删除成功",
"securityKeyRemoveError": "删除安全密钥失败",
"securityKeyLoadError": "加载安全密钥失败",
- "securityKeyLogin": "使用安全密钥登录",
+ "securityKeyLogin": "使用安全密钥继续",
"securityKeyAuthError": "使用安全密钥认证失败",
"securityKeyRecommendation": "考虑在其他设备上注册另一个安全密钥,以确保不会被锁定在您的账户之外。",
"registering": "注册中...",