diff --git a/frontend/src/i18n/translations/da-DK.ts b/frontend/src/i18n/translations/da-DK.ts index eb214835..944af038 100644 --- a/frontend/src/i18n/translations/da-DK.ts +++ b/frontend/src/i18n/translations/da-DK.ts @@ -353,6 +353,8 @@ export default { "admin.config.oauth.microsoft-client-secret.description": "Client secret of the Microsoft OAuth app", "admin.config.oauth.discord-enabled": "Discord", "admin.config.oauth.discord-enabled.description": "Whether Discord login is enabled", + "admin.config.oauth.discord-limited-guild": "Discord limited server ID", + "admin.config.oauth.discord-limited-guild.description": "Limit signing in to users in a specific server. Leave it blank to disable.", "admin.config.oauth.discord-client-id": "Discord Client ID", "admin.config.oauth.discord-client-id.description": "Client ID of the Discord OAuth app", "admin.config.oauth.discord-client-secret": "Discord Client secret", @@ -375,10 +377,13 @@ export default { "error.msg.default": "Something went wrong.", "error.msg.access_denied": "You canceled the authentication process, please try again.", "error.msg.expired_token": "The authentication process took too long, please try again.", + "error.msg.invalid_token": "Internal Error", "error.msg.no_user": "User linked to this {0} account doesn't exist.", "error.msg.no_email": "Can't get email address from this {0} account.", "error.msg.already_linked": "This {0} account is already linked to another account.", "error.msg.not_linked": "This {0} account haven't linked to any account yet.", + "error.msg.unverified_account": "This {0} account is unverified, please try again after verification.", + "error.msg.discord_guild_permission_denied": "You are not allowed to sign in.", "error.param.provider_github": "GitHub", "error.param.provider_google": "Google", "error.param.provider_microsoft": "Microsoft", diff --git a/frontend/src/i18n/translations/de-DE.ts b/frontend/src/i18n/translations/de-DE.ts index 4516cfcf..f76893df 100644 --- a/frontend/src/i18n/translations/de-DE.ts +++ b/frontend/src/i18n/translations/de-DE.ts @@ -353,6 +353,8 @@ export default { "admin.config.oauth.microsoft-client-secret.description": "Client secret of the Microsoft OAuth app", "admin.config.oauth.discord-enabled": "Discord", "admin.config.oauth.discord-enabled.description": "Whether Discord login is enabled", + "admin.config.oauth.discord-limited-guild": "Discord limited server ID", + "admin.config.oauth.discord-limited-guild.description": "Limit signing in to users in a specific server. Leave it blank to disable.", "admin.config.oauth.discord-client-id": "Discord Client ID", "admin.config.oauth.discord-client-id.description": "Client ID of the Discord OAuth app", "admin.config.oauth.discord-client-secret": "Discord Client secret", @@ -369,16 +371,19 @@ export default { "404.description": "Ups, diese Seite existiert nicht.", "404.button.home": "Zurück zur Startseite", // error - "error.title": "Error", + "error.title": "Fehler", "error.description": "Ups!", "error.button.back": "Zurück", "error.msg.default": "Etwas ist schief gelaufen.", "error.msg.access_denied": "You canceled the authentication process, please try again.", "error.msg.expired_token": "The authentication process took too long, please try again.", + "error.msg.invalid_token": "Internal Error", "error.msg.no_user": "User linked to this {0} account doesn't exist.", "error.msg.no_email": "Can't get email address from this {0} account.", "error.msg.already_linked": "This {0} account is already linked to another account.", "error.msg.not_linked": "This {0} account haven't linked to any account yet.", + "error.msg.unverified_account": "This {0} account is unverified, please try again after verification.", + "error.msg.discord_guild_permission_denied": "You are not allowed to sign in.", "error.param.provider_github": "GitHub", "error.param.provider_google": "Google", "error.param.provider_microsoft": "Microsoft", diff --git a/frontend/src/i18n/translations/es-ES.ts b/frontend/src/i18n/translations/es-ES.ts index 269e831b..ed65bdf3 100644 --- a/frontend/src/i18n/translations/es-ES.ts +++ b/frontend/src/i18n/translations/es-ES.ts @@ -33,7 +33,7 @@ export default { "signin.button.submit": "Iniciar sesión", "signIn.notify.totp-required.title": "Se requiere autenticación de dos factores", "signIn.notify.totp-required.description": "Por favor ingrese su código de autenticación de dos factores", - "signIn.oauth.or": "OR", + "signIn.oauth.or": "O", "signIn.oauth.github": "GitHub", "signIn.oauth.google": "Google", "signIn.oauth.microsoft": "Microsoft", @@ -309,7 +309,7 @@ export default { "admin.config.share.allow-unauthenticated-shares": "Permitir compartir sin iniciar sesión", "admin.config.share.allow-unauthenticated-shares.description": "Si los usuarios que no han iniciado sesión pueden compartir", "admin.config.share.max-expiration": "Expiración máxima", - "admin.config.share.max-expiration.description": "Maximum share expiration in hours. Set to 0 to allow unlimited expiration.", + "admin.config.share.max-expiration.description": "Expiración máxima para compartir en horas. Establezca en 0 para permitir una expiración ilimitada.", "admin.config.share.max-size": "Tamaño máximo", "admin.config.share.max-size.description": "Tamaño máximo de los archivos, en bytes", "admin.config.share.zip-compression-level": "Nivel de compresión del Zip", @@ -327,22 +327,22 @@ export default { "admin.config.smtp.password": "Contraseña", "admin.config.smtp.password.description": "Contraseña del servidor SMTP", "admin.config.smtp.button.test": "Enviar correo de prueba", - "admin.config.oauth.allow-registration": "Allow registration", - "admin.config.oauth.allow-registration.description": "Allow users to register via social login", - "admin.config.oauth.ignore-totp": "Ignore TOTP", - "admin.config.oauth.ignore-totp.description": "Whether to ignore TOTP when user using social login", + "admin.config.oauth.allow-registration": "Permitir registro", + "admin.config.oauth.allow-registration.description": "Permitir a los usuarios registrarse mediante login social", + "admin.config.oauth.ignore-totp": "Ignorar TOTP", + "admin.config.oauth.ignore-totp.description": "Ignorar TOTP cuando el usuario utiliza inicio de sesión social", "admin.config.oauth.github-enabled": "GitHub", - "admin.config.oauth.github-enabled.description": "Whether GitHub login is enabled", - "admin.config.oauth.github-client-id": "GitHub Client ID", - "admin.config.oauth.github-client-id.description": "Client ID of the GitHub OAuth app", - "admin.config.oauth.github-client-secret": "GitHub Client secret", - "admin.config.oauth.github-client-secret.description": "Client secret of the GitHub OAuth app", + "admin.config.oauth.github-enabled.description": "Si el inicio de sesión de GitHub está habilitado", + "admin.config.oauth.github-client-id": "ID del Cliente de GitHub", + "admin.config.oauth.github-client-id.description": "ID de cliente de la aplicación OAuth de GitHub", + "admin.config.oauth.github-client-secret": "Palabra secreta del Cliente de GitHub", + "admin.config.oauth.github-client-secret.description": "Secreto de cliente de la aplicación OAuth de GitHub", "admin.config.oauth.google-enabled": "Google", - "admin.config.oauth.google-enabled.description": "Whether Google login is enabled", - "admin.config.oauth.google-client-id": "Google Client ID", - "admin.config.oauth.google-client-id.description": "Client ID of the Google OAuth app", - "admin.config.oauth.google-client-secret": "Google Client secret", - "admin.config.oauth.google-client-secret.description": "Client secret of the Google OAuth app", + "admin.config.oauth.google-enabled.description": "Si el inicio de sesión de Google está habilitado", + "admin.config.oauth.google-client-id": "ID del Cliente de Google", + "admin.config.oauth.google-client-id.description": "ID de cliente de la aplicación de Google OAuth", + "admin.config.oauth.google-client-secret": "Palabra secreta del cliente de Google", + "admin.config.oauth.google-client-secret.description": "Secreto del cliente de la aplicación Google OAuth", "admin.config.oauth.microsoft-enabled": "Microsoft", "admin.config.oauth.microsoft-enabled.description": "Whether Microsoft login is enabled", "admin.config.oauth.microsoft-tenant": "Microsoft Tenant", @@ -353,6 +353,8 @@ export default { "admin.config.oauth.microsoft-client-secret.description": "Client secret of the Microsoft OAuth app", "admin.config.oauth.discord-enabled": "Discord", "admin.config.oauth.discord-enabled.description": "Whether Discord login is enabled", + "admin.config.oauth.discord-limited-guild": "Discord limited server ID", + "admin.config.oauth.discord-limited-guild.description": "Limit signing in to users in a specific server. Leave it blank to disable.", "admin.config.oauth.discord-client-id": "Discord Client ID", "admin.config.oauth.discord-client-id.description": "Client ID of the Discord OAuth app", "admin.config.oauth.discord-client-secret": "Discord Client secret", @@ -375,10 +377,13 @@ export default { "error.msg.default": "Something went wrong.", "error.msg.access_denied": "You canceled the authentication process, please try again.", "error.msg.expired_token": "The authentication process took too long, please try again.", + "error.msg.invalid_token": "Internal Error", "error.msg.no_user": "User linked to this {0} account doesn't exist.", "error.msg.no_email": "Can't get email address from this {0} account.", "error.msg.already_linked": "This {0} account is already linked to another account.", "error.msg.not_linked": "This {0} account haven't linked to any account yet.", + "error.msg.unverified_account": "This {0} account is unverified, please try again after verification.", + "error.msg.discord_guild_permission_denied": "You are not allowed to sign in.", "error.param.provider_github": "GitHub", "error.param.provider_google": "Google", "error.param.provider_microsoft": "Microsoft", diff --git a/frontend/src/i18n/translations/fi-FI.ts b/frontend/src/i18n/translations/fi-FI.ts index 5ea13486..9888c0e5 100644 --- a/frontend/src/i18n/translations/fi-FI.ts +++ b/frontend/src/i18n/translations/fi-FI.ts @@ -353,6 +353,8 @@ export default { "admin.config.oauth.microsoft-client-secret.description": "Client secret of the Microsoft OAuth app", "admin.config.oauth.discord-enabled": "Discord", "admin.config.oauth.discord-enabled.description": "Whether Discord login is enabled", + "admin.config.oauth.discord-limited-guild": "Discord limited server ID", + "admin.config.oauth.discord-limited-guild.description": "Limit signing in to users in a specific server. Leave it blank to disable.", "admin.config.oauth.discord-client-id": "Discord Client ID", "admin.config.oauth.discord-client-id.description": "Client ID of the Discord OAuth app", "admin.config.oauth.discord-client-secret": "Discord Client secret", @@ -375,10 +377,13 @@ export default { "error.msg.default": "Something went wrong.", "error.msg.access_denied": "You canceled the authentication process, please try again.", "error.msg.expired_token": "The authentication process took too long, please try again.", + "error.msg.invalid_token": "Internal Error", "error.msg.no_user": "User linked to this {0} account doesn't exist.", "error.msg.no_email": "Can't get email address from this {0} account.", "error.msg.already_linked": "This {0} account is already linked to another account.", "error.msg.not_linked": "This {0} account haven't linked to any account yet.", + "error.msg.unverified_account": "This {0} account is unverified, please try again after verification.", + "error.msg.discord_guild_permission_denied": "You are not allowed to sign in.", "error.param.provider_github": "GitHub", "error.param.provider_google": "Google", "error.param.provider_microsoft": "Microsoft", diff --git a/frontend/src/i18n/translations/fr-FR.ts b/frontend/src/i18n/translations/fr-FR.ts index f43b91b5..f34b5866 100644 --- a/frontend/src/i18n/translations/fr-FR.ts +++ b/frontend/src/i18n/translations/fr-FR.ts @@ -353,6 +353,8 @@ export default { "admin.config.oauth.microsoft-client-secret.description": "Le secret du client de l’application Microsoft OAuth", "admin.config.oauth.discord-enabled": "Discord", "admin.config.oauth.discord-enabled.description": "Permettre la connexion via Discord.", + "admin.config.oauth.discord-limited-guild": "Discord limited server ID", + "admin.config.oauth.discord-limited-guild.description": "Limit signing in to users in a specific server. Leave it blank to disable.", "admin.config.oauth.discord-client-id": "ID du client Discord", "admin.config.oauth.discord-client-id.description": "L’ID du client de l’application OAuth Discord", "admin.config.oauth.discord-client-secret": "Secret du client Discord", @@ -375,10 +377,13 @@ export default { "error.msg.default": "Quelque chose a mal tourné.", "error.msg.access_denied": "Vous avez annulé le processus d’authentification, veuillez réessayer.", "error.msg.expired_token": "Le processus d’authentification a pris trop de temps, veuillez réessayer.", + "error.msg.invalid_token": "Internal Error", "error.msg.no_user": "L’utilisateur associé au compte {0} n’existe pas.", "error.msg.no_email": "Impossible d’obtenir le courriel du compte {0}.", "error.msg.already_linked": "Le compte {0} est déjà associé à un autre compte.", "error.msg.not_linked": "Le compte {0} n’est pas encore associé à compte.", + "error.msg.unverified_account": "This {0} account is unverified, please try again after verification.", + "error.msg.discord_guild_permission_denied": "You are not allowed to sign in.", "error.param.provider_github": "GitHub", "error.param.provider_google": "Google", "error.param.provider_microsoft": "Microsoft", diff --git a/frontend/src/i18n/translations/ja-JP.ts b/frontend/src/i18n/translations/ja-JP.ts index 4b7b4fc2..83b0a5d9 100644 --- a/frontend/src/i18n/translations/ja-JP.ts +++ b/frontend/src/i18n/translations/ja-JP.ts @@ -353,6 +353,8 @@ export default { "admin.config.oauth.microsoft-client-secret.description": "Microsoft OAuthアプリのクライアントシークレット", "admin.config.oauth.discord-enabled": "Discord", "admin.config.oauth.discord-enabled.description": "Discordアカウントを使用したログインを許可するかどうかを設定します", + "admin.config.oauth.discord-limited-guild": "Discord limited server ID", + "admin.config.oauth.discord-limited-guild.description": "Limit signing in to users in a specific server. Leave it blank to disable.", "admin.config.oauth.discord-client-id": "Discord クライアントID", "admin.config.oauth.discord-client-id.description": "Discord OAuthアプリのクライアントID", "admin.config.oauth.discord-client-secret": "Discord クライアントシークレット", @@ -375,10 +377,13 @@ export default { "error.msg.default": "問題が発生しました。", "error.msg.access_denied": "認証処理を中止しました、後で再度お試しください。", "error.msg.expired_token": "認証処理に時間がかかりすぎています、後で再度お試しください。", + "error.msg.invalid_token": "Internal Error", "error.msg.no_user": "この{0} アカウントにリンクしたユーザーが存在しません。", "error.msg.no_email": "この{0} アカウントからメールアドレスを取得出来ません。", "error.msg.already_linked": "この{0} アカウントは、既に別のアカウントにリンクされています。", "error.msg.not_linked": "この{0} アカウントはどのアカウントにもリンクされていません。", + "error.msg.unverified_account": "This {0} account is unverified, please try again after verification.", + "error.msg.discord_guild_permission_denied": "You are not allowed to sign in.", "error.param.provider_github": "GitHub", "error.param.provider_google": "Google", "error.param.provider_microsoft": "Microsoft", diff --git a/frontend/src/i18n/translations/nl-BE.ts b/frontend/src/i18n/translations/nl-BE.ts index 4cc4468a..099493bb 100644 --- a/frontend/src/i18n/translations/nl-BE.ts +++ b/frontend/src/i18n/translations/nl-BE.ts @@ -353,6 +353,8 @@ export default { "admin.config.oauth.microsoft-client-secret.description": "Client secret of the Microsoft OAuth app", "admin.config.oauth.discord-enabled": "Discord", "admin.config.oauth.discord-enabled.description": "Whether Discord login is enabled", + "admin.config.oauth.discord-limited-guild": "Discord limited server ID", + "admin.config.oauth.discord-limited-guild.description": "Limit signing in to users in a specific server. Leave it blank to disable.", "admin.config.oauth.discord-client-id": "Discord Client ID", "admin.config.oauth.discord-client-id.description": "Client ID of the Discord OAuth app", "admin.config.oauth.discord-client-secret": "Discord Client secret", @@ -375,10 +377,13 @@ export default { "error.msg.default": "Something went wrong.", "error.msg.access_denied": "You canceled the authentication process, please try again.", "error.msg.expired_token": "The authentication process took too long, please try again.", + "error.msg.invalid_token": "Internal Error", "error.msg.no_user": "User linked to this {0} account doesn't exist.", "error.msg.no_email": "Can't get email address from this {0} account.", "error.msg.already_linked": "This {0} account is already linked to another account.", "error.msg.not_linked": "This {0} account haven't linked to any account yet.", + "error.msg.unverified_account": "This {0} account is unverified, please try again after verification.", + "error.msg.discord_guild_permission_denied": "You are not allowed to sign in.", "error.param.provider_github": "GitHub", "error.param.provider_google": "Google", "error.param.provider_microsoft": "Microsoft", diff --git a/frontend/src/i18n/translations/pl-PL.ts b/frontend/src/i18n/translations/pl-PL.ts index 7eb51d91..87029717 100644 --- a/frontend/src/i18n/translations/pl-PL.ts +++ b/frontend/src/i18n/translations/pl-PL.ts @@ -353,6 +353,8 @@ export default { "admin.config.oauth.microsoft-client-secret.description": "Sekret klienta aplikacji Microsoft OAuth", "admin.config.oauth.discord-enabled": "Discord", "admin.config.oauth.discord-enabled.description": "Czy jest włączony login na Discord", + "admin.config.oauth.discord-limited-guild": "ID ograniczonego serwera Discord", + "admin.config.oauth.discord-limited-guild.description": "Ogranicz logowanie do użytkowników na określonym serwerze. Pozostaw puste, aby wyłączyć.", "admin.config.oauth.discord-client-id": "ID klienta Discord", "admin.config.oauth.discord-client-id.description": "ID klienta aplikacji Discord OAuth", "admin.config.oauth.discord-client-secret": "Sekret klienta Discord", @@ -375,10 +377,13 @@ export default { "error.msg.default": "Coś poszło nie tak.", "error.msg.access_denied": "Anulowałeś proces uwierzytelniania, spróbuj ponownie.", "error.msg.expired_token": "Proces uwierzytelniania trwał zbyt długo, spróbuj ponownie.", + "error.msg.invalid_token": "Błąd wewnętrzny", "error.msg.no_user": "Użytkownik powiązany z tym kontem {0} nie istnieje.", "error.msg.no_email": "Nie można pobrać adresu e-mail z tego konta {0}.", "error.msg.already_linked": "To konto {0} zostało już połączone z innym kontem.", "error.msg.not_linked": "To konto {0} nie zostało jeszcze połączone z żadnym kontem.", + "error.msg.unverified_account": "To konto {0} nie zostało zweryfikowane, spróbuj ponownie po weryfikacji.", + "error.msg.discord_guild_permission_denied": "Nie możesz się zalogować.", "error.param.provider_github": "GitHub", "error.param.provider_google": "Google", "error.param.provider_microsoft": "Microsoft", diff --git a/frontend/src/i18n/translations/pt-BR.ts b/frontend/src/i18n/translations/pt-BR.ts index bccf537f..aed57c6d 100644 --- a/frontend/src/i18n/translations/pt-BR.ts +++ b/frontend/src/i18n/translations/pt-BR.ts @@ -353,6 +353,8 @@ export default { "admin.config.oauth.microsoft-client-secret.description": "Client secret do aplicativo Microsoft OAuth", "admin.config.oauth.discord-enabled": "Discord", "admin.config.oauth.discord-enabled.description": "Se o login do Discord está habilitado", + "admin.config.oauth.discord-limited-guild": "Discord limited server ID", + "admin.config.oauth.discord-limited-guild.description": "Limit signing in to users in a specific server. Leave it blank to disable.", "admin.config.oauth.discord-client-id": "ID do Cliente Discord", "admin.config.oauth.discord-client-id.description": "ID do cliente do aplicativo Discord OAuth", "admin.config.oauth.discord-client-secret": "Segredo do Cliente Discord", @@ -375,10 +377,13 @@ export default { "error.msg.default": "Algo deu errado.", "error.msg.access_denied": "Você cancelou o processo de autenticação, por favor, tente novamente.", "error.msg.expired_token": "O processo de autenticação demorou muito. Por favor, tente novamente.", + "error.msg.invalid_token": "Internal Error", "error.msg.no_user": "O usuário vinculado a esta conta {0} não existe.", "error.msg.no_email": "Não é possível obter o endereço de e-mail desta conta {0}.", "error.msg.already_linked": "Esta conta {0} já está vinculada a outra conta.", "error.msg.not_linked": "Esta conta {0} ainda não foi vinculada a nenhuma conta.", + "error.msg.unverified_account": "This {0} account is unverified, please try again after verification.", + "error.msg.discord_guild_permission_denied": "You are not allowed to sign in.", "error.param.provider_github": "GitHub", "error.param.provider_google": "Google", "error.param.provider_microsoft": "Microsoft", diff --git a/frontend/src/i18n/translations/ru-RU.ts b/frontend/src/i18n/translations/ru-RU.ts index 1d6510b8..3c722918 100644 --- a/frontend/src/i18n/translations/ru-RU.ts +++ b/frontend/src/i18n/translations/ru-RU.ts @@ -353,6 +353,8 @@ export default { "admin.config.oauth.microsoft-client-secret.description": "Секретный ключ клиента в приложении Microsoft OAuth", "admin.config.oauth.discord-enabled": "Discord", "admin.config.oauth.discord-enabled.description": "Включен ли логин Discord", + "admin.config.oauth.discord-limited-guild": "Discord limited server ID", + "admin.config.oauth.discord-limited-guild.description": "Limit signing in to users in a specific server. Leave it blank to disable.", "admin.config.oauth.discord-client-id": "ID клиента Discord", "admin.config.oauth.discord-client-id.description": "ID клиента в приложении Discord OAuth", "admin.config.oauth.discord-client-secret": "Секретный ключ клиента Discord", @@ -375,10 +377,13 @@ export default { "error.msg.default": "Что-то пошло не так.", "error.msg.access_denied": "Вы отменили процесс аутентификации, пожалуйста, попробуйте еще раз.", "error.msg.expired_token": "Процесс аутентификации занял слишком много времени, пожалуйста, попробуйте еще раз.", + "error.msg.invalid_token": "Internal Error", "error.msg.no_user": "Пользователь связанный с учетной записью {0} не существует.", "error.msg.no_email": "Не удается получить адрес электронной почты от учетной записи {0}.", "error.msg.already_linked": "Эта учетная запись {0} уже привязана к другому аккаунту.", "error.msg.not_linked": "Эта учетная запись {0} ещё не привязана ни к одному аккаунту.", + "error.msg.unverified_account": "This {0} account is unverified, please try again after verification.", + "error.msg.discord_guild_permission_denied": "You are not allowed to sign in.", "error.param.provider_github": "GitHub", "error.param.provider_google": "Google", "error.param.provider_microsoft": "Microsoft", diff --git a/frontend/src/i18n/translations/sr-SP.ts b/frontend/src/i18n/translations/sr-SP.ts index 5e5e1bae..1a0c8491 100644 --- a/frontend/src/i18n/translations/sr-SP.ts +++ b/frontend/src/i18n/translations/sr-SP.ts @@ -353,6 +353,8 @@ export default { "admin.config.oauth.microsoft-client-secret.description": "Тајна клијента за Microsot OAuth апликацију", "admin.config.oauth.discord-enabled": "Discord", "admin.config.oauth.discord-enabled.description": "Да ли је пријављивање на Discord омогућено", + "admin.config.oauth.discord-limited-guild": "Discord limited server ID", + "admin.config.oauth.discord-limited-guild.description": "Limit signing in to users in a specific server. Leave it blank to disable.", "admin.config.oauth.discord-client-id": "Discord ИД клијента", "admin.config.oauth.discord-client-id.description": "ИД клијента Discord OAuth апликације", "admin.config.oauth.discord-client-secret": "Discord клијент тајна", @@ -375,10 +377,13 @@ export default { "error.msg.default": "Нешто је пошло наопако.", "error.msg.access_denied": "Отказали сте процес аутентификације, покушајте поново.", "error.msg.expired_token": "Процес аутентификације је трајао предуго, покушајте поново.", + "error.msg.invalid_token": "Internal Error", "error.msg.no_user": "Корисник повезан са овим {0} налогом не постоји.", "error.msg.no_email": "Не могу да добијем адресу е-поште са овог {0} налога.", "error.msg.already_linked": "Овај {0} налог је већ повезан са другим налогом.", "error.msg.not_linked": "Овај {0} налог још увек није повезан ни са једним налогом.", + "error.msg.unverified_account": "This {0} account is unverified, please try again after verification.", + "error.msg.discord_guild_permission_denied": "You are not allowed to sign in.", "error.param.provider_github": "GitHub", "error.param.provider_google": "Google", "error.param.provider_microsoft": "Microsoft", diff --git a/frontend/src/i18n/translations/sv-SE.ts b/frontend/src/i18n/translations/sv-SE.ts index b4964e83..f41dcbaa 100644 --- a/frontend/src/i18n/translations/sv-SE.ts +++ b/frontend/src/i18n/translations/sv-SE.ts @@ -200,7 +200,7 @@ export default { "upload.notify.generic-error": "Ett fel uppstod när din delning skulle slutföras.", "upload.notify.count-failed": "{count} filer kunde inte laddas upp. Försöker igen.", // Dropzone.tsx - "upload.dropzone.title": "Ladde upp filer", + "upload.dropzone.title": "Ladda upp filer", "upload.dropzone.description": "Drag och släpp filer här för att starta din delning. Vi kan endast acceptera filer som är mindre än {maxSize} totalt.", "upload.dropzone.notify.file-too-big": "Dina filer överskrider den maximala storleken på {maxSize}.", // FileList.tsx @@ -353,6 +353,8 @@ export default { "admin.config.oauth.microsoft-client-secret.description": "Client secret of the Microsoft OAuth app", "admin.config.oauth.discord-enabled": "Discord", "admin.config.oauth.discord-enabled.description": "Whether Discord login is enabled", + "admin.config.oauth.discord-limited-guild": "Discord limited server ID", + "admin.config.oauth.discord-limited-guild.description": "Limit signing in to users in a specific server. Leave it blank to disable.", "admin.config.oauth.discord-client-id": "Discord Client ID", "admin.config.oauth.discord-client-id.description": "Client ID of the Discord OAuth app", "admin.config.oauth.discord-client-secret": "Discord Client secret", @@ -375,10 +377,13 @@ export default { "error.msg.default": "Någonting gick fel.", "error.msg.access_denied": "Du avbröt autentiseringsprocessen, försök igen.", "error.msg.expired_token": "Autentiseringsprocessen tog för lång tid, försök igen.", + "error.msg.invalid_token": "Internal Error", "error.msg.no_user": "Användare som är länkad till detta {0} konto finns inte.", "error.msg.no_email": "Kan inte hämta e-postadress från detta {0} konto.", "error.msg.already_linked": "Detta {0} konto är redan länkat till ett annat konto.", "error.msg.not_linked": "Detta {0} konto har ännu inte länkat till något konto.", + "error.msg.unverified_account": "This {0} account is unverified, please try again after verification.", + "error.msg.discord_guild_permission_denied": "You are not allowed to sign in.", "error.param.provider_github": "GitHub", "error.param.provider_google": "Google", "error.param.provider_microsoft": "Microsoft", diff --git a/frontend/src/i18n/translations/th-TH.ts b/frontend/src/i18n/translations/th-TH.ts index ac5a61af..69fc0ae4 100644 --- a/frontend/src/i18n/translations/th-TH.ts +++ b/frontend/src/i18n/translations/th-TH.ts @@ -353,6 +353,8 @@ export default { "admin.config.oauth.microsoft-client-secret.description": "Client secret of the Microsoft OAuth app", "admin.config.oauth.discord-enabled": "Discord", "admin.config.oauth.discord-enabled.description": "Whether Discord login is enabled", + "admin.config.oauth.discord-limited-guild": "Discord limited server ID", + "admin.config.oauth.discord-limited-guild.description": "Limit signing in to users in a specific server. Leave it blank to disable.", "admin.config.oauth.discord-client-id": "Discord Client ID", "admin.config.oauth.discord-client-id.description": "Client ID of the Discord OAuth app", "admin.config.oauth.discord-client-secret": "Discord Client secret", @@ -375,10 +377,13 @@ export default { "error.msg.default": "Something went wrong.", "error.msg.access_denied": "You canceled the authentication process, please try again.", "error.msg.expired_token": "The authentication process took too long, please try again.", + "error.msg.invalid_token": "Internal Error", "error.msg.no_user": "User linked to this {0} account doesn't exist.", "error.msg.no_email": "Can't get email address from this {0} account.", "error.msg.already_linked": "This {0} account is already linked to another account.", "error.msg.not_linked": "This {0} account haven't linked to any account yet.", + "error.msg.unverified_account": "This {0} account is unverified, please try again after verification.", + "error.msg.discord_guild_permission_denied": "You are not allowed to sign in.", "error.param.provider_github": "GitHub", "error.param.provider_google": "Google", "error.param.provider_microsoft": "Microsoft", diff --git a/frontend/src/i18n/translations/zh-CN.ts b/frontend/src/i18n/translations/zh-CN.ts index 9762829a..69a8700e 100644 --- a/frontend/src/i18n/translations/zh-CN.ts +++ b/frontend/src/i18n/translations/zh-CN.ts @@ -353,6 +353,8 @@ export default { "admin.config.oauth.microsoft-client-secret.description": "Client secret of the Microsoft OAuth app", "admin.config.oauth.discord-enabled": "Discord", "admin.config.oauth.discord-enabled.description": "Whether Discord login is enabled", + "admin.config.oauth.discord-limited-guild": "Discord limited server ID", + "admin.config.oauth.discord-limited-guild.description": "Limit signing in to users in a specific server. Leave it blank to disable.", "admin.config.oauth.discord-client-id": "Discord Client ID", "admin.config.oauth.discord-client-id.description": "Client ID of the Discord OAuth app", "admin.config.oauth.discord-client-secret": "Discord Client secret", @@ -375,10 +377,13 @@ export default { "error.msg.default": "Something went wrong.", "error.msg.access_denied": "You canceled the authentication process, please try again.", "error.msg.expired_token": "The authentication process took too long, please try again.", + "error.msg.invalid_token": "Internal Error", "error.msg.no_user": "User linked to this {0} account doesn't exist.", "error.msg.no_email": "Can't get email address from this {0} account.", "error.msg.already_linked": "This {0} account is already linked to another account.", "error.msg.not_linked": "This {0} account haven't linked to any account yet.", + "error.msg.unverified_account": "This {0} account is unverified, please try again after verification.", + "error.msg.discord_guild_permission_denied": "You are not allowed to sign in.", "error.param.provider_github": "GitHub", "error.param.provider_google": "Google", "error.param.provider_microsoft": "Microsoft", diff --git a/frontend/src/i18n/translations/zh-TW.ts b/frontend/src/i18n/translations/zh-TW.ts index eeb3c2ff..1be799de 100644 --- a/frontend/src/i18n/translations/zh-TW.ts +++ b/frontend/src/i18n/translations/zh-TW.ts @@ -1,479 +1,416 @@ export default { - // Navbar - "navbar.upload": "上傳", - "navbar.signin": "登入", - "navbar.home": "首頁", - "navbar.signup": "註冊", - - "navbar.links.shares": "我的分享", - "navbar.links.reverse": "檔案請求", - - "navbar.avatar.account": "帳號設定", - "navbar.avatar.admin": "管理", - "navbar.avatar.signout": "登出", - // END navbar - - // / - "home.title": "自建 檔案分享平台!", - - "home.description": "您真的放心把檔案交到第三方檔案平台手中嗎?", - "home.bullet.a.name": "完全自建", - "home.bullet.a.description": "輕松使用私有服務器搭建檔案分享平台", - "home.bullet.b.name": "完全隱私", - "home.bullet.b.description": "您的檔案只屬於您!不需將它放到第三方檔案平台", - "home.bullet.c.name": "完全無限", - "home.bullet.c.description": "想上傳多大都可以,更需要擔心的是您的存儲空間容量", - - "home.button.start": "開始使用", - "home.button.source": "原始碼", - // END / - - // /auth/signin - "signin.title": "歡迎回來", - "signin.description": "還沒有帳號嗎?請", - "signin.button.signup": "註冊", - "signin.input.email-or-username": "電子郵件或使用者名稱", - "signin.input.email-or-username.placeholder": "請輸入電子郵件或使用者名稱", - "signin.input.password": "密碼", - "signin.input.password.placeholder": "請輸入密碼", - "signin.button.submit": "登入", - "signIn.notify.totp-required.title": "請繼續兩步驗證", - "signIn.notify.totp-required.description": "請輸入一次性驗證碼", - "signIn.oauth.or": "OR", - "signIn.oauth.github": "GitHub", - "signIn.oauth.google": "Google", - "signIn.oauth.microsoft": "Microsoft", - "signIn.oauth.discord": "Discord", - "signIn.oauth.oidc": "OpenID", - - // END /auth/signin - - // /auth/signup - "signup.title": "建立帳號", - "signup.description": "已經有帳號了?請", - "signup.button.signin": "登入", - "signup.input.username": "使用者名稱", - "signup.input.username.placeholder": "請輸入使用者名稱", - "signup.input.email": "電子郵件", - "signup.input.email.placeholder": "請輸入電子郵件", - "signup.button.submit": "註冊", - - // END /auth/signup - - // /auth/totp - "totp.title": "TOTP Authentication", - "totp.button.signIn": "Sign in", - - // END /auth/totp - - // /auth/reset-password - "resetPassword.title": "忘記密碼?", - "resetPassword.description": "請輸入Email以讓系統寄送重置密碼郵件", - "resetPassword.notify.success": "一封包含密碼重置地址的郵件已發送到您的Email", - "resetPassword.button.back": "返回登入頁面", - "resetPassword.text.resetPassword": "重置密碼", - "resetPassword.text.enterNewPassword": "請輸入新密碼", - "resetPassword.input.password": "新密碼", - "resetPassword.notify.passwordReset": "密碼更新成功!", - - // /account - "account.title": "我的帳號", - "account.card.info.title": "帳號資訊", - "account.card.info.username": "使用者名稱", - "account.card.info.email": "Email", - "account.notify.info.success": "帳號資訊更新成功!", - - "account.card.password.title": "密碼", - "account.card.password.old": "舊密碼", - "account.card.password.new": "新密碼", - "account.card.password.noPasswordSet": "並未設定密碼,若希望使用E-mail與密碼進行登入則必須要設定密碼。", - "account.notify.password.success": "密碼更改成功!", - - "account.card.oauth.title": "第三方登入", - "account.card.oauth.github": "GitHub", - "account.card.oauth.google": "Google", - "account.card.oauth.microsoft": "Microsoft", - "account.card.oauth.discord": "Discord", - "account.card.oauth.oidc": "OpenID", - "account.card.oauth.link": "聯結", - "account.card.oauth.unlink": "取消聯結", - "account.card.oauth.unlinked": "已取消聯結", - "account.modal.unlink.title": "取消聯結第三方登入", - "account.modal.unlink.description": "若不記得使用者名稱與密碼,取消聯結第三方登入可能會使您無法登入。", - "account.notify.oauth.unlinked.success": "已完成取消聯結", - - - "account.card.security.title": "安控", - "account.card.security.totp.enable.description": "請輸入當前密碼開啟兩步驗證", - "account.card.security.totp.disable.description": "請輸入當前密碼關閉兩步驗證", - "account.card.security.totp.button.start": "開啟", - "account.modal.totp.title": "開啟兩步驗證", - "account.modal.totp.step1": "第一步:添加驗證應用程式 Authenticator", - "account.modal.totp.step2": "第二步:輸入一次性驗證碼", - "account.modal.totp.enterManually": "手動輸入", - "account.modal.totp.code": "驗證碼", - "account.modal.totp.clickToCopy": "複製", - "account.modal.totp.verify": "確認", - "account.notify.totp.disable": "成功關閉兩步驗證!", - "account.notify.totp.enable": "成功開啟兩步驗證!", - - "account.card.language.title": "語言", - "account.card.language.description": "此專案由社群進行翻譯,部分語言可能尚未完成翻譯。", - "account.card.color.title": "顏色外觀", - - // ThemeSwitcher.tsx - "account.theme.dark": "深色模式", - "account.theme.light": "淺色模式", - "account.theme.system": "比照系統", - - "account.button.delete": "刪除帳號", - "account.modal.delete.title": "刪除帳號", - "account.modal.delete.description": "您真的想刪除您的帳號,並刪除所有的分享嗎?", - // END /account - - // /account/shares - "account.shares.title": "我的分享", - "account.shares.title.empty": "這裡空空如也 👀", - "account.shares.description.empty": "您沒有建立任何分享", - "account.shares.button.create": "建立分享", - - "account.shares.info.title": "分享資訊", - "account.shares.table.id": "ID", - "account.shares.table.name": "分享代號", - "account.shares.table.description": "描述", - "account.shares.table.visitors": "造訪次數", - "account.shares.table.expiresAt": "過期時間", - "account.shares.table.createdAt": "建立時間", - "account.shares.table.size": "檔案大小", - - "account.shares.modal.share-informations": "分享資訊", - "account.shares.modal.share-link": "分享聯結", - - "account.shares.modal.delete.title": "刪除 {share}", - "account.shares.modal.delete.description": "您真的想刪除這個分享嗎?", - - // END /account/shares - - // /account/reverseShares - "account.reverseShares.title": "檔案請求", - "account.reverseShares.description": "檔案請求允許您建立一個特定的上船畫面,以便外部使用者與您分享檔案", - - "account.reverseShares.title.empty": "這里空空如也 👀", - "account.reverseShares.description.empty": "您沒有建立任何檔案請求", - - // showCreateReverseShareModal.tsx - "account.reverseShares.modal.title": "建立檔案請求", - "account.reverseShares.modal.expiration.label": "過期時間", - "account.reverseShares.modal.expiration.minute-singular": "分鐘", - "account.reverseShares.modal.expiration.minute-plural": "分鐘", - "account.reverseShares.modal.expiration.hour-singular": "小時", - "account.reverseShares.modal.expiration.hour-plural": "小時", - "account.reverseShares.modal.expiration.day-singular": "天", - "account.reverseShares.modal.expiration.day-plural": "天", - "account.reverseShares.modal.expiration.week-singular": "周", - "account.reverseShares.modal.expiration.week-plural": "周", - "account.reverseShares.modal.expiration.month-singular": "月", - "account.reverseShares.modal.expiration.month-plural": "月", - "account.reverseShares.modal.expiration.year-singular": "年", - "account.reverseShares.modal.expiration.year-plural": "年", - - "account.reverseShares.modal.max-size.label": "上傳大小上限", - - "account.reverseShares.modal.send-email": "發送Email提醒", - "account.reverseShares.modal.send-email.description": "當這個檔案請求聯結被用於分享時,發送Email提醒", - - "account.reverseShares.modal.max-use.label": "最大使用次數", - "account.reverseShares.modal.max-use.description": "這個檔案請求聯結可被用於建立分享的最大使用次數", - "account.reverseShare.never-expires": "這個檔案請求永不過期", - "account.reverseShare.expires-on": "這個檔案請求將過期於 {expiration}", - - "account.reverseShares.table.no-shares": "當前沒有建立任何分享", - "account.reverseShares.table.count.singular": "分享", - "account.reverseShares.table.count.plural": "分享", - "account.reverseShares.table.shares": "分享", - "account.reverseShares.table.remaining": "剩餘使用次數", - "account.reverseShares.table.max-size": "上傳大小上限", - "account.reverseShares.table.expires": "過期時間", - - "account.reverseShares.modal.reverse-share-link": "檔案請求聯結", - - "account.reverseShares.modal.delete.title": "刪除檔案請求聯結", - "account.reverseShares.modal.delete.description": "您真的想刪除此檔案請求聯結嗎?聯結下所有關聯的檔案都將被刪除", - - // END /account/reverseShares - - // /admin - "admin.title": "管理", - "admin.button.users": "使用者管理", - "admin.button.config": "配置管理", - "admin.version": "版本", - // END /admin - - // /admin/users - "admin.users.title": "使用者管理", - "admin.users.table.username": "使用者名稱", - "admin.users.table.email": "Email", - "admin.users.table.admin": "管理員", - - "admin.users.edit.update.title": "更新使用者 {username}", - "admin.users.edit.update.admin-privileges": "管理員", - "admin.users.edit.update.change-password.title": "更改密碼", - "admin.users.edit.update.change-password.field": "新密碼", - "admin.users.edit.update.change-password.button": "保存新密碼", - "admin.users.edit.update.notify.password.success": "密碼更新成功!", - - "admin.users.edit.delete.title": "刪除使用者 {username}", - "admin.users.edit.delete.description": "您真的想刪除這個帳號,並刪除該使用者所有的分享嗎?", - - // showCreateUserModal.tsx - "admin.users.modal.create.title": "建立使用者", - "admin.users.modal.create.username": "使用者名稱", - "admin.users.modal.create.email": "Email", - "admin.users.modal.create.password": "密碼", - "admin.users.modal.create.manual-password": "手動設置密碼", - "admin.users.modal.create.manual-password.description": "如果不勾選,使用者將會收到一封Email來設置他們的密碼", - "admin.users.modal.create.admin": "管理員", - "admin.users.modal.create.admin.description": "如果勾選,使用者將能查看管理員面板", - - // END /admin/users - - // /upload - "upload.title": "上傳", - - "upload.notify.generic-error": "建立分享的過程中發生了錯誤", - "upload.notify.count-failed": "{count} 檔案上傳失敗,請重試", - - // Dropzone.tsx - "upload.dropzone.title": "上傳檔案", - "upload.dropzone.description": "將檔案拖曳至此以上傳,檔案大小不能超過上限 {maxSize}", - "upload.dropzone.notify.file-too-big": "您的檔案超過了最大上傳限制 {maxSize}", - - // FileList.tsx - "upload.filelist.name": "檔案名稱", - "upload.filelist.size": "檔案大小", - - // showCreateUploadModal.tsx - "upload.modal.title": "建立分享", - "upload.modal.link.error.invalid": "只能包括字母,數字,下劃線(_),和橫線(-)", - "upload.modal.link.error.taken": "這個分享代號已經存在了", - "upload.modal.not-signed-in": "當前沒有登入", - "upload.modal.not-signed-in-description": "您將不能刪除您的分享或查看查看次數", - - "upload.modal.expires.never": "永不", - "upload.modal.expires.never-long": "永不過期", - "upload.modal.expires.error.too-long": "過期時間超出了系統上限設定 {max}。", - - "upload.modal.link.label": "分享聯結", - "upload.modal.expires.label": "過期時間", - "upload.modal.expires.minute-singular": "分鐘", - "upload.modal.expires.minute-plural": "分鐘", - "upload.modal.expires.hour-singular": "小時", - "upload.modal.expires.hour-plural": "小時", - "upload.modal.expires.day-singular": "天", - "upload.modal.expires.day-plural": "天", - "upload.modal.expires.week-singular": "周", - "upload.modal.expires.week-plural": "周", - "upload.modal.expires.month-singular": "月", - "upload.modal.expires.month-plural": "月", - "upload.modal.expires.year-singular": "年", - "upload.modal.expires.year-plural": "年", - - "upload.modal.accordion.description.title": "描述", - "upload.modal.accordion.description.placeholder": "分享檔案備註資訊", - - "upload.modal.accordion.email.title": "Email提醒", - "upload.modal.accordion.email.placeholder": "收件人Email地址", - "upload.modal.accordion.email.invalid-email": "Email地址不可用", - - "upload.modal.accordion.security.title": "安控", - "upload.modal.accordion.security.password.label": "密碼保護", - "upload.modal.accordion.security.password.placeholder": "無密碼", - "upload.modal.accordion.security.max-views.label": "最大查看次數", - "upload.modal.accordion.security.max-views.placeholder": "無限", - - // showCompletedUploadModal.tsx - "upload.modal.completed.never-expires": "這個分享永不過期", - "upload.modal.completed.expires-on": "這個分享將過期於 {expiration}。", - "upload.modal.completed.share-ready": "分享建立完畢", - - // END /upload - - // /share/[id] - "share.title": "分享 {shareId}", - "share.description": "瞧瞧我給您分享了些什麽!", - "share.error.visitor-limit-exceeded.title": "查看次數達到上限", - "share.error.visitor-limit-exceeded.description": "查看次數達到上限", - "share.error.removed.title": "分享已刪除", - "share.error.not-found.title": "分享未找到", - "share.error.not-found.description": "分享檔案遺失了", - - "share.modal.password.title": "需要密碼", - "share.modal.password.description": "請輸入密碼來查看此分享", - "share.modal.password": "密碼", - "share.modal.error.invalid-password": "密碼錯誤", - - "share.button.download-all": "全部下載", - "share.notify.download-all-preparing": "正在處理中,請稍等片刻", - - "share.modal.file-link": "檔案聯結", - "share.table.name": "檔案名稱", - "share.table.size": "檔案大小", - - "share.modal.file-preview.error.not-supported.title": "該檔案類型不支持預覽", - "share.modal.file-preview.error.not-supported.description": "該檔案類型不支持預覽,請下載後打開查看", - - // END /share/[id] - - // /share/[id]/edit - "share.edit.title": "編輯 {shareId}", - "share.edit.append-upload": "追加檔案", - "share.edit.notify.generic-error": "保存分享的過程中發生了錯誤", - "share.edit.notify.save-success": "分享已更新成功", - // END /share/[id]/edit - - // /admin/config - "admin.config.title": "配置管理", - "admin.config.category.general": "通用", - "admin.config.category.share": "分享", - "admin.config.category.email": "Email", - "admin.config.category.smtp": "SMTP", - "admin.config.category.oauth": "第三方登入", - - "admin.config.general.app-name": "App 名稱", - "admin.config.general.app-name.description": "這個 App 的名稱", - "admin.config.general.app-url": "App URL", - "admin.config.general.app-url.description": "Pingvin Share 的 URL", - "admin.config.general.show-home-page": "顯示首頁", - "admin.config.general.show-home-page.description": "是否顯示首頁", - "admin.config.general.logo": "Logo", - "admin.config.general.logo.description": "上傳個性化 Logo,圖片必須是長寬比 1:1 的 PNG 格式", - "admin.config.general.logo.placeholder": "選擇圖片", - - "admin.config.email.enable-share-email-recipients": "開啟分享Email通知", - "admin.config.email.enable-share-email-recipients.description": "是否允許通過Email通知發送分享資訊,需進行 SMTP 設定後此選項才有效", - "admin.config.email.share-recipients-subject": "分享Email通知主題", - "admin.config.email.share-recipients-subject.description": "發送分享Email通知的主題", - "admin.config.email.share-recipients-message": "分享Email通知內容", - "admin.config.email.share-recipients-message.description": "發送到接收者的分享Email通知具體內容。可使用的參數有:\n {creator} - 分享建立者\n {shareUrl} - 分享聯結\n {desc} - 分享描述\n {expires} - 分享過期時間\n 這些參數會被實際的值所替代", - "admin.config.email.reverse-share-subject": "檔案請求Email通知主題", - "admin.config.email.reverse-share-subject.description": "當有人使用了您的檔案請求聯結時,發送的檔案請求通知主題", - "admin.config.email.reverse-share-message": "檔案請求Email通知內容", - "admin.config.email.reverse-share-message.description": "當有人使用了您的檔案請求聯結時,發送的通知內容。{shareUrl} 會被建立者的使用者名稱和分享聯結代替", - "admin.config.email.reset-password-subject": "重置密碼Email通知主題", - "admin.config.email.reset-password-subject.description": "當使用者發動重置密碼時,發送的重置密碼通知主題", - "admin.config.email.reset-password-message": "重置密碼Email通知內容", - "admin.config.email.reset-password-message.description": "當使用者發動重置密碼時,重置密碼通知內容。{url} 會被重置密碼聯結代替", - "admin.config.email.invite-subject": "邀請Email通知主題", - "admin.config.email.invite-subject.description": "當管理員邀請使用者時,發送的邀請通知主題", - "admin.config.email.invite-message": "邀請Email通知內容", - "admin.config.email.invite-message.description": "當管理員邀請使用者時,發送的邀請通知內容。{url} 會被邀請聯結代替,{password} 會被密碼代替", - "admin.config.share.allow-registration": "允許註冊", - "admin.config.share.allow-registration.description": "是否允許註冊", - "admin.config.share.allow-unauthenticated-shares": "是否允許未登入進行分享", - "admin.config.share.allow-unauthenticated-shares.description": "是否允許未登入的使用者建立分享", - "admin.config.share.max-expiration": "最大過期時間", - "admin.config.share.max-expiration.description": "最大過期時間(小時),若設定為0則為永不過期", - "admin.config.share.max-size": "最大檔案上限", - "admin.config.share.max-size.description": "最大檔案上限,單位 bytes (1GB=1024MB=1048576KB=1073741824bytes)", - "admin.config.share.zip-compression-level": "Zip 壓縮等級", - "admin.config.share.zip-compression-level.description": "調整壓縮等級以平衡檔案大小和壓縮速度。 有效值範圍從 0 到 9,其中 0 表示無壓縮,9 表示最大壓縮", - - "admin.config.smtp.enabled": "啟用", - "admin.config.smtp.enabled.description": "是否開啟 SMTP,需輸入Host、Port、發送郵箱、使用者名稱和密碼後才有作用", - "admin.config.smtp.host": "Host", - "admin.config.smtp.host.description": "SMTP Host", - "admin.config.smtp.port": "Port", - "admin.config.smtp.port.description": "SMTP Port", - "admin.config.smtp.email": "發送郵箱", - "admin.config.smtp.email.description": "發送郵箱地址", - "admin.config.smtp.username": "使用者名稱", - "admin.config.smtp.username.description": "SMTP 主機使用者名稱", - "admin.config.smtp.password": "密碼", - "admin.config.smtp.password.description": "SMTP 主機密碼", - "admin.config.smtp.button.test": "發送測試Email", - - "admin.config.oauth.allow-registration": "允許註冊", - "admin.config.oauth.allow-registration.description": "允許使用者以第三方登入註冊", - "admin.config.oauth.ignore-totp": "略過 TOTP", - "admin.config.oauth.ignore-totp.description": "當使用者使用第三方登入時,略過 TOTP 驗證", - "admin.config.oauth.github-enabled": "GitHub", - "admin.config.oauth.github-enabled.description": "啟用 Github 登入", - "admin.config.oauth.github-client-id": "GitHub Client ID", - "admin.config.oauth.github-client-id.description": "GitHub OAuth 的 Client ID", - "admin.config.oauth.github-client-secret": "GitHub Client secret", - "admin.config.oauth.github-client-secret.description": "GitHub OAuth 的 Client secret", - "admin.config.oauth.google-enabled": "Google", - "admin.config.oauth.google-enabled.description": "啟用 Google 登入", - "admin.config.oauth.google-client-id": "Google Client ID", - "admin.config.oauth.google-client-id.description": "Google OAuth 的 Client ID", - "admin.config.oauth.google-client-secret": "Google Client secret", - "admin.config.oauth.google-client-secret.description": "Google OAuth 的 Client secret", - "admin.config.oauth.microsoft-enabled": "Microsoft", - "admin.config.oauth.microsoft-enabled.description": "啟用 Microsoft 登入", - "admin.config.oauth.microsoft-tenant": "Microsoft Tenant", - "admin.config.oauth.microsoft-tenant.description": "Microsoft OAuth 的 Tenant ID\ncommon: 擁有 Microsoft Entra ID 的個人 Microsoft 帳號和工作或學校帳號的使用者可以登入該應用程式。\norganizations: 擁有 Microsoft Entra ID 的工作或學校帳號的使用者才能登入應用程式。\nconsumers: 只有擁有個人 Microsoft 帳號的使用者才能登入該應用程式。\ndomain name of the Microsoft Entra tenant or the tenant ID in GUID format: 只有來自特定 Microsoft Entra 租戶的使用者(具有工作或學校帳號的目錄成員或具有個人 Microsoft 帳號的目錄成員)才能登入應用程式。", - "admin.config.oauth.microsoft-client-id": "Microsoft Client ID", - "admin.config.oauth.microsoft-client-id.description": "Microsoft OAuth 的 Client ID", - "admin.config.oauth.microsoft-client-secret": "Microsoft Client secret", - "admin.config.oauth.microsoft-client-secret.description": "Microsoft OAuth 的 Client secret", - "admin.config.oauth.discord-enabled": "Discord", - "admin.config.oauth.discord-enabled.description": "啟用 Discord 登入", - "admin.config.oauth.discord-client-id": "Discord Client ID", - "admin.config.oauth.discord-client-id.description": "Discord OAuth 的 Client ID", - "admin.config.oauth.discord-client-secret": "Discord Client secret", - "admin.config.oauth.discord-client-secret.description": "Discord OAuth 的 Client secret", - "admin.config.oauth.oidc-enabled": "OpenID", - "admin.config.oauth.oidc-enabled.description": "啟用 OpenID 登入", - "admin.config.oauth.oidc-discovery-uri": "OpenID Discovery URI", - "admin.config.oauth.oidc-discovery-uri.description": "OpenID OAuth 的 Discovery URI", - "admin.config.oauth.oidc-client-id": "OpenID Client ID", - "admin.config.oauth.oidc-client-id.description": "OpenID OAuth 的 Client ID", - "admin.config.oauth.oidc-client-secret": "OpenID Client secret", - "admin.config.oauth.oidc-client-secret.description": "OpenID OAuth 的 Client secret", - - // 404 - "404.description": "查無此頁", - "404.button.home": "返回主頁", - - // error - "error.title": "Error", - "error.description": "Oops!", - "error.button.back": "返回上一頁", - "error.msg.default": "發生預期外的問題。", - "error.msg.access_denied": "您取消了身分驗證,請重試。", - "error.msg.expired_token": "身分驗證過程逾時,請重試。", - "error.msg.no_user": "與此 {0} 帳號關聯的使用者不存在。", - "error.msg.no_email": "無法從此 {0} 帳號取得Email地址。", - "error.msg.already_linked": "此 {0} 帳號已與另一個帳號關聯。", - "error.msg.not_linked": "此 {0} 帳號尚未關聯到任何帳號。", - "error.param.provider_github": "GitHub", - "error.param.provider_google": "Google", - "error.param.provider_microsoft": "Microsoft", - "error.param.provider_discord": "Discord", - "error.param.provider_oidc": "OpenID", - - // Common translations - "common.button.save": "儲存", - "common.button.create": "建立", - "common.button.submit": "送出", - "common.button.delete": "刪除", - "common.button.cancel": "取消", - "common.button.confirm": "確認", - "common.button.disable": "關閉", - "common.button.share": "分享", - "common.button.generate": "自動產生", - "common.button.done": "完成", - "common.text.link": "聯結", - "common.text.or": "或", - "common.button.go-back": "返回", - "common.notify.copied": "已複製到剪貼簿", - "common.success": "成功", - "common.error": "錯誤", - "common.error.unknown": "發生預期外錯誤", - "common.error.invalid-email": "Email地址不可用", - "common.error.too-short": "必須不少於 {length} 個字元", - "common.error.too-long": "必須不超過 {length} 個字元", - "common.error.exact-length": "必須為 {length} 個字元", - "common.error.invalid-number": "必須為數字", - "common.error.field-required": "必填" + // Navbar + "navbar.upload": "上傳", + "navbar.signin": "登入", + "navbar.home": "首頁", + "navbar.signup": "註冊", + "navbar.links.shares": "我的分享", + "navbar.links.reverse": "檔案請求", + "navbar.avatar.account": "帳號設定", + "navbar.avatar.admin": "管理", + "navbar.avatar.signout": "登出", + // END navbar + // / + "home.title": "自建 檔案分享平台!", + "home.description": "您真的放心把檔案交到第三方檔案平台手中嗎?", + "home.bullet.a.name": "完全自建", + "home.bullet.a.description": "輕松使用私有服務器搭建檔案分享平台", + "home.bullet.b.name": "完全隱私", + "home.bullet.b.description": "您的檔案只屬於您!不需將它放到第三方檔案平台", + "home.bullet.c.name": "完全無限", + "home.bullet.c.description": "想上傳多大都可以,更需要擔心的是您的存儲空間容量", + "home.button.start": "開始使用", + "home.button.source": "原始碼", + // END / + // /auth/signin + "signin.title": "歡迎回來", + "signin.description": "還沒有帳號嗎?請", + "signin.button.signup": "註冊", + "signin.input.email-or-username": "電子郵件或使用者名稱", + "signin.input.email-or-username.placeholder": "請輸入電子郵件或使用者名稱", + "signin.input.password": "密碼", + "signin.input.password.placeholder": "請輸入密碼", + "signin.button.submit": "登入", + "signIn.notify.totp-required.title": "請繼續兩步驗證", + "signIn.notify.totp-required.description": "請輸入一次性驗證碼", + "signIn.oauth.or": "OR", + "signIn.oauth.github": "GitHub", + "signIn.oauth.google": "Google", + "signIn.oauth.microsoft": "Microsoft", + "signIn.oauth.discord": "Discord", + "signIn.oauth.oidc": "OpenID", + // END /auth/signin + // /auth/signup + "signup.title": "建立帳號", + "signup.description": "已經有帳號了?請", + "signup.button.signin": "登入", + "signup.input.username": "使用者名稱", + "signup.input.username.placeholder": "請輸入使用者名稱", + "signup.input.email": "電子郵件", + "signup.input.email.placeholder": "請輸入電子郵件", + "signup.button.submit": "註冊", + // END /auth/signup + // /auth/totp + "totp.title": "TOTP Authentication", + "totp.button.signIn": "Sign in", + // END /auth/totp + // /auth/reset-password + "resetPassword.title": "忘記密碼?", + "resetPassword.description": "請輸入Email以讓系統寄送重置密碼郵件", + "resetPassword.notify.success": "一封包含密碼重置地址的郵件已發送到您的Email", + "resetPassword.button.back": "返回登入頁面", + "resetPassword.text.resetPassword": "重置密碼", + "resetPassword.text.enterNewPassword": "請輸入新密碼", + "resetPassword.input.password": "新密碼", + "resetPassword.notify.passwordReset": "密碼更新成功!", + // /account + "account.title": "我的帳號", + "account.card.info.title": "帳號資訊", + "account.card.info.username": "使用者名稱", + "account.card.info.email": "Email", + "account.notify.info.success": "帳號資訊更新成功!", + "account.card.password.title": "密碼", + "account.card.password.old": "舊密碼", + "account.card.password.new": "新密碼", + "account.card.password.noPasswordSet": "並未設定密碼,若希望使用E-mail與密碼進行登入則必須要設定密碼。", + "account.notify.password.success": "密碼更改成功!", + "account.card.oauth.title": "第三方登入", + "account.card.oauth.github": "GitHub", + "account.card.oauth.google": "Google", + "account.card.oauth.microsoft": "Microsoft", + "account.card.oauth.discord": "Discord", + "account.card.oauth.oidc": "OpenID", + "account.card.oauth.link": "聯結", + "account.card.oauth.unlink": "取消聯結", + "account.card.oauth.unlinked": "已取消聯結", + "account.modal.unlink.title": "取消聯結第三方登入", + "account.modal.unlink.description": "若不記得使用者名稱與密碼,取消聯結第三方登入可能會使您無法登入。", + "account.notify.oauth.unlinked.success": "已完成取消聯結", + "account.card.security.title": "安控", + "account.card.security.totp.enable.description": "請輸入當前密碼開啟兩步驗證", + "account.card.security.totp.disable.description": "請輸入當前密碼關閉兩步驗證", + "account.card.security.totp.button.start": "開啟", + "account.modal.totp.title": "開啟兩步驗證", + "account.modal.totp.step1": "第一步:添加驗證應用程式 Authenticator", + "account.modal.totp.step2": "第二步:輸入一次性驗證碼", + "account.modal.totp.enterManually": "手動輸入", + "account.modal.totp.code": "驗證碼", + "account.modal.totp.clickToCopy": "複製", + "account.modal.totp.verify": "確認", + "account.notify.totp.disable": "成功關閉兩步驗證!", + "account.notify.totp.enable": "成功開啟兩步驗證!", + "account.card.language.title": "語言", + "account.card.language.description": "此專案由社群進行翻譯,部分語言可能尚未完成翻譯。", + "account.card.color.title": "顏色外觀", + // ThemeSwitcher.tsx + "account.theme.dark": "深色模式", + "account.theme.light": "淺色模式", + "account.theme.system": "比照系統", + "account.button.delete": "刪除帳號", + "account.modal.delete.title": "刪除帳號", + "account.modal.delete.description": "您真的想刪除您的帳號,並刪除所有的分享嗎?", + // END /account + // /account/shares + "account.shares.title": "我的分享", + "account.shares.title.empty": "這裡空空如也 👀", + "account.shares.description.empty": "您沒有建立任何分享", + "account.shares.button.create": "建立分享", + "account.shares.info.title": "分享資訊", + "account.shares.table.id": "ID", + "account.shares.table.name": "分享代號", + "account.shares.table.description": "描述", + "account.shares.table.visitors": "造訪次數", + "account.shares.table.expiresAt": "過期時間", + "account.shares.table.createdAt": "建立時間", + "account.shares.table.size": "檔案大小", + "account.shares.modal.share-informations": "分享資訊", + "account.shares.modal.share-link": "分享聯結", + "account.shares.modal.delete.title": "刪除 {share}", + "account.shares.modal.delete.description": "您真的想刪除這個分享嗎?", + // END /account/shares + // /account/reverseShares + "account.reverseShares.title": "檔案請求", + "account.reverseShares.description": "檔案請求允許您建立一個特定的上船畫面,以便外部使用者與您分享檔案", + "account.reverseShares.title.empty": "這里空空如也 👀", + "account.reverseShares.description.empty": "您沒有建立任何檔案請求", + // showCreateReverseShareModal.tsx + "account.reverseShares.modal.title": "建立檔案請求", + "account.reverseShares.modal.expiration.label": "過期時間", + "account.reverseShares.modal.expiration.minute-singular": "分鐘", + "account.reverseShares.modal.expiration.minute-plural": "分鐘", + "account.reverseShares.modal.expiration.hour-singular": "小時", + "account.reverseShares.modal.expiration.hour-plural": "小時", + "account.reverseShares.modal.expiration.day-singular": "天", + "account.reverseShares.modal.expiration.day-plural": "天", + "account.reverseShares.modal.expiration.week-singular": "周", + "account.reverseShares.modal.expiration.week-plural": "周", + "account.reverseShares.modal.expiration.month-singular": "月", + "account.reverseShares.modal.expiration.month-plural": "月", + "account.reverseShares.modal.expiration.year-singular": "年", + "account.reverseShares.modal.expiration.year-plural": "年", + "account.reverseShares.modal.max-size.label": "上傳大小上限", + "account.reverseShares.modal.send-email": "發送Email提醒", + "account.reverseShares.modal.send-email.description": "當這個檔案請求聯結被用於分享時,發送Email提醒", + "account.reverseShares.modal.max-use.label": "最大使用次數", + "account.reverseShares.modal.max-use.description": "這個檔案請求聯結可被用於建立分享的最大使用次數", + "account.reverseShare.never-expires": "這個檔案請求永不過期", + "account.reverseShare.expires-on": "這個檔案請求將過期於 {expiration}", + "account.reverseShares.table.no-shares": "當前沒有建立任何分享", + "account.reverseShares.table.count.singular": "分享", + "account.reverseShares.table.count.plural": "分享", + "account.reverseShares.table.shares": "分享", + "account.reverseShares.table.remaining": "剩餘使用次數", + "account.reverseShares.table.max-size": "上傳大小上限", + "account.reverseShares.table.expires": "過期時間", + "account.reverseShares.modal.reverse-share-link": "檔案請求聯結", + "account.reverseShares.modal.delete.title": "刪除檔案請求聯結", + "account.reverseShares.modal.delete.description": "您真的想刪除此檔案請求聯結嗎?聯結下所有關聯的檔案都將被刪除", + // END /account/reverseShares + // /admin + "admin.title": "管理", + "admin.button.users": "使用者管理", + "admin.button.config": "配置管理", + "admin.version": "版本", + // END /admin + // /admin/users + "admin.users.title": "使用者管理", + "admin.users.table.username": "使用者名稱", + "admin.users.table.email": "Email", + "admin.users.table.admin": "管理員", + "admin.users.edit.update.title": "更新使用者 {username}", + "admin.users.edit.update.admin-privileges": "管理員", + "admin.users.edit.update.change-password.title": "更改密碼", + "admin.users.edit.update.change-password.field": "新密碼", + "admin.users.edit.update.change-password.button": "保存新密碼", + "admin.users.edit.update.notify.password.success": "密碼更新成功!", + "admin.users.edit.delete.title": "刪除使用者 {username}", + "admin.users.edit.delete.description": "您真的想刪除這個帳號,並刪除該使用者所有的分享嗎?", + // showCreateUserModal.tsx + "admin.users.modal.create.title": "建立使用者", + "admin.users.modal.create.username": "使用者名稱", + "admin.users.modal.create.email": "Email", + "admin.users.modal.create.password": "密碼", + "admin.users.modal.create.manual-password": "手動設置密碼", + "admin.users.modal.create.manual-password.description": "如果不勾選,使用者將會收到一封Email來設置他們的密碼", + "admin.users.modal.create.admin": "管理員", + "admin.users.modal.create.admin.description": "如果勾選,使用者將能查看管理員面板", + // END /admin/users + // /upload + "upload.title": "上傳", + "upload.notify.generic-error": "建立分享的過程中發生了錯誤", + "upload.notify.count-failed": "{count} 檔案上傳失敗,請重試", + // Dropzone.tsx + "upload.dropzone.title": "上傳檔案", + "upload.dropzone.description": "將檔案拖曳至此以上傳,檔案大小不能超過上限 {maxSize}", + "upload.dropzone.notify.file-too-big": "您的檔案超過了最大上傳限制 {maxSize}", + // FileList.tsx + "upload.filelist.name": "檔案名稱", + "upload.filelist.size": "檔案大小", + // showCreateUploadModal.tsx + "upload.modal.title": "建立分享", + "upload.modal.link.error.invalid": "只能包括字母,數字,下劃線(_),和橫線(-)", + "upload.modal.link.error.taken": "這個分享代號已經存在了", + "upload.modal.not-signed-in": "當前沒有登入", + "upload.modal.not-signed-in-description": "您將不能刪除您的分享或查看查看次數", + "upload.modal.expires.never": "永不", + "upload.modal.expires.never-long": "永不過期", + "upload.modal.expires.error.too-long": "過期時間超出了系統上限設定 {max}。", + "upload.modal.link.label": "分享聯結", + "upload.modal.expires.label": "過期時間", + "upload.modal.expires.minute-singular": "分鐘", + "upload.modal.expires.minute-plural": "分鐘", + "upload.modal.expires.hour-singular": "小時", + "upload.modal.expires.hour-plural": "小時", + "upload.modal.expires.day-singular": "天", + "upload.modal.expires.day-plural": "天", + "upload.modal.expires.week-singular": "周", + "upload.modal.expires.week-plural": "周", + "upload.modal.expires.month-singular": "月", + "upload.modal.expires.month-plural": "月", + "upload.modal.expires.year-singular": "年", + "upload.modal.expires.year-plural": "年", + "upload.modal.accordion.description.title": "描述", + "upload.modal.accordion.description.placeholder": "分享檔案備註資訊", + "upload.modal.accordion.email.title": "Email提醒", + "upload.modal.accordion.email.placeholder": "收件人Email地址", + "upload.modal.accordion.email.invalid-email": "Email地址不可用", + "upload.modal.accordion.security.title": "安控", + "upload.modal.accordion.security.password.label": "密碼保護", + "upload.modal.accordion.security.password.placeholder": "無密碼", + "upload.modal.accordion.security.max-views.label": "最大查看次數", + "upload.modal.accordion.security.max-views.placeholder": "無限", + // showCompletedUploadModal.tsx + "upload.modal.completed.never-expires": "這個分享永不過期", + "upload.modal.completed.expires-on": "這個分享將過期於 {expiration}。", + "upload.modal.completed.share-ready": "分享建立完畢", + // END /upload + // /share/[id] + "share.title": "分享 {shareId}", + "share.description": "瞧瞧我給您分享了些什麽!", + "share.error.visitor-limit-exceeded.title": "查看次數達到上限", + "share.error.visitor-limit-exceeded.description": "查看次數達到上限", + "share.error.removed.title": "分享已刪除", + "share.error.not-found.title": "分享未找到", + "share.error.not-found.description": "分享檔案遺失了", + "share.modal.password.title": "需要密碼", + "share.modal.password.description": "請輸入密碼來查看此分享", + "share.modal.password": "密碼", + "share.modal.error.invalid-password": "密碼錯誤", + "share.button.download-all": "全部下載", + "share.notify.download-all-preparing": "正在處理中,請稍等片刻", + "share.modal.file-link": "檔案聯結", + "share.table.name": "檔案名稱", + "share.table.size": "檔案大小", + "share.modal.file-preview.error.not-supported.title": "該檔案類型不支持預覽", + "share.modal.file-preview.error.not-supported.description": "該檔案類型不支持預覽,請下載後打開查看", + // END /share/[id] + // /share/[id]/edit + "share.edit.title": "編輯 {shareId}", + "share.edit.append-upload": "追加檔案", + "share.edit.notify.generic-error": "保存分享的過程中發生了錯誤", + "share.edit.notify.save-success": "分享已更新成功", + // END /share/[id]/edit + // /admin/config + "admin.config.title": "配置管理", + "admin.config.category.general": "通用", + "admin.config.category.share": "分享", + "admin.config.category.email": "Email", + "admin.config.category.smtp": "SMTP", + "admin.config.category.oauth": "第三方登入", + "admin.config.general.app-name": "App 名稱", + "admin.config.general.app-name.description": "這個 App 的名稱", + "admin.config.general.app-url": "App URL", + "admin.config.general.app-url.description": "Pingvin Share 的 URL", + "admin.config.general.show-home-page": "顯示首頁", + "admin.config.general.show-home-page.description": "是否顯示首頁", + "admin.config.general.logo": "Logo", + "admin.config.general.logo.description": "上傳個性化 Logo,圖片必須是長寬比 1:1 的 PNG 格式", + "admin.config.general.logo.placeholder": "選擇圖片", + "admin.config.email.enable-share-email-recipients": "開啟分享Email通知", + "admin.config.email.enable-share-email-recipients.description": "是否允許通過Email通知發送分享資訊,需進行 SMTP 設定後此選項才有效", + "admin.config.email.share-recipients-subject": "分享Email通知主題", + "admin.config.email.share-recipients-subject.description": "發送分享Email通知的主題", + "admin.config.email.share-recipients-message": "分享Email通知內容", + "admin.config.email.share-recipients-message.description": "發送到接收者的分享Email通知具體內容。可使用的參數有:\n {creator} - 分享建立者\n {shareUrl} - 分享聯結\n {desc} - 分享描述\n {expires} - 分享過期時間\n 這些參數會被實際的值所替代", + "admin.config.email.reverse-share-subject": "檔案請求Email通知主題", + "admin.config.email.reverse-share-subject.description": "當有人使用了您的檔案請求聯結時,發送的檔案請求通知主題", + "admin.config.email.reverse-share-message": "檔案請求Email通知內容", + "admin.config.email.reverse-share-message.description": "當有人使用了您的檔案請求聯結時,發送的通知內容。{shareUrl} 會被建立者的使用者名稱和分享聯結代替", + "admin.config.email.reset-password-subject": "重置密碼Email通知主題", + "admin.config.email.reset-password-subject.description": "當使用者發動重置密碼時,發送的重置密碼通知主題", + "admin.config.email.reset-password-message": "重置密碼Email通知內容", + "admin.config.email.reset-password-message.description": "當使用者發動重置密碼時,重置密碼通知內容。{url} 會被重置密碼聯結代替", + "admin.config.email.invite-subject": "邀請Email通知主題", + "admin.config.email.invite-subject.description": "當管理員邀請使用者時,發送的邀請通知主題", + "admin.config.email.invite-message": "邀請Email通知內容", + "admin.config.email.invite-message.description": "當管理員邀請使用者時,發送的邀請通知內容。{url} 會被邀請聯結代替,{password} 會被密碼代替", + "admin.config.share.allow-registration": "允許註冊", + "admin.config.share.allow-registration.description": "是否允許註冊", + "admin.config.share.allow-unauthenticated-shares": "是否允許未登入進行分享", + "admin.config.share.allow-unauthenticated-shares.description": "是否允許未登入的使用者建立分享", + "admin.config.share.max-expiration": "最大過期時間", + "admin.config.share.max-expiration.description": "最大過期時間(小時),若設定為0則為永不過期", + "admin.config.share.max-size": "最大檔案上限", + "admin.config.share.max-size.description": "最大檔案上限,單位 bytes (1GB=1024MB=1048576KB=1073741824bytes)", + "admin.config.share.zip-compression-level": "Zip 壓縮等級", + "admin.config.share.zip-compression-level.description": "調整壓縮等級以平衡檔案大小和壓縮速度。 有效值範圍從 0 到 9,其中 0 表示無壓縮,9 表示最大壓縮", + "admin.config.smtp.enabled": "啟用", + "admin.config.smtp.enabled.description": "是否開啟 SMTP,需輸入Host、Port、發送郵箱、使用者名稱和密碼後才有作用", + "admin.config.smtp.host": "Host", + "admin.config.smtp.host.description": "SMTP Host", + "admin.config.smtp.port": "Port", + "admin.config.smtp.port.description": "SMTP Port", + "admin.config.smtp.email": "發送郵箱", + "admin.config.smtp.email.description": "發送郵箱地址", + "admin.config.smtp.username": "使用者名稱", + "admin.config.smtp.username.description": "SMTP 主機使用者名稱", + "admin.config.smtp.password": "密碼", + "admin.config.smtp.password.description": "SMTP 主機密碼", + "admin.config.smtp.button.test": "發送測試Email", + "admin.config.oauth.allow-registration": "允許註冊", + "admin.config.oauth.allow-registration.description": "允許使用者以第三方登入註冊", + "admin.config.oauth.ignore-totp": "略過 TOTP", + "admin.config.oauth.ignore-totp.description": "當使用者使用第三方登入時,略過 TOTP 驗證", + "admin.config.oauth.github-enabled": "GitHub", + "admin.config.oauth.github-enabled.description": "啟用 Github 登入", + "admin.config.oauth.github-client-id": "GitHub Client ID", + "admin.config.oauth.github-client-id.description": "GitHub OAuth 的 Client ID", + "admin.config.oauth.github-client-secret": "GitHub Client secret", + "admin.config.oauth.github-client-secret.description": "GitHub OAuth 的 Client secret", + "admin.config.oauth.google-enabled": "Google", + "admin.config.oauth.google-enabled.description": "啟用 Google 登入", + "admin.config.oauth.google-client-id": "Google Client ID", + "admin.config.oauth.google-client-id.description": "Google OAuth 的 Client ID", + "admin.config.oauth.google-client-secret": "Google Client secret", + "admin.config.oauth.google-client-secret.description": "Google OAuth 的 Client secret", + "admin.config.oauth.microsoft-enabled": "Microsoft", + "admin.config.oauth.microsoft-enabled.description": "啟用 Microsoft 登入", + "admin.config.oauth.microsoft-tenant": "Microsoft Tenant", + "admin.config.oauth.microsoft-tenant.description": "Microsoft OAuth 的 Tenant ID\ncommon: 擁有 Microsoft Entra ID 的個人 Microsoft 帳號和工作或學校帳號的使用者可以登入該應用程式。\norganizations: 擁有 Microsoft Entra ID 的工作或學校帳號的使用者才能登入應用程式。\nconsumers: 只有擁有個人 Microsoft 帳號的使用者才能登入該應用程式。\ndomain name of the Microsoft Entra tenant or the tenant ID in GUID format: 只有來自特定 Microsoft Entra 租戶的使用者(具有工作或學校帳號的目錄成員或具有個人 Microsoft 帳號的目錄成員)才能登入應用程式。", + "admin.config.oauth.microsoft-client-id": "Microsoft Client ID", + "admin.config.oauth.microsoft-client-id.description": "Microsoft OAuth 的 Client ID", + "admin.config.oauth.microsoft-client-secret": "Microsoft Client secret", + "admin.config.oauth.microsoft-client-secret.description": "Microsoft OAuth 的 Client secret", + "admin.config.oauth.discord-enabled": "Discord", + "admin.config.oauth.discord-enabled.description": "啟用 Discord 登入", + "admin.config.oauth.discord-limited-guild": "Discord limited server ID", + "admin.config.oauth.discord-limited-guild.description": "Limit signing in to users in a specific server. Leave it blank to disable.", + "admin.config.oauth.discord-client-id": "Discord Client ID", + "admin.config.oauth.discord-client-id.description": "Discord OAuth 的 Client ID", + "admin.config.oauth.discord-client-secret": "Discord Client secret", + "admin.config.oauth.discord-client-secret.description": "Discord OAuth 的 Client secret", + "admin.config.oauth.oidc-enabled": "OpenID", + "admin.config.oauth.oidc-enabled.description": "啟用 OpenID 登入", + "admin.config.oauth.oidc-discovery-uri": "OpenID Discovery URI", + "admin.config.oauth.oidc-discovery-uri.description": "OpenID OAuth 的 Discovery URI", + "admin.config.oauth.oidc-client-id": "OpenID Client ID", + "admin.config.oauth.oidc-client-id.description": "OpenID OAuth 的 Client ID", + "admin.config.oauth.oidc-client-secret": "OpenID Client secret", + "admin.config.oauth.oidc-client-secret.description": "OpenID OAuth 的 Client secret", + // 404 + "404.description": "查無此頁", + "404.button.home": "返回主頁", + // error + "error.title": "Error", + "error.description": "Oops!", + "error.button.back": "返回上一頁", + "error.msg.default": "發生預期外的問題。", + "error.msg.access_denied": "您取消了身分驗證,請重試。", + "error.msg.expired_token": "身分驗證過程逾時,請重試。", + "error.msg.invalid_token": "Internal Error", + "error.msg.no_user": "與此 {0} 帳號關聯的使用者不存在。", + "error.msg.no_email": "無法從此 {0} 帳號取得Email地址。", + "error.msg.already_linked": "此 {0} 帳號已與另一個帳號關聯。", + "error.msg.not_linked": "此 {0} 帳號尚未關聯到任何帳號。", + "error.msg.unverified_account": "This {0} account is unverified, please try again after verification.", + "error.msg.discord_guild_permission_denied": "You are not allowed to sign in.", + "error.param.provider_github": "GitHub", + "error.param.provider_google": "Google", + "error.param.provider_microsoft": "Microsoft", + "error.param.provider_discord": "Discord", + "error.param.provider_oidc": "OpenID", + // Common translations + "common.button.save": "儲存", + "common.button.create": "建立", + "common.button.submit": "送出", + "common.button.delete": "刪除", + "common.button.cancel": "取消", + "common.button.confirm": "確認", + "common.button.disable": "關閉", + "common.button.share": "分享", + "common.button.generate": "自動產生", + "common.button.done": "完成", + "common.text.link": "聯結", + "common.text.or": "或", + "common.button.go-back": "返回", + "common.notify.copied": "已複製到剪貼簿", + "common.success": "成功", + "common.error": "錯誤", + "common.error.unknown": "發生預期外錯誤", + "common.error.invalid-email": "Email地址不可用", + "common.error.too-short": "必須不少於 {length} 個字元", + "common.error.too-long": "必須不超過 {length} 個字元", + "common.error.exact-length": "必須為 {length} 個字元", + "common.error.invalid-number": "必須為數字", + "common.error.field-required": "必填" }; \ No newline at end of file