Compare commits

...

9 Commits

Author SHA1 Message Date
Elias Schneider
1523d1b5b2 release: 0.21.4 2024-01-09 21:29:29 +01:00
Elias Schneider
ea14e28dd8 chore(translations): update translations via Crowdin (#370)
* New translations en-us.ts (Italian)

* New translations en-us.ts (Italian)

* New translations en-us.ts (Chinese Simplified)

* New translations en-us.ts (Chinese Simplified)

* New translations en-us.ts (Chinese Simplified)

* New translations en-us.ts (German)

* New translations en-us.ts (German)
2024-01-09 15:51:04 +01:00
Ivan Li
d7750086b5 feat(frontend): add navigateToLink button for CopyTextField. close #372. (#376)
* feat(frontend): add navigateToLink button for CopyTextField. close #372.

* chore(frontend): remove unused props for CopyTextField.
2024-01-09 15:50:42 +01:00
Ivan Li
eb7216b4b1 chore(frontend/share): displays the never expire checkbox if the system allows. (#371) 2024-01-07 22:13:59 +01:00
Elias Schneider
1d62225019 Merge branch 'main' of https://github.com/stonith404/pingvin-share 2024-01-04 15:46:43 +01:00
Elias Schneider
bf5250c4a7 ci/cd: remove close inactive issue action 2024-01-04 15:46:40 +01:00
Elias Schneider
cdd0a864d1 chore(translations): update translations via Crowdin (#365)
* New translations en-us.ts (Italian)

* New translations en-us.ts (Danish)

* New translations en-us.ts (Italian)

* New translations en-us.ts (Portuguese, Brazilian)

* New translations en-us.ts (Italian)

* New translations en-us.ts (Dutch, Belgium)

* New translations en-us.ts (Dutch, Belgium)

* New translations en-us.ts (Dutch, Belgium)
2024-01-03 13:48:42 +01:00
Elias Schneider
692c1bef25 release: 0.21.3 2024-01-02 21:40:49 +01:00
Elias Schneider
fe09d0e25f fix: don't show validation error on upload modal if password or max views are empty 2024-01-02 21:33:15 +01:00
16 changed files with 467 additions and 572 deletions

View File

@@ -1,23 +0,0 @@
name: Close inactive issues
on:
schedule:
- cron: "00 00 * * *"
jobs:
close-issues:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/stale@v4
with:
days-before-issue-stale: 30
days-before-issue-close: 14
exempt-issue-labels: "feature"
stale-issue-label: "stale"
stale-issue-message: "This issue is stale because it has been open for 30 days with no activity."
close-issue-message: "This issue was closed because it has been inactive for 14 days since being marked as stale."
days-before-pr-stale: -1
days-before-pr-close: -1
repo-token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -1,3 +1,17 @@
## [0.21.4](https://github.com/stonith404/pingvin-share/compare/v0.21.3...v0.21.4) (2024-01-09)
### Features
* **frontend:** add navigateToLink button for CopyTextField. close [#372](https://github.com/stonith404/pingvin-share/issues/372). ([#376](https://github.com/stonith404/pingvin-share/issues/376)) ([d775008](https://github.com/stonith404/pingvin-share/commit/d7750086b5b796cfc70d8dc0c7d0ab4bd1996ca0))
## [0.21.3](https://github.com/stonith404/pingvin-share/compare/v0.21.2...v0.21.3) (2024-01-02)
### Bug Fixes
* don't show validation error on upload modal if password or max views are empty ([fe09d0e](https://github.com/stonith404/pingvin-share/commit/fe09d0e25f6fbfc4e1c9302054d3387fe8b1f0ea))
## [0.21.2](https://github.com/stonith404/pingvin-share/compare/v0.21.1...v0.21.2) (2023-12-29) ## [0.21.2](https://github.com/stonith404/pingvin-share/compare/v0.21.1...v0.21.2) (2023-12-29)

View File

@@ -1,12 +1,12 @@
{ {
"name": "pingvin-share-backend", "name": "pingvin-share-backend",
"version": "0.21.2", "version": "0.21.4",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "pingvin-share-backend", "name": "pingvin-share-backend",
"version": "0.21.2", "version": "0.21.4",
"dependencies": { "dependencies": {
"@nestjs/cache-manager": "^2.1.0", "@nestjs/cache-manager": "^2.1.0",
"@nestjs/common": "^10.1.2", "@nestjs/common": "^10.1.2",

View File

@@ -1,6 +1,6 @@
{ {
"name": "pingvin-share-backend", "name": "pingvin-share-backend",
"version": "0.21.2", "version": "0.21.4",
"scripts": { "scripts": {
"build": "nest build", "build": "nest build",
"dev": "cross-env NODE_ENV=development nest start --watch", "dev": "cross-env NODE_ENV=development nest start --watch",

View File

@@ -1,12 +1,12 @@
{ {
"name": "pingvin-share-frontend", "name": "pingvin-share-frontend",
"version": "0.21.2", "version": "0.21.4",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "pingvin-share-frontend", "name": "pingvin-share-frontend",
"version": "0.21.2", "version": "0.21.4",
"dependencies": { "dependencies": {
"@emotion/react": "^11.11.1", "@emotion/react": "^11.11.1",
"@emotion/server": "^11.11.0", "@emotion/server": "^11.11.0",

View File

@@ -1,6 +1,6 @@
{ {
"name": "pingvin-share-frontend", "name": "pingvin-share-frontend",
"version": "0.21.2", "version": "0.21.4",
"scripts": { "scripts": {
"dev": "next dev", "dev": "next dev",
"build": "next build", "build": "next build",

View File

@@ -1,7 +1,8 @@
import { ActionIcon, TextInput } from "@mantine/core"; import { ActionIcon, TextInput, Tooltip } from "@mantine/core";
import { useClipboard } from "@mantine/hooks"; import { useClipboard } from "@mantine/hooks";
import { useRef, useState } from "react"; import { useRef, useState } from "react";
import { TbCheck, TbCopy } from "react-icons/tb"; import { TbCheck, TbCopy } from "react-icons/tb";
import { IoOpenOutline } from "react-icons/io5";
import useTranslate from "../../hooks/useTranslate.hook"; import useTranslate from "../../hooks/useTranslate.hook";
import toast from "../../utils/toast.util"; import toast from "../../utils/toast.util";
@@ -37,12 +38,27 @@ function CopyTextField(props: { link: string }) {
setTextClicked(true); setTextClicked(true);
} }
}} }}
rightSectionWidth={62}
rightSection={ rightSection={
window.isSecureContext && ( <>
<ActionIcon onClick={copyLink}> <Tooltip
{checkState ? <TbCheck /> : <TbCopy />} label={t("common.text.navigate-to-link")}
</ActionIcon> position="top"
) offset={-2}
openDelay={200}
>
<a href={props.link}>
<ActionIcon>
<IoOpenOutline />
</ActionIcon>
</a>
</Tooltip>
{window.isSecureContext && (
<ActionIcon onClick={copyLink}>
{checkState ? <TbCheck /> : <TbCopy />}
</ActionIcon>
)}
</>
} }
/> />
); );

View File

@@ -92,8 +92,15 @@ const CreateUploadModalBody = ({
.matches(new RegExp("^[a-zA-Z0-9_-]*$"), { .matches(new RegExp("^[a-zA-Z0-9_-]*$"), {
message: t("upload.modal.link.error.invalid"), message: t("upload.modal.link.error.invalid"),
}), }),
password: yup.string().min(3).max(30), password: yup
maxViews: yup.number().min(1), .string()
.transform((value) => value || undefined)
.min(3)
.max(30),
maxViews: yup
.number()
.transform((value) => value || undefined)
.min(1),
}); });
const form = useForm({ const form = useForm({
@@ -151,8 +158,8 @@ const CreateUploadModalBody = ({
recipients: values.recipients, recipients: values.recipients,
description: values.description, description: values.description,
security: { security: {
password: values.password, password: values.password || undefined,
maxViews: values.maxViews, maxViews: values.maxViews || undefined,
}, },
}, },
files, files,
@@ -275,10 +282,12 @@ const CreateUploadModalBody = ({
/> />
</Col> </Col>
</Grid> </Grid>
<Checkbox {options.maxExpirationInHours == 0 && (
label={t("upload.modal.expires.never-long")} <Checkbox
{...form.getInputProps("never_expires")} label={t("upload.modal.expires.never-long")}
/> {...form.getInputProps("never_expires")}
/>
)}
<Text <Text
italic italic
size="xs" size="xs"

View File

@@ -373,9 +373,9 @@ export default {
"404.description": "Ups! Denne side findes ikke.", "404.description": "Ups! Denne side findes ikke.",
"404.button.home": "Gå tilbage", "404.button.home": "Gå tilbage",
// error // error
"error.title": "Error", "error.title": "Fejl",
"error.description": "Oops!", "error.description": "Hovsa!",
"error.button.back": "Go back", "error.button.back": "Gå tilbage",
"error.msg.default": "Something went wrong.", "error.msg.default": "Something went wrong.",
"error.msg.access_denied": "You canceled the authentication process, please try again.", "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.expired_token": "The authentication process took too long, please try again.",
@@ -385,7 +385,7 @@ export default {
"error.msg.already_linked": "This {0} account is already linked to another 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.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.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.msg.discord_guild_permission_denied": "Du har ikke tilladelse til at logge ind.",
"error.msg.cannot_get_user_info": "Can not get your user info from this {0} account.", "error.msg.cannot_get_user_info": "Can not get your user info from this {0} account.",
"error.param.provider_github": "GitHub", "error.param.provider_github": "GitHub",
"error.param.provider_google": "Google", "error.param.provider_google": "Google",

View File

@@ -57,7 +57,7 @@ export default {
// /auth/reset-password // /auth/reset-password
"resetPassword.title": "Passwort vergessen?", "resetPassword.title": "Passwort vergessen?",
"resetPassword.description": "Gib deine Email Adresse ein, um dein Passwort zurückzusetzen.", "resetPassword.description": "Gib deine Email Adresse ein, um dein Passwort zurückzusetzen.",
"resetPassword.notify.success": "Ein Link zum Rücksetzen des Passwortes wurde an deine Emailadresse versandt.", "resetPassword.notify.success": "Ein Link zum Zurücksetzen des Passwortes wurde an deine Emailadresse versandt.",
"resetPassword.button.back": "Zurück zur Anmeldeseite", "resetPassword.button.back": "Zurück zur Anmeldeseite",
"resetPassword.text.resetPassword": "Passwort zurücksetzen", "resetPassword.text.resetPassword": "Passwort zurücksetzen",
"resetPassword.text.enterNewPassword": "Gib dein neues Passwort ein", "resetPassword.text.enterNewPassword": "Gib dein neues Passwort ein",
@@ -72,20 +72,20 @@ export default {
"account.card.password.title": "Passwort", "account.card.password.title": "Passwort",
"account.card.password.old": "Altes Passwort", "account.card.password.old": "Altes Passwort",
"account.card.password.new": "Neues Passwort", "account.card.password.new": "Neues Passwort",
"account.card.password.noPasswordSet": "You don't have a password set. If you want to sign in with email and password you need to set a password.", "account.card.password.noPasswordSet": "Du hast kein Passwort erstellt. Wenn Du Dich mit E-Mail und Passwort anmelden möchtest, musst Du ein Passwort festlegen.",
"account.notify.password.success": "Passwort erfolgreich geändert", "account.notify.password.success": "Passwort erfolgreich geändert",
"account.card.oauth.title": "Social login", "account.card.oauth.title": "Anmeldung über soziale Netzwerke",
"account.card.oauth.github": "GitHub", "account.card.oauth.github": "GitHub",
"account.card.oauth.google": "Google", "account.card.oauth.google": "Google",
"account.card.oauth.microsoft": "Microsoft", "account.card.oauth.microsoft": "Microsoft",
"account.card.oauth.discord": "Discord", "account.card.oauth.discord": "Discord",
"account.card.oauth.oidc": "OpenID", "account.card.oauth.oidc": "OpenID",
"account.card.oauth.link": "Link", "account.card.oauth.link": "Verknüpfen",
"account.card.oauth.unlink": "Unlink", "account.card.oauth.unlink": "Verknüpfung aufheben",
"account.card.oauth.unlinked": "Unlinked", "account.card.oauth.unlinked": "Verknüpfung aufgehoben",
"account.modal.unlink.title": "Unlink account", "account.modal.unlink.title": "Kontoverknüpfung aufheben",
"account.modal.unlink.description": "Unlinking your social accounts may cause you to lose your account if you don't remember your username and password.", "account.modal.unlink.description": "Das Entfernen der Verknüpfung mit Deinem sozialen Konten kann dazu führen, dass Du Dein Konto verlierst, wenn Du Dich nicht an Deinen Benutzernamen und Dein Passwort erinnerst.",
"account.notify.oauth.unlinked.success": "Unlinked successfully", "account.notify.oauth.unlinked.success": "Verknüpfung erfolgreich aufgehoben",
"account.card.security.title": "Sicherheit", "account.card.security.title": "Sicherheit",
"account.card.security.totp.enable.description": "Gib dein aktuelles Passwort ein, um TOTP zu aktivieren", "account.card.security.totp.enable.description": "Gib dein aktuelles Passwort ein, um TOTP zu aktivieren",
"account.card.security.totp.disable.description": "Gib dein aktuelles Passwort ein, um TOTP zu deaktivieren", "account.card.security.totp.disable.description": "Gib dein aktuelles Passwort ein, um TOTP zu deaktivieren",
@@ -214,7 +214,7 @@ export default {
"upload.modal.not-signed-in-description": "Du wirst deine Freigabe nicht löschen können oder die Besucheranzahl sehen.", "upload.modal.not-signed-in-description": "Du wirst deine Freigabe nicht löschen können oder die Besucheranzahl sehen.",
"upload.modal.expires.never": "niemals", "upload.modal.expires.never": "niemals",
"upload.modal.expires.never-long": "Läuft nicht ab", "upload.modal.expires.never-long": "Läuft nicht ab",
"upload.modal.expires.error.too-long": "Expiration exceeds maximum expiration date of {max}.", "upload.modal.expires.error.too-long": "Ablauf überschreitet das maximale Ablaufdatum von {max}.",
"upload.modal.link.label": "Link", "upload.modal.link.label": "Link",
"upload.modal.expires.label": "Gültig bis", "upload.modal.expires.label": "Gültig bis",
"upload.modal.expires.minute-singular": "Minute", "upload.modal.expires.minute-singular": "Minute",
@@ -265,10 +265,10 @@ export default {
"share.modal.file-preview.error.not-supported.description": "Eine Vorschau für diesen Dateityp wird nicht unterstützt. Bitte lade die Datei herunter, um sie anzuzeigen.", "share.modal.file-preview.error.not-supported.description": "Eine Vorschau für diesen Dateityp wird nicht unterstützt. Bitte lade die Datei herunter, um sie anzuzeigen.",
// END /share/[id] // END /share/[id]
// /share/[id]/edit // /share/[id]/edit
"share.edit.title": "Edit {shareId}", "share.edit.title": "{shareId} bearbeiten",
"share.edit.append-upload": "Append file", "share.edit.append-upload": "Datei anfügen",
"share.edit.notify.generic-error": "An error occurred while finishing your share.", "share.edit.notify.generic-error": "Während der Erstellung der Freigabe ist ein Fehler aufgetreten.",
"share.edit.notify.save-success": "Share updated successfully", "share.edit.notify.save-success": "Freigabe erfolgreich aktualisiert",
// END /share/[id]/edit // END /share/[id]/edit
// /admin/config // /admin/config
"admin.config.title": "Einstellungen", "admin.config.title": "Einstellungen",
@@ -276,7 +276,7 @@ export default {
"admin.config.category.share": "Freigabe", "admin.config.category.share": "Freigabe",
"admin.config.category.email": "E-Mail", "admin.config.category.email": "E-Mail",
"admin.config.category.smtp": "SMTP", "admin.config.category.smtp": "SMTP",
"admin.config.category.oauth": "Social Login", "admin.config.category.oauth": "Anmeldung über soziale Netzwerke",
"admin.config.general.app-name": "App-Name", "admin.config.general.app-name": "App-Name",
"admin.config.general.app-name.description": "Name der Applikation", "admin.config.general.app-name.description": "Name der Applikation",
"admin.config.general.app-url": "App-URL", "admin.config.general.app-url": "App-URL",
@@ -308,8 +308,8 @@ export default {
"admin.config.share.allow-registration.description": "Gibt an, ob eine Registrierung erlaubt ist", "admin.config.share.allow-registration.description": "Gibt an, ob eine Registrierung erlaubt ist",
"admin.config.share.allow-unauthenticated-shares": "Nicht authentifizierte Freigaben erlauben", "admin.config.share.allow-unauthenticated-shares": "Nicht authentifizierte Freigaben erlauben",
"admin.config.share.allow-unauthenticated-shares.description": "Gibt an, ob nicht authentifizierte Benutzer Freigaben erstellen können", "admin.config.share.allow-unauthenticated-shares.description": "Gibt an, ob nicht authentifizierte Benutzer Freigaben erstellen können",
"admin.config.share.max-expiration": "Max expiration", "admin.config.share.max-expiration": "Max. Ablaufdatum",
"admin.config.share.max-expiration.description": "Maximum share expiration in hours. Set to 0 to allow unlimited expiration.", "admin.config.share.max-expiration.description": "Maximale Ablaufzeit in Stunden. Auf 0 setzen, um kein Ablaufdatum zu definieren.",
"admin.config.share.max-size": "Maximale Größe", "admin.config.share.max-size": "Maximale Größe",
"admin.config.share.max-size.description": "Maximale Größe einer Freigabe in Bytes", "admin.config.share.max-size.description": "Maximale Größe einer Freigabe in Bytes",
"admin.config.share.zip-compression-level": "Zip Komprimierungsstufe", "admin.config.share.zip-compression-level": "Zip Komprimierungsstufe",
@@ -327,48 +327,48 @@ export default {
"admin.config.smtp.password": "Passwort", "admin.config.smtp.password": "Passwort",
"admin.config.smtp.password.description": "Passwort des SMTP-Servers", "admin.config.smtp.password.description": "Passwort des SMTP-Servers",
"admin.config.smtp.button.test": "Test-E-Mail senden", "admin.config.smtp.button.test": "Test-E-Mail senden",
"admin.config.oauth.allow-registration": "Allow registration", "admin.config.oauth.allow-registration": "Registrierung erlauben",
"admin.config.oauth.allow-registration.description": "Allow users to register via social login", "admin.config.oauth.allow-registration.description": "Benutzern erlauben, sich über Soziale Netzwerke zu registrieren",
"admin.config.oauth.ignore-totp": "Ignore TOTP", "admin.config.oauth.ignore-totp": "TOTP ignorieren",
"admin.config.oauth.ignore-totp.description": "Whether to ignore TOTP when user using social login", "admin.config.oauth.ignore-totp.description": "Gibt an, ob TOTP ignoriert werden soll, wenn sich der Benutzer über Soziale Netzwerke anmeldet",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "Whether GitHub login is enabled", "admin.config.oauth.github-enabled.description": "GitHub Anmeldung erlaubt",
"admin.config.oauth.github-client-id": "GitHub Client ID", "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-id.description": "Client-ID der GitHub OAuth-App",
"admin.config.oauth.github-client-secret": "GitHub Client secret", "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-client-secret.description": "Client-Secret der GitHub OAuth-App",
"admin.config.oauth.google-enabled": "Google", "admin.config.oauth.google-enabled": "Google",
"admin.config.oauth.google-enabled.description": "Whether Google login is enabled", "admin.config.oauth.google-enabled.description": "Google Anmeldung erlaubt",
"admin.config.oauth.google-client-id": "Google Client ID", "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-id.description": "Client-ID der Google OAuth-App",
"admin.config.oauth.google-client-secret": "Google Client secret", "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-client-secret.description": "Client-Secret der Google OAuth-App",
"admin.config.oauth.microsoft-enabled": "Microsoft", "admin.config.oauth.microsoft-enabled": "Microsoft",
"admin.config.oauth.microsoft-enabled.description": "Whether Microsoft login is enabled", "admin.config.oauth.microsoft-enabled.description": "Microsoft Anmeldung erlaubt",
"admin.config.oauth.microsoft-tenant": "Microsoft Tenant", "admin.config.oauth.microsoft-tenant": "Microsoft Mandant",
"admin.config.oauth.microsoft-tenant.description": "Tenant ID of the Microsoft OAuth app\ncommon: Users with both a personal Microsoft account and a work or school account from Microsoft Entra ID can sign in to the application. organizations: Only users with work or school accounts from Microsoft Entra ID can sign in to the application.\nconsumers: Only users with a personal Microsoft account can sign in to the application.\ndomain name of the Microsoft Entra tenant or the tenant ID in GUID format: Only users from a specific Microsoft Entra tenant (directory members with a work or school account or directory guests with a personal Microsoft account) can sign in to the application.", "admin.config.oauth.microsoft-tenant.description": "Mandant-ID der Microsoft OAuth App\ncommon: Benutzer mit einem persönlichen Microsoft-Konto und einem Arbeits- oder Schulkonto von Microsoft Entra ID können sich in der Anwendung anmelden. organizations: Nur Benutzer mit Arbeits- oder Schulkonten von Microsoft Entra ID können sich in der Anwendung anmelden.\nconsumers: Nur Benutzer mit einem persönlichen Microsoft-Konto können sich in der Anwendung anmelden.\nDomänenname des Microsoft Entra Mandanten oder die Mandanten-ID im GUID-Format: Nur Benutzer eines bestimmten Microsoft Entra Mandanten (Verzeichnismitglieder mit einem Arbeits- oder Schulkonto oder Verzeichnis Gäste mit einem persönlichen Microsoft-Konto) können sich anmelden.",
"admin.config.oauth.microsoft-client-id": "Microsoft Client ID", "admin.config.oauth.microsoft-client-id": "Microsoft Client-ID",
"admin.config.oauth.microsoft-client-id.description": "Client ID of the Microsoft OAuth app", "admin.config.oauth.microsoft-client-id.description": "Client-ID der Microsoft OAuth-App",
"admin.config.oauth.microsoft-client-secret": "Microsoft Client secret", "admin.config.oauth.microsoft-client-secret": "Microsoft Client-Secret",
"admin.config.oauth.microsoft-client-secret.description": "Client secret of the Microsoft OAuth app", "admin.config.oauth.microsoft-client-secret.description": "Client-Secret der Microsoft OAuth-App",
"admin.config.oauth.discord-enabled": "Discord", "admin.config.oauth.discord-enabled": "Discord",
"admin.config.oauth.discord-enabled.description": "Whether Discord login is enabled", "admin.config.oauth.discord-enabled.description": "Discord Anmeldung erlaubt",
"admin.config.oauth.discord-limited-guild": "Discord limited server ID", "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-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": "Discord Client-ID",
"admin.config.oauth.discord-client-id.description": "Client ID of the Discord OAuth app", "admin.config.oauth.discord-client-id.description": "Client-ID der Discord OAuth-App",
"admin.config.oauth.discord-client-secret": "Discord Client secret", "admin.config.oauth.discord-client-secret": "Discord Client-Secret",
"admin.config.oauth.discord-client-secret.description": "Client secret of the Discord OAuth app", "admin.config.oauth.discord-client-secret.description": "Client-Secret der Discord OAuth-App",
"admin.config.oauth.oidc-enabled": "OpenID Connect", "admin.config.oauth.oidc-enabled": "OpenID Connect",
"admin.config.oauth.oidc-enabled.description": "Whether OpenID Connect login is enabled", "admin.config.oauth.oidc-enabled.description": "OpenID Connect Anmeldung erlaubt",
"admin.config.oauth.oidc-discovery-uri": "OpenID Connect Discovery URI", "admin.config.oauth.oidc-discovery-uri": "OpenID Connect Discovery URI",
"admin.config.oauth.oidc-discovery-uri.description": "Discovery URI of the OpenID Connect OAuth app", "admin.config.oauth.oidc-discovery-uri.description": "Discovery URI of the OpenID Connect OAuth app",
"admin.config.oauth.oidc-username-claim": "OpenID Connect username claim", "admin.config.oauth.oidc-username-claim": "OpenID Connect username claim",
"admin.config.oauth.oidc-username-claim.description": "Username claim in OpenID Connect ID token. Leave it blank if you don't know what this config is.", "admin.config.oauth.oidc-username-claim.description": "Username claim in OpenID Connect ID token. Leave it blank if you don't know what this config is.",
"admin.config.oauth.oidc-client-id": "OpenID Connect Client ID", "admin.config.oauth.oidc-client-id": "OpenID Connect Client-ID",
"admin.config.oauth.oidc-client-id.description": "Client ID of the OpenID Connect OAuth app", "admin.config.oauth.oidc-client-id.description": "Client-ID der OpenID Connect OAuth-App",
"admin.config.oauth.oidc-client-secret": "OpenID Connect Client secret", "admin.config.oauth.oidc-client-secret": "OpenID Connect Client-Secret",
"admin.config.oauth.oidc-client-secret.description": "Client secret of the OpenID Connect OAuth app", "admin.config.oauth.oidc-client-secret.description": "Client-Secret der OpenID Connect OAuth-App",
// 404 // 404
"404.description": "Ups, diese Seite existiert nicht.", "404.description": "Ups, diese Seite existiert nicht.",
"404.button.home": "Zurück zur Startseite", "404.button.home": "Zurück zur Startseite",
@@ -377,16 +377,16 @@ export default {
"error.description": "Ups!", "error.description": "Ups!",
"error.button.back": "Zurück", "error.button.back": "Zurück",
"error.msg.default": "Etwas ist schief gelaufen.", "error.msg.default": "Etwas ist schief gelaufen.",
"error.msg.access_denied": "You canceled the authentication process, please try again.", "error.msg.access_denied": "Du hast den Authentifizierungsprozess abgebrochen, bitte versuche es erneut.",
"error.msg.expired_token": "The authentication process took too long, please try again.", "error.msg.expired_token": "Der Authentifizierungsprozess hat zu lange gedauert, bitte versuche es erneut.",
"error.msg.invalid_token": "Internal Error", "error.msg.invalid_token": "Interner Fehler",
"error.msg.no_user": "User linked to this {0} account doesn't exist.", "error.msg.no_user": "Der mit diesem {0} Konto verknüpfte Benutzer existiert nicht.",
"error.msg.no_email": "Can't get email address from this {0} account.", "error.msg.no_email": "Kann die E-Mail-Adresse von dem Konto {0} nicht abrufen.",
"error.msg.already_linked": "This {0} account is already linked to another account.", "error.msg.already_linked": "Das Konto {0} ist bereits mit einem anderen Konto verknüpft.",
"error.msg.not_linked": "This {0} account haven't linked to any account yet.", "error.msg.not_linked": "Das Konto {0} wurde noch nicht mit einem Konto verknüpft.",
"error.msg.unverified_account": "This {0} account is unverified, please try again after verification.", "error.msg.unverified_account": "Dieses Konto {0} wurde noch nicht verifiziert, bitte versuchen Sie es nach der Verifikation erneut.",
"error.msg.discord_guild_permission_denied": "You are not allowed to sign in.", "error.msg.discord_guild_permission_denied": "Du bist nicht berechtigt, Dich anzumelden.",
"error.msg.cannot_get_user_info": "Can not get your user info from this {0} account.", "error.msg.cannot_get_user_info": "Deine Benutzerinformationen können nicht von diesem Konto {0} abgerufen werden.",
"error.param.provider_github": "GitHub", "error.param.provider_github": "GitHub",
"error.param.provider_google": "Google", "error.param.provider_google": "Google",
"error.param.provider_microsoft": "Microsoft", "error.param.provider_microsoft": "Microsoft",

View File

@@ -526,6 +526,7 @@ export default {
"common.button.generate": "Generate", "common.button.generate": "Generate",
"common.button.done": "Done", "common.button.done": "Done",
"common.text.link": "Link", "common.text.link": "Link",
"common.text.navigate-to-link": "Go to the link",
"common.text.or": "or", "common.text.or": "or",
"common.button.go-back": "Go back", "common.button.go-back": "Go back",
"common.notify.copied": "Your link was copied to the clipboard", "common.notify.copied": "Your link was copied to the clipboard",

View File

@@ -1,180 +1,138 @@
export default { export default {
// Navbar // Navbar
"navbar.upload": "Upload", "navbar.upload": "Carica",
"navbar.signin": "Sign in", "navbar.signin": "Registrati",
"navbar.home": "Home", "navbar.home": "Home",
"navbar.signup": "Sign Up", "navbar.signup": "Registrati",
"navbar.links.shares": "Le mie condivisioni",
"navbar.links.shares": "My shares",
"navbar.links.reverse": "Reverse shares", "navbar.links.reverse": "Reverse shares",
"navbar.avatar.account": "Il mio account",
"navbar.avatar.account": "My account", "navbar.avatar.admin": "Amministrazione",
"navbar.avatar.admin": "Administration", "navbar.avatar.signout": "Disconetti",
"navbar.avatar.signout": "Sign out",
// END navbar // END navbar
// / // /
"home.title": "A <h>self-hosted</h> file sharing platform.", "home.title": "Una piattaforma di condivisione di file <h>autohosted</h>.",
"home.description": "Vuoi davvero dare i tuoi file personali in mano a terzi come WeTransfer?",
"home.description": "home.bullet.a.name": "Self-hosted",
"Do you really want to give your personal files in the hand of third parties like WeTransfer?", "home.bullet.a.description": "Ospita Pingvin Condividi sulla tua macchina.",
"home.bullet.a.name": "Self-Hosted",
"home.bullet.a.description": "Host Pingvin Share on your own machine.",
"home.bullet.b.name": "Privacy", "home.bullet.b.name": "Privacy",
"home.bullet.b.description": "home.bullet.b.description": "I tuoi file sono i tuoi file e non dovrebbero mai entrare nelle mani di terzi.",
"Your files are your files and should never get into the hands of third parties.", "home.bullet.c.name": "Nessun fastidioso limite alle dimensioni dei files",
"home.bullet.c.name": "No annoying file size limit", "home.bullet.c.description": "Carica file grandi quanto vuoi. Solo il tuo disco rigido sarà il tuo limite.",
"home.bullet.c.description": "home.button.start": "Inizia adesso",
"Upload as big files as you want. Only your hard drive will be your limit.", "home.button.source": "Codice sorgente",
"home.button.start": "Get started",
"home.button.source": "Source code",
// END / // END /
// /auth/signin // /auth/signin
"signin.title": "Welcome back", "signin.title": "Bentornato",
"signin.description": "You don't have an account yet?", "signin.description": "Non hai ancora un account?",
"signin.button.signup": "Sign up", "signin.button.signup": "Registrazione",
"signin.input.email-or-username": "Email or username", "signin.input.email-or-username": "Email o nome utente",
"signin.input.email-or-username.placeholder": "Your email or username", "signin.input.email-or-username.placeholder": "La tua email o nome utente",
"signin.input.password": "Password", "signin.input.password": "Password",
"signin.input.password.placeholder": "Your password", "signin.input.password.placeholder": "Password",
"signin.button.submit": "Sign in", "signin.button.submit": "Accedi",
"signIn.notify.totp-required.title": "Two-factor authentication required", "signIn.notify.totp-required.title": "Autenticazione a due fattori richiesta",
"signIn.notify.totp-required.description": "signIn.notify.totp-required.description": "Inserisci il tuo codice di autenticazione a due fattori",
"Please enter your two-factor authentication code", "signIn.oauth.or": "OPPURE",
"signIn.oauth.or": "OR",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google", "signIn.oauth.google": "Google",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
"signIn.oauth.discord": "Discord", "signIn.oauth.discord": "Discord",
"signIn.oauth.oidc": "OpenID", "signIn.oauth.oidc": "OpenID",
// END /auth/signin // END /auth/signin
// /auth/signup // /auth/signup
"signup.title": "Create an account", "signup.title": "Crea un account",
"signup.description": "Already have an account?", "signup.description": "Hai già un account?",
"signup.button.signin": "Sign in", "signup.button.signin": "Accedi",
"signup.input.username": "Username", "signup.input.username": "Nome utente",
"signup.input.username.placeholder": "Your username", "signup.input.username.placeholder": "Il tuo nome utente",
"signup.input.email": "Email", "signup.input.email": "Email",
"signup.input.email.placeholder": "Your email", "signup.input.email.placeholder": "La tua email",
"signup.button.submit": "Let's get started", "signup.button.submit": "Iniziamo",
// END /auth/signup // END /auth/signup
// /auth/totp // /auth/totp
"totp.title": "TOTP Authentication", "totp.title": "Autenticazione TOTP",
"totp.button.signIn": "Sign in", "totp.button.signIn": "Accedi",
// END /auth/totp // END /auth/totp
// /auth/reset-password // /auth/reset-password
"resetPassword.title": "Forgot your password?", "resetPassword.title": "Hai dimenticato la password?",
"resetPassword.description": "Enter your email to reset your password.", "resetPassword.description": "Inserisci la tua email per reimpostare la password.",
"resetPassword.notify.success": "resetPassword.notify.success": "Abbiamo inviato un'e-mail all'indirizzo da te indicato. Clicca sul link contenuto nell'e-mail per reimpostare la password del tuo account.",
"An email has been sent with a link to reset your password.", "resetPassword.button.back": "Torna alla pagina di login",
"resetPassword.button.back": "Back to sign in page", "resetPassword.text.resetPassword": "Reimposta password",
"resetPassword.text.resetPassword": "Reset password", "resetPassword.text.enterNewPassword": "Inserisci la tua nuova password",
"resetPassword.text.enterNewPassword": "Enter your new password", "resetPassword.input.password": "Nuova password",
"resetPassword.input.password": "New password", "resetPassword.notify.passwordReset": "La password è stata reimpostata correttamente.",
"resetPassword.notify.passwordReset":
"Your password has been reset successfully.",
// /account // /account
"account.title": "My account", "account.title": "Il mio account",
"account.card.info.title": "Informazioni sull'account",
"account.card.info.title": "Account info", "account.card.info.username": "Nome utente",
"account.card.info.username": "Username",
"account.card.info.email": "Email", "account.card.info.email": "Email",
"account.notify.info.success": "Account updated successfully", "account.notify.info.success": "Account aggiornato correttamente",
"account.card.password.title": "Password", "account.card.password.title": "Password",
"account.card.password.old": "Old password", "account.card.password.old": "Vecchia password",
"account.card.password.new": "New password", "account.card.password.new": "Nuova password",
"account.card.password.noPasswordSet": "You don't have a password set. If you want to sign in with email and password you need to set a password.", "account.card.password.noPasswordSet": "Non hai una password impostata. Se vuoi accedere con email e password devi impostare una password.",
"account.notify.password.success": "Password changed successfully", "account.notify.password.success": "Password cambiata con successo",
"account.card.oauth.title": "Effettua il login con i Social",
"account.card.oauth.title": "Social login",
"account.card.oauth.github": "GitHub", "account.card.oauth.github": "GitHub",
"account.card.oauth.google": "Google", "account.card.oauth.google": "Google",
"account.card.oauth.microsoft": "Microsoft", "account.card.oauth.microsoft": "Microsoft",
"account.card.oauth.discord": "Discord", "account.card.oauth.discord": "Discord",
"account.card.oauth.oidc": "OpenID", "account.card.oauth.oidc": "OpenID",
"account.card.oauth.link": "Link", "account.card.oauth.link": "Collegamento",
"account.card.oauth.unlink": "Unlink", "account.card.oauth.unlink": "Scollega",
"account.card.oauth.unlinked": "Unlinked", "account.card.oauth.unlinked": "Scollegato",
"account.modal.unlink.title": "Unlink account", "account.modal.unlink.title": "Scollega account",
"account.modal.unlink.description": "Unlinking your social accounts may cause you to lose your account if you don't remember your username and password.", "account.modal.unlink.description": "Scollegare i tuoi account social potrebbe causare la perdita del tuo account se non ricordi il tuo nome utente e la password.",
"account.notify.oauth.unlinked.success": "Unlinked successfully", "account.notify.oauth.unlinked.success": "Disconnessione Riuscita",
"account.card.security.title": "Sicurezza",
"account.card.security.totp.enable.description": "Inserisci la tua password attuale per iniziare ad abilitare TOTP",
"account.card.security.title": "Security", "account.card.security.totp.disable.description": "Inserisci la tua password attuale per iniziare ad abilitare TOTP",
"account.card.security.totp.enable.description": "account.card.security.totp.button.start": "Iniziare",
"Enter your current password to start enabling TOTP", "account.modal.totp.title": "Abilita TOTP",
"account.card.security.totp.disable.description": "account.modal.totp.step1": "Passo 1: Aggiungi il tuo autenticatore",
"Enter your current password to disable TOTP", "account.modal.totp.step2": "Passo 2: Convalida il tuo codice",
"account.card.security.totp.button.start": "Start", "account.modal.totp.enterManually": "Inserisci manualmente",
"account.modal.totp.title": "Enable TOTP", "account.modal.totp.code": "Codice",
"account.modal.totp.step1": "Step 1: Add your authenticator", "account.modal.totp.clickToCopy": "Clicca per copiare",
"account.modal.totp.step2": "Step 2: Validate your code", "account.modal.totp.verify": "Verifica",
"account.modal.totp.enterManually": "Enter manually", "account.notify.totp.disable": "TOTP disabilitato con successo",
"account.modal.totp.code": "Code", "account.notify.totp.enable": "TOTP abilitato con successo",
"account.modal.totp.clickToCopy": "Click to copy", "account.card.language.title": "Lingua",
"account.modal.totp.verify": "Verify", "account.card.language.description": "Il progetto è tradotto dalla community. Alcune lingue potrebbero essere incomplete.",
"account.notify.totp.disable": "TOTP disabled successfully", "account.card.color.title": "Schema di colori",
"account.notify.totp.enable": "TOTP enabled successfully",
"account.card.language.title": "Language",
"account.card.language.description":
"The project is translated by the community. Some languages might be incomplete.",
"account.card.color.title": "Color scheme",
// ThemeSwitcher.tsx // ThemeSwitcher.tsx
"account.theme.dark": "Dark", "account.theme.dark": "Scuro",
"account.theme.light": "Light", "account.theme.light": "Chiaro",
"account.theme.system": "System", "account.theme.system": "Sistema",
"account.button.delete": "Elimina account",
"account.button.delete": "Delete Account", "account.modal.delete.title": "Cancella Account",
"account.modal.delete.title": "Delete Account", "account.modal.delete.description": "Vuoi davvero eliminare il tuo account, incluse tutte le tue condivisioni attive?",
"account.modal.delete.description":
"Do you really want to delete your account including all your active shares?",
// END /account // END /account
// /account/shares // /account/shares
"account.shares.title": "My shares", "account.shares.title": "Le mie condivisioni",
"account.shares.title.empty": "It's empty here 👀", "account.shares.title.empty": "È vuoto qui 👀",
"account.shares.description.empty": "You don't have any shares.", "account.shares.description.empty": "Non hai nessuna condivisione.",
"account.shares.button.create": "Create one", "account.shares.button.create": "Creane uno",
"account.shares.info.title": "Condividi le informazioni",
"account.shares.info.title": "Share informations",
"account.shares.table.id": "ID", "account.shares.table.id": "ID",
"account.shares.table.name": "Name", "account.shares.table.name": "Nome",
"account.shares.table.description": "Description", "account.shares.table.description": "Descrizione",
"account.shares.table.visitors": "Visitors", "account.shares.table.visitors": "Visitatori",
"account.shares.table.expiresAt": "Expires at", "account.shares.table.expiresAt": "Scadenza",
"account.shares.table.createdAt": "Created at", "account.shares.table.createdAt": "Creato il",
"account.shares.table.size": "Size", "account.shares.table.size": "Dimensione",
"account.shares.modal.share-informations": "Condividi le informazioni",
"account.shares.modal.share-informations": "Share informations", "account.shares.modal.share-link": "Condividi link",
"account.shares.modal.share-link": "Share link", "account.shares.modal.delete.title": "Elimina condivisione {share}",
"account.shares.modal.delete.description": "Vuoi davvero cancellare questa condivisione?",
"account.shares.modal.delete.title": "Delete share {share}",
"account.shares.modal.delete.description":
"Do you really want to delete this share?",
// END /account/shares // END /account/shares
// /account/reverseShares // /account/reverseShares
"account.reverseShares.title": "Reverse shares", "account.reverseShares.title": "Reverse shares",
"account.reverseShares.description": "account.reverseShares.description": "A reverse share allows you to generate a unique URL that allows external users to create a share.",
"A reverse share allows you to generate a unique URL that allows external users to create a share.",
"account.reverseShares.title.empty": "It's empty here 👀", "account.reverseShares.title.empty": "It's empty here 👀",
"account.reverseShares.description.empty": "account.reverseShares.description.empty": "You don't have any reverse shares.",
"You don't have any reverse shares.",
// showCreateReverseShareModal.tsx // showCreateReverseShareModal.tsx
"account.reverseShares.modal.title": "Create reverse share", "account.reverseShares.modal.title": "Create reverse share",
"account.reverseShares.modal.expiration.label": "Expiration", "account.reverseShares.modal.expiration.label": "Expiration",
@@ -190,20 +148,13 @@ export default {
"account.reverseShares.modal.expiration.month-plural": "Months", "account.reverseShares.modal.expiration.month-plural": "Months",
"account.reverseShares.modal.expiration.year-singular": "Year", "account.reverseShares.modal.expiration.year-singular": "Year",
"account.reverseShares.modal.expiration.year-plural": "Years", "account.reverseShares.modal.expiration.year-plural": "Years",
"account.reverseShares.modal.max-size.label": "Max share size", "account.reverseShares.modal.max-size.label": "Max share size",
"account.reverseShares.modal.send-email": "Send email notification", "account.reverseShares.modal.send-email": "Send email notification",
"account.reverseShares.modal.send-email.description": "account.reverseShares.modal.send-email.description": "Send an email notification when a share is created with this reverse share link.",
"Send an email notification when a share is created with this reverse share link.",
"account.reverseShares.modal.max-use.label": "Max uses", "account.reverseShares.modal.max-use.label": "Max uses",
"account.reverseShares.modal.max-use.description": "account.reverseShares.modal.max-use.description": "The maximum amount of times this URL can be used to create a share.",
"The maximum amount of times this URL can be used to create a share.",
"account.reverseShare.never-expires": "This reverse share will never expire.", "account.reverseShare.never-expires": "This reverse share will never expire.",
"account.reverseShare.expires-on": "account.reverseShare.expires-on": "This reverse share will expire on {expiration}.",
"This reverse share will expire on {expiration}.",
"account.reverseShares.table.no-shares": "No shares created yet", "account.reverseShares.table.no-shares": "No shares created yet",
"account.reverseShares.table.count.singular": "share", "account.reverseShares.table.count.singular": "share",
"account.reverseShares.table.count.plural": "shares", "account.reverseShares.table.count.plural": "shares",
@@ -211,85 +162,59 @@ export default {
"account.reverseShares.table.remaining": "Remaining uses", "account.reverseShares.table.remaining": "Remaining uses",
"account.reverseShares.table.max-size": "Max share size", "account.reverseShares.table.max-size": "Max share size",
"account.reverseShares.table.expires": "Expires at", "account.reverseShares.table.expires": "Expires at",
"account.reverseShares.modal.reverse-share-link": "Reverse share link", "account.reverseShares.modal.reverse-share-link": "Reverse share link",
"account.reverseShares.modal.delete.title": "Delete reverse share", "account.reverseShares.modal.delete.title": "Delete reverse share",
"account.reverseShares.modal.delete.description": "account.reverseShares.modal.delete.description": "Do you really want to delete this reverse share? If you do, the associated shares will be deleted as well.",
"Do you really want to delete this reverse share? If you do, the associated shares will be deleted as well.",
// END /account/reverseShares // END /account/reverseShares
// /admin // /admin
"admin.title": "Administration", "admin.title": "Administration",
"admin.button.users": "User management", "admin.button.users": "User management",
"admin.button.config": "Configuration", "admin.button.config": "Configuration",
"admin.version": "Version", "admin.version": "Version",
// END /admin // END /admin
// /admin/users // /admin/users
"admin.users.title": "User management", "admin.users.title": "User management",
"admin.users.table.username": "Username", "admin.users.table.username": "Username",
"admin.users.table.email": "Email", "admin.users.table.email": "Email",
"admin.users.table.admin": "Admin", "admin.users.table.admin": "Admin",
"admin.users.edit.update.title": "Update user {username}", "admin.users.edit.update.title": "Update user {username}",
"admin.users.edit.update.admin-privileges": "Admin privileges", "admin.users.edit.update.admin-privileges": "Admin privileges",
"admin.users.edit.update.change-password.title": "Change password", "admin.users.edit.update.change-password.title": "Change password",
"admin.users.edit.update.change-password.field": "New password", "admin.users.edit.update.change-password.field": "New password",
"admin.users.edit.update.change-password.button": "Save new password", "admin.users.edit.update.change-password.button": "Save new password",
"admin.users.edit.update.notify.password.success": "admin.users.edit.update.notify.password.success": "Password changed successfully",
"Password changed successfully",
"admin.users.edit.delete.title": "Delete user {username}", "admin.users.edit.delete.title": "Delete user {username}",
"admin.users.edit.delete.description": "admin.users.edit.delete.description": "Do you really want to delete this user and all his shares?",
"Do you really want to delete this user and all his shares?",
// showCreateUserModal.tsx // showCreateUserModal.tsx
"admin.users.modal.create.title": "Create user", "admin.users.modal.create.title": "Create user",
"admin.users.modal.create.username": "Username", "admin.users.modal.create.username": "Username",
"admin.users.modal.create.email": "Email", "admin.users.modal.create.email": "Email",
"admin.users.modal.create.password": "Password", "admin.users.modal.create.password": "Password",
"admin.users.modal.create.manual-password": "Set password manually", "admin.users.modal.create.manual-password": "Set password manually",
"admin.users.modal.create.manual-password.description": "admin.users.modal.create.manual-password.description": "If not checked, the user will receive an email with a link to set their password.",
"If not checked, the user will receive an email with a link to set their password.",
"admin.users.modal.create.admin": "Admin privileges", "admin.users.modal.create.admin": "Admin privileges",
"admin.users.modal.create.admin.description": "admin.users.modal.create.admin.description": "If checked, the user will be able to access the admin panel.",
"If checked, the user will be able to access the admin panel.",
// END /admin/users // END /admin/users
// /upload // /upload
"upload.title": "Upload", "upload.title": "Upload",
"upload.notify.generic-error": "An error occurred while finishing your share.",
"upload.notify.generic-error":
"An error occurred while finishing your share.",
"upload.notify.count-failed": "{count} files failed to upload. Trying again.", "upload.notify.count-failed": "{count} files failed to upload. Trying again.",
// Dropzone.tsx // Dropzone.tsx
"upload.dropzone.title": "Upload files", "upload.dropzone.title": "Upload files",
"upload.dropzone.description": "upload.dropzone.description": "Drag'n'drop files here to start your share. We can accept only files that are less than {maxSize} in total.",
"Drag'n'drop files here to start your share. We can accept only files that are less than {maxSize} in total.", "upload.dropzone.notify.file-too-big": "Your files exceed the maximum share size of {maxSize}.",
"upload.dropzone.notify.file-too-big":
"Your files exceed the maximum share size of {maxSize}.",
// FileList.tsx // FileList.tsx
"upload.filelist.name": "Name", "upload.filelist.name": "Name",
"upload.filelist.size": "Size", "upload.filelist.size": "Size",
// showCreateUploadModal.tsx // showCreateUploadModal.tsx
"upload.modal.title": "Create Share", "upload.modal.title": "Create Share",
"upload.modal.link.error.invalid": "upload.modal.link.error.invalid": "Can only contain letters, numbers, underscores, and hyphens",
"Can only contain letters, numbers, underscores, and hyphens",
"upload.modal.link.error.taken": "This link is already in use", "upload.modal.link.error.taken": "This link is already in use",
"upload.modal.not-signed-in": "You're not signed in", "upload.modal.not-signed-in": "You're not signed in",
"upload.modal.not-signed-in-description": "upload.modal.not-signed-in-description": "You will be unable to delete your share manually and view the visitor count.",
"You will be unable to delete your share manually and view the visitor count.",
"upload.modal.expires.never": "never", "upload.modal.expires.never": "never",
"upload.modal.expires.never-long": "Never Expires", "upload.modal.expires.never-long": "Never Expires",
"upload.modal.expires.error.too-long": "Expiration exceeds maximum expiration date of {max}.", "upload.modal.expires.error.too-long": "Expiration exceeds maximum expiration date of {max}.",
"upload.modal.link.label": "Link", "upload.modal.link.label": "Link",
"upload.modal.expires.label": "Expiration", "upload.modal.expires.label": "Expiration",
"upload.modal.expires.minute-singular": "Minute", "upload.modal.expires.minute-singular": "Minute",
@@ -304,67 +229,47 @@ export default {
"upload.modal.expires.month-plural": "Months", "upload.modal.expires.month-plural": "Months",
"upload.modal.expires.year-singular": "Year", "upload.modal.expires.year-singular": "Year",
"upload.modal.expires.year-plural": "Years", "upload.modal.expires.year-plural": "Years",
"upload.modal.accordion.description.title": "Description", "upload.modal.accordion.description.title": "Description",
"upload.modal.accordion.description.placeholder": "upload.modal.accordion.description.placeholder": "Note for the recipients of this share",
"Note for the recipients of this share",
"upload.modal.accordion.email.title": "Email recipients", "upload.modal.accordion.email.title": "Email recipients",
"upload.modal.accordion.email.placeholder": "Enter email recipients", "upload.modal.accordion.email.placeholder": "Enter email recipients",
"upload.modal.accordion.email.invalid-email": "Invalid email address", "upload.modal.accordion.email.invalid-email": "Invalid email address",
"upload.modal.accordion.security.title": "Security options", "upload.modal.accordion.security.title": "Security options",
"upload.modal.accordion.security.password.label": "Password protection", "upload.modal.accordion.security.password.label": "Password protection",
"upload.modal.accordion.security.password.placeholder": "No password", "upload.modal.accordion.security.password.placeholder": "No password",
"upload.modal.accordion.security.max-views.label": "Maximum views", "upload.modal.accordion.security.max-views.label": "Maximum views",
"upload.modal.accordion.security.max-views.placeholder": "No limit", "upload.modal.accordion.security.max-views.placeholder": "No limit",
// showCompletedUploadModal.tsx // showCompletedUploadModal.tsx
"upload.modal.completed.never-expires": "This share will never expire.", "upload.modal.completed.never-expires": "This share will never expire.",
"upload.modal.completed.expires-on": "upload.modal.completed.expires-on": "This share will expire on {expiration}.",
"This share will expire on {expiration}.",
"upload.modal.completed.share-ready": "Share ready", "upload.modal.completed.share-ready": "Share ready",
// END /upload // END /upload
// /share/[id] // /share/[id]
"share.title": "Share {shareId}", "share.title": "Share {shareId}",
"share.description": "Look what I've shared with you!", "share.description": "Look what I've shared with you!",
"share.error.visitor-limit-exceeded.title": "Visitor limit exceeded", "share.error.visitor-limit-exceeded.title": "Visitor limit exceeded",
"share.error.visitor-limit-exceeded.description": "share.error.visitor-limit-exceeded.description": "The visitor limit from this share has been exceeded.",
"The visitor limit from this share has been exceeded.",
"share.error.removed.title": "Share removed", "share.error.removed.title": "Share removed",
"share.error.not-found.title": "Share not found", "share.error.not-found.title": "Share not found",
"share.error.not-found.description": "share.error.not-found.description": "The share you're looking for doesn't exist.",
"The share you're looking for doesn't exist.",
"share.modal.password.title": "Password required", "share.modal.password.title": "Password required",
"share.modal.password.description": "share.modal.password.description": "To access this share please enter the password for the share.",
"To access this share please enter the password for the share.",
"share.modal.password": "Password", "share.modal.password": "Password",
"share.modal.error.invalid-password": "Invalid password", "share.modal.error.invalid-password": "Invalid password",
"share.button.download-all": "Download all", "share.button.download-all": "Download all",
"share.notify.download-all-preparing": "share.notify.download-all-preparing": "The share is preparing. Try again in a few minutes.",
"The share is preparing. Try again in a few minutes.",
"share.modal.file-link": "File link", "share.modal.file-link": "File link",
"share.table.name": "Name", "share.table.name": "Name",
"share.table.size": "Size", "share.table.size": "Size",
"share.modal.file-preview.error.not-supported.title": "Preview not supported", "share.modal.file-preview.error.not-supported.title": "Preview not supported",
"share.modal.file-preview.error.not-supported.description": "share.modal.file-preview.error.not-supported.description": "A preview for thise file type is unsupported. Please download the file to view it.",
"A preview for thise file type is unsupported. Please download the file to view it.",
// END /share/[id] // END /share/[id]
// /share/[id]/edit // /share/[id]/edit
"share.edit.title": "Edit {shareId}", "share.edit.title": "Edit {shareId}",
"share.edit.append-upload": "Append file", "share.edit.append-upload": "Append file",
"share.edit.notify.generic-error": "An error occurred while finishing your share.", "share.edit.notify.generic-error": "An error occurred while finishing your share.",
"share.edit.notify.save-success": "Share updated successfully", "share.edit.notify.save-success": "Share updated successfully",
// END /share/[id]/edit // END /share/[id]/edit
// /admin/config // /admin/config
"admin.config.title": "Configuration", "admin.config.title": "Configuration",
"admin.config.category.general": "General", "admin.config.category.general": "General",
@@ -372,80 +277,56 @@ export default {
"admin.config.category.email": "Email", "admin.config.category.email": "Email",
"admin.config.category.smtp": "SMTP", "admin.config.category.smtp": "SMTP",
"admin.config.category.oauth": "Social Login", "admin.config.category.oauth": "Social Login",
"admin.config.general.app-name": "App name", "admin.config.general.app-name": "App name",
"admin.config.general.app-name.description": "Name of the application", "admin.config.general.app-name.description": "Name of the application",
"admin.config.general.app-url": "App URL", "admin.config.general.app-url": "App URL",
"admin.config.general.app-url.description": "admin.config.general.app-url.description": "On which URL Pingvin Share is available",
"On which URL Pingvin Share is available",
"admin.config.general.show-home-page": "Show home page", "admin.config.general.show-home-page": "Show home page",
"admin.config.general.show-home-page.description": "admin.config.general.show-home-page.description": "Whether to show the home page",
"Whether to show the home page",
"admin.config.general.logo": "Logo", "admin.config.general.logo": "Logo",
"admin.config.general.logo.description": "admin.config.general.logo.description": "Change your logo by uploading a new image. The image must be a PNG and should have the format 1:1.",
"Change your logo by uploading a new image. The image must be a PNG and should have the format 1:1.",
"admin.config.general.logo.placeholder": "Pick image", "admin.config.general.logo.placeholder": "Pick image",
"admin.config.email.enable-share-email-recipients": "Enable share email recipients",
"admin.config.email.enable-share-email-recipients": "admin.config.email.enable-share-email-recipients.description": "Whether to allow emails to share recipients. Only enable this if you have enabled SMTP.",
"Enable share email recipients",
"admin.config.email.enable-share-email-recipients.description":
"Whether to allow emails to share recipients. Only enable this if you have enabled SMTP.",
"admin.config.email.share-recipients-subject": "Share recipients subject", "admin.config.email.share-recipients-subject": "Share recipients subject",
"admin.config.email.share-recipients-subject.description": "admin.config.email.share-recipients-subject.description": "Subject of the email which gets sent to the share recipients.",
"Subject of the email which gets sent to the share recipients.",
"admin.config.email.share-recipients-message": "Share recipients message", "admin.config.email.share-recipients-message": "Share recipients message",
"admin.config.email.share-recipients-message.description": "admin.config.email.share-recipients-message.description": "Message which gets sent to the share recipients. Available variables:\n {creator} - The username of the creator of the share\n {shareUrl} - The URL of the share\n {desc} - The description of the share\n {expires} - The expiration date of the share\n The variables will be replaced with the actual value.",
"Message which gets sent to the share recipients. Available variables:\n {creator} - The username of the creator of the share\n {shareUrl} - The URL of the share\n {desc} - The description of the share\n {expires} - The expiration date of the share\n The variables will be replaced with the actual value.",
"admin.config.email.reverse-share-subject": "Reverse share subject", "admin.config.email.reverse-share-subject": "Reverse share subject",
"admin.config.email.reverse-share-subject.description": "admin.config.email.reverse-share-subject.description": "Subject of the email which gets sent when someone created a share with your reverse share link.",
"Subject of the email which gets sent when someone created a share with your reverse share link.",
"admin.config.email.reverse-share-message": "Reverse share message", "admin.config.email.reverse-share-message": "Reverse share message",
"admin.config.email.reverse-share-message.description": "admin.config.email.reverse-share-message.description": "Message which gets sent when someone created a share with your reverse share link. {shareUrl} will be replaced with the creator's name and the share URL.",
"Message which gets sent when someone created a share with your reverse share link. {shareUrl} will be replaced with the creator's name and the share URL.",
"admin.config.email.reset-password-subject": "Reset password subject", "admin.config.email.reset-password-subject": "Reset password subject",
"admin.config.email.reset-password-subject.description": "admin.config.email.reset-password-subject.description": "Subject of the email which gets sent when a user requests a password reset.",
"Subject of the email which gets sent when a user requests a password reset.",
"admin.config.email.reset-password-message": "Reset password message", "admin.config.email.reset-password-message": "Reset password message",
"admin.config.email.reset-password-message.description": "admin.config.email.reset-password-message.description": "Message which gets sent when a user requests a password reset. {url} will be replaced with the reset password URL.",
"Message which gets sent when a user requests a password reset. {url} will be replaced with the reset password URL.",
"admin.config.email.invite-subject": "Invite subject", "admin.config.email.invite-subject": "Invite subject",
"admin.config.email.invite-subject.description": "admin.config.email.invite-subject.description": "Subject of the email which gets sent when an admin invites a user.",
"Subject of the email which gets sent when an admin invites a user.",
"admin.config.email.invite-message": "Invite message", "admin.config.email.invite-message": "Invite message",
"admin.config.email.invite-message.description": "admin.config.email.invite-message.description": "Message which gets sent when an admin invites a user. {url} will be replaced with the invite URL and {password} with the password.",
"Message which gets sent when an admin invites a user. {url} will be replaced with the invite URL and {password} with the password.",
"admin.config.share.allow-registration": "Allow registration", "admin.config.share.allow-registration": "Allow registration",
"admin.config.share.allow-registration.description": "admin.config.share.allow-registration.description": "Whether registration is allowed",
"Whether registration is allowed", "admin.config.share.allow-unauthenticated-shares": "Allow unauthenticated shares",
"admin.config.share.allow-unauthenticated-shares": "admin.config.share.allow-unauthenticated-shares.description": "Whether unauthenticated users can create shares",
"Allow unauthenticated shares",
"admin.config.share.allow-unauthenticated-shares.description":
"Whether unauthenticated users can create shares",
"admin.config.share.max-expiration": "Max expiration", "admin.config.share.max-expiration": "Max expiration",
"admin.config.share.max-expiration.description": "admin.config.share.max-expiration.description": "Maximum share expiration in hours. Set to 0 to allow unlimited expiration.",
"Maximum share expiration in hours. Set to 0 to allow unlimited expiration.",
"admin.config.share.max-size": "Max size", "admin.config.share.max-size": "Max size",
"admin.config.share.max-size.description": "Maximum share size in bytes", "admin.config.share.max-size.description": "Maximum share size in bytes",
"admin.config.share.zip-compression-level": "Zip compression level", "admin.config.share.zip-compression-level": "Zip compression level",
"admin.config.share.zip-compression-level.description": "admin.config.share.zip-compression-level.description": "Adjust the level to balance between file size and compression speed. Valid values range from 0 to 9, with 0 being no compression and 9 being maximum compression. ",
"Adjust the level to balance between file size and compression speed. Valid values range from 0 to 9, with 0 being no compression and 9 being maximum compression. ",
"admin.config.smtp.enabled": "Enabled", "admin.config.smtp.enabled": "Enabled",
"admin.config.smtp.enabled.description": "admin.config.smtp.enabled.description": "Whether SMTP is enabled. Only set this to true if you entered the host, port, email, user and password of your SMTP server.",
"Whether SMTP is enabled. Only set this to true if you entered the host, port, email, user and password of your SMTP server.",
"admin.config.smtp.host": "Host", "admin.config.smtp.host": "Host",
"admin.config.smtp.host.description": "Host of the SMTP server", "admin.config.smtp.host.description": "Host of the SMTP server",
"admin.config.smtp.port": "Port", "admin.config.smtp.port": "Port",
"admin.config.smtp.port.description": "Port of the SMTP server", "admin.config.smtp.port.description": "Port of the SMTP server",
"admin.config.smtp.email": "Email", "admin.config.smtp.email": "Email",
"admin.config.smtp.email.description": "admin.config.smtp.email.description": "Email address which the emails get sent from",
"Email address which the emails get sent from",
"admin.config.smtp.username": "Username", "admin.config.smtp.username": "Username",
"admin.config.smtp.username.description": "Username of the SMTP server", "admin.config.smtp.username.description": "Username of the SMTP server",
"admin.config.smtp.password": "Password", "admin.config.smtp.password": "Password",
"admin.config.smtp.password.description": "Password of the SMTP server", "admin.config.smtp.password.description": "Password of the SMTP server",
"admin.config.smtp.button.test": "Send test email", "admin.config.smtp.button.test": "Send test email",
"admin.config.oauth.allow-registration": "Allow registration", "admin.config.oauth.allow-registration": "Allow registration",
"admin.config.oauth.allow-registration.description": "Allow users to register via social login", "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": "Ignore TOTP",
@@ -488,11 +369,9 @@ export default {
"admin.config.oauth.oidc-client-id.description": "Client ID of the OpenID Connect OAuth app", "admin.config.oauth.oidc-client-id.description": "Client ID of the OpenID Connect OAuth app",
"admin.config.oauth.oidc-client-secret": "OpenID Connect Client secret", "admin.config.oauth.oidc-client-secret": "OpenID Connect Client secret",
"admin.config.oauth.oidc-client-secret.description": "Client secret of the OpenID Connect OAuth app", "admin.config.oauth.oidc-client-secret.description": "Client secret of the OpenID Connect OAuth app",
// 404 // 404
"404.description": "Oops this page doesn't exist.", "404.description": "Oops this page doesn't exist.",
"404.button.home": "Bring me back home", "404.button.home": "Bring me back home",
// error // error
"error.title": "Error", "error.title": "Error",
"error.description": "Oops!", "error.description": "Oops!",
@@ -513,7 +392,6 @@ export default {
"error.param.provider_microsoft": "Microsoft", "error.param.provider_microsoft": "Microsoft",
"error.param.provider_discord": "Discord", "error.param.provider_discord": "Discord",
"error.param.provider_oidc": "OpenID Connect", "error.param.provider_oidc": "OpenID Connect",
// Common translations // Common translations
"common.button.save": "Save", "common.button.save": "Save",
"common.button.create": "Create", "common.button.create": "Create",
@@ -530,7 +408,6 @@ export default {
"common.button.go-back": "Go back", "common.button.go-back": "Go back",
"common.notify.copied": "Your link was copied to the clipboard", "common.notify.copied": "Your link was copied to the clipboard",
"common.success": "Success", "common.success": "Success",
"common.error": "Error", "common.error": "Error",
"common.error.unknown": "An unknown error occurred", "common.error.unknown": "An unknown error occurred",
"common.error.invalid-email": "Invalid email address", "common.error.invalid-email": "Invalid email address",
@@ -538,5 +415,5 @@ export default {
"common.error.too-long": "Must be at most {length} characters", "common.error.too-long": "Must be at most {length} characters",
"common.error.exact-length": "Must be exactly {length} characters", "common.error.exact-length": "Must be exactly {length} characters",
"common.error.invalid-number": "Must be a number", "common.error.invalid-number": "Must be a number",
"common.error.field-required": "This field is required", "common.error.field-required": "This field is required"
}; };

View File

@@ -1,11 +1,11 @@
export default { export default {
// Navbar // Navbar
"navbar.upload": "Verzenden", "navbar.upload": "Delen",
"navbar.signin": "Aanmelden", "navbar.signin": "Aanmelden",
"navbar.home": "Startpagina", "navbar.home": "Startpagina",
"navbar.signup": "Registreren", "navbar.signup": "Registreren",
"navbar.links.shares": "Mijn gedeelde bestanden", "navbar.links.shares": "Mijn gedeelde bestanden",
"navbar.links.reverse": "Reverse shares", "navbar.links.reverse": "Omgekeerd delen",
"navbar.avatar.account": "Mijn account", "navbar.avatar.account": "Mijn account",
"navbar.avatar.admin": "Beheer", "navbar.avatar.admin": "Beheer",
"navbar.avatar.signout": "Afmelden", "navbar.avatar.signout": "Afmelden",
@@ -33,7 +33,7 @@ export default {
"signin.button.submit": "Aanmelden", "signin.button.submit": "Aanmelden",
"signIn.notify.totp-required.title": "Tweestapsverificatie vereist", "signIn.notify.totp-required.title": "Tweestapsverificatie vereist",
"signIn.notify.totp-required.description": "Voer uw tweestapsverificatiecode in", "signIn.notify.totp-required.description": "Voer uw tweestapsverificatiecode in",
"signIn.oauth.or": "OR", "signIn.oauth.or": "OF",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google", "signIn.oauth.google": "Google",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
@@ -51,8 +51,8 @@ export default {
"signup.button.submit": "Laten we beginnen", "signup.button.submit": "Laten we beginnen",
// END /auth/signup // END /auth/signup
// /auth/totp // /auth/totp
"totp.title": "TOTP Authentication", "totp.title": "TOTP Authenticatie",
"totp.button.signIn": "Sign in", "totp.button.signIn": "Aanmelden",
// END /auth/totp // END /auth/totp
// /auth/reset-password // /auth/reset-password
"resetPassword.title": "Wachtwoord vergeten?", "resetPassword.title": "Wachtwoord vergeten?",
@@ -70,22 +70,22 @@ export default {
"account.card.info.email": "E-mailadres", "account.card.info.email": "E-mailadres",
"account.notify.info.success": "Account succesvol bijgewerkt", "account.notify.info.success": "Account succesvol bijgewerkt",
"account.card.password.title": "Wachtwoord", "account.card.password.title": "Wachtwoord",
"account.card.password.old": "Oud wachtwoord", "account.card.password.old": "Oude wachtwoord",
"account.card.password.new": "Nieuw wachtwoord", "account.card.password.new": "Nieuw wachtwoord",
"account.card.password.noPasswordSet": "You don't have a password set. If you want to sign in with email and password you need to set a password.", "account.card.password.noPasswordSet": "Je hebt nog geen wachtwoord ingesteld. Stel deze eerst in als je via email wilt inloggen.",
"account.notify.password.success": "Wachtwoord succesvol gewijzigd", "account.notify.password.success": "Wachtwoord succesvol gewijzigd!",
"account.card.oauth.title": "Social login", "account.card.oauth.title": "Social login",
"account.card.oauth.github": "GitHub", "account.card.oauth.github": "GitHub",
"account.card.oauth.google": "Google", "account.card.oauth.google": "Google",
"account.card.oauth.microsoft": "Microsoft", "account.card.oauth.microsoft": "Microsoft",
"account.card.oauth.discord": "Discord", "account.card.oauth.discord": "Discord",
"account.card.oauth.oidc": "OpenID", "account.card.oauth.oidc": "OpenID",
"account.card.oauth.link": "Link", "account.card.oauth.link": "Koppelen",
"account.card.oauth.unlink": "Unlink", "account.card.oauth.unlink": "Ontkoppel",
"account.card.oauth.unlinked": "Unlinked", "account.card.oauth.unlinked": "Niet-gekoppeld",
"account.modal.unlink.title": "Unlink account", "account.modal.unlink.title": "Ontkoppel account",
"account.modal.unlink.description": "Unlinking your social accounts may cause you to lose your account if you don't remember your username and password.", "account.modal.unlink.description": "Het ontkoppelen van je sociale accounts kan leiden het verlies van je account. Vergeet je gebruikersnaam en wachtwoord niet!",
"account.notify.oauth.unlinked.success": "Unlinked successfully", "account.notify.oauth.unlinked.success": "Ontkoppelen succesvol",
"account.card.security.title": "Beveiliging", "account.card.security.title": "Beveiliging",
"account.card.security.totp.enable.description": "Voer uw huidige wachtwoord in om TOTP in te schakelen", "account.card.security.totp.enable.description": "Voer uw huidige wachtwoord in om TOTP in te schakelen",
"account.card.security.totp.disable.description": "Voer uw huidige wachtwoord in om TOTP uit te schakelen", "account.card.security.totp.disable.description": "Voer uw huidige wachtwoord in om TOTP uit te schakelen",
@@ -101,7 +101,7 @@ export default {
"account.notify.totp.enable": "TOTP succesvol ingeschakeld", "account.notify.totp.enable": "TOTP succesvol ingeschakeld",
"account.card.language.title": "Taal", "account.card.language.title": "Taal",
"account.card.language.description": "Het project is vertaald door de community. Sommige talen zijn mogelijk onvolledig.", "account.card.language.description": "Het project is vertaald door de community. Sommige talen zijn mogelijk onvolledig.",
"account.card.color.title": "Kleuren schema", "account.card.color.title": "Kleurenschema",
// ThemeSwitcher.tsx // ThemeSwitcher.tsx
"account.theme.dark": "Donker", "account.theme.dark": "Donker",
"account.theme.light": "Licht", "account.theme.light": "Licht",
@@ -125,16 +125,16 @@ export default {
"account.shares.table.size": "Grootte", "account.shares.table.size": "Grootte",
"account.shares.modal.share-informations": "Gegevens delen", "account.shares.modal.share-informations": "Gegevens delen",
"account.shares.modal.share-link": "Deel link", "account.shares.modal.share-link": "Deel link",
"account.shares.modal.delete.title": "Delete share {share}", "account.shares.modal.delete.title": "Verwijder share {share}",
"account.shares.modal.delete.description": "Do you really want to delete this share?", "account.shares.modal.delete.description": "Weet u zeker dat u deze share wilt verwijderen?",
// END /account/shares // END /account/shares
// /account/reverseShares // /account/reverseShares
"account.reverseShares.title": "Reverse shares", "account.reverseShares.title": "Omgekeerde share",
"account.reverseShares.description": "A reverse share allows you to generate a unique URL that allows external users to create a share.", "account.reverseShares.description": "Met een omgekeerde share kan een externe gebruiker via unieke genereerde URL bestanden uploaden.",
"account.reverseShares.title.empty": "Het is hier leeg 👀", "account.reverseShares.title.empty": "Het is hier leeg 👀",
"account.reverseShares.description.empty": "You don't have any reverse shares.", "account.reverseShares.description.empty": "Je heb nog geen omgekeerde shares, maak er een aan om ze hier te zien.",
// showCreateReverseShareModal.tsx // showCreateReverseShareModal.tsx
"account.reverseShares.modal.title": "Create reverse share", "account.reverseShares.modal.title": "Creeër een omgekeerde share",
"account.reverseShares.modal.expiration.label": "Vervaldatum", "account.reverseShares.modal.expiration.label": "Vervaldatum",
"account.reverseShares.modal.expiration.minute-singular": "Minuut", "account.reverseShares.modal.expiration.minute-singular": "Minuut",
"account.reverseShares.modal.expiration.minute-plural": "Minuten", "account.reverseShares.modal.expiration.minute-plural": "Minuten",
@@ -148,26 +148,26 @@ export default {
"account.reverseShares.modal.expiration.month-plural": "Maanden", "account.reverseShares.modal.expiration.month-plural": "Maanden",
"account.reverseShares.modal.expiration.year-singular": "Jaar", "account.reverseShares.modal.expiration.year-singular": "Jaar",
"account.reverseShares.modal.expiration.year-plural": "Jaren", "account.reverseShares.modal.expiration.year-plural": "Jaren",
"account.reverseShares.modal.max-size.label": "Max share size", "account.reverseShares.modal.max-size.label": "Max share grote",
"account.reverseShares.modal.send-email": "Stuur e-mail notificatie", "account.reverseShares.modal.send-email": "Stuur e-mail notificatie",
"account.reverseShares.modal.send-email.description": "Send an email notification when a share is created with this reverse share link.", "account.reverseShares.modal.send-email.description": "Stuur een email notificatie wanneer er bestanden zijn gedeeld via deze omgekeerde share link.",
"account.reverseShares.modal.max-use.label": "Max uses", "account.reverseShares.modal.max-use.label": "Max. gebruikte keren",
"account.reverseShares.modal.max-use.description": "The maximum amount of times this URL can be used to create a share.", "account.reverseShares.modal.max-use.description": "Maximale keren dat deze URL gebruikt kan worden om een share aan te maken.",
"account.reverseShare.never-expires": "This reverse share will never expire.", "account.reverseShare.never-expires": "Deze omgekeerde share zal nooit verlopen.",
"account.reverseShare.expires-on": "This reverse share will expire on {expiration}.", "account.reverseShare.expires-on": "Dit omgekeerde share verloopt op {expiration}.",
"account.reverseShares.table.no-shares": "No shares created yet", "account.reverseShares.table.no-shares": "Nog geen omgekeerde share aangemaakt",
"account.reverseShares.table.count.singular": "share", "account.reverseShares.table.count.singular": "deel",
"account.reverseShares.table.count.plural": "shares", "account.reverseShares.table.count.plural": "delen",
"account.reverseShares.table.shares": "Shares", "account.reverseShares.table.shares": "Delen",
"account.reverseShares.table.remaining": "Remaining uses", "account.reverseShares.table.remaining": "Nog te gebruiken",
"account.reverseShares.table.max-size": "Max share size", "account.reverseShares.table.max-size": "Maximale share grote",
"account.reverseShares.table.expires": "Verloopt op", "account.reverseShares.table.expires": "Verloopt op",
"account.reverseShares.modal.reverse-share-link": "Reverse share link", "account.reverseShares.modal.reverse-share-link": "Omgekeerde share link",
"account.reverseShares.modal.delete.title": "Delete reverse share", "account.reverseShares.modal.delete.title": "Omgekeerde share verwijderen",
"account.reverseShares.modal.delete.description": "Do you really want to delete this reverse share? If you do, the associated shares will be deleted as well.", "account.reverseShares.modal.delete.description": "Weet u zeker dat u deze omgekeerde share wilt verwijderen? Als u dit doet, worden de bijbehorende bestanden ook verwijderd.",
// END /account/reverseShares // END /account/reverseShares
// /admin // /admin
"admin.title": "Beheer", "admin.title": "Instellingen",
"admin.button.users": "Gebruikers beheer", "admin.button.users": "Gebruikers beheer",
"admin.button.config": "Configuratie", "admin.button.config": "Configuratie",
"admin.version": "Versie", "admin.version": "Versie",
@@ -184,7 +184,7 @@ export default {
"admin.users.edit.update.change-password.button": "Nieuw wachtwoord opslaan", "admin.users.edit.update.change-password.button": "Nieuw wachtwoord opslaan",
"admin.users.edit.update.notify.password.success": "Wachtwoord succesvol gewijzigd", "admin.users.edit.update.notify.password.success": "Wachtwoord succesvol gewijzigd",
"admin.users.edit.delete.title": "Gebruiker {username} verwijderen", "admin.users.edit.delete.title": "Gebruiker {username} verwijderen",
"admin.users.edit.delete.description": "Do you really want to delete this user and all his shares?", "admin.users.edit.delete.description": "Wilt u echt deze gebruiker en al zijn shares verwijderen?",
// showCreateUserModal.tsx // showCreateUserModal.tsx
"admin.users.modal.create.title": "Gebruiker aanmaken", "admin.users.modal.create.title": "Gebruiker aanmaken",
"admin.users.modal.create.username": "Gebruikersnaam", "admin.users.modal.create.username": "Gebruikersnaam",
@@ -197,24 +197,24 @@ export default {
// END /admin/users // END /admin/users
// /upload // /upload
"upload.title": "Uploaden", "upload.title": "Uploaden",
"upload.notify.generic-error": "An error occurred while finishing your share.", "upload.notify.generic-error": "Er is een fout opgetreden tijdens het voltooien van uw share.",
"upload.notify.count-failed": "{count} bestanden konden niet worden geüpload. Opnieuw proberen.", "upload.notify.count-failed": "{count} bestanden konden niet worden geüpload. nogmaals opnieuw proberen.",
// Dropzone.tsx // Dropzone.tsx
"upload.dropzone.title": "Bestanden uploaden", "upload.dropzone.title": "Bestanden uploaden",
"upload.dropzone.description": "Drag'n'drop files here to start your share. We can accept only files that are less than {maxSize} in total.", "upload.dropzone.description": "Sleep je bestanden hier om je share te beginnen. We kunnen alleen bestanden accepteren die kleiner zijn dan {maxSize} in totaal.",
"upload.dropzone.notify.file-too-big": "Your files exceed the maximum share size of {maxSize}.", "upload.dropzone.notify.file-too-big": "Uw bestanden overschrijden de maximale share grootte van {maxSize}.",
// FileList.tsx // FileList.tsx
"upload.filelist.name": "Naam", "upload.filelist.name": "Naam",
"upload.filelist.size": "Grootte", "upload.filelist.size": "Grootte",
// showCreateUploadModal.tsx // showCreateUploadModal.tsx
"upload.modal.title": "Create Share", "upload.modal.title": "Share aanmaken",
"upload.modal.link.error.invalid": "Can only contain letters, numbers, underscores, and hyphens", "upload.modal.link.error.invalid": "Het mag alleen letters, cijfers, onderstrepingstekens en koppeltekens bevatten",
"upload.modal.link.error.taken": "Deze link is al in gebruik", "upload.modal.link.error.taken": "Deze link is al in gebruik",
"upload.modal.not-signed-in": "U bent niet aangemeld", "upload.modal.not-signed-in": "U bent niet aangemeld",
"upload.modal.not-signed-in-description": "You will be unable to delete your share manually and view the visitor count.", "upload.modal.not-signed-in-description": "Het is niet mogelijk uw gedeelde bestanden handmatig te verwijderen en het aantal bezoekers te bekijken.",
"upload.modal.expires.never": "nooit", "upload.modal.expires.never": "nooit",
"upload.modal.expires.never-long": "Verloopt nooit", "upload.modal.expires.never-long": "Verloopt nooit",
"upload.modal.expires.error.too-long": "Expiration exceeds maximum expiration date of {max}.", "upload.modal.expires.error.too-long": "De maximale vervaldatum van {max} is overschreven.",
"upload.modal.link.label": "Koppeling", "upload.modal.link.label": "Koppeling",
"upload.modal.expires.label": "Vervaldatum", "upload.modal.expires.label": "Vervaldatum",
"upload.modal.expires.minute-singular": "Minuut", "upload.modal.expires.minute-singular": "Minuut",
@@ -230,8 +230,8 @@ export default {
"upload.modal.expires.year-singular": "Jaar", "upload.modal.expires.year-singular": "Jaar",
"upload.modal.expires.year-plural": "Jaren", "upload.modal.expires.year-plural": "Jaren",
"upload.modal.accordion.description.title": "Beschrijving", "upload.modal.accordion.description.title": "Beschrijving",
"upload.modal.accordion.description.placeholder": "Note for the recipients of this share", "upload.modal.accordion.description.placeholder": "Opmerking voor de ontvangers van deze share",
"upload.modal.accordion.email.title": "E-mail ontvangers", "upload.modal.accordion.email.title": "E-mail van de ontvangers",
"upload.modal.accordion.email.placeholder": "Voer e-mail ontvangers in", "upload.modal.accordion.email.placeholder": "Voer e-mail ontvangers in",
"upload.modal.accordion.email.invalid-email": "Ongeldig e-mailadres", "upload.modal.accordion.email.invalid-email": "Ongeldig e-mailadres",
"upload.modal.accordion.security.title": "Beveiliging opties", "upload.modal.accordion.security.title": "Beveiliging opties",
@@ -240,35 +240,35 @@ export default {
"upload.modal.accordion.security.max-views.label": "Maximum aantal weergaven", "upload.modal.accordion.security.max-views.label": "Maximum aantal weergaven",
"upload.modal.accordion.security.max-views.placeholder": "Onbeperkt", "upload.modal.accordion.security.max-views.placeholder": "Onbeperkt",
// showCompletedUploadModal.tsx // showCompletedUploadModal.tsx
"upload.modal.completed.never-expires": "This share will never expire.", "upload.modal.completed.never-expires": "Deze omgekeerde share zal nooit verlopen.",
"upload.modal.completed.expires-on": "This share will expire on {expiration}.", "upload.modal.completed.expires-on": "Deze omgekeerde share verloopt op {expiration}.",
"upload.modal.completed.share-ready": "Share ready", "upload.modal.completed.share-ready": "Share is gereed",
// END /upload // END /upload
// /share/[id] // /share/[id]
"share.title": "Share {shareId}", "share.title": "Share {shareId}",
"share.description": "Kijk eens wat ik met je heb gedeeld!", "share.description": "Kijk eens wat ik met je heb gedeeld!",
"share.error.visitor-limit-exceeded.title": "Bezoekerslimiet overschreden", "share.error.visitor-limit-exceeded.title": "Bezoekerslimiet overschreden",
"share.error.visitor-limit-exceeded.description": "The visitor limit from this share has been exceeded.", "share.error.visitor-limit-exceeded.description": "De bezoekerslimiet van deze share is overschreden.",
"share.error.removed.title": "Share removed", "share.error.removed.title": "Share was verwijderd",
"share.error.not-found.title": "Share not found", "share.error.not-found.title": "Share niet gevonden",
"share.error.not-found.description": "The share you're looking for doesn't exist.", "share.error.not-found.description": "De share die je zoekt kan niet gevonden worden.",
"share.modal.password.title": "Wachtwoord vereist", "share.modal.password.title": "Wachtwoord vereist",
"share.modal.password.description": "To access this share please enter the password for the share.", "share.modal.password.description": "Vul een wachtwoord in om toegang te krijgen tot deze share.",
"share.modal.password": "Wachtwoord", "share.modal.password": "Wachtwoord",
"share.modal.error.invalid-password": "Ongeldig wachtwoord", "share.modal.error.invalid-password": "Ongeldig wachtwoord",
"share.button.download-all": "Alles downloaden", "share.button.download-all": "Alles downloaden",
"share.notify.download-all-preparing": "The share is preparing. Try again in a few minutes.", "share.notify.download-all-preparing": "De share word gebundeld. Probeer het over een paar minuten opnieuw.",
"share.modal.file-link": "Bestand koppeling", "share.modal.file-link": "Link naar bestand",
"share.table.name": "Naam", "share.table.name": "Naam",
"share.table.size": "Grootte", "share.table.size": "Grootte",
"share.modal.file-preview.error.not-supported.title": "Voorbeeld niet ondersteund", "share.modal.file-preview.error.not-supported.title": "Voorbeeld niet ondersteund",
"share.modal.file-preview.error.not-supported.description": "Een voorbeeld voor dit bestandstype wordt niet ondersteund. Download het bestand om het te bekijken.", "share.modal.file-preview.error.not-supported.description": "Een voorbeeld voor dit bestandstype wordt niet ondersteund. Download het bestand om het te bekijken.",
// END /share/[id] // END /share/[id]
// /share/[id]/edit // /share/[id]/edit
"share.edit.title": "Edit {shareId}", "share.edit.title": "{shareId} bewerken",
"share.edit.append-upload": "Append file", "share.edit.append-upload": "Bestand toevoegen",
"share.edit.notify.generic-error": "An error occurred while finishing your share.", "share.edit.notify.generic-error": "Er is een fout opgetreden tijdens het voltooien van uw share.",
"share.edit.notify.save-success": "Share updated successfully", "share.edit.notify.save-success": "Share is succesvol bijgewerkt",
// END /share/[id]/edit // END /share/[id]/edit
// /admin/config // /admin/config
"admin.config.title": "Configuratie", "admin.config.title": "Configuratie",
@@ -276,29 +276,29 @@ export default {
"admin.config.category.share": "Delen", "admin.config.category.share": "Delen",
"admin.config.category.email": "E-mail", "admin.config.category.email": "E-mail",
"admin.config.category.smtp": "SMTP", "admin.config.category.smtp": "SMTP",
"admin.config.category.oauth": "Social Login", "admin.config.category.oauth": "Social login",
"admin.config.general.app-name": "App naam", "admin.config.general.app-name": "App naam",
"admin.config.general.app-name.description": "Naam van de applicatie", "admin.config.general.app-name.description": "Naam van de applicatie",
"admin.config.general.app-url": "App URL", "admin.config.general.app-url": "App URL",
"admin.config.general.app-url.description": "On which URL Pingvin Share is available", "admin.config.general.app-url.description": "De URL waar Pingvin Delen bereikbaar is",
"admin.config.general.show-home-page": "Toon startpagina", "admin.config.general.show-home-page": "Toon startpagina",
"admin.config.general.show-home-page.description": "Toon of verberg de home pagina", "admin.config.general.show-home-page.description": "Toon of verberg de home pagina",
"admin.config.general.logo": "Logo", "admin.config.general.logo": "Logo",
"admin.config.general.logo.description": "Verander uw logo door een nieuwe afbeelding te uploaden. De afbeelding moet PNG zijn en het formaat moet 1:1 hebben.", "admin.config.general.logo.description": "Verander uw logo door een nieuwe afbeelding te uploaden. De afbeelding moet PNG zijn en het formaat moet 1:1 hebben.",
"admin.config.general.logo.placeholder": "Afbeelding kiezen", "admin.config.general.logo.placeholder": "Afbeelding kiezen",
"admin.config.email.enable-share-email-recipients": "Enable share email recipients", "admin.config.email.enable-share-email-recipients": "Voer e-mail ontvangers in",
"admin.config.email.enable-share-email-recipients.description": "Whether to allow emails to share recipients. Only enable this if you have enabled SMTP.", "admin.config.email.enable-share-email-recipients.description": "Sta e-mails toe om de ontvangers de deel link te versturen. Schakel dit alleen in als je SMTP hebt ingeschakeld.",
"admin.config.email.share-recipients-subject": "Share recipients subject", "admin.config.email.share-recipients-subject": "Share Email onderwerp",
"admin.config.email.share-recipients-subject.description": "Subject of the email which gets sent to the share recipients.", "admin.config.email.share-recipients-subject.description": "Het onderwerp van de e-mail die wordt verzonden naar de share ontvangers.",
"admin.config.email.share-recipients-message": "Share recipients message", "admin.config.email.share-recipients-message": "Bericht voor ontvangers van de Share",
"admin.config.email.share-recipients-message.description": "Message which gets sent to the share recipients. Available variables:\n {creator} - The username of the creator of the share\n {shareUrl} - The URL of the share\n {desc} - The description of the share\n {expires} - The expiration date of the share\n The variables will be replaced with the actual value.", "admin.config.email.share-recipients-message.description": "Bericht dat wordt verzonden naar de share ontvangers. Beschikbare variabelen:\n {creator} - De gebruikersnaam van de maker van het aandeel\n {shareUrl} - De URL van de share\n {desc} - De beschrijving van aandeel\n {expires} - De vervaldatum van het aandeel\n De variabelen worden vervangen door hun werkelijke waarde bij verzending.",
"admin.config.email.reverse-share-subject": "Reverse share subject", "admin.config.email.reverse-share-subject": "Omgekeerde share email onderwerp",
"admin.config.email.reverse-share-subject.description": "Subject of the email which gets sent when someone created a share with your reverse share link.", "admin.config.email.reverse-share-subject.description": "Het onderwerp van de e-mail die wordt verzonden wanneer iemand een share heeft gemaakt met uw omgekeerde share link.",
"admin.config.email.reverse-share-message": "Reverse share message", "admin.config.email.reverse-share-message": "Omgekeerde share bericht",
"admin.config.email.reverse-share-message.description": "Message which gets sent when someone created a share with your reverse share link. {shareUrl} will be replaced with the creator's name and the share URL.", "admin.config.email.reverse-share-message.description": "Het bericht dat wordt verzonden wanneer iemand een share heeft aangemaakt via de omgekeerde share link. {shareUrl} zal worden vervangen door de naam van de maker en de URL van de share.",
"admin.config.email.reset-password-subject": "Reset wachtwoord onderwerp", "admin.config.email.reset-password-subject": "Reset wachtwoord email onderwerp",
"admin.config.email.reset-password-subject.description": "Onderwerp van de e-mail die wordt verzonden wanneer een gebruiker een wachtwoordreset aanvraagt.", "admin.config.email.reset-password-subject.description": "Het onderwerp van de e-mail die wordt verzonden wanneer een gebruiker een wachtwoord reset aanvraagt.",
"admin.config.email.reset-password-message": "Wachtwoord opnieuw instellen bericht", "admin.config.email.reset-password-message": "Wachtwoord opnieuw aanvraag bericht",
"admin.config.email.reset-password-message.description": "Bericht dat wordt verzonden wanneer een gebruiker een wachtwoord reset aanvraagt. {url} zal worden vervangen door de wachtwoord reset URL.", "admin.config.email.reset-password-message.description": "Bericht dat wordt verzonden wanneer een gebruiker een wachtwoord reset aanvraagt. {url} zal worden vervangen door de wachtwoord reset URL.",
"admin.config.email.invite-subject": "Onderwerp uitnodiging", "admin.config.email.invite-subject": "Onderwerp uitnodiging",
"admin.config.email.invite-subject.description": "Onderwerp van de e-mail die wordt verzonden wanneer een beheerder een gebruiker uitnodigt.", "admin.config.email.invite-subject.description": "Onderwerp van de e-mail die wordt verzonden wanneer een beheerder een gebruiker uitnodigt.",
@@ -306,12 +306,12 @@ export default {
"admin.config.email.invite-message.description": "Bericht dat wordt verzonden wanneer een beheerder een gebruiker uitnodigt. {url} zal worden vervangen door de uitnodigings-URL en {password} met het wachtwoord.", "admin.config.email.invite-message.description": "Bericht dat wordt verzonden wanneer een beheerder een gebruiker uitnodigt. {url} zal worden vervangen door de uitnodigings-URL en {password} met het wachtwoord.",
"admin.config.share.allow-registration": "Sta registratie toe", "admin.config.share.allow-registration": "Sta registratie toe",
"admin.config.share.allow-registration.description": "Of registratie is toegestaan", "admin.config.share.allow-registration.description": "Of registratie is toegestaan",
"admin.config.share.allow-unauthenticated-shares": "Allow unauthenticated shares", "admin.config.share.allow-unauthenticated-shares": "Ongeverifieerde shares toestaan",
"admin.config.share.allow-unauthenticated-shares.description": "Whether unauthenticated users can create shares", "admin.config.share.allow-unauthenticated-shares.description": "Laat niet-geverifieerde gebruikers toe om shares aan te kunnen aanmaken",
"admin.config.share.max-expiration": "Max expiration", "admin.config.share.max-expiration": "Max. vervaldatum",
"admin.config.share.max-expiration.description": "Maximum share expiration in hours. Set to 0 to allow unlimited expiration.", "admin.config.share.max-expiration.description": "Maximale verval tijd van de share in uren. Stel in op 0 om onbeperkte vervaldatum toe te staan.",
"admin.config.share.max-size": "Max grootte", "admin.config.share.max-size": "Max. grootte",
"admin.config.share.max-size.description": "Maximum share size in bytes", "admin.config.share.max-size.description": "Maximale share grootte in bytes",
"admin.config.share.zip-compression-level": "Zip compressie niveau", "admin.config.share.zip-compression-level": "Zip compressie niveau",
"admin.config.share.zip-compression-level.description": "Pas het niveau aan voor evenwicht tussen bestandsgrootte en compressie snelheid. Geldige waarden variëren van 0 tot 9, waarbij 0 geen compressie is en 9 de maximale compressie is. ", "admin.config.share.zip-compression-level.description": "Pas het niveau aan voor evenwicht tussen bestandsgrootte en compressie snelheid. Geldige waarden variëren van 0 tot 9, waarbij 0 geen compressie is en 9 de maximale compressie is. ",
"admin.config.smtp.enabled": "Inschakelen", "admin.config.smtp.enabled": "Inschakelen",
@@ -327,66 +327,66 @@ export default {
"admin.config.smtp.password": "Wachtwoord", "admin.config.smtp.password": "Wachtwoord",
"admin.config.smtp.password.description": "Wachtwoord van de SMTP-server", "admin.config.smtp.password.description": "Wachtwoord van de SMTP-server",
"admin.config.smtp.button.test": "Test e-mail verzenden", "admin.config.smtp.button.test": "Test e-mail verzenden",
"admin.config.oauth.allow-registration": "Allow registration", "admin.config.oauth.allow-registration": "Sta registratie toe",
"admin.config.oauth.allow-registration.description": "Allow users to register via social login", "admin.config.oauth.allow-registration.description": "Gebruikers toestaan zich te registreren via sociale login",
"admin.config.oauth.ignore-totp": "Ignore TOTP", "admin.config.oauth.ignore-totp": "TOTP negeren",
"admin.config.oauth.ignore-totp.description": "Whether to ignore TOTP when user using social login", "admin.config.oauth.ignore-totp.description": "TOTP negeren wanneer gebruiker sociale login gebruikt",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "Whether GitHub login is enabled", "admin.config.oauth.github-enabled.description": "Ofdat GitHub login is ingeschakeld",
"admin.config.oauth.github-client-id": "GitHub Client ID", "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-id.description": "Client-ID van de GitHub OAuth app",
"admin.config.oauth.github-client-secret": "GitHub Client secret", "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-client-secret.description": "Client secret van de GitHub OAuth app",
"admin.config.oauth.google-enabled": "Google", "admin.config.oauth.google-enabled": "Google",
"admin.config.oauth.google-enabled.description": "Whether Google login is enabled", "admin.config.oauth.google-enabled.description": "Ofdat GitHub login is ingeschakeld",
"admin.config.oauth.google-client-id": "Google Client ID", "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-id.description": "Client-ID van de Google OAuth app",
"admin.config.oauth.google-client-secret": "Google Client secret", "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-client-secret.description": "Client secret van de Google OAuth app",
"admin.config.oauth.microsoft-enabled": "Microsoft", "admin.config.oauth.microsoft-enabled": "Microsoft",
"admin.config.oauth.microsoft-enabled.description": "Whether Microsoft login is enabled", "admin.config.oauth.microsoft-enabled.description": "Ofdat Microsoft login is ingeschakeld",
"admin.config.oauth.microsoft-tenant": "Microsoft Tenant", "admin.config.oauth.microsoft-tenant": "Microsoft Tenant",
"admin.config.oauth.microsoft-tenant.description": "Tenant ID of the Microsoft OAuth app\ncommon: Users with both a personal Microsoft account and a work or school account from Microsoft Entra ID can sign in to the application. organizations: Only users with work or school accounts from Microsoft Entra ID can sign in to the application.\nconsumers: Only users with a personal Microsoft account can sign in to the application.\ndomain name of the Microsoft Entra tenant or the tenant ID in GUID format: Only users from a specific Microsoft Entra tenant (directory members with a work or school account or directory guests with a personal Microsoft account) can sign in to the application.", "admin.config.oauth.microsoft-tenant.description": "Tenant ID van de Microsoft OAuth app\ncommon: Gebruikers met zowel een persoonlijk Microsoft-account als een werk- of schoolaccount van Microsoft Entra ID kunnen zich aanmelden bij de applicatie. organisaties: alleen gebruikers met werk of schoolaccounts van Microsoft Entra ID kunnen zich aanmelden bij de applicatie.\nconsumenten: Alleen gebruikers met een persoonlijk Microsoft-account kunnen zich aanmelden bij de applicatie.\ndomeinnaam van de Microsoft Entra tenant of de tenant ID in GUID formaat: alleen gebruikers van een specifieke Microsoft Entra tenant (directory leden met een werk- of schoolaccount of map gasten met een persoonlijk Microsoft-account) kunnen zich aanmelden bij de toepassing.",
"admin.config.oauth.microsoft-client-id": "Microsoft Client ID", "admin.config.oauth.microsoft-client-id": "Microsoft Client ID",
"admin.config.oauth.microsoft-client-id.description": "Client ID of the Microsoft OAuth app", "admin.config.oauth.microsoft-client-id.description": "Client-ID van de Microsoft OAuth app",
"admin.config.oauth.microsoft-client-secret": "Microsoft Client secret", "admin.config.oauth.microsoft-client-secret": "Microsoft Client secret",
"admin.config.oauth.microsoft-client-secret.description": "Client secret of the Microsoft OAuth app", "admin.config.oauth.microsoft-client-secret.description": "Client-secret van de Microsoft OAuth app",
"admin.config.oauth.discord-enabled": "Discord", "admin.config.oauth.discord-enabled": "Discord",
"admin.config.oauth.discord-enabled.description": "Whether Discord login is enabled", "admin.config.oauth.discord-enabled.description": "Ofdat discord login is ingeschakeld",
"admin.config.oauth.discord-limited-guild": "Discord limited server ID", "admin.config.oauth.discord-limited-guild": "Discord beperkte 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-limited-guild.description": "Beperk het inloggen tot gebruikers in een specifieke server. Laat leeg om uit te schakelen.",
"admin.config.oauth.discord-client-id": "Discord Client ID", "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-id.description": "Client-ID van de discord OAuth app",
"admin.config.oauth.discord-client-secret": "Discord Client secret", "admin.config.oauth.discord-client-secret": "Discord Client secret",
"admin.config.oauth.discord-client-secret.description": "Client secret of the Discord OAuth app", "admin.config.oauth.discord-client-secret.description": "Client-secret van de discord OAuth app",
"admin.config.oauth.oidc-enabled": "OpenID Connect", "admin.config.oauth.oidc-enabled": "OpenID Connect",
"admin.config.oauth.oidc-enabled.description": "Whether OpenID Connect login is enabled", "admin.config.oauth.oidc-enabled.description": "Ofdat OpenID Connect login is ingeschakeld",
"admin.config.oauth.oidc-discovery-uri": "OpenID Connect Discovery URI", "admin.config.oauth.oidc-discovery-uri": "OpenID Connect Discovery URI",
"admin.config.oauth.oidc-discovery-uri.description": "Discovery URI of the OpenID Connect OAuth app", "admin.config.oauth.oidc-discovery-uri.description": "Discovery URI van de OpenID Connect OAuth app",
"admin.config.oauth.oidc-username-claim": "OpenID Connect username claim", "admin.config.oauth.oidc-username-claim": "OpenID Connect username claim",
"admin.config.oauth.oidc-username-claim.description": "Username claim in OpenID Connect ID token. Leave it blank if you don't know what this config is.", "admin.config.oauth.oidc-username-claim.description": "Gebruikersnaam claim in OpenID Connect-ID-token. Laat het leeg als u niet weet wat deze configuratie is.",
"admin.config.oauth.oidc-client-id": "OpenID Connect Client ID", "admin.config.oauth.oidc-client-id": "Client-ID OpenID Connect",
"admin.config.oauth.oidc-client-id.description": "Client ID of the OpenID Connect OAuth app", "admin.config.oauth.oidc-client-id.description": "Client-ID van de OpenID Connect OAuth app",
"admin.config.oauth.oidc-client-secret": "OpenID Connect Client secret", "admin.config.oauth.oidc-client-secret": "OpenID Connect client secret",
"admin.config.oauth.oidc-client-secret.description": "Client secret of the OpenID Connect OAuth app", "admin.config.oauth.oidc-client-secret.description": "Client secret van de OpenID Connect OAuth app",
// 404 // 404
"404.description": "Oeps, deze pagina bestaat niet.", "404.description": "Oeps, deze pagina bestaat niet.",
"404.button.home": "Breng me terug naar huis", "404.button.home": "Breng me terug naar huis",
// error // error
"error.title": "Error", "error.title": "Fout",
"error.description": "Oops!", "error.description": "Oeps!",
"error.button.back": "Go back", "error.button.back": "Terug",
"error.msg.default": "Something went wrong.", "error.msg.default": "Er ging iets mis.",
"error.msg.access_denied": "You canceled the authentication process, please try again.", "error.msg.access_denied": "U heeft het verificatieproces geannuleerd, probeer het opnieuw.",
"error.msg.expired_token": "The authentication process took too long, please try again.", "error.msg.expired_token": "Het verificatieproces duurde te lang. Probeer het opnieuw.",
"error.msg.invalid_token": "Internal Error", "error.msg.invalid_token": "Interne fout",
"error.msg.no_user": "User linked to this {0} account doesn't exist.", "error.msg.no_user": "De gekoppelde gebruiker aan {0} account bestaat niet.",
"error.msg.no_email": "Can't get email address from this {0} account.", "error.msg.no_email": "Kan geen e-mailadres ophalen van dit {0} account.",
"error.msg.already_linked": "This {0} account is already linked to another account.", "error.msg.already_linked": "Dit {0} account is al gekoppeld aan een ander account.",
"error.msg.not_linked": "This {0} account haven't linked to any account yet.", "error.msg.not_linked": "Dit {0} account is nog aan geen enkel account gekoppeld.",
"error.msg.unverified_account": "This {0} account is unverified, please try again after verification.", "error.msg.unverified_account": "Dit {0} account is nog niet geverifieerd, probeer het opnieuw na de verificatie.",
"error.msg.discord_guild_permission_denied": "You are not allowed to sign in.", "error.msg.discord_guild_permission_denied": "U heeft geen toestemming om in te loggen.",
"error.msg.cannot_get_user_info": "Can not get your user info from this {0} account.", "error.msg.cannot_get_user_info": "Kan uw gebruikersgegevens van dit {0} account niet ophalen.",
"error.param.provider_github": "GitHub", "error.param.provider_github": "GitHub",
"error.param.provider_google": "Google", "error.param.provider_google": "Google",
"error.param.provider_microsoft": "Microsoft", "error.param.provider_microsoft": "Microsoft",

View File

@@ -359,16 +359,16 @@ export default {
"admin.config.oauth.discord-client-id.description": "ID do cliente do aplicativo Discord OAuth", "admin.config.oauth.discord-client-id.description": "ID do cliente do aplicativo Discord OAuth",
"admin.config.oauth.discord-client-secret": "Segredo do Cliente Discord", "admin.config.oauth.discord-client-secret": "Segredo do Cliente Discord",
"admin.config.oauth.discord-client-secret.description": "ID do cliente do aplicativo Discord OAuth", "admin.config.oauth.discord-client-secret.description": "ID do cliente do aplicativo Discord OAuth",
"admin.config.oauth.oidc-enabled": "OpenID Connect", "admin.config.oauth.oidc-enabled": "Conectar o OpenID",
"admin.config.oauth.oidc-enabled.description": "Whether OpenID Connect login is enabled", "admin.config.oauth.oidc-enabled.description": "Se o login do OpenID Connect está ativado",
"admin.config.oauth.oidc-discovery-uri": "OpenID Connect Discovery URI", "admin.config.oauth.oidc-discovery-uri": "URI de descoberta do OpenID Connect",
"admin.config.oauth.oidc-discovery-uri.description": "Discovery URI of the OpenID Connect OAuth app", "admin.config.oauth.oidc-discovery-uri.description": "URI da descoberta do aplicativo OpenID Connect OAuth",
"admin.config.oauth.oidc-username-claim": "OpenID Connect username claim", "admin.config.oauth.oidc-username-claim": "Reivindicação de nome de usuário OpenID Connect",
"admin.config.oauth.oidc-username-claim.description": "Username claim in OpenID Connect ID token. Leave it blank if you don't know what this config is.", "admin.config.oauth.oidc-username-claim.description": "Nome de usuário no token de ID OpenID Connect. Deixe em branco se você não sabe o que é esta configuração.",
"admin.config.oauth.oidc-client-id": "OpenID Connect Client ID", "admin.config.oauth.oidc-client-id": "ID do cliente OpenID Connect",
"admin.config.oauth.oidc-client-id.description": "Client ID of the OpenID Connect OAuth app", "admin.config.oauth.oidc-client-id.description": "ID do cliente do aplicativo OpenID OAuth",
"admin.config.oauth.oidc-client-secret": "OpenID Connect Client secret", "admin.config.oauth.oidc-client-secret": "Segredo do cliente OpenID Connect",
"admin.config.oauth.oidc-client-secret.description": "Client secret of the OpenID Connect OAuth app", "admin.config.oauth.oidc-client-secret.description": "ID do cliente do aplicativo OpenID OAuth",
// 404 // 404
"404.description": "Ops, esta página não existe.", "404.description": "Ops, esta página não existe.",
"404.button.home": "Me traga de volta para casa", "404.button.home": "Me traga de volta para casa",
@@ -386,7 +386,7 @@ export default {
"error.msg.not_linked": "Esta conta {0} ainda não foi vinculada a nenhuma conta.", "error.msg.not_linked": "Esta conta {0} ainda não foi vinculada a nenhuma conta.",
"error.msg.unverified_account": "Esta conta {0} não foi verificada, tente novamente após a verificação.", "error.msg.unverified_account": "Esta conta {0} não foi verificada, tente novamente após a verificação.",
"error.msg.discord_guild_permission_denied": "Você não tem permissão para acessar.", "error.msg.discord_guild_permission_denied": "Você não tem permissão para acessar.",
"error.msg.cannot_get_user_info": "Can not get your user info from this {0} account.", "error.msg.cannot_get_user_info": "Não é possível obter suas informações de usuário desta conta {0}.",
"error.param.provider_github": "GitHub", "error.param.provider_github": "GitHub",
"error.param.provider_google": "Google", "error.param.provider_google": "Google",
"error.param.provider_microsoft": "Microsoft", "error.param.provider_microsoft": "Microsoft",

View File

@@ -35,7 +35,7 @@ export default {
"signIn.notify.totp-required.description": "请输入一次性验证码", "signIn.notify.totp-required.description": "请输入一次性验证码",
"signIn.oauth.or": "OR", "signIn.oauth.or": "OR",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google", "signIn.oauth.google": "谷歌",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
"signIn.oauth.discord": "Discord", "signIn.oauth.discord": "Discord",
"signIn.oauth.oidc": "OpenID", "signIn.oauth.oidc": "OpenID",
@@ -51,8 +51,8 @@ export default {
"signup.button.submit": "注册", "signup.button.submit": "注册",
// END /auth/signup // END /auth/signup
// /auth/totp // /auth/totp
"totp.title": "TOTP Authentication", "totp.title": "两步验证",
"totp.button.signIn": "Sign in", "totp.button.signIn": "登录",
// END /auth/totp // END /auth/totp
// /auth/reset-password // /auth/reset-password
"resetPassword.title": "忘记密码?", "resetPassword.title": "忘记密码?",
@@ -72,11 +72,11 @@ export default {
"account.card.password.title": "密码", "account.card.password.title": "密码",
"account.card.password.old": "旧密码", "account.card.password.old": "旧密码",
"account.card.password.new": "新密码", "account.card.password.new": "新密码",
"account.card.password.noPasswordSet": "You don't have a password set. If you want to sign in with email and password you need to set a password.", "account.card.password.noPasswordSet": "您还未设置密码。如果您想通过邮箱和密码登录,请先设置密码。",
"account.notify.password.success": "密码更改成功!", "account.notify.password.success": "密码更改成功!",
"account.card.oauth.title": "Social login", "account.card.oauth.title": "社交账号登录",
"account.card.oauth.github": "GitHub", "account.card.oauth.github": "GitHub",
"account.card.oauth.google": "Google", "account.card.oauth.google": "谷歌",
"account.card.oauth.microsoft": "Microsoft", "account.card.oauth.microsoft": "Microsoft",
"account.card.oauth.discord": "Discord", "account.card.oauth.discord": "Discord",
"account.card.oauth.oidc": "OpenID", "account.card.oauth.oidc": "OpenID",
@@ -84,8 +84,8 @@ export default {
"account.card.oauth.unlink": "Unlink", "account.card.oauth.unlink": "Unlink",
"account.card.oauth.unlinked": "Unlinked", "account.card.oauth.unlinked": "Unlinked",
"account.modal.unlink.title": "Unlink account", "account.modal.unlink.title": "Unlink account",
"account.modal.unlink.description": "Unlinking your social accounts may cause you to lose your account if you don't remember your username and password.", "account.modal.unlink.description": "如果您不记得您的用户名和密码,解除和社交账号的关联可能会导致丢失账户。",
"account.notify.oauth.unlinked.success": "Unlinked successfully", "account.notify.oauth.unlinked.success": "解除关联成功",
"account.card.security.title": "安全", "account.card.security.title": "安全",
"account.card.security.totp.enable.description": "请输入当前密码开启两步验证", "account.card.security.totp.enable.description": "请输入当前密码开启两步验证",
"account.card.security.totp.disable.description": "请输入当前密码关闭两步验证", "account.card.security.totp.disable.description": "请输入当前密码关闭两步验证",
@@ -100,7 +100,7 @@ export default {
"account.notify.totp.disable": "成功关闭两步验证!", "account.notify.totp.disable": "成功关闭两步验证!",
"account.notify.totp.enable": "成功开启两步验证!", "account.notify.totp.enable": "成功开启两步验证!",
"account.card.language.title": "语言", "account.card.language.title": "语言",
"account.card.language.description": "The project is translated by the community. Some languages might be incomplete.", "account.card.language.description": "本项目由社区成员翻译,部分语言可能暂未提供翻译。",
"account.card.color.title": "颜色外观", "account.card.color.title": "颜色外观",
// ThemeSwitcher.tsx // ThemeSwitcher.tsx
"account.theme.dark": "暗黑模式", "account.theme.dark": "暗黑模式",
@@ -130,11 +130,11 @@ export default {
// END /account/shares // END /account/shares
// /account/reverseShares // /account/reverseShares
"account.reverseShares.title": "预留共享", "account.reverseShares.title": "预留共享",
"account.reverseShares.description": "预留共享允许你创建一个特定共享链接,以便外部用户以此创建共享", "account.reverseShares.description": "预留共享允许你创建一个特定共享链接,以便外部用户以此链接创建共享",
"account.reverseShares.title.empty": "这里空空如也 👀", "account.reverseShares.title.empty": "这里空空如也 👀",
"account.reverseShares.description.empty": "你没有创建任何预留共享", "account.reverseShares.description.empty": "你没有创建任何预留共享",
// showCreateReverseShareModal.tsx // showCreateReverseShareModal.tsx
"account.reverseShares.modal.title": "Create reverse share", "account.reverseShares.modal.title": "创建反向共享",
"account.reverseShares.modal.expiration.label": "过期时间", "account.reverseShares.modal.expiration.label": "过期时间",
"account.reverseShares.modal.expiration.minute-singular": "1 分钟", "account.reverseShares.modal.expiration.minute-singular": "1 分钟",
"account.reverseShares.modal.expiration.minute-plural": "分钟", "account.reverseShares.modal.expiration.minute-plural": "分钟",
@@ -214,7 +214,7 @@ export default {
"upload.modal.not-signed-in-description": "你将不能删除你的共享或查看访问次数", "upload.modal.not-signed-in-description": "你将不能删除你的共享或查看访问次数",
"upload.modal.expires.never": "永不", "upload.modal.expires.never": "永不",
"upload.modal.expires.never-long": "永不过期", "upload.modal.expires.never-long": "永不过期",
"upload.modal.expires.error.too-long": "Expiration exceeds maximum expiration date of {max}.", "upload.modal.expires.error.too-long": "您设置的过期时间超出了系统上限 {max}",
"upload.modal.link.label": "共享链接", "upload.modal.link.label": "共享链接",
"upload.modal.expires.label": "过期时间", "upload.modal.expires.label": "过期时间",
"upload.modal.expires.minute-singular": "1 分钟", "upload.modal.expires.minute-singular": "1 分钟",
@@ -276,22 +276,22 @@ export default {
"admin.config.category.share": "共享", "admin.config.category.share": "共享",
"admin.config.category.email": "电子邮件", "admin.config.category.email": "电子邮件",
"admin.config.category.smtp": "SMTP", "admin.config.category.smtp": "SMTP",
"admin.config.category.oauth": "Social Login", "admin.config.category.oauth": "社交账号登录",
"admin.config.general.app-name": "App 名称", "admin.config.general.app-name": "App 名称",
"admin.config.general.app-name.description": "这个 App 的名称", "admin.config.general.app-name.description": "自定义 App 的名称",
"admin.config.general.app-url": "App 的地址", "admin.config.general.app-url": "App 的地址",
"admin.config.general.app-url.description": "Pingvin Share 的 URL 地址", "admin.config.general.app-url.description": "Pingvin Share 的 URL 地址",
"admin.config.general.show-home-page": "显示首页", "admin.config.general.show-home-page": "显示首页",
"admin.config.general.show-home-page.description": "是否显示首页", "admin.config.general.show-home-page.description": "是否显示首页",
"admin.config.general.logo": "Logo", "admin.config.general.logo": "Logo",
"admin.config.general.logo.description": "上传个性化 Logo图片必须是长宽比 1:1 的 PNG 格式", "admin.config.general.logo.description": "上传你的个性化 Logo图片必须是长宽比 1:1 的 PNG 格式",
"admin.config.general.logo.placeholder": "选择图片", "admin.config.general.logo.placeholder": "选择图片",
"admin.config.email.enable-share-email-recipients": "开启共享邮件通知", "admin.config.email.enable-share-email-recipients": "开启共享邮件通知",
"admin.config.email.enable-share-email-recipients.description": "是否允许通过邮件通知发送共享信息,只有设置了 SMTP 后该选项才有效", "admin.config.email.enable-share-email-recipients.description": "是否允许通过邮件通知发送共享信息,只有设置了 SMTP 后该选项才有效",
"admin.config.email.share-recipients-subject": "共享邮件通知主题", "admin.config.email.share-recipients-subject": "共享邮件通知主题",
"admin.config.email.share-recipients-subject.description": "发送共享邮件通知的邮件主题", "admin.config.email.share-recipients-subject.description": "发送共享邮件通知的邮件主题",
"admin.config.email.share-recipients-message": "共享邮件通知内容", "admin.config.email.share-recipients-message": "共享邮件通知内容",
"admin.config.email.share-recipients-message.description": "发送到接收者的共享邮件通知具体内容。可选的变量有:\n {creator} - 共享创建者\n {shareUrl} - 共享链接\n {desc} - 共享描述\n {expires} - 共享过期时间\n 这些变量会被实际的值所替代", "admin.config.email.share-recipients-message.description": "发接收者的共享邮件通知具体内容。可选的变量有:\n {creator} - 共享创建者\n {shareUrl} - 共享链接\n {desc} - 共享描述\n {expires} - 共享过期时间\n 这些变量会被实际的值所替代",
"admin.config.email.reverse-share-subject": "预留共享邮件通知主题", "admin.config.email.reverse-share-subject": "预留共享邮件通知主题",
"admin.config.email.reverse-share-subject.description": "当有人使用了你的预留共享链接时,发送的预留共享邮件通知主题", "admin.config.email.reverse-share-subject.description": "当有人使用了你的预留共享链接时,发送的预留共享邮件通知主题",
"admin.config.email.reverse-share-message": "预留共享邮件通知内容", "admin.config.email.reverse-share-message": "预留共享邮件通知内容",
@@ -308,12 +308,12 @@ export default {
"admin.config.share.allow-registration.description": "是否允许注册", "admin.config.share.allow-registration.description": "是否允许注册",
"admin.config.share.allow-unauthenticated-shares": "是否允许未验证的共享", "admin.config.share.allow-unauthenticated-shares": "是否允许未验证的共享",
"admin.config.share.allow-unauthenticated-shares.description": "是否允许未验证的用户创建共享", "admin.config.share.allow-unauthenticated-shares.description": "是否允许未验证的用户创建共享",
"admin.config.share.max-expiration": "Max expiration", "admin.config.share.max-expiration": "最长过期时间",
"admin.config.share.max-expiration.description": "Maximum share expiration in hours. Set to 0 to allow unlimited expiration.", "admin.config.share.max-expiration.description": "“最长过期时间”以小时为单位如果将其设置为“0”则为永不过期。",
"admin.config.share.max-size": "最大文件上限", "admin.config.share.max-size": "最大文件上限",
"admin.config.share.max-size.description": "最大文件上限,单位 bytes (1GB=1024MB=1048576KB=1073741824bytes)", "admin.config.share.max-size.description": "最大文件上限,单位 bytes (1GB=1024MB=1048576KB=1073741824bytes)",
"admin.config.share.zip-compression-level": "Zip compression level", "admin.config.share.zip-compression-level": "Zip 文件压缩质量",
"admin.config.share.zip-compression-level.description": "Adjust the level to balance between file size and compression speed. Valid values range from 0 to 9, with 0 being no compression and 9 being maximum compression. ", "admin.config.share.zip-compression-level.description": "调整压缩质量来平衡压缩文件的大小和压缩的速度。有效值介于 0 和 9 之间0 为不压缩9 为最高质量压缩。 ",
"admin.config.smtp.enabled": "启用", "admin.config.smtp.enabled": "启用",
"admin.config.smtp.enabled.description": "是否开启 SMTP仅当输入主机名、端口、发送邮箱、用户名和密码后开启", "admin.config.smtp.enabled.description": "是否开启 SMTP仅当输入主机名、端口、发送邮箱、用户名和密码后开启",
"admin.config.smtp.host": "主机名", "admin.config.smtp.host": "主机名",
@@ -327,68 +327,68 @@ export default {
"admin.config.smtp.password": "密码", "admin.config.smtp.password": "密码",
"admin.config.smtp.password.description": "SMTP 主机密码", "admin.config.smtp.password.description": "SMTP 主机密码",
"admin.config.smtp.button.test": "发送测试邮件", "admin.config.smtp.button.test": "发送测试邮件",
"admin.config.oauth.allow-registration": "Allow registration", "admin.config.oauth.allow-registration": "允许注册",
"admin.config.oauth.allow-registration.description": "Allow users to register via social login", "admin.config.oauth.allow-registration.description": "允许用户通过登录社交账号来注册",
"admin.config.oauth.ignore-totp": "Ignore TOTP", "admin.config.oauth.ignore-totp": "忽略两步验证",
"admin.config.oauth.ignore-totp.description": "Whether to ignore TOTP when user using social login", "admin.config.oauth.ignore-totp.description": "用户通过社交账号登录时是否忽略两步验证",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "Whether GitHub login is enabled", "admin.config.oauth.github-enabled.description": "是否启用 GitHub 账号登录",
"admin.config.oauth.github-client-id": "GitHub Client ID", "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-id.description": "GitHub OAuth App 的 Client ID",
"admin.config.oauth.github-client-secret": "GitHub Client secret", "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-client-secret.description": "GitHub OAuth App 的 Client secret",
"admin.config.oauth.google-enabled": "Google", "admin.config.oauth.google-enabled": "谷歌",
"admin.config.oauth.google-enabled.description": "Whether Google login is enabled", "admin.config.oauth.google-enabled.description": "是否启用谷歌账号登录",
"admin.config.oauth.google-client-id": "Google Client ID", "admin.config.oauth.google-client-id": "谷歌 Client ID",
"admin.config.oauth.google-client-id.description": "Client ID of the Google OAuth app", "admin.config.oauth.google-client-id.description": "Google OAuth App 的 Client ID",
"admin.config.oauth.google-client-secret": "Google Client secret", "admin.config.oauth.google-client-secret": "谷歌 Client secret",
"admin.config.oauth.google-client-secret.description": "Client secret of the Google OAuth app", "admin.config.oauth.google-client-secret.description": "Google OAuth App 的 Client secret",
"admin.config.oauth.microsoft-enabled": "Microsoft", "admin.config.oauth.microsoft-enabled": "Microsoft",
"admin.config.oauth.microsoft-enabled.description": "Whether Microsoft login is enabled", "admin.config.oauth.microsoft-enabled.description": "是否启用微软账号登录",
"admin.config.oauth.microsoft-tenant": "Microsoft Tenant", "admin.config.oauth.microsoft-tenant": "Microsoft Tenant",
"admin.config.oauth.microsoft-tenant.description": "Tenant ID of the Microsoft OAuth app\ncommon: Users with both a personal Microsoft account and a work or school account from Microsoft Entra ID can sign in to the application. organizations: Only users with work or school accounts from Microsoft Entra ID can sign in to the application.\nconsumers: Only users with a personal Microsoft account can sign in to the application.\ndomain name of the Microsoft Entra tenant or the tenant ID in GUID format: Only users from a specific Microsoft Entra tenant (directory members with a work or school account or directory guests with a personal Microsoft account) can sign in to the application.", "admin.config.oauth.microsoft-tenant.description": "Tenant ID of the Microsoft OAuth app\ncommon: Users with both a personal Microsoft account and a work or school account from Microsoft Entra ID can sign in to the application. organizations: Only users with work or school accounts from Microsoft Entra ID can sign in to the application.\nconsumers: Only users with a personal Microsoft account can sign in to the application.\ndomain name of the Microsoft Entra tenant or the tenant ID in GUID format: Only users from a specific Microsoft Entra tenant (directory members with a work or school account or directory guests with a personal Microsoft account) can sign in to the application.",
"admin.config.oauth.microsoft-client-id": "Microsoft Client ID", "admin.config.oauth.microsoft-client-id": "Microsoft Client ID",
"admin.config.oauth.microsoft-client-id.description": "Client ID of the Microsoft OAuth app", "admin.config.oauth.microsoft-client-id.description": "Microsoft OAuth App 的 Client ID",
"admin.config.oauth.microsoft-client-secret": "Microsoft Client secret", "admin.config.oauth.microsoft-client-secret": "Microsoft Client secret",
"admin.config.oauth.microsoft-client-secret.description": "Client secret of the Microsoft OAuth app", "admin.config.oauth.microsoft-client-secret.description": "Microsoft OAuth App 的 Client secret",
"admin.config.oauth.discord-enabled": "Discord", "admin.config.oauth.discord-enabled": "Discord",
"admin.config.oauth.discord-enabled.description": "Whether Discord login is enabled", "admin.config.oauth.discord-enabled.description": "是否启用 Discord 账号登录",
"admin.config.oauth.discord-limited-guild": "Discord limited server ID", "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-limited-guild.description": "限制特定服务器中的用户登录。留空来禁用。",
"admin.config.oauth.discord-client-id": "Discord Client ID", "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-id.description": "Discord OAuth App 的 Client ID",
"admin.config.oauth.discord-client-secret": "Discord Client secret", "admin.config.oauth.discord-client-secret": "Discord Client secret",
"admin.config.oauth.discord-client-secret.description": "Client secret of the Discord OAuth app", "admin.config.oauth.discord-client-secret.description": "Discord OAuth App 的 Client secret",
"admin.config.oauth.oidc-enabled": "OpenID Connect", "admin.config.oauth.oidc-enabled": "OpenID Connect",
"admin.config.oauth.oidc-enabled.description": "Whether OpenID Connect login is enabled", "admin.config.oauth.oidc-enabled.description": "是否启用 OpenID Connect 登录",
"admin.config.oauth.oidc-discovery-uri": "OpenID Connect Discovery URI", "admin.config.oauth.oidc-discovery-uri": "OpenID Connect Discovery URI",
"admin.config.oauth.oidc-discovery-uri.description": "Discovery URI of the OpenID Connect OAuth app", "admin.config.oauth.oidc-discovery-uri.description": "OpenID Connect OAuth App 的 Discovery URI",
"admin.config.oauth.oidc-username-claim": "OpenID Connect username claim", "admin.config.oauth.oidc-username-claim": "OpenID Connect 用户名请求",
"admin.config.oauth.oidc-username-claim.description": "Username claim in OpenID Connect ID token. Leave it blank if you don't know what this config is.", "admin.config.oauth.oidc-username-claim.description": "OpenID Connect ID token 中的用户名请求。如果您不知道这项配置是什么,请留空。",
"admin.config.oauth.oidc-client-id": "OpenID Connect Client ID", "admin.config.oauth.oidc-client-id": "OpenID Connect Client ID",
"admin.config.oauth.oidc-client-id.description": "Client ID of the OpenID Connect OAuth app", "admin.config.oauth.oidc-client-id.description": "OpenID Connect OAuth App 的 Client ID",
"admin.config.oauth.oidc-client-secret": "OpenID Connect Client secret", "admin.config.oauth.oidc-client-secret": "OpenID Connect Client secret",
"admin.config.oauth.oidc-client-secret.description": "Client secret of the OpenID Connect OAuth app", "admin.config.oauth.oidc-client-secret.description": "OpenID Connect OAuth App 的 Client secret",
// 404 // 404
"404.description": "当前的页面走丢啦", "404.description": "当前的页面走丢啦",
"404.button.home": "返回主页", "404.button.home": "返回主页",
// error // error
"error.title": "Error", "error.title": "出错了",
"error.description": "Oops!", "error.description": "糟糕!",
"error.button.back": "Go back", "error.button.back": "返回上一页",
"error.msg.default": "Something went wrong.", "error.msg.default": "发生未知错误。",
"error.msg.access_denied": "You canceled the authentication process, please try again.", "error.msg.access_denied": "您取消了认证过程,请重试。",
"error.msg.expired_token": "The authentication process took too long, please try again.", "error.msg.expired_token": "认证过程耗时异常,请重试。",
"error.msg.invalid_token": "Internal Error", "error.msg.invalid_token": "内部错误",
"error.msg.no_user": "User linked to this {0} account doesn't exist.", "error.msg.no_user": "用户关联的这个 {0} 账户不存在。",
"error.msg.no_email": "Can't get email address from this {0} account.", "error.msg.no_email": "无法从 {0} 这个账户获取邮箱地址。",
"error.msg.already_linked": "This {0} account is already linked to another account.", "error.msg.already_linked": "{0} 这个账户已经关联到另一个账号。",
"error.msg.not_linked": "This {0} account haven't linked to any account yet.", "error.msg.not_linked": "{0} 这个账户尚未关联到任何账号。",
"error.msg.unverified_account": "This {0} account is unverified, please try again after verification.", "error.msg.unverified_account": "{0} 这个账户尚未验证,请在验证后重试。",
"error.msg.discord_guild_permission_denied": "You are not allowed to sign in.", "error.msg.discord_guild_permission_denied": "您无权登录。",
"error.msg.cannot_get_user_info": "Can not get your user info from this {0} account.", "error.msg.cannot_get_user_info": "无法从 {0} 这个账户获取您的用户信息。",
"error.param.provider_github": "GitHub", "error.param.provider_github": "GitHub",
"error.param.provider_google": "Google", "error.param.provider_google": "谷歌",
"error.param.provider_microsoft": "Microsoft", "error.param.provider_microsoft": "Microsoft",
"error.param.provider_discord": "Discord", "error.param.provider_discord": "Discord",
"error.param.provider_oidc": "OpenID Connect", "error.param.provider_oidc": "OpenID Connect",
@@ -404,10 +404,11 @@ export default {
"common.button.generate": "生成", "common.button.generate": "生成",
"common.button.done": "完成", "common.button.done": "完成",
"common.text.link": "链接", "common.text.link": "链接",
"common.text.navigate-to-link": "访问链接",
"common.text.or": "或", "common.text.or": "或",
"common.button.go-back": "返回", "common.button.go-back": "返回",
"common.notify.copied": "已复制到剪贴板", "common.notify.copied": "已复制到剪贴板",
"common.success": "Success", "common.success": "成功",
"common.error": "错误", "common.error": "错误",
"common.error.unknown": "发生未知错误", "common.error.unknown": "发生未知错误",
"common.error.invalid-email": "邮件地址不可用", "common.error.invalid-email": "邮件地址不可用",

View File

@@ -1,6 +1,6 @@
{ {
"name": "pingvin-share", "name": "pingvin-share",
"version": "0.21.2", "version": "0.21.4",
"scripts": { "scripts": {
"format": "cd frontend && npm run format && cd ../backend && npm run format", "format": "cd frontend && npm run format && cd ../backend && npm run format",
"lint": "cd frontend && npm run lint && cd ../backend && npm run lint", "lint": "cd frontend && npm run lint && cd ../backend && npm run lint",