mirror of
https://github.com/stonith404/pingvin-share.git
synced 2024-11-04 23:10:13 +01:00
refactor: run formatter
This commit is contained in:
parent
7b34cb14cb
commit
f02e2979c4
@ -7,7 +7,7 @@ import { LOCALES } from "../../i18n/locales";
|
||||
const LanguagePicker = () => {
|
||||
const t = useTranslate();
|
||||
const [selectedLanguage, setSelectedLanguage] = useState(
|
||||
getCookie("language")?.toString()
|
||||
getCookie("language")?.toString(),
|
||||
);
|
||||
|
||||
const languages = Object.values(LOCALES).map((locale) => ({
|
||||
@ -23,7 +23,7 @@ const LanguagePicker = () => {
|
||||
setCookie("language", value, {
|
||||
sameSite: "lax",
|
||||
expires: new Date(
|
||||
new Date().setFullYear(new Date().getFullYear() + 1)
|
||||
new Date().setFullYear(new Date().getFullYear() + 1),
|
||||
),
|
||||
});
|
||||
location.reload();
|
||||
|
@ -14,7 +14,7 @@ import userPreferences from "../../utils/userPreferences.util";
|
||||
|
||||
const ThemeSwitcher = () => {
|
||||
const [colorScheme, setColorScheme] = useState(
|
||||
userPreferences.get("colorScheme")
|
||||
userPreferences.get("colorScheme"),
|
||||
);
|
||||
const { toggleColorScheme } = useMantineColorScheme();
|
||||
const systemColorScheme = useColorScheme();
|
||||
@ -26,7 +26,7 @@ const ThemeSwitcher = () => {
|
||||
userPreferences.set("colorScheme", value);
|
||||
setColorScheme(value);
|
||||
toggleColorScheme(
|
||||
value == "system" ? systemColorScheme : (value as ColorScheme)
|
||||
value == "system" ? systemColorScheme : (value as ColorScheme),
|
||||
);
|
||||
}}
|
||||
data={[
|
||||
|
@ -26,7 +26,7 @@ const showEnableTotpModal = (
|
||||
qrCode: string;
|
||||
secret: string;
|
||||
password: string;
|
||||
}
|
||||
},
|
||||
) => {
|
||||
const t = translateOutsideContext();
|
||||
return modals.openModal({
|
||||
|
@ -5,7 +5,7 @@ import { translateOutsideContext } from "../../hooks/useTranslate.hook";
|
||||
const showReverseShareLinkModal = (
|
||||
modals: ModalsContextProps,
|
||||
reverseShareToken: string,
|
||||
appUrl: string
|
||||
appUrl: string,
|
||||
) => {
|
||||
const t = translateOutsideContext();
|
||||
const link = `${appUrl}/upload/${reverseShareToken}`;
|
||||
|
@ -12,7 +12,7 @@ const showShareInformationsModal = (
|
||||
modals: ModalsContextProps,
|
||||
share: MyShare,
|
||||
appUrl: string,
|
||||
maxShareSize: number
|
||||
maxShareSize: number,
|
||||
) => {
|
||||
const t = translateOutsideContext();
|
||||
const link = `${appUrl}/s/${share.id}`;
|
||||
|
@ -5,7 +5,7 @@ import { translateOutsideContext } from "../../hooks/useTranslate.hook";
|
||||
const showShareLinkModal = (
|
||||
modals: ModalsContextProps,
|
||||
shareId: string,
|
||||
appUrl: string
|
||||
appUrl: string,
|
||||
) => {
|
||||
const t = translateOutsideContext();
|
||||
const link = `${appUrl}/s/${shareId}`;
|
||||
|
@ -21,7 +21,7 @@ const AdminConfigInput = ({
|
||||
stringValue: configVariable.value ?? configVariable.defaultValue,
|
||||
textValue: configVariable.value ?? configVariable.defaultValue,
|
||||
numberValue: parseInt(
|
||||
configVariable.value ?? configVariable.defaultValue
|
||||
configVariable.value ?? configVariable.defaultValue,
|
||||
),
|
||||
booleanValue:
|
||||
(configVariable.value ?? configVariable.defaultValue) == "true",
|
||||
|
@ -33,7 +33,7 @@ const TestEmailButton = ({
|
||||
<Textarea minRows={4} readOnly value={e.response.data.message} />
|
||||
</Stack>
|
||||
),
|
||||
})
|
||||
}),
|
||||
);
|
||||
};
|
||||
|
||||
|
@ -17,7 +17,7 @@ import toast from "../../../utils/toast.util";
|
||||
const showCreateUserModal = (
|
||||
modals: ModalsContextProps,
|
||||
smtpEnabled: boolean,
|
||||
getUsers: () => void
|
||||
getUsers: () => void,
|
||||
) => {
|
||||
return modals.openModal({
|
||||
title: "Create user",
|
||||
@ -55,7 +55,7 @@ const Body = ({
|
||||
.string()
|
||||
.min(8, t("common.error.too-short", { length: 8 }))
|
||||
.optional(),
|
||||
})
|
||||
}),
|
||||
),
|
||||
});
|
||||
|
||||
@ -87,7 +87,7 @@ const Body = ({
|
||||
labelPosition="left"
|
||||
label={t("admin.users.modal.create.manual-password")}
|
||||
description={t(
|
||||
"admin.users.modal.create.manual-password.description"
|
||||
"admin.users.modal.create.manual-password.description",
|
||||
)}
|
||||
{...form.getInputProps("setPasswordManually", {
|
||||
type: "checkbox",
|
||||
|
@ -21,7 +21,7 @@ import toast from "../../../utils/toast.util";
|
||||
const showUpdateUserModal = (
|
||||
modals: ModalsContextProps,
|
||||
user: User,
|
||||
getUsers: () => void
|
||||
getUsers: () => void,
|
||||
) => {
|
||||
const t = translateOutsideContext();
|
||||
return modals.openModal({
|
||||
@ -53,7 +53,7 @@ const Body = ({
|
||||
username: yup
|
||||
.string()
|
||||
.min(3, t("common.error.too-short", { length: 3 })),
|
||||
})
|
||||
}),
|
||||
),
|
||||
});
|
||||
|
||||
@ -66,7 +66,7 @@ const Body = ({
|
||||
password: yup
|
||||
.string()
|
||||
.min(8, t("common.error.too-short", { length: 8 })),
|
||||
})
|
||||
}),
|
||||
),
|
||||
});
|
||||
|
||||
@ -115,8 +115,8 @@ const Body = ({
|
||||
})
|
||||
.then(() =>
|
||||
toast.success(
|
||||
t("admin.users.edit.update.notify.password.success")
|
||||
)
|
||||
t("admin.users.edit.update.notify.password.success"),
|
||||
),
|
||||
)
|
||||
.catch(toast.axiosError);
|
||||
})}
|
||||
|
@ -76,7 +76,7 @@ const SignUpForm = () => {
|
||||
<Paper withBorder shadow="md" p={30} mt={30} radius="md">
|
||||
<form
|
||||
onSubmit={form.onSubmit((values) =>
|
||||
signUp(values.email, values.username, values.password)
|
||||
signUp(values.email, values.username, values.password),
|
||||
)}
|
||||
>
|
||||
<TextInput
|
||||
|
@ -8,7 +8,7 @@ import CopyTextField from "../../upload/CopyTextField";
|
||||
const showCompletedReverseShareModal = (
|
||||
modals: ModalsContextProps,
|
||||
link: string,
|
||||
getReverseShares: () => void
|
||||
getReverseShares: () => void,
|
||||
) => {
|
||||
const t = translateOutsideContext();
|
||||
return modals.openModal({
|
||||
|
@ -23,7 +23,7 @@ import showCompletedReverseShareModal from "./showCompletedReverseShareModal";
|
||||
const showCreateReverseShareModal = (
|
||||
modals: ModalsContextProps,
|
||||
showSendEmailNotificationOption: boolean,
|
||||
getReverseShares: () => void
|
||||
getReverseShares: () => void,
|
||||
) => {
|
||||
return modals.openModal({
|
||||
title: "Create reverse share",
|
||||
@ -64,7 +64,7 @@ const Body = ({
|
||||
values.expiration_num + values.expiration_unit,
|
||||
values.maxShareSize,
|
||||
values.maxUseCount,
|
||||
values.sendEmailNotification
|
||||
values.sendEmailNotification,
|
||||
)
|
||||
.then(({ link }) => {
|
||||
modals.closeAll();
|
||||
@ -150,7 +150,7 @@ const Body = ({
|
||||
expiresOn: t("account.reverseShare.expires-on"),
|
||||
neverExpires: t("account.reverseShare.never-expires"),
|
||||
},
|
||||
form
|
||||
form,
|
||||
)}
|
||||
</Text>
|
||||
</div>
|
||||
@ -174,7 +174,7 @@ const Body = ({
|
||||
labelPosition="left"
|
||||
label={t("account.reverseShares.modal.send-email")}
|
||||
description={t(
|
||||
"account.reverseShares.modal.send-email.description"
|
||||
"account.reverseShares.modal.send-email.description",
|
||||
)}
|
||||
{...form.getInputProps("sendEmailNotification", {
|
||||
type: "checkbox",
|
||||
|
@ -6,7 +6,7 @@ import FilePreview from "../FilePreview";
|
||||
const showFilePreviewModal = (
|
||||
shareId: string,
|
||||
file: FileMetaData,
|
||||
modals: ModalsContextProps
|
||||
modals: ModalsContextProps,
|
||||
) => {
|
||||
const mimeType = (mime.contentType(file.name) || "").split(";")[0];
|
||||
return modals.openModal({
|
||||
|
@ -8,7 +8,7 @@ import useTranslate, {
|
||||
|
||||
const showEnterPasswordModal = (
|
||||
modals: ModalsContextProps,
|
||||
submitCallback: (password: string) => Promise<void>
|
||||
submitCallback: (password: string) => Promise<void>,
|
||||
) => {
|
||||
const t = translateOutsideContext();
|
||||
return modals.openModal({
|
||||
|
@ -7,7 +7,7 @@ import { FormattedMessage } from "react-intl";
|
||||
const showErrorModal = (
|
||||
modals: ModalsContextProps,
|
||||
title: string,
|
||||
text: string
|
||||
text: string,
|
||||
) => {
|
||||
return modals.openModal({
|
||||
closeOnClickOutside: false,
|
||||
|
@ -12,7 +12,7 @@ function CopyTextField(props: { link: string }) {
|
||||
const [checkState, setCheckState] = useState(false);
|
||||
const [textClicked, setTextClicked] = useState(false);
|
||||
const timerRef = useRef<number | ReturnType<typeof setTimeout> | undefined>(
|
||||
undefined
|
||||
undefined,
|
||||
);
|
||||
|
||||
const copyLink = () => {
|
||||
|
@ -58,14 +58,14 @@ const Dropzone = ({
|
||||
onDrop={(newFiles: FileUpload[]) => {
|
||||
const fileSizeSum = [...newFiles, ...files].reduce(
|
||||
(n, { size }) => n + size,
|
||||
0
|
||||
0,
|
||||
);
|
||||
|
||||
if (fileSizeSum > maxShareSize) {
|
||||
toast.error(
|
||||
t("upload.dropzone.notify.file-too-big", {
|
||||
maxSize: byteToHumanSizeString(maxShareSize),
|
||||
})
|
||||
}),
|
||||
);
|
||||
} else {
|
||||
newFiles = newFiles.map((newFile) => {
|
||||
|
@ -13,7 +13,7 @@ import CopyTextField from "../CopyTextField";
|
||||
const showCompletedUploadModal = (
|
||||
modals: ModalsContextProps,
|
||||
share: Share,
|
||||
appUrl: string
|
||||
appUrl: string,
|
||||
) => {
|
||||
const t = translateOutsideContext();
|
||||
return modals.openModal({
|
||||
|
@ -38,7 +38,7 @@ const showCreateUploadModal = (
|
||||
allowUnauthenticatedShares: boolean;
|
||||
enableEmailRecepients: boolean;
|
||||
},
|
||||
uploadCallback: (createShare: CreateShare) => void
|
||||
uploadCallback: (createShare: CreateShare) => void,
|
||||
) => {
|
||||
const t = translateOutsideContext();
|
||||
|
||||
@ -152,7 +152,7 @@ const CreateUploadModalBody = ({
|
||||
"link",
|
||||
Buffer.from(Math.random().toString(), "utf8")
|
||||
.toString("base64")
|
||||
.substr(10, 7)
|
||||
.substr(10, 7),
|
||||
)
|
||||
}
|
||||
>
|
||||
@ -251,7 +251,7 @@ const CreateUploadModalBody = ({
|
||||
neverExpires: t("upload.modal.completed.never-expires"),
|
||||
expiresOn: t("upload.modal.completed.expires-on"),
|
||||
},
|
||||
form
|
||||
form,
|
||||
)}
|
||||
</Text>
|
||||
</>
|
||||
@ -266,7 +266,7 @@ const CreateUploadModalBody = ({
|
||||
<Textarea
|
||||
variant="filled"
|
||||
placeholder={t(
|
||||
"upload.modal.accordion.description.placeholder"
|
||||
"upload.modal.accordion.description.placeholder",
|
||||
)}
|
||||
{...form.getInputProps("description")}
|
||||
/>
|
||||
@ -290,7 +290,7 @@ const CreateUploadModalBody = ({
|
||||
if (!query.match(/^\S+@\S+\.\S+$/)) {
|
||||
form.setFieldError(
|
||||
"recipients",
|
||||
t("upload.modal.accordion.email.invalid-email")
|
||||
t("upload.modal.accordion.email.invalid-email"),
|
||||
);
|
||||
} else {
|
||||
form.setFieldError("recipients", null);
|
||||
@ -315,7 +315,7 @@ const CreateUploadModalBody = ({
|
||||
<PasswordInput
|
||||
variant="filled"
|
||||
placeholder={t(
|
||||
"upload.modal.accordion.security.password.placeholder"
|
||||
"upload.modal.accordion.security.password.placeholder",
|
||||
)}
|
||||
label={t("upload.modal.accordion.security.password.label")}
|
||||
{...form.getInputProps("password")}
|
||||
@ -325,7 +325,7 @@ const CreateUploadModalBody = ({
|
||||
type="number"
|
||||
variant="filled"
|
||||
placeholder={t(
|
||||
"upload.modal.accordion.security.max-views.placeholder"
|
||||
"upload.modal.accordion.security.max-views.placeholder",
|
||||
)}
|
||||
label={t("upload.modal.accordion.security.max-views.label")}
|
||||
{...form.getInputProps("maxViews")}
|
||||
|
@ -7,7 +7,7 @@ const useTranslate = () => {
|
||||
return (
|
||||
id: string,
|
||||
values?: Parameters<typeof intl.formatMessage>[1],
|
||||
opts?: Parameters<typeof intl.formatMessage>[2]
|
||||
opts?: Parameters<typeof intl.formatMessage>[2],
|
||||
) => {
|
||||
return intl.formatMessage({ id }, values, opts) as string;
|
||||
};
|
||||
@ -25,12 +25,12 @@ export const translateOutsideContext = () => {
|
||||
messages: i18nUtil.getLocaleByCode(locale)?.messages,
|
||||
defaultLocale: "en",
|
||||
},
|
||||
cache
|
||||
cache,
|
||||
);
|
||||
return (
|
||||
id: string,
|
||||
values?: Parameters<typeof intl.formatMessage>[1],
|
||||
opts?: Parameters<typeof intl.formatMessage>[2]
|
||||
opts?: Parameters<typeof intl.formatMessage>[2],
|
||||
) => {
|
||||
return intl.formatMessage({ id }, values, opts) as string;
|
||||
};
|
||||
|
@ -12,13 +12,16 @@ export default {
|
||||
// END navbar
|
||||
// /
|
||||
"home.title": "En <h>self-hosted</h> fildelingsplatform.",
|
||||
"home.description": "Er du sikker på, at du vil overlade dine personlige filer til tredjeparter som WeTransfer?",
|
||||
"home.description":
|
||||
"Er du sikker på, at du vil overlade dine personlige filer til tredjeparter som WeTransfer?",
|
||||
"home.bullet.a.name": "Self-Hosted",
|
||||
"home.bullet.a.description": "Host Pingvin Share på din egen maskine.",
|
||||
"home.bullet.b.name": "Privatliv",
|
||||
"home.bullet.b.description": "Dine filer er dine filer og bør ikke komme i hænderne på tredjeparter.",
|
||||
"home.bullet.b.description":
|
||||
"Dine filer er dine filer og bør ikke komme i hænderne på tredjeparter.",
|
||||
"home.bullet.c.name": "Ingen irriterende grænse for filstørrelse",
|
||||
"home.bullet.c.description": "Upload så store filer, som du vil. Kun din harddisk sætter grænsen.",
|
||||
"home.bullet.c.description":
|
||||
"Upload så store filer, som du vil. Kun din harddisk sætter grænsen.",
|
||||
"home.button.start": "Kom i gang",
|
||||
"home.button.source": "Source code",
|
||||
// END /
|
||||
@ -27,12 +30,14 @@ export default {
|
||||
"signin.description": "Har du ikke en bruger endnu?",
|
||||
"signin.button.signup": "Opret bruger",
|
||||
"signin.input.email-or-username": "E-mail eller brugernavn",
|
||||
"signin.input.email-or-username.placeholder": "Din e-mail eller dit brugernavn",
|
||||
"signin.input.email-or-username.placeholder":
|
||||
"Din e-mail eller dit brugernavn",
|
||||
"signin.input.password": "Adgangskode",
|
||||
"signin.input.password.placeholder": "Din adgangskode",
|
||||
"signin.button.submit": "Log ind",
|
||||
"signIn.notify.totp-required.title": "2-faktor login påkrævet",
|
||||
"signIn.notify.totp-required.description": "Indtast den aktuelle engangskode fra din 2-faktor Authenticator",
|
||||
"signIn.notify.totp-required.description":
|
||||
"Indtast den aktuelle engangskode fra din 2-faktor Authenticator",
|
||||
// END /auth/signin
|
||||
// /auth/signup
|
||||
"signup.title": "Opret en bruger",
|
||||
@ -46,8 +51,10 @@ export default {
|
||||
// END /auth/signup
|
||||
// /auth/reset-password
|
||||
"resetPassword.title": "Glemt din adgangskode?",
|
||||
"resetPassword.description": "Indtast din e-mail for at nulstille din adgangskode.",
|
||||
"resetPassword.notify.success": "En e-mail er blevet sendt med et link til at nulstille din adgangskode.",
|
||||
"resetPassword.description":
|
||||
"Indtast din e-mail for at nulstille din adgangskode.",
|
||||
"resetPassword.notify.success":
|
||||
"En e-mail er blevet sendt med et link til at nulstille din adgangskode.",
|
||||
"resetPassword.button.back": "Tilbage til login",
|
||||
"resetPassword.text.resetPassword": "Nulstil adgangskode",
|
||||
"resetPassword.text.enterNewPassword": "Indtast din nye adgangskode",
|
||||
@ -64,8 +71,10 @@ export default {
|
||||
"account.card.password.new": "Ny adgangskode",
|
||||
"account.notify.password.success": "Adgangskoden er ændret",
|
||||
"account.card.security.title": "Sikkerhed",
|
||||
"account.card.security.totp.enable.description": "Indtast din nuværende adgangskode for at begynde opsætningen af 2-faktor login",
|
||||
"account.card.security.totp.disable.description": "Enter your current password to disable TOTP",
|
||||
"account.card.security.totp.enable.description":
|
||||
"Indtast din nuværende adgangskode for at begynde opsætningen af 2-faktor login",
|
||||
"account.card.security.totp.disable.description":
|
||||
"Enter your current password to disable TOTP",
|
||||
"account.card.security.totp.button.start": "Start",
|
||||
"account.modal.totp.title": "Aktiver 2-faktor login",
|
||||
"account.modal.totp.step1": "Trin 1: Tilføj din 2-faktor Authenticator",
|
||||
@ -77,7 +86,8 @@ export default {
|
||||
"account.notify.totp.disable": "2-faktor blev deaktiveret",
|
||||
"account.notify.totp.enable": "2-faktor blev deaktiveret",
|
||||
"account.card.language.title": "Sprog",
|
||||
"account.card.language.description": "The project is translated by the community. Some languages might be incomplete.",
|
||||
"account.card.language.description":
|
||||
"The project is translated by the community. Some languages might be incomplete.",
|
||||
"account.card.color.title": "Farveskema",
|
||||
// ThemeSwitcher.tsx
|
||||
"account.theme.dark": "Mørkt",
|
||||
@ -85,7 +95,8 @@ export default {
|
||||
"account.theme.system": "System",
|
||||
"account.button.delete": "Slet bruger",
|
||||
"account.modal.delete.title": "Slet bruger",
|
||||
"account.modal.delete.description": "Er du sikker på at du vil slette din bruger, herunder alle dine aktive delinger?",
|
||||
"account.modal.delete.description":
|
||||
"Er du sikker på at du vil slette din bruger, herunder alle dine aktive delinger?",
|
||||
// END /account
|
||||
// /account/shares
|
||||
"account.shares.title": "Mine delte filer",
|
||||
@ -103,13 +114,16 @@ export default {
|
||||
"account.shares.modal.share-informations": "Share informations",
|
||||
"account.shares.modal.share-link": "Del link",
|
||||
"account.shares.modal.delete.title": "Delete share {share}",
|
||||
"account.shares.modal.delete.description": "Ønsker du virkelig at slette denne deling?",
|
||||
"account.shares.modal.delete.description":
|
||||
"Ønsker du virkelig at slette denne deling?",
|
||||
// END /account/shares
|
||||
// /account/reverseShares
|
||||
"account.reverseShares.title": "Omvendt deling",
|
||||
"account.reverseShares.description": "A reverse share allows you to generate a unique URL that allows external users to create a share.",
|
||||
"account.reverseShares.description":
|
||||
"A reverse share allows you to generate a unique URL that allows external users to create a share.",
|
||||
"account.reverseShares.title.empty": "Der er tomt her 👀",
|
||||
"account.reverseShares.description.empty": "You don't have any reverse shares.",
|
||||
"account.reverseShares.description.empty":
|
||||
"You don't have any reverse shares.",
|
||||
// showCreateReverseShareModal.tsx
|
||||
"account.reverseShares.modal.expiration.label": "Udløb",
|
||||
"account.reverseShares.modal.expiration.minute-singular": "Minut",
|
||||
@ -126,12 +140,16 @@ export default {
|
||||
"account.reverseShares.modal.expiration.year-plural": "År",
|
||||
"account.reverseShares.modal.max-size.label": "Maksimal størrelse for deling",
|
||||
"account.reverseShares.modal.send-email": "Send e-mail notifikation",
|
||||
"account.reverseShares.modal.send-email.description": "Send en e-mail notifikation, når der oprettes en deling med dette omvendte delingslink.",
|
||||
"account.reverseShares.modal.send-email.description":
|
||||
"Send en e-mail notifikation, når der oprettes en deling med dette omvendte delingslink.",
|
||||
"account.reverseShares.modal.max-use.label": "Maksimal anvendelser",
|
||||
"account.reverseShares.modal.max-use.description": "Det maksimale antal gange, denne URL kan bruges til at oprette en deling.",
|
||||
"account.reverseShares.modal.max-use.description":
|
||||
"Det maksimale antal gange, denne URL kan bruges til at oprette en deling.",
|
||||
"account.reverseShare.never-expires": "Denne omvendte deling udløber aldrig.",
|
||||
"account.reverseShare.expires-on": "Denne omvendte deling udløber den {expiration}.",
|
||||
"account.reverseShares.table.no-shares": "Der er ikke oprettet nogle delinger endnu",
|
||||
"account.reverseShare.expires-on":
|
||||
"Denne omvendte deling udløber den {expiration}.",
|
||||
"account.reverseShares.table.no-shares":
|
||||
"Der er ikke oprettet nogle delinger endnu",
|
||||
"account.reverseShares.table.count.singular": "del",
|
||||
"account.reverseShares.table.count.plural": "delinger",
|
||||
"account.reverseShares.table.shares": "Delinger",
|
||||
@ -140,7 +158,8 @@ export default {
|
||||
"account.reverseShares.table.expires": "Udløber d",
|
||||
"account.reverseShares.modal.reverse-share-link": "Omvendt deling",
|
||||
"account.reverseShares.modal.delete.title": "Delete reverse share",
|
||||
"account.reverseShares.modal.delete.description": "Ønsker du virkelig at slette denne omvendte deling? Hvis du gør det, vil de tilknyttede delinger også blive slettet.",
|
||||
"account.reverseShares.modal.delete.description":
|
||||
"Ønsker du virkelig at slette denne omvendte deling? Hvis du gør det, vil de tilknyttede delinger også blive slettet.",
|
||||
// END /account/reverseShares
|
||||
// /admin
|
||||
"admin.title": "Administration",
|
||||
@ -160,34 +179,42 @@ export default {
|
||||
"admin.users.edit.update.change-password.button": "Gem ny adgangskode",
|
||||
"admin.users.edit.update.notify.password.success": "Adgangskoden er ændret",
|
||||
"admin.users.edit.delete.title": "Slet bruger {username}",
|
||||
"admin.users.edit.delete.description": "Er du sikker på du vil slette denne bruger og tilhørende delinger?",
|
||||
"admin.users.edit.delete.description":
|
||||
"Er du sikker på du vil slette denne bruger og tilhørende delinger?",
|
||||
// showCreateUserModal.tsx
|
||||
"admin.users.modal.create.title": "Opret bruger",
|
||||
"admin.users.modal.create.username": "Brugernavn",
|
||||
"admin.users.modal.create.email": "E-mail",
|
||||
"admin.users.modal.create.password": "Adgangskode",
|
||||
"admin.users.modal.create.manual-password": "Angiv adgangskode manuelt",
|
||||
"admin.users.modal.create.manual-password.description": "If not checked, the user will receive an email with a link to set their password.",
|
||||
"admin.users.modal.create.manual-password.description":
|
||||
"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.description": "If checked, the user will be able to access the admin panel.",
|
||||
"admin.users.modal.create.admin.description":
|
||||
"If checked, the user will be able to access the admin panel.",
|
||||
// END /admin/users
|
||||
// /upload
|
||||
"upload.title": "Upload",
|
||||
"upload.notify.generic-error": "Der opstod en fejl under afslutningen af din deling.",
|
||||
"upload.notify.generic-error":
|
||||
"Der opstod en fejl under afslutningen af din deling.",
|
||||
"upload.notify.count-failed": "{count} files failed to upload. Trying again.",
|
||||
// Dropzone.tsx
|
||||
"upload.dropzone.title": "Upload filer",
|
||||
"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.notify.file-too-big": "Your files exceed the maximum share size of {maxSize}.",
|
||||
"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.notify.file-too-big":
|
||||
"Your files exceed the maximum share size of {maxSize}.",
|
||||
// FileList.tsx
|
||||
"upload.filelist.name": "Navn",
|
||||
"upload.filelist.size": "Størrelse",
|
||||
// showCreateUploadModal.tsx
|
||||
"upload.modal.title": "Opret Deling",
|
||||
"upload.modal.link.error.invalid": "Can only contain letters, numbers, underscores, and hyphens",
|
||||
"upload.modal.link.error.invalid":
|
||||
"Can only contain letters, numbers, underscores, and hyphens",
|
||||
"upload.modal.link.error.taken": "Det valgte link er allerede i brug",
|
||||
"upload.modal.not-signed-in": "Du er ikke logget ind",
|
||||
"upload.modal.not-signed-in-description": "Du vil ikke være i stand til at slette din deling manuelt og se antallet af besøgende.",
|
||||
"upload.modal.not-signed-in-description":
|
||||
"Du vil ikke være i stand til at slette din deling manuelt og se antallet af besøgende.",
|
||||
"upload.modal.expires.never": "aldrig",
|
||||
"upload.modal.expires.never-long": "Udløber aldrig",
|
||||
"upload.modal.link.label": "Link",
|
||||
@ -205,7 +232,8 @@ export default {
|
||||
"upload.modal.expires.year-singular": "År",
|
||||
"upload.modal.expires.year-plural": "År",
|
||||
"upload.modal.accordion.description.title": "Beskrivelse",
|
||||
"upload.modal.accordion.description.placeholder": "Note for the recipients of this share",
|
||||
"upload.modal.accordion.description.placeholder":
|
||||
"Note for the recipients of this share",
|
||||
"upload.modal.accordion.email.title": "E-mail modtagere",
|
||||
"upload.modal.accordion.email.placeholder": "Indtast e-mail modtagere",
|
||||
"upload.modal.accordion.email.invalid-email": "Ugyldig e-mailadresse",
|
||||
@ -216,28 +244,36 @@ export default {
|
||||
"upload.modal.accordion.security.max-views.placeholder": "Ingen begrænsning",
|
||||
// showCompletedUploadModal.tsx
|
||||
"upload.modal.completed.never-expires": "Denne deling vil aldrig udløbe.",
|
||||
"upload.modal.completed.expires-on": "Denne omvendte deling udløber den {expiration}.",
|
||||
"upload.modal.completed.expires-on":
|
||||
"Denne omvendte deling udløber den {expiration}.",
|
||||
"upload.modal.completed.share-ready": "Delingen er klar",
|
||||
// END /upload
|
||||
// /share/[id]
|
||||
"share.title": "Del {shareId}",
|
||||
"share.description": "Se hvad jeg har delt med dig!",
|
||||
"share.error.visitor-limit-exceeded.title": "Grænsen for besøgende overskredet",
|
||||
"share.error.visitor-limit-exceeded.description": "Besøgsgrænsen for denne deling er blevet overskredet.",
|
||||
"share.error.visitor-limit-exceeded.title":
|
||||
"Grænsen for besøgende overskredet",
|
||||
"share.error.visitor-limit-exceeded.description":
|
||||
"Besøgsgrænsen for denne deling er blevet overskredet.",
|
||||
"share.error.removed.title": "Deling fjernet",
|
||||
"share.error.not-found.title": "Delingen blev ikke fundet",
|
||||
"share.error.not-found.description": "Den deling, du leder efter, eksisterer ikke.",
|
||||
"share.error.not-found.description":
|
||||
"Den deling, du leder efter, eksisterer ikke.",
|
||||
"share.modal.password.title": "Adgangskode påkrævet",
|
||||
"share.modal.password.description": "For at få adgang til denne deling, indtast venligst adgangskoden til delingen.",
|
||||
"share.modal.password.description":
|
||||
"For at få adgang til denne deling, indtast venligst adgangskoden til delingen.",
|
||||
"share.modal.password": "Adgangskode",
|
||||
"share.modal.error.invalid-password": "Ugyldig adgangskode",
|
||||
"share.button.download-all": "Download alle",
|
||||
"share.notify.download-all-preparing": "Delingen forberedes. Prøv igen om et par minutter.",
|
||||
"share.notify.download-all-preparing":
|
||||
"Delingen forberedes. Prøv igen om et par minutter.",
|
||||
"share.modal.file-link": "Fil link",
|
||||
"share.table.name": "Navn",
|
||||
"share.table.size": "Størrelse",
|
||||
"share.modal.file-preview.error.not-supported.title": "Forhåndsvisning ikke understøttet",
|
||||
"share.modal.file-preview.error.not-supported.description": "En forhåndsvisning for thise filtype er ikke understøttet. Download venligst filen for at se den.",
|
||||
"share.modal.file-preview.error.not-supported.title":
|
||||
"Forhåndsvisning ikke understøttet",
|
||||
"share.modal.file-preview.error.not-supported.description":
|
||||
"En forhåndsvisning for thise filtype er ikke understøttet. Download venligst filen for at se den.",
|
||||
// END /share/[id]
|
||||
// /admin/config
|
||||
"admin.config.title": "Konfiguration",
|
||||
@ -248,46 +284,64 @@ export default {
|
||||
"admin.config.general.app-name": "App-navn",
|
||||
"admin.config.general.app-name.description": "Navnet på applikationen",
|
||||
"admin.config.general.app-url": "App URL",
|
||||
"admin.config.general.app-url.description": "På hvilken URL Pingvin Share er tilgængelig",
|
||||
"admin.config.general.app-url.description":
|
||||
"På hvilken URL Pingvin Share er tilgængelig",
|
||||
"admin.config.general.show-home-page": "Vis forside",
|
||||
"admin.config.general.show-home-page.description": "Om forsiden skal vises",
|
||||
"admin.config.general.logo": "Logo",
|
||||
"admin.config.general.logo.description": "Skift dit logo ved at uploade et nyt billede. Billedet skal være PNG og skal have formatet 1:1.",
|
||||
"admin.config.general.logo.description":
|
||||
"Skift dit logo ved at uploade et nyt billede. Billedet skal være PNG og skal have formatet 1:1.",
|
||||
"admin.config.general.logo.placeholder": "Vælg billede",
|
||||
"admin.config.email.enable-share-email-recipients": "Aktiver deling til e-mail modtagere",
|
||||
"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":
|
||||
"Aktiver deling til e-mail modtagere",
|
||||
"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.description": "Subject of the email which gets sent to the share recipients.",
|
||||
"admin.config.email.share-recipients-subject.description":
|
||||
"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.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":
|
||||
"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.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":
|
||||
"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.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":
|
||||
"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.description": "Subject of the email which gets sent when a user requests a password reset.",
|
||||
"admin.config.email.reset-password-subject.description":
|
||||
"Subject of the email which gets sent when a user requests a password reset.",
|
||||
"admin.config.email.reset-password-message": "Nulstil adgangskode besked",
|
||||
"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.",
|
||||
"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.",
|
||||
"admin.config.email.invite-subject": "Invitations emne",
|
||||
"admin.config.email.invite-subject.description": "Emne for den e-mail, der sendes, når en administrator inviterer en ny bruger.",
|
||||
"admin.config.email.invite-subject.description":
|
||||
"Emne for den e-mail, der sendes, når en administrator inviterer en ny bruger.",
|
||||
"admin.config.email.invite-message": "Invitations besked",
|
||||
"admin.config.email.invite-message.description": "Besked som bliver sendt, når en administrator inviterer en bruger. {url} vil blive erstattet med invitations-URL'en og {password} med adgangskoden.",
|
||||
"admin.config.email.invite-message.description":
|
||||
"Besked som bliver sendt, når en administrator inviterer en bruger. {url} vil blive erstattet med invitations-URL'en og {password} med adgangskoden.",
|
||||
"admin.config.share.allow-registration": "Tillad oprettelser",
|
||||
"admin.config.share.allow-registration.description": "Om alle skal kunne oprette en bruger",
|
||||
"admin.config.share.allow-unauthenticated-shares": "Tillad uautoriserede delinger",
|
||||
"admin.config.share.allow-unauthenticated-shares.description": "Whether unauthenticated users can create shares",
|
||||
"admin.config.share.allow-registration.description":
|
||||
"Om alle skal kunne oprette en bruger",
|
||||
"admin.config.share.allow-unauthenticated-shares":
|
||||
"Tillad uautoriserede delinger",
|
||||
"admin.config.share.allow-unauthenticated-shares.description":
|
||||
"Whether unauthenticated users can create shares",
|
||||
"admin.config.share.max-size": "Maks. størrelse",
|
||||
"admin.config.share.max-size.description": "Maksimal filstørrelse i bytes",
|
||||
"admin.config.share.zip-compression-level": "Zip compression level",
|
||||
"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":
|
||||
"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": "Aktiveret",
|
||||
"admin.config.smtp.enabled.description": "Om SMTP er aktiveret. Aktiver kun SMTP, hvis du har indtastet SMTP-server vært, port, e-mail, bruger og adgangskode.",
|
||||
"admin.config.smtp.enabled.description":
|
||||
"Om SMTP er aktiveret. Aktiver kun SMTP, hvis du har indtastet SMTP-server vært, port, e-mail, bruger og adgangskode.",
|
||||
"admin.config.smtp.host": "Vært",
|
||||
"admin.config.smtp.host.description": "Vært for SMTP serveren",
|
||||
"admin.config.smtp.port": "Port",
|
||||
"admin.config.smtp.port.description": "Porten til SMTP serveren",
|
||||
"admin.config.smtp.email": "E-mail",
|
||||
"admin.config.smtp.email.description": "E-mail adressen som der skal afsendes fra",
|
||||
"admin.config.smtp.email.description":
|
||||
"E-mail adressen som der skal afsendes fra",
|
||||
"admin.config.smtp.username": "Brugernavn",
|
||||
"admin.config.smtp.username.description": "Brugernavnet til SMTP serveren",
|
||||
"admin.config.smtp.password": "Adgangskode",
|
||||
@ -319,5 +373,5 @@ export default {
|
||||
"common.error.too-long": "Må højst være {length} tegn",
|
||||
"common.error.exact-length": "Skal være præcis {length} tegn",
|
||||
"common.error.invalid-number": "Skal være et tal",
|
||||
"common.error.field-required": "Dette felt er påkrævet"
|
||||
};
|
||||
"common.error.field-required": "Dette felt er påkrævet",
|
||||
};
|
||||
|
@ -12,13 +12,17 @@ export default {
|
||||
// END navbar
|
||||
// /
|
||||
"home.title": "Eine <h>selbst gehostete</h> Dateifreigabe-Plattform.",
|
||||
"home.description": "Möchtest du wirklich deine persönlichen Dateien an Drittanbieter wie WeTransfer weitergeben?",
|
||||
"home.description":
|
||||
"Möchtest du wirklich deine persönlichen Dateien an Drittanbieter wie WeTransfer weitergeben?",
|
||||
"home.bullet.a.name": "Selbst gehostet",
|
||||
"home.bullet.a.description": "Betreibe Pingvin Share auf deinem eigenen Server.",
|
||||
"home.bullet.a.description":
|
||||
"Betreibe Pingvin Share auf deinem eigenen Server.",
|
||||
"home.bullet.b.name": "Privatsphäre",
|
||||
"home.bullet.b.description": "Deine Dateien gehören dir und sollten niemals in die Hände Dritter gelangen.",
|
||||
"home.bullet.b.description":
|
||||
"Deine Dateien gehören dir und sollten niemals in die Hände Dritter gelangen.",
|
||||
"home.bullet.c.name": "Keine lästige Dateigrößenbegrenzung",
|
||||
"home.bullet.c.description": "Lade Dateien beliebiger Größe hoch. Nur dein Festplattenspeicher stellt die Grenze dar.",
|
||||
"home.bullet.c.description":
|
||||
"Lade Dateien beliebiger Größe hoch. Nur dein Festplattenspeicher stellt die Grenze dar.",
|
||||
"home.button.start": "Lege los",
|
||||
"home.button.source": "Quellcode",
|
||||
// END /
|
||||
@ -27,12 +31,14 @@ export default {
|
||||
"signin.description": "Du hast noch kein Konto?",
|
||||
"signin.button.signup": "Registrieren",
|
||||
"signin.input.email-or-username": "Email oder Benutzername",
|
||||
"signin.input.email-or-username.placeholder": "Deine Email Adresse oder Benutzername",
|
||||
"signin.input.email-or-username.placeholder":
|
||||
"Deine Email Adresse oder Benutzername",
|
||||
"signin.input.password": "Passwort",
|
||||
"signin.input.password.placeholder": "Dein Passwort",
|
||||
"signin.button.submit": "Anmelden",
|
||||
"signIn.notify.totp-required.title": "Zwei-Faktor-Authentifizierung benötigt",
|
||||
"signIn.notify.totp-required.description": "Bitte füge deinen Zwei-Faktor-Authentifizierungscode ein",
|
||||
"signIn.notify.totp-required.description":
|
||||
"Bitte füge deinen Zwei-Faktor-Authentifizierungscode ein",
|
||||
// END /auth/signin
|
||||
// /auth/signup
|
||||
"signup.title": "Erstelle ein Konto",
|
||||
@ -46,13 +52,16 @@ export default {
|
||||
// END /auth/signup
|
||||
// /auth/reset-password
|
||||
"resetPassword.title": "Passwort vergessen?",
|
||||
"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.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.button.back": "Zurück zur Anmeldeseite",
|
||||
"resetPassword.text.resetPassword": "Passwort zurücksetzen",
|
||||
"resetPassword.text.enterNewPassword": "Gib dein neues Passwort ein",
|
||||
"resetPassword.input.password": "Neues Passwort",
|
||||
"resetPassword.notify.passwordReset": "Dein Passwort wurde erfolgreich zurückgesetzt.",
|
||||
"resetPassword.notify.passwordReset":
|
||||
"Dein Passwort wurde erfolgreich zurückgesetzt.",
|
||||
// /account
|
||||
"account.title": "Mein Konto",
|
||||
"account.card.info.title": "Kontoinformationen",
|
||||
@ -64,8 +73,10 @@ export default {
|
||||
"account.card.password.new": "Neues Passwort",
|
||||
"account.notify.password.success": "Passwort erfolgreich geändert",
|
||||
"account.card.security.title": "Sicherheit",
|
||||
"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.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.button.start": "Starten",
|
||||
"account.modal.totp.title": "TOTP aktivieren",
|
||||
"account.modal.totp.step1": "Schritt 1: Füge deinen Authenticator hinzu",
|
||||
@ -77,7 +88,8 @@ export default {
|
||||
"account.notify.totp.disable": "TOTP erfolgreich deaktiviert",
|
||||
"account.notify.totp.enable": "TOTP erfolgreich aktiviert",
|
||||
"account.card.language.title": "Sprache",
|
||||
"account.card.language.description": "Das Projekt wird von der Community übersetzt. Einige Sprachen könnten unvollständig sein.",
|
||||
"account.card.language.description":
|
||||
"Das Projekt wird von der Community übersetzt. Einige Sprachen könnten unvollständig sein.",
|
||||
"account.card.color.title": "Farbschema",
|
||||
// ThemeSwitcher.tsx
|
||||
"account.theme.dark": "Dunkel",
|
||||
@ -85,7 +97,8 @@ export default {
|
||||
"account.theme.system": "System",
|
||||
"account.button.delete": "Konto löschen",
|
||||
"account.modal.delete.title": "Konto löschen",
|
||||
"account.modal.delete.description": "Möchtest du wirklich dein Konto inklusive aller aktiven Freigaben löschen?",
|
||||
"account.modal.delete.description":
|
||||
"Möchtest du wirklich dein Konto inklusive aller aktiven Freigaben löschen?",
|
||||
// END /account
|
||||
// /account/shares
|
||||
"account.shares.title": "Meine Freigaben",
|
||||
@ -103,13 +116,16 @@ export default {
|
||||
"account.shares.modal.share-informations": "Teile deine Information",
|
||||
"account.shares.modal.share-link": "Freigabe teilen",
|
||||
"account.shares.modal.delete.title": "Lösche Freigabe {share}",
|
||||
"account.shares.modal.delete.description": "Möchtest du wirklich diese Freigabe löschen?",
|
||||
"account.shares.modal.delete.description":
|
||||
"Möchtest du wirklich diese Freigabe löschen?",
|
||||
// END /account/shares
|
||||
// /account/reverseShares
|
||||
"account.reverseShares.title": "Externe Freigaben",
|
||||
"account.reverseShares.description": "Eine externe Freigabe erlaubt dir eine einzigartige URL zu erstellen, die externen Benutzern erlaubt Dateien hochzuladen.",
|
||||
"account.reverseShares.description":
|
||||
"Eine externe Freigabe erlaubt dir eine einzigartige URL zu erstellen, die externen Benutzern erlaubt Dateien hochzuladen.",
|
||||
"account.reverseShares.title.empty": "Es ist leer hier 👀",
|
||||
"account.reverseShares.description.empty": "Du hast keine externen Freigaben erstellt.",
|
||||
"account.reverseShares.description.empty":
|
||||
"Du hast keine externen Freigaben erstellt.",
|
||||
// showCreateReverseShareModal.tsx
|
||||
"account.reverseShares.modal.expiration.label": "Gültig bis",
|
||||
"account.reverseShares.modal.expiration.minute-singular": "Minute",
|
||||
@ -126,11 +142,15 @@ export default {
|
||||
"account.reverseShares.modal.expiration.year-plural": "Jahre",
|
||||
"account.reverseShares.modal.max-size.label": "Max. Freigabengröße",
|
||||
"account.reverseShares.modal.send-email": "Email Benachrichtigung senden",
|
||||
"account.reverseShares.modal.send-email.description": "Sendet eine Email Benachrichtigung, wenn eine Datei auf einer externen Freigabe hochgeladen wurde.",
|
||||
"account.reverseShares.modal.send-email.description":
|
||||
"Sendet eine Email Benachrichtigung, wenn eine Datei auf einer externen Freigabe hochgeladen wurde.",
|
||||
"account.reverseShares.modal.max-use.label": "Maximale Nutzungen",
|
||||
"account.reverseShares.modal.max-use.description": "Die maximale Anzahl von Verwendungen der URL, um Dateien hochzuladen.",
|
||||
"account.reverseShare.never-expires": "Diese externe Freigabe wird nicht ablaufen.",
|
||||
"account.reverseShare.expires-on": "Diese externe Freigabe wird am {expiration} ablaufen.",
|
||||
"account.reverseShares.modal.max-use.description":
|
||||
"Die maximale Anzahl von Verwendungen der URL, um Dateien hochzuladen.",
|
||||
"account.reverseShare.never-expires":
|
||||
"Diese externe Freigabe wird nicht ablaufen.",
|
||||
"account.reverseShare.expires-on":
|
||||
"Diese externe Freigabe wird am {expiration} ablaufen.",
|
||||
"account.reverseShares.table.no-shares": "Noch keine Freigaben erstellt",
|
||||
"account.reverseShares.table.count.singular": "Freigabe",
|
||||
"account.reverseShares.table.count.plural": "Freigaben",
|
||||
@ -140,7 +160,8 @@ export default {
|
||||
"account.reverseShares.table.expires": "Läuft ab am",
|
||||
"account.reverseShares.modal.reverse-share-link": "Link zu externer Freigabe",
|
||||
"account.reverseShares.modal.delete.title": "Lösche externe Freigabe",
|
||||
"account.reverseShares.modal.delete.description": "Möchtest du wirklich diese externe Freigabe löschen? In diesem Falle werden auch hiermit verbundene Freigaben gelöscht.",
|
||||
"account.reverseShares.modal.delete.description":
|
||||
"Möchtest du wirklich diese externe Freigabe löschen? In diesem Falle werden auch hiermit verbundene Freigaben gelöscht.",
|
||||
// END /account/reverseShares
|
||||
// /admin
|
||||
"admin.title": "Verwaltung",
|
||||
@ -158,36 +179,46 @@ export default {
|
||||
"admin.users.edit.update.change-password.title": "Passwort ändern",
|
||||
"admin.users.edit.update.change-password.field": "Neues Passwort",
|
||||
"admin.users.edit.update.change-password.button": "Neues Passwort speichern",
|
||||
"admin.users.edit.update.notify.password.success": "Passwort erfolgreich geändert",
|
||||
"admin.users.edit.update.notify.password.success":
|
||||
"Passwort erfolgreich geändert",
|
||||
"admin.users.edit.delete.title": "Löschen des Nutzers {username}",
|
||||
"admin.users.edit.delete.description": "Möchtest du wirklich diesen Benutzer und all seine Freigaben löschen?",
|
||||
"admin.users.edit.delete.description":
|
||||
"Möchtest du wirklich diesen Benutzer und all seine Freigaben löschen?",
|
||||
// showCreateUserModal.tsx
|
||||
"admin.users.modal.create.title": "Benutzer erstellen",
|
||||
"admin.users.modal.create.username": "Benutzername",
|
||||
"admin.users.modal.create.email": "Email",
|
||||
"admin.users.modal.create.password": "Passwort",
|
||||
"admin.users.modal.create.manual-password": "Passwort manuell festlegen",
|
||||
"admin.users.modal.create.manual-password.description": "Wenn nicht aktiviert, erhält der Benutzer eine Email mit einem Link, um sein Passwort festzulegen.",
|
||||
"admin.users.modal.create.manual-password.description":
|
||||
"Wenn nicht aktiviert, erhält der Benutzer eine Email mit einem Link, um sein Passwort festzulegen.",
|
||||
"admin.users.modal.create.admin": "Administratorrechte",
|
||||
"admin.users.modal.create.admin.description": "Wenn aktiviert, kann der Benutzer auf das Administrator-Panel zugreifen.",
|
||||
"admin.users.modal.create.admin.description":
|
||||
"Wenn aktiviert, kann der Benutzer auf das Administrator-Panel zugreifen.",
|
||||
// END /admin/users
|
||||
// /upload
|
||||
"upload.title": "Upload",
|
||||
"upload.notify.generic-error": "Während der Erstellung der Freigabe ist ein Fehler aufgetreten.",
|
||||
"upload.notify.count-failed": "{count} Dateien konnten nicht hochgeladen werden. Wird erneut versucht.",
|
||||
"upload.notify.generic-error":
|
||||
"Während der Erstellung der Freigabe ist ein Fehler aufgetreten.",
|
||||
"upload.notify.count-failed":
|
||||
"{count} Dateien konnten nicht hochgeladen werden. Wird erneut versucht.",
|
||||
// Dropzone.tsx
|
||||
"upload.dropzone.title": "Dateien hochladen",
|
||||
"upload.dropzone.description": "Ziehe Dateien hierher, um deine Freigabe zu starten. Wir können nur Dateien akzeptieren, die insgesamt weniger als {maxSize} groß sind.",
|
||||
"upload.dropzone.notify.file-too-big": "Ihre Dateien überschreiten die maximale Freigabegröße von {maxSize}.",
|
||||
"upload.dropzone.description":
|
||||
"Ziehe Dateien hierher, um deine Freigabe zu starten. Wir können nur Dateien akzeptieren, die insgesamt weniger als {maxSize} groß sind.",
|
||||
"upload.dropzone.notify.file-too-big":
|
||||
"Ihre Dateien überschreiten die maximale Freigabegröße von {maxSize}.",
|
||||
// FileList.tsx
|
||||
"upload.filelist.name": "Name",
|
||||
"upload.filelist.size": "Größe",
|
||||
// showCreateUploadModal.tsx
|
||||
"upload.modal.title": "Erstelle Freigabe",
|
||||
"upload.modal.link.error.invalid": "Darf nur Buchstaben, Zahlen, Unterstriche und Bindestriche enthalten",
|
||||
"upload.modal.link.error.invalid":
|
||||
"Darf nur Buchstaben, Zahlen, Unterstriche und Bindestriche enthalten",
|
||||
"upload.modal.link.error.taken": "Dieser Link wird bereits verwendet",
|
||||
"upload.modal.not-signed-in": "Du bist nicht angemeldet",
|
||||
"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-long": "Läuft nicht ab",
|
||||
"upload.modal.link.label": "Link",
|
||||
@ -205,7 +236,8 @@ export default {
|
||||
"upload.modal.expires.year-singular": "Jahr",
|
||||
"upload.modal.expires.year-plural": "Year",
|
||||
"upload.modal.accordion.description.title": "Beschreibung",
|
||||
"upload.modal.accordion.description.placeholder": "Hinweis für die Empfänger dieser Freigabe",
|
||||
"upload.modal.accordion.description.placeholder":
|
||||
"Hinweis für die Empfänger dieser Freigabe",
|
||||
"upload.modal.accordion.email.title": "Email Empfänger",
|
||||
"upload.modal.accordion.email.placeholder": "Email der Empfänger eingeben",
|
||||
"upload.modal.accordion.email.invalid-email": "Ungültige Emailadresse",
|
||||
@ -216,28 +248,34 @@ export default {
|
||||
"upload.modal.accordion.security.max-views.placeholder": "Unbegrenzt",
|
||||
// showCompletedUploadModal.tsx
|
||||
"upload.modal.completed.never-expires": "Diese Freigabe läuft niemals ab.",
|
||||
"upload.modal.completed.expires-on": "Diese Freigabe wird am {expiration} ablaufen.",
|
||||
"upload.modal.completed.expires-on":
|
||||
"Diese Freigabe wird am {expiration} ablaufen.",
|
||||
"upload.modal.completed.share-ready": "Freigabe bereit",
|
||||
// END /upload
|
||||
// /share/[id]
|
||||
"share.title": "Freigabe {shareId}",
|
||||
"share.description": "Schau, was ich mit dir geteilt habe!",
|
||||
"share.error.visitor-limit-exceeded.title": "Besucher Limit erreicht",
|
||||
"share.error.visitor-limit-exceeded.description": "Die maximale Besucheranzahl für diese Freigabe ist überschritten.",
|
||||
"share.error.visitor-limit-exceeded.description":
|
||||
"Die maximale Besucheranzahl für diese Freigabe ist überschritten.",
|
||||
"share.error.removed.title": "Freigabe entfernt",
|
||||
"share.error.not-found.title": "Freigabe nicht gefunden",
|
||||
"share.error.not-found.description": "Die gesuchte Freigabe existiert nicht.",
|
||||
"share.modal.password.title": "Passwort erforderlich",
|
||||
"share.modal.password.description": "Um auf diese Freigabe zuzugreifen, gib bitte das Passwort für die Freigabe ein.",
|
||||
"share.modal.password.description":
|
||||
"Um auf diese Freigabe zuzugreifen, gib bitte das Passwort für die Freigabe ein.",
|
||||
"share.modal.password": "Passwort",
|
||||
"share.modal.error.invalid-password": "Ungültiges Passwort",
|
||||
"share.button.download-all": "Alles herunterladen",
|
||||
"share.notify.download-all-preparing": "Die Freigabe wird vorbereitet. Versuche es in ein paar Minuten erneut.",
|
||||
"share.notify.download-all-preparing":
|
||||
"Die Freigabe wird vorbereitet. Versuche es in ein paar Minuten erneut.",
|
||||
"share.modal.file-link": "Dateilink",
|
||||
"share.table.name": "Name",
|
||||
"share.table.size": "Größe",
|
||||
"share.modal.file-preview.error.not-supported.title": "Vorschau wird nicht unterstützt",
|
||||
"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.title":
|
||||
"Vorschau wird nicht unterstützt",
|
||||
"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]
|
||||
// /admin/config
|
||||
"admin.config.title": "Einstellungen",
|
||||
@ -248,46 +286,70 @@ export default {
|
||||
"admin.config.general.app-name": "App-Name",
|
||||
"admin.config.general.app-name.description": "Name der Applikation",
|
||||
"admin.config.general.app-url": "App-URL",
|
||||
"admin.config.general.app-url.description": "Auf welcher URL Pingvin Share verfügbar ist",
|
||||
"admin.config.general.app-url.description":
|
||||
"Auf welcher URL Pingvin Share verfügbar ist",
|
||||
"admin.config.general.show-home-page": "Startseite anzeigen",
|
||||
"admin.config.general.show-home-page.description": "Ob die Startseite angezeigt werden soll",
|
||||
"admin.config.general.show-home-page.description":
|
||||
"Ob die Startseite angezeigt werden soll",
|
||||
"admin.config.general.logo": "Logo",
|
||||
"admin.config.general.logo.description": "Ändere dein Logo durch Hochladen eines Bildes. Das Bild muss im PNG-Format vorliegen und sollte mit Seitenverhältnis 1:1 sein.",
|
||||
"admin.config.general.logo.description":
|
||||
"Ändere dein Logo durch Hochladen eines Bildes. Das Bild muss im PNG-Format vorliegen und sollte mit Seitenverhältnis 1:1 sein.",
|
||||
"admin.config.general.logo.placeholder": "Bild auswählen",
|
||||
"admin.config.email.enable-share-email-recipients": "Erlaube das Teilen der Freigabe via Email",
|
||||
"admin.config.email.enable-share-email-recipients.description": "Gibt an, ob Emails an Freigabe-Empfänger ermöglicht werden sollen. Aktiviere dies nur, wenn Du SMTP aktivierst hast.",
|
||||
"admin.config.email.share-recipients-subject": "Betreff für Freigabe-Empfänger",
|
||||
"admin.config.email.share-recipients-subject.description": "Betreff der E-Mail, die an die Freigabe-Empfänger gesendet wird.",
|
||||
"admin.config.email.share-recipients-message": "Nachricht für Freigabe-Empfänger",
|
||||
"admin.config.email.share-recipients-message.description": "Nachricht, die an die Freigabe-Empfänger gesendet wird. Verfügbare Variablen:\n- {creator} - Der Benutzername des Erstellers der Freigabe\n- {shareUrl} - Die URL der Freigabe\n- {desc} - Die Beschreibung der Freigabe\n- {expires} - Das Ablaufdatum der Freigabe\nVariablen werden durch die tatsächlichen Werte ersetzt.",
|
||||
"admin.config.email.enable-share-email-recipients":
|
||||
"Erlaube das Teilen der Freigabe via Email",
|
||||
"admin.config.email.enable-share-email-recipients.description":
|
||||
"Gibt an, ob Emails an Freigabe-Empfänger ermöglicht werden sollen. Aktiviere dies nur, wenn Du SMTP aktivierst hast.",
|
||||
"admin.config.email.share-recipients-subject":
|
||||
"Betreff für Freigabe-Empfänger",
|
||||
"admin.config.email.share-recipients-subject.description":
|
||||
"Betreff der E-Mail, die an die Freigabe-Empfänger gesendet wird.",
|
||||
"admin.config.email.share-recipients-message":
|
||||
"Nachricht für Freigabe-Empfänger",
|
||||
"admin.config.email.share-recipients-message.description":
|
||||
"Nachricht, die an die Freigabe-Empfänger gesendet wird. Verfügbare Variablen:\n- {creator} - Der Benutzername des Erstellers der Freigabe\n- {shareUrl} - Die URL der Freigabe\n- {desc} - Die Beschreibung der Freigabe\n- {expires} - Das Ablaufdatum der Freigabe\nVariablen werden durch die tatsächlichen Werte ersetzt.",
|
||||
"admin.config.email.reverse-share-subject": "Name der externen Freigabe",
|
||||
"admin.config.email.reverse-share-subject.description": "Betreff der Email, die gesendet wird, wenn jemand eine Datei mit deinem externen Freigabe-Link hochlädt.",
|
||||
"admin.config.email.reverse-share-subject.description":
|
||||
"Betreff der Email, die gesendet wird, wenn jemand eine Datei mit deinem externen Freigabe-Link hochlädt.",
|
||||
"admin.config.email.reverse-share-message": "Nachricht für externe Freigabe",
|
||||
"admin.config.email.reverse-share-message.description": "Nachricht, die gesendet wird, wenn jemand eine Freigabe mit deinem externen Freigabe-Link erstellt. {shareUrl} wird durch den Namen des Erstellers und die Freigabe-URL ersetzt.",
|
||||
"admin.config.email.reset-password-subject": "Betreff für Passwortzurücksetzung",
|
||||
"admin.config.email.reset-password-subject.description": "Betreff der E-Mail, die gesendet wird, wenn ein Benutzer eine Passwortzurücksetzung anfordert.",
|
||||
"admin.config.email.reset-password-message": "Nachricht für Passwortzurücksetzung",
|
||||
"admin.config.email.reset-password-message.description": "Nachricht, die gesendet wird, wenn ein Benutzer eine Passwortzurücksetzung anfordert. {url} wird durch die URL für das Zurücksetzen des Passworts ersetzt.",
|
||||
"admin.config.email.reverse-share-message.description":
|
||||
"Nachricht, die gesendet wird, wenn jemand eine Freigabe mit deinem externen Freigabe-Link erstellt. {shareUrl} wird durch den Namen des Erstellers und die Freigabe-URL ersetzt.",
|
||||
"admin.config.email.reset-password-subject":
|
||||
"Betreff für Passwortzurücksetzung",
|
||||
"admin.config.email.reset-password-subject.description":
|
||||
"Betreff der E-Mail, die gesendet wird, wenn ein Benutzer eine Passwortzurücksetzung anfordert.",
|
||||
"admin.config.email.reset-password-message":
|
||||
"Nachricht für Passwortzurücksetzung",
|
||||
"admin.config.email.reset-password-message.description":
|
||||
"Nachricht, die gesendet wird, wenn ein Benutzer eine Passwortzurücksetzung anfordert. {url} wird durch die URL für das Zurücksetzen des Passworts ersetzt.",
|
||||
"admin.config.email.invite-subject": "Betreff für Einladung",
|
||||
"admin.config.email.invite-subject.description": "Betreff der E-Mail, die gesendet wird, wenn ein Administrator einen Benutzer einlädt.",
|
||||
"admin.config.email.invite-subject.description":
|
||||
"Betreff der E-Mail, die gesendet wird, wenn ein Administrator einen Benutzer einlädt.",
|
||||
"admin.config.email.invite-message": "Nachricht für Einladung",
|
||||
"admin.config.email.invite-message.description": "Nachricht, die gesendet wird, wenn ein Administrator einen Benutzer einlädt. {url} wird durch die Einladungs-URL und {password} durch das Passwort ersetzt.",
|
||||
"admin.config.email.invite-message.description":
|
||||
"Nachricht, die gesendet wird, wenn ein Administrator einen Benutzer einlädt. {url} wird durch die Einladungs-URL und {password} durch das Passwort ersetzt.",
|
||||
"admin.config.share.allow-registration": "Registrierung erlauben",
|
||||
"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.description": "Gibt an, ob nicht authentifizierte Benutzer Freigaben erstellen können",
|
||||
"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.description":
|
||||
"Gibt an, ob nicht authentifizierte Benutzer Freigaben erstellen können",
|
||||
"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.description": "Passe den Wert an, um ein Gleichgewicht zwischen Dateigröße und Komprimierungsgeschwindigkeit herzustellen. Gültige Werte liegen zwischen 0 und 9, wobei 0 für keine Komprimierung und 9 für maximale Komprimierung steht.",
|
||||
"admin.config.share.zip-compression-level.description":
|
||||
"Passe den Wert an, um ein Gleichgewicht zwischen Dateigröße und Komprimierungsgeschwindigkeit herzustellen. Gültige Werte liegen zwischen 0 und 9, wobei 0 für keine Komprimierung und 9 für maximale Komprimierung steht.",
|
||||
"admin.config.smtp.enabled": "Aktiviert",
|
||||
"admin.config.smtp.enabled.description": "Gibt an, ob SMTP aktiviert ist. Aktiviere dies nur, wenn Du den Host, den Port, die Email, den Benutzernamen und das Passwort deines SMTP-Servers eingegeben hast.",
|
||||
"admin.config.smtp.enabled.description":
|
||||
"Gibt an, ob SMTP aktiviert ist. Aktiviere dies nur, wenn Du den Host, den Port, die Email, den Benutzernamen und das Passwort deines SMTP-Servers eingegeben hast.",
|
||||
"admin.config.smtp.host": "Host",
|
||||
"admin.config.smtp.host.description": "Host des SMTP-Servers",
|
||||
"admin.config.smtp.port": "Port",
|
||||
"admin.config.smtp.port.description": "Port des SMTP-Servers",
|
||||
"admin.config.smtp.email": "E-Mail",
|
||||
"admin.config.smtp.email.description": "E-Mail-Adresse, von der die E-Mails gesendet werden",
|
||||
"admin.config.smtp.email.description":
|
||||
"E-Mail-Adresse, von der die E-Mails gesendet werden",
|
||||
"admin.config.smtp.username": "Benutzername",
|
||||
"admin.config.smtp.username.description": "Benutzername des SMTP-Servers",
|
||||
"admin.config.smtp.password": "Passwort",
|
||||
@ -319,5 +381,5 @@ export default {
|
||||
"common.error.too-long": "Muss maximal {length} Zeichen enthalten",
|
||||
"common.error.exact-length": "Muss genau {length} Zeichen lang sein",
|
||||
"common.error.invalid-number": "Muss eine Zahl sein",
|
||||
"common.error.field-required": "Dieses Feld ist erforderlich"
|
||||
};
|
||||
"common.error.field-required": "Dieses Feld ist erforderlich",
|
||||
};
|
||||
|
@ -12,13 +12,16 @@ export default {
|
||||
// END navbar
|
||||
// /
|
||||
"home.title": "Una plataforma <h>autoalojada</h> para compartir archivos.",
|
||||
"home.description": "¿En realidad quieres dejar tus archivos personales en manos de terceros como WeTransfer?",
|
||||
"home.description":
|
||||
"¿En realidad quieres dejar tus archivos personales en manos de terceros como WeTransfer?",
|
||||
"home.bullet.a.name": "Autoalojada",
|
||||
"home.bullet.a.description": "Aloja Pingvin Share en tu propio equipo.",
|
||||
"home.bullet.b.name": "Privacidad",
|
||||
"home.bullet.b.description": "Tus archivos son tus archivos y nunca deberían terminar en manos de terceros.",
|
||||
"home.bullet.b.description":
|
||||
"Tus archivos son tus archivos y nunca deberían terminar en manos de terceros.",
|
||||
"home.bullet.c.name": "Sin molestos límites de tamaño de archivo",
|
||||
"home.bullet.c.description": "Sube archivos tan grandes como quieras. El único límite es la capacidad de tu disco duro.",
|
||||
"home.bullet.c.description":
|
||||
"Sube archivos tan grandes como quieras. El único límite es la capacidad de tu disco duro.",
|
||||
"home.button.start": "Comenzar",
|
||||
"home.button.source": "Código fuente",
|
||||
// END /
|
||||
@ -31,8 +34,10 @@ export default {
|
||||
"signin.input.password": "Contraseña",
|
||||
"signin.input.password.placeholder": "Tu contraseña",
|
||||
"signin.button.submit": "Iniciar sesión",
|
||||
"signIn.notify.totp-required.title": "Se requiere autenticación de dos factores",
|
||||
"signIn.notify.totp-required.description": "Por favor ingrese su código de autenticación de dos factores",
|
||||
"signIn.notify.totp-required.title":
|
||||
"Se requiere autenticación de dos factores",
|
||||
"signIn.notify.totp-required.description":
|
||||
"Por favor ingrese su código de autenticación de dos factores",
|
||||
// END /auth/signin
|
||||
// /auth/signup
|
||||
"signup.title": "Crear una cuenta",
|
||||
@ -46,13 +51,16 @@ export default {
|
||||
// END /auth/signup
|
||||
// /auth/reset-password
|
||||
"resetPassword.title": "¿Olvidaste tu contraseña?",
|
||||
"resetPassword.description": "Ingresa tu correo para restablecer tu contraseña.",
|
||||
"resetPassword.notify.success": "Se ha enviado un correo con el enlace para restablecer tu contraseña.",
|
||||
"resetPassword.description":
|
||||
"Ingresa tu correo para restablecer tu contraseña.",
|
||||
"resetPassword.notify.success":
|
||||
"Se ha enviado un correo con el enlace para restablecer tu contraseña.",
|
||||
"resetPassword.button.back": "Volver al inicio de sesión",
|
||||
"resetPassword.text.resetPassword": "Restablecer contraseña",
|
||||
"resetPassword.text.enterNewPassword": "Ingresa tu nueva contraseña",
|
||||
"resetPassword.input.password": "Nueva contraseña",
|
||||
"resetPassword.notify.passwordReset": "Tu contraseña se ha restablecido correctamente.",
|
||||
"resetPassword.notify.passwordReset":
|
||||
"Tu contraseña se ha restablecido correctamente.",
|
||||
// /account
|
||||
"account.title": "Mi cuenta",
|
||||
"account.card.info.title": "Información de cuenta",
|
||||
@ -64,8 +72,10 @@ export default {
|
||||
"account.card.password.new": "Nueva contraseña",
|
||||
"account.notify.password.success": "Contraseña cambiada correctamente",
|
||||
"account.card.security.title": "Seguridad",
|
||||
"account.card.security.totp.enable.description": "Ingrese su contraseña actual para habilitar TOTP",
|
||||
"account.card.security.totp.disable.description": "Ingrese su contraseña actual para deshabilitar TOTP",
|
||||
"account.card.security.totp.enable.description":
|
||||
"Ingrese su contraseña actual para habilitar TOTP",
|
||||
"account.card.security.totp.disable.description":
|
||||
"Ingrese su contraseña actual para deshabilitar TOTP",
|
||||
"account.card.security.totp.button.start": "Iniciar",
|
||||
"account.modal.totp.title": "Habilitar TOTP",
|
||||
"account.modal.totp.step1": "Paso 1: Añadir tu autentificador",
|
||||
@ -77,7 +87,8 @@ export default {
|
||||
"account.notify.totp.disable": "TOTP deshabilitado correctamente",
|
||||
"account.notify.totp.enable": "TOTP habilitado correctamente",
|
||||
"account.card.language.title": "Idioma",
|
||||
"account.card.language.description": "El proyecto ha sido traducido por la comunidad. Algunos idiomas pueden estar incompletos.",
|
||||
"account.card.language.description":
|
||||
"El proyecto ha sido traducido por la comunidad. Algunos idiomas pueden estar incompletos.",
|
||||
"account.card.color.title": "Esquema de colores",
|
||||
// ThemeSwitcher.tsx
|
||||
"account.theme.dark": "Oscuro",
|
||||
@ -85,7 +96,8 @@ export default {
|
||||
"account.theme.system": "Sistema",
|
||||
"account.button.delete": "Eliminar Cuenta",
|
||||
"account.modal.delete.title": "Eliminar Cuenta",
|
||||
"account.modal.delete.description": "¿Realmente quieres eliminar tu cuenta con todos los archivos que estás compartiendo actualmente?",
|
||||
"account.modal.delete.description":
|
||||
"¿Realmente quieres eliminar tu cuenta con todos los archivos que estás compartiendo actualmente?",
|
||||
// END /account
|
||||
// /account/shares
|
||||
"account.shares.title": "Mis compartidos",
|
||||
@ -103,11 +115,13 @@ export default {
|
||||
"account.shares.modal.share-informations": "Información del compartido",
|
||||
"account.shares.modal.share-link": "Enlace",
|
||||
"account.shares.modal.delete.title": "Eliminar compartido {share}",
|
||||
"account.shares.modal.delete.description": "¿Seguro que quieres eliminar este compartido?",
|
||||
"account.shares.modal.delete.description":
|
||||
"¿Seguro que quieres eliminar este compartido?",
|
||||
// END /account/shares
|
||||
// /account/reverseShares
|
||||
"account.reverseShares.title": "Reverse Shares",
|
||||
"account.reverseShares.description": "Un Reverse Share te permite generar una URL única con la que usuarios externos pueden compartir archivos.",
|
||||
"account.reverseShares.description":
|
||||
"Un Reverse Share te permite generar una URL única con la que usuarios externos pueden compartir archivos.",
|
||||
"account.reverseShares.title.empty": "Aquí está vacío 👀",
|
||||
"account.reverseShares.description.empty": "No tienes ningún Reverse Share.",
|
||||
// showCreateReverseShareModal.tsx
|
||||
@ -126,12 +140,16 @@ export default {
|
||||
"account.reverseShares.modal.expiration.year-plural": "Años",
|
||||
"account.reverseShares.modal.max-size.label": "Tamaño máximo del compartido",
|
||||
"account.reverseShares.modal.send-email": "Enviar notificación por correo",
|
||||
"account.reverseShares.modal.send-email.description": "Enviar una notificación por correo cuando se comparta algo con este enlace de Reverse Share.",
|
||||
"account.reverseShares.modal.send-email.description":
|
||||
"Enviar una notificación por correo cuando se comparta algo con este enlace de Reverse Share.",
|
||||
"account.reverseShares.modal.max-use.label": "Máximo de usos",
|
||||
"account.reverseShares.modal.max-use.description": "Cantidad máxima de veces que esta URL se puede usar para crear un compartido.",
|
||||
"account.reverseShares.modal.max-use.description":
|
||||
"Cantidad máxima de veces que esta URL se puede usar para crear un compartido.",
|
||||
"account.reverseShare.never-expires": "Esta Reverse Share nunca expirará.",
|
||||
"account.reverseShare.expires-on": "Esta Reverse Share expirará en {expiration}.",
|
||||
"account.reverseShares.table.no-shares": "Todavía no se han creado compartidos",
|
||||
"account.reverseShare.expires-on":
|
||||
"Esta Reverse Share expirará en {expiration}.",
|
||||
"account.reverseShares.table.no-shares":
|
||||
"Todavía no se han creado compartidos",
|
||||
"account.reverseShares.table.count.singular": "compartido",
|
||||
"account.reverseShares.table.count.plural": "compartidos",
|
||||
"account.reverseShares.table.shares": "Compartidos",
|
||||
@ -140,7 +158,8 @@ export default {
|
||||
"account.reverseShares.table.expires": "Expira en",
|
||||
"account.reverseShares.modal.reverse-share-link": "Enlace de Reverse Share",
|
||||
"account.reverseShares.modal.delete.title": "Eliminar Reverse Share",
|
||||
"account.reverseShares.modal.delete.description": "¿Seguro que quieres eliminar esta Reverse Share? Si lo haces, todos los archivos asociados también serán eliminados.",
|
||||
"account.reverseShares.modal.delete.description":
|
||||
"¿Seguro que quieres eliminar esta Reverse Share? Si lo haces, todos los archivos asociados también serán eliminados.",
|
||||
// END /account/reverseShares
|
||||
// /admin
|
||||
"admin.title": "Administración",
|
||||
@ -158,36 +177,47 @@ export default {
|
||||
"admin.users.edit.update.change-password.title": "Cambiar contraseña",
|
||||
"admin.users.edit.update.change-password.field": "Nueva contraseña",
|
||||
"admin.users.edit.update.change-password.button": "Guardar nueva contraseña",
|
||||
"admin.users.edit.update.notify.password.success": "Contraseña cambiada correctamente",
|
||||
"admin.users.edit.update.notify.password.success":
|
||||
"Contraseña cambiada correctamente",
|
||||
"admin.users.edit.delete.title": "Eliminar usuario {username}",
|
||||
"admin.users.edit.delete.description": "¿Realmente quiere eliminar este usuario y todos sus archivos compartidos?",
|
||||
"admin.users.edit.delete.description":
|
||||
"¿Realmente quiere eliminar este usuario y todos sus archivos compartidos?",
|
||||
// showCreateUserModal.tsx
|
||||
"admin.users.modal.create.title": "Crear usuario",
|
||||
"admin.users.modal.create.username": "Nombre de usuario",
|
||||
"admin.users.modal.create.email": "Correo",
|
||||
"admin.users.modal.create.password": "Contraseña",
|
||||
"admin.users.modal.create.manual-password": "Establecer contraseña manualmente",
|
||||
"admin.users.modal.create.manual-password.description": "Si no se marca, el usuario recibirá un correo con un enlace para configurar su contraseña.",
|
||||
"admin.users.modal.create.manual-password":
|
||||
"Establecer contraseña manualmente",
|
||||
"admin.users.modal.create.manual-password.description":
|
||||
"Si no se marca, el usuario recibirá un correo con un enlace para configurar su contraseña.",
|
||||
"admin.users.modal.create.admin": "Privilegios de administrador",
|
||||
"admin.users.modal.create.admin.description": "Si se marca, el usuario podrá acceder al panel de administrador.",
|
||||
"admin.users.modal.create.admin.description":
|
||||
"Si se marca, el usuario podrá acceder al panel de administrador.",
|
||||
// END /admin/users
|
||||
// /upload
|
||||
"upload.title": "Subir",
|
||||
"upload.notify.generic-error": "Ha ocurrido un error mientras se compartía tu archivo.",
|
||||
"upload.notify.count-failed": "No se pudo cargar {count} archivos. Intentando nuevamente.",
|
||||
"upload.notify.generic-error":
|
||||
"Ha ocurrido un error mientras se compartía tu archivo.",
|
||||
"upload.notify.count-failed":
|
||||
"No se pudo cargar {count} archivos. Intentando nuevamente.",
|
||||
// Dropzone.tsx
|
||||
"upload.dropzone.title": "Subir archivos",
|
||||
"upload.dropzone.description": "Arrastra archivos aquí para comenzar a compartir. Aceptamos archivos de un tamaño menor a {maxSize} en total.",
|
||||
"upload.dropzone.notify.file-too-big": "Tus archivos exceden el tamaño máximo de {maxSize}.",
|
||||
"upload.dropzone.description":
|
||||
"Arrastra archivos aquí para comenzar a compartir. Aceptamos archivos de un tamaño menor a {maxSize} en total.",
|
||||
"upload.dropzone.notify.file-too-big":
|
||||
"Tus archivos exceden el tamaño máximo de {maxSize}.",
|
||||
// FileList.tsx
|
||||
"upload.filelist.name": "Nombre",
|
||||
"upload.filelist.size": "Tamaño",
|
||||
// showCreateUploadModal.tsx
|
||||
"upload.modal.title": "Crear compartido",
|
||||
"upload.modal.link.error.invalid": "Solo puede contener letras, números, guiones y guiones bajos",
|
||||
"upload.modal.link.error.invalid":
|
||||
"Solo puede contener letras, números, guiones y guiones bajos",
|
||||
"upload.modal.link.error.taken": "Este enlace ya está en uso",
|
||||
"upload.modal.not-signed-in": "No has iniciado sesión",
|
||||
"upload.modal.not-signed-in-description": "No podrás eliminar tus compartidos manualmente ni ver el número de visitas.",
|
||||
"upload.modal.not-signed-in-description":
|
||||
"No podrás eliminar tus compartidos manualmente ni ver el número de visitas.",
|
||||
"upload.modal.expires.never": "nunca",
|
||||
"upload.modal.expires.never-long": "Nunca Expira",
|
||||
"upload.modal.link.label": "Enlace",
|
||||
@ -205,9 +235,11 @@ export default {
|
||||
"upload.modal.expires.year-singular": "Año",
|
||||
"upload.modal.expires.year-plural": "Años",
|
||||
"upload.modal.accordion.description.title": "Descripción",
|
||||
"upload.modal.accordion.description.placeholder": "Nota para los destinatarios de este compartido",
|
||||
"upload.modal.accordion.description.placeholder":
|
||||
"Nota para los destinatarios de este compartido",
|
||||
"upload.modal.accordion.email.title": "Correo de los destinatarios",
|
||||
"upload.modal.accordion.email.placeholder": "Ingresa los correos de los destinatarios",
|
||||
"upload.modal.accordion.email.placeholder":
|
||||
"Ingresa los correos de los destinatarios",
|
||||
"upload.modal.accordion.email.invalid-email": "Dirección de correo inválida",
|
||||
"upload.modal.accordion.security.title": "Opciones de seguridad",
|
||||
"upload.modal.accordion.security.password.label": "Protección por contraseña",
|
||||
@ -216,28 +248,35 @@ export default {
|
||||
"upload.modal.accordion.security.max-views.placeholder": "Sin límite",
|
||||
// showCompletedUploadModal.tsx
|
||||
"upload.modal.completed.never-expires": "Este compartido nunca expirará.",
|
||||
"upload.modal.completed.expires-on": "Este compartido expira en {expiration}.",
|
||||
"upload.modal.completed.expires-on":
|
||||
"Este compartido expira en {expiration}.",
|
||||
"upload.modal.completed.share-ready": "Compartido listo",
|
||||
// END /upload
|
||||
// /share/[id]
|
||||
"share.title": "Compartido {shareId}",
|
||||
"share.description": "¡Mira lo que he compartido contigo!",
|
||||
"share.error.visitor-limit-exceeded.title": "Se excedió el límite de visitas",
|
||||
"share.error.visitor-limit-exceeded.description": "Se ha excedido el límite de visitas para este compartido.",
|
||||
"share.error.visitor-limit-exceeded.description":
|
||||
"Se ha excedido el límite de visitas para este compartido.",
|
||||
"share.error.removed.title": "Compartido eliminado",
|
||||
"share.error.not-found.title": "Compartido no encontrado",
|
||||
"share.error.not-found.description": "El compartido que estás buscando no existe.",
|
||||
"share.error.not-found.description":
|
||||
"El compartido que estás buscando no existe.",
|
||||
"share.modal.password.title": "Se requiere contraseña",
|
||||
"share.modal.password.description": "Por favor ingrese la contraseña para poder acceder a este compartido.",
|
||||
"share.modal.password.description":
|
||||
"Por favor ingrese la contraseña para poder acceder a este compartido.",
|
||||
"share.modal.password": "Contraseña",
|
||||
"share.modal.error.invalid-password": "Contraseña inválida",
|
||||
"share.button.download-all": "Descargar todo",
|
||||
"share.notify.download-all-preparing": "Se está preparando el compartido. Intente de nuevo en unos minutos.",
|
||||
"share.notify.download-all-preparing":
|
||||
"Se está preparando el compartido. Intente de nuevo en unos minutos.",
|
||||
"share.modal.file-link": "Enlace del archivo",
|
||||
"share.table.name": "Nombre",
|
||||
"share.table.size": "Tamaño",
|
||||
"share.modal.file-preview.error.not-supported.title": "Vista previa no disponible",
|
||||
"share.modal.file-preview.error.not-supported.description": "La vista previa para este tipo de archivo no está disponible. Por favor descargue el archivo para verlo.",
|
||||
"share.modal.file-preview.error.not-supported.title":
|
||||
"Vista previa no disponible",
|
||||
"share.modal.file-preview.error.not-supported.description":
|
||||
"La vista previa para este tipo de archivo no está disponible. Por favor descargue el archivo para verlo.",
|
||||
// END /share/[id]
|
||||
// /admin/config
|
||||
"admin.config.title": "Configuración",
|
||||
@ -248,46 +287,66 @@ export default {
|
||||
"admin.config.general.app-name": "Nombre de la App",
|
||||
"admin.config.general.app-name.description": "Nombre de la aplicación",
|
||||
"admin.config.general.app-url": "App URL",
|
||||
"admin.config.general.app-url.description": "En cuál URL está disponible Pingvin Share",
|
||||
"admin.config.general.app-url.description":
|
||||
"En cuál URL está disponible Pingvin Share",
|
||||
"admin.config.general.show-home-page": "Mostrar página de inicio",
|
||||
"admin.config.general.show-home-page.description": "Mostrar o no la página de inicio",
|
||||
"admin.config.general.show-home-page.description":
|
||||
"Mostrar o no la página de inicio",
|
||||
"admin.config.general.logo": "Logo",
|
||||
"admin.config.general.logo.description": "Cambia tu logo subiendo una nueva imagen. La imagen debe ser un PNG y debe estar en formato 1:1.",
|
||||
"admin.config.general.logo.description":
|
||||
"Cambia tu logo subiendo una nueva imagen. La imagen debe ser un PNG y debe estar en formato 1:1.",
|
||||
"admin.config.general.logo.placeholder": "Elegir imagen",
|
||||
"admin.config.email.enable-share-email-recipients": "Activar destinatarios por correo",
|
||||
"admin.config.email.enable-share-email-recipients.description": "Si desea permitir a los destinatarios compartir por correo. Activa esto solo si tienes habilitado SMTP.",
|
||||
"admin.config.email.enable-share-email-recipients":
|
||||
"Activar destinatarios por correo",
|
||||
"admin.config.email.enable-share-email-recipients.description":
|
||||
"Si desea permitir a los destinatarios compartir por correo. Activa esto solo si tienes habilitado SMTP.",
|
||||
"admin.config.email.share-recipients-subject": "Asunto destinatario",
|
||||
"admin.config.email.share-recipients-subject.description": "Asunto del correo el cual es enviado al destinatario del compartido.",
|
||||
"admin.config.email.share-recipients-subject.description":
|
||||
"Asunto del correo el cual es enviado al destinatario del compartido.",
|
||||
"admin.config.email.share-recipients-message": "Mensaje destinatario",
|
||||
"admin.config.email.share-recipients-message.description": "Mensaje el cual es enviado al destinatario del compartido. Variables disponibles:\n{creator} - Nombre del creador del compartido\n {shareUrl} - URL del compartido\n {desc} - Descripción del compartido\n {expires} - Fecha de expiración del compartido\nLas variables serán remplazadas con los valores reales.",
|
||||
"admin.config.email.share-recipients-message.description":
|
||||
"Mensaje el cual es enviado al destinatario del compartido. Variables disponibles:\n{creator} - Nombre del creador del compartido\n {shareUrl} - URL del compartido\n {desc} - Descripción del compartido\n {expires} - Fecha de expiración del compartido\nLas variables serán remplazadas con los valores reales.",
|
||||
"admin.config.email.reverse-share-subject": "Asunto del Reverse Share",
|
||||
"admin.config.email.reverse-share-subject.description": "Asunto del correo el cual se envía cuando alguien comparte algo con tu enlace de Reverse Share.",
|
||||
"admin.config.email.reverse-share-subject.description":
|
||||
"Asunto del correo el cual se envía cuando alguien comparte algo con tu enlace de Reverse Share.",
|
||||
"admin.config.email.reverse-share-message": "Mensaje del Reverse Share",
|
||||
"admin.config.email.reverse-share-message.description": "Mensaje que se envía cuando alguien comparte algo con tu enlace de Reverse Share. {shareUrl} Se remplazará con el nombre del creador y la URL del compartido.",
|
||||
"admin.config.email.reverse-share-message.description":
|
||||
"Mensaje que se envía cuando alguien comparte algo con tu enlace de Reverse Share. {shareUrl} Se remplazará con el nombre del creador y la URL del compartido.",
|
||||
"admin.config.email.reset-password-subject": "Asunto restablecer contraseña",
|
||||
"admin.config.email.reset-password-subject.description": "Asunto del correo que se envía cuando un usuario solicita restablecer la contraseña.",
|
||||
"admin.config.email.reset-password-subject.description":
|
||||
"Asunto del correo que se envía cuando un usuario solicita restablecer la contraseña.",
|
||||
"admin.config.email.reset-password-message": "Mensaje restablecer contraseña",
|
||||
"admin.config.email.reset-password-message.description": "Mensaje que se envía cuando un usuario solicita restablecer la contraseña. {url} se remplazará con la URL para restablecer la contraseña.",
|
||||
"admin.config.email.reset-password-message.description":
|
||||
"Mensaje que se envía cuando un usuario solicita restablecer la contraseña. {url} se remplazará con la URL para restablecer la contraseña.",
|
||||
"admin.config.email.invite-subject": "Asunto de la invitación",
|
||||
"admin.config.email.invite-subject.description": "Asunto del correo que se envía cuando un administrador invita a un usuario.",
|
||||
"admin.config.email.invite-subject.description":
|
||||
"Asunto del correo que se envía cuando un administrador invita a un usuario.",
|
||||
"admin.config.email.invite-message": "Mensaje de invitación",
|
||||
"admin.config.email.invite-message.description": "Mensaje que se envía cuando un administrador invita a un usuario. {url} Se remplazará con la URL de invitación y {password} con la contraseña.",
|
||||
"admin.config.email.invite-message.description":
|
||||
"Mensaje que se envía cuando un administrador invita a un usuario. {url} Se remplazará con la URL de invitación y {password} con la contraseña.",
|
||||
"admin.config.share.allow-registration": "Permitir registro",
|
||||
"admin.config.share.allow-registration.description": "Si se permite el registro",
|
||||
"admin.config.share.allow-unauthenticated-shares": "Permitir compartir sin iniciar sesión",
|
||||
"admin.config.share.allow-unauthenticated-shares.description": "Si los usuarios que no han iniciado sesión pueden compartir",
|
||||
"admin.config.share.allow-registration.description":
|
||||
"Si se permite el registro",
|
||||
"admin.config.share.allow-unauthenticated-shares":
|
||||
"Permitir compartir sin iniciar sesión",
|
||||
"admin.config.share.allow-unauthenticated-shares.description":
|
||||
"Si los usuarios que no han iniciado sesión pueden compartir",
|
||||
"admin.config.share.max-size": "Tamaño máximo",
|
||||
"admin.config.share.max-size.description": "Tamaño máximo de los archivos, en bytes",
|
||||
"admin.config.share.max-size.description":
|
||||
"Tamaño máximo de los archivos, en bytes",
|
||||
"admin.config.share.zip-compression-level": "Nivel de compresión del Zip",
|
||||
"admin.config.share.zip-compression-level.description": "Ajustar el nivel para equilibrar entre el tamaño del archivo y la velocidad de compresión. Los valores válidos van del 0 al 9, siendo 0 sin compresión y 9 el nivel máximo de compresión. ",
|
||||
"admin.config.share.zip-compression-level.description":
|
||||
"Ajustar el nivel para equilibrar entre el tamaño del archivo y la velocidad de compresión. Los valores válidos van del 0 al 9, siendo 0 sin compresión y 9 el nivel máximo de compresión. ",
|
||||
"admin.config.smtp.enabled": "Habilitado",
|
||||
"admin.config.smtp.enabled.description": "Si SMTP está habilitado. Active solo si ha introducido el host, el puerto, el correo, el usuario y la contraseña de su servidor SMTP.",
|
||||
"admin.config.smtp.enabled.description":
|
||||
"Si SMTP está habilitado. Active solo si ha introducido el host, el puerto, el correo, el usuario y la contraseña de su servidor SMTP.",
|
||||
"admin.config.smtp.host": "Host",
|
||||
"admin.config.smtp.host.description": "Host del servidor SMTP",
|
||||
"admin.config.smtp.port": "Puerto",
|
||||
"admin.config.smtp.port.description": "Puerto del servidor SMTP",
|
||||
"admin.config.smtp.email": "Correo",
|
||||
"admin.config.smtp.email.description": "Dirección de correo desde la cual se envían los correos",
|
||||
"admin.config.smtp.email.description":
|
||||
"Dirección de correo desde la cual se envían los correos",
|
||||
"admin.config.smtp.username": "Usuario",
|
||||
"admin.config.smtp.username.description": "Usuario del servidor SMTP",
|
||||
"admin.config.smtp.password": "Contraseña",
|
||||
@ -319,5 +378,5 @@ export default {
|
||||
"common.error.too-long": "Debe tener como máximo {length} caracteres",
|
||||
"common.error.exact-length": "Debe tener exactamente {length} caracteres",
|
||||
"common.error.invalid-number": "Debe ser un número",
|
||||
"common.error.field-required": "Este campo es requerido"
|
||||
};
|
||||
"common.error.field-required": "Este campo es requerido",
|
||||
};
|
||||
|
@ -11,14 +11,17 @@ export default {
|
||||
"navbar.avatar.signout": "Kirjaudu ulos",
|
||||
// END navbar
|
||||
// /
|
||||
"home.title": "<h>\"Itse isännöitty\"</h> tiedostojen jakamisen alusta.",
|
||||
"home.description": "Haluatko oikeasti jakaa yksityisiä tiedostojasi kolmannen osapuolen yhtiöille niin kuin WeTransfer?",
|
||||
"home.title": '<h>"Itse isännöitty"</h> tiedostojen jakamisen alusta.',
|
||||
"home.description":
|
||||
"Haluatko oikeasti jakaa yksityisiä tiedostojasi kolmannen osapuolen yhtiöille niin kuin WeTransfer?",
|
||||
"home.bullet.a.name": "Itse-Isännöitty",
|
||||
"home.bullet.a.description": "Isännöi \"Pingvin Share\" omalla palvelimellasi.",
|
||||
"home.bullet.a.description": 'Isännöi "Pingvin Share" omalla palvelimellasi.',
|
||||
"home.bullet.b.name": "Yksityisyys",
|
||||
"home.bullet.b.description": "Sinun tiedostosi ovat sinun ja niiden ei ikinä pidä päättyä kolmannen osapuolen käsiin.",
|
||||
"home.bullet.b.description":
|
||||
"Sinun tiedostosi ovat sinun ja niiden ei ikinä pidä päättyä kolmannen osapuolen käsiin.",
|
||||
"home.bullet.c.name": "Ei ärsyttävää tiedoston kokorajoitusta",
|
||||
"home.bullet.c.description": "Lataa niin paljon isoja tiedostoja kuin tykkäät. Vain kovalevysi on rajana.",
|
||||
"home.bullet.c.description":
|
||||
"Lataa niin paljon isoja tiedostoja kuin tykkäät. Vain kovalevysi on rajana.",
|
||||
"home.button.start": "Aloita",
|
||||
"home.button.source": "Lähdekoodi",
|
||||
// END /
|
||||
@ -27,12 +30,15 @@ export default {
|
||||
"signin.description": "Eikö sinulla ole vielä tiliä?",
|
||||
"signin.button.signup": "Rekisteröidy",
|
||||
"signin.input.email-or-username": "Sähköposti tai käyttäjänimi",
|
||||
"signin.input.email-or-username.placeholder": "Sähköpostisi tai käyttäjänimesi",
|
||||
"signin.input.email-or-username.placeholder":
|
||||
"Sähköpostisi tai käyttäjänimesi",
|
||||
"signin.input.password": "Salasana",
|
||||
"signin.input.password.placeholder": "Salasana",
|
||||
"signin.button.submit": "Kirjaudu sisään",
|
||||
"signIn.notify.totp-required.title": "Kaksivaiheinen tunnistautuminen vaadittu",
|
||||
"signIn.notify.totp-required.description": "Syötä kaksivaiheisen tunnistautumisen koodi tähän",
|
||||
"signIn.notify.totp-required.title":
|
||||
"Kaksivaiheinen tunnistautuminen vaadittu",
|
||||
"signIn.notify.totp-required.description":
|
||||
"Syötä kaksivaiheisen tunnistautumisen koodi tähän",
|
||||
// END /auth/signin
|
||||
// /auth/signup
|
||||
"signup.title": "Rekisteröidy",
|
||||
@ -46,8 +52,10 @@ export default {
|
||||
// END /auth/signup
|
||||
// /auth/reset-password
|
||||
"resetPassword.title": "Unohditko salasanan?",
|
||||
"resetPassword.description": "Kirjoita sähköpostiosoitteesi palauttaaksesi salasanasi.",
|
||||
"resetPassword.notify.success": "Sähköpostiosoite on lähetetty linkillä, jolla voit nollata salasanasi.",
|
||||
"resetPassword.description":
|
||||
"Kirjoita sähköpostiosoitteesi palauttaaksesi salasanasi.",
|
||||
"resetPassword.notify.success":
|
||||
"Sähköpostiosoite on lähetetty linkillä, jolla voit nollata salasanasi.",
|
||||
"resetPassword.button.back": "Takaisin kirjautumiseen",
|
||||
"resetPassword.text.resetPassword": "Nollaa salasana",
|
||||
"resetPassword.text.enterNewPassword": "Anna uusi salasana",
|
||||
@ -64,8 +72,10 @@ export default {
|
||||
"account.card.password.new": "Uusi salasana",
|
||||
"account.notify.password.success": "Salasana vaihdettu",
|
||||
"account.card.security.title": "Turvallisuus",
|
||||
"account.card.security.totp.enable.description": "Anna nykyinen salasanasi aloittaaksesi TOTP käytön",
|
||||
"account.card.security.totp.disable.description": "Syötä nykyinen salasanasi poistaaksesi TOTP käytöstä",
|
||||
"account.card.security.totp.enable.description":
|
||||
"Anna nykyinen salasanasi aloittaaksesi TOTP käytön",
|
||||
"account.card.security.totp.disable.description":
|
||||
"Syötä nykyinen salasanasi poistaaksesi TOTP käytöstä",
|
||||
"account.card.security.totp.button.start": "Aloita",
|
||||
"account.modal.totp.title": "Ota Käyttöön TOTP",
|
||||
"account.modal.totp.step1": "Vaihe 1: Lisää todentaja",
|
||||
@ -77,7 +87,8 @@ export default {
|
||||
"account.notify.totp.disable": "TOTP poistettu käytöstä",
|
||||
"account.notify.totp.enable": "TOTP otettu käyttöön onnistuneesti",
|
||||
"account.card.language.title": "Kieli",
|
||||
"account.card.language.description": "Projekti on yhteisön kääntämä. Jotkut kielet saattavat olla puutteellisia.",
|
||||
"account.card.language.description":
|
||||
"Projekti on yhteisön kääntämä. Jotkut kielet saattavat olla puutteellisia.",
|
||||
"account.card.color.title": "Väriteema",
|
||||
// ThemeSwitcher.tsx
|
||||
"account.theme.dark": "Tumma",
|
||||
@ -85,7 +96,8 @@ export default {
|
||||
"account.theme.system": "Järjestelmä",
|
||||
"account.button.delete": "Poista tili",
|
||||
"account.modal.delete.title": "Poista tili",
|
||||
"account.modal.delete.description": "Haluatko varmasti poistaa tilisi mukaan lukien kaikki aktiiviset jaetut tiedostot?",
|
||||
"account.modal.delete.description":
|
||||
"Haluatko varmasti poistaa tilisi mukaan lukien kaikki aktiiviset jaetut tiedostot?",
|
||||
// END /account
|
||||
// /account/shares
|
||||
"account.shares.title": "Minun jakaukset",
|
||||
@ -103,13 +115,16 @@ export default {
|
||||
"account.shares.modal.share-informations": "Jaetun tiedot",
|
||||
"account.shares.modal.share-link": "Jaa linkki",
|
||||
"account.shares.modal.delete.title": "Poista jaettu {share}",
|
||||
"account.shares.modal.delete.description": "Haluatko todella poistaa tämän jaetun tiedoston/ot?",
|
||||
"account.shares.modal.delete.description":
|
||||
"Haluatko todella poistaa tämän jaetun tiedoston/ot?",
|
||||
// END /account/shares
|
||||
// /account/reverseShares
|
||||
"account.reverseShares.title": "Takaperin jaetut",
|
||||
"account.reverseShares.description": "Käänteisen jaon avulla voit luoda ainutlaatuisen URL-osoitteen, jonka avulla ulkoiset käyttäjät voivat luoda jaon.",
|
||||
"account.reverseShares.description":
|
||||
"Käänteisen jaon avulla voit luoda ainutlaatuisen URL-osoitteen, jonka avulla ulkoiset käyttäjät voivat luoda jaon.",
|
||||
"account.reverseShares.title.empty": "Täällä on tyhjää 👀",
|
||||
"account.reverseShares.description.empty": "Sinulla ei ole käänteisiä jakoja.",
|
||||
"account.reverseShares.description.empty":
|
||||
"Sinulla ei ole käänteisiä jakoja.",
|
||||
// showCreateReverseShareModal.tsx
|
||||
"account.reverseShares.modal.expiration.label": "Vanhentuminen",
|
||||
"account.reverseShares.modal.expiration.minute-singular": "Minuutti",
|
||||
@ -126,11 +141,15 @@ export default {
|
||||
"account.reverseShares.modal.expiration.year-plural": "Vuotta",
|
||||
"account.reverseShares.modal.max-size.label": "Suurin tiedostonkoko",
|
||||
"account.reverseShares.modal.send-email": "Lähetä sähköposti-ilmoitus",
|
||||
"account.reverseShares.modal.send-email.description": "Lähetä sähköpostiilmoitus kun jako on luotu tällä käänteisellä jakolinkillä.",
|
||||
"account.reverseShares.modal.send-email.description":
|
||||
"Lähetä sähköpostiilmoitus kun jako on luotu tällä käänteisellä jakolinkillä.",
|
||||
"account.reverseShares.modal.max-use.label": "Käyttökertoja enintään",
|
||||
"account.reverseShares.modal.max-use.description": "Enimmäismäärä kertoja, joilla tämä URL-osoite voidaan käyttää joita luomiseen.",
|
||||
"account.reverseShare.never-expires": "Tämä käänteinen jako ei koskaan vanhene.",
|
||||
"account.reverseShare.expires-on": "Tämä käänteinen jako vanhenee kun on {expiration}.",
|
||||
"account.reverseShares.modal.max-use.description":
|
||||
"Enimmäismäärä kertoja, joilla tämä URL-osoite voidaan käyttää joita luomiseen.",
|
||||
"account.reverseShare.never-expires":
|
||||
"Tämä käänteinen jako ei koskaan vanhene.",
|
||||
"account.reverseShare.expires-on":
|
||||
"Tämä käänteinen jako vanhenee kun on {expiration}.",
|
||||
"account.reverseShares.table.no-shares": "Ei vielä luotuja jakoja",
|
||||
"account.reverseShares.table.count.singular": "jaa",
|
||||
"account.reverseShares.table.count.plural": "jaot",
|
||||
@ -138,9 +157,11 @@ export default {
|
||||
"account.reverseShares.table.remaining": "Jäljellä olevat käyttökerrat",
|
||||
"account.reverseShares.table.max-size": "Suurin tiedostonkoko",
|
||||
"account.reverseShares.table.expires": "Vanhenee",
|
||||
"account.reverseShares.modal.reverse-share-link": "Takaperin jaetun jaon linkki",
|
||||
"account.reverseShares.modal.reverse-share-link":
|
||||
"Takaperin jaetun jaon linkki",
|
||||
"account.reverseShares.modal.delete.title": "Poista käänteinen jako",
|
||||
"account.reverseShares.modal.delete.description": "Haluatko varmasti poistaa tämän käänteisen jaon? Jos kyllä, myös siihen liittyvät jaot poistetaan.",
|
||||
"account.reverseShares.modal.delete.description":
|
||||
"Haluatko varmasti poistaa tämän käänteisen jaon? Jos kyllä, myös siihen liittyvät jaot poistetaan.",
|
||||
// END /account/reverseShares
|
||||
// /admin
|
||||
"admin.title": "Ylläpito",
|
||||
@ -160,34 +181,43 @@ export default {
|
||||
"admin.users.edit.update.change-password.button": "Tallenna uusi salasana",
|
||||
"admin.users.edit.update.notify.password.success": "Salasana vaihdettu",
|
||||
"admin.users.edit.delete.title": "Poista käyttäjä {username}",
|
||||
"admin.users.edit.delete.description": "Haluatko varmasti poistaa tämän käyttäjän ja kaikki hänen jaot?",
|
||||
"admin.users.edit.delete.description":
|
||||
"Haluatko varmasti poistaa tämän käyttäjän ja kaikki hänen jaot?",
|
||||
// showCreateUserModal.tsx
|
||||
"admin.users.modal.create.title": "Luo käyttäjä",
|
||||
"admin.users.modal.create.username": "Käyttäjätunnus",
|
||||
"admin.users.modal.create.email": "Sähköposti",
|
||||
"admin.users.modal.create.password": "Salasana",
|
||||
"admin.users.modal.create.manual-password": "Aseta salasana manuaalisesti",
|
||||
"admin.users.modal.create.manual-password.description": "Jos ei ole valittuna, käyttäjä saa sähköpostiviestin, jossa on linkki, joka määrittää heidän salasanansa.",
|
||||
"admin.users.modal.create.manual-password.description":
|
||||
"Jos ei ole valittuna, käyttäjä saa sähköpostiviestin, jossa on linkki, joka määrittää heidän salasanansa.",
|
||||
"admin.users.modal.create.admin": "Ylläpitäjän oikeudet",
|
||||
"admin.users.modal.create.admin.description": "Jos valittu, käyttäjä voi käyttää hallintapaneelia.",
|
||||
"admin.users.modal.create.admin.description":
|
||||
"Jos valittu, käyttäjä voi käyttää hallintapaneelia.",
|
||||
// END /admin/users
|
||||
// /upload
|
||||
"upload.title": "Pilvetä",
|
||||
"upload.notify.generic-error": "Kohdattiin odottamaton virhe jaon luomisessa.",
|
||||
"upload.notify.count-failed": "{count} tiedostoa ei voitu ladata. Yritetään uudelleen.",
|
||||
"upload.notify.generic-error":
|
||||
"Kohdattiin odottamaton virhe jaon luomisessa.",
|
||||
"upload.notify.count-failed":
|
||||
"{count} tiedostoa ei voitu ladata. Yritetään uudelleen.",
|
||||
// Dropzone.tsx
|
||||
"upload.dropzone.title": "Pilvetä tiedostoja",
|
||||
"upload.dropzone.description": "Vedä ja pudota tiedostot tähän aloittaaksesi jakamisen. Voimme hyväksyä vain tiedostot, jotka ovat yhteensä alle {maxSize}.",
|
||||
"upload.dropzone.notify.file-too-big": "Tiedostojen enimmäiskoko ylittää {maxSize} -arvon enimmäismäärän.",
|
||||
"upload.dropzone.description":
|
||||
"Vedä ja pudota tiedostot tähän aloittaaksesi jakamisen. Voimme hyväksyä vain tiedostot, jotka ovat yhteensä alle {maxSize}.",
|
||||
"upload.dropzone.notify.file-too-big":
|
||||
"Tiedostojen enimmäiskoko ylittää {maxSize} -arvon enimmäismäärän.",
|
||||
// FileList.tsx
|
||||
"upload.filelist.name": "Nimi",
|
||||
"upload.filelist.size": "Koko",
|
||||
// showCreateUploadModal.tsx
|
||||
"upload.modal.title": "Luo Jako",
|
||||
"upload.modal.link.error.invalid": "Voi sisältää vain kirjaimia, numeroita, alaviivoja ja väliviivoja",
|
||||
"upload.modal.link.error.invalid":
|
||||
"Voi sisältää vain kirjaimia, numeroita, alaviivoja ja väliviivoja",
|
||||
"upload.modal.link.error.taken": "Tämä linkki on jo käytössä",
|
||||
"upload.modal.not-signed-in": "Et ole kirjautunut sisään",
|
||||
"upload.modal.not-signed-in-description": "Et voi poistaa jakoasi manuaalisesti ja tarkastella kävijöiden määrää.",
|
||||
"upload.modal.not-signed-in-description":
|
||||
"Et voi poistaa jakoasi manuaalisesti ja tarkastella kävijöiden määrää.",
|
||||
"upload.modal.expires.never": "ei koskaan",
|
||||
"upload.modal.expires.never-long": "Ei vanhene koskaan",
|
||||
"upload.modal.link.label": "Linkki",
|
||||
@ -205,9 +235,11 @@ export default {
|
||||
"upload.modal.expires.year-singular": "Vuosi",
|
||||
"upload.modal.expires.year-plural": "Vuotta",
|
||||
"upload.modal.accordion.description.title": "Kuvaus",
|
||||
"upload.modal.accordion.description.placeholder": "Huomautus tämän jaon vastaanottajille",
|
||||
"upload.modal.accordion.description.placeholder":
|
||||
"Huomautus tämän jaon vastaanottajille",
|
||||
"upload.modal.accordion.email.title": "Sähköpostin vastaanottajat",
|
||||
"upload.modal.accordion.email.placeholder": "Syötä sähköpostin vastaanottajat",
|
||||
"upload.modal.accordion.email.placeholder":
|
||||
"Syötä sähköpostin vastaanottajat",
|
||||
"upload.modal.accordion.email.invalid-email": "Virheellinen sähköpostiosoite",
|
||||
"upload.modal.accordion.security.title": "Turvallisuusasetukset",
|
||||
"upload.modal.accordion.security.password.label": "Salasanasuojaus",
|
||||
@ -215,29 +247,35 @@ export default {
|
||||
"upload.modal.accordion.security.max-views.label": "Näkymien enimmäismäärä",
|
||||
"upload.modal.accordion.security.max-views.placeholder": "Ei rajoitusta",
|
||||
// showCompletedUploadModal.tsx
|
||||
"upload.modal.completed.never-expires": "Tämä käänteinen jako ei koskaan vanhene.",
|
||||
"upload.modal.completed.expires-on": "Tämä käänteinen jako vanhenee kun on {expiration}.",
|
||||
"upload.modal.completed.never-expires":
|
||||
"Tämä käänteinen jako ei koskaan vanhene.",
|
||||
"upload.modal.completed.expires-on":
|
||||
"Tämä käänteinen jako vanhenee kun on {expiration}.",
|
||||
"upload.modal.completed.share-ready": "Jako valmiina",
|
||||
// END /upload
|
||||
// /share/[id]
|
||||
"share.title": "Jaa {shareId}",
|
||||
"share.description": "Katso, mitä olen jakanut kanssasi!",
|
||||
"share.error.visitor-limit-exceeded.title": "Vierailijoiden raja ylitetty",
|
||||
"share.error.visitor-limit-exceeded.description": "Tämän jaon kävijäraja on ylittynyt.",
|
||||
"share.error.visitor-limit-exceeded.description":
|
||||
"Tämän jaon kävijäraja on ylittynyt.",
|
||||
"share.error.removed.title": "Jako poistettu",
|
||||
"share.error.not-found.title": "Jakoa ei löydetty",
|
||||
"share.error.not-found.description": "Etsimääsi sivua ei ole olemassa.",
|
||||
"share.modal.password.title": "Salasana vaaditaan",
|
||||
"share.modal.password.description": "Päästäksesi käsiksi tähän jakoon anna jaon salasana.",
|
||||
"share.modal.password.description":
|
||||
"Päästäksesi käsiksi tähän jakoon anna jaon salasana.",
|
||||
"share.modal.password": "Salasana",
|
||||
"share.modal.error.invalid-password": "Virheellinen salasana",
|
||||
"share.button.download-all": "Lataa kaikki",
|
||||
"share.notify.download-all-preparing": "Jako on valmistumassa. Yritä uudelleen muutaman minuutin kuluttua.",
|
||||
"share.notify.download-all-preparing":
|
||||
"Jako on valmistumassa. Yritä uudelleen muutaman minuutin kuluttua.",
|
||||
"share.modal.file-link": "Tiedoston linkki",
|
||||
"share.table.name": "Nimi",
|
||||
"share.table.size": "Koko",
|
||||
"share.modal.file-preview.error.not-supported.title": "Esikatselua ei tuettu",
|
||||
"share.modal.file-preview.error.not-supported.description": "Esikatselua thise tiedostotyypille ei tueta. Ole hyvä ja lataa tiedosto nähdäksesi sen.",
|
||||
"share.modal.file-preview.error.not-supported.description":
|
||||
"Esikatselua thise tiedostotyypille ei tueta. Ole hyvä ja lataa tiedosto nähdäksesi sen.",
|
||||
// END /share/[id]
|
||||
// /admin/config
|
||||
"admin.config.title": "Asetukset",
|
||||
@ -248,46 +286,65 @@ export default {
|
||||
"admin.config.general.app-name": "Sovelluksen nimi",
|
||||
"admin.config.general.app-name.description": "Sovelluksen nimi",
|
||||
"admin.config.general.app-url": "Sovelluksen URL",
|
||||
"admin.config.general.app-url.description": "Millä URL-osoitteella Pingvin Share on saatavilla",
|
||||
"admin.config.general.app-url.description":
|
||||
"Millä URL-osoitteella Pingvin Share on saatavilla",
|
||||
"admin.config.general.show-home-page": "Näytä kotisivu",
|
||||
"admin.config.general.show-home-page.description": "Näytetäänkö kotisivu vai ei",
|
||||
"admin.config.general.show-home-page.description":
|
||||
"Näytetäänkö kotisivu vai ei",
|
||||
"admin.config.general.logo": "Logo",
|
||||
"admin.config.general.logo.description": "Muuta logoa lataamalla uusi kuva. Kuvan on oltava PNG ja sen on oltava formaatti 1:1.",
|
||||
"admin.config.general.logo.description":
|
||||
"Muuta logoa lataamalla uusi kuva. Kuvan on oltava PNG ja sen on oltava formaatti 1:1.",
|
||||
"admin.config.general.logo.placeholder": "Valitse kuva",
|
||||
"admin.config.email.enable-share-email-recipients": "Salli sähköpostin vastaanottajien jakaminen",
|
||||
"admin.config.email.enable-share-email-recipients.description": "Salli sähköpostien jakaminen vastaanottajille. Ota tämä käyttöön vain, jos olet ottanut SMTP:n käyttöön.",
|
||||
"admin.config.email.enable-share-email-recipients":
|
||||
"Salli sähköpostin vastaanottajien jakaminen",
|
||||
"admin.config.email.enable-share-email-recipients.description":
|
||||
"Salli sähköpostien jakaminen vastaanottajille. Ota tämä käyttöön vain, jos olet ottanut SMTP:n käyttöön.",
|
||||
"admin.config.email.share-recipients-subject": "Sähköpostijaon otsikko",
|
||||
"admin.config.email.share-recipients-subject.description": "Sähköpostin aihe, joka saa lähetetään jaon vastaanottajille.",
|
||||
"admin.config.email.share-recipients-subject.description":
|
||||
"Sähköpostin aihe, joka saa lähetetään jaon vastaanottajille.",
|
||||
"admin.config.email.share-recipients-message": "Sähköpostijaon viesti",
|
||||
"admin.config.email.share-recipients-message.description": "Viesti joka lähetetään jaon vastaanottajille. Saatavilla olevat muuttujat:\n {creator} - Jaon luojan käyttäjänimi\n {shareUrl} - Jaon URL\n {desc} - Jaon kuvaus\n {expires} - Jaon päättymispäivä\n Muuttujat korvataan todellisella arvolla.",
|
||||
"admin.config.email.share-recipients-message.description":
|
||||
"Viesti joka lähetetään jaon vastaanottajille. Saatavilla olevat muuttujat:\n {creator} - Jaon luojan käyttäjänimi\n {shareUrl} - Jaon URL\n {desc} - Jaon kuvaus\n {expires} - Jaon päättymispäivä\n Muuttujat korvataan todellisella arvolla.",
|
||||
"admin.config.email.reverse-share-subject": "Käänteisen jaon aihe",
|
||||
"admin.config.email.reverse-share-subject.description": "Aihe sähköpostin joka lähetetään kun joku loi jaon käänteisen jakolinkin kanssa.",
|
||||
"admin.config.email.reverse-share-subject.description":
|
||||
"Aihe sähköpostin joka lähetetään kun joku loi jaon käänteisen jakolinkin kanssa.",
|
||||
"admin.config.email.reverse-share-message": "Käänteisen jakoviestin viesti",
|
||||
"admin.config.email.reverse-share-message.description": "Viesti joka lähetetään kun joku loi jaon käänteisen jakolinkin kanssa. {shareUrl} korvataan luojan nimellä ja jaon URL:lla.",
|
||||
"admin.config.email.reverse-share-message.description":
|
||||
"Viesti joka lähetetään kun joku loi jaon käänteisen jakolinkin kanssa. {shareUrl} korvataan luojan nimellä ja jaon URL:lla.",
|
||||
"admin.config.email.reset-password-subject": "Nollaa salasanan aihe",
|
||||
"admin.config.email.reset-password-subject.description": "Sähköpostin aihe, joka lähetetään kun käyttäjä pyytää salasanan palauttamista.",
|
||||
"admin.config.email.reset-password-subject.description":
|
||||
"Sähköpostin aihe, joka lähetetään kun käyttäjä pyytää salasanan palauttamista.",
|
||||
"admin.config.email.reset-password-message": "Nollaa salasanan viesti",
|
||||
"admin.config.email.reset-password-message.description": "Viesti joka lähetetään kun käyttäjä pyytää salasanan nollausta. {url} korvataan nollaussalasanan URL-osoitteella.",
|
||||
"admin.config.email.reset-password-message.description":
|
||||
"Viesti joka lähetetään kun käyttäjä pyytää salasanan nollausta. {url} korvataan nollaussalasanan URL-osoitteella.",
|
||||
"admin.config.email.invite-subject": "Kutsun aihe",
|
||||
"admin.config.email.invite-subject.description": "Sähköpostin aihe, mikä lähetetään kun ylläpitäjä kutsuu käyttäjää.",
|
||||
"admin.config.email.invite-subject.description":
|
||||
"Sähköpostin aihe, mikä lähetetään kun ylläpitäjä kutsuu käyttäjää.",
|
||||
"admin.config.email.invite-message": "Kutsun viesti",
|
||||
"admin.config.email.invite-message.description": "Viesti mikä lähetetään kuin yp invaa käyttäjän. {url} korvataan kutsuosoitteella ja {password} salasanalla.",
|
||||
"admin.config.email.invite-message.description":
|
||||
"Viesti mikä lähetetään kuin yp invaa käyttäjän. {url} korvataan kutsuosoitteella ja {password} salasanalla.",
|
||||
"admin.config.share.allow-registration": "Salli rekisteröinti",
|
||||
"admin.config.share.allow-registration.description": "Onko rekisteröinti sallittu",
|
||||
"admin.config.share.allow-registration.description":
|
||||
"Onko rekisteröinti sallittu",
|
||||
"admin.config.share.allow-unauthenticated-shares": "Salli anonyymit jaot",
|
||||
"admin.config.share.allow-unauthenticated-shares.description": "Voiko tunnistamattomat käyttäjät luoda jakoja",
|
||||
"admin.config.share.allow-unauthenticated-shares.description":
|
||||
"Voiko tunnistamattomat käyttäjät luoda jakoja",
|
||||
"admin.config.share.max-size": "Maksimikoko",
|
||||
"admin.config.share.max-size.description": "Jaon enimmäiskoko tavuissa (bytes)",
|
||||
"admin.config.share.max-size.description":
|
||||
"Jaon enimmäiskoko tavuissa (bytes)",
|
||||
"admin.config.share.zip-compression-level": "Zip puristustaso",
|
||||
"admin.config.share.zip-compression-level.description": "Säädä tasoa tiedoston koon ja pakkausnopeuden välillä. Kelvolliset arvot vaihtelevat 0–9, 0 ei puristusta ja 9 on suurin puristusvoima. ",
|
||||
"admin.config.share.zip-compression-level.description":
|
||||
"Säädä tasoa tiedoston koon ja pakkausnopeuden välillä. Kelvolliset arvot vaihtelevat 0–9, 0 ei puristusta ja 9 on suurin puristusvoima. ",
|
||||
"admin.config.smtp.enabled": "Käytössä",
|
||||
"admin.config.smtp.enabled.description": "Onko SMTP käytössä. Aseta tämä todeksi vain, jos olet syöttänyt SMTP-palvelimen isäntän, portin, sähköpostin, käyttäjän ja salasanan.",
|
||||
"admin.config.smtp.enabled.description":
|
||||
"Onko SMTP käytössä. Aseta tämä todeksi vain, jos olet syöttänyt SMTP-palvelimen isäntän, portin, sähköpostin, käyttäjän ja salasanan.",
|
||||
"admin.config.smtp.host": "Isäntä",
|
||||
"admin.config.smtp.host.description": "SMTP palvelimen isäntä",
|
||||
"admin.config.smtp.port": "Portti",
|
||||
"admin.config.smtp.port.description": "SMTP palvelimen portti",
|
||||
"admin.config.smtp.email": "Sähköposti",
|
||||
"admin.config.smtp.email.description": "Sähköpostiosoite, josta sähköpostit on lähetetty",
|
||||
"admin.config.smtp.email.description":
|
||||
"Sähköpostiosoite, josta sähköpostit on lähetetty",
|
||||
"admin.config.smtp.username": "Käyttäjätunnus",
|
||||
"admin.config.smtp.username.description": "SMTP palvelimen käyttäjänimi",
|
||||
"admin.config.smtp.password": "Salasana",
|
||||
@ -319,5 +376,5 @@ export default {
|
||||
"common.error.too-long": "Täytyy olla enintään {length} merkkiä",
|
||||
"common.error.exact-length": "On oltava tarkasti {length} merkkiä pitkä",
|
||||
"common.error.invalid-number": "Pitää olla luku",
|
||||
"common.error.field-required": "Tämä kenttä on pakollinen"
|
||||
};
|
||||
"common.error.field-required": "Tämä kenttä on pakollinen",
|
||||
};
|
||||
|
@ -12,13 +12,17 @@ export default {
|
||||
// END navbar
|
||||
// /
|
||||
"home.title": "Une plateforme de partage de fichier <h>auto-hébergée</h>.",
|
||||
"home.description": "Voulez-vous vraiment remettre vos fichiers personnels dans les mains de tiers comme WeTransfer ?",
|
||||
"home.description":
|
||||
"Voulez-vous vraiment remettre vos fichiers personnels dans les mains de tiers comme WeTransfer ?",
|
||||
"home.bullet.a.name": "Auto-hébergé",
|
||||
"home.bullet.a.description": "Hébergez Pingvin Share sur votre propre machine.",
|
||||
"home.bullet.a.description":
|
||||
"Hébergez Pingvin Share sur votre propre machine.",
|
||||
"home.bullet.b.name": "Confidentialité",
|
||||
"home.bullet.b.description": "Vos fichiers sont vos fichiers et ne devraient jamais être mis entre les mains de tiers.",
|
||||
"home.bullet.b.description":
|
||||
"Vos fichiers sont vos fichiers et ne devraient jamais être mis entre les mains de tiers.",
|
||||
"home.bullet.c.name": "Aucune rébarbative limite de taille",
|
||||
"home.bullet.c.description": "Téléchargez des fichiers volumineux que vous le souhaitez. Seul votre disque dur est la limite.",
|
||||
"home.bullet.c.description":
|
||||
"Téléchargez des fichiers volumineux que vous le souhaitez. Seul votre disque dur est la limite.",
|
||||
"home.button.start": "Commencer",
|
||||
"home.button.source": "Code source",
|
||||
// END /
|
||||
@ -31,8 +35,10 @@ export default {
|
||||
"signin.input.password": "Mot de passe",
|
||||
"signin.input.password.placeholder": "Votre mot de passe",
|
||||
"signin.button.submit": "Se connecter",
|
||||
"signIn.notify.totp-required.title": "Une authentification à deux facteurs est requise",
|
||||
"signIn.notify.totp-required.description": "Veuillez entrer votre code d'authentification à deux facteurs",
|
||||
"signIn.notify.totp-required.title":
|
||||
"Une authentification à deux facteurs est requise",
|
||||
"signIn.notify.totp-required.description":
|
||||
"Veuillez entrer votre code d'authentification à deux facteurs",
|
||||
// END /auth/signin
|
||||
// /auth/signup
|
||||
"signup.title": "Créer un compte",
|
||||
@ -46,13 +52,16 @@ export default {
|
||||
// END /auth/signup
|
||||
// /auth/reset-password
|
||||
"resetPassword.title": "Mot de passe oublié ?",
|
||||
"resetPassword.description": "Saisissez votre email pour réinitialiser votre mot de passe.",
|
||||
"resetPassword.notify.success": "Un email a été envoyé avec un lien pour réinitialiser votre mot de passe.",
|
||||
"resetPassword.description":
|
||||
"Saisissez votre email pour réinitialiser votre mot de passe.",
|
||||
"resetPassword.notify.success":
|
||||
"Un email a été envoyé avec un lien pour réinitialiser votre mot de passe.",
|
||||
"resetPassword.button.back": "Retour à la page de connexion",
|
||||
"resetPassword.text.resetPassword": "Réinitialiser le mot de passe",
|
||||
"resetPassword.text.enterNewPassword": "Saisissez votre nouveau mot de passe",
|
||||
"resetPassword.input.password": "Nouveau mot de passe",
|
||||
"resetPassword.notify.passwordReset": "Votre mot de passe a bien été réinitialisé.",
|
||||
"resetPassword.notify.passwordReset":
|
||||
"Votre mot de passe a bien été réinitialisé.",
|
||||
// /account
|
||||
"account.title": "Mon compte",
|
||||
"account.card.info.title": "Détails du compte",
|
||||
@ -62,10 +71,13 @@ export default {
|
||||
"account.card.password.title": "Mot de passe",
|
||||
"account.card.password.old": "Ancien mot de passe",
|
||||
"account.card.password.new": "Nouveau mot de passe",
|
||||
"account.notify.password.success": "Le mot de passe a été modifié avec succès",
|
||||
"account.notify.password.success":
|
||||
"Le mot de passe a été modifié avec succès",
|
||||
"account.card.security.title": "Sécurité",
|
||||
"account.card.security.totp.enable.description": "Entrez votre mot de passe actuel pour commencer à activer TOTP",
|
||||
"account.card.security.totp.disable.description": "Entrez votre mot de passe pour désactiver TOTP",
|
||||
"account.card.security.totp.enable.description":
|
||||
"Entrez votre mot de passe actuel pour commencer à activer TOTP",
|
||||
"account.card.security.totp.disable.description":
|
||||
"Entrez votre mot de passe pour désactiver TOTP",
|
||||
"account.card.security.totp.button.start": "Commencer",
|
||||
"account.modal.totp.title": "Activer TOTP",
|
||||
"account.modal.totp.step1": "Étape 1 : Ajouter votre authentificateur",
|
||||
@ -77,7 +89,8 @@ export default {
|
||||
"account.notify.totp.disable": "TOTP désactivé",
|
||||
"account.notify.totp.enable": "TOTP activé",
|
||||
"account.card.language.title": "Langue",
|
||||
"account.card.language.description": "Le projet est traduit par la communauté. Certaines traductions peuvent être incomplètes.",
|
||||
"account.card.language.description":
|
||||
"Le projet est traduit par la communauté. Certaines traductions peuvent être incomplètes.",
|
||||
"account.card.color.title": "Thème de couleurs",
|
||||
// ThemeSwitcher.tsx
|
||||
"account.theme.dark": "Sombre",
|
||||
@ -85,7 +98,8 @@ export default {
|
||||
"account.theme.system": "Système",
|
||||
"account.button.delete": "Supprimer le compte",
|
||||
"account.modal.delete.title": "Supprimer le compte",
|
||||
"account.modal.delete.description": "Voulez-vous vraiment supprimer votre compte, y compris tous vos partages actifs ?",
|
||||
"account.modal.delete.description":
|
||||
"Voulez-vous vraiment supprimer votre compte, y compris tous vos partages actifs ?",
|
||||
// END /account
|
||||
// /account/shares
|
||||
"account.shares.title": "Mes partages",
|
||||
@ -103,13 +117,16 @@ export default {
|
||||
"account.shares.modal.share-informations": "Détails du partage",
|
||||
"account.shares.modal.share-link": "Lien de partage",
|
||||
"account.shares.modal.delete.title": "Supprimer le partage {share}",
|
||||
"account.shares.modal.delete.description": "Voulez-vous vraiment supprimer ce partage ?",
|
||||
"account.shares.modal.delete.description":
|
||||
"Voulez-vous vraiment supprimer ce partage ?",
|
||||
// END /account/shares
|
||||
// /account/reverseShares
|
||||
"account.reverseShares.title": "Partages inversés",
|
||||
"account.reverseShares.description": "Un partage inversé vous permet de générer une URL unique qui permet à des utilisateurs externes de créer un partage.",
|
||||
"account.reverseShares.description":
|
||||
"Un partage inversé vous permet de générer une URL unique qui permet à des utilisateurs externes de créer un partage.",
|
||||
"account.reverseShares.title.empty": "Il n'y a rien ici 👀",
|
||||
"account.reverseShares.description.empty": "Vous n'avez aucun partage inversé.",
|
||||
"account.reverseShares.description.empty":
|
||||
"Vous n'avez aucun partage inversé.",
|
||||
// showCreateReverseShareModal.tsx
|
||||
"account.reverseShares.modal.expiration.label": "Expiration",
|
||||
"account.reverseShares.modal.expiration.minute-singular": "Minute",
|
||||
@ -126,11 +143,14 @@ export default {
|
||||
"account.reverseShares.modal.expiration.year-plural": "Ans",
|
||||
"account.reverseShares.modal.max-size.label": "Taille maximale du partage",
|
||||
"account.reverseShares.modal.send-email": "Envoyer un email de notification",
|
||||
"account.reverseShares.modal.send-email.description": "Envoyer une notification par email lorsqu'un partage est créé depuis ce partage inversé.",
|
||||
"account.reverseShares.modal.send-email.description":
|
||||
"Envoyer une notification par email lorsqu'un partage est créé depuis ce partage inversé.",
|
||||
"account.reverseShares.modal.max-use.label": "Nombre d'utilisation max",
|
||||
"account.reverseShares.modal.max-use.description": "Le nombre maximal de fois que cette URL peut être utilisée pour créer un partage.",
|
||||
"account.reverseShares.modal.max-use.description":
|
||||
"Le nombre maximal de fois que cette URL peut être utilisée pour créer un partage.",
|
||||
"account.reverseShare.never-expires": "Ce partage inversé n'expirera jamais.",
|
||||
"account.reverseShare.expires-on": "Ce partage inversé expirera le {expiration}.",
|
||||
"account.reverseShare.expires-on":
|
||||
"Ce partage inversé expirera le {expiration}.",
|
||||
"account.reverseShares.table.no-shares": "Aucun partage créé pour le moment",
|
||||
"account.reverseShares.table.count.singular": "partage",
|
||||
"account.reverseShares.table.count.plural": "partages",
|
||||
@ -140,7 +160,8 @@ export default {
|
||||
"account.reverseShares.table.expires": "Expire dans",
|
||||
"account.reverseShares.modal.reverse-share-link": "Lien du partage inversé",
|
||||
"account.reverseShares.modal.delete.title": "Supprimer le partage inversé",
|
||||
"account.reverseShares.modal.delete.description": "Voulez-vous vraiment supprimer ce partage inversé ? Si vous le faites, les partages qu'il contient seront également supprimés.",
|
||||
"account.reverseShares.modal.delete.description":
|
||||
"Voulez-vous vraiment supprimer ce partage inversé ? Si vous le faites, les partages qu'il contient seront également supprimés.",
|
||||
// END /account/reverseShares
|
||||
// /admin
|
||||
"admin.title": "Administration",
|
||||
@ -157,37 +178,49 @@ export default {
|
||||
"admin.users.edit.update.admin-privileges": "Privilèges admin",
|
||||
"admin.users.edit.update.change-password.title": "Changer le mot de passe",
|
||||
"admin.users.edit.update.change-password.field": "Nouveau mot de passe",
|
||||
"admin.users.edit.update.change-password.button": "Enregistrer le nouveau mot de passe",
|
||||
"admin.users.edit.update.notify.password.success": "Le mot de passe a été modifié",
|
||||
"admin.users.edit.update.change-password.button":
|
||||
"Enregistrer le nouveau mot de passe",
|
||||
"admin.users.edit.update.notify.password.success":
|
||||
"Le mot de passe a été modifié",
|
||||
"admin.users.edit.delete.title": "Supprimer l'utilisateur {username}",
|
||||
"admin.users.edit.delete.description": "Voulez-vous vraiment supprimer cet utilisateur et toutes ses partages ?",
|
||||
"admin.users.edit.delete.description":
|
||||
"Voulez-vous vraiment supprimer cet utilisateur et toutes ses partages ?",
|
||||
// showCreateUserModal.tsx
|
||||
"admin.users.modal.create.title": "Créer un utilisateur",
|
||||
"admin.users.modal.create.username": "Surnom",
|
||||
"admin.users.modal.create.email": "Email",
|
||||
"admin.users.modal.create.password": "Mot de passe",
|
||||
"admin.users.modal.create.manual-password": "Définir le mot de passe manuellement",
|
||||
"admin.users.modal.create.manual-password.description": "S'il n'est pas coché, l'utilisateur recevra un email avec un lien pour définir son mot de passe.",
|
||||
"admin.users.modal.create.manual-password":
|
||||
"Définir le mot de passe manuellement",
|
||||
"admin.users.modal.create.manual-password.description":
|
||||
"S'il n'est pas coché, l'utilisateur recevra un email avec un lien pour définir son mot de passe.",
|
||||
"admin.users.modal.create.admin": "Privilèges admin",
|
||||
"admin.users.modal.create.admin.description": "Si coché, l'utilisateur pourra accéder au panneau d'administration.",
|
||||
"admin.users.modal.create.admin.description":
|
||||
"Si coché, l'utilisateur pourra accéder au panneau d'administration.",
|
||||
// END /admin/users
|
||||
// /upload
|
||||
"upload.title": "Envoyer",
|
||||
"upload.notify.generic-error": "Une erreur est survenue durant le traitement de votre partage.",
|
||||
"upload.notify.count-failed": "{count} fichier(s) n'a(ont) pas pu être envoyé(s). Veuillez réessayer.",
|
||||
"upload.notify.generic-error":
|
||||
"Une erreur est survenue durant le traitement de votre partage.",
|
||||
"upload.notify.count-failed":
|
||||
"{count} fichier(s) n'a(ont) pas pu être envoyé(s). Veuillez réessayer.",
|
||||
// Dropzone.tsx
|
||||
"upload.dropzone.title": "Téléverser des fichiers",
|
||||
"upload.dropzone.description": "Glissez-déposez des fichiers ici pour commencer votre partage. Ils ne peuvent avoir une taille supérieur à {maxSize} au total.",
|
||||
"upload.dropzone.notify.file-too-big": "Vos fichiers dépassent la taille maximale de {maxSize}.",
|
||||
"upload.dropzone.description":
|
||||
"Glissez-déposez des fichiers ici pour commencer votre partage. Ils ne peuvent avoir une taille supérieur à {maxSize} au total.",
|
||||
"upload.dropzone.notify.file-too-big":
|
||||
"Vos fichiers dépassent la taille maximale de {maxSize}.",
|
||||
// FileList.tsx
|
||||
"upload.filelist.name": "Nom",
|
||||
"upload.filelist.size": "Taille",
|
||||
// showCreateUploadModal.tsx
|
||||
"upload.modal.title": "Créer un partage",
|
||||
"upload.modal.link.error.invalid": "Ne peut contenir que des lettres, des chiffres, des tirets bas et des traits d'union",
|
||||
"upload.modal.link.error.invalid":
|
||||
"Ne peut contenir que des lettres, des chiffres, des tirets bas et des traits d'union",
|
||||
"upload.modal.link.error.taken": "Ce lien est déjà utilisé",
|
||||
"upload.modal.not-signed-in": "Vous n'êtes pas connecté",
|
||||
"upload.modal.not-signed-in-description": "Vous ne pourrez pas supprimer votre partage manuellement et afficher le nombre de visiteurs.",
|
||||
"upload.modal.not-signed-in-description":
|
||||
"Vous ne pourrez pas supprimer votre partage manuellement et afficher le nombre de visiteurs.",
|
||||
"upload.modal.expires.never": "jamais",
|
||||
"upload.modal.expires.never-long": "N'expire jamais",
|
||||
"upload.modal.link.label": "Lien",
|
||||
@ -205,12 +238,15 @@ export default {
|
||||
"upload.modal.expires.year-singular": "An",
|
||||
"upload.modal.expires.year-plural": "Ans",
|
||||
"upload.modal.accordion.description.title": "Description",
|
||||
"upload.modal.accordion.description.placeholder": "Note pour les destinataires de ce partage",
|
||||
"upload.modal.accordion.description.placeholder":
|
||||
"Note pour les destinataires de ce partage",
|
||||
"upload.modal.accordion.email.title": "Adresse courriel des destinataires",
|
||||
"upload.modal.accordion.email.placeholder": "Saisir les destinataires de ce partage",
|
||||
"upload.modal.accordion.email.placeholder":
|
||||
"Saisir les destinataires de ce partage",
|
||||
"upload.modal.accordion.email.invalid-email": "Adresse email invalide",
|
||||
"upload.modal.accordion.security.title": "Options de sécurité",
|
||||
"upload.modal.accordion.security.password.label": "Protection par mot de passe",
|
||||
"upload.modal.accordion.security.password.label":
|
||||
"Protection par mot de passe",
|
||||
"upload.modal.accordion.security.password.placeholder": "Aucun mot de passe",
|
||||
"upload.modal.accordion.security.max-views.label": "Nombre de vues maximum",
|
||||
"upload.modal.accordion.security.max-views.placeholder": "Aucune limite",
|
||||
@ -223,21 +259,26 @@ export default {
|
||||
"share.title": "Partage {shareId}",
|
||||
"share.description": "Regardez ce que j'ai partagé !",
|
||||
"share.error.visitor-limit-exceeded.title": "Limite de visiteurs dépassée",
|
||||
"share.error.visitor-limit-exceeded.description": "La limite de visiteurs de ce partage a été dépassée.",
|
||||
"share.error.visitor-limit-exceeded.description":
|
||||
"La limite de visiteurs de ce partage a été dépassée.",
|
||||
"share.error.removed.title": "Partage supprimé",
|
||||
"share.error.not-found.title": "Partage introuvable",
|
||||
"share.error.not-found.description": "Le partage que vous cherchez n'existe pas.",
|
||||
"share.error.not-found.description":
|
||||
"Le partage que vous cherchez n'existe pas.",
|
||||
"share.modal.password.title": "Mot de passe requis",
|
||||
"share.modal.password.description": "Pour accéder à ce partage, veuillez entrer le mot de passe du partage.",
|
||||
"share.modal.password.description":
|
||||
"Pour accéder à ce partage, veuillez entrer le mot de passe du partage.",
|
||||
"share.modal.password": "Mot de passe",
|
||||
"share.modal.error.invalid-password": "Mot de passe incorrect",
|
||||
"share.button.download-all": "Télécharger tout",
|
||||
"share.notify.download-all-preparing": "Le partage est en préparation. Réessayez dans quelques minutes.",
|
||||
"share.notify.download-all-preparing":
|
||||
"Le partage est en préparation. Réessayez dans quelques minutes.",
|
||||
"share.modal.file-link": "Lien du fichier",
|
||||
"share.table.name": "Nom",
|
||||
"share.table.size": "Taille",
|
||||
"share.modal.file-preview.error.not-supported.title": "Aperçu non supporté",
|
||||
"share.modal.file-preview.error.not-supported.description": "Un aperçu pour ce type de fichier n'est pas pris en charge. Veuillez télécharger le fichier pour le voir.",
|
||||
"share.modal.file-preview.error.not-supported.description":
|
||||
"Un aperçu pour ce type de fichier n'est pas pris en charge. Veuillez télécharger le fichier pour le voir.",
|
||||
// END /share/[id]
|
||||
// /admin/config
|
||||
"admin.config.title": "Paramètres",
|
||||
@ -248,46 +289,68 @@ export default {
|
||||
"admin.config.general.app-name": "Nom de l'appli",
|
||||
"admin.config.general.app-name.description": "Le nom de l'application",
|
||||
"admin.config.general.app-url": "URL de l’appli",
|
||||
"admin.config.general.app-url.description": "Depuis quel URL le partage Pingvin est disponible",
|
||||
"admin.config.general.app-url.description":
|
||||
"Depuis quel URL le partage Pingvin est disponible",
|
||||
"admin.config.general.show-home-page": "Afficher la page d'accueil",
|
||||
"admin.config.general.show-home-page.description": "Afficher ou non la page d'accueil",
|
||||
"admin.config.general.show-home-page.description":
|
||||
"Afficher ou non la page d'accueil",
|
||||
"admin.config.general.logo": "Logo",
|
||||
"admin.config.general.logo.description": "Changez de logo en envoyant une nouvelle image. L'image doit être au format PNG et doit avoir un ratio 1:1.",
|
||||
"admin.config.general.logo.description":
|
||||
"Changez de logo en envoyant une nouvelle image. L'image doit être au format PNG et doit avoir un ratio 1:1.",
|
||||
"admin.config.general.logo.placeholder": "Sélectionner une image",
|
||||
"admin.config.email.enable-share-email-recipients": "Autoriser le partage par courriel",
|
||||
"admin.config.email.enable-share-email-recipients.description": "Permet d'envoyer le lien du partage par courriel. N'activez cette option que si vous avez activé SMTP.",
|
||||
"admin.config.email.enable-share-email-recipients":
|
||||
"Autoriser le partage par courriel",
|
||||
"admin.config.email.enable-share-email-recipients.description":
|
||||
"Permet d'envoyer le lien du partage par courriel. N'activez cette option que si vous avez activé SMTP.",
|
||||
"admin.config.email.share-recipients-subject": "Sujet d'un partage",
|
||||
"admin.config.email.share-recipients-subject.description": "Intitulé du courriel envoyé aux destinataires d'un partage.",
|
||||
"admin.config.email.share-recipients-subject.description":
|
||||
"Intitulé du courriel envoyé aux destinataires d'un partage.",
|
||||
"admin.config.email.share-recipients-message": "Message d'un partage",
|
||||
"admin.config.email.share-recipients-message.description": "Contenu du courriel qui est envoyé aux destinataires du partage. Variables possibles :\n• {creator} : Le pseudo de l'auteur du partage\n• {shareUrl} : L'URL du partage\n• {desc} : La description du partage\n• {expires} : La date d'expiration du partage\nLes variables seront remplacées par leur valeur réelle.",
|
||||
"admin.config.email.share-recipients-message.description":
|
||||
"Contenu du courriel qui est envoyé aux destinataires du partage. Variables possibles :\n• {creator} : Le pseudo de l'auteur du partage\n• {shareUrl} : L'URL du partage\n• {desc} : La description du partage\n• {expires} : La date d'expiration du partage\nLes variables seront remplacées par leur valeur réelle.",
|
||||
"admin.config.email.reverse-share-subject": "Sujet d'un partage inversé",
|
||||
"admin.config.email.reverse-share-subject.description": "Intitulé du courriel envoyé lorsque quelqu'un a partagé des fichiers depuis votre partage inversé.",
|
||||
"admin.config.email.reverse-share-subject.description":
|
||||
"Intitulé du courriel envoyé lorsque quelqu'un a partagé des fichiers depuis votre partage inversé.",
|
||||
"admin.config.email.reverse-share-message": "Message du partage inversé",
|
||||
"admin.config.email.reverse-share-message.description": "Contenu du courriel envoyé lorsque quelqu'un partage des fichiers depuis votre partage inversé. {shareUrl} sera remplacé par le nom du créateur et l'URL de partage.",
|
||||
"admin.config.email.reset-password-subject": "Sujet d'une réinitialisation du mot de passe",
|
||||
"admin.config.email.reset-password-subject.description": "Intitulé du courriel envoyé lorsqu'un utilisateur demande une réinitialisation de son mot de passe.",
|
||||
"admin.config.email.reset-password-message": "Message de réinitialisation du mot de passe",
|
||||
"admin.config.email.reset-password-message.description": "Contenu du courriel envoyé lorsqu'un utilisateur demande à réinitialiser son mot de passe. {url} sera remplacé par l'URL de réinitialisation du mot de passe.",
|
||||
"admin.config.email.reverse-share-message.description":
|
||||
"Contenu du courriel envoyé lorsque quelqu'un partage des fichiers depuis votre partage inversé. {shareUrl} sera remplacé par le nom du créateur et l'URL de partage.",
|
||||
"admin.config.email.reset-password-subject":
|
||||
"Sujet d'une réinitialisation du mot de passe",
|
||||
"admin.config.email.reset-password-subject.description":
|
||||
"Intitulé du courriel envoyé lorsqu'un utilisateur demande une réinitialisation de son mot de passe.",
|
||||
"admin.config.email.reset-password-message":
|
||||
"Message de réinitialisation du mot de passe",
|
||||
"admin.config.email.reset-password-message.description":
|
||||
"Contenu du courriel envoyé lorsqu'un utilisateur demande à réinitialiser son mot de passe. {url} sera remplacé par l'URL de réinitialisation du mot de passe.",
|
||||
"admin.config.email.invite-subject": "Sujet d'une invitation",
|
||||
"admin.config.email.invite-subject.description": "Intitulé du courriel envoyé lorsqu'un administrateur invite un utilisateur.",
|
||||
"admin.config.email.invite-subject.description":
|
||||
"Intitulé du courriel envoyé lorsqu'un administrateur invite un utilisateur.",
|
||||
"admin.config.email.invite-message": "Message de l'invitation",
|
||||
"admin.config.email.invite-message.description": "Contenu du courriel envoyé lorsqu'un administrateur invite un utilisateur. {url} sera remplacé par l'URL d'invitation et {password} par le mot de passe.",
|
||||
"admin.config.email.invite-message.description":
|
||||
"Contenu du courriel envoyé lorsqu'un administrateur invite un utilisateur. {url} sera remplacé par l'URL d'invitation et {password} par le mot de passe.",
|
||||
"admin.config.share.allow-registration": "Autoriser les inscriptions",
|
||||
"admin.config.share.allow-registration.description": "Permet aux visiteurs de créer un compte.",
|
||||
"admin.config.share.allow-unauthenticated-shares": "Autoriser les partages anonymes",
|
||||
"admin.config.share.allow-unauthenticated-shares.description": "Autorise des utilisateurs non authentifiés à créer des partages",
|
||||
"admin.config.share.allow-registration.description":
|
||||
"Permet aux visiteurs de créer un compte.",
|
||||
"admin.config.share.allow-unauthenticated-shares":
|
||||
"Autoriser les partages anonymes",
|
||||
"admin.config.share.allow-unauthenticated-shares.description":
|
||||
"Autorise des utilisateurs non authentifiés à créer des partages",
|
||||
"admin.config.share.max-size": "Taille max",
|
||||
"admin.config.share.max-size.description": "Taille maximale du partage en octets",
|
||||
"admin.config.share.max-size.description":
|
||||
"Taille maximale du partage en octets",
|
||||
"admin.config.share.zip-compression-level": "Niveau de compression",
|
||||
"admin.config.share.zip-compression-level.description": "Ajustez le niveau pour trouver l'équilibre entre la taille du fichier et la vitesse de compression. Les valeurs valides vont de 0 à 9, 0 étant sans compression et 9 étant la compression maximale. ",
|
||||
"admin.config.share.zip-compression-level.description":
|
||||
"Ajustez le niveau pour trouver l'équilibre entre la taille du fichier et la vitesse de compression. Les valeurs valides vont de 0 à 9, 0 étant sans compression et 9 étant la compression maximale. ",
|
||||
"admin.config.smtp.enabled": "Activer",
|
||||
"admin.config.smtp.enabled.description": "Active SMTP. Activez ceci uniquement si vous avez saisi l'hôte, le port, le courriel, l'utilisateur et le mot de passe de votre serveur SMTP.",
|
||||
"admin.config.smtp.enabled.description":
|
||||
"Active SMTP. Activez ceci uniquement si vous avez saisi l'hôte, le port, le courriel, l'utilisateur et le mot de passe de votre serveur SMTP.",
|
||||
"admin.config.smtp.host": "Hôte",
|
||||
"admin.config.smtp.host.description": "Nom du serveur SMTP",
|
||||
"admin.config.smtp.port": "Port",
|
||||
"admin.config.smtp.port.description": "Port du serveur SMTP",
|
||||
"admin.config.smtp.email": "Adresse email",
|
||||
"admin.config.smtp.email.description": "Adresse à partir de laquelle les emails sont envoyés",
|
||||
"admin.config.smtp.email.description":
|
||||
"Adresse à partir de laquelle les emails sont envoyés",
|
||||
"admin.config.smtp.username": "Nom d'utilisateur",
|
||||
"admin.config.smtp.username.description": "Nom d'utilisateur du serveur SMTP",
|
||||
"admin.config.smtp.password": "Mot de passe",
|
||||
@ -319,5 +382,5 @@ export default {
|
||||
"common.error.too-long": "Doit comporter au plus {length} caractères",
|
||||
"common.error.exact-length": "Doit comporter exactement {length} caractères",
|
||||
"common.error.invalid-number": "Doit être un nombre",
|
||||
"common.error.field-required": "Ce champ est obligatoire"
|
||||
};
|
||||
"common.error.field-required": "Ce champ est obligatoire",
|
||||
};
|
||||
|
@ -11,14 +11,19 @@ export default {
|
||||
"navbar.avatar.signout": "Terminar sessão",
|
||||
// END navbar
|
||||
// /
|
||||
"home.title": "Uma plataforma de compartilhamento de arquivos <h>auto-hospedada</h>.",
|
||||
"home.description": "Deseja realmente dar os seus arquivos pessoais na mão de terceiros como o WeTransfer?",
|
||||
"home.title":
|
||||
"Uma plataforma de compartilhamento de arquivos <h>auto-hospedada</h>.",
|
||||
"home.description":
|
||||
"Deseja realmente dar os seus arquivos pessoais na mão de terceiros como o WeTransfer?",
|
||||
"home.bullet.a.name": "Auto-Hospedado",
|
||||
"home.bullet.a.description": "Hospede o Pingvin Share em sua própria máquina.",
|
||||
"home.bullet.a.description":
|
||||
"Hospede o Pingvin Share em sua própria máquina.",
|
||||
"home.bullet.b.name": "Privacidade",
|
||||
"home.bullet.b.description": "Seus arquivos são seus arquivos e nunca devem cair nas mãos de terceiros.",
|
||||
"home.bullet.b.description":
|
||||
"Seus arquivos são seus arquivos e nunca devem cair nas mãos de terceiros.",
|
||||
"home.bullet.c.name": "Sem limite de tamanho de arquivo irritante",
|
||||
"home.bullet.c.description": "Carregue os arquivos grandes que desejar. Apenas o seu disco rígido será o seu limite.",
|
||||
"home.bullet.c.description":
|
||||
"Carregue os arquivos grandes que desejar. Apenas o seu disco rígido será o seu limite.",
|
||||
"home.button.start": "Começar",
|
||||
"home.button.source": "Código-fonte",
|
||||
// END /
|
||||
@ -31,8 +36,10 @@ export default {
|
||||
"signin.input.password": "Senha",
|
||||
"signin.input.password.placeholder": "A sua senha",
|
||||
"signin.button.submit": "Iniciar sessão",
|
||||
"signIn.notify.totp-required.title": "Autenticação de dois fatores necessária",
|
||||
"signIn.notify.totp-required.description": "Insira seu código de autenticação de dois fatores",
|
||||
"signIn.notify.totp-required.title":
|
||||
"Autenticação de dois fatores necessária",
|
||||
"signIn.notify.totp-required.description":
|
||||
"Insira seu código de autenticação de dois fatores",
|
||||
// END /auth/signin
|
||||
// /auth/signup
|
||||
"signup.title": "Criar uma conta",
|
||||
@ -46,13 +53,16 @@ export default {
|
||||
// END /auth/signup
|
||||
// /auth/reset-password
|
||||
"resetPassword.title": "Esqueceu a sua senha?",
|
||||
"resetPassword.description": "Insira o seu e-mail para redefinir a sua senha.",
|
||||
"resetPassword.notify.success": "Um e-mail foi enviado com um link para redefinir a sua senha.",
|
||||
"resetPassword.description":
|
||||
"Insira o seu e-mail para redefinir a sua senha.",
|
||||
"resetPassword.notify.success":
|
||||
"Um e-mail foi enviado com um link para redefinir a sua senha.",
|
||||
"resetPassword.button.back": "Voltar para a página inicial",
|
||||
"resetPassword.text.resetPassword": "Redefinir senha",
|
||||
"resetPassword.text.enterNewPassword": "Digite uma nova senha",
|
||||
"resetPassword.input.password": "Nova senha",
|
||||
"resetPassword.notify.passwordReset": "A sua senha foi redefinida com sucesso.",
|
||||
"resetPassword.notify.passwordReset":
|
||||
"A sua senha foi redefinida com sucesso.",
|
||||
// /account
|
||||
"account.title": "A minha conta",
|
||||
"account.card.info.title": "Informação sobre a conta",
|
||||
@ -64,8 +74,10 @@ export default {
|
||||
"account.card.password.new": "Nova senha",
|
||||
"account.notify.password.success": "Senha alterada com sucesso",
|
||||
"account.card.security.title": "Segurança",
|
||||
"account.card.security.totp.enable.description": "Digite a sua senha atual para começar a habilitar o TOTP",
|
||||
"account.card.security.totp.disable.description": "Digite a sua senha atual para desabilitar o TOTP",
|
||||
"account.card.security.totp.enable.description":
|
||||
"Digite a sua senha atual para começar a habilitar o TOTP",
|
||||
"account.card.security.totp.disable.description":
|
||||
"Digite a sua senha atual para desabilitar o TOTP",
|
||||
"account.card.security.totp.button.start": "Iniciar",
|
||||
"account.modal.totp.title": "Habilitar TOTP",
|
||||
"account.modal.totp.step1": "Passo 1: Adicionar o seu autenticador",
|
||||
@ -77,7 +89,8 @@ export default {
|
||||
"account.notify.totp.disable": "TOTP desabilitado com sucesso",
|
||||
"account.notify.totp.enable": "TOTP habilitado com sucesso",
|
||||
"account.card.language.title": "Idioma",
|
||||
"account.card.language.description": "O projeto é traduzido pela comunidade. Alguns idiomas podem estar incompletos.",
|
||||
"account.card.language.description":
|
||||
"O projeto é traduzido pela comunidade. Alguns idiomas podem estar incompletos.",
|
||||
"account.card.color.title": "Esquema de cores",
|
||||
// ThemeSwitcher.tsx
|
||||
"account.theme.dark": "Escuro",
|
||||
@ -85,7 +98,8 @@ export default {
|
||||
"account.theme.system": "Sistema",
|
||||
"account.button.delete": "Excluir conta",
|
||||
"account.modal.delete.title": "Excluir conta",
|
||||
"account.modal.delete.description": "Você realmente deseja excluir a sua conta, incluindo todos os seus compartilhamentos ativos?",
|
||||
"account.modal.delete.description":
|
||||
"Você realmente deseja excluir a sua conta, incluindo todos os seus compartilhamentos ativos?",
|
||||
// END /account
|
||||
// /account/shares
|
||||
"account.shares.title": "Meus compartilhamentos",
|
||||
@ -103,13 +117,16 @@ export default {
|
||||
"account.shares.modal.share-informations": "Informações do compartilhamento",
|
||||
"account.shares.modal.share-link": "Link do compartilhamento",
|
||||
"account.shares.modal.delete.title": "Excluir o compartilhamento {share}",
|
||||
"account.shares.modal.delete.description": "Tem certeza que deseja excluir este compartilhamento?",
|
||||
"account.shares.modal.delete.description":
|
||||
"Tem certeza que deseja excluir este compartilhamento?",
|
||||
// END /account/shares
|
||||
// /account/reverseShares
|
||||
"account.reverseShares.title": "Compartilhamentos reversos",
|
||||
"account.reverseShares.description": "Um compartilhamento reverso permite gerar uma URL única que autoriza usuários externos criarem um compartilhamento.",
|
||||
"account.reverseShares.description":
|
||||
"Um compartilhamento reverso permite gerar uma URL única que autoriza usuários externos criarem um compartilhamento.",
|
||||
"account.reverseShares.title.empty": "Está vazio aqui 👀",
|
||||
"account.reverseShares.description.empty": "Você não tem nenhum compartilhamento reverso.",
|
||||
"account.reverseShares.description.empty":
|
||||
"Você não tem nenhum compartilhamento reverso.",
|
||||
// showCreateReverseShareModal.tsx
|
||||
"account.reverseShares.modal.expiration.label": "Expiração",
|
||||
"account.reverseShares.modal.expiration.minute-singular": "Minuto",
|
||||
@ -124,23 +141,32 @@ export default {
|
||||
"account.reverseShares.modal.expiration.month-plural": "Meses",
|
||||
"account.reverseShares.modal.expiration.year-singular": "Ano",
|
||||
"account.reverseShares.modal.expiration.year-plural": "Anos",
|
||||
"account.reverseShares.modal.max-size.label": "Tamanho máximo do compartilhamento",
|
||||
"account.reverseShares.modal.max-size.label":
|
||||
"Tamanho máximo do compartilhamento",
|
||||
"account.reverseShares.modal.send-email": "Enviar notificação por e-mail",
|
||||
"account.reverseShares.modal.send-email.description": "Enviar uma notificação por e-mail quando um compartilhamento for criado com este link reverso.",
|
||||
"account.reverseShares.modal.send-email.description":
|
||||
"Enviar uma notificação por e-mail quando um compartilhamento for criado com este link reverso.",
|
||||
"account.reverseShares.modal.max-use.label": "Limite de uso",
|
||||
"account.reverseShares.modal.max-use.description": "A quantidade máxima de vezes que esta URL pode ser usada para criar um compartilhamento.",
|
||||
"account.reverseShare.never-expires": "Este compartilhamento reverso nunca irá expirar.",
|
||||
"account.reverseShare.expires-on": "Este compartilhamento reverso irá expirar em {expiration}.",
|
||||
"account.reverseShares.table.no-shares": "Nenhum compartilhamento criado ainda",
|
||||
"account.reverseShares.modal.max-use.description":
|
||||
"A quantidade máxima de vezes que esta URL pode ser usada para criar um compartilhamento.",
|
||||
"account.reverseShare.never-expires":
|
||||
"Este compartilhamento reverso nunca irá expirar.",
|
||||
"account.reverseShare.expires-on":
|
||||
"Este compartilhamento reverso irá expirar em {expiration}.",
|
||||
"account.reverseShares.table.no-shares":
|
||||
"Nenhum compartilhamento criado ainda",
|
||||
"account.reverseShares.table.count.singular": "compartilhar",
|
||||
"account.reverseShares.table.count.plural": "compartilhamentos",
|
||||
"account.reverseShares.table.shares": "Compartilhamentos",
|
||||
"account.reverseShares.table.remaining": "Usos restantes",
|
||||
"account.reverseShares.table.max-size": "Tamanho máximo do compartilhamento",
|
||||
"account.reverseShares.table.expires": "Expira em",
|
||||
"account.reverseShares.modal.reverse-share-link": "Link do compartilhamento reverso",
|
||||
"account.reverseShares.modal.delete.title": "Excluir o compartilhamento reverso",
|
||||
"account.reverseShares.modal.delete.description": "Você realmente deseja excluir este compartilhamento reverso? Se você o fizer, os compartilhamentos associados também serão excluídos.",
|
||||
"account.reverseShares.modal.reverse-share-link":
|
||||
"Link do compartilhamento reverso",
|
||||
"account.reverseShares.modal.delete.title":
|
||||
"Excluir o compartilhamento reverso",
|
||||
"account.reverseShares.modal.delete.description":
|
||||
"Você realmente deseja excluir este compartilhamento reverso? Se você o fizer, os compartilhamentos associados também serão excluídos.",
|
||||
// END /account/reverseShares
|
||||
// /admin
|
||||
"admin.title": "Administração",
|
||||
@ -158,36 +184,46 @@ export default {
|
||||
"admin.users.edit.update.change-password.title": "Alterar senha",
|
||||
"admin.users.edit.update.change-password.field": "Nova senha",
|
||||
"admin.users.edit.update.change-password.button": "Salvar nova senha",
|
||||
"admin.users.edit.update.notify.password.success": "Senha alterada com sucesso",
|
||||
"admin.users.edit.update.notify.password.success":
|
||||
"Senha alterada com sucesso",
|
||||
"admin.users.edit.delete.title": "Excluir usuário {username}",
|
||||
"admin.users.edit.delete.description": "Você realmente quer excluir este usuário e todos os seus compartilhamentos?",
|
||||
"admin.users.edit.delete.description":
|
||||
"Você realmente quer excluir este usuário e todos os seus compartilhamentos?",
|
||||
// showCreateUserModal.tsx
|
||||
"admin.users.modal.create.title": "Criar usuário",
|
||||
"admin.users.modal.create.username": "Nome de usuário",
|
||||
"admin.users.modal.create.email": "E-mail",
|
||||
"admin.users.modal.create.password": "Senha",
|
||||
"admin.users.modal.create.manual-password": "Definir senha manualmente",
|
||||
"admin.users.modal.create.manual-password.description": "Se não estiver marcado, o usuário receberá um e-mail com um link para definir sua senha.",
|
||||
"admin.users.modal.create.manual-password.description":
|
||||
"Se não estiver marcado, o usuário receberá um e-mail com um link para definir sua senha.",
|
||||
"admin.users.modal.create.admin": "Privilégios de administrador",
|
||||
"admin.users.modal.create.admin.description": "Se marcado, o usuário poderá acessar o painel de administração.",
|
||||
"admin.users.modal.create.admin.description":
|
||||
"Se marcado, o usuário poderá acessar o painel de administração.",
|
||||
// END /admin/users
|
||||
// /upload
|
||||
"upload.title": "Carregar",
|
||||
"upload.notify.generic-error": "Ocorreu um erro ao terminar seu compartilhamento.",
|
||||
"upload.notify.count-failed": "Falha ao enviar {count} arquivos. Tentando novamente.",
|
||||
"upload.notify.generic-error":
|
||||
"Ocorreu um erro ao terminar seu compartilhamento.",
|
||||
"upload.notify.count-failed":
|
||||
"Falha ao enviar {count} arquivos. Tentando novamente.",
|
||||
// Dropzone.tsx
|
||||
"upload.dropzone.title": "Carregar arquivos",
|
||||
"upload.dropzone.description": "Arraste os arquivos aqui para iniciar o seu compartilhamento. Podemos aceitar apenas arquivos que são menores que {maxSize} no total.",
|
||||
"upload.dropzone.notify.file-too-big": "Seus arquivos excedem o tamanho máximo do compartilhamento {maxSize}.",
|
||||
"upload.dropzone.description":
|
||||
"Arraste os arquivos aqui para iniciar o seu compartilhamento. Podemos aceitar apenas arquivos que são menores que {maxSize} no total.",
|
||||
"upload.dropzone.notify.file-too-big":
|
||||
"Seus arquivos excedem o tamanho máximo do compartilhamento {maxSize}.",
|
||||
// FileList.tsx
|
||||
"upload.filelist.name": "Nome",
|
||||
"upload.filelist.size": "Tamanho",
|
||||
// showCreateUploadModal.tsx
|
||||
"upload.modal.title": "Criar Compartilhamento",
|
||||
"upload.modal.link.error.invalid": "Pode conter apenas letras, números, sublinhados e hífens",
|
||||
"upload.modal.link.error.invalid":
|
||||
"Pode conter apenas letras, números, sublinhados e hífens",
|
||||
"upload.modal.link.error.taken": "Este link já está em uso",
|
||||
"upload.modal.not-signed-in": "Você não está conectado",
|
||||
"upload.modal.not-signed-in-description": "Você não poderá excluir seu compartilhamento manualmente e visualizar a contagem de visitantes.",
|
||||
"upload.modal.not-signed-in-description":
|
||||
"Você não poderá excluir seu compartilhamento manualmente e visualizar a contagem de visitantes.",
|
||||
"upload.modal.expires.never": "nunca",
|
||||
"upload.modal.expires.never-long": "Nunca expira",
|
||||
"upload.modal.link.label": "Link",
|
||||
@ -205,9 +241,11 @@ export default {
|
||||
"upload.modal.expires.year-singular": "Ano",
|
||||
"upload.modal.expires.year-plural": "Anos",
|
||||
"upload.modal.accordion.description.title": "Descrição",
|
||||
"upload.modal.accordion.description.placeholder": "Nota para os destinatários deste compartilhamento",
|
||||
"upload.modal.accordion.description.placeholder":
|
||||
"Nota para os destinatários deste compartilhamento",
|
||||
"upload.modal.accordion.email.title": "Destinatários de e-mail",
|
||||
"upload.modal.accordion.email.placeholder": "Insira os destinatários do e-mail",
|
||||
"upload.modal.accordion.email.placeholder":
|
||||
"Insira os destinatários do e-mail",
|
||||
"upload.modal.accordion.email.invalid-email": "Endereço de e-mail inválido",
|
||||
"upload.modal.accordion.security.title": "Opções de segurança",
|
||||
"upload.modal.accordion.security.password.label": "Protecção por senha",
|
||||
@ -215,29 +253,37 @@ export default {
|
||||
"upload.modal.accordion.security.max-views.label": "Máximo de visualizações",
|
||||
"upload.modal.accordion.security.max-views.placeholder": "Sem limite",
|
||||
// showCompletedUploadModal.tsx
|
||||
"upload.modal.completed.never-expires": "Este compartilhamento reverso nunca irá expirar.",
|
||||
"upload.modal.completed.expires-on": "Este compartilhamento reverso irá expirar em {expiration}.",
|
||||
"upload.modal.completed.never-expires":
|
||||
"Este compartilhamento reverso nunca irá expirar.",
|
||||
"upload.modal.completed.expires-on":
|
||||
"Este compartilhamento reverso irá expirar em {expiration}.",
|
||||
"upload.modal.completed.share-ready": "Compartilhamento pronto",
|
||||
// END /upload
|
||||
// /share/[id]
|
||||
"share.title": "Compartilhar {shareId}",
|
||||
"share.description": "Veja o que eu compartilhei com você!",
|
||||
"share.error.visitor-limit-exceeded.title": "Limite de visitantes excedido",
|
||||
"share.error.visitor-limit-exceeded.description": "O limite de visitantes deste compartilhamento foi excedido.",
|
||||
"share.error.visitor-limit-exceeded.description":
|
||||
"O limite de visitantes deste compartilhamento foi excedido.",
|
||||
"share.error.removed.title": "Compartilhamento removido",
|
||||
"share.error.not-found.title": "Compartilhamento não encontrado",
|
||||
"share.error.not-found.description": "O compartilhamento que você procura não existe.",
|
||||
"share.error.not-found.description":
|
||||
"O compartilhamento que você procura não existe.",
|
||||
"share.modal.password.title": "Senha necessária",
|
||||
"share.modal.password.description": "Para acessar este compartilhamento, por favor digite a senha para o compartilhamento.",
|
||||
"share.modal.password.description":
|
||||
"Para acessar este compartilhamento, por favor digite a senha para o compartilhamento.",
|
||||
"share.modal.password": "Senha",
|
||||
"share.modal.error.invalid-password": "Senha inválida",
|
||||
"share.button.download-all": "Transferir tudo",
|
||||
"share.notify.download-all-preparing": "O compartilhamento está sendo preparado. Tente novamente em alguns minutos.",
|
||||
"share.notify.download-all-preparing":
|
||||
"O compartilhamento está sendo preparado. Tente novamente em alguns minutos.",
|
||||
"share.modal.file-link": "Link do arquivo",
|
||||
"share.table.name": "Nome",
|
||||
"share.table.size": "Tamanho",
|
||||
"share.modal.file-preview.error.not-supported.title": "Visualização não suportada",
|
||||
"share.modal.file-preview.error.not-supported.description": "Uma visualização para este tipo de arquivo não é suportada. Faça o download do arquivo para visualizá-lo.",
|
||||
"share.modal.file-preview.error.not-supported.title":
|
||||
"Visualização não suportada",
|
||||
"share.modal.file-preview.error.not-supported.description":
|
||||
"Uma visualização para este tipo de arquivo não é suportada. Faça o download do arquivo para visualizá-lo.",
|
||||
// END /share/[id]
|
||||
// /admin/config
|
||||
"admin.config.title": "Configuração",
|
||||
@ -248,46 +294,71 @@ export default {
|
||||
"admin.config.general.app-name": "Nome da aplicação",
|
||||
"admin.config.general.app-name.description": "Nome da aplicação",
|
||||
"admin.config.general.app-url": "URL do Aplicativo",
|
||||
"admin.config.general.app-url.description": "Em qual URL o Pingvin Share está disponível",
|
||||
"admin.config.general.app-url.description":
|
||||
"Em qual URL o Pingvin Share está disponível",
|
||||
"admin.config.general.show-home-page": "Mostrar a página inicial",
|
||||
"admin.config.general.show-home-page.description": "Mostrar ou não a página inicial",
|
||||
"admin.config.general.show-home-page.description":
|
||||
"Mostrar ou não a página inicial",
|
||||
"admin.config.general.logo": "Logo",
|
||||
"admin.config.general.logo.description": "Alterar o seu logo carregando uma nova imagem. A imagem deve ser PNG e deve ter o formato 1:1.",
|
||||
"admin.config.general.logo.description":
|
||||
"Alterar o seu logo carregando uma nova imagem. A imagem deve ser PNG e deve ter o formato 1:1.",
|
||||
"admin.config.general.logo.placeholder": "Escolhe uma imagem",
|
||||
"admin.config.email.enable-share-email-recipients": "Ativar compartilhamento de e-mails destinatários",
|
||||
"admin.config.email.enable-share-email-recipients.description": "Se quiser permitir que e-mails compartilhem destinatários. Apenas habilite isso se você tiver ativado o SMTP.",
|
||||
"admin.config.email.share-recipients-subject": "Assunto dos destinatários do compartilhamento",
|
||||
"admin.config.email.share-recipients-subject.description": "Assunto do e-mail enviado para os destinatários do compartilhamento.",
|
||||
"admin.config.email.share-recipients-message": "Assunto dos destinatários do compartilhamento",
|
||||
"admin.config.email.share-recipients-message.description": "Mensagem que é enviada aos destinatários do compartilhamento. Variáveis disponíveis:\n {creator} - O nome de usuário do criador do compartilhamento\n {shareUrl} - O URL do compartilhamento\n {desc} - A descrição do compartilhamento\n {expires} - A data de expiração do compartilhamento\n As variáveis serão substituídas pelo valor real.",
|
||||
"admin.config.email.reverse-share-subject": "Assunto do compartilhamento reverso",
|
||||
"admin.config.email.reverse-share-subject.description": "Assunto do e-mail enviado quando alguém criou um compartilhamento com o seu link reverso.",
|
||||
"admin.config.email.reverse-share-message": "Mensagem do compartilhamento reverso",
|
||||
"admin.config.email.reverse-share-message.description": "Mensagem enviada quando alguém criou um compartilhamento com o link reverso. {shareUrl} será substituído pelo nome do criador e pela URL de compartilhamento.",
|
||||
"admin.config.email.enable-share-email-recipients":
|
||||
"Ativar compartilhamento de e-mails destinatários",
|
||||
"admin.config.email.enable-share-email-recipients.description":
|
||||
"Se quiser permitir que e-mails compartilhem destinatários. Apenas habilite isso se você tiver ativado o SMTP.",
|
||||
"admin.config.email.share-recipients-subject":
|
||||
"Assunto dos destinatários do compartilhamento",
|
||||
"admin.config.email.share-recipients-subject.description":
|
||||
"Assunto do e-mail enviado para os destinatários do compartilhamento.",
|
||||
"admin.config.email.share-recipients-message":
|
||||
"Assunto dos destinatários do compartilhamento",
|
||||
"admin.config.email.share-recipients-message.description":
|
||||
"Mensagem que é enviada aos destinatários do compartilhamento. Variáveis disponíveis:\n {creator} - O nome de usuário do criador do compartilhamento\n {shareUrl} - O URL do compartilhamento\n {desc} - A descrição do compartilhamento\n {expires} - A data de expiração do compartilhamento\n As variáveis serão substituídas pelo valor real.",
|
||||
"admin.config.email.reverse-share-subject":
|
||||
"Assunto do compartilhamento reverso",
|
||||
"admin.config.email.reverse-share-subject.description":
|
||||
"Assunto do e-mail enviado quando alguém criou um compartilhamento com o seu link reverso.",
|
||||
"admin.config.email.reverse-share-message":
|
||||
"Mensagem do compartilhamento reverso",
|
||||
"admin.config.email.reverse-share-message.description":
|
||||
"Mensagem enviada quando alguém criou um compartilhamento com o link reverso. {shareUrl} será substituído pelo nome do criador e pela URL de compartilhamento.",
|
||||
"admin.config.email.reset-password-subject": "Redefinir assunto da senha",
|
||||
"admin.config.email.reset-password-subject.description": "Assunto do e-mail enviado quando um usuário solicita uma redefinição de senha.",
|
||||
"admin.config.email.reset-password-message": "Mensagem de redefinição de senha",
|
||||
"admin.config.email.reset-password-message.description": "Mensagem enviada quando um usuário solicita uma redefinição de senha. {url} será substituído pela URL de redefinição de senha.",
|
||||
"admin.config.email.reset-password-subject.description":
|
||||
"Assunto do e-mail enviado quando um usuário solicita uma redefinição de senha.",
|
||||
"admin.config.email.reset-password-message":
|
||||
"Mensagem de redefinição de senha",
|
||||
"admin.config.email.reset-password-message.description":
|
||||
"Mensagem enviada quando um usuário solicita uma redefinição de senha. {url} será substituído pela URL de redefinição de senha.",
|
||||
"admin.config.email.invite-subject": "Assunto do convite",
|
||||
"admin.config.email.invite-subject.description": "Assunto do e-mail enviado quando um administrador convida um usuário.",
|
||||
"admin.config.email.invite-subject.description":
|
||||
"Assunto do e-mail enviado quando um administrador convida um usuário.",
|
||||
"admin.config.email.invite-message": "Mensagem de convite",
|
||||
"admin.config.email.invite-message.description": "Mensagem enviada quando um administrador convida um usuário. {url} será substituído pelo URL de convite e {password} pela senha.",
|
||||
"admin.config.email.invite-message.description":
|
||||
"Mensagem enviada quando um administrador convida um usuário. {url} será substituído pelo URL de convite e {password} pela senha.",
|
||||
"admin.config.share.allow-registration": "Permitir novos registos",
|
||||
"admin.config.share.allow-registration.description": "Se o registro é permitido",
|
||||
"admin.config.share.allow-unauthenticated-shares": "Permitir compartilhamentos sem autenticação",
|
||||
"admin.config.share.allow-unauthenticated-shares.description": "Se usuários não autenticados podem criar compartilhamentos",
|
||||
"admin.config.share.allow-registration.description":
|
||||
"Se o registro é permitido",
|
||||
"admin.config.share.allow-unauthenticated-shares":
|
||||
"Permitir compartilhamentos sem autenticação",
|
||||
"admin.config.share.allow-unauthenticated-shares.description":
|
||||
"Se usuários não autenticados podem criar compartilhamentos",
|
||||
"admin.config.share.max-size": "Tamanho máximo",
|
||||
"admin.config.share.max-size.description": "Tamanho máximo do compartilhamento em bytes",
|
||||
"admin.config.share.max-size.description":
|
||||
"Tamanho máximo do compartilhamento em bytes",
|
||||
"admin.config.share.zip-compression-level": "Nível de compressão",
|
||||
"admin.config.share.zip-compression-level.description": "Ajuste o nível para equilibrar entre o tamanho do arquivo e a velocidade de compressão. Valores válidos vão de 0 a 9, com 0 sendo sem compressão e 9 sendo compressão máxima. ",
|
||||
"admin.config.share.zip-compression-level.description":
|
||||
"Ajuste o nível para equilibrar entre o tamanho do arquivo e a velocidade de compressão. Valores válidos vão de 0 a 9, com 0 sendo sem compressão e 9 sendo compressão máxima. ",
|
||||
"admin.config.smtp.enabled": "Ativado",
|
||||
"admin.config.smtp.enabled.description": "Se o SMTP está habilitado. Apenas defina como verdadeiro se você digitou o servidor, porta, e-mail, usuário e senha do seu servidor SMTP.",
|
||||
"admin.config.smtp.enabled.description":
|
||||
"Se o SMTP está habilitado. Apenas defina como verdadeiro se você digitou o servidor, porta, e-mail, usuário e senha do seu servidor SMTP.",
|
||||
"admin.config.smtp.host": "Servidor",
|
||||
"admin.config.smtp.host.description": "Nome do Servidor SMTP",
|
||||
"admin.config.smtp.port": "Porta",
|
||||
"admin.config.smtp.port.description": "Porta do Servidor SMTP",
|
||||
"admin.config.smtp.email": "E-mail",
|
||||
"admin.config.smtp.email.description": "Endereço de e-mail do qual os e-mails são enviados",
|
||||
"admin.config.smtp.email.description":
|
||||
"Endereço de e-mail do qual os e-mails são enviados",
|
||||
"admin.config.smtp.username": "Nome de usuário",
|
||||
"admin.config.smtp.username.description": "Nome de usuário do servidor SMTP",
|
||||
"admin.config.smtp.password": "Senha",
|
||||
@ -319,5 +390,5 @@ export default {
|
||||
"common.error.too-long": "Deve ter no máximo {length} caracteres",
|
||||
"common.error.exact-length": "Deve ter exatamente {length} caracteres",
|
||||
"common.error.invalid-number": "Tem que ser um número",
|
||||
"common.error.field-required": "Este campo é obrigatório"
|
||||
};
|
||||
"common.error.field-required": "Este campo é obrigatório",
|
||||
};
|
||||
|
@ -12,13 +12,16 @@ export default {
|
||||
// END navbar
|
||||
// /
|
||||
"home.title": "Платформа для обмена файлами с <h>собственного хостинга</h>.",
|
||||
"home.description": "Вы действительно хотите предоставить свои личные файлы в руки третьих лиц, таких как WeTransfer?",
|
||||
"home.description":
|
||||
"Вы действительно хотите предоставить свои личные файлы в руки третьих лиц, таких как WeTransfer?",
|
||||
"home.bullet.a.name": "На собственном сервере",
|
||||
"home.bullet.a.description": "Pingvin Share работает на вашей машине.",
|
||||
"home.bullet.b.name": "Конфиденциальность",
|
||||
"home.bullet.b.description": "Ваши файлы - это ваши файлы и никогда не должны попадать в руки третьих лиц.",
|
||||
"home.bullet.b.description":
|
||||
"Ваши файлы - это ваши файлы и никогда не должны попадать в руки третьих лиц.",
|
||||
"home.bullet.c.name": "Без раздражающего ограничения размера файла",
|
||||
"home.bullet.c.description": "Загружайте файлы с любым размером. Только ваш жесткий диск будет пределом.",
|
||||
"home.bullet.c.description":
|
||||
"Загружайте файлы с любым размером. Только ваш жесткий диск будет пределом.",
|
||||
"home.button.start": "Начнем",
|
||||
"home.button.source": "Исходный код",
|
||||
// END /
|
||||
@ -32,7 +35,8 @@ export default {
|
||||
"signin.input.password.placeholder": "Ваш пароль",
|
||||
"signin.button.submit": "Вход",
|
||||
"signIn.notify.totp-required.title": "Требуется двухфакторная аутентификация",
|
||||
"signIn.notify.totp-required.description": "Пожалуйста, введите код Вашей 2-х факторной аутентификации",
|
||||
"signIn.notify.totp-required.description":
|
||||
"Пожалуйста, введите код Вашей 2-х факторной аутентификации",
|
||||
// END /auth/signin
|
||||
// /auth/signup
|
||||
"signup.title": "Создать аккаунт",
|
||||
@ -47,7 +51,8 @@ export default {
|
||||
// /auth/reset-password
|
||||
"resetPassword.title": "Забыли пароль?",
|
||||
"resetPassword.description": "Введите ваш email для восстановления пароля.",
|
||||
"resetPassword.notify.success": "Вам направлено письмо со ссылкой для сброса пароля.",
|
||||
"resetPassword.notify.success":
|
||||
"Вам направлено письмо со ссылкой для сброса пароля.",
|
||||
"resetPassword.button.back": "Вернуться на страницу входа",
|
||||
"resetPassword.text.resetPassword": "Сбросить пароль",
|
||||
"resetPassword.text.enterNewPassword": "Введите новый пароль",
|
||||
@ -64,8 +69,10 @@ export default {
|
||||
"account.card.password.new": "Новый пароль",
|
||||
"account.notify.password.success": "Пароль успешно изменён",
|
||||
"account.card.security.title": "Безопасность",
|
||||
"account.card.security.totp.enable.description": "Введите ваш текущий пароль для начала включения TOTP",
|
||||
"account.card.security.totp.disable.description": "Введите ваш текущий пароль, чтобы отключить TOTP",
|
||||
"account.card.security.totp.enable.description":
|
||||
"Введите ваш текущий пароль для начала включения TOTP",
|
||||
"account.card.security.totp.disable.description":
|
||||
"Введите ваш текущий пароль, чтобы отключить TOTP",
|
||||
"account.card.security.totp.button.start": "Начать",
|
||||
"account.modal.totp.title": "Включить TOTP",
|
||||
"account.modal.totp.step1": "Шаг 1: Добавьте свой аутентификатор",
|
||||
@ -77,7 +84,8 @@ export default {
|
||||
"account.notify.totp.disable": "TOTP успешно отключен",
|
||||
"account.notify.totp.enable": "TOTP успешно включен",
|
||||
"account.card.language.title": "Язык",
|
||||
"account.card.language.description": "Проект переведен сообществом. Некоторые языки могут быть неполными.",
|
||||
"account.card.language.description":
|
||||
"Проект переведен сообществом. Некоторые языки могут быть неполными.",
|
||||
"account.card.color.title": "Цветовая схема",
|
||||
// ThemeSwitcher.tsx
|
||||
"account.theme.dark": "Тёмная",
|
||||
@ -85,7 +93,8 @@ export default {
|
||||
"account.theme.system": "Системная",
|
||||
"account.button.delete": "Удалить аккаунт",
|
||||
"account.modal.delete.title": "Удалить аккаунт",
|
||||
"account.modal.delete.description": "Вы действительно хотите удалить свою учетную запись, включая все ваши загрузки?",
|
||||
"account.modal.delete.description":
|
||||
"Вы действительно хотите удалить свою учетную запись, включая все ваши загрузки?",
|
||||
// END /account
|
||||
// /account/shares
|
||||
"account.shares.title": "Мои загрузки",
|
||||
@ -103,13 +112,16 @@ export default {
|
||||
"account.shares.modal.share-informations": "Сведения",
|
||||
"account.shares.modal.share-link": "Поделиться ссылкой",
|
||||
"account.shares.modal.delete.title": "Удалить загрузку {share}",
|
||||
"account.shares.modal.delete.description": "Вы действительно хотите удалить эту загрузку?",
|
||||
"account.shares.modal.delete.description":
|
||||
"Вы действительно хотите удалить эту загрузку?",
|
||||
// END /account/shares
|
||||
// /account/reverseShares
|
||||
"account.reverseShares.title": "Обратные загрузки",
|
||||
"account.reverseShares.description": "Обратная загрузка позволяет генерировать уникальный URL, позволяющий внешним пользователям загружать файлы.",
|
||||
"account.reverseShares.description":
|
||||
"Обратная загрузка позволяет генерировать уникальный URL, позволяющий внешним пользователям загружать файлы.",
|
||||
"account.reverseShares.title.empty": "Тут пусто 👀",
|
||||
"account.reverseShares.description.empty": "У вас пока нет обратных загрузок.",
|
||||
"account.reverseShares.description.empty":
|
||||
"У вас пока нет обратных загрузок.",
|
||||
// showCreateReverseShareModal.tsx
|
||||
"account.reverseShares.modal.expiration.label": "Истекает",
|
||||
"account.reverseShares.modal.expiration.minute-singular": "Минута",
|
||||
@ -125,12 +137,17 @@ export default {
|
||||
"account.reverseShares.modal.expiration.year-singular": "Год",
|
||||
"account.reverseShares.modal.expiration.year-plural": "Года (лет)",
|
||||
"account.reverseShares.modal.max-size.label": "Макс. размер загрузки",
|
||||
"account.reverseShares.modal.send-email": "Отправить уведомление по эл. почте",
|
||||
"account.reverseShares.modal.send-email.description": "Отправлять уведомление по электронной почте, когда загрузка создается с помощью этой обратной ссылки.",
|
||||
"account.reverseShares.modal.send-email":
|
||||
"Отправить уведомление по эл. почте",
|
||||
"account.reverseShares.modal.send-email.description":
|
||||
"Отправлять уведомление по электронной почте, когда загрузка создается с помощью этой обратной ссылки.",
|
||||
"account.reverseShares.modal.max-use.label": "Максимум использований",
|
||||
"account.reverseShares.modal.max-use.description": "Максимальное количество раз, когда URL может быть использован для создания загрузки.",
|
||||
"account.reverseShare.never-expires": "Эта обратная загрузка никогда не устареет.",
|
||||
"account.reverseShare.expires-on": "Эта обратная загрузка устареет {expiration}.",
|
||||
"account.reverseShares.modal.max-use.description":
|
||||
"Максимальное количество раз, когда URL может быть использован для создания загрузки.",
|
||||
"account.reverseShare.never-expires":
|
||||
"Эта обратная загрузка никогда не устареет.",
|
||||
"account.reverseShare.expires-on":
|
||||
"Эта обратная загрузка устареет {expiration}.",
|
||||
"account.reverseShares.table.no-shares": "Нет созданных загрузок",
|
||||
"account.reverseShares.table.count.singular": "загрузка",
|
||||
"account.reverseShares.table.count.plural": "загрузки",
|
||||
@ -140,7 +157,8 @@ export default {
|
||||
"account.reverseShares.table.expires": "Действительно до",
|
||||
"account.reverseShares.modal.reverse-share-link": "Ссылка обратной загрузки",
|
||||
"account.reverseShares.modal.delete.title": "Удалить обратную загрузку",
|
||||
"account.reverseShares.modal.delete.description": "Вы действительно хотите удалить эту обратную загрузку? Если вы это сделаете, то все связанные обратные загрузки будут также удалены.",
|
||||
"account.reverseShares.modal.delete.description":
|
||||
"Вы действительно хотите удалить эту обратную загрузку? Если вы это сделаете, то все связанные обратные загрузки будут также удалены.",
|
||||
// END /account/reverseShares
|
||||
// /admin
|
||||
"admin.title": "Администрирование",
|
||||
@ -160,34 +178,43 @@ export default {
|
||||
"admin.users.edit.update.change-password.button": "Сохранить новый пароль",
|
||||
"admin.users.edit.update.notify.password.success": "Пароль успешно изменён",
|
||||
"admin.users.edit.delete.title": "Удалить пользователя {username}",
|
||||
"admin.users.edit.delete.description": "Вы действительно хотите удалить этого пользователя и все его загрузки?",
|
||||
"admin.users.edit.delete.description":
|
||||
"Вы действительно хотите удалить этого пользователя и все его загрузки?",
|
||||
// showCreateUserModal.tsx
|
||||
"admin.users.modal.create.title": "Создать пользователя",
|
||||
"admin.users.modal.create.username": "Логин",
|
||||
"admin.users.modal.create.email": "Электронная почта",
|
||||
"admin.users.modal.create.password": "Пароль",
|
||||
"admin.users.modal.create.manual-password": "Установить пароль вручную",
|
||||
"admin.users.modal.create.manual-password.description": "Если флажок не установлен, пользователь получит письмо со ссылкой для установки пароля.",
|
||||
"admin.users.modal.create.manual-password.description":
|
||||
"Если флажок не установлен, пользователь получит письмо со ссылкой для установки пароля.",
|
||||
"admin.users.modal.create.admin": "Права администратора",
|
||||
"admin.users.modal.create.admin.description": "Если отмечено, пользователь будет иметь доступ к панели администратора.",
|
||||
"admin.users.modal.create.admin.description":
|
||||
"Если отмечено, пользователь будет иметь доступ к панели администратора.",
|
||||
// END /admin/users
|
||||
// /upload
|
||||
"upload.title": "Загрузить",
|
||||
"upload.notify.generic-error": "Произошла ошибка при завершении вашей загрузки.",
|
||||
"upload.notify.count-failed": "Не удалось загрузить файлы {count}. Повтор попытки.",
|
||||
"upload.notify.generic-error":
|
||||
"Произошла ошибка при завершении вашей загрузки.",
|
||||
"upload.notify.count-failed":
|
||||
"Не удалось загрузить файлы {count}. Повтор попытки.",
|
||||
// Dropzone.tsx
|
||||
"upload.dropzone.title": "Загрузить файлы",
|
||||
"upload.dropzone.description": "Перетащите сюда файлы для начала загрузки. Мы можем принимать только файлы, которые меньше {maxSize}.",
|
||||
"upload.dropzone.notify.file-too-big": "Ваши файлы превышают максимальный размер в {maxSize}.",
|
||||
"upload.dropzone.description":
|
||||
"Перетащите сюда файлы для начала загрузки. Мы можем принимать только файлы, которые меньше {maxSize}.",
|
||||
"upload.dropzone.notify.file-too-big":
|
||||
"Ваши файлы превышают максимальный размер в {maxSize}.",
|
||||
// FileList.tsx
|
||||
"upload.filelist.name": "Название",
|
||||
"upload.filelist.size": "Размер",
|
||||
// showCreateUploadModal.tsx
|
||||
"upload.modal.title": "Загрузить",
|
||||
"upload.modal.link.error.invalid": "Имя пользователя должно состоять только из букв, цифр, подчёркиваний и дефисов",
|
||||
"upload.modal.link.error.invalid":
|
||||
"Имя пользователя должно состоять только из букв, цифр, подчёркиваний и дефисов",
|
||||
"upload.modal.link.error.taken": "Эта ссылка уже используется",
|
||||
"upload.modal.not-signed-in": "Вы не авторизованы",
|
||||
"upload.modal.not-signed-in-description": "Вы не сможете удалить свои файлы вручную и просмотреть количество посетителей.",
|
||||
"upload.modal.not-signed-in-description":
|
||||
"Вы не сможете удалить свои файлы вручную и просмотреть количество посетителей.",
|
||||
"upload.modal.expires.never": "никогда",
|
||||
"upload.modal.expires.never-long": "Никогда не истекает",
|
||||
"upload.modal.link.label": "Ссылка",
|
||||
@ -205,10 +232,12 @@ export default {
|
||||
"upload.modal.expires.year-singular": "Год",
|
||||
"upload.modal.expires.year-plural": "Года (лет)",
|
||||
"upload.modal.accordion.description.title": "Описание",
|
||||
"upload.modal.accordion.description.placeholder": "Примечание для получателей этой загрузки",
|
||||
"upload.modal.accordion.description.placeholder":
|
||||
"Примечание для получателей этой загрузки",
|
||||
"upload.modal.accordion.email.title": "Получатели письма",
|
||||
"upload.modal.accordion.email.placeholder": "Получатели e-mail",
|
||||
"upload.modal.accordion.email.invalid-email": "Недопустимый адрес электронной почты",
|
||||
"upload.modal.accordion.email.invalid-email":
|
||||
"Недопустимый адрес электронной почты",
|
||||
"upload.modal.accordion.security.title": "Параметры безопасности",
|
||||
"upload.modal.accordion.security.password.label": "Защита паролем",
|
||||
"upload.modal.accordion.security.password.placeholder": "Без пароля",
|
||||
@ -223,21 +252,27 @@ export default {
|
||||
"share.title": "Загрузка {shareId}",
|
||||
"share.description": "Посмотрите, чем я поделился с вами!",
|
||||
"share.error.visitor-limit-exceeded.title": "Превышен лимит посетителей",
|
||||
"share.error.visitor-limit-exceeded.description": "Превышен лимит посетителей.",
|
||||
"share.error.visitor-limit-exceeded.description":
|
||||
"Превышен лимит посетителей.",
|
||||
"share.error.removed.title": "Загрузка удалена",
|
||||
"share.error.not-found.title": "Загрузка не найдена",
|
||||
"share.error.not-found.description": "Страница, которую вы ищете, не существует.",
|
||||
"share.error.not-found.description":
|
||||
"Страница, которую вы ищете, не существует.",
|
||||
"share.modal.password.title": "Требуется пароль",
|
||||
"share.modal.password.description": "Для доступа к этому ресурсу введите пароль для общего доступа.",
|
||||
"share.modal.password.description":
|
||||
"Для доступа к этому ресурсу введите пароль для общего доступа.",
|
||||
"share.modal.password": "Пароль",
|
||||
"share.modal.error.invalid-password": "Неверный пароль",
|
||||
"share.button.download-all": "Скачать все",
|
||||
"share.notify.download-all-preparing": "Загрузка готовится. Повторите попытку через несколько минут.",
|
||||
"share.notify.download-all-preparing":
|
||||
"Загрузка готовится. Повторите попытку через несколько минут.",
|
||||
"share.modal.file-link": "Ссылка на файл",
|
||||
"share.table.name": "Название",
|
||||
"share.table.size": "Размер",
|
||||
"share.modal.file-preview.error.not-supported.title": "Предпросмотр не поддерживается",
|
||||
"share.modal.file-preview.error.not-supported.description": "Предварительный просмотр этого типа файла не поддерживается. Пожалуйста, скачайте файл для его просмотра.",
|
||||
"share.modal.file-preview.error.not-supported.title":
|
||||
"Предпросмотр не поддерживается",
|
||||
"share.modal.file-preview.error.not-supported.description":
|
||||
"Предварительный просмотр этого типа файла не поддерживается. Пожалуйста, скачайте файл для его просмотра.",
|
||||
// END /share/[id]
|
||||
// /admin/config
|
||||
"admin.config.title": "Конфигурация",
|
||||
@ -248,46 +283,68 @@ export default {
|
||||
"admin.config.general.app-name": "Название приложения",
|
||||
"admin.config.general.app-name.description": "Видимое название приложения",
|
||||
"admin.config.general.app-url": "URL-адрес приложения",
|
||||
"admin.config.general.app-url.description": "Адрес на котором доступен Pingvin Share",
|
||||
"admin.config.general.app-url.description":
|
||||
"Адрес на котором доступен Pingvin Share",
|
||||
"admin.config.general.show-home-page": "Показывать домашнюю страницу",
|
||||
"admin.config.general.show-home-page.description": "Показывать ли домашнюю страницу или нет",
|
||||
"admin.config.general.show-home-page.description":
|
||||
"Показывать ли домашнюю страницу или нет",
|
||||
"admin.config.general.logo": "Логотип",
|
||||
"admin.config.general.logo.description": "Измените свой логотип, загрузив новое изображение. Изображение должно быть PNG и должно иметь формат 1:1.",
|
||||
"admin.config.general.logo.description":
|
||||
"Измените свой логотип, загрузив новое изображение. Изображение должно быть PNG и должно иметь формат 1:1.",
|
||||
"admin.config.general.logo.placeholder": "Выберите изображение",
|
||||
"admin.config.email.enable-share-email-recipients": "Включить обмен с получателями электронной почты",
|
||||
"admin.config.email.enable-share-email-recipients.description": "Разрешить ли отправку писем получателям. Включите, только если вы включили SMTP.",
|
||||
"admin.config.email.enable-share-email-recipients":
|
||||
"Включить обмен с получателями электронной почты",
|
||||
"admin.config.email.enable-share-email-recipients.description":
|
||||
"Разрешить ли отправку писем получателям. Включите, только если вы включили SMTP.",
|
||||
"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.description": "Сообщение, которое отправляется получателям публикации. Доступные переменные:\n {creator} - Имя пользователя создателя загрузки\n {shareUrl} - URL загрузки\n {desc} - Описание загрузки\n {expires} - Дата истечения загрузки\n Переменные будут заменены на фактическое значение.",
|
||||
"admin.config.email.reverse-share-subject": "Заголовок письма (обратная загрузка)",
|
||||
"admin.config.email.reverse-share-subject.description": "Тема письма, которое отправляется, когда кто-то создал загрузку с вашей обратной ссылкой.",
|
||||
"admin.config.email.reverse-share-message": "Сообщение письма обратной загрузки",
|
||||
"admin.config.email.reverse-share-message.description": "Сообщение, которое отправляется, когда кто-то создал загрузку с вашей обратной ссылкой. {shareUrl} будет заменен именем создателя и URL-адресом общего доступа.",
|
||||
"admin.config.email.share-recipients-message.description":
|
||||
"Сообщение, которое отправляется получателям публикации. Доступные переменные:\n {creator} - Имя пользователя создателя загрузки\n {shareUrl} - URL загрузки\n {desc} - Описание загрузки\n {expires} - Дата истечения загрузки\n Переменные будут заменены на фактическое значение.",
|
||||
"admin.config.email.reverse-share-subject":
|
||||
"Заголовок письма (обратная загрузка)",
|
||||
"admin.config.email.reverse-share-subject.description":
|
||||
"Тема письма, которое отправляется, когда кто-то создал загрузку с вашей обратной ссылкой.",
|
||||
"admin.config.email.reverse-share-message":
|
||||
"Сообщение письма обратной загрузки",
|
||||
"admin.config.email.reverse-share-message.description":
|
||||
"Сообщение, которое отправляется, когда кто-то создал загрузку с вашей обратной ссылкой. {shareUrl} будет заменен именем создателя и URL-адресом общего доступа.",
|
||||
"admin.config.email.reset-password-subject": "Тема сброса пароля",
|
||||
"admin.config.email.reset-password-subject.description": "Тема письма, которое отправляется, когда пользователь запрашивает сброс пароля.",
|
||||
"admin.config.email.reset-password-subject.description":
|
||||
"Тема письма, которое отправляется, когда пользователь запрашивает сброс пароля.",
|
||||
"admin.config.email.reset-password-message": "Сообщение о сбросе пароля",
|
||||
"admin.config.email.reset-password-message.description": "Сообщение, которое отправляется при запросе сброса пароля. {url} будет заменён ссылкой.",
|
||||
"admin.config.email.reset-password-message.description":
|
||||
"Сообщение, которое отправляется при запросе сброса пароля. {url} будет заменён ссылкой.",
|
||||
"admin.config.email.invite-subject": "Тема приглашения",
|
||||
"admin.config.email.invite-subject.description": "Тема письма, которое отправляется, когда администратор приглашает пользователя.",
|
||||
"admin.config.email.invite-subject.description":
|
||||
"Тема письма, которое отправляется, когда администратор приглашает пользователя.",
|
||||
"admin.config.email.invite-message": "Сообщение с приглашением",
|
||||
"admin.config.email.invite-message.description": "Сообщение приглашения. {url} будет заменён ссылкой приглашения, а {password} паролем.",
|
||||
"admin.config.email.invite-message.description":
|
||||
"Сообщение приглашения. {url} будет заменён ссылкой приглашения, а {password} паролем.",
|
||||
"admin.config.share.allow-registration": "Разрешить регистрацию",
|
||||
"admin.config.share.allow-registration.description": "Разрешена ли регистрация",
|
||||
"admin.config.share.allow-unauthenticated-shares": "Разрешить неавторизованные загрузки",
|
||||
"admin.config.share.allow-unauthenticated-shares.description": "Могут ли неавторизованные пользователи создавать загрузки",
|
||||
"admin.config.share.allow-registration.description":
|
||||
"Разрешена ли регистрация",
|
||||
"admin.config.share.allow-unauthenticated-shares":
|
||||
"Разрешить неавторизованные загрузки",
|
||||
"admin.config.share.allow-unauthenticated-shares.description":
|
||||
"Могут ли неавторизованные пользователи создавать загрузки",
|
||||
"admin.config.share.max-size": "Максимальный размер",
|
||||
"admin.config.share.max-size.description": "Максимальный размер файла в байтах",
|
||||
"admin.config.share.max-size.description":
|
||||
"Максимальный размер файла в байтах",
|
||||
"admin.config.share.zip-compression-level": "Уровень сжатия Zip",
|
||||
"admin.config.share.zip-compression-level.description": "Регулировка уровня баланса между размером файла и скоростью сжатия. Допустимые значения от 0 до 9, с 0 без сжатия, а 9 - максимальное сжатие. ",
|
||||
"admin.config.share.zip-compression-level.description":
|
||||
"Регулировка уровня баланса между размером файла и скоростью сжатия. Допустимые значения от 0 до 9, с 0 без сжатия, а 9 - максимальное сжатие. ",
|
||||
"admin.config.smtp.enabled": "Включено",
|
||||
"admin.config.smtp.enabled.description": "Включено ли SMTP. Установите значение true только если вы ввели хост, порт, email, пользователь и пароль вашего SMTP-сервера.",
|
||||
"admin.config.smtp.enabled.description":
|
||||
"Включено ли SMTP. Установите значение true только если вы ввели хост, порт, email, пользователь и пароль вашего SMTP-сервера.",
|
||||
"admin.config.smtp.host": "Хост",
|
||||
"admin.config.smtp.host.description": "Сервер SMTP сервера",
|
||||
"admin.config.smtp.port": "Порт",
|
||||
"admin.config.smtp.port.description": "Порт SMTP сервера",
|
||||
"admin.config.smtp.email": "Электронная почта",
|
||||
"admin.config.smtp.email.description": "Адрес электронной почты, от которого отправляются письма",
|
||||
"admin.config.smtp.email.description":
|
||||
"Адрес электронной почты, от которого отправляются письма",
|
||||
"admin.config.smtp.username": "Логин",
|
||||
"admin.config.smtp.username.description": "Имя пользователя SMTP сервера",
|
||||
"admin.config.smtp.password": "Пароль",
|
||||
@ -319,5 +376,5 @@ export default {
|
||||
"common.error.too-long": "Должно быть не больше {length} символов",
|
||||
"common.error.exact-length": "Должно быть ровно {length} символов",
|
||||
"common.error.invalid-number": "Должно быть числом",
|
||||
"common.error.field-required": "Поле обязательно для заполнения"
|
||||
};
|
||||
"common.error.field-required": "Поле обязательно для заполнения",
|
||||
};
|
||||
|
@ -47,7 +47,8 @@ export default {
|
||||
// /auth/reset-password
|
||||
"resetPassword.title": "忘记密码?",
|
||||
"resetPassword.description": "请输入电子邮件接受重置密码邮件",
|
||||
"resetPassword.notify.success": "一封包含密码重置地址的邮件已发送到你的邮箱中",
|
||||
"resetPassword.notify.success":
|
||||
"一封包含密码重置地址的邮件已发送到你的邮箱中",
|
||||
"resetPassword.button.back": "返回登录页面",
|
||||
"resetPassword.text.resetPassword": "重置密码",
|
||||
"resetPassword.text.enterNewPassword": "请输入新密码",
|
||||
@ -65,7 +66,8 @@ export default {
|
||||
"account.notify.password.success": "密码更改成功!",
|
||||
"account.card.security.title": "安全",
|
||||
"account.card.security.totp.enable.description": "请输入当前密码开启两步验证",
|
||||
"account.card.security.totp.disable.description": "请输入当前密码关闭两步验证",
|
||||
"account.card.security.totp.disable.description":
|
||||
"请输入当前密码关闭两步验证",
|
||||
"account.card.security.totp.button.start": "开启",
|
||||
"account.modal.totp.title": "开启两步验证",
|
||||
"account.modal.totp.step1": "第一步:添加验证器 Authenticator",
|
||||
@ -77,7 +79,8 @@ export default {
|
||||
"account.notify.totp.disable": "成功关闭两步验证!",
|
||||
"account.notify.totp.enable": "成功开启两步验证!",
|
||||
"account.card.language.title": "语言",
|
||||
"account.card.language.description": "The project is translated by the community. Some languages might be incomplete.",
|
||||
"account.card.language.description":
|
||||
"The project is translated by the community. Some languages might be incomplete.",
|
||||
"account.card.color.title": "颜色外观",
|
||||
// ThemeSwitcher.tsx
|
||||
"account.theme.dark": "暗黑模式",
|
||||
@ -85,7 +88,8 @@ export default {
|
||||
"account.theme.system": "跟随系统",
|
||||
"account.button.delete": "删除账户",
|
||||
"account.modal.delete.title": "删除账户",
|
||||
"account.modal.delete.description": "你真的想删除你的账户,并删除所有的共享吗?",
|
||||
"account.modal.delete.description":
|
||||
"你真的想删除你的账户,并删除所有的共享吗?",
|
||||
// END /account
|
||||
// /account/shares
|
||||
"account.shares.title": "我的共享",
|
||||
@ -107,7 +111,8 @@ export default {
|
||||
// END /account/shares
|
||||
// /account/reverseShares
|
||||
"account.reverseShares.title": "预留共享",
|
||||
"account.reverseShares.description": "预留共享允许你创建一个特定共享链接,以便外部用户以此创建共享",
|
||||
"account.reverseShares.description":
|
||||
"预留共享允许你创建一个特定共享链接,以便外部用户以此创建共享",
|
||||
"account.reverseShares.title.empty": "这里空空如也 👀",
|
||||
"account.reverseShares.description.empty": "你没有创建任何预留共享",
|
||||
// showCreateReverseShareModal.tsx
|
||||
@ -126,9 +131,11 @@ export default {
|
||||
"account.reverseShares.modal.expiration.year-plural": "年",
|
||||
"account.reverseShares.modal.max-size.label": "共享文件上限",
|
||||
"account.reverseShares.modal.send-email": "发送邮件提醒",
|
||||
"account.reverseShares.modal.send-email.description": "当这个预留共享链接被用于共享时,发送邮件提醒",
|
||||
"account.reverseShares.modal.send-email.description":
|
||||
"当这个预留共享链接被用于共享时,发送邮件提醒",
|
||||
"account.reverseShares.modal.max-use.label": "最大使用次数",
|
||||
"account.reverseShares.modal.max-use.description": "这个预留共享链接可被用于创建共享的最大使用次数",
|
||||
"account.reverseShares.modal.max-use.description":
|
||||
"这个预留共享链接可被用于创建共享的最大使用次数",
|
||||
"account.reverseShare.never-expires": "这个预留共享永不过期",
|
||||
"account.reverseShare.expires-on": "这个预留共享将过期于 {expiration}",
|
||||
"account.reverseShares.table.no-shares": "当前没有创建任何共享",
|
||||
@ -140,7 +147,8 @@ export default {
|
||||
"account.reverseShares.table.expires": "过期时间",
|
||||
"account.reverseShares.modal.reverse-share-link": "预留共享链接",
|
||||
"account.reverseShares.modal.delete.title": "删除预留共享链接",
|
||||
"account.reverseShares.modal.delete.description": "你真的想删除此预留共享链接吗?链接下所有关联的共享都将被删除",
|
||||
"account.reverseShares.modal.delete.description":
|
||||
"你真的想删除此预留共享链接吗?链接下所有关联的共享都将被删除",
|
||||
// END /account/reverseShares
|
||||
// /admin
|
||||
"admin.title": "管理",
|
||||
@ -160,16 +168,19 @@ export default {
|
||||
"admin.users.edit.update.change-password.button": "保存新密码",
|
||||
"admin.users.edit.update.notify.password.success": "密码更新成功!",
|
||||
"admin.users.edit.delete.title": "删除用户 {username}",
|
||||
"admin.users.edit.delete.description": "你真的想删除这个账户,并删除该用户所有的共享吗?",
|
||||
"admin.users.edit.delete.description":
|
||||
"你真的想删除这个账户,并删除该用户所有的共享吗?",
|
||||
// showCreateUserModal.tsx
|
||||
"admin.users.modal.create.title": "创建用户",
|
||||
"admin.users.modal.create.username": "用户名",
|
||||
"admin.users.modal.create.email": "电子邮件",
|
||||
"admin.users.modal.create.password": "密码",
|
||||
"admin.users.modal.create.manual-password": "手动设置密码",
|
||||
"admin.users.modal.create.manual-password.description": "如果不勾选,用户将会收到一封电子邮件来设置他们的密码",
|
||||
"admin.users.modal.create.manual-password.description":
|
||||
"如果不勾选,用户将会收到一封电子邮件来设置他们的密码",
|
||||
"admin.users.modal.create.admin": "管理员",
|
||||
"admin.users.modal.create.admin.description": "如果勾选,用户将能访问管理员面板",
|
||||
"admin.users.modal.create.admin.description":
|
||||
"如果勾选,用户将能访问管理员面板",
|
||||
// END /admin/users
|
||||
// /upload
|
||||
"upload.title": "上传",
|
||||
@ -177,7 +188,8 @@ export default {
|
||||
"upload.notify.count-failed": "{count} 文件上传失败,请重试",
|
||||
// Dropzone.tsx
|
||||
"upload.dropzone.title": "上传文件",
|
||||
"upload.dropzone.description": "拖放至此以上传文件,文件大小不能超过上限 {maxSize}",
|
||||
"upload.dropzone.description":
|
||||
"拖放至此以上传文件,文件大小不能超过上限 {maxSize}",
|
||||
"upload.dropzone.notify.file-too-big": "你的文件超过了最大上传限制 {maxSize}",
|
||||
// FileList.tsx
|
||||
"upload.filelist.name": "文件名",
|
||||
@ -187,7 +199,8 @@ export default {
|
||||
"upload.modal.link.error.invalid": "只能包括字母,数字,下划线(_),和横线(-)",
|
||||
"upload.modal.link.error.taken": "这个链接已经存在了",
|
||||
"upload.modal.not-signed-in": "当前没有登录",
|
||||
"upload.modal.not-signed-in-description": "你将不能删除你的共享或查看访问次数",
|
||||
"upload.modal.not-signed-in-description":
|
||||
"你将不能删除你的共享或查看访问次数",
|
||||
"upload.modal.expires.never": "永不",
|
||||
"upload.modal.expires.never-long": "永不过期",
|
||||
"upload.modal.link.label": "共享链接",
|
||||
@ -237,7 +250,8 @@ export default {
|
||||
"share.table.name": "文件名",
|
||||
"share.table.size": "文件大小",
|
||||
"share.modal.file-preview.error.not-supported.title": "该文件类型不支持预览",
|
||||
"share.modal.file-preview.error.not-supported.description": "该文件类型不支持预览,请下载后打开查看",
|
||||
"share.modal.file-preview.error.not-supported.description":
|
||||
"该文件类型不支持预览,请下载后打开查看",
|
||||
// END /share/[id]
|
||||
// /admin/config
|
||||
"admin.config.title": "配置管理",
|
||||
@ -252,36 +266,50 @@ export default {
|
||||
"admin.config.general.show-home-page": "显示首页",
|
||||
"admin.config.general.show-home-page.description": "是否显示首页",
|
||||
"admin.config.general.logo": "Logo",
|
||||
"admin.config.general.logo.description": "上传个性化 Logo,图片必须是长宽比 1:1 的 PNG 格式",
|
||||
"admin.config.general.logo.description":
|
||||
"上传个性化 Logo,图片必须是长宽比 1:1 的 PNG 格式",
|
||||
"admin.config.general.logo.placeholder": "选择图片",
|
||||
"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.description": "发送共享邮件通知的邮件主题",
|
||||
"admin.config.email.share-recipients-subject.description":
|
||||
"发送共享邮件通知的邮件主题",
|
||||
"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.description": "当有人使用了你的预留共享链接时,发送的预留共享邮件通知主题",
|
||||
"admin.config.email.reverse-share-subject.description":
|
||||
"当有人使用了你的预留共享链接时,发送的预留共享邮件通知主题",
|
||||
"admin.config.email.reverse-share-message": "预留共享邮件通知内容",
|
||||
"admin.config.email.reverse-share-message.description": "当有人使用了你的预留共享链接时,发送的通知内容。{shareUrl} 会被创建者的用户名和共享链接代替",
|
||||
"admin.config.email.reverse-share-message.description":
|
||||
"当有人使用了你的预留共享链接时,发送的通知内容。{shareUrl} 会被创建者的用户名和共享链接代替",
|
||||
"admin.config.email.reset-password-subject": "重置密码邮件通知主题",
|
||||
"admin.config.email.reset-password-subject.description": "当用户发起重置密码时,发送的重置密码邮件通知主题",
|
||||
"admin.config.email.reset-password-subject.description":
|
||||
"当用户发起重置密码时,发送的重置密码邮件通知主题",
|
||||
"admin.config.email.reset-password-message": "重置密码邮件通知内容",
|
||||
"admin.config.email.reset-password-message.description": "当用户发起重置密码时,重置密码邮件通知内容。{url} 会被重置密码链接代替",
|
||||
"admin.config.email.reset-password-message.description":
|
||||
"当用户发起重置密码时,重置密码邮件通知内容。{url} 会被重置密码链接代替",
|
||||
"admin.config.email.invite-subject": "邀请邮件通知主题",
|
||||
"admin.config.email.invite-subject.description": "当管理员邀请用户时,发送的邀请邮件通知主题",
|
||||
"admin.config.email.invite-subject.description":
|
||||
"当管理员邀请用户时,发送的邀请邮件通知主题",
|
||||
"admin.config.email.invite-message": "邀请邮件通知内容",
|
||||
"admin.config.email.invite-message.description": "当管理员邀请用户时,发送的邀请邮件通知内容。{url} 会被邀请链接代替,{password} 会被密码代替",
|
||||
"admin.config.email.invite-message.description":
|
||||
"当管理员邀请用户时,发送的邀请邮件通知内容。{url} 会被邀请链接代替,{password} 会被密码代替",
|
||||
"admin.config.share.allow-registration": "允许注册",
|
||||
"admin.config.share.allow-registration.description": "是否允许注册",
|
||||
"admin.config.share.allow-unauthenticated-shares": "是否允许未验证的共享",
|
||||
"admin.config.share.allow-unauthenticated-shares.description": "是否允许未验证的用户创建共享",
|
||||
"admin.config.share.allow-unauthenticated-shares.description":
|
||||
"是否允许未验证的用户创建共享",
|
||||
"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.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":
|
||||
"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": "启用",
|
||||
"admin.config.smtp.enabled.description": "是否开启 SMTP,仅当输入主机名、端口、发送邮箱、用户名和密码后开启",
|
||||
"admin.config.smtp.enabled.description":
|
||||
"是否开启 SMTP,仅当输入主机名、端口、发送邮箱、用户名和密码后开启",
|
||||
"admin.config.smtp.host": "主机名",
|
||||
"admin.config.smtp.host.description": "SMTP 主机名",
|
||||
"admin.config.smtp.port": "端口",
|
||||
@ -319,5 +347,5 @@ export default {
|
||||
"common.error.too-long": "必须不超过 {length} 个字符",
|
||||
"common.error.exact-length": "必须为 {length} 个字符",
|
||||
"common.error.invalid-number": "必须为数字",
|
||||
"common.error.field-required": "必填项"
|
||||
};
|
||||
"common.error.field-required": "必填项",
|
||||
};
|
||||
|
@ -35,7 +35,7 @@ export async function middleware(request: NextRequest) {
|
||||
|
||||
try {
|
||||
const claims = jwtDecode<{ exp: number; isAdmin: boolean }>(
|
||||
accessToken as string
|
||||
accessToken as string,
|
||||
);
|
||||
if (claims.exp * 1000 > Date.now()) {
|
||||
user = claims;
|
||||
|
@ -43,9 +43,7 @@ const ErrorNotFound = () => {
|
||||
<>
|
||||
<Meta title="Not found" />
|
||||
<Container className={classes.root}>
|
||||
<div className={classes.label}>
|
||||
404
|
||||
</div>
|
||||
<div className={classes.label}>404</div>
|
||||
<Title align="center" order={3}>
|
||||
<FormattedMessage id="404.description" />
|
||||
</Title>
|
||||
|
@ -41,7 +41,7 @@ function App({ Component, pageProps }: AppProps) {
|
||||
const [route, setRoute] = useState<string>(pageProps.route);
|
||||
|
||||
const [configVariables, setConfigVariables] = useState<Config[]>(
|
||||
pageProps.configVariables
|
||||
pageProps.configVariables,
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
@ -165,7 +165,7 @@ App.getInitialProps = async ({ ctx }: { ctx: GetServerSidePropsContext }) => {
|
||||
pageProps.route = ctx.req.url;
|
||||
|
||||
const requestLanguage = i18nUtil.getLanguageFromAcceptHeader(
|
||||
ctx.req.headers["accept-language"]
|
||||
ctx.req.headers["accept-language"],
|
||||
);
|
||||
|
||||
pageProps.language = ctx.req.cookies["language"] ?? requestLanguage;
|
||||
|
@ -42,7 +42,7 @@ const Account = () => {
|
||||
username: yup
|
||||
.string()
|
||||
.min(3, t("common.error.too-short", { length: 3 })),
|
||||
})
|
||||
}),
|
||||
),
|
||||
});
|
||||
|
||||
@ -61,7 +61,7 @@ const Account = () => {
|
||||
.string()
|
||||
.min(8, t("common.error.too-short", { length: 8 }))
|
||||
.required(t("common.error.field-required")),
|
||||
})
|
||||
}),
|
||||
),
|
||||
});
|
||||
|
||||
@ -75,7 +75,7 @@ const Account = () => {
|
||||
.string()
|
||||
.min(8, t("common.error.too-short", { length: 8 }))
|
||||
.required(t("common.error.field-required")),
|
||||
})
|
||||
}),
|
||||
),
|
||||
});
|
||||
|
||||
@ -92,7 +92,7 @@ const Account = () => {
|
||||
.min(6, t("common.error.exact-length", { length: 6 }))
|
||||
.max(6, t("common.error.exact-length", { length: 6 }))
|
||||
.matches(/^[0-9]+$/, { message: t("common.error.invalid-number") }),
|
||||
})
|
||||
}),
|
||||
),
|
||||
});
|
||||
|
||||
@ -115,7 +115,7 @@ const Account = () => {
|
||||
email: values.email,
|
||||
})
|
||||
.then(() => toast.success(t("account.notify.info.success")))
|
||||
.catch(toast.axiosError)
|
||||
.catch(toast.axiosError),
|
||||
)}
|
||||
>
|
||||
<Stack>
|
||||
@ -147,7 +147,7 @@ const Account = () => {
|
||||
toast.success(t("account.notify.password.success"));
|
||||
passwordForm.reset();
|
||||
})
|
||||
.catch(toast.axiosError)
|
||||
.catch(toast.axiosError),
|
||||
)}
|
||||
>
|
||||
<Stack>
|
||||
@ -199,7 +199,7 @@ const Account = () => {
|
||||
<Stack>
|
||||
<PasswordInput
|
||||
description={t(
|
||||
"account.card.security.totp.disable.description"
|
||||
"account.card.security.totp.disable.description",
|
||||
)}
|
||||
label={t("account.card.password.title")}
|
||||
{...disableTotpForm.getInputProps("password")}
|
||||
@ -241,7 +241,7 @@ const Account = () => {
|
||||
<PasswordInput
|
||||
label={t("account.card.password.title")}
|
||||
description={t(
|
||||
"account.card.security.totp.enable.description"
|
||||
"account.card.security.totp.enable.description",
|
||||
)}
|
||||
{...enableTotpForm.getInputProps("password")}
|
||||
/>
|
||||
|
@ -77,7 +77,7 @@ const MyShares = () => {
|
||||
showCreateReverseShareModal(
|
||||
modals,
|
||||
config.get("smtp.enabled"),
|
||||
getReverseShares
|
||||
getReverseShares,
|
||||
)
|
||||
}
|
||||
leftIcon={<TbPlus size={20} />}
|
||||
@ -134,10 +134,10 @@ const MyShares = () => {
|
||||
<Text size="sm">
|
||||
{reverseShare.shares.length == 1
|
||||
? `1 ${t(
|
||||
"account.reverseShares.table.count.singular"
|
||||
"account.reverseShares.table.count.singular",
|
||||
)}`
|
||||
: `${reverseShare.shares.length} ${t(
|
||||
"account.reverseShares.table.count.plural"
|
||||
"account.reverseShares.table.count.plural",
|
||||
)}`}
|
||||
</Text>
|
||||
</Accordion.Control>
|
||||
@ -158,15 +158,13 @@ const MyShares = () => {
|
||||
size={25}
|
||||
onClick={() => {
|
||||
if (window.isSecureContext) {
|
||||
clipboard.copy(
|
||||
`${appUrl}/s/${share.id}`
|
||||
);
|
||||
clipboard.copy(`${appUrl}/s/${share.id}`);
|
||||
toast.success(t("common.notify.copied"));
|
||||
} else {
|
||||
showShareLinkModal(
|
||||
modals,
|
||||
share.id,
|
||||
config.get("general.appUrl")
|
||||
config.get("general.appUrl"),
|
||||
);
|
||||
}
|
||||
}}
|
||||
@ -200,14 +198,14 @@ const MyShares = () => {
|
||||
clipboard.copy(
|
||||
`${config.get("general.appUrl")}/upload/${
|
||||
reverseShare.token
|
||||
}`
|
||||
}`,
|
||||
);
|
||||
toast.success(t("common.notify.copied"));
|
||||
} else {
|
||||
showReverseShareLinkModal(
|
||||
modals,
|
||||
reverseShare.token,
|
||||
config.get("general.appUrl")
|
||||
config.get("general.appUrl"),
|
||||
);
|
||||
}
|
||||
}}
|
||||
@ -221,7 +219,7 @@ const MyShares = () => {
|
||||
onClick={() => {
|
||||
modals.openConfirmModal({
|
||||
title: t(
|
||||
"account.reverseShares.modal.delete.title"
|
||||
"account.reverseShares.modal.delete.title",
|
||||
),
|
||||
children: (
|
||||
<Text size="sm">
|
||||
@ -239,8 +237,8 @@ const MyShares = () => {
|
||||
shareService.removeReverseShare(reverseShare.id);
|
||||
setReverseShares(
|
||||
reverseShares.filter(
|
||||
(item) => item.id !== reverseShare.id
|
||||
)
|
||||
(item) => item.id !== reverseShare.id,
|
||||
),
|
||||
);
|
||||
},
|
||||
});
|
||||
|
@ -119,7 +119,7 @@ const MyShares = () => {
|
||||
modals,
|
||||
share,
|
||||
config.get("general.appUrl"),
|
||||
parseInt(config.get("share.maxSize"))
|
||||
parseInt(config.get("share.maxSize")),
|
||||
);
|
||||
}}
|
||||
>
|
||||
@ -132,16 +132,14 @@ const MyShares = () => {
|
||||
onClick={() => {
|
||||
if (window.isSecureContext) {
|
||||
clipboard.copy(
|
||||
`${config.get("general.appUrl")}/s/${
|
||||
share.id
|
||||
}`
|
||||
`${config.get("general.appUrl")}/s/${share.id}`,
|
||||
);
|
||||
toast.success(t("common.notify.copied"));
|
||||
} else {
|
||||
showShareLinkModal(
|
||||
modals,
|
||||
share.id,
|
||||
config.get("general.appUrl")
|
||||
config.get("general.appUrl"),
|
||||
);
|
||||
}
|
||||
}}
|
||||
@ -172,7 +170,7 @@ const MyShares = () => {
|
||||
onConfirm: () => {
|
||||
shareService.remove(share.id);
|
||||
setShares(
|
||||
shares.filter((item) => item.id !== share.id)
|
||||
shares.filter((item) => item.id !== share.id),
|
||||
);
|
||||
},
|
||||
});
|
||||
|
@ -56,7 +56,7 @@ export default function AppShellDemo() {
|
||||
.then(() => {
|
||||
setLogo(null);
|
||||
toast.success(
|
||||
"Logo updated successfully. It may take a few minutes to update on the website."
|
||||
"Logo updated successfully. It may take a few minutes to update on the website.",
|
||||
);
|
||||
})
|
||||
.catch(toast.axiosError);
|
||||
@ -76,7 +76,7 @@ export default function AppShellDemo() {
|
||||
|
||||
const updateConfigVariable = (configVariable: UpdateConfig) => {
|
||||
const index = updatedConfigVariables.findIndex(
|
||||
(item) => item.key === configVariable.key
|
||||
(item) => item.key === configVariable.key,
|
||||
);
|
||||
|
||||
if (index > -1) {
|
||||
@ -139,7 +139,7 @@ export default function AppShellDemo() {
|
||||
<Title order={6}>
|
||||
<FormattedMessage
|
||||
id={`admin.config.${camelToKebab(
|
||||
configVariable.key
|
||||
configVariable.key,
|
||||
)}`}
|
||||
/>
|
||||
</Title>
|
||||
@ -154,7 +154,7 @@ export default function AppShellDemo() {
|
||||
>
|
||||
<FormattedMessage
|
||||
id={`admin.config.${camelToKebab(
|
||||
configVariable.key
|
||||
configVariable.key,
|
||||
)}.description`}
|
||||
values={{ br: <br /> }}
|
||||
/>
|
||||
|
@ -39,7 +39,7 @@ const ResetPassword = () => {
|
||||
.string()
|
||||
.min(8, t("common.error.too-short", { length: 8 }))
|
||||
.required(t("common.error.field-required")),
|
||||
})
|
||||
}),
|
||||
),
|
||||
});
|
||||
|
||||
|
@ -57,7 +57,7 @@ const ResetPassword = () => {
|
||||
.string()
|
||||
.email(t("common.error.invalid-email"))
|
||||
.required(t("common.error.field-required")),
|
||||
})
|
||||
}),
|
||||
),
|
||||
});
|
||||
|
||||
@ -79,7 +79,7 @@ const ResetPassword = () => {
|
||||
toast.success(t("resetPassword.notify.success"));
|
||||
router.push("/auth/signIn");
|
||||
})
|
||||
.catch(toast.axiosError)
|
||||
.catch(toast.axiosError),
|
||||
)}
|
||||
>
|
||||
<TextInput
|
||||
|
@ -36,7 +36,7 @@ const Share = ({ shareId }: { shareId: string }) => {
|
||||
showErrorModal(
|
||||
modals,
|
||||
t("share.error.visitor-limit-exceeded.title"),
|
||||
t("share.error.visitor-limit-exceeded.description")
|
||||
t("share.error.visitor-limit-exceeded.description"),
|
||||
);
|
||||
} else {
|
||||
toast.axiosError(e);
|
||||
@ -57,13 +57,13 @@ const Share = ({ shareId }: { shareId: string }) => {
|
||||
showErrorModal(
|
||||
modals,
|
||||
t("share.error.removed.title"),
|
||||
e.response.data.message
|
||||
e.response.data.message,
|
||||
);
|
||||
} else {
|
||||
showErrorModal(
|
||||
modals,
|
||||
t("share.error.not-found.title"),
|
||||
t("share.error.not-found.description")
|
||||
t("share.error.not-found.description"),
|
||||
);
|
||||
}
|
||||
} else if (error == "share_password_required") {
|
||||
|
@ -29,7 +29,7 @@ const Share = ({ reverseShareToken }: { reverseShareToken: string }) => {
|
||||
showErrorModal(
|
||||
modals,
|
||||
"Invalid Link",
|
||||
"This link is invalid. Please check your link."
|
||||
"This link is invalid. Please check your link.",
|
||||
);
|
||||
setIsLoading(false);
|
||||
});
|
||||
|
@ -56,7 +56,7 @@ const Upload = ({
|
||||
file.uploadingProgress = progress;
|
||||
}
|
||||
return file;
|
||||
})
|
||||
}),
|
||||
);
|
||||
};
|
||||
|
||||
@ -84,7 +84,7 @@ const Upload = ({
|
||||
name: file.name,
|
||||
},
|
||||
chunkIndex,
|
||||
chunks
|
||||
chunks,
|
||||
)
|
||||
.then((response) => {
|
||||
fileId = response.id;
|
||||
@ -114,7 +114,7 @@ const Upload = ({
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}),
|
||||
);
|
||||
|
||||
Promise.all(fileUploadPromises);
|
||||
@ -123,7 +123,7 @@ const Upload = ({
|
||||
useEffect(() => {
|
||||
// Check if there are any files that failed to upload
|
||||
const fileErrorCount = files.filter(
|
||||
(file) => file.uploadingProgress == -1
|
||||
(file) => file.uploadingProgress == -1,
|
||||
).length;
|
||||
|
||||
if (fileErrorCount > 0) {
|
||||
@ -133,7 +133,7 @@ const Upload = ({
|
||||
{
|
||||
withCloseButton: false,
|
||||
autoClose: false,
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
errorToastShown = true;
|
||||
@ -174,13 +174,13 @@ const Upload = ({
|
||||
isReverseShare,
|
||||
appUrl: config.get("general.appUrl"),
|
||||
allowUnauthenticatedShares: config.get(
|
||||
"share.allowUnauthenticatedShares"
|
||||
"share.allowUnauthenticatedShares",
|
||||
),
|
||||
enableEmailRecepients: config.get(
|
||||
"email.enableShareEmailRecipients"
|
||||
"email.enableShareEmailRecipients",
|
||||
),
|
||||
},
|
||||
uploadFiles
|
||||
uploadFiles,
|
||||
);
|
||||
}}
|
||||
>
|
||||
|
@ -19,7 +19,7 @@ const signInTotp = async (
|
||||
emailOrUsername: string,
|
||||
password: string,
|
||||
totp: string,
|
||||
loginToken: string
|
||||
loginToken: string,
|
||||
) => {
|
||||
const emailOrUsernameBody = emailOrUsername.includes("@")
|
||||
? { email: emailOrUsername }
|
||||
|
@ -18,7 +18,7 @@ const get = (key: string, configVariables: Config[]): any => {
|
||||
if (!configVariables) return null;
|
||||
|
||||
const configVariable = configVariables.filter(
|
||||
(variable) => variable.key == key
|
||||
(variable) => variable.key == key,
|
||||
)[0];
|
||||
|
||||
if (!configVariable) throw new Error(`Config variable ${key} not found`);
|
||||
@ -42,7 +42,7 @@ const sendTestEmail = async (email: string) => {
|
||||
const isNewReleaseAvailable = async () => {
|
||||
const response = (
|
||||
await axios.get(
|
||||
"https://api.github.com/repos/stonith404/pingvin-share/releases/latest"
|
||||
"https://api.github.com/repos/stonith404/pingvin-share/releases/latest",
|
||||
)
|
||||
).data;
|
||||
return response.tag_name.replace("v", "") != process.env.VERSION;
|
||||
|
@ -71,7 +71,7 @@ const uploadFile = async (
|
||||
name: string;
|
||||
},
|
||||
chunkIndex: number,
|
||||
totalChunks: number
|
||||
totalChunks: number,
|
||||
): Promise<FileUploadResponse> => {
|
||||
const data = readerEvent.target!.result;
|
||||
|
||||
@ -92,7 +92,7 @@ const createReverseShare = async (
|
||||
shareExpiration: string,
|
||||
maxShareSize: number,
|
||||
maxUseCount: number,
|
||||
sendEmailNotification: boolean
|
||||
sendEmailNotification: boolean,
|
||||
) => {
|
||||
return (
|
||||
await api.post("reverseShares", {
|
||||
|
@ -26,7 +26,7 @@ export type AdminConfigGroupedByCategory = {
|
||||
description: string;
|
||||
obscured: boolean;
|
||||
category: string;
|
||||
}
|
||||
},
|
||||
];
|
||||
};
|
||||
|
||||
|
@ -11,7 +11,7 @@ export const getExpirationPreview = (
|
||||
expiration_num: number;
|
||||
expiration_unit: string;
|
||||
};
|
||||
}
|
||||
},
|
||||
) => {
|
||||
const value = form.values.never_expires
|
||||
? "never"
|
||||
@ -21,12 +21,12 @@ export const getExpirationPreview = (
|
||||
const expirationDate = moment()
|
||||
.add(
|
||||
value.split("-")[0],
|
||||
value.split("-")[1] as moment.unitOfTime.DurationConstructor
|
||||
value.split("-")[1] as moment.unitOfTime.DurationConstructor,
|
||||
)
|
||||
.toDate();
|
||||
|
||||
return messages.expiresOn.replace(
|
||||
"{expiration}",
|
||||
moment(expirationDate).format("LLL")
|
||||
moment(expirationDate).format("LLL"),
|
||||
);
|
||||
};
|
||||
|
@ -12,7 +12,7 @@ const getLanguageFromAcceptHeader = (acceptLanguage?: string) => {
|
||||
const languages = acceptLanguage.split(",").map((l) => l.split(";")[0]);
|
||||
const supportedLanguages = Object.values(LOCALES).map((l) => l.code);
|
||||
const supportedLanguagesWithoutRegion = supportedLanguages.map(
|
||||
(l) => l.split("-")[0]
|
||||
(l) => l.split("-")[0],
|
||||
);
|
||||
|
||||
for (const language of languages) {
|
||||
@ -23,7 +23,7 @@ const getLanguageFromAcceptHeader = (acceptLanguage?: string) => {
|
||||
supportedLanguagesWithoutRegion.includes(language.split("-")[0])
|
||||
) {
|
||||
const similarLanguage = supportedLanguages.find((l) =>
|
||||
l.startsWith(language.split("-")[0])
|
||||
l.startsWith(language.split("-")[0]),
|
||||
);
|
||||
return similarLanguage;
|
||||
}
|
||||
|
@ -20,7 +20,7 @@ const axiosError = (axiosError: any) =>
|
||||
|
||||
const success = (
|
||||
message: string,
|
||||
config?: Omit<NotificationProps, "message">
|
||||
config?: Omit<NotificationProps, "message">,
|
||||
) =>
|
||||
showNotification({
|
||||
icon: <TbCheck />,
|
||||
|
Loading…
Reference in New Issue
Block a user