From 048ac95e8b78cb98f2efd56a3ca64eb39065efdb Mon Sep 17 00:00:00 2001 From: Juan Picado Date: Sat, 15 Jan 2022 20:12:28 +0100 Subject: [PATCH] feat: align with v5 ui endpoints and ui small bugfix (#2913) * fix: language switch position issue * align with v5 endpoints for web * fix: endpoints * add changeset * fix test * fix test --- .changeset/light-walls-begin.md | 7 + .../plugins/ui-theme/jest/server-handlers.ts | 2 +- .../AutoComplete/AutoCompleteV2.tsx | 2 + .../cs-CZ.json | 168 ----------------- .../de-DE.json | 168 ----------------- .../en-US.json | 170 ------------------ .../es-ES.json | 168 ----------------- .../fr-FR.json | 168 ----------------- .../ja-JP.json | 168 ----------------- .../km-KH.json | 168 ----------------- .../pt-BR.json | 168 ----------------- .../ru-RU.json | 168 ----------------- .../tr-TR.json | 168 ----------------- .../uk-UA.json | 168 ----------------- .../zh-CN.json | 168 ----------------- .../zh-TW.json | 165 ----------------- .../ui-theme/src/store/models/login.ts | 18 +- .../ui-theme/src/store/models/manifest.ts | 4 +- .../ui-theme/src/store/models/packages.ts | 2 +- .../ui-theme/src/store/models/search.ts | 2 +- packages/server/test/web/index.spec.ts | 12 +- .../test/functional/readme/readme.ts | 2 +- packages/web/src/api/index.ts | 20 +++ packages/web/src/api/package.ts | 6 +- packages/web/src/api/readme.ts | 6 +- packages/web/src/api/search.ts | 6 +- packages/web/src/api/sidebar.ts | 7 +- packages/web/src/api/user.ts | 5 +- packages/web/src/middleware/web-api.ts | 22 +-- packages/web/test/api.packages.test.ts | 2 +- packages/web/test/api.readme.test.ts | 4 +- packages/web/test/api.search.test.ts | 6 +- packages/web/test/api.sidebar.test.ts | 2 +- packages/web/test/api.user.test.ts | 6 +- 34 files changed, 85 insertions(+), 2241 deletions(-) create mode 100644 .changeset/light-walls-begin.md delete mode 100644 packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/cs-CZ.json delete mode 100644 packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/de-DE.json delete mode 100644 packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/en-US.json delete mode 100644 packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/es-ES.json delete mode 100644 packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/fr-FR.json delete mode 100644 packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/ja-JP.json delete mode 100644 packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/km-KH.json delete mode 100644 packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/pt-BR.json delete mode 100644 packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/ru-RU.json delete mode 100644 packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/tr-TR.json delete mode 100644 packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/uk-UA.json delete mode 100644 packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/zh-CN.json delete mode 100644 packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/zh-TW.json create mode 100644 packages/web/src/api/index.ts diff --git a/.changeset/light-walls-begin.md b/.changeset/light-walls-begin.md new file mode 100644 index 000000000..758562198 --- /dev/null +++ b/.changeset/light-walls-begin.md @@ -0,0 +1,7 @@ +--- +'@verdaccio/ui-theme': minor +'@verdaccio/server': minor +'@verdaccio/web': minor +--- + +feat: align with v5 ui endpoints and ui small bugfix diff --git a/packages/plugins/ui-theme/jest/server-handlers.ts b/packages/plugins/ui-theme/jest/server-handlers.ts index 0b65b00f0..82fff62ae 100644 --- a/packages/plugins/ui-theme/jest/server-handlers.ts +++ b/packages/plugins/ui-theme/jest/server-handlers.ts @@ -3,7 +3,7 @@ import { rest } from 'msw'; const packagesPayload = require('./api/packages.json'); export const handlers = [ - rest.get('http://localhost:9000/-/verdaccio/packages', (req, res, ctx) => { + rest.get('http://localhost:9000/-/verdaccio/data/packages', (req, res, ctx) => { return res(ctx.json(packagesPayload)); }), ]; diff --git a/packages/plugins/ui-theme/src/components/AutoComplete/AutoCompleteV2.tsx b/packages/plugins/ui-theme/src/components/AutoComplete/AutoCompleteV2.tsx index 441dc2a8a..f71db9fd2 100644 --- a/packages/plugins/ui-theme/src/components/AutoComplete/AutoCompleteV2.tsx +++ b/packages/plugins/ui-theme/src/components/AutoComplete/AutoCompleteV2.tsx @@ -290,9 +290,11 @@ const Option = styled('div')<{ isSelected: boolean }>(({ isSelected }) => ({ const StyledPaper = withStyles((theme: Theme) => ({ root: { marginTop: theme?.spacing(0.5), + position: 'absolute', borderRadius: 3, maxHeight: 165, overflowY: 'scroll', + zIndex: 10000, overflowX: 'hidden', }, }))(Paper); diff --git a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/cs-CZ.json b/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/cs-CZ.json deleted file mode 100644 index 51d13eeb3..000000000 --- a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/cs-CZ.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "copy-to-clipboard": "Zkopírovat do schránky", - "author-anonymous": "Anonymní", - "author-unknown": "Neznámý", - "action-bar-action": { - "visit-home-page": "Navštívit domovskou stránku", - "open-an-issue": "Otevřít otázku", - "download-tarball": "Stáhnout archív (Tar)" - }, - "dialog": { - "registry-info": { - "title": "Informace o registru" - } - }, - "header": { - "documentation": "Dokumentace", - "registry-info": "Informace o registru", - "greetings": "Ahoj " - }, - "search": { - "packages": "Hledat balíčky" - }, - "autoComplete": { - "loading": "Načítání...", - "no-results-found": "Nebyly nalezeny žádné výsledky", - "clear": "Vyčistit", - "expand": "Otevřít", - "collapse": "Zavřít" - }, - "tab": { - "uplinks": "Uplinky", - "versions": "Verze", - "dependencies": "Závislosti", - "readme": "Přečti si mě" - }, - "uplinks": { - "title": "Uplinky", - "no-items": "{{name}} nemá žádné uplinky." - }, - "versions": { - "current-tags": "Aktuální značky", - "version-history": "Historie verzí", - "not-available": "Nedostupné" - }, - "package": { - "published-on": "Zveřejněno v {{time}} •", - "version": "v{{version}}", - "visit-home-page": "Navštívit domovskou stránku", - "homepage": "Domovská stránka", - "open-an-issue": "Otevřít otázku", - "bugs": "Chyby", - "download": "Stáhnout {{what}}", - "the-tar-file": "tar soubor", - "tarball": "Archív (Tar)" - }, - "dependencies": { - "has-no-dependencies": "{{package}} nemá žádné závislosti.", - "dependency-block": "{{package}}@{{version}}" - }, - "form": { - "username": "Uživatelské jméno", - "password": "Heslo" - }, - "form-placeholder": { - "username": "Vaše uživatelské jméno", - "password": "Vaše silné heslo" - }, - "form-validation": { - "required-field": "Toto pole je povinné", - "required-min-length": "Toto pole vyžaduje zadání alespoň {{length}} znaků", - "unable-to-sign-in": "Přihlášení se nezdařilo", - "username-or-password-cant-be-empty": "Uživatelské jméno nebo heslo nemohou být prázdné!" - }, - "help": { - "title": "Zatím nebyl zveřejně žádný balíček.", - "sub-title": "Pro zveřejnění vašeho prvního balíčku proveďte následující:", - "first-step": "1. Přihlašte se", - "first-step-command-line": "npm adduser --registry {{registryUrl}}", - "second-step": "2. Zveřejněte balíček", - "second-step-command-line": "npm publish --registry {{registryUrl}}", - "third-step": "3. Obnovte tuto stránku." - }, - "sidebar": { - "detail": { - "latest-version": "Nejnovější v{{version}}", - "version": "v{{version}}" - }, - "installation": { - "title": "Instalace", - "install-using-yarn": "Instalace pomocí yarn", - "install-using-yarn-command": "yarn add {{packageName}}", - "install-using-npm": "Instalace pomocí npm", - "install-using-npm-command": "npm install {{packageName}}", - "install-using-pnpm": "Instalace pomocí pnpm", - "install-using-pnpm-command": "pnpm install {{packageName}}" - }, - "repository": { - "title": "Repozitář" - }, - "author": { - "title": "Autor" - }, - "distribution": { - "title": "Nejnovější distribuce", - "license": "Licence", - "size": "Velikost", - "file-count": "počet souborů" - }, - "maintainers": { - "title": "Správci" - }, - "contributors": { - "title": "Přispěvatelé" - }, - "engines": { - "npm-version": "NPM verze", - "node-js": "NODE JS" - } - }, - "footer": { - "powered-by": "Pohání", - "made-with-love-on": "Tvořeno s <0>♥ na" - }, - "button": { - "close": "Zavřít", - "cancel": "Zrušit", - "login": "Přihlásit se", - "logout": "Odhlásit se", - "go-to-the-home-page": "Přejít na domovskou stránku", - "learn-more": "Více informací", - "fund-this-package": "<0>Sponzorovat tento balíček" - }, - "error": { - "unspecific": "Něco se pokazilo.", - "404": { - "page-not-found": "404 - Stránka nebyla nalezena", - "sorry-we-could-not-find-it": "Omlouváme se, ale nepodařilo se nám to najít..." - }, - "app-context-not-correct-used": "Kontext aplikace nebyl použit správným způsobem", - "theme-context-not-correct-used": "Kontext šablony nebyl použit správným způsobem", - "package-meta-is-required-at-detail-context": "packageMeta je vyžadováno v DetailContext" - }, - "lng": { - "english": "Angličtina", - "czech": "Čeština", - "japanese": "Japonština", - "portuguese": "Portugalština", - "spanish": "Španělština", - "german": "Němčina", - "chinese": "Čínština", - "chineseTraditional": "Čínština (tradiční)", - "french": "Francouzština", - "russian": "Ruský", - "turkish": "Turečtina", - "ukraine": "Ukrajinština", - "khmer": "Khmerština" - }, - "flag": { - "austria": "Rakousko", - "brazil": "Brazílie", - "spain": "Španělsko", - "nicaragua": "Nikaragua", - "india": "Indie", - "china": "Čína", - "germany": "Německo", - "taiwan": "Tchaj-wan" - } -} diff --git a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/de-DE.json b/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/de-DE.json deleted file mode 100644 index 21278e3d3..000000000 --- a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/de-DE.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "copy-to-clipboard": "In die Zwischenablage kopieren", - "author-anonymous": "Anonymus", - "author-unknown": "Unbekannt", - "action-bar-action": { - "visit-home-page": "Zur Homepage", - "open-an-issue": "Einen Fehler melden", - "download-tarball": "Archiv (Tarball) herunterladen" - }, - "dialog": { - "registry-info": { - "title": "Registrierungsinformationen" - } - }, - "header": { - "documentation": "Dokumentation", - "registry-info": "Registrierungsinformationen", - "greetings": "Hallo " - }, - "search": { - "packages": "Pakete suchen" - }, - "autoComplete": { - "loading": "wird geladen...", - "no-results-found": "Kein Ergebnis gefunden", - "clear": "Löschen", - "expand": "Erweitern", - "collapse": "Zurückziehen" - }, - "tab": { - "uplinks": "Uplinks", - "versions": "Versionen", - "dependencies": "Abhängigkeiten", - "readme": "Liesmich" - }, - "uplinks": { - "title": "Uplinks", - "no-items": "{{name}} hat keine Uplinks." - }, - "versions": { - "current-tags": "Aktuelle Tags", - "version-history": "Versionsgeschichte", - "not-available": "Nicht verfügbar" - }, - "package": { - "published-on": "Veröffentlicht am {{time}} •", - "version": "v{{version}}", - "visit-home-page": "Zur Homepage", - "homepage": "Homepage", - "open-an-issue": "Einen Fehler melden", - "bugs": "Fehler", - "download": "{{what}} herunterladen", - "the-tar-file": "die tar-Datei", - "tarball": "Archiv (Tarball)" - }, - "dependencies": { - "has-no-dependencies": "{{package}} hat keine Abhängigkeiten", - "dependency-block": "{{package}}@{{version}}" - }, - "form": { - "username": "Benutzername", - "password": "Passwort" - }, - "form-placeholder": { - "username": "Dein Benutzername", - "password": "Dein sicheres Passwort" - }, - "form-validation": { - "required-field": "Dieses Feld ist erforderlich", - "required-min-length": "Dieses Feld erfordert eine Mindestlänge von {{length}}", - "unable-to-sign-in": "Anmeldung nicht möglich", - "username-or-password-cant-be-empty": "Benutzername und Passwort dürfen nicht leer sein!" - }, - "help": { - "title": "Noch kein Paket publiziert.", - "sub-title": "Um dein erstes Paket einfach zu publizieren:", - "first-step": "1. Einloggen", - "first-step-command-line": "npm adduser --registry {{registryUrl}}", - "second-step": "2. Publizieren", - "second-step-command-line": "npm publish --registry {{registryUrl}}", - "third-step": "3. Diese Seite aktualisieren." - }, - "sidebar": { - "detail": { - "latest-version": "Letzte v{{version}}", - "version": "v{{version}}" - }, - "installation": { - "title": "Installierung", - "install-using-yarn": "Mit yarn installieren", - "install-using-yarn-command": "yarn add {{packageName}}", - "install-using-npm": "Mit npm installieren", - "install-using-npm-command": "npm install {{packageName}}", - "install-using-pnpm": "Mit pnpm installieren", - "install-using-pnpm-command": "pnpm install {{packageName}}" - }, - "repository": { - "title": "Repository" - }, - "author": { - "title": "Autor(in)" - }, - "distribution": { - "title": "Neueste Distribution", - "license": "Lizenz", - "size": "Größe", - "file-count": "Anzahl der Dateien" - }, - "maintainers": { - "title": "Maintainer" - }, - "contributors": { - "title": "Contributor" - }, - "engines": { - "npm-version": "NPM Version", - "node-js": "NODE JS" - } - }, - "footer": { - "powered-by": "Unterstützt von", - "made-with-love-on": "Gemacht mit <0>♥ in" - }, - "button": { - "close": "Schließen", - "cancel": "Abbrechen", - "login": "Einloggen", - "logout": "Ausloggen", - "go-to-the-home-page": "Zur Homepage", - "learn-more": "Mehr erfahren", - "fund-this-package": "Dieses Paket <0>finanzieren" - }, - "error": { - "unspecific": "Etwas ist schief gelaufen.", - "404": { - "page-not-found": "404 - Seite nicht gefunden", - "sorry-we-could-not-find-it": "Entschuldigung, wir konnten es nicht finden..." - }, - "app-context-not-correct-used": "Der App-Kontext wurde nicht korrekt verwendet", - "theme-context-not-correct-used": "Der Theme-Kontext wurde nicht korrekt verwendet", - "package-meta-is-required-at-detail-context": "packageMeta wird bei DetailContext benötigt" - }, - "lng": { - "english": "Englisch", - "czech": "Tschechisch", - "japanese": "Japanisch", - "portuguese": "Portugiesisch", - "spanish": "Spanisch", - "german": "Deutsch", - "chinese": "Chinesisch", - "chineseTraditional": "Chinesisch (Traditionell)", - "french": "Französisch", - "russian": "Russisch", - "turkish": "Türkisch", - "ukraine": "Ukrainisch", - "khmer": "Khmer" - }, - "flag": { - "austria": "Österreich", - "brazil": "Brasilien", - "spain": "Spanien", - "nicaragua": "Nicaragua", - "india": "Indien", - "china": "China", - "germany": "Deutschland", - "taiwan": "Taiwan" - } -} diff --git a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/en-US.json b/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/en-US.json deleted file mode 100644 index 00de90d54..000000000 --- a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/en-US.json +++ /dev/null @@ -1,170 +0,0 @@ -{ - "copy-to-clipboard": "Copy to clipboard", - "author-anonymous": "Anonymous", - "author-unknown": "Unknown", - "action-bar-action": { - "visit-home-page": "Visit homepage", - "open-an-issue": "Open an issue", - "download-tarball": "Download tarball" - }, - "dialog": { - "registry-info": { - "title": "Registry Info" - } - }, - "header": { - "documentation": "Documentation", - "registry-info": "Registry Information", - "registry-info-link": "Learn more", - "registry-no-conf": "No configurations available", - "greetings": "Hi " - }, - "search": { - "packages": "Search Packages" - }, - "autoComplete": { - "loading": "Loading...", - "no-results-found": "No results found", - "clear": "Clear", - "expand": "Expand", - "collapse": "Collapse" - }, - "tab": { - "uplinks": "Uplinks", - "versions": "Versions", - "dependencies": "Dependencies", - "readme": "Readme" - }, - "uplinks": { - "title": "Uplinks", - "no-items": "{{name}} has no uplinks." - }, - "versions": { - "current-tags": "Current Tags", - "version-history": "Version history", - "not-available": "Not available" - }, - "package": { - "published-on": "Published on {{time}} •", - "version": "v{{version}}", - "visit-home-page": "Visit homepage", - "homepage": "Homepage", - "open-an-issue": "Open an issue", - "bugs": "Bugs", - "download": "Download {{what}}", - "the-tar-file": "the tar file", - "tarball": "Tarball" - }, - "dependencies": { - "has-no-dependencies": "{{package}} has no dependencies.", - "dependency-block": "{{package}}@{{version}}" - }, - "form": { - "username": "Username", - "password": "Password" - }, - "form-placeholder": { - "username": "Your username", - "password": "Your strong password" - }, - "form-validation": { - "required-field": "This field is required", - "required-min-length": "This field required the min length of {{length}}", - "unable-to-sign-in": "Unable to sign in", - "username-or-password-cant-be-empty": "Username or password can't be empty!" - }, - "help": { - "title": "No Package Published Yet.", - "sub-title": "To publish your first package just:", - "first-step": "1. Login", - "first-step-command-line": "npm adduser --registry {{registryUrl}}", - "second-step": "2. Publish", - "second-step-command-line": "npm publish --registry {{registryUrl}}", - "third-step": "3. Refresh this page." - }, - "sidebar": { - "detail": { - "latest-version": "Latest v{{version}}", - "version": "v{{version}}" - }, - "installation": { - "title": "Installation", - "install-using-yarn": "Install using yarn", - "install-using-yarn-command": "yarn add {{packageName}}", - "install-using-npm": "Install using npm", - "install-using-npm-command": "npm install {{packageName}}", - "install-using-pnpm": "Install using pnpm", - "install-using-pnpm-command": "pnpm install {{packageName}}" - }, - "repository": { - "title": "Repository" - }, - "author": { - "title": "Author" - }, - "distribution": { - "title": "Latest Distribution", - "license": "License", - "size": "Size", - "file-count": "file count" - }, - "maintainers": { - "title": "Maintainers" - }, - "contributors": { - "title": "Contributors" - }, - "engines": { - "npm-version": "NPM Version", - "node-js": "NODE JS" - } - }, - "footer": { - "powered-by": "Powered by", - "made-with-love-on": "Made with <0>♥ on" - }, - "button": { - "close": "Close", - "cancel": "Cancel", - "login": "Login", - "logout": "Logout", - "go-to-the-home-page": "Go to the home page", - "learn-more": "Learn More", - "fund-this-package": "<0>Fund this package" - }, - "error": { - "unspecific": "Something went wrong.", - "404": { - "page-not-found": "404 - Page not found", - "sorry-we-could-not-find-it": "Sorry, we couldn't find it..." - }, - "app-context-not-correct-used": "The app context was not used correctly", - "theme-context-not-correct-used": "The theme context was not used correctly", - "package-meta-is-required-at-detail-context": "packageMeta is required at DetailContext" - }, - "lng": { - "english": "English", - "czech": "Czech", - "japanese": "Japanese", - "portuguese": "Portuguese", - "spanish": "Spanish", - "german": "German", - "chinese": "Chinese", - "chineseTraditional": "Chinese (Traditional)", - "french": "French", - "russian": "Russian", - "turkish": "Turkish", - "ukraine": "Ukraine", - "khmer": "Khmer" - }, - "flag": { - "austria": "Austria", - "brazil": "Brazil", - "spain": "Spain", - "nicaragua": "Nicaragua", - "india": "India", - "china": "China", - "germany": "Germany", - "taiwan": "Taiwan" - } -} diff --git a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/es-ES.json b/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/es-ES.json deleted file mode 100644 index 4681380bc..000000000 --- a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/es-ES.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "copy-to-clipboard": "Copiar al portapapeles", - "author-anonymous": "Anónimo", - "author-unknown": "Desconocido", - "action-bar-action": { - "visit-home-page": "Visitar página principal", - "open-an-issue": "Reportar un error", - "download-tarball": "Descargar librería" - }, - "dialog": { - "registry-info": { - "title": "Información del Registro" - } - }, - "header": { - "documentation": "Documentación", - "registry-info": "Información del Registro", - "greetings": "Hola " - }, - "search": { - "packages": "Buscar paquetes" - }, - "autoComplete": { - "loading": "Cargando...", - "no-results-found": "No se encontraron resultados", - "clear": "Limpiar", - "expand": "Expandir", - "collapse": "Retraer" - }, - "tab": { - "uplinks": "Remoto", - "versions": "Versiones", - "dependencies": "Dependencias", - "readme": "Léeme" - }, - "uplinks": { - "title": "Remoto", - "no-items": "{{name}} no tiene remotos." - }, - "versions": { - "current-tags": "Etiquetas actuales", - "version-history": "Historial de versiones", - "not-available": "No disponible" - }, - "package": { - "published-on": "Publicado en {{time}} •", - "version": "v{{version}}", - "visit-home-page": "Ir a la página principal", - "homepage": "Página pricinpal", - "open-an-issue": "Reportar un problema", - "bugs": "Errores", - "download": "Descargar {{what}}", - "the-tar-file": "el archivo tar", - "tarball": "Librería" - }, - "dependencies": { - "has-no-dependencies": "{{package}} no tiene dependencias.", - "dependency-block": "{{package}}@{{version}}" - }, - "form": { - "username": "Usuario", - "password": "Contraseña" - }, - "form-placeholder": { - "username": "Tu usuario", - "password": "Tu contraseña segura" - }, - "form-validation": { - "required-field": "Este campo es requerido", - "required-min-length": "Este campo es requerido y la mínima longitud es {{length}}", - "unable-to-sign-in": "No se pudo iniciar sesión", - "username-or-password-cant-be-empty": "El nombre de usuario o la contraseña no pueden estar vacíos!" - }, - "help": { - "title": "Ningún paquete ha sido publicado aún.", - "sub-title": "Para publicar tu primer paquete:", - "first-step": "1. Inicia sesión", - "first-step-command-line": "npm adduser --registry {{registryUrl}}", - "second-step": "2. Publica", - "second-step-command-line": "npm publish --registry {{registryUrl}}", - "third-step": "3. Refresca la página." - }, - "sidebar": { - "detail": { - "latest-version": "Última v{{version}}", - "version": "v{{version}}" - }, - "installation": { - "title": "Instalación", - "install-using-yarn": "Instala usando yarn", - "install-using-yarn-command": "yarn add {{packageName}}", - "install-using-npm": "Instala usando npm", - "install-using-npm-command": "npm install {{packageName}}", - "install-using-pnpm": "Instala usando pnpm", - "install-using-pnpm-command": "pnpm install {{packageName}}" - }, - "repository": { - "title": "Repositorio" - }, - "author": { - "title": "Autor" - }, - "distribution": { - "title": "Última distribución", - "license": "Licencia", - "size": "Tamaño", - "file-count": "archivo cuenta" - }, - "maintainers": { - "title": "Mantenedores" - }, - "contributors": { - "title": "Colaboradores" - }, - "engines": { - "npm-version": "Versión NPM", - "node-js": "NODE JS" - } - }, - "footer": { - "powered-by": "Hecho con", - "made-with-love-on": "Hecho con <0>♥ on" - }, - "button": { - "close": "Cerrar", - "cancel": "Cancelar", - "login": "Iniciar sesión", - "logout": "Cerrar sesión", - "go-to-the-home-page": "Ir a la página principal", - "learn-more": "Aprender más", - "fund-this-package": "<0>Donar a este paquete" - }, - "error": { - "unspecific": "Algo salió mal.", - "404": { - "page-not-found": "404 - Paquete no encontrado", - "sorry-we-could-not-find-it": "Lo siento, no pudimos encontrarlo..." - }, - "app-context-not-correct-used": "El contexto de la aplicación no fue correctamente usado", - "theme-context-not-correct-used": "El contexto del tema no fue correctamente usado", - "package-meta-is-required-at-detail-context": "packageMeta es requerido en DetailContext" - }, - "lng": { - "english": "Inglés", - "czech": "Checo", - "japanese": "Japonés", - "portuguese": "Portugués", - "spanish": "Español", - "german": "Alemán", - "chinese": "Chino", - "chineseTraditional": "Chino (Tradicional)", - "french": "Francés", - "russian": "Ruso", - "turkish": "Turco", - "ukraine": "Ucraniano", - "khmer": "khmer" - }, - "flag": { - "austria": "Austria", - "brazil": "Brasil", - "spain": "España", - "nicaragua": "Nicaragua", - "india": "India", - "china": "China", - "germany": "Alemania", - "taiwan": "Taiwán" - } -} diff --git a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/fr-FR.json b/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/fr-FR.json deleted file mode 100644 index ebcb1546d..000000000 --- a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/fr-FR.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "copy-to-clipboard": "Copier dans le presse-papier", - "author-anonymous": "Anonyme", - "author-unknown": "Inconnue", - "action-bar-action": { - "visit-home-page": "Visiter la page d'accueil", - "open-an-issue": "Ouvrir un ticket", - "download-tarball": "Télécharger l'archive" - }, - "dialog": { - "registry-info": { - "title": "Informations du Registry" - } - }, - "header": { - "documentation": "Documentation", - "registry-info": "Informations du Registry", - "greetings": "Bonjour " - }, - "search": { - "packages": "Rechercher des paquets" - }, - "autoComplete": { - "loading": "En cours de chargement...", - "no-results-found": "Aucun resultat trouvé", - "clear": "Nettoyer", - "expand": "Développer", - "collapse": "Se rétracter" - }, - "tab": { - "uplinks": "Uplinks", - "versions": "Versions", - "dependencies": "Dépendances", - "readme": "Readme" - }, - "uplinks": { - "title": "Uplinks", - "no-items": "{{name}} n'a pas de uplink." - }, - "versions": { - "current-tags": "Tags courants", - "version-history": "Historique de version", - "not-available": "Non disponible" - }, - "package": { - "published-on": "Publié le {{time}} •", - "version": "v{{version}}", - "visit-home-page": "Visiter la page d'accueil", - "homepage": "Page d'accueil", - "open-an-issue": "Ouvrir un ticket", - "bugs": "Bugs", - "download": "Télécharger {{what}}", - "the-tar-file": "le fichier tar", - "tarball": "Archive" - }, - "dependencies": { - "has-no-dependencies": "{{package}} n'a aucune dépendance.", - "dependency-block": "{{package}}@{{version}}" - }, - "form": { - "username": "Nom d'utilisateur", - "password": "Mot de passe" - }, - "form-placeholder": { - "username": "Votre nom d'utilisateur", - "password": "Votre mot de passe" - }, - "form-validation": { - "required-field": "Ce champ est obligatoire", - "required-min-length": "Ce champ doit faire au moins {{length}} caractères", - "unable-to-sign-in": "Connexion impossible", - "username-or-password-cant-be-empty": "Le nom d'utilisateur ou mot de passe ne peut pas être vide!" - }, - "help": { - "title": "Aucun paquet publié pour l'instant.", - "sub-title": "Pour publier votre premier paquet:", - "first-step": "1. Se connecter", - "first-step-command-line": "npm adduser --registry {{registryUrl}}", - "second-step": "2. Publier", - "second-step-command-line": "npm publish --registry {{registryUrl}}", - "third-step": "3. Recharger cette page." - }, - "sidebar": { - "detail": { - "latest-version": "Dernière v{{version}}", - "version": "v{{version}}" - }, - "installation": { - "title": "Installation", - "install-using-yarn": "Installer avec yarn", - "install-using-yarn-command": "yarn add {{packageName}}", - "install-using-npm": "Installer avec npm", - "install-using-npm-command": "npm install {{packageName}}", - "install-using-pnpm": "Installer avec pnpm", - "install-using-pnpm-command": "pnpm install {{packageName}}" - }, - "repository": { - "title": "Dépôt" - }, - "author": { - "title": "Auteur" - }, - "distribution": { - "title": "Dernière distribution", - "license": "Licence", - "size": "Taille", - "file-count": "nombre de fichiers" - }, - "maintainers": { - "title": "Mainteneurs" - }, - "contributors": { - "title": "Contributeurs" - }, - "engines": { - "npm-version": "Version NPM", - "node-js": "NODE JS" - } - }, - "footer": { - "powered-by": "Propulsé par", - "made-with-love-on": "Fait avec <0>♥ sur" - }, - "button": { - "close": "Fermer", - "cancel": "Annuler", - "login": "Se connecter", - "logout": "Se déconnecter", - "go-to-the-home-page": "Aller à la page d'accueil", - "learn-more": "En savoir plus", - "fund-this-package": "<0>Financer ce paquet" - }, - "error": { - "unspecific": "Quelque chose a mal tourné.", - "404": { - "page-not-found": "404 - Page non trouvée", - "sorry-we-could-not-find-it": "Desolé, nous n'avons rien retrouvé..." - }, - "app-context-not-correct-used": "Le contexte de l'application n'a pas été utilisé correctement", - "theme-context-not-correct-used": "Le contexte du thème n'a pas été utilisé correctement", - "package-meta-is-required-at-detail-context": "packageMeta est obligatoire à DetailContext" - }, - "lng": { - "english": "Anglais", - "czech": "Tchèque", - "japanese": "Japonais", - "portuguese": "Portugais", - "spanish": "Espagnol", - "german": "Allemand", - "chinese": "Chinois", - "chineseTraditional": "Chinois (Traditionnel)", - "french": "Français", - "russian": "Russe", - "turkish": "Turc", - "ukraine": "Ukrainien", - "khmer": "Khmer" - }, - "flag": { - "austria": "L'Autriche", - "brazil": "Brésil", - "spain": "Espagne", - "nicaragua": "Nicaragua", - "india": "Inde", - "china": "Chine", - "germany": "Allemagne", - "taiwan": "Taïwan" - } -} diff --git a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/ja-JP.json b/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/ja-JP.json deleted file mode 100644 index 61d303307..000000000 --- a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/ja-JP.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "copy-to-clipboard": "クリップボードにコピー", - "author-anonymous": "匿名", - "author-unknown": "わからない", - "action-bar-action": { - "visit-home-page": "ホームページへ移動", - "open-an-issue": "課題を開く", - "download-tarball": "tar形式でダウンロード" - }, - "dialog": { - "registry-info": { - "title": "レジストリの設定方法" - } - }, - "header": { - "documentation": "ドキュメント", - "registry-info": "レジストリ情報", - "greetings": "こんにちは、" - }, - "search": { - "packages": "パッケージを検索" - }, - "autoComplete": { - "loading": "ロード中...", - "no-results-found": "パッケージが見つかりませんでした", - "clear": "きれいにするため", - "expand": "拡大する", - "collapse": "撤回する" - }, - "tab": { - "uplinks": "アップリンク", - "versions": "バージョン情報", - "dependencies": "依存パッケージ", - "readme": "Readme" - }, - "uplinks": { - "title": "アップリンク", - "no-items": "{{name}}にアップリンクはありません" - }, - "versions": { - "current-tags": "タグ一覧", - "version-history": "バージョン履歴", - "not-available": "利用できません" - }, - "package": { - "published-on": "{{time}}に更新されました •", - "version": "v{{version}}", - "visit-home-page": "ホームページへ移動", - "homepage": "ホームページ", - "open-an-issue": "課題を開く", - "bugs": "バグ", - "download": "{{what}}ダウンロード", - "the-tar-file": "tar形式のファイル", - "tarball": "tar形式でダウンロード" - }, - "dependencies": { - "has-no-dependencies": "{{package}}に依存パッケージはありません", - "dependency-block": "{{package}}@{{version}}" - }, - "form": { - "username": "ユーザ名", - "password": "パスワード" - }, - "form-placeholder": { - "username": "あなたのユーザ名", - "password": "あなたのパスワード" - }, - "form-validation": { - "required-field": "この項目は必ず入力して下さい", - "required-min-length": "この項目は{{length}}文字以上入力して下さい", - "unable-to-sign-in": "サインインできません", - "username-or-password-cant-be-empty": "ユーザ名とパスワードは空にできません" - }, - "help": { - "title": "まだパッケージが登録されていません", - "sub-title": "以下の手順で最初のパッケージを登録しましょう", - "first-step": "1. ログイン", - "first-step-command-line": "npm adduser --registry {{registryUrl}}", - "second-step": "2. 登録", - "second-step-command-line": "npm publish --registry {{registryUrl}}", - "third-step": "3. このページを再読み込みして下さい" - }, - "sidebar": { - "detail": { - "latest-version": "最新バージョンは{{version}}です", - "version": "v{{version}}" - }, - "installation": { - "title": "インストール方法", - "install-using-yarn": "yarnでインストール", - "install-using-yarn-command": "yarn add {{packageName}}", - "install-using-npm": "npmでインストール", - "install-using-npm-command": "npm install {{packageName}}", - "install-using-pnpm": "pnpmでインストール", - "install-using-pnpm-command": "pnpm install {{packageName}}" - }, - "repository": { - "title": "リポジトリ" - }, - "author": { - "title": "作者" - }, - "distribution": { - "title": "最新の配信内容", - "license": "ライセンス", - "size": "サイズ", - "file-count": "ファイル数" - }, - "maintainers": { - "title": "パッケージメンテナ" - }, - "contributors": { - "title": "コントリビューター" - }, - "engines": { - "npm-version": "NPM Version", - "node-js": "NODE JS" - } - }, - "footer": { - "powered-by": "Powered by", - "made-with-love-on": "Made with <0>♥ on" - }, - "button": { - "close": "閉じる", - "cancel": "キャンセル", - "login": "ログイン", - "logout": "ログアウト", - "go-to-the-home-page": "トップページに戻る", - "learn-more": "もっと知る", - "fund-this-package": "このパッケージに<0>投資" - }, - "error": { - "unspecific": "何か問題が発生したようです。", - "404": { - "page-not-found": "404 - Page not found", - "sorry-we-could-not-find-it": "残念ながら、ご指定のページはありませんでした…。" - }, - "app-context-not-correct-used": "AppContextが正しく使用されませんでした", - "theme-context-not-correct-used": "ThemeContextが正しく使用されませんでした", - "package-meta-is-required-at-detail-context": "DetailContextではpackageMetaが必要です" - }, - "lng": { - "english": "英語", - "czech": "チェコ人", - "japanese": "日本語", - "portuguese": "ポルトガル語", - "spanish": "スペイン語", - "german": "ドイツ語", - "chinese": "中国語", - "chineseTraditional": "繁体字中国語", - "french": "フランス語", - "russian": "ロシア", - "turkish": "トルコ人", - "ukraine": "ウクライナ", - "khmer": "クメール語" - }, - "flag": { - "austria": "オーストリア", - "brazil": "ブラジル", - "spain": "スペイン", - "nicaragua": "ニカラグア", - "india": "インド", - "china": "中国", - "germany": "ドイツ", - "taiwan": "台湾" - } -} diff --git a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/km-KH.json b/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/km-KH.json deleted file mode 100644 index ef8c9faad..000000000 --- a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/km-KH.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "copy-to-clipboard": "ចម្លងទៅក្ដារតម្បៀតខ្ទាស់", - "author-anonymous": "គ្មានអត្តសញ្ញាណ", - "author-unknown": "មិនស្គាល់", - "action-bar-action": { - "visit-home-page": "ទស្សនាគេហទំព័រ", - "open-an-issue": "បើកកិច្ចការ", - "download-tarball": "ទាញយកកញ្ចប់ឯកសារ" - }, - "dialog": { - "registry-info": { - "title": "ព័ត៌មានការចុះឈ្មោះ" - } - }, - "header": { - "documentation": "ឯកសារ", - "registry-info": "ព័ត៌មានការចុះឈ្មោះ", - "greetings": "សួស្តី" - }, - "search": { - "packages": "ស្វែងរកកញ្ចប់" - }, - "autoComplete": { - "loading": "កំពុងផ្ទុក...", - "no-results-found": "រកមិនឃើញលទ្ធផល", - "clear": "សម្អាត", - "expand": "ពង្រីក", - "collapse": "ដកថយ" - }, - "tab": { - "uplinks": "ភ្ជាប់តំណទៅ", - "versions": "កំណែ", - "dependencies": "អាស្រ័យលើ", - "readme": "អានខ្ញុំជាមុនសិន" - }, - "uplinks": { - "title": "ភ្ជាប់តំណទៅ", - "no-items": "{{name}} គ្មានភ្ជាប់តំណទៅ។" - }, - "versions": { - "current-tags": "ស្លាកបច្ចុប្បន្ន", - "version-history": "ប្រវត្តិសាស្រ្តជំនាន់", - "not-available": "Not available" - }, - "package": { - "published-on": "បោះពុម្ភផ្សាយ {{time}}។", - "version": "v{{version}}", - "visit-home-page": "ទស្សនាគេហទំព័រ", - "homepage": "គេហទំព័រ", - "open-an-issue": "បើកកិច្ចការ", - "bugs": "កំហុស", - "download": "ទាញយក {{what}}", - "the-tar-file": "ឯកសាជា tar", - "tarball": "ឯកសារ Tarball" - }, - "dependencies": { - "has-no-dependencies": "{{package}} មិនមានភាពអាស្រ័យ។", - "dependency-block": "{{package}}@{{version}}" - }, - "form": { - "username": "ឈ្មោះអ្នកប្រើប្រាស់", - "password": "ពាក្យសម្ងាត់" - }, - "form-placeholder": { - "username": "ឈ្មោះអ្នកប្រើរបស់អ្នក", - "password": "ពាក្យសម្ងាត់ខ្លាំងរបស់អ្នក" - }, - "form-validation": { - "required-field": "ចន្លោះនេះត្រូវតែំពេញ", - "required-min-length": "ប្រអប់នេះទាមទារប្រវែងអប្បបរមា {{length}}", - "unable-to-sign-in": "មិនអាចចូលបានទេ", - "username-or-password-cant-be-empty": "ឈ្មោះអ្នកប្រើឬពាក្យសម្ងាត់មិនអាចទទេ!" - }, - "help": { - "title": "មិនទាន់មានការបោះពុម្ពផ្សាយកញ្ចប់នៅឡើយទេ។", - "sub-title": "ដើម្បីផ្សព្វផ្សាយកញ្ចប់ដំបូងរបស់អ្នកគ្រាន់តែ៖", - "first-step": "1. ចូល", - "first-step-command-line": "npm adduser --registry {{registryUrl}}", - "second-step": "2. ផ្សព្វផ្សាយ", - "second-step-command-line": "npm publish --registry {{registryUrl}}", - "third-step": "ផ្ទុកទំព័រនេះឡើងវិញ។" - }, - "sidebar": { - "detail": { - "latest-version": "ចុងក្រោយ v{{version}}", - "version": "v{{version}}" - }, - "installation": { - "title": "ការដំឡើង", - "install-using-yarn": "ដំឡើងដោយប្រើ yarn", - "install-using-yarn-command": "yarn add {{packageName}}", - "install-using-npm": "ដំឡើងដោយប្រើ npm", - "install-using-npm-command": "npm install {{packageName}}", - "install-using-pnpm": "ដំឡើងដោយប្រើ pnpm", - "install-using-pnpm-command": "pnpm install {{packageName}}" - }, - "repository": { - "title": "ឃ្លាំង" - }, - "author": { - "title": "អ្នកនិពន្ធ" - }, - "distribution": { - "title": "ការចែកចាយចុងក្រោយ", - "license": "អាជ្ញាប័ណ្ណ", - "size": "ទំហំ", - "file-count": "រាប់ឯកសារ" - }, - "maintainers": { - "title": "អ្នកថែរក្សា" - }, - "contributors": { - "title": "អ្នកចូលរួមអភិវឌ្ឍ" - }, - "engines": { - "npm-version": "NPM កំណែ", - "node-js": "NODE JS" - } - }, - "footer": { - "powered-by": "ឧបត្ថម្ភដោយ", - "made-with-love-on": "ផលិតជាមួយ <0>♥ លើ" - }, - "button": { - "close": "បិទ", - "cancel": "បោះបង់", - "login": "ចូល", - "logout": "ចាកចេញ", - "go-to-the-home-page": "ទៅទំព័រដើម", - "learn-more": "ស្វែងយល់បន្ថែម", - "fund-this-package": "<0>Fund កញ្ចប់នេះ" - }, - "error": { - "unspecific": "មានអ្វីមួយមិនប្រក្រតី។", - "404": { - "page-not-found": "៤០៤ - រកមិនឃើញទំព័រ", - "sorry-we-could-not-find-it": "សូមទោសយើងមិនអាចរកវាឃើញទេ..." - }, - "app-context-not-correct-used": "បរិបទកម្មវិធីមិនត្រូវបានប្រើត្រឹមត្រូវទេ", - "theme-context-not-correct-used": "បរិបទទម្រង់មិនត្រូវបានប្រើត្រឹមត្រូវទេ", - "package-meta-is-required-at-detail-context": "packageMeta ត្រូវបានទាមទារនៅ DetailContext" - }, - "lng": { - "english": "អង់គ្លេស", - "czech": "ឆែក", - "japanese": "ជប៉ុន", - "portuguese": "ព័រទុយហ្កាល់", - "spanish": "អេស្ប៉ាញ", - "german": "អាឡឺម៉ង់", - "chinese": "ចិន", - "chineseTraditional": "ជនជាតិចិន (ប្រពៃណី)", - "french": "បារាំង", - "russian": "រុស្ស៊ី", - "turkish": "ទួរគី", - "ukraine": "អ៊ុយក្រែន", - "khmer": "ខ្មែរ" - }, - "flag": { - "austria": "អូទ្រីស", - "brazil": "ប្រេស៊ីល", - "spain": "អេស្ប៉ាញ", - "nicaragua": "នីការ៉ាហ្គា", - "india": "ឥណ្ឌា", - "china": "ចិន", - "germany": "ប្រទេសអាល្លឺម៉ង់", - "taiwan": "តៃវ៉ាន់" - } -} diff --git a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/pt-BR.json b/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/pt-BR.json deleted file mode 100644 index ff23720af..000000000 --- a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/pt-BR.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "copy-to-clipboard": "Copiar para área de transferência", - "author-anonymous": "Anônimo(a)", - "author-unknown": "Desconhecido", - "action-bar-action": { - "visit-home-page": "Visitar a página inicial", - "open-an-issue": "Criar um incidente", - "download-tarball": "Baixar Tarball" - }, - "dialog": { - "registry-info": { - "title": "Informações do Registro" - } - }, - "header": { - "documentation": "Documentação", - "registry-info": "Informações do Registro", - "greetings": "Oi " - }, - "search": { - "packages": "Pesquisar Pacotes" - }, - "autoComplete": { - "loading": "Carregando...", - "no-results-found": "Nenhum resultado encontrado", - "clear": "Limpar", - "expand": "Expandir", - "collapse": "Retrair" - }, - "tab": { - "uplinks": "Uplinks", - "versions": "Versões", - "dependencies": "Dependências", - "readme": "Leia-me" - }, - "uplinks": { - "title": "Uplinks", - "no-items": "{{name}} não tem uplinks." - }, - "versions": { - "current-tags": "Tags atuais", - "version-history": "Histórico de versões", - "not-available": "Não disponível" - }, - "package": { - "published-on": "Publicado em {{time}} •", - "version": "v{{version}}", - "visit-home-page": "Visitar a página inicial", - "homepage": "Página inicial", - "open-an-issue": "Criar um incidente", - "bugs": "Erros", - "download": "Baixar {{what}}", - "the-tar-file": "o arquivo tar", - "tarball": "Tarball" - }, - "dependencies": { - "has-no-dependencies": "{{package}} não tem dependências.", - "dependency-block": "{{package}}@{{version}}" - }, - "form": { - "username": "Nome do usuário", - "password": "Senha" - }, - "form-placeholder": { - "username": "O seu nome", - "password": "A sua senha forte" - }, - "form-validation": { - "required-field": "Este campo é obrigatório", - "required-min-length": "Este campo requer o mínimo de {{length}} caracteres", - "unable-to-sign-in": "Não foi possível fazer login", - "username-or-password-cant-be-empty": "Nome de usuário ou senha não podem estar vazios!" - }, - "help": { - "title": "Nenhum pacote publicado ainda.", - "sub-title": "Para publicar seu primeiro pacote apenas:", - "first-step": "1. Faça login", - "first-step-command-line": "npm adduser --registry {{registryUrl}}", - "second-step": "2. Publique", - "second-step-command-line": "npm publish --registry {{registryUrl}}", - "third-step": "3. Atualize esta página." - }, - "sidebar": { - "detail": { - "latest-version": "Última versão: v{{version}}", - "version": "v{{version}}" - }, - "installation": { - "title": "Instalação", - "install-using-yarn": "Instale usando yarn", - "install-using-yarn-command": "yarn add {{packageName}}", - "install-using-npm": "Instale usando npm", - "install-using-npm-command": "npm install {{packageName}}", - "install-using-pnpm": "Instale usando pnpm", - "install-using-pnpm-command": "pnpm install {{packageName}}" - }, - "repository": { - "title": "Repositório" - }, - "author": { - "title": "Autor(a)" - }, - "distribution": { - "title": "Distribuição mais recente", - "license": "Licença", - "size": "Tamanho", - "file-count": "Contagem de arquivos" - }, - "maintainers": { - "title": "Mantenedores(as)" - }, - "contributors": { - "title": "Contribuidores(as)" - }, - "engines": { - "npm-version": "Versão NPM", - "node-js": "NODE JS" - } - }, - "footer": { - "powered-by": "Feito por", - "made-with-love-on": "Feito com amor <0>♥ no(a)" - }, - "button": { - "close": "Fechar", - "cancel": "Cancelar", - "login": "Conectar", - "logout": "Desconectar", - "go-to-the-home-page": "Ir para a página inicial", - "learn-more": "Leia mais", - "fund-this-package": "<0>Financie este pacote" - }, - "error": { - "unspecific": "Algo deu errado.", - "404": { - "page-not-found": "404 - Página não encontrada", - "sorry-we-could-not-find-it": "Desculpe, não conseguimos encontrar..." - }, - "app-context-not-correct-used": "O contexto do aplicativo não foi usado corretamente", - "theme-context-not-correct-used": "O contexto do tema não foi usado corretamente", - "package-meta-is-required-at-detail-context": "packageMeta é requerido em DetailContext" - }, - "lng": { - "english": "Inglês", - "czech": "Tcheco", - "japanese": "Japonês", - "portuguese": "Português", - "spanish": "Espanhol", - "german": "Alemão", - "chinese": "Chinês", - "chineseTraditional": "Chinês (Tradicional)", - "french": "Francês", - "russian": "Russo", - "turkish": "Turco", - "ukraine": "Ucraniano", - "khmer": "Khmer" - }, - "flag": { - "austria": "Austria", - "brazil": "Brasil", - "spain": "Espanha", - "nicaragua": "Nicaragua", - "india": "India", - "china": "China", - "germany": "Alemanha", - "taiwan": "Taiwan" - } -} diff --git a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/ru-RU.json b/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/ru-RU.json deleted file mode 100644 index f9ff46d01..000000000 --- a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/ru-RU.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "copy-to-clipboard": "Копировать в буфер обмена", - "author-anonymous": "Анонимный", - "author-unknown": "неизвестно", - "action-bar-action": { - "visit-home-page": "Посетить домашнюю страницу", - "open-an-issue": "Открыть вопрос, проблему, ...", - "download-tarball": "Скачать архив" - }, - "dialog": { - "registry-info": { - "title": "Информация о реестре" - } - }, - "header": { - "documentation": "Документация", - "registry-info": "Информация о реестре", - "greetings": "Привет " - }, - "search": { - "packages": "Поиск пакетов" - }, - "autoComplete": { - "loading": "Загрузка ...", - "no-results-found": "Ничего не найдено", - "clear": "Очистить", - "expand": "Развернуть", - "collapse": "Свернуть" - }, - "tab": { - "uplinks": "Публикации", - "versions": "Версии", - "dependencies": "Зависимости", - "readme": "Описание" - }, - "uplinks": { - "title": "Публикации", - "no-items": "{{name}} не опубликован." - }, - "versions": { - "current-tags": "Текущие теги", - "version-history": "История версий", - "not-available": "Недоступен" - }, - "package": { - "published-on": "Опубликовано {{time}} •", - "version": "v{{version}}", - "visit-home-page": "Посетить домашнюю страницу", - "homepage": "Домашняя страница", - "open-an-issue": "Открыть вопрос, проблему, ...", - "bugs": "Ошибки", - "download": "Скачать {{what}}", - "the-tar-file": "файл tar", - "tarball": "Скачать" - }, - "dependencies": { - "has-no-dependencies": "{{package}} не имеет зависимостей.", - "dependency-block": "{{package}}@{{version}}" - }, - "form": { - "username": "Имя пользователя", - "password": "Пароль" - }, - "form-placeholder": { - "username": "Ваше имя пользователя", - "password": "Ваш надежный пароль" - }, - "form-validation": { - "required-field": "Это поле является обязательным", - "required-min-length": "Для этого поля требуется минимальная длина {{length}}", - "unable-to-sign-in": "Невозможно войти", - "username-or-password-cant-be-empty": "Имя пользователя или пароль не могут быть пустыми!" - }, - "help": { - "title": "Нет опубликованных пакетов", - "sub-title": "Опубликовать свой первый пакет просто:", - "first-step": "1. Подключитесь", - "first-step-command-line": "npm adduser --registry {{registryUrl}}", - "second-step": "2. Опубликуйте", - "second-step-command-line": "npm publish --registry {{registryUrl}}", - "third-step": "3. Обновите эту страницу." - }, - "sidebar": { - "detail": { - "latest-version": "Последняя версия v{{version}}", - "version": "v{{version}}" - }, - "installation": { - "title": "Установка", - "install-using-yarn": "Установка с помощью yarn", - "install-using-yarn-command": "yarn add {{packageName}}", - "install-using-npm": "Установка с помощью npm", - "install-using-npm-command": "npm install {{packageName}}", - "install-using-pnpm": "Установка с помощью pnpm", - "install-using-pnpm-command": "pnpm install {{packageName}}" - }, - "repository": { - "title": "Хранилище" - }, - "author": { - "title": "Автор" - }, - "distribution": { - "title": "Условия распространения", - "license": "Лицензия", - "size": "Размер", - "file-count": "количество файлов" - }, - "maintainers": { - "title": "Техническое сопровождение" - }, - "contributors": { - "title": "Авторы" - }, - "engines": { - "npm-version": "Версия NPM", - "node-js": "NODE JS" - } - }, - "footer": { - "powered-by": "Работает на", - "made-with-love-on": "Сделано с <0>♥ на" - }, - "button": { - "close": "Закрыть", - "cancel": "Отмена", - "login": "Войти", - "logout": "Выйти", - "go-to-the-home-page": "Перейдите на главную страницу", - "learn-more": "Изучайте больше", - "fund-this-package": "<0>Поддержать этот пакет" - }, - "error": { - "unspecific": "Что-то пошло не так.", - "404": { - "page-not-found": "404 - Страница не найдена", - "sorry-we-could-not-find-it": "К сожалению, мы не смогли его найти ..." - }, - "app-context-not-correct-used": "Контекст программы использовался не правильно", - "theme-context-not-correct-used": "Контекст темы использовано неправильно", - "package-meta-is-required-at-detail-context": "packageMeta требуется в DetailContext" - }, - "lng": { - "english": "Английский", - "czech": "Чешский", - "japanese": "Японский", - "portuguese": "Португальский", - "spanish": "Испанский", - "german": "Немецкий", - "russian": "Русский", - "chinese": "Китайский", - "chineseTraditional": "Китайский (Традиционный)", - "french": "Французский", - "turkish": "турецкий", - "ukraine": "Украинский", - "khmer": "Кхмерский" - }, - "flag": { - "austria": "Австрия", - "brazil": "Бразилия", - "spain": "Испания", - "nicaragua": "Никарагуа", - "india": "Индия", - "china": "Китай", - "germany": "Германия", - "taiwan": "Тайвань" - } -} diff --git a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/tr-TR.json b/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/tr-TR.json deleted file mode 100644 index adc2b4ea2..000000000 --- a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/tr-TR.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "copy-to-clipboard": "Panoya kopyala", - "author-anonymous": "Anonim", - "author-unknown": "Bilinmeyen", - "action-bar-action": { - "visit-home-page": "Ana sayfayı ziyaret et", - "open-an-issue": "Sorunları aç", - "download-tarball": "Arşivi indir" - }, - "dialog": { - "registry-info": { - "title": "Kayıt Bilgisi" - } - }, - "header": { - "documentation": "Dokümantasyon", - "registry-info": "Kayıt Bilgileri", - "greetings": "Merhaba " - }, - "search": { - "packages": "Paket Ara" - }, - "autoComplete": { - "loading": "Yükleniyor...", - "no-results-found": "Sonuç bulunamadı", - "clear": "Temizle", - "expand": "Genişlet", - "collapse": "Dök" - }, - "tab": { - "uplinks": "Bağlantılar", - "versions": "Sürümler", - "dependencies": "Bağımlılıklar", - "readme": "Beni Oku" - }, - "uplinks": { - "title": "Bağlantılar", - "no-items": "{{name}} bağlantısı yok" - }, - "versions": { - "current-tags": "Mevcut Etiketler", - "version-history": "Sürüm Tarihçesi", - "not-available": "Mevcut değil" - }, - "package": { - "published-on": "{{time}}'de yayınlandı •", - "version": "v{{version}}", - "visit-home-page": "Ana sayfayı ziyaret et", - "homepage": "Ana sayfa", - "open-an-issue": "Sorunları aç", - "bugs": "Hatalar", - "download": "İndir {{what}}", - "the-tar-file": "arşiv dosyası", - "tarball": "Arşiv" - }, - "dependencies": { - "has-no-dependencies": "{{package}} bağımlılığı yok.", - "dependency-block": "{{package}}@{{version}}" - }, - "form": { - "username": "Kullanıcı Adı", - "password": "Parola" - }, - "form-placeholder": { - "username": "Kullanıcı adınız", - "password": "Parolanız" - }, - "form-validation": { - "required-field": "Bu alan gereklidir", - "required-min-length": "Bu alan en az {{length}} karakter uzunluğunda olmalıdır", - "unable-to-sign-in": "Oturum açılamıyor", - "username-or-password-cant-be-empty": "Kullanıcı adı veya parola boş olamaz!" - }, - "help": { - "title": "Henüz Paket Yayınlanmadı.", - "sub-title": "İlk paketinizi yayınlamak için:", - "first-step": "1. Giriş", - "first-step-command-line": "npm adduser --registry {{registryUrl}}", - "second-step": "2. Yayınla", - "second-step-command-line": "npm publish --registry {{registryUrl}}", - "third-step": "3. Sayfayı yenile." - }, - "sidebar": { - "detail": { - "latest-version": "En son sürüm v{{version}}", - "version": "v{{version}}" - }, - "installation": { - "title": "Kurulum", - "install-using-yarn": "Yarn kullanarak kurulum", - "install-using-yarn-command": "yarn add {{packageName}}", - "install-using-npm": "NPM kullanarak kurulum", - "install-using-npm-command": "npm install {{packageName}}", - "install-using-pnpm": "pnpm kullanarak kurulum", - "install-using-pnpm-command": "pnpm install {{packageName}}" - }, - "repository": { - "title": "Depo" - }, - "author": { - "title": "Yazar" - }, - "distribution": { - "title": "Son Dağıtım", - "license": "Lisans", - "size": "Boyut", - "file-count": "Dosya adedi" - }, - "maintainers": { - "title": "Bakımcılar" - }, - "contributors": { - "title": "Katkıda bulunanlar" - }, - "engines": { - "npm-version": "NPM Sürümü", - "node-js": "NODE JS" - } - }, - "footer": { - "powered-by": "Destekleyen", - "made-with-love-on": "<0>♥ ile yapılmıştır" - }, - "button": { - "close": "Kapat", - "cancel": "İptal", - "login": "Giriş", - "logout": "Çıkış", - "go-to-the-home-page": "Ana sayfaya git", - "learn-more": "Daha Fazlasını Öğren", - "fund-this-package": "Bu paketi <0>fonla" - }, - "error": { - "unspecific": "Bir şeyler ters gitti.", - "404": { - "page-not-found": "404 - Sayfa bulunamadı", - "sorry-we-could-not-find-it": "Üzgünüz, bunu bulamadık..." - }, - "app-context-not-correct-used": "Uygulama kapsamı doğru kullanılmadı", - "theme-context-not-correct-used": "Tema kapsamı doğru kullanılmadı", - "package-meta-is-required-at-detail-context": "DetailContext için packageMeta gereklidir" - }, - "lng": { - "english": "İngilizce", - "czech": "Çekçe", - "japanese": "Japonca", - "portuguese": "Portekizce", - "spanish": "İspanyolca", - "german": "Almanca", - "chinese": "Çince", - "chineseTraditional": "Çince (Geleneksel)", - "french": "Fransızca", - "russian": "Rusça", - "turkish": "Türkçe", - "ukraine": "Ukraynaca", - "khmer": "Kmerce" - }, - "flag": { - "austria": "Avusturya", - "brazil": "Brezilya", - "spain": "Ispanya", - "nicaragua": "Nikaragua", - "india": "Hindistan", - "china": "Çin", - "germany": "Almanya", - "taiwan": "Tayvan" - } -} diff --git a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/uk-UA.json b/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/uk-UA.json deleted file mode 100644 index 1fb588e3c..000000000 --- a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/uk-UA.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "copy-to-clipboard": "Копіювати в буфер обміну", - "author-anonymous": "Анонімний", - "author-unknown": "невідомо", - "action-bar-action": { - "visit-home-page": "Відвідати домашню сторінку", - "open-an-issue": "Відкрити питання, проблему, ...", - "download-tarball": "Завантажити архів" - }, - "dialog": { - "registry-info": { - "title": "Інформація про реєстр" - } - }, - "header": { - "documentation": "Документація", - "registry-info": "Інформація про реєстр", - "greetings": "Привіт " - }, - "search": { - "packages": "Пошук пакетів" - }, - "autoComplete": { - "loading": "Завантаження...", - "no-results-found": "Нічого не знайдено", - "clear": "Чистити", - "expand": "Розгорнути", - "collapse": "Відкликати" - }, - "tab": { - "uplinks": "Публікації", - "versions": "Версії", - "dependencies": "Залежності", - "readme": "Опис" - }, - "uplinks": { - "title": "Публікації", - "no-items": "{{name}} не опубліковано." - }, - "versions": { - "current-tags": "Поточні теги", - "version-history": "Історія версій", - "not-available": "Недоступний" - }, - "package": { - "published-on": "Опубліковано {{time}} •", - "version": "v{{version}}", - "visit-home-page": "Відвідати домашню сторінку", - "homepage": "Домашня сторінка", - "open-an-issue": "Відкрити питання, проблему, ...", - "bugs": "Помилки", - "download": "Завантажити {{what}}", - "the-tar-file": "файл tar", - "tarball": "Завантажити" - }, - "dependencies": { - "has-no-dependencies": "{{package}} не має залежностей.", - "dependency-block": "{{package}}@{{version}}" - }, - "form": { - "username": "Ім'я користувача", - "password": "Пароль" - }, - "form-placeholder": { - "username": "Ваше ім'я користувача", - "password": "Ваш надійний пароль" - }, - "form-validation": { - "required-field": "Це поле є обов'язковим", - "required-min-length": "Для цього поля потрібна мінімальна довжина {{length}}", - "unable-to-sign-in": "Неможливо ввійти", - "username-or-password-cant-be-empty": "Ім'я користувача або пароль не можуть бути порожніми !" - }, - "help": { - "title": "Пакети ще не опубліковані", - "sub-title": "Опублікувати свій перший пакет просто:", - "first-step": "1. Підключіться", - "first-step-command-line": "npm adduser --registry {{registryUrl}}", - "second-step": "2. Опублікуйте", - "second-step-command-line": "npm publish --registry {{registryUrl}}", - "third-step": "3. Оновіть цю сторінку." - }, - "sidebar": { - "detail": { - "latest-version": "Остання версія v{{version}}", - "version": "v{{version}}" - }, - "installation": { - "title": "Встановлення", - "install-using-yarn": "Встановлення за допомогою yarn", - "install-using-yarn-command": "yarn add {{packageName}}", - "install-using-npm": "Встановлення за допомогою npm", - "install-using-npm-command": "npm install {{packageName}}", - "install-using-pnpm": "Встановлення за допомогою pnpm", - "install-using-pnpm-command": "pnpm install {{packageName}}" - }, - "repository": { - "title": "Сховище" - }, - "author": { - "title": "Автор" - }, - "distribution": { - "title": "Умови поширення", - "license": "Ліцензія", - "size": "Розмір", - "file-count": "кількість файлів" - }, - "maintainers": { - "title": "Технічне супроводження" - }, - "contributors": { - "title": "Автори" - }, - "engines": { - "npm-version": "NPM версія", - "node-js": "NODE JS" - } - }, - "footer": { - "powered-by": "Працює на", - "made-with-love-on": "Зроблено з <0> ♥ на" - }, - "button": { - "close": "Закрити", - "cancel": "Скасувати", - "login": "Вхід", - "logout": "Вийти", - "go-to-the-home-page": "Перейдіть на головну сторінку", - "learn-more": "Вивчайте більше", - "fund-this-package": "<0>Фінансувати цей пакет" - }, - "error": { - "unspecific": "Щось пішло не так.", - "404": { - "page-not-found": "404 - Сторінку не знайдено", - "sorry-we-could-not-find-it": "На жаль, ми не змогли його знайти ..." - }, - "app-context-not-correct-used": "Контекст програми не використовувався правильно", - "theme-context-not-correct-used": "Контекст теми використано неправильно", - "package-meta-is-required-at-detail-context": "packageMeta is required at DetailContext" - }, - "lng": { - "english": "Англійська", - "czech": "Чеська", - "japanese": "Японська", - "portuguese": "Португальська", - "spanish": "Іспанська", - "german": "Німецька", - "chinese": "Китайська", - "chineseTraditional": "Китайці (Традиційні)", - "french": "Французька", - "russian": "Російська", - "turkish": "Турецька", - "ukraine": "Українська", - "khmer": "Khmer" - }, - "flag": { - "austria": "Австрія", - "brazil": "Бразилія", - "spain": "Іспанія", - "nicaragua": "Нікарагуа", - "india": "Індія", - "china": "Китай", - "germany": "Німеччина", - "taiwan": "Тайвань" - } -} diff --git a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/zh-CN.json b/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/zh-CN.json deleted file mode 100644 index a5bd2144a..000000000 --- a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/zh-CN.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "copy-to-clipboard": "复制到粘贴板", - "author-anonymous": "匿名", - "author-unknown": "未知", - "action-bar-action": { - "visit-home-page": "访问主页", - "open-an-issue": "提交问题", - "download-tarball": "下载压缩包" - }, - "dialog": { - "registry-info": { - "title": "注册信息" - } - }, - "header": { - "documentation": "文档", - "registry-info": "登记信息", - "greetings": "您好 " - }, - "search": { - "packages": "查找Packages" - }, - "autoComplete": { - "loading": "加载中...", - "no-results-found": "没有找到结果", - "clear": "清除", - "expand": "展开", - "collapse": "收回" - }, - "tab": { - "uplinks": "Uplinks", - "versions": "版本", - "dependencies": "依赖", - "readme": "Readme" - }, - "uplinks": { - "title": "Uplinks", - "no-items": "{{name}} 没有 uplinks." - }, - "versions": { - "current-tags": "当前标签", - "version-history": "历史版本", - "not-available": "不可用" - }, - "package": { - "published-on": "发布于 {{time}} •", - "version": "v{{version}}", - "visit-home-page": "访问主页", - "homepage": "主页", - "open-an-issue": "提交问题", - "bugs": "Bugs", - "download": "下载 {{what}}", - "the-tar-file": "tar 文件", - "tarball": "压缩包" - }, - "dependencies": { - "has-no-dependencies": "{{package}} 没有依赖包.", - "dependency-block": "{{package}}@{{version}}" - }, - "form": { - "username": "用户名", - "password": "密码" - }, - "form-placeholder": { - "username": "您的用户名", - "password": "您的密码" - }, - "form-validation": { - "required-field": "必填项", - "required-min-length": "长度不能小于 {{length}}", - "unable-to-sign-in": "登录失败", - "username-or-password-cant-be-empty": "用户名或密码不能为空!" - }, - "help": { - "title": "还没有发布任何 NPM 包.", - "sub-title": "发布第一个 NPM 包:", - "first-step": "1. 登录", - "first-step-command-line": "npm adduser --registry {{registryUrl}}", - "second-step": "2. 发布", - "second-step-command-line": "npm publish --registry {{registryUrl}}", - "third-step": "3. 刷新当前页面." - }, - "sidebar": { - "detail": { - "latest-version": "最新版本 v{{version}}", - "version": "v{{version}}" - }, - "installation": { - "title": "安装", - "install-using-yarn": "使用 yarn 安装", - "install-using-yarn-command": "yarn add {{packageName}}", - "install-using-npm": "使用 npm 安装", - "install-using-npm-command": "npm install {{packageName}}", - "install-using-pnpm": "使用 pnpm 安装", - "install-using-pnpm-command": "pnpm install {{packageName}}" - }, - "repository": { - "title": "仓库" - }, - "author": { - "title": "作者" - }, - "distribution": { - "title": "发布信息", - "license": "许可", - "size": "大小", - "file-count": "文件数量" - }, - "maintainers": { - "title": "维护人" - }, - "contributors": { - "title": "贡献者" - }, - "engines": { - "npm-version": "NPM 版本", - "node-js": "NODE JS" - } - }, - "footer": { - "powered-by": "Powered by", - "made-with-love-on": "Made with <0>♥ on" - }, - "button": { - "close": "关闭", - "cancel": "取消", - "login": "登录", - "logout": "注销", - "go-to-the-home-page": "跳转到主页", - "learn-more": "了解更多", - "fund-this-package": "<0>捐助这个 package" - }, - "error": { - "unspecific": "发生了一些错误", - "404": { - "page-not-found": "404 - 页面不存在", - "sorry-we-could-not-find-it": "对不起, 我们没有找到..." - }, - "app-context-not-correct-used": "app context 没有被正确使用", - "theme-context-not-correct-used": "theme context 没有被正确使用", - "package-meta-is-required-at-detail-context": "packageMeta 在 DetailContext 上是必需的" - }, - "lng": { - "english": "英语", - "czech": "捷克語", - "japanese": "日语", - "portuguese": "葡萄牙语", - "spanish": "西班牙语", - "german": "德语", - "chinese": "中文", - "chineseTraditional": "正体中文", - "french": "法语", - "russian": "俄语", - "turkish": "土耳其", - "ukraine": "乌克兰", - "khmer": "高棉语" - }, - "flag": { - "austria": "奥地利", - "brazil": "巴西", - "spain": "西班牙", - "nicaragua": "尼加拉瓜", - "india": "印度", - "china": "中国", - "germany": "德国", - "taiwan": "台湾" - } -} diff --git a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/zh-TW.json b/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/zh-TW.json deleted file mode 100644 index af541b419..000000000 --- a/packages/plugins/ui-theme/src/i18n/deprecated_translations_dont_use/zh-TW.json +++ /dev/null @@ -1,165 +0,0 @@ -{ - "copy-to-clipboard": "複製到剪貼簿", - "author-anonymous": "匿名", - "author-unknown": "未知", - "action-bar-action": { - "visit-home-page": "瀏覽首頁", - "open-an-issue": "提交問題", - "download-tarball": "下載 tarball" - }, - "dialog": { - "registry-info": { - "title": "註冊資訊" - } - }, - "header": { - "documentation": "文件", - "registry-info": "註冊資訊", - "greetings": "你好 " - }, - "search": { - "packages": "搜尋套件" - }, - "auto-complete": { - "loading": "載入中...", - "no-results-found": "無結果" - }, - "tab": { - "uplinks": "Uplinks", - "versions": "版本", - "dependencies": "相依", - "readme": "Readme" - }, - "uplinks": { - "title": "Uplinks", - "no-items": "{{name}} has no uplinks." - }, - "versions": { - "current-tags": "當前標籤", - "version-history": "歷史版本", - "not-available": "無法取得" - }, - "package": { - "published-on": "發布於 {{time}} •", - "version": "v{{version}}", - "visit-home-page": "瀏覽首頁", - "homepage": "首頁", - "open-an-issue": "提交問題", - "bugs": "Bugs", - "download": "下载 {{what}}", - "the-tar-file": "tar 檔案", - "tarball": "Tarball" - }, - "dependencies": { - "has-no-dependencies": "{{package}} 沒有相依套件.", - "dependency-block": "{{package}}@{{version}}" - }, - "form": { - "username": "使用者名稱", - "password": "密碼" - }, - "form-placeholder": { - "username": "你的使用者名稱", - "password": "你的密碼" - }, - "form-validation": { - "required-field": "必填欄位", - "required-min-length": "長度不可短於 {{length}}", - "unable-to-sign-in": "無法登入", - "username-or-password-cant-be-empty": "使用者名稱或密碼不可空白!" - }, - "help": { - "title": "尚未發布任何 NPM 套件.", - "sub-title": "發布第一個 NPM 套件:", - "first-step": "1. 登入", - "first-step-command-line": "npm adduser --registry {{registryUrl}}", - "second-step": "2. 發布", - "second-step-command-line": "npm publish --registry {{registryUrl}}", - "third-step": "3. 重新整理頁面。" - }, - "sidebar": { - "detail": { - "latest-version": "最新版本 v{{version}}", - "version": "v{{version}}" - }, - "installation": { - "title": "安装", - "install-using-yarn": "使用 yarn 安装", - "install-using-yarn-command": "yarn add {{packageName}}", - "install-using-npm": "使用 npm 安装", - "install-using-npm-command": "npm install {{packageName}}", - "install-using-pnpm": "使用 pnpm 安装", - "install-using-pnpm-command": "pnpm install {{packageName}}" - }, - "repository": { - "title": "儲存庫" - }, - "author": { - "title": "作者" - }, - "distribution": { - "title": "發布資訊", - "license": "許可", - "size": "大小", - "file-count": "檔案數量" - }, - "maintainers": { - "title": "維護人員" - }, - "contributors": { - "title": "貢獻人員" - }, - "engines": { - "npm-version": "NPM 版本", - "node-js": "NODE JS" - } - }, - "footer": { - "powered-by": "Powered by", - "made-with-love-on": "Made with <0>♥ on" - }, - "button": { - "close": "關閉", - "cancel": "取消", - "login": "登入", - "logout": "登出", - "go-to-the-home-page": "前往首頁", - "learn-more": "了解更多", - "fund-this-package": "<0>Fund this package" - }, - "error": { - "unspecific": "發生錯誤。", - "404": { - "page-not-found": "404 - 頁面不存在", - "sorry-we-could-not-find-it": "不好意思, 找不到..." - }, - "app-context-not-correct-used": "app context 没有被正確使用", - "theme-context-not-correct-used": "theme context 没有被正確使用", - "package-meta-is-required-at-detail-context": "packageMeta is required at DetailContext" - }, - "lng": { - "english": "英文", - "czech": "捷克文", - "japanese": "日文", - "portuguese": "葡萄牙文", - "spanish": "西班牙文", - "german": "德文", - "chinese": "簡體中文", - "chineseTraditional": "正體中文", - "french": "法文", - "russian": "俄文", - "turkish": "土耳其", - "ukraine": "烏克蘭文", - "khmer": "高棉文" - }, - "flag": { - "austria": "奧地利", - "brazil": "巴西", - "spain": "西班牙", - "nicaragua": "尼加拉瓜", - "india": "印度", - "china": "中國 ", - "germany": "德國", - "taiwan": "台灣" - } -} diff --git a/packages/plugins/ui-theme/src/store/models/login.ts b/packages/plugins/ui-theme/src/store/models/login.ts index e06eb2c15..e308be6e9 100644 --- a/packages/plugins/ui-theme/src/store/models/login.ts +++ b/packages/plugins/ui-theme/src/store/models/login.ts @@ -72,13 +72,17 @@ export const login = createModel()({ async getUser({ username, password }, state) { const basePath = state.configuration.config.base; try { - const payload: LoginResponse = await API.request(`${basePath}-/verdaccio/login`, 'POST', { - body: JSON.stringify({ username, password }), - headers: { - Accept: HEADERS.JSON, - 'Content-Type': HEADERS.JSON, - }, - }); + const payload: LoginResponse = await API.request( + `${basePath}-/verdaccio/sec/login`, + 'POST', + { + body: JSON.stringify({ username, password }), + headers: { + Accept: HEADERS.JSON, + 'Content-Type': HEADERS.JSON, + }, + } + ); dispatch.login.logInUser(payload); dispatch.packages.getPackages(); } catch (error: any) { diff --git a/packages/plugins/ui-theme/src/store/models/manifest.ts b/packages/plugins/ui-theme/src/store/models/manifest.ts index a24036023..dfd771eb2 100644 --- a/packages/plugins/ui-theme/src/store/models/manifest.ts +++ b/packages/plugins/ui-theme/src/store/models/manifest.ts @@ -72,12 +72,12 @@ export const manifest = createModel()({ } const manifest: Package = await API.request( - `${basePath}-/verdaccio/sidebar/${packageName}${ + `${basePath}-/verdaccio/data/sidebar/${packageName}${ packageVersion ? `?v=${packageVersion}` : '' }` ); const readme: string = await API.request( - `${basePath}-/verdaccio/package/readme/${packageName}${ + `${basePath}-/verdaccio/data/package/readme/${packageName}${ packageVersion ? `?v=${packageVersion}` : '' }`, 'GET' diff --git a/packages/plugins/ui-theme/src/store/models/packages.ts b/packages/plugins/ui-theme/src/store/models/packages.ts index 529a8b07c..1f0ce764d 100644 --- a/packages/plugins/ui-theme/src/store/models/packages.ts +++ b/packages/plugins/ui-theme/src/store/models/packages.ts @@ -21,7 +21,7 @@ export const packages = createModel()({ async getPackages(_payload, state) { const basePath = state.configuration.config.base; try { - const payload: Package[] = await API.request(`${basePath}-/verdaccio/packages`, 'GET'); + const payload: Package[] = await API.request(`${basePath}-/verdaccio/data/packages`, 'GET'); dispatch.packages.savePackages(payload); } catch (error: any) { // eslint-disable-next-line no-console diff --git a/packages/plugins/ui-theme/src/store/models/search.ts b/packages/plugins/ui-theme/src/store/models/search.ts index 2e84b1891..055445e40 100644 --- a/packages/plugins/ui-theme/src/store/models/search.ts +++ b/packages/plugins/ui-theme/src/store/models/search.ts @@ -60,7 +60,7 @@ export const search = createModel()({ // https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API#Browser_compatibility // FUTURE: signal is not well supported for IE and Samsung Browser const suggestions: SearchResultWeb[] = await API.request( - `${basePath}-/verdaccio/search/${encodeURIComponent(value)}`, + `${basePath}-/verdaccio/data/search/${encodeURIComponent(value)}`, 'GET', { signal, diff --git a/packages/server/test/web/index.spec.ts b/packages/server/test/web/index.spec.ts index 582c5faa6..668c1ea06 100644 --- a/packages/server/test/web/index.spec.ts +++ b/packages/server/test/web/index.spec.ts @@ -63,7 +63,7 @@ describe('endpoint web unit test', () => { test('should display sidebar info', () => { return new Promise((resolve) => { request(app) - .get('/-/verdaccio/sidebar/@scope/pk1-test') + .get('/-/verdaccio/data/sidebar/@scope/pk1-test') .expect(HTTP_STATUS.OK) .expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_CHARSET) .end(function (err, res) { @@ -85,7 +85,7 @@ describe('endpoint web unit test', () => { test('should display sidebar info by version', () => { return new Promise((resolve) => { request(app) - .get('/-/verdaccio/sidebar/@scope/pk1-test?v=1.0.6') + .get('/-/verdaccio/data/sidebar/@scope/pk1-test?v=1.0.6') .expect(HTTP_STATUS.OK) .expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_CHARSET) .end(function (err, res) { @@ -104,7 +104,7 @@ describe('endpoint web unit test', () => { test('should display sidebar info 404', () => { return new Promise((resolve) => { request(app) - .get('/-/verdaccio/sidebar/@scope/404') + .get('/-/verdaccio/data/sidebar/@scope/404') .expect(HTTP_STATUS.NOT_FOUND) .expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_CHARSET) .end(function () { @@ -116,7 +116,7 @@ describe('endpoint web unit test', () => { test('should display sidebar info 404 with version', () => { return new Promise((resolve) => { request(app) - .get('/-/verdaccio/sidebar/@scope/pk1-test?v=0.0.0-not-found') + .get('/-/verdaccio/data/sidebar/@scope/pk1-test?v=0.0.0-not-found') .expect(HTTP_STATUS.NOT_FOUND) .expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_CHARSET) .end(function () { @@ -130,7 +130,7 @@ describe('endpoint web unit test', () => { test('should find @scope/pk1-test', () => { return new Promise((resolve) => { request(app) - .get('/-/verdaccio/search/@scope%2fpk1-test') + .get('/-/verdaccio/data/search/@scope%2fpk1-test') .expect(HTTP_STATUS.OK) .end(function (_err, res) { expect(res.body).toHaveLength(1); @@ -142,7 +142,7 @@ describe('endpoint web unit test', () => { test('should not find forbidden-place', () => { return new Promise((resolve) => { request(app) - .get('/-/verdaccio/search/forbidden-place') + .get('/-/verdaccio/data/search/forbidden-place') .expect(HTTP_STATUS.OK) .end(function (err, res) { // this is expected since we are not logged diff --git a/packages/verdaccio/test/functional/readme/readme.ts b/packages/verdaccio/test/functional/readme/readme.ts index 6ed8807b2..d8b01be4c 100644 --- a/packages/verdaccio/test/functional/readme/readme.ts +++ b/packages/verdaccio/test/functional/readme/readme.ts @@ -21,7 +21,7 @@ export default function (server, server2) { const matchReadme = (serverRef, pkgName = README_PKG1, readmeMessage = README_MESSAGE) => { return serverRef .request({ - uri: `/-/verdaccio/package/readme/${pkgName}`, + uri: `/-/verdaccio/data/package/readme/${pkgName}`, }) .status(HTTP_STATUS.OK) .then(function (body) { diff --git a/packages/web/src/api/index.ts b/packages/web/src/api/index.ts new file mode 100644 index 000000000..c3927896e --- /dev/null +++ b/packages/web/src/api/index.ts @@ -0,0 +1,20 @@ +import { Router } from 'express'; + +import { hasLogin } from '../utils/web-utils'; +import packageApi from './package'; +import readme from './readme'; +import search from './search'; +import sidebar from './sidebar'; +import user from './user'; + +export default (auth, storage, config) => { + const route = Router(); /* eslint new-cap: 0 */ + route.use('/data/', packageApi(storage, auth, config)); + route.use('/data/', search(storage, auth)); + route.use('/data/', sidebar(config, storage, auth)); + route.use('/data/', readme(storage, auth)); + if (hasLogin(config)) { + route.use('/sec/', user(auth, config)); + } + return route; +}; diff --git a/packages/web/src/api/package.ts b/packages/web/src/api/package.ts index 6ffebc58f..36a17511b 100644 --- a/packages/web/src/api/package.ts +++ b/packages/web/src/api/package.ts @@ -22,8 +22,9 @@ export type PackageExt = Package & { author: AuthorAvatar; dist?: { tarball: str const debug = buildDebug('verdaccio:web:api:package'); -function addPackageWebApi(route: Router, storage: Storage, auth: IAuth, config: Config): void { +function addPackageWebApi(storage: Storage, auth: IAuth, config: Config): Router { const isLoginEnabled = config?.web?.login === true ?? true; + const pkgRouter = Router(); /* eslint new-cap: 0 */ // eslint-disable-next-line @typescript-eslint/no-unused-vars const anonymousRemoteUser: RemoteUser = { name: undefined, @@ -50,7 +51,7 @@ function addPackageWebApi(route: Router, storage: Storage, auth: IAuth, config: }); // Get list of all visible package - route.get( + pkgRouter.get( '/packages', function (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer): void { debug('hit package web api %o'); @@ -109,6 +110,7 @@ function addPackageWebApi(route: Router, storage: Storage, auth: IAuth, config: }); } ); + return pkgRouter; } export default addPackageWebApi; diff --git a/packages/web/src/api/readme.ts b/packages/web/src/api/readme.ts index 0c73611ae..2a95c4fae 100644 --- a/packages/web/src/api/readme.ts +++ b/packages/web/src/api/readme.ts @@ -18,11 +18,12 @@ const debug = buildDebug('verdaccio:web:api:readme'); export const NOT_README_FOUND = 'ERROR: No README data found!'; -function addReadmeWebApi(route: Router, storage: Storage, auth: IAuth): void { +function addReadmeWebApi(storage: Storage, auth: IAuth): Router { debug('initialized readme web api'); const can = allow(auth); + const pkgRouter = Router(); /* eslint new-cap: 0 */ - route.get( + pkgRouter.get( '/package/readme/(@:scope/)?:package/:version?', can('access'), function (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer): void { @@ -53,6 +54,7 @@ function addReadmeWebApi(route: Router, storage: Storage, auth: IAuth): void { }); } ); + return pkgRouter; } export default addReadmeWebApi; diff --git a/packages/web/src/api/search.ts b/packages/web/src/api/search.ts index 9a1a57cc1..215eb3f91 100644 --- a/packages/web/src/api/search.ts +++ b/packages/web/src/api/search.ts @@ -11,7 +11,8 @@ import { $NextFunctionVer, $RequestExtend, $ResponseExtend } from './package'; const debug = buildDebug('verdaccio:web:api:search'); -function addSearchWebApi(route: Router, storage: Storage, auth: IAuth): void { +function addSearchWebApi(storage: Storage, auth: IAuth): Router { + const router = Router(); /* eslint new-cap: 0 */ const getPackageInfo = async function (name, remoteUser): Promise { return new Promise((resolve, reject) => { debug('searching for %o', name); @@ -49,7 +50,7 @@ function addSearchWebApi(route: Router, storage: Storage, auth: IAuth): void { }); }; - route.get( + router.get( '/search/:anything', async function ( req: $RequestExtend, @@ -75,6 +76,7 @@ function addSearchWebApi(route: Router, storage: Storage, auth: IAuth): void { } } ); + return router; } export default addSearchWebApi; diff --git a/packages/web/src/api/sidebar.ts b/packages/web/src/api/sidebar.ts index d711cf76b..cc7dcc1b6 100644 --- a/packages/web/src/api/sidebar.ts +++ b/packages/web/src/api/sidebar.ts @@ -19,11 +19,12 @@ export type PackageExt = Package & { author: AuthorAvatar; dist?: { tarball: str export type $SidebarPackage = Package & { latest: Version }; const debug = buildDebug('verdaccio:web:api:sidebar'); -function addSidebarWebApi(route: Router, config: Config, storage: Storage, auth: IAuth): void { +function addSidebarWebApi(config: Config, storage: Storage, auth: IAuth): Router { debug('initialized sidebar web api'); + const router = Router(); /* eslint new-cap: 0 */ const can = allow(auth); // Get package readme - route.get( + router.get( '/sidebar/(@:scope/)?:package', can('access'), function (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer): void { @@ -65,6 +66,8 @@ function addSidebarWebApi(route: Router, config: Config, storage: Storage, auth: }); } ); + + return router; } export default addSidebarWebApi; diff --git a/packages/web/src/api/user.ts b/packages/web/src/api/user.ts index 0f45f0e48..6d799379b 100644 --- a/packages/web/src/api/user.ts +++ b/packages/web/src/api/user.ts @@ -11,7 +11,8 @@ import { $NextFunctionVer } from './package'; const debug = buildDebug('verdaccio:web:api:user'); -function addUserAuthApi(route: Router, auth: IAuth, config: Config): void { +function addUserAuthApi(auth: IAuth, config: Config): Router { + const route = Router(); /* eslint new-cap: 0 */ route.post('/login', function (req: Request, res: Response, next: $NextFunctionVer): void { const { username, password } = req.body; debug('authenticate %o', username); @@ -68,6 +69,8 @@ function addUserAuthApi(route: Router, auth: IAuth, config: Config): void { } ); } + + return route; } export default addUserAuthApi; diff --git a/packages/web/src/middleware/web-api.ts b/packages/web/src/middleware/web-api.ts index 45eb1a0cf..d5adc5ad6 100644 --- a/packages/web/src/middleware/web-api.ts +++ b/packages/web/src/middleware/web-api.ts @@ -7,40 +7,22 @@ import { SearchInstance } from '@verdaccio/store'; import { Storage } from '@verdaccio/store'; import { Config } from '@verdaccio/types'; -import addPackageWebApi from '../api/package'; -import addReadmeWebApi from '../api/readme'; -import addSearchWebApi from '../api/search'; -import addSidebarWebApi from '../api/sidebar'; -import addUserAuthApi from '../api/user'; -import { hasLogin } from '../utils/web-utils'; +import webEndpointsApi from '../api'; import { setSecurityWebHeaders } from './security'; export function webAPI(config: Config, auth: IAuth, storage: Storage): Router { // eslint-disable-next-line new-cap const route = Router(); SearchInstance.configureStorage(storage); - // validate all of these params as a package name // this might be too harsh, so ask if it causes trouble= route.param('package', validatePackage); route.param('filename', validateName); route.param('version', validateName); route.param('anything', match(/.*/)); - route.use(bodyParser.urlencoded({ extended: false })); route.use(auth.webUIJWTmiddleware()); route.use(setSecurityWebHeaders); - - addPackageWebApi(route, storage, auth, config); - addReadmeWebApi(route, storage, auth); - addSidebarWebApi(route, config, storage, auth); - addSearchWebApi(route, storage, auth); - if (hasLogin(config)) { - addUserAuthApi(route, auth, config); - } - // What are you looking for? logout? client side will remove token when user click logout, - // or it will auto expire after 24 hours. - // This token is different with the token send to npm client. - // With JWT you will be able to setup expire tokens. + route.use(webEndpointsApi(auth, storage, config)); return route; } diff --git a/packages/web/test/api.packages.test.ts b/packages/web/test/api.packages.test.ts index 7576177ee..d3824371a 100644 --- a/packages/web/test/api.packages.test.ts +++ b/packages/web/test/api.packages.test.ts @@ -26,7 +26,7 @@ describe('test web server', () => { manifest: require('./partials/manifest/manifest.json'), })); const response = await supertest(await initializeServer('default-test.yaml')) - .get('/-/verdaccio/packages') + .get('/-/verdaccio/data/packages') .set('Accept', HEADERS.JSON_CHARSET) .expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_CHARSET) .expect(HTTP_STATUS.OK); diff --git a/packages/web/test/api.readme.test.ts b/packages/web/test/api.readme.test.ts index 6c7b1a58c..a3ff0de5b 100644 --- a/packages/web/test/api.readme.test.ts +++ b/packages/web/test/api.readme.test.ts @@ -55,7 +55,7 @@ describe('readme api', () => { test('should fetch readme scoped package', async () => { const response = await supertest(await initializeServer('default-test.yaml')) - .get('/-/verdaccio/package/readme/@scope/pk1-test') + .get('/-/verdaccio/data/package/readme/@scope/pk1-test') .set('Accept', HEADERS.TEXT_PLAIN) .expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.TEXT_PLAIN_UTF8) .expect(HTTP_STATUS.OK); @@ -64,7 +64,7 @@ describe('readme api', () => { test('should fetch readme a package', async () => { const response = await supertest(await initializeServer('default-test.yaml')) - .get('/-/verdaccio/package/readme/pk1-test') + .get('/-/verdaccio/data/package/readme/pk1-test') .set('Accept', HEADERS.TEXT_PLAIN) .expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.TEXT_PLAIN_UTF8) .expect(HTTP_STATUS.OK); diff --git a/packages/web/test/api.search.test.ts b/packages/web/test/api.search.test.ts index 8bc433ef7..350dd926c 100644 --- a/packages/web/test/api.search.test.ts +++ b/packages/web/test/api.search.test.ts @@ -59,7 +59,7 @@ describe('test web server', () => { test('should OK to search api', async () => { const response = await supertest(await initializeServer('default-test.yaml')) - .get('/-/verdaccio/search/keyword') + .get('/-/verdaccio/data/search/keyword') .set('Accept', HEADERS.JSON_CHARSET) .expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_CHARSET) .expect(HTTP_STATUS.OK); @@ -69,7 +69,7 @@ describe('test web server', () => { test('should 404 to search api', async () => { mockQuery.mockReturnValue([]); const response = await supertest(await initializeServer('default-test.yaml')) - .get('/-/verdaccio/search/notFound') + .get('/-/verdaccio/data/search/notFound') .set('Accept', HEADERS.JSON_CHARSET) .expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_CHARSET) .expect(HTTP_STATUS.OK); @@ -85,7 +85,7 @@ describe('test web server', () => { ]; }); const response = await supertest(await initializeServer('default-test.yaml')) - .get('/-/verdaccio/search/notFound') + .get('/-/verdaccio/data/search/notFound') .set('Accept', HEADERS.JSON_CHARSET) .expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_CHARSET) .expect(HTTP_STATUS.OK); diff --git a/packages/web/test/api.sidebar.test.ts b/packages/web/test/api.sidebar.test.ts index fc62825f9..7a0b5d403 100644 --- a/packages/web/test/api.sidebar.test.ts +++ b/packages/web/test/api.sidebar.test.ts @@ -55,7 +55,7 @@ describe.skip('sidebar api', () => { manifest: require('./partials/manifest/manifest.json'), }); const response = await supertest(await initializeServer('default-test.yaml')) - .get('/-/verdaccio/sidebar/@scope/pk1-test') + .get('/-/verdaccio/data/sidebar/@scope/pk1-test') .set('Accept', HEADERS.TEXT_PLAIN) .expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_CHARSET) .expect(HTTP_STATUS.OK); diff --git a/packages/web/test/api.user.test.ts b/packages/web/test/api.user.test.ts index ae209ae01..e261bb735 100644 --- a/packages/web/test/api.user.test.ts +++ b/packages/web/test/api.user.test.ts @@ -29,7 +29,7 @@ describe('test web server', () => { test('should get 401', async () => { return supertest(await initializeServer('default-test.yaml')) - .post('/-/verdaccio/login') + .post('/-/verdaccio/sec/login') .send( JSON.stringify({ username: 'test', @@ -46,7 +46,7 @@ describe('test web server', () => { test('should log in', async () => { return supertest(await initializeServer('default-test.yaml')) - .post('/-/verdaccio/login') + .post('/-/verdaccio/sec/login') .send( JSON.stringify({ username: 'test', @@ -66,7 +66,7 @@ describe('test web server', () => { test('log in should be disabled', async () => { return supertest(await initializeServer('login-disabled.yaml')) - .post('/-/verdaccio/login') + .post('/-/verdaccio/sec/login') .send( JSON.stringify({ username: 'test',