diff --git a/internal/i18n/locales/es-ES.yml b/internal/i18n/locales/es-ES.yml index a9b7aef..2a5132a 100644 --- a/internal/i18n/locales/es-ES.yml +++ b/internal/i18n/locales/es-ES.yml @@ -17,8 +17,8 @@ gist.header.clone-http: Clonar via %s gist.header.clone-http-help: Clonar con Git usando autenticación básica HTTP. gist.header.clone-ssh: Clonar via SSH gist.header.clone-ssh-help: Clonar con Git usando una clave SSH. -gist.header.embed: '' -gist.header.embed-help: '' +gist.header.embed: 'Embeber' +gist.header.embed-help: 'Embebe este gist en tu sitio web.' gist.header.download-zip: Descargar ZIP gist.raw: Sin formato @@ -71,8 +71,8 @@ gist.forks: Bifurcaciones gist.forks.view: Ver bifurcación gist.forks.no: No hay bifurcaciones públicas -gist.likes: Gustos -gist.likes.no: Aún no hay gustos +gist.likes: Todos los me gusta +gist.likes.no: Aún no hay me gusta gist.revisions: Revisiones gist.revision.revised: revisó este gist @@ -80,7 +80,7 @@ gist.revision.go-to-revision: Ir a la revisión gist.revision.file-created: archivo creado gist.revision.file-deleted: archivo eliminado gist.revision.file-renamed: renombrado a -gist.revision.diff-truncated: Diferencia truncada porque es demasiado grande para mostrarse. +gist.revision.diff-truncated: Diferencia truncada porque es demasiado grande para mostrarse gist.revision.file-renamed-no-changes: Archivo renombrado sin cambios gist.revision.empty-file: Archivo vacío gist.revision.no-changes: Sin cambios @@ -165,8 +165,8 @@ admin.disable-login: Deshabilitar formulario de inicio de sesión admin.disable-login_help: Prohibir el inicio de sesión a través del formulario de inicio de sesión para forzar el uso de proveedores de OAuth en su lugar. admin.disable-gravatar: Deshabilitar Gravatar admin.disable-gravatar_help: Deshabilitar el uso de Gravatar como proveedor de avatar. -admin.allow-gists-without-login: -admin.allow-gists-without-login_help: +admin.allow-gists-without-login: Permitir gists individuales sin iniciar sesión +admin.allow-gists-without-login_help: Permitir ver y descargar gists individuales sin iniciar sesión, requiriendo iniciar sesión para descubrir gists. admin.users.delete_confirm: ¿Quieres eliminar a este usuario? admin.gists.title: Título @@ -174,86 +174,123 @@ admin.gists.private: ¿Privado? admin.gists.nb-files: Núm. de archivos admin.gists.nb-likes: Núm. de gustos admin.gists.delete_confirm: ¿Quieres eliminar este gist? -gist.new.url: '' -gist.new.preview: '' -gist.new.create-a-new-gist: '' -gist.edit.edit-gist: '' -gist.list.all-liked-by: '' -gist.list.all-forked-by: '' -gist.list.all-from: '' -gist.search.found: '' -gist.search.no-results: '' -gist.search.help.user: '' -gist.search.help.title: '' -gist.search.help.filename: '' -gist.search.help.extension: '' -gist.search.help.language: '' -gist.forks.for: '' -gist.likes.for: '' -gist.revision-of: '' -settings.link-gitlab-account: '' -settings.unlink-gitlab-account: '' -settings.change-username: '' -settings.create-password: '' -settings.create-password-help: '' -settings.change-password: '' -settings.change-password-help: '' -settings.password-label-title: '' -error.page-not-found: '' -error.bad-request: '' -error.signup-disabled: '' -error.signup-disabled-form: '' -error.login-disabled-form: '' -error.complete-oauth-login: '' -error.oauth-unsupported: '' -error.cannot-bind-data: '' -error.invalid-number: '' -error.invalid-character-unescaped: '' -admin.invitations: '' -admin.invitations.create: '' -admin.actions.sync-previews: '' -admin.actions.reset-hooks: '' -admin.actions.index-gists: '' -admin.config-link-overriden: '' -admin.invitations.help: '' -admin.invitations.max_uses: '' -admin.invitations.expires_at: '' -admin.invitations.code: '' -admin.invitations.copy_link: '' -admin.invitations.uses: '' -admin.invitations.expired: '' -flash.admin.user-deleted: '' -flash.admin.gist-deleted: '' -flash.admin.invitation-created: '' -flash.admin.invitation-deleted: '' -flash.admin.sync-fs: '' -flash.admin.sync-db: '' -flash.admin.git-gc: '' -flash.admin.sync-previews: '' -flash.admin.reset-hooks: '' -flash.admin.index-gists: '' -flash.auth.username-exists: '' -flash.auth.invalid-credentials: '' -flash.auth.account-linked-oauth: '' -flash.auth.account-unlinked-oauth: '' -flash.auth.user-sshkeys-not-retrievable: '' -flash.auth.user-sshkeys-not-created: '' -flash.auth.must-be-logged-in: '' -flash.gist.visibility-changed: '' -flash.gist.deleted: '' -flash.gist.fork-own-gist: '' -flash.gist.forked: '' -flash.user.email-updated: '' -flash.user.invalid-ssh-key: '' -flash.user.ssh-key-added: '' -flash.user.ssh-key-deleted: '' -flash.user.password-updated: '' -flash.user.username-updated: '' -validation.is-too-long: '' -validation.should-not-be-empty: '' -validation.should-not-include-sub-directory: '' -validation.should-only-contain-alphanumeric-characters: '' -validation.should-only-contain-alphanumeric-characters-and-dashes: '' -validation.not-enough: '' -validation.invalid: '' -html.title.admin-panel: '' +gist.new.url: 'URL' +gist.new.preview: 'Previsualizar' +gist.new.create-a-new-gist: 'Crear un nuevo gist' +gist.edit.edit-gist: 'Editar %s' +gist.list.all-liked-by: 'Todos los gists que le gustaron a %s' +gist.list.all-forked-by: 'Todos los gists bifurcados por %s' +gist.list.all-from: 'Todos los gists de %s' +gist.search.found: 'gists encontrados' +gist.search.no-results: 'No se han encontrado gists' +gist.search.help.user: 'gists creados por el usuario' +gist.search.help.title: 'gists con el título indicado' +gist.search.help.filename: 'gists que contienen archivos con el nombre indicado' +gist.search.help.extension: 'gists que contienen archivos con la extensión indicada' +gist.search.help.language: 'gists que contienen archivos con el lenguaje indicado' +gist.forks.for: 'Bifurcacaiones de %s' +gist.likes.for: 'Me gusta para %s' +gist.revision-of: 'Revisión de %s' +settings.link-gitlab-account: 'Vincular cuenta de GitLab' +settings.unlink-gitlab-account: 'Desvincular cuenta de GitLab' +settings.change-username: 'Cambiar nombre de usuario' +settings.create-password: 'Crear contraseña' +settings.create-password-help: 'Crea tu contraseña para acceder a Opengist vía HTTP' +settings.change-password: 'Cambiar contraseña' +settings.change-password-help: 'Cambia tu contraseña para acceder a Opengist vía HTTP' +settings.password-label-title: 'Contraseña' +error.page-not-found: 'Página no encontrada' +error.bad-request: 'Solicitud incorrecta' +error.signup-disabled: 'El registro está deshabilitado' +error.signup-disabled-form: 'El registro mediante el formulario está deshabilitado' +error.login-disabled-form: 'El inicio de sesión mediante el formulario está deshabilitado' +error.complete-oauth-login: 'No se puede completar la autenticación del usuario: %s' +error.oauth-unsupported: 'Proveedor no compatible' +error.cannot-bind-data: 'No se puede vincular los datos' +error.invalid-number: 'Número inválido' +error.invalid-character-unescaped: 'Carácter inválido no escapado' +admin.invitations: 'Invitaciones' +admin.invitations.create: 'Crear invitación' +admin.actions.sync-previews: 'Sincronizar todas las vistas previas de gists' +admin.actions.reset-hooks: 'Resetear los hooks de Git en todos los repositorios' +admin.actions.index-gists: 'Indexar todos los gists' +admin.config-link-overriden: 'sobrescrito' +admin.invitations.help: 'Las invitaciones se pueden usar para crear una cuenta aunque el registro esté deshabilitado.' +admin.invitations.max_uses: 'Cantidad máxima de usos' +admin.invitations.expires_at: 'Expira el' +admin.invitations.code: 'Código' +admin.invitations.copy_link: 'Copiar vínculo' +admin.invitations.uses: 'Usos' +admin.invitations.expired: 'Expirado' +flash.admin.user-deleted: 'El usuario ha sido eliminado' +flash.admin.gist-deleted: 'El gist ha sido eliminado' +flash.admin.invitation-created: 'La invitación ha sido creada' +flash.admin.invitation-deleted: 'La invitación ha sido eliminada' +flash.admin.sync-fs: 'Sincronizando repositorios desde el sistema de archivos...' +flash.admin.sync-db: 'Sincronizando repositorios desde la base de datos...' +flash.admin.git-gc: 'Recolectando basura en los repositorios...' +flash.admin.sync-previews: 'Sincronizando vistas previas de gists...' +flash.admin.reset-hooks: 'Reseteando hooks del servidor Git en todos los repositorios...' +flash.admin.index-gists: 'Indexando todos los gists...' +flash.auth.username-exists: 'El nombre de usuario ya existe' +flash.auth.invalid-credentials: 'Credenciales incorrectas' +flash.auth.account-linked-oauth: 'Cuenta vinculada a %s' +flash.auth.account-unlinked-oauth: 'Cuenta desvinculada de %s' +flash.auth.user-sshkeys-not-retrievable: 'No se pudo obtener las claves del usuario' +flash.auth.user-sshkeys-not-created: 'No se pudo crear la aclave ssh' +flash.auth.must-be-logged-in: 'Debes estar logueaado para acceder a los gists' +flash.gist.visibility-changed: 'La visibilidad del Gist ha sido modificada' +flash.gist.deleted: 'El gist fue eliminado' +flash.gist.fork-own-gist: 'No se puede bifurcar gists propios' +flash.gist.forked: 'El gist ha sido bifurcado' +flash.user.email-updated: 'Correo actualizado' +flash.user.invalid-ssh-key: 'Clave SSH inválida' +flash.user.ssh-key-added: 'Clave SSH añadida' +flash.user.ssh-key-deleted: 'Clave SSH eliminada' +flash.user.password-updated: 'Contraseña actualizada' +flash.user.username-updated: 'Nombre de usuario actualizado' +validation.is-too-long: 'El campo %s es demasiado largo' +validation.should-not-be-empty: 'El campo %s no puede estar vacío' +validation.should-not-include-sub-directory: 'El campo %s no puede incluir un sub directorio' +validation.should-only-contain-alphanumeric-characters: 'El campo %s solo puede contener caracteres alfanuméricos' +validation.should-only-contain-alphanumeric-characters-and-dashes: 'El campo %s solo puede contener caracteres alfanuméricos y guiones' +validation.not-enough: 'No hay suficiente %s' +validation.invalid: '%s inválido' +html.title.admin-panel: 'Panel de administración' +auth.mfa: Autenticación mult-factor +auth.mfa.passkey: Clave de acceso +auth.mfa.passkeys: Claves de acceso +auth.mfa.use-passkey: Utilizar clave de acceso +auth.mfa.bind-passkey: Vincular clave de acceso +auth.mfa.login-with-passkey: Ingresar con clave de acceso +auth.mfa.waiting-for-passkey-input: Esperando interacción del navegador... +auth.mfa.use-passkey-to-finish: Usa una clave de acceso para completar la autenticación +auth.mfa.passkeys-help: Agrega una clave de acceso para iniciar sesión en tu cuenta y usarla como método MFA. +auth.mfa.passkey-name: Nombre +auth.mfa.delete-passkey: Eliminar +auth.mfa.passkey-added-at: Agregado +auth.mfa.passkey-never-used: Nunca utilizado +auth.mfa.passkey-last-used: Último uso +auth.mfa.delete-passkey-confirm: Confirmar eliminación de clave de acceso +auth.totp.enter-recovery-key: o una clave de recuperación si perdiste tu dispositivo +auth.totp.code: Código +auth.totp.submit: Enviar +auth.totp.proceed: Proceder +auth.totp.save-recovery-codes: Guarda tus códigos de recuperación en un lugar seguro. Puedes usarlos para recuperar el acceso a tu cuenta si pierdes el acceso a tu app de autenticación. +auth.totp.scan-qr-code: Escanea el código QR con tu app de autenticación para habilitar la autenticación de doble factor o ingresa la siguiente cadena y confirma con el código generado. +error.not-in-mfa-session: El usuario no está en una sesión MFA +settings.ssh-key-exists: La clave SSH ya existe +auth.totp: Contraseña de un solo uso basada en tiempo (TOTP) +auth.totp.help: TOTP es un método de autenticación doble factor que utiliza una clave compartida para generar una contraseña de un solo uso. +auth.totp.use: Usar TOTP +auth.totp.regenerate-recovery-codes: Regenerar códigos de recuperación +auth.totp.already-enabled: TOTP ya está habilitado +auth.totp.invalid-secret: Clave TOTP inválido +auth.totp.invalid-code: Código TOTP inválido +auth.totp.code-used: El código de recuperación %s fue utilizado, ahora es inválido. Puedes desactivar MFA por ahora o regenerar tus códigos. +auth.totp.disabled: TOTP deshabilitado exitosamente +auth.totp.disable: Deshabilitar TOTP +auth.totp.enter-code: Ingresa el código de la app de autenticación +gist.delete.confirm: ¿Estás seguro que deseas eliminar este gist? +flash.auth.passkey-registred: Clave de acceso %s registrada +flash.auth.passkey-deleted: Clave de acceso eliminada diff --git a/internal/i18n/locales/fr-FR.yml b/internal/i18n/locales/fr-FR.yml index 0f5b556..76df799 100644 --- a/internal/i18n/locales/fr-FR.yml +++ b/internal/i18n/locales/fr-FR.yml @@ -258,3 +258,4 @@ validation.not-enough: 'Pas assez de %s' validation.invalid: '%s non valide' html.title.admin-panel: 'Administration' settings.ssh-key-exists: La clé SSH existe déjà +gist.delete.confirm: Voulez-vous supprimer ce Gist ? diff --git a/internal/i18n/locales/pl_PL.yml b/internal/i18n/locales/pl_PL.yml new file mode 100644 index 0000000..1109d42 --- /dev/null +++ b/internal/i18n/locales/pl_PL.yml @@ -0,0 +1,306 @@ +gist.public: 'Publiczny' +gist.unlisted: 'Niepubliczny' +gist.private: 'Prywatny' + +gist.header.like: 'Polub' +gist.header.unlike: 'Cofnij polubienie' +gist.header.fork: 'Zforkuj' +gist.header.edit: 'Edytuj' +gist.header.delete: 'Usuń' +gist.header.forked-from: 'Zforkowane z' +gist.header.last-active: 'Ostatnio aktywny' +gist.header.select-tab: 'Wybierz kartę' +gist.header.code: 'Kod' +gist.header.revisions: 'Rewizje' +gist.header.revision: 'Rewizja' +gist.header.clone-http: 'Sklonuj za pomocą %s' +gist.header.clone-http-help: 'Sklonuj za pomocą Git używając podstawowej autoryzacji HTTP.' +gist.header.clone-ssh: 'Sklonuj za pomocą SSH' +gist.header.clone-ssh-help: 'Sklonuj za pomocą Git używając klucza SSH.' +gist.header.embed: 'Osadź' +gist.header.embed-help: 'Wstaw ten Gist na twoją stronę.' +gist.header.download-zip: 'Pobierz ZIP' + +gist.raw: 'Surowy' +gist.file-truncated: 'Ten plik został przycięty.' +gist.watch-full-file: 'Zobacz pełny plik.' +gist.file-not-valid: 'Ten plik nie jest poprawnym plikiem CSV.' +gist.no-content: 'Nie znaleziono plików' + +gist.new.new_gist: 'Nowy Gist' +gist.new.title: 'Tytuł' +gist.new.description: 'Opis' +gist.new.url: 'URL' +gist.new.filename-with-extension: 'Nazwa pliku z rozszerzeniem' +gist.new.indent-mode: 'Tryb wcięcia' +gist.new.indent-mode-space: 'Spacje' +gist.new.indent-mode-tab: 'Tabulatory' +gist.new.indent-size: 'Wielkość wcięcia' +gist.new.wrap-mode: 'Tryb zawijania' +gist.new.wrap-mode-no: 'Bez zawijania' +gist.new.wrap-mode-soft: 'Miękkie zawijanie' +gist.new.add-file: 'Dodaj plik' +gist.new.create-public-button: 'Stwórz publiczny Gist' +gist.new.create-unlisted-button: 'Stwórz niepubliczny Gist' +gist.new.create-private-button: 'Stwórz prywatny Gist' +gist.new.preview: 'Podgląd' +gist.new.create-a-new-gist: 'Stwórz nowy Gist' + +gist.edit.editing: 'Edytowanie' +gist.edit.edit-gist: 'Edytuj %s' +gist.edit.change-visibility: 'Zmień widoczność na' +gist.edit.delete: 'Usuń' +gist.edit.cancel: 'Anuluj' +gist.edit.save: 'Zapisz' +gist.delete.confirm: 'Czy na pewno chcesz usunąć ten Gist?' + +gist.list.joined: 'Dołączono' +gist.list.all: 'Wszystkie Gisty' +gist.list.search-results: 'Wyniki wyszukiwania' +gist.list.sort: 'Sortuj' +gist.list.sort-by-created: 'utworzono' +gist.list.sort-by-updated: 'zaktualizowano' +gist.list.order-by-asc: 'Najdawniej' +gist.list.order-by-desc: 'Ostatnio' +gist.list.select-tab: 'Wybierz kartę' +gist.list.liked: 'Polubiane' +gist.list.likes: 'polubień' +gist.list.forked: 'Zforkowane' +gist.list.forked-from: 'Zforkowane z' +gist.list.forks: 'forków' +gist.list.files: 'plików' +gist.list.last-active: 'Ostatnio aktywne' +gist.list.no-gists: 'Brak Gistów' +gist.list.all-liked-by: 'Wszystkie Gisty polubione przez %s' +gist.list.all-forked-by: 'Wszystkie Gisty zforkowane przez %s' +gist.list.all-from: 'Wszystkie Gisty od %s' + +gist.search.found: 'Gistów znaleziono' +gist.search.no-results: 'Nie znaleziono żadnych Gistów' +gist.search.help.user: 'Gisty stworzone przez użytkownika' +gist.search.help.title: 'Gisty z podanym tytułem' +gist.search.help.filename: 'Gisty zawierające pliki z podanym tytułem' +gist.search.help.extension: 'Gisty zawierające pliki z podanym rozszerzeniem' +gist.search.help.language: 'Gisty zawierające pliki z podanym językiem' + +gist.forks: 'Forki' +gist.forks.view: 'Zobacz forka' +gist.forks.no: 'Brak publicznych forków' +gist.forks.for: 'Forki dla %s' + +gist.likes: 'Polubienia' +gist.likes.no: 'Brak polubień' +gist.likes.for: 'Polubienia dla %s' + +gist.revisions: 'Rewizje' +gist.revision.revised: 'zrewidował ten Gist' +gist.revision.go-to-revision: 'Przejdź do rewizji' +gist.revision.file-created: 'stworzono plik' +gist.revision.file-deleted: 'usunięto plik' +gist.revision.file-renamed: 'zmieniono nazwę na' +gist.revision.diff-truncated: 'Porównanie jest za duże do pokazania' +gist.revision.file-renamed-no-changes: 'Zmieniono nazwę pliku bez modyfikacji zawartości' +gist.revision.empty-file: 'Pusty plik' +gist.revision.no-changes: 'Brak zmian' +gist.revision.no-revisions: 'Brak rewizji do pokazania' +gist.revision-of: 'Rewizja %s' + +settings: 'Ustawienia' +settings.email: 'Email' +settings.email-help: 'Używany do commitów i Gravatar' +settings.email-set: 'Ustaw email' +settings.link-accounts: 'Połącz konta' +settings.link-github-account: 'Połącz konto GitHub' +settings.link-gitlab-account: 'Połącz konto GitLab' +settings.link-gitea-account: 'Połącz konto Gitea' +settings.unlink-github-account: 'Odłącz konto GitHub' +settings.unlink-gitlab-account: 'Odłącz konto GitLab' +settings.unlink-gitea-account: 'Odłącz konto Gitea' +settings.delete-account: 'Usuń konto' +settings.delete-account-confirm: 'Czy na pewno chcesz usunąć swoje konto?' +settings.add-ssh-key: 'Dodaj klucz SSH' +settings.add-ssh-key-help: 'Używany tylko do operacji pull/push za pomocą Git przez SSH' +settings.add-ssh-key-title: 'Tytuł' +settings.add-ssh-key-content: 'Klucz' +settings.delete-ssh-key: 'Usuń' +settings.delete-ssh-key-confirm: 'Potwierdź usunięcie klucza SSH' +settings.ssh-key-added-at: 'Dodany' +settings.ssh-key-never-used: 'Nigdy nie użyty' +settings.ssh-key-last-used: 'Ostatnio użyty' +settings.ssh-key-exists: 'Klucz SSH już istnieje' +settings.change-username: 'Zmień nazwę użytkownika' +settings.create-password: 'Stwórz hasło' +settings.create-password-help: 'Stwórz swoje hasło do logowania się do Opengist przez HTTP' +settings.change-password: 'Zmień hasło' +settings.change-password-help: 'Zmień swoje hasło do logowania się do Opengist przez HTTP' +settings.password-label-title: 'Hasło' + +auth.signup-disabled: 'Rejestracja została wyłączona przez administratora' +auth.login: 'Zaloguj się' +auth.signup: 'Zarejestruj się' +auth.new-account: 'Nowe konto' +auth.username: 'Nazwa użytkownika' +auth.password: 'Hasło' +auth.register-instead: 'Lub zarejestruj się' +auth.login-instead: 'Lub zaloguj się' +auth.oauth: 'Kontynuuj z kontem %s' +auth.mfa: 'Weryfikacja wieloskładnikowa' +auth.mfa.passkey: 'Klucz Passkey' +auth.mfa.passkeys: 'Klucze Passkey' +auth.mfa.use-passkey: 'Użyj klucza Passkey' +auth.mfa.bind-passkey: 'Powiąż klucz Passkey' +auth.mfa.login-with-passkey: 'Zaloguj się za pomocą klucza Passkey' +auth.mfa.waiting-for-passkey-input: 'Oczekiwanie na wejście z interakcji przeglądarki...' +auth.mfa.use-passkey-to-finish: 'Użyj klucza Passkey aby dokończyć logowanie' +auth.mfa.passkeys-help: 'Dodaj klucz Passkey aby logować się nim do swojego konta i aby używać go jako weryfikacji wieloskładnikowej.' +auth.mfa.passkey-name: 'Nazwa' +auth.mfa.delete-passkey: 'Usuń' +auth.mfa.passkey-added-at: 'Dodany' +auth.mfa.passkey-never-used: 'Nigdy nie użyty' +auth.mfa.passkey-last-used: 'Ostatnio użyty' +auth.mfa.delete-passkey-confirm: 'Potwierdź usunięcie klucza Passkey' +auth.totp: 'Time based one-time password (TOTP)' +auth.totp.help: 'TOTP to metoda weryfikacji dwuskładnikowej, która używa współdzielonego sekretu do generowania hasła jednorazowego użytku.' +auth.totp.use: 'Użyj TOTP' +auth.totp.regenerate-recovery-codes: 'Wygeneruje ponownie kody odzyskiwania' +auth.totp.already-enabled: 'TOTP jest już włączone' +auth.totp.invalid-secret: 'Niepoprawny sekret TOTP' +auth.totp.invalid-code: 'Niepoprawny kod TOTP' +auth.totp.code-used: 'Kod odzyskiwania %s został użyty, jest teraz nieważny. Możesz chcieć wyłączyć weryfikację wieloskładnikową na teraz lub wygenerować swoje kody ponownie.' +auth.totp.disabled: 'TOTP zostało pomyślnie wyłączone' +auth.totp.disable: 'Wyłącz TOTP' +auth.totp.enter-code: 'Wpisz kod z aplikacji uwierzytelniajacej' +auth.totp.enter-recovery-key: 'lub kod odzyskiwania jeśli zgubiłeś swoje urządzenie' +auth.totp.code: 'Kod' +auth.totp.submit: 'Prześlij' +auth.totp.proceed: 'Dalej' +auth.totp.save-recovery-codes: 'Zapis swoje kody odzyskiwania w bezpiecznym miejscu. Możesz użyć tych kodów, aby odzyskać dostęp do swojego konta jeśli stracisz dostęp do swojej aplikacji uwierzytelniajacej.' +auth.totp.scan-qr-code: 'Zeskanuj kod QR poniżej używając swojej aplikacji uwierzytelniajacej, aby włączyć weryfikację dwuskładnikową lub wpisz następujący ciąg i potwierdź go wygenerowanym kodem.' + + +error: 'Błąd' +error.page-not-found: 'Nie znaleziono strony' +error.bad-request: 'Złe żądanie' +error.signup-disabled: 'Rejestracja jest wyłączona' +error.signup-disabled-form: 'Rejestracja za pomocą formularza rejestracyjnego jest wyłączona' +error.login-disabled-form: 'Logowanie za pomocą formularza logowania jest wyłączone' +error.complete-oauth-login: "Nie można ukończyć logowania: %s" +error.oauth-unsupported: 'Niewspierany dostawca' +error.cannot-bind-data: 'Nie można powiązać danych' +error.invalid-number: 'Niepoprawna liczba' +error.invalid-character-unescaped: 'Nieprawidłowy niechroniony znak' +error.not-in-mfa-session: 'Użytkownik nie jest w sesji uwierzytelnienia wieloskładnikowego' + +header.menu.all: 'Wszystko' +header.menu.new: 'Nowy' +header.menu.search: 'Szukaj' +header.menu.my-gists: 'Moje Gisty' +header.menu.liked: 'Polubione' +header.menu.admin: 'Admin' +header.menu.settings: 'Ustawienia' +header.menu.logout: 'Wyloguj się' +header.menu.register: 'Zarejestruj się' +header.menu.login: 'Zaloguj się' +header.menu.light: 'Jasny' +header.menu.dark: 'Ciemny' +header.menu.system: 'Systemowy' +footer.powered-by: 'Obsługiwane przez %s' + +pagination.older: 'Starsze' +pagination.newer: 'Nowsze' +pagination.previous: 'Poprzedni' +pagination.next: 'Nastepny' + +admin.admin_panel: 'Panel administracyjny' +admin.general: 'Ogólne' +admin.users: 'Użytkownicy' +admin.gists: 'Gisty' +admin.configuration: 'Konfiguracja' +admin.invitations: 'Zaproszenia' +admin.invitations.create: 'Stwórz zaproszenie' +admin.versions: 'Wersje' +admin.ssh_keys: 'Klucze SSH' +admin.stats: 'Statystyki' +admin.actions: 'Akcje' +admin.actions.sync-fs: 'Synchronizuj Gisty z systemu plików' +admin.actions.sync-db: 'Synchronizuj Gisty z bazy danych' +admin.actions.git-gc: 'Zbierz śmieci we wszystkich repozytoriach Git' +admin.actions.sync-previews: 'Synchronizuj podglądy wszystkich Gistów' +admin.actions.reset-hooks: 'Zresetuj hooki serwera Git dla wszystkich repozytoriów' +admin.actions.index-gists: 'Indeksuj wszystkie Gisty' +admin.id: 'ID' +admin.user: 'Użytkownik' +admin.delete: 'Usuń' +admin.created_at: 'Utworzono' + +admin.config-link: 'Ta konfiguracja może zostać %s przez plik konfiguracyjny YAML i/lub zmienne środowiskowe.' +admin.config-link-overriden: 'nadpisana' +admin.disable-signup: 'Wyłącz rejestrację' +admin.disable-signup_help: 'Zabroń tworzenia nowych kont.' +admin.require-login: 'Wymagaj logowania' +admin.require-login_help: 'Wymagaj od użytkowników zalogowania się, aby mogli zobaczyć Gisty.' +admin.allow-gists-without-login: 'Zezwól na indywidualne Gisty bez logowania' +admin.allow-gists-without-login_help: 'Zezwalaj na przeglądanie i pobieranie pojedynczych Gistów bez logowania, ale wymagaj zalogowania się w celu odkrywania Gistów.' +admin.disable-login: 'Wyłącz formularz logowania' +admin.disable-login_help: 'Zabroń logowania się za pomocą formularza logowania, aby wymusić korzystanie z dostawców OAuth.' +admin.disable-gravatar: 'Wyłącz Gravatar' +admin.disable-gravatar_help: 'Wyłącz używanie Gravatar jako dostawcy awatarów.' + +admin.users.delete_confirm: 'Czy chcesz usunąć tego użytkownika?' + +admin.gists.title: 'Tytuł' +admin.gists.private: 'Prywatny?' +admin.gists.nb-files: 'Liczba plików' +admin.gists.nb-likes: 'Liczba polubień' +admin.gists.delete_confirm: 'Czy chcesz usunąć tego Gista?' + +admin.invitations.help: 'Zaproszenia mogą być używane, aby stworzyć konto nawet, jeśli rejestracja jest wyłączona.' +admin.invitations.max_uses: 'Maksymalna liczba użyć' +admin.invitations.expires_at: 'Wygasa' +admin.invitations.code: 'Kod' +admin.invitations.copy_link: 'Kopiuj link' +admin.invitations.uses: 'Użyć' +admin.invitations.expired: 'Wygasło' + +flash.admin.user-deleted: 'Użytkownik został usunięty' +flash.admin.gist-deleted: 'Gist został usunięty' +flash.admin.invitation-created: 'Zaproszenie zostało stworzone' +flash.admin.invitation-deleted: 'Zaproszenie zostało usunięte' +flash.admin.sync-fs: 'Synchronizowanie repozytoriów z systemu plików...' +flash.admin.sync-db: 'Synchronizowanie repozytoriów z bazy danych...' +flash.admin.git-gc: 'Zbieranie śmieci w repozytoriach...' +flash.admin.sync-previews: 'Synchronizowanie podglądów Gistów...' +flash.admin.reset-hooks: 'Resetowanie hooków serwera Git dla wszystkich repozytoriów...' +flash.admin.index-gists: 'Indeksowanie wszystkich Gistów...' + +flash.auth.username-exists: 'Nazwa użytkownika już istnieje' +flash.auth.invalid-credentials: 'Niepoprawne dane logowania' +flash.auth.account-linked-oauth: 'Konto połączone z %s' +flash.auth.account-unlinked-oauth: 'Konto odłączone od %s' +flash.auth.user-sshkeys-not-retrievable: 'Nie można uzyskać kluczy użytkownika' +flash.auth.user-sshkeys-not-created: 'Nie można stworzyć klucza SSH' +flash.auth.must-be-logged-in: 'Musisz być zalogowany, aby widzieć Gisty' +flash.auth.passkey-registred: 'Zarejestrowano klucz Passkey %s' +flash.auth.passkey-deleted: 'Usunięto klucz Passkey' + +flash.gist.visibility-changed: 'Widoczność Gista została zmieniona' +flash.gist.deleted: 'Gist został usunięty' +flash.gist.fork-own-gist: 'Nie można forkować własnych Gistów' +flash.gist.forked: 'Gist został zforkowany' + +flash.user.email-updated: 'Email został zaktualizowany' +flash.user.invalid-ssh-key: 'niepoprawny klucz SSH' +flash.user.ssh-key-added: 'Dodano klucz SSH' +flash.user.ssh-key-deleted: 'Usunięto klucz SSH' +flash.user.password-updated: 'Zaktualizowano hasło' +flash.user.username-updated: 'Zaktualizowano nazwę użytkownika' + +validation.is-too-long: 'Pole %s jest za długie' +validation.should-not-be-empty: 'Pole %s nie może być puste' +validation.should-not-include-sub-directory: 'Pole %s nie może zawierać podfolderu' +validation.should-only-contain-alphanumeric-characters: 'Pole %s może tylko zawierać znaki alfanumeryczne' +validation.should-only-contain-alphanumeric-characters-and-dashes: 'Pole %s może tylko zawierać znaki alfanumeryczne i myślniki' +validation.not-enough: 'Nie wystarczająco %s' +validation.invalid: 'Niepoprawny %s' + +html.title.admin-panel: 'Panel administracyjny' diff --git a/internal/i18n/locales/zh-CN.yml b/internal/i18n/locales/zh-CN.yml index 8883cf0..d710475 100644 --- a/internal/i18n/locales/zh-CN.yml +++ b/internal/i18n/locales/zh-CN.yml @@ -1,6 +1,6 @@ gist.public: 公开 gist.unlisted: 非列出 -gist.private: 私有 +gist.private: 私密 gist.header.like: 喜欢 gist.header.unlike: 取消喜欢 @@ -14,11 +14,11 @@ gist.header.code: 代码 gist.header.revisions: 修订 gist.header.revision: 修订 gist.header.clone-http: 通过 %s 克隆 -gist.header.clone-http-help: 使用 Git 通过 HTTP 基础认证克隆。 +gist.header.clone-http-help: 使用 HTTP 基础认证通过 Git 克隆。 gist.header.clone-ssh: 通过 SSH 克隆 -gist.header.clone-ssh-help: 使用 Git 通过 SSH 密钥克隆。 +gist.header.clone-ssh-help: 使用 SSH 密钥通过 Git 克隆。 gist.header.embed: '嵌入' -gist.header.embed-help: '在你的网页中嵌入此gist。' +gist.header.embed-help: '将此 Gist 嵌入到您的网站。' gist.header.download-zip: 下载 ZIP gist.raw: 原始文件 @@ -27,10 +27,10 @@ gist.watch-full-file: 查看完整文件。 gist.file-not-valid: 此文件不是有效的 CSV 文件。 gist.no-content: 没有内容 -gist.new.new_gist: 创建 Gist +gist.new.new_gist: 新建 Gist gist.new.title: 标题 gist.new.description: 描述 -gist.new.filename-with-extension: 文件名与扩展名 +gist.new.filename-with-extension: 带扩展名的文件名 gist.new.indent-mode: 缩进模式 gist.new.indent-mode-space: 空格 gist.new.indent-mode-tab: 制表符 @@ -39,17 +39,17 @@ gist.new.wrap-mode: 换行模式 gist.new.wrap-mode-no: 不自动换行 gist.new.wrap-mode-soft: 软换行 gist.new.add-file: 添加文件 -gist.new.create-public-button: 创建公开 Gist -gist.new.create-unlisted-button: 创建非列出 Gist -gist.new.create-private-button: 创建私有 Gist +gist.new.create-public-button: 创建公开的 Gist +gist.new.create-unlisted-button: 创建非列出的 Gist +gist.new.create-private-button: 创建私密的 Gist -gist.edit.editing: 编辑 +gist.edit.editing: 正在编辑 gist.edit.change-visibility: 设为 gist.edit.delete: 删除 gist.edit.cancel: 取消 gist.edit.save: 保存 -gist.list.joined: 已加入 +gist.list.joined: 加入于 gist.list.all: 所有 Gists gist.list.search-results: 搜索结果 gist.list.sort: 排序 @@ -65,30 +65,30 @@ gist.list.forked-from: 派生自 gist.list.forks: 派生 gist.list.files: 文件 gist.list.last-active: 最后活跃于 -gist.list.no-gists: 没有 Gist +gist.list.no-gists: 没有任何 Gist gist.forks: 派生 gist.forks.view: 查看派生 -gist.forks.no: 无公开派生 +gist.forks.no: 没有任何公开的派生 gist.likes: 喜欢 -gist.likes.no: 还没有喜欢 +gist.likes.no: 目前还没有任何喜欢 gist.revisions: 修订 gist.revision.revised: 修订了这个 Gist -gist.revision.go-to-revision: 跳至此修订 +gist.revision.go-to-revision: 转到此修订 gist.revision.file-created: 文件已创建 -gist.revision.file-deleted: 文件已被删除 +gist.revision.file-deleted: 文件已删除 gist.revision.file-renamed: 重命名为 -gist.revision.diff-truncated: 由于变更差异过大,显示内容已被截断 -gist.revision.file-renamed-no-changes: 文件已重命名,但名称与之前没有差异 -gist.revision.empty-file: 空文件 -gist.revision.no-changes: 没有变更 +gist.revision.diff-truncated: 差异内容过多而无法显示 +gist.revision.file-renamed-no-changes: 文件已重命名,但内容与之前没有差异 +gist.revision.empty-file: 文件为空 +gist.revision.no-changes: 没有任何变更 gist.revision.no-revisions: 无可供显示的修订 settings: 设置 -settings.email: 邮箱 -settings.email-help: 用于提交与 Gravatar +settings.email: 电子邮箱 +settings.email-help: 用于提交和 Gravatar 头像 settings.email-set: 设置邮箱地址 settings.link-accounts: 关联账号 settings.link-github-account: 关联 GitHub 账号 @@ -98,16 +98,16 @@ settings.unlink-gitea-account: 解除关联 Gitea 账号 settings.delete-account: 删除账号 settings.delete-account-confirm: 您确认要删除您的账号吗? settings.add-ssh-key: 添加 SSH 密钥 -settings.add-ssh-key-help: 用于使用 Git 通过 SSH 拉取与推送 Gist -settings.add-ssh-key-title: 标题 +settings.add-ssh-key-help: 仅用于使用 Git 通过 SSH 拉取与推送 Gist +settings.add-ssh-key-title: 名称 settings.add-ssh-key-content: 密钥 settings.delete-ssh-key: 删除 settings.delete-ssh-key-confirm: 确认删除 SSH 密钥 -settings.ssh-key-added-at: 添加 +settings.ssh-key-added-at: 添加于 settings.ssh-key-never-used: 从未使用过 settings.ssh-key-last-used: 最后使用于 -auth.signup-disabled: 管理员已禁用了注册 +auth.signup-disabled: 管理员已禁用注册 auth.login: 登录 auth.signup: 注册 auth.new-account: 新建账号 @@ -120,7 +120,7 @@ auth.oauth: 使用 %s 账号继续 error: 错误 header.menu.all: 全部 -header.menu.new: 创建 +header.menu.new: 新建 header.menu.search: 搜索 header.menu.my-gists: 我的 Gists header.menu.liked: 喜欢的 Gists @@ -129,13 +129,13 @@ header.menu.settings: 设置 header.menu.logout: 登出 header.menu.register: 注册 header.menu.login: 登录 -header.menu.light: 亮色 -header.menu.dark: 暗色 -header.menu.system: 系统 +header.menu.light: 亮色模式 +header.menu.dark: 暗色模式 +header.menu.system: 跟随系统 footer.powered-by: 由 %s 强力驱动 -pagination.older: 更早 -pagination.newer: 更新 +pagination.older: 下一页 +pagination.newer: 上一页 pagination.previous: 上一页 pagination.next: 下一页 @@ -156,92 +156,92 @@ admin.user: 用户 admin.delete: 删除 admin.created_at: 创建于 -admin.config-link: 此配置可通过 YAML 配置和/或环境变量进行 %s 。 +admin.config-link: 此配置可通过 YAML 配置文件和/或环境变量进行 %s 。 admin.config-link-overriden: 覆盖 -admin.disable-signup: 禁用注册 -admin.disable-signup_help: 阻止创建新的账号。 -admin.require-login: 要求登录 +admin.disable-signup: 禁止用户注册 +admin.disable-signup_help: 禁止创建新的账号。 +admin.require-login: 登录访问限制 admin.require-login_help: 强制用户登录后才能查看 Gist。 admin.disable-login: 禁用登录表单 admin.disable-login_help: 禁止使用登录表单进行登录以强制通过 OAuth 提供方登录。 admin.disable-gravatar: 禁用 Gravatar admin.disable-gravatar_help: 停止使用 Gravatar 作为头像提供方。 -admin.allow-gists-without-login: 允许未登录状态下输入个人 gists -admin.allow-gists-without-login_help: 允许在不登录的情况下查看和下载 gist,同时需要登录才能使用 gists 的发现功能。 -admin.users.delete_confirm: 你想要删除此用户吗? +admin.allow-gists-without-login: 允许未登录状态下访问单个 Gists +admin.allow-gists-without-login_help: 允许在不登录的情况下查看和下载 Gist,同时需要登录才能使用 Gists 的发现功能。 +admin.users.delete_confirm: 您想要删除此用户吗? admin.gists.title: 标题 -admin.gists.private: 私有? +admin.gists.private: 访问权限 admin.gists.nb-files: 文件数 admin.gists.nb-likes: 喜欢数 -admin.gists.delete_confirm: 你想要删除此 Gist 吗? -gist.new.url: 'URL' -gist.new.preview: '预览 gist' +admin.gists.delete_confirm: 您想要删除此 Gist 吗? +gist.new.url: '自定义 URL 路径名' +gist.new.preview: '预览' error.page-not-found: '页面未找到' -gist.new.create-a-new-gist: '创建一个新的gist' +gist.new.create-a-new-gist: '创建一个新的 Gist' gist.edit.edit-gist: '编辑 %s' -gist.list.all-liked-by: '所有 gists 被 %s 标记喜欢' -gist.list.all-forked-by: '所有 gists 被 %s 派生' -gist.list.all-from: '所有 gists 来自于 %s' -gist.search.found: '以下是找到的 gists' -gist.search.no-results: '没有找到gist' -gist.search.help.user: '由用户创建的gist' -gist.search.help.title: '包含指定标题的 gists' -gist.search.help.filename: 'gists 文件中包含指定名称' -gist.search.help.extension: 'gists 文件中包含指定插件' -gist.search.help.language: 'gists 文件中包含指定的开发语言' -gist.forks.for: '派生到 %s' -gist.likes.for: '喜欢给 %s' -gist.revision-of: '被 %s 修订' +gist.list.all-liked-by: '%s 喜欢的所有 Gists' +gist.list.all-forked-by: '%s 派生的所有 Gists' +gist.list.all-from: '来自于 %s 的所有 Gists' +gist.search.found: '个已找到的 Gist(s)' +gist.search.no-results: '没有找到任何 Gist' +gist.search.help.user: '由用户创建的 Gists' +gist.search.help.title: '包含指定标题的 Gists' +gist.search.help.filename: '包含指定文件名的 Gists' +gist.search.help.extension: '包含指定扩展名的 Gists' +gist.search.help.language: '包含指定编程语言的 Gists' +gist.forks.for: '%s 的派生' +gist.likes.for: '%s 的喜欢' +gist.revision-of: '%s 的修订' settings.link-gitlab-account: '关联 GitLab 账号' settings.unlink-gitlab-account: '解除关联 GitLab 账号' settings.change-username: '修改用户名' settings.create-password: '创建密码' -settings.create-password-help: '创建密码用于 HTTP 方式登录 Opengist' +settings.create-password-help: '创建您的密码以通过 HTTP 的方式登录到 Opengist' settings.change-password: '修改密码' -settings.change-password-help: '修改您的密码用于 HTTP 方式登录 Opengist' +settings.change-password-help: '修改您通过 HTTP 登录到 Opengist 的密码' settings.password-label-title: '密码' error.bad-request: '请求错误' -error.signup-disabled: '注册功能已被管理员禁用' -error.signup-disabled-form: '已禁用了表单注册功能' -error.login-disabled-form: '已禁用了表单登录功能' -error.complete-oauth-login: '用户认证未能通过: %s' +error.signup-disabled: '注册已被禁用' +error.signup-disabled-form: '通过用户名密码注册已被禁用' +error.login-disabled-form: '通过用户名密码登录已被禁用' +error.complete-oauth-login: '用户认证未能通过:%s' error.oauth-unsupported: '不支持的认证提供商' error.cannot-bind-data: '无法绑定数据' error.invalid-number: '数字格式不正确' error.invalid-character-unescaped: '包含未转义的无效字符' admin.invitations: '邀请' admin.invitations.create: '创建邀请' -admin.actions.sync-previews: '同步所有 gists 预览' -admin.actions.reset-hooks: '重置所有存储库的 Git 服务hooks' -admin.actions.index-gists: '索引所有 gists' +admin.actions.sync-previews: '同步所有 Gists 预览' +admin.actions.reset-hooks: '重置所有存储库的 Git 服务 hooks' +admin.actions.index-gists: '索引所有 Gists' admin.invitations.help: '即使在禁用注册功能的情况下,邀请功能也可用于创建帐户。' admin.invitations.max_uses: '最多使用次数' admin.invitations.expires_at: '过期时间' admin.invitations.code: '邀请码' admin.invitations.copy_link: '复制链接' admin.invitations.uses: '使用次数' -admin.invitations.expired: '已到期' -flash.admin.user-deleted: '用户已删除' -flash.admin.gist-deleted: 'Gist 已删除' -flash.admin.invitation-created: '该邀请已被创建' -flash.admin.invitation-deleted: '该邀请已被删除' +admin.invitations.expired: '已过期' +flash.admin.user-deleted: '用户已被删除' +flash.admin.gist-deleted: 'Gist 已被删除' +flash.admin.invitation-created: '邀请已被创建' +flash.admin.invitation-deleted: '邀请已被删除' flash.admin.sync-fs: '正在从文件系统同步存储库...' flash.admin.sync-db: '正在从数据库同步存储库...' flash.admin.git-gc: '正在进行存储库垃圾回收...' flash.admin.sync-previews: '正在同步 Gist 预览...' flash.admin.reset-hooks: '正在重置所有存储库的 Git 服务挂钩...' -flash.admin.index-gists: '索引所有 gists...' +flash.admin.index-gists: '正在索引所有 Gists...' flash.auth.username-exists: '用户名已存在' flash.auth.invalid-credentials: '无效的凭证' flash.auth.account-linked-oauth: '帐户已关联到 %s' flash.auth.account-unlinked-oauth: '帐户与 %s 解除关联' flash.auth.user-sshkeys-not-retrievable: '无法获取用户密钥' -flash.auth.user-sshkeys-not-created: '无法创建 ssh 密钥' -flash.auth.must-be-logged-in: '您必须登录才能访问 gists' -flash.gist.visibility-changed: 'Gist可见性已更改' -flash.gist.deleted: 'Gist已被删除' -flash.gist.fork-own-gist: '无法派生自己的要点' +flash.auth.user-sshkeys-not-created: '无法创建 SSH 密钥' +flash.auth.must-be-logged-in: '您必须登录才能访问 Gists' +flash.gist.visibility-changed: 'Gist 可见性已更改' +flash.gist.deleted: 'Gist 已被删除' +flash.gist.fork-own-gist: '无法派生自己的 Gists' flash.gist.forked: 'Gist 已被派生' flash.user.email-updated: '电子邮件已更新' flash.user.invalid-ssh-key: 'SSH 密钥无效' @@ -254,20 +254,20 @@ validation.should-not-be-empty: '字段 %s 不能为空' validation.should-not-include-sub-directory: '字段 %s 不应包含子目录' validation.should-only-contain-alphanumeric-characters: '字段 %s 只能包含字母、数字、字符' validation.should-only-contain-alphanumeric-characters-and-dashes: '字段 %s 应仅包含字母、数字、字符和 ‘-’' -validation.not-enough: '还不够 %s' -validation.invalid: '无效 %s' +validation.not-enough: '%s 长度过短' +validation.invalid: '%s 无效' html.title.admin-panel: '管理面板' settings.ssh-key-exists: SSH 密钥已经存在 -auth.mfa.passkey-name: 密钥名称 -auth.mfa.use-passkey-to-finish: 使用密钥完成身份验证 -auth.mfa.delete-passkey: 删除密钥 +auth.mfa.passkey-name: 名称 +auth.mfa.use-passkey-to-finish: 使用通行密钥完成身份验证 +auth.mfa.delete-passkey: 删除 auth.mfa.passkey-added-at: 密钥已添加 -auth.mfa.passkey-never-used: 密钥从未使用 -auth.mfa.passkey-last-used: 密钥上次使用时间 +auth.mfa.passkey-never-used: 从未使用过 +auth.mfa.passkey-last-used: 最后使用于 auth.mfa.delete-passkey-confirm: 确认删除密钥 error.not-in-mfa-session: 用户不在 MFA 会话中 auth.mfa.waiting-for-passkey-input: 等待浏览器的交互输入... -auth.mfa.passkeys-help: 添加密钥以登录您的帐户并用于 MFA 方式。 +auth.mfa.passkeys-help: 添加通行密钥以登录您的帐户并用作 MFA 方法。 flash.auth.passkey-registred: 密钥 %s 已注册 flash.auth.passkey-deleted: 密钥已删除 auth.mfa.use-passkey: 使用通行密钥 @@ -276,3 +276,21 @@ auth.mfa.login-with-passkey: 使用通行密钥登录 auth.mfa: 多因素认证 auth.mfa.passkey: 通行密钥 auth.mfa.passkeys: 通行密钥 +gist.delete.confirm: 确定要删除此 Gist 吗? +auth.totp.scan-qr-code: 使用您的身份验证应用扫描下面的二维码以启用双因素认证,或者输入以下字符串,然后用生成的代码进行确认。 +auth.totp: 基于时间的一次性密码算法(TOTP) +auth.totp.help: TOTP 是一种双因素认证方法,它使用共享密钥生成一次性密码。 +auth.totp.use: 使用 TOTP +auth.totp.regenerate-recovery-codes: 重新生成恢复码 +auth.totp.already-enabled: TOTP 已启用 +auth.totp.invalid-secret: 无效的 TOTP 密钥 +auth.totp.code-used: 恢复代码 %s 已被使用且失效。您可能需要暂时禁用 MFA 或重新生成代码。 +auth.totp.invalid-code: 无效的 TOTP 代码 +auth.totp.disabled: 成功禁用 TOTP +auth.totp.disable: 禁用 TOTP +auth.totp.enter-code: 请输入来自身份验证器应用程序的代码 +auth.totp.enter-recovery-key: 如果您丢失了设备,可以使用恢复密钥 +auth.totp.code: 代码 +auth.totp.submit: 提交 +auth.totp.proceed: 继续 +auth.totp.save-recovery-codes: 请将您的恢复代码保存在安全的地方。在您无法访问身份验证应用程序时,可以使用这些代码恢复访问。