Unverified Commit e0334cf0 authored by memoclaw's avatar memoclaw Committed by GitHub

refactor: restructure i18n locale keys for better maintainability (#5744)

Co-authored-by: 's avatarmemoclaw <265580040+memoclaw@users.noreply.github.com>
Co-authored-by: 's avatarCopilot <223556219+Copilot@users.noreply.github.com>
parent 6f1f3d81
......@@ -4,7 +4,18 @@ import { useTranslate } from "@/utils/i18n";
export const useWeekdayLabels = () => {
const t = useTranslate();
return useMemo(() => [t("days.sun"), t("days.mon"), t("days.tue"), t("days.wed"), t("days.thu"), t("days.fri"), t("days.sat")], [t]);
return useMemo(
() => [
t("common.days.sun"),
t("common.days.mon"),
t("common.days.tue"),
t("common.days.wed"),
t("common.days.thu"),
t("common.days.fri"),
t("common.days.sat"),
],
[t],
);
};
export const useTodayDate = () => {
......
......@@ -75,7 +75,7 @@ function ChangeMemberPasswordDialog({ open, onOpenChange, user, onSuccess }: Pro
<DialogContent className="max-w-md">
<DialogHeader>
<DialogTitle>
{t("setting.account-section.change-password")} ({user.displayName})
{t("setting.account.change-password")} ({user.displayName})
</DialogTitle>
</DialogHeader>
<div className="flex flex-col gap-4">
......
......@@ -38,7 +38,7 @@ function CreateAccessTokenDialog({ open, onOpenChange, onSuccess }: Props) {
// Expiration options in days (0 = never expires)
const expirationOptions = [
{
label: t("setting.access-token-section.create-dialog.duration-1m"),
label: t("setting.access-token.create-dialog.duration-1m"),
value: 30,
},
{
......@@ -46,7 +46,7 @@ function CreateAccessTokenDialog({ open, onOpenChange, onSuccess }: Props) {
value: 90,
},
{
label: t("setting.access-token-section.create-dialog.duration-never"),
label: t("setting.access-token.create-dialog.duration-never"),
value: 0,
},
];
......@@ -118,12 +118,12 @@ function CreateAccessTokenDialog({ open, onOpenChange, onSuccess }: Props) {
<Dialog open={open} onOpenChange={onOpenChange}>
<DialogContent className="max-w-md">
<DialogHeader>
<DialogTitle>{t("setting.access-token-section.create-dialog.create-access-token")}</DialogTitle>
<DialogTitle>{t("setting.access-token.create-dialog.create-access-token")}</DialogTitle>
</DialogHeader>
{createdToken ? (
<div className="flex flex-col gap-4">
<div className="grid gap-2">
<Label>{t("setting.access-token-section.token")}</Label>
<Label>{t("setting.access-token.token")}</Label>
<Textarea value={createdToken} readOnly rows={3} className="font-mono text-xs" />
</div>
</div>
......@@ -131,19 +131,19 @@ function CreateAccessTokenDialog({ open, onOpenChange, onSuccess }: Props) {
<div className="flex flex-col gap-4">
<div className="grid gap-2">
<Label htmlFor="description">
{t("setting.access-token-section.create-dialog.description")} <span className="text-destructive">*</span>
{t("setting.access-token.create-dialog.description")} <span className="text-destructive">*</span>
</Label>
<Input
id="description"
type="text"
placeholder={t("setting.access-token-section.create-dialog.some-description")}
placeholder={t("setting.access-token.create-dialog.some-description")}
value={state.description}
onChange={handleDescriptionInputChange}
/>
</div>
<div className="grid gap-2">
<Label>
{t("setting.access-token-section.create-dialog.expiration")} <span className="text-destructive">*</span>
{t("setting.access-token.create-dialog.expiration")} <span className="text-destructive">*</span>
</Label>
<RadioGroup value={state.expiration.toString()} onValueChange={handleRoleInputChange} className="flex flex-row gap-4">
{expirationOptions.map((option) => (
......
......@@ -277,7 +277,7 @@ function CreateIdentityProviderDialog({ open, onOpenChange, identityProvider, on
}),
}),
});
toast.success(t("setting.sso-section.sso-created", { name: basicInfo.title }));
toast.success(t("setting.sso.sso-created", { name: basicInfo.title }));
} else {
await identityProviderServiceClient.updateIdentityProvider({
identityProvider: create(IdentityProviderSchema, {
......@@ -296,7 +296,7 @@ function CreateIdentityProviderDialog({ open, onOpenChange, identityProvider, on
}),
updateMask: create(FieldMaskSchema, { paths: ["title", "identifier_filter", "config"] }),
});
toast.success(t("setting.sso-section.sso-updated", { name: basicInfo.title }));
toast.success(t("setting.sso.sso-updated", { name: basicInfo.title }));
}
} catch (error: unknown) {
await handleError(error, toast.error, {
......@@ -318,7 +318,7 @@ function CreateIdentityProviderDialog({ open, onOpenChange, identityProvider, on
<Dialog open={open} onOpenChange={onOpenChange}>
<DialogContent className="max-w-2xl max-h-[80vh] overflow-y-auto">
<DialogHeader>
<DialogTitle>{t(isCreating ? "setting.sso-section.create-sso" : "setting.sso-section.update-sso")}</DialogTitle>
<DialogTitle>{t(isCreating ? "setting.sso.create-sso" : "setting.sso.update-sso")}</DialogTitle>
</DialogHeader>
<div className="flex flex-col justify-start items-start w-full space-y-4">
{isCreating && (
......@@ -336,7 +336,7 @@ function CreateIdentityProviderDialog({ open, onOpenChange, identityProvider, on
))}
</SelectContent>
</Select>
<p className="mb-2 text-sm font-medium">{t("setting.sso-section.template")}</p>
<p className="mb-2 text-sm font-medium">{t("setting.sso.template")}</p>
<Select value={selectedTemplate} onValueChange={(value) => setSelectedTemplate(value)}>
<SelectTrigger className="mb-1 h-auto w-full">
<SelectValue />
......@@ -393,10 +393,10 @@ function CreateIdentityProviderDialog({ open, onOpenChange, identityProvider, on
})
}
/>
<p className="mb-1 text-sm font-medium">{t("setting.sso-section.identifier-filter")}</p>
<p className="mb-1 text-sm font-medium">{t("setting.sso.identifier-filter")}</p>
<Input
className="mb-2 w-full"
placeholder={t("setting.sso-section.identifier-filter")}
placeholder={t("setting.sso.identifier-filter")}
value={basicInfo.identifierFilter}
onChange={(e) =>
setBasicInfo({
......@@ -410,86 +410,86 @@ function CreateIdentityProviderDialog({ open, onOpenChange, identityProvider, on
<>
{isCreating && (
<p className="border border-border rounded-md p-2 text-sm w-full mb-2 break-all">
{t("setting.sso-section.redirect-url")}: {absolutifyLink("/auth/callback")}
{t("setting.sso.redirect-url")}: {absolutifyLink("/auth/callback")}
</p>
)}
<p className="mb-1 text-sm font-medium">
{t("setting.sso-section.client-id")}
{t("setting.sso.client-id")}
<span className="text-destructive">*</span>
</p>
<Input
className="mb-2 w-full"
placeholder={t("setting.sso-section.client-id")}
placeholder={t("setting.sso.client-id")}
value={oauth2Config.clientId}
onChange={(e) => setPartialOAuth2Config({ clientId: e.target.value })}
/>
<p className="mb-1 text-sm font-medium">
{t("setting.sso-section.client-secret")}
{t("setting.sso.client-secret")}
<span className="text-destructive">*</span>
</p>
<Input
className="mb-2 w-full"
placeholder={t("setting.sso-section.client-secret")}
placeholder={t("setting.sso.client-secret")}
value={oauth2Config.clientSecret}
onChange={(e) => setPartialOAuth2Config({ clientSecret: e.target.value })}
/>
<p className="mb-1 text-sm font-medium">
{t("setting.sso-section.authorization-endpoint")}
{t("setting.sso.authorization-endpoint")}
<span className="text-destructive">*</span>
</p>
<Input
className="mb-2 w-full"
placeholder={t("setting.sso-section.authorization-endpoint")}
placeholder={t("setting.sso.authorization-endpoint")}
value={oauth2Config.authUrl}
onChange={(e) => setPartialOAuth2Config({ authUrl: e.target.value })}
/>
<p className="mb-1 text-sm font-medium">
{t("setting.sso-section.token-endpoint")}
{t("setting.sso.token-endpoint")}
<span className="text-destructive">*</span>
</p>
<Input
className="mb-2 w-full"
placeholder={t("setting.sso-section.token-endpoint")}
placeholder={t("setting.sso.token-endpoint")}
value={oauth2Config.tokenUrl}
onChange={(e) => setPartialOAuth2Config({ tokenUrl: e.target.value })}
/>
<p className="mb-1 text-sm font-medium">
{t("setting.sso-section.user-endpoint")}
{t("setting.sso.user-endpoint")}
<span className="text-destructive">*</span>
</p>
<Input
className="mb-2 w-full"
placeholder={t("setting.sso-section.user-endpoint")}
placeholder={t("setting.sso.user-endpoint")}
value={oauth2Config.userInfoUrl}
onChange={(e) => setPartialOAuth2Config({ userInfoUrl: e.target.value })}
/>
<p className="mb-1 text-sm font-medium">
{t("setting.sso-section.scopes")}
{t("setting.sso.scopes")}
<span className="text-destructive">*</span>
</p>
<Input
className="mb-2 w-full"
placeholder={t("setting.sso-section.scopes")}
placeholder={t("setting.sso.scopes")}
value={oauth2Scopes}
onChange={(e) => setOAuth2Scopes(e.target.value)}
/>
<Separator className="my-2" />
<p className="mb-1 text-sm font-medium">
{t("setting.sso-section.identifier")}
{t("setting.sso.identifier")}
<span className="text-destructive">*</span>
</p>
<Input
className="mb-2 w-full"
placeholder={t("setting.sso-section.identifier")}
placeholder={t("setting.sso.identifier")}
value={oauth2Config.fieldMapping!.identifier}
onChange={(e) =>
setPartialOAuth2Config({ fieldMapping: { ...oauth2Config.fieldMapping, identifier: e.target.value } as FieldMapping })
}
/>
<p className="mb-1 text-sm font-medium">{t("setting.sso-section.display-name")}</p>
<p className="mb-1 text-sm font-medium">{t("setting.sso.display-name")}</p>
<Input
className="mb-2 w-full"
placeholder={t("setting.sso-section.display-name")}
placeholder={t("setting.sso.display-name")}
value={oauth2Config.fieldMapping!.displayName}
onChange={(e) =>
setPartialOAuth2Config({ fieldMapping: { ...oauth2Config.fieldMapping, displayName: e.target.value } as FieldMapping })
......
......@@ -125,11 +125,11 @@ function CreateUserDialog({ open, onOpenChange, user: initialUser, onSuccess }:
>
<div className="flex items-center space-x-2">
<RadioGroupItem value={String(User_Role.USER)} id="user" />
<Label htmlFor="user">{t("setting.member-section.user")}</Label>
<Label htmlFor="user">{t("setting.member.user")}</Label>
</div>
<div className="flex items-center space-x-2">
<RadioGroupItem value={String(User_Role.ADMIN)} id="admin" />
<Label htmlFor="admin">{t("setting.member-section.admin")}</Label>
<Label htmlFor="admin">{t("setting.member.admin")}</Label>
</div>
</RadioGroup>
</div>
......
......@@ -121,32 +121,30 @@ function CreateWebhookDialog({ open, onOpenChange, webhookName, onSuccess }: Pro
<DialogContent className="max-w-md">
<DialogHeader>
<DialogTitle>
{isCreating
? t("setting.webhook-section.create-dialog.create-webhook")
: t("setting.webhook-section.create-dialog.edit-webhook")}
{isCreating ? t("setting.webhook.create-dialog.create-webhook") : t("setting.webhook.create-dialog.edit-webhook")}
</DialogTitle>
</DialogHeader>
<div className="flex flex-col gap-4">
<div className="grid gap-2">
<Label htmlFor="displayName">
{t("setting.webhook-section.create-dialog.title")} <span className="text-destructive">*</span>
{t("setting.webhook.create-dialog.title")} <span className="text-destructive">*</span>
</Label>
<Input
id="displayName"
type="text"
placeholder={t("setting.webhook-section.create-dialog.an-easy-to-remember-name")}
placeholder={t("setting.webhook.create-dialog.an-easy-to-remember-name")}
value={state.displayName}
onChange={handleTitleInputChange}
/>
</div>
<div className="grid gap-2">
<Label htmlFor="url">
{t("setting.webhook-section.create-dialog.payload-url")} <span className="text-destructive">*</span>
{t("setting.webhook.create-dialog.payload-url")} <span className="text-destructive">*</span>
</Label>
<Input
id="url"
type="text"
placeholder={t("setting.webhook-section.create-dialog.url-example-post-receive")}
placeholder={t("setting.webhook.create-dialog.url-example-post-receive")}
value={state.url}
onChange={handleUrlInputChange}
/>
......
......@@ -35,10 +35,10 @@ const MemoDetailSidebar = ({ memo, className, parentPage }: Props) => {
<aside className={cn("relative w-full h-auto max-h-screen overflow-auto flex flex-col gap-5", className)}>
{canManageShares && (
<div className="w-full space-y-2">
<SectionLabel>{t("memo-share.section-label")}</SectionLabel>
<SectionLabel>{t("memo.share.section-label")}</SectionLabel>
<Button variant="outline" className="w-full justify-start gap-2" onClick={() => setSharePanelOpen(true)}>
<Share2Icon className="w-4 h-4" />
{t("memo-share.open-panel")}
{t("memo.share.open-panel")}
</Button>
</div>
)}
......
......@@ -42,15 +42,15 @@ const FILTER_CONFIGS: Record<FilterFactor, FilterConfig> = {
},
"property.hasLink": {
icon: LinkIcon,
getLabel: (_, t) => t("filters.has-link"),
getLabel: (_, t) => t("memo.filters.has-link"),
},
"property.hasTaskList": {
icon: CheckCircleIcon,
getLabel: (_, t) => t("filters.has-task-list"),
getLabel: (_, t) => t("memo.filters.has-task-list"),
},
"property.hasCode": {
icon: CodeIcon,
getLabel: (_, t) => t("filters.has-code"),
getLabel: (_, t) => t("memo.filters.has-code"),
},
};
......
......@@ -22,9 +22,9 @@ function getExpireDate(option: ExpiryOption): Date | undefined {
}
function formatExpiry(share: MemoShare, t: ReturnType<typeof useTranslate>): string {
if (!share.expireTime) return t("memo-share.never-expires");
if (!share.expireTime) return t("memo.share.never-expires");
const d = timestampDate(share.expireTime);
return t("memo-share.expires-on", { date: d.toLocaleDateString() });
return t("memo.share.expires-on", { date: d.toLocaleDateString() });
}
interface ShareLinkRowProps {
......@@ -47,9 +47,9 @@ function ShareLinkRow({ share, memoName }: ShareLinkRowProps) {
const handleRevoke = async () => {
try {
await deleteShare.mutateAsync({ name: share.name, memoName });
toast.success(t("memo-share.revoked"));
toast.success(t("memo.share.revoked"));
} catch (e) {
toast.error((e as ConnectError).message || t("memo-share.revoke-failed"));
toast.error((e as ConnectError).message || t("memo.share.revoke-failed"));
}
};
......@@ -58,7 +58,7 @@ function ShareLinkRow({ share, memoName }: ShareLinkRowProps) {
<div className="flex items-center justify-between gap-2">
<span className="truncate font-mono text-xs text-muted-foreground">{url}</span>
<div className="flex shrink-0 items-center gap-1">
<Button variant="ghost" size="icon" className="h-7 w-7" onClick={handleCopy} title={t("memo-share.copy")}>
<Button variant="ghost" size="icon" className="h-7 w-7" onClick={handleCopy} title={t("memo.share.copy")}>
{copied ? <CheckIcon className="h-3.5 w-3.5 text-green-500" /> : <CopyIcon className="h-3.5 w-3.5" />}
</Button>
<Button
......@@ -67,7 +67,7 @@ function ShareLinkRow({ share, memoName }: ShareLinkRowProps) {
className="h-7 w-7 text-destructive hover:text-destructive"
onClick={handleRevoke}
disabled={deleteShare.isPending}
title={t("memo-share.revoke")}
title={t("memo.share.revoke")}
>
<Trash2Icon className="h-3.5 w-3.5" />
</Button>
......@@ -94,7 +94,7 @@ const MemoSharePanel = ({ open, onClose, memoName }: MemoSharePanelProps) => {
try {
await createShare.mutateAsync({ memoName, expireTime: getExpireDate(expiry) });
} catch (e) {
toast.error((e as ConnectError).message || t("memo-share.create-failed"));
toast.error((e as ConnectError).message || t("memo.share.create-failed"));
}
};
......@@ -104,18 +104,18 @@ const MemoSharePanel = ({ open, onClose, memoName }: MemoSharePanelProps) => {
<DialogHeader>
<DialogTitle className="flex items-center gap-2">
<LinkIcon className="h-4 w-4" />
{t("memo-share.title")}
{t("memo.share.title")}
</DialogTitle>
</DialogHeader>
<div className="flex flex-col gap-4 py-2">
{/* Active links */}
<div className="flex flex-col gap-2">
<p className="text-sm font-medium text-muted-foreground">{t("memo-share.active-links")}</p>
<p className="text-sm font-medium text-muted-foreground">{t("memo.share.active-links")}</p>
{isLoading ? (
<Loader2Icon className="h-4 w-4 animate-spin text-muted-foreground" />
) : shares.length === 0 ? (
<p className="text-sm text-muted-foreground">{t("memo-share.no-links")}</p>
<p className="text-sm text-muted-foreground">{t("memo.share.no-links")}</p>
) : (
<div className="flex flex-col gap-2">
{shares.map((share) => (
......@@ -132,20 +132,20 @@ const MemoSharePanel = ({ open, onClose, memoName }: MemoSharePanelProps) => {
<SelectValue />
</SelectTrigger>
<SelectContent>
<SelectItem value="never">{t("memo-share.expiry-never")}</SelectItem>
<SelectItem value="1d">{t("memo-share.expiry-1-day")}</SelectItem>
<SelectItem value="7d">{t("memo-share.expiry-7-days")}</SelectItem>
<SelectItem value="30d">{t("memo-share.expiry-30-days")}</SelectItem>
<SelectItem value="never">{t("memo.share.expiry-never")}</SelectItem>
<SelectItem value="1d">{t("memo.share.expiry-1-day")}</SelectItem>
<SelectItem value="7d">{t("memo.share.expiry-7-days")}</SelectItem>
<SelectItem value="30d">{t("memo.share.expiry-30-days")}</SelectItem>
</SelectContent>
</Select>
<Button onClick={handleCreate} disabled={createShare.isPending} className="flex-1">
{createShare.isPending ? (
<>
<Loader2Icon className="mr-2 h-4 w-4 animate-spin" />
{t("memo-share.creating")}
{t("memo.share.creating")}
</>
) : (
t("memo-share.create-link")
t("memo.share.create-link")
)}
</Button>
</div>
......
......@@ -55,10 +55,10 @@ const AccessTokenSection = () => {
// Copy the token to clipboard - this is the only time it will be shown
if (response.token) {
copy(response.token);
toast.success(t("setting.access-token-section.access-token-copied-to-clipboard"));
toast.success(t("setting.access-token.access-token-copied-to-clipboard"));
}
toast.success(
t("setting.access-token-section.create-dialog.access-token-created", {
t("setting.access-token.create-dialog.access-token-created", {
description: response.personalAccessToken?.description ?? "",
}),
);
......@@ -78,15 +78,15 @@ const AccessTokenSection = () => {
await userServiceClient.deletePersonalAccessToken({ name: tokenName });
setPersonalAccessTokens((prev) => prev.filter((token) => token.name !== tokenName));
setDeleteTarget(undefined);
toast.success(t("setting.access-token-section.access-token-deleted", { description }));
toast.success(t("setting.access-token.access-token-deleted", { description }));
};
return (
<div className="w-full flex flex-col gap-2">
<div className="flex flex-col sm:flex-row sm:items-start sm:justify-between gap-2">
<div className="flex flex-col gap-1">
<h4 className="text-sm font-medium text-muted-foreground">{t("setting.access-token-section.title")}</h4>
<p className="text-xs text-muted-foreground">{t("setting.access-token-section.description")}</p>
<h4 className="text-sm font-medium text-muted-foreground">{t("setting.access-token.title")}</h4>
<p className="text-xs text-muted-foreground">{t("setting.access-token.description")}</p>
</div>
<Button onClick={handleCreateToken} size="sm">
<PlusIcon className="w-4 h-4 mr-1.5" />
......@@ -103,15 +103,15 @@ const AccessTokenSection = () => {
},
{
key: "createdAt",
header: t("setting.access-token-section.create-dialog.created-at"),
header: t("setting.access-token.create-dialog.created-at"),
render: (_, token: PersonalAccessToken) => (token.createdAt ? timestampDate(token.createdAt) : undefined)?.toLocaleString(),
},
{
key: "expiresAt",
header: t("setting.access-token-section.create-dialog.expires-at"),
header: t("setting.access-token.create-dialog.expires-at"),
render: (_, token: PersonalAccessToken) =>
(token.expiresAt ? timestampDate(token.expiresAt) : undefined)?.toLocaleString() ??
t("setting.access-token-section.create-dialog.duration-never"),
t("setting.access-token.create-dialog.duration-never"),
},
{
key: "actions",
......@@ -138,8 +138,8 @@ const AccessTokenSection = () => {
<ConfirmDialog
open={!!deleteTarget}
onOpenChange={(open) => !open && setDeleteTarget(undefined)}
title={deleteTarget ? t("setting.access-token-section.access-token-deletion", { description: deleteTarget.description }) : ""}
description={t("setting.access-token-section.access-token-deletion-description")}
title={deleteTarget ? t("setting.access-token.access-token-deletion", { description: deleteTarget.description }) : ""}
description={t("setting.access-token.access-token-deletion-description")}
confirmLabel={t("common.delete")}
cancelLabel={t("common.cancel")}
onConfirm={confirmDeleteAccessToken}
......
......@@ -80,29 +80,29 @@ const InstanceSection = () => {
return (
<SettingSection>
<SettingGroup title={t("common.basic")}>
<SettingRow label={t("setting.system-section.server-name")} description={instanceGeneralSetting.customProfile?.title || "Memos"}>
<SettingRow label={t("setting.system.server-name")} description={instanceGeneralSetting.customProfile?.title || "Memos"}>
<Button variant="outline" onClick={handleUpdateCustomizedProfileButtonClick}>
{t("common.edit")}
</Button>
</SettingRow>
</SettingGroup>
<SettingGroup title={t("setting.system-section.title")} showSeparator>
<SettingRow label={t("setting.system-section.additional-style")} vertical>
<SettingGroup title={t("setting.system.title")} showSeparator>
<SettingRow label={t("setting.system.additional-style")} vertical>
<Textarea
className="font-mono w-full"
rows={3}
placeholder={t("setting.system-section.additional-style-placeholder")}
placeholder={t("setting.system.additional-style-placeholder")}
value={instanceGeneralSetting.additionalStyle}
onChange={(event) => updatePartialSetting({ additionalStyle: event.target.value })}
/>
</SettingRow>
<SettingRow label={t("setting.system-section.additional-script")} vertical>
<SettingRow label={t("setting.system.additional-script")} vertical>
<Textarea
className="font-mono w-full"
rows={3}
placeholder={t("setting.system-section.additional-script-placeholder")}
placeholder={t("setting.system.additional-script-placeholder")}
value={instanceGeneralSetting.additionalScript}
onChange={(event) => updatePartialSetting({ additionalScript: event.target.value })}
/>
......@@ -110,7 +110,7 @@ const InstanceSection = () => {
</SettingGroup>
<SettingGroup>
<SettingRow label={t("setting.instance-section.disallow-user-registration")}>
<SettingRow label={t("setting.instance.disallow-user-registration")}>
<Switch
disabled={profile.demo}
checked={instanceGeneralSetting.disallowUserRegistration}
......@@ -118,7 +118,7 @@ const InstanceSection = () => {
/>
</SettingRow>
<SettingRow label={t("setting.instance-section.disallow-password-auth")}>
<SettingRow label={t("setting.instance.disallow-password-auth")}>
<Switch
disabled={profile.demo || (identityProviderList.length === 0 && !instanceGeneralSetting.disallowPasswordAuth)}
checked={instanceGeneralSetting.disallowPasswordAuth}
......@@ -126,21 +126,21 @@ const InstanceSection = () => {
/>
</SettingRow>
<SettingRow label={t("setting.instance-section.disallow-change-username")}>
<SettingRow label={t("setting.instance.disallow-change-username")}>
<Switch
checked={instanceGeneralSetting.disallowChangeUsername}
onCheckedChange={(checked) => updatePartialSetting({ disallowChangeUsername: checked })}
/>
</SettingRow>
<SettingRow label={t("setting.instance-section.disallow-change-nickname")}>
<SettingRow label={t("setting.instance.disallow-change-nickname")}>
<Switch
checked={instanceGeneralSetting.disallowChangeNickname}
onCheckedChange={(checked) => updatePartialSetting({ disallowChangeNickname: checked })}
/>
</SettingRow>
<SettingRow label={t("setting.instance-section.week-start-day")}>
<SettingRow label={t("setting.instance.week-start-day")}>
<Select
value={instanceGeneralSetting.weekStartDayOffset.toString()}
onValueChange={(value) => {
......@@ -151,9 +151,9 @@ const InstanceSection = () => {
<SelectValue />
</SelectTrigger>
<SelectContent>
<SelectItem value="-1">{t("setting.instance-section.saturday")}</SelectItem>
<SelectItem value="0">{t("setting.instance-section.sunday")}</SelectItem>
<SelectItem value="1">{t("setting.instance-section.monday")}</SelectItem>
<SelectItem value="-1">{t("setting.instance.saturday")}</SelectItem>
<SelectItem value="0">{t("setting.instance.sunday")}</SelectItem>
<SelectItem value="1">{t("setting.instance.monday")}</SelectItem>
</SelectContent>
</Select>
</SettingRow>
......
......@@ -32,9 +32,9 @@ const MemberSection = () => {
const stringifyUserRole = (role: User_Role) => {
if (role === User_Role.ADMIN) {
return t("setting.member-section.admin");
return t("setting.member.admin");
} else {
return t("setting.member-section.user");
return t("setting.member.user");
}
};
......@@ -63,7 +63,7 @@ const MemberSection = () => {
updateMask: create(FieldMaskSchema, { paths: ["state"] }),
});
setArchiveTarget(undefined);
toast.success(t("setting.member-section.archive-success", { username }));
toast.success(t("setting.member.archive-success", { username }));
await refetchUsers();
};
......@@ -76,7 +76,7 @@ const MemberSection = () => {
},
updateMask: create(FieldMaskSchema, { paths: ["state"] }),
});
toast.success(t("setting.member-section.restore-success", { username }));
toast.success(t("setting.member.restore-success", { username }));
await refetchUsers();
};
......@@ -89,12 +89,12 @@ const MemberSection = () => {
const { username, name } = deleteTarget;
deleteUserMutation.mutate(name);
setDeleteTarget(undefined);
toast.success(t("setting.member-section.delete-success", { username }));
toast.success(t("setting.member.delete-success", { username }));
};
return (
<SettingSection
title={t("setting.member-list")}
title={t("setting.member.list-title")}
actions={
<Button onClick={handleCreateUser}>
<PlusIcon className="w-4 h-4 mr-2" />
......@@ -146,14 +146,12 @@ const MemberSection = () => {
<DropdownMenuContent align="end" sideOffset={2}>
<DropdownMenuItem onClick={() => handleEditUser(user)}>{t("common.update")}</DropdownMenuItem>
{user.state === State.NORMAL ? (
<DropdownMenuItem onClick={() => handleArchiveUserClick(user)}>
{t("setting.member-section.archive-member")}
</DropdownMenuItem>
<DropdownMenuItem onClick={() => handleArchiveUserClick(user)}>{t("setting.member.archive-member")}</DropdownMenuItem>
) : (
<>
<DropdownMenuItem onClick={() => handleRestoreUserClick(user)}>{t("common.restore")}</DropdownMenuItem>
<DropdownMenuItem onClick={() => handleDeleteUserClick(user)} className="text-destructive focus:text-destructive">
{t("setting.member-section.delete-member")}
{t("setting.member.delete-member")}
</DropdownMenuItem>
</>
)}
......@@ -176,8 +174,8 @@ const MemberSection = () => {
<ConfirmDialog
open={!!archiveTarget}
onOpenChange={(open) => !open && setArchiveTarget(undefined)}
title={archiveTarget ? t("setting.member-section.archive-warning", { username: archiveTarget.username }) : ""}
description={archiveTarget ? t("setting.member-section.archive-warning-description") : ""}
title={archiveTarget ? t("setting.member.archive-warning", { username: archiveTarget.username }) : ""}
description={archiveTarget ? t("setting.member.archive-warning-description") : ""}
confirmLabel={t("common.confirm")}
cancelLabel={t("common.cancel")}
onConfirm={confirmArchiveUser}
......@@ -187,8 +185,8 @@ const MemberSection = () => {
<ConfirmDialog
open={!!deleteTarget}
onOpenChange={(open) => !open && setDeleteTarget(undefined)}
title={deleteTarget ? t("setting.member-section.delete-warning", { username: deleteTarget.username }) : ""}
description={deleteTarget ? t("setting.member-section.delete-warning-description") : ""}
title={deleteTarget ? t("setting.member.delete-warning", { username: deleteTarget.username }) : ""}
description={deleteTarget ? t("setting.member.delete-warning-description") : ""}
confirmLabel={t("common.delete")}
cancelLabel={t("common.cancel")}
onConfirm={confirmDeleteUser}
......
......@@ -70,22 +70,22 @@ const MemoRelatedSettings = () => {
return (
<SettingSection>
<SettingGroup title={t("setting.memo-related-settings.title")}>
<SettingRow label={t("setting.system-section.display-with-updated-time")}>
<SettingGroup title={t("setting.memo.title")}>
<SettingRow label={t("setting.system.display-with-updated-time")}>
<Switch
checked={memoRelatedSetting.displayWithUpdateTime}
onCheckedChange={(checked) => updatePartialSetting({ displayWithUpdateTime: checked })}
/>
</SettingRow>
<SettingRow label={t("setting.system-section.enable-double-click-to-edit")}>
<SettingRow label={t("setting.system.enable-double-click-to-edit")}>
<Switch
checked={memoRelatedSetting.enableDoubleClickEdit}
onCheckedChange={(checked) => updatePartialSetting({ enableDoubleClickEdit: checked })}
/>
</SettingRow>
<SettingRow label={t("setting.memo-related-settings.content-length-limit")}>
<SettingRow label={t("setting.memo.content-length-limit")}>
<Input
className="w-24"
type="number"
......@@ -95,7 +95,7 @@ const MemoRelatedSettings = () => {
</SettingRow>
</SettingGroup>
<SettingGroup title={t("setting.memo-related-settings.reactions")} showSeparator>
<SettingGroup title={t("setting.memo.reactions")} showSeparator>
<div className="w-full flex flex-row flex-wrap gap-2">
{memoRelatedSetting.reactions.map((reactionType) => (
<Badge key={reactionType} variant="outline" className="flex items-center gap-1.5 h-8 px-3">
......
......@@ -27,7 +27,7 @@ const MyAccountSection = () => {
return (
<SettingSection>
<SettingGroup title={t("setting.account-section.title")}>
<SettingGroup title={t("setting.account.title")}>
<div className="w-full flex flex-row justify-start items-center gap-3">
<UserAvatar className="shrink-0 w-12 h-12" avatarUrl={user?.avatarUrl} />
<div className="flex-1 min-w-0 flex flex-col justify-center items-start gap-1">
......@@ -49,7 +49,7 @@ const MyAccountSection = () => {
</Button>
</DropdownMenuTrigger>
<DropdownMenuContent align="end">
<DropdownMenuItem onClick={handleChangePassword}>{t("setting.account-section.change-password")}</DropdownMenuItem>
<DropdownMenuItem onClick={handleChangePassword}>{t("setting.account.change-password")}</DropdownMenuItem>
</DropdownMenuContent>
</DropdownMenu>
</div>
......
......@@ -75,13 +75,13 @@ const PreferencesSection = () => {
<LocaleSelect value={setting.locale} onChange={handleLocaleSelectChange} />
</SettingRow>
<SettingRow label={t("setting.preference-section.theme")}>
<SettingRow label={t("setting.preference.theme")}>
<ThemeSelect value={setting.theme} onValueChange={handleThemeChange} />
</SettingRow>
</SettingGroup>
<SettingGroup title={t("setting.preference")} showSeparator>
<SettingRow label={t("setting.preference-section.default-memo-visibility")}>
<SettingGroup title={t("setting.preference.label")} showSeparator>
<SettingRow label={t("setting.preference.default-memo-visibility")}>
<Select value={setting.memoVisibility || "PRIVATE"} onValueChange={handleDefaultMemoVisibilityChanged}>
<SelectTrigger className="min-w-fit">
<div className="flex items-center gap-2">
......
......@@ -74,7 +74,7 @@ const SSOSection = () => {
<SettingSection
title={
<div className="flex items-center gap-2">
<span>{t("setting.sso-section.sso-list")}</span>
<span>{t("setting.sso.sso-list")}</span>
<LearnMore url="https://usememos.com/docs/configuration/authentication" />
</div>
}
......@@ -122,7 +122,7 @@ const SSOSection = () => {
},
]}
data={identityProviderList}
emptyMessage={t("setting.sso-section.no-sso-found")}
emptyMessage={t("setting.sso.no-sso-found")}
getRowKey={(provider) => provider.name}
/>
......@@ -136,7 +136,7 @@ const SSOSection = () => {
<ConfirmDialog
open={!!deleteTarget}
onOpenChange={(open) => !open && setDeleteTarget(undefined)}
title={deleteTarget ? t("setting.sso-section.confirm-delete", { name: deleteTarget.title }) : ""}
title={deleteTarget ? t("setting.sso.confirm-delete", { name: deleteTarget.title }) : ""}
confirmLabel={t("common.delete")}
cancelLabel={t("common.cancel")}
onConfirm={confirmDeleteIdentityProvider}
......
......@@ -151,7 +151,7 @@ const StorageSection = () => {
return (
<SettingSection>
<SettingGroup title={t("setting.storage-section.current-storage")}>
<SettingGroup title={t("setting.storage.current-storage")}>
<div className="w-full">
<RadioGroup
value={String(instanceStorageSetting.storageType)}
......@@ -162,11 +162,11 @@ const StorageSection = () => {
>
<div className="flex items-center space-x-2">
<RadioGroupItem value={String(InstanceSetting_StorageSetting_StorageType.DATABASE)} id="database" />
<Label htmlFor="database">{t("setting.storage-section.type-database")}</Label>
<Label htmlFor="database">{t("setting.storage.type-database")}</Label>
</div>
<div className="flex items-center space-x-2">
<RadioGroupItem value={String(InstanceSetting_StorageSetting_StorageType.LOCAL)} id="local" />
<Label htmlFor="local">{t("setting.storage-section.type-local")}</Label>
<Label htmlFor="local">{t("setting.storage.type-local")}</Label>
</div>
<div className="flex items-center space-x-2">
<RadioGroupItem value={String(InstanceSetting_StorageSetting_StorageType.S3)} id="s3" />
......@@ -175,7 +175,7 @@ const StorageSection = () => {
</RadioGroup>
</div>
<SettingRow label={t("setting.system-section.max-upload-size")} tooltip={t("setting.system-section.max-upload-size-hint")}>
<SettingRow label={t("setting.system.max-upload-size")} tooltip={t("setting.system.max-upload-size-hint")}>
<Input
className="w-24 font-mono"
value={String(instanceStorageSetting.uploadSizeLimitMb)}
......@@ -184,7 +184,7 @@ const StorageSection = () => {
</SettingRow>
{instanceStorageSetting.storageType !== InstanceSetting_StorageSetting_StorageType.DATABASE && (
<SettingRow label={t("setting.storage-section.filepath-template")}>
<SettingRow label={t("setting.storage.filepath-template")}>
<Input
className="w-64"
value={instanceStorageSetting.filepathTemplate}
......
......@@ -37,7 +37,7 @@ const WebhookSection = () => {
const name = webhooks[webhooks.length - 1]?.displayName || "";
setWebhooks(webhooks);
setIsCreateWebhookDialogOpen(false);
toast.success(t("setting.webhook-section.create-dialog.create-webhook-success", { name }));
toast.success(t("setting.webhook.create-dialog.create-webhook-success", { name }));
};
const handleDeleteWebhook = async (webhook: UserWebhook) => {
......@@ -49,13 +49,13 @@ const WebhookSection = () => {
await userServiceClient.deleteUserWebhook({ name: deleteTarget.name });
setWebhooks(webhooks.filter((item) => item.name !== deleteTarget.name));
setDeleteTarget(undefined);
toast.success(t("setting.webhook-section.delete-dialog.delete-webhook-success", { name: deleteTarget.displayName }));
toast.success(t("setting.webhook.delete-dialog.delete-webhook-success", { name: deleteTarget.displayName }));
};
return (
<div className="w-full flex flex-col gap-2">
<div className="flex flex-col sm:flex-row sm:items-start sm:justify-between gap-2">
<h4 className="text-sm font-medium text-muted-foreground">{t("setting.webhook-section.title")}</h4>
<h4 className="text-sm font-medium text-muted-foreground">{t("setting.webhook.title")}</h4>
<Button onClick={() => setIsCreateWebhookDialogOpen(true)} size="sm">
<PlusIcon className="w-4 h-4 mr-1.5" />
{t("common.create")}
......@@ -71,7 +71,7 @@ const WebhookSection = () => {
},
{
key: "url",
header: t("setting.webhook-section.url"),
header: t("setting.webhook.url"),
render: (_, webhook: UserWebhook) => (
<span className="max-w-[300px] inline-block truncate text-foreground" title={webhook.url}>
{webhook.url}
......@@ -90,7 +90,7 @@ const WebhookSection = () => {
},
]}
data={webhooks}
emptyMessage={t("setting.webhook-section.no-webhooks-found")}
emptyMessage={t("setting.webhook.no-webhooks-found")}
getRowKey={(webhook) => webhook.name}
/>
......@@ -113,8 +113,8 @@ const WebhookSection = () => {
<ConfirmDialog
open={!!deleteTarget}
onOpenChange={(open) => !open && setDeleteTarget(undefined)}
title={t("setting.webhook-section.delete-dialog.delete-webhook-title", { name: deleteTarget?.displayName || "" })}
description={t("setting.webhook-section.delete-dialog.delete-webhook-description")}
title={t("setting.webhook.delete-dialog.delete-webhook-title", { name: deleteTarget?.displayName || "" })}
description={t("setting.webhook.delete-dialog.delete-webhook-description")}
confirmLabel={t("common.delete")}
cancelLabel={t("common.cancel")}
onConfirm={confirmDeleteWebhook}
......
......@@ -153,7 +153,7 @@ function UpdateAccountDialog({ open, onOpenChange, onSuccess }: Props) {
<Dialog open={open} onOpenChange={onOpenChange}>
<DialogContent className="max-w-md">
<DialogHeader>
<DialogTitle>{t("setting.account-section.update-information")}</DialogTitle>
<DialogTitle>{t("setting.account.update-information")}</DialogTitle>
</DialogHeader>
<div className="flex flex-col gap-4">
<div className="flex flex-row items-center gap-2">
......@@ -176,7 +176,7 @@ function UpdateAccountDialog({ open, onOpenChange, onSuccess }: Props) {
<div className="grid gap-2">
<Label htmlFor="username">
{t("common.username")}
<span className="text-sm text-muted-foreground ml-1">({t("setting.account-section.username-note")})</span>
<span className="text-sm text-muted-foreground ml-1">({t("setting.account.username-note")})</span>
</Label>
<Input
id="username"
......@@ -188,7 +188,7 @@ function UpdateAccountDialog({ open, onOpenChange, onSuccess }: Props) {
<div className="grid gap-2">
<Label htmlFor="displayName">
{t("common.nickname")}
<span className="text-sm text-muted-foreground ml-1">({t("setting.account-section.nickname-note")})</span>
<span className="text-sm text-muted-foreground ml-1">({t("setting.account.nickname-note")})</span>
</Label>
<Input
id="displayName"
......@@ -200,7 +200,7 @@ function UpdateAccountDialog({ open, onOpenChange, onSuccess }: Props) {
<div className="grid gap-2">
<Label htmlFor="email">
{t("common.email")}
<span className="text-sm text-muted-foreground ml-1">({t("setting.account-section.email-note")})</span>
<span className="text-sm text-muted-foreground ml-1">({t("setting.account.email-note")})</span>
</Label>
<Input id="email" type="email" value={state.email} onChange={handleEmailChanged} />
</div>
......
......@@ -106,23 +106,23 @@ function UpdateCustomizedProfileDialog({ open, onOpenChange, onSuccess }: Props)
<Dialog open={open} onOpenChange={onOpenChange}>
<DialogContent className="max-w-2xl">
<DialogHeader>
<DialogTitle>{t("setting.system-section.customize-server.title")}</DialogTitle>
<DialogTitle>{t("setting.system.customize-server.title")}</DialogTitle>
<DialogDescription>Customize your instance appearance and settings.</DialogDescription>
</DialogHeader>
<div className="grid gap-4">
<div className="grid gap-2">
<Label htmlFor="server-name">{t("setting.system-section.server-name")}</Label>
<Label htmlFor="server-name">{t("setting.system.server-name")}</Label>
<Input id="server-name" type="text" value={customProfile.title} onChange={handleNameChanged} placeholder="Enter server name" />
</div>
<div className="grid gap-2">
<Label htmlFor="icon-url">{t("setting.system-section.customize-server.icon-url")}</Label>
<Label htmlFor="icon-url">{t("setting.system.customize-server.icon-url")}</Label>
<Input id="icon-url" type="text" value={customProfile.logoUrl} onChange={handleLogoUrlChanged} placeholder="Enter icon URL" />
</div>
<div className="grid gap-2">
<Label htmlFor="description">{t("setting.system-section.customize-server.description")}</Label>
<Label htmlFor="description">{t("setting.system.customize-server.description")}</Label>
<Textarea
id="description"
rows={3}
......
......@@ -112,7 +112,7 @@ const UserMenu = (props: Props) => {
)}
/>
</TooltipTrigger>
<TooltipContent side="right">{t(`sse.${sseStatus}` as Parameters<typeof t>[0])}</TooltipContent>
<TooltipContent side="right">{t(`live-update.${sseStatus}` as Parameters<typeof t>[0])}</TooltipContent>
</Tooltip>
)}
</div>
......@@ -150,7 +150,7 @@ const UserMenu = (props: Props) => {
<DropdownMenuSub>
<DropdownMenuSubTrigger>
<PaletteIcon className="size-4 text-muted-foreground" />
{t("setting.preference-section.theme")}
{t("setting.preference.theme")}
</DropdownMenuSubTrigger>
<DropdownMenuSubContent>
{THEME_OPTIONS.map((option) => (
......
This diff is collapsed.
......@@ -38,7 +38,15 @@
"created-at": "Creat el",
"database": "Base de dades",
"day": "Dia",
"days": "Dies",
"days": {
"fri": "Dv",
"mon": "Dl",
"sat": "Ds",
"sun": "Dg",
"thu": "Dj",
"tue": "Dt",
"wed": "Dc"
},
"delete": "Esborra",
"description": "Descripció",
"edit": "Edita",
......@@ -108,15 +116,6 @@
"visibility": "Visibilitat",
"yourself": "Tu mateix"
},
"days": {
"fri": "Dv",
"mon": "Dl",
"sat": "Ds",
"sun": "Dg",
"thu": "Dj",
"tue": "Dt",
"wed": "Dc"
},
"editor": {
"add-your-comment-here": "Afegeix el teu comentari aquí...",
"any-thoughts": "Alguna idea...",
......@@ -127,11 +126,6 @@
"saving": "Guardant...",
"slash-commands": "Escriu `/` per a comandaments"
},
"filters": {
"has-code": "téCodi",
"has-link": "téEnllaç",
"has-task-list": "téLlistaTasques"
},
"inbox": {
"failed-to-load": "Error en carregar la bústia",
"memo-comment": "{{user}} ha comentat la teva {{memo}}.",
......@@ -162,7 +156,11 @@
"direction-asc": "Ascendent",
"direction-desc": "Descendent",
"display-time": "Mostra l'hora",
"filters": "Filtres",
"filters": {
"has-code": "téCodi",
"has-link": "téEnllaç",
"has-task-list": "téLlistaTasques"
},
"links": "Enllaços",
"list": "Llista",
"load-more": "Carrega més",
......@@ -251,53 +249,7 @@
"go-to-home": "Vés a l'inici"
},
"setting": {
"access-token-section": {
"access-token-copied-to-clipboard": "Token d'accés copiat al porta-retalls",
"access-token-deleted": "Token d'accés `{{description}}` eliminat",
"access-token-deletion": "Estàs segur que vols eliminar el token d'accés `{{description}}`?",
"access-token-deletion-description": "Aquesta acció és irreversible. Hauràs d'actualitzar qualsevol servei que utilitzi aquest token per utilitzar un de nou.",
"create-dialog": {
"access-token-created": "Token d'accés `{{description}}` creat",
"create-access-token": "Crea token d'accés",
"created-at": "Creat el",
"description": "Descripció",
"duration-1m": "1 mes",
"duration-8h": "8 hores",
"duration-never": "Mai",
"expiration": "Caducitat",
"expires-at": "Caduca el",
"some-description": "Alguna descripció..."
},
"description": "Llista de tots els tokens d'accés del teu compte.",
"title": "Tokens d'accés",
"token": "Token"
},
"account-section": {
"change-password": "Canvia la contrasenya",
"email-note": "Opcional",
"export-memos": "Exporta notes",
"nickname-note": "Mostrat a la capçalera",
"openapi-reset": "Reinicia la clau OpenAPI",
"openapi-sample-post": "Hola #memos des de {{url}}",
"openapi-title": "OpenAPI",
"reset-api": "Reinicia l'API",
"title": "Informació del compte",
"update-information": "Actualitza la informació",
"username-note": "Utilitzat per iniciar sessió"
},
"instance-section": {
"disallow-change-nickname": "No permetis canviar el sobrenom",
"disallow-change-username": "No permetis canviar el nom d'usuari",
"disallow-password-auth": "No permetis autenticació per contrasenya",
"disallow-user-registration": "No permetis el registre d'usuaris",
"monday": "Dilluns",
"saturday": "Dissabte",
"sunday": "Diumenge",
"week-start-day": "Dia d'inici de setmana"
},
"member": "Membre",
"member-list": "Llista de membres",
"member-section": {
"member": {
"admin": "Administrador",
"archive-member": "Arxiva el membre",
"archive-success": "{{username}} arxivat correctament",
......@@ -309,30 +261,24 @@
"delete-warning": "Estàs segur que vols eliminar {{username}}?",
"delete-warning-description": "AQUESTA ACció ÉS IRREVERSIBLE",
"restore-success": "{{username}} restaurat correctament",
"user": "Usuari"
"user": "Usuari",
"label": "Membre",
"list-title": "Llista de membres"
},
"memo-related": "Nota",
"memo-related-settings": {
"content-length-limit": "Límit de longitud del contingut (Bytes)",
"enable-blur-nsfw-content": "Habilita el difuminat de contingut sensible (NSFW)",
"enable-memo-comments": "Habilita els comentaris a les notes",
"enable-memo-location": "Habilita la ubicació de la nota",
"reactions": "Reaccions",
"title": "Configuració de notes"
"my-account": {
"label": "El meu compte"
},
"my-account": "El meu compte",
"preference": "Preferències",
"preference-section": {
"preference": {
"default-memo-sort-option": "Hora de visualització de la nota",
"default-memo-visibility": "Visibilitat per defecte de la nota",
"theme": "Tema"
"theme": "Tema",
"label": "Preferències"
},
"shortcut": {
"delete-confirm": "Estàs segur que vols eliminar la drecera `{{title}}`?",
"delete-success": "Drecera `{{title}}` eliminada correctament"
},
"sso": "SSO",
"sso-section": {
"sso": {
"authorization-endpoint": "Punt final d'autorització",
"client-id": "ID de client",
"client-secret": "Secret de client",
......@@ -354,10 +300,10 @@
"template": "Plantilla",
"token-endpoint": "Punt final de token",
"update-sso": "Actualitza SSO",
"user-endpoint": "Punt final d'usuari"
"user-endpoint": "Punt final d'usuari",
"label": "SSO"
},
"storage": "Emmagatzematge",
"storage-section": {
"storage": {
"accesskey": "Clau d'accés",
"accesskey-placeholder": "Clau d'accés / ID d'accés",
"bucket": "Bucket",
......@@ -389,10 +335,10 @@
"url-prefix-placeholder": "Prefix d'URL personalitzat, opcional",
"url-suffix": "Sufix d'URL",
"url-suffix-placeholder": "Sufix d'URL personalitzat, opcional",
"warning-text": "Estàs segur que vols eliminar el servei d'emmagatzematge \"{{name}}\"? AQUESTA ACCIÓ ÉS IRREVERSIBLE"
"warning-text": "Estàs segur que vols eliminar el servei d'emmagatzematge \"{{name}}\"? AQUESTA ACCIÓ ÉS IRREVERSIBLE",
"label": "Emmagatzematge"
},
"system": "Sistema",
"system-section": {
"system": {
"additional-script": "Script addicional",
"additional-script-placeholder": "Codi JavaScript addicional",
"additional-style": "Estil addicional",
......@@ -416,10 +362,64 @@
"max-upload-size-hint": "El valor recomanat és 32 MiB.",
"removed-completed-task-list-items": "Habilita l'eliminació de tasques completades",
"server-name": "Nom del servidor",
"title": "General"
"title": "General",
"label": "Sistema"
},
"version": "Versió",
"webhook-section": {
"access-token": {
"access-token-copied-to-clipboard": "Token d'accés copiat al porta-retalls",
"access-token-deleted": "Token d'accés `{{description}}` eliminat",
"access-token-deletion": "Estàs segur que vols eliminar el token d'accés `{{description}}`?",
"access-token-deletion-description": "Aquesta acció és irreversible. Hauràs d'actualitzar qualsevol servei que utilitzi aquest token per utilitzar un de nou.",
"create-dialog": {
"access-token-created": "Token d'accés `{{description}}` creat",
"create-access-token": "Crea token d'accés",
"created-at": "Creat el",
"description": "Descripció",
"duration-1m": "1 mes",
"duration-8h": "8 hores",
"duration-never": "Mai",
"expiration": "Caducitat",
"expires-at": "Caduca el",
"some-description": "Alguna descripció..."
},
"description": "Llista de tots els tokens d'accés del teu compte.",
"title": "Tokens d'accés",
"token": "Token"
},
"account": {
"change-password": "Canvia la contrasenya",
"email-note": "Opcional",
"export-memos": "Exporta notes",
"nickname-note": "Mostrat a la capçalera",
"openapi-reset": "Reinicia la clau OpenAPI",
"openapi-sample-post": "Hola #memos des de {{url}}",
"openapi-title": "OpenAPI",
"reset-api": "Reinicia l'API",
"title": "Informació del compte",
"update-information": "Actualitza la informació",
"username-note": "Utilitzat per iniciar sessió"
},
"instance": {
"disallow-change-nickname": "No permetis canviar el sobrenom",
"disallow-change-username": "No permetis canviar el nom d'usuari",
"disallow-password-auth": "No permetis autenticació per contrasenya",
"disallow-user-registration": "No permetis el registre d'usuaris",
"monday": "Dilluns",
"saturday": "Dissabte",
"sunday": "Diumenge",
"week-start-day": "Dia d'inici de setmana"
},
"memo": {
"content-length-limit": "Límit de longitud del contingut (Bytes)",
"enable-blur-nsfw-content": "Habilita el difuminat de contingut sensible (NSFW)",
"enable-memo-comments": "Habilita els comentaris a les notes",
"enable-memo-location": "Habilita la ubicació de la nota",
"reactions": "Reaccions",
"title": "Configuració de notes",
"label": "Nota"
},
"webhook": {
"create-dialog": {
"an-easy-to-remember-name": "Un nom fàcil de recordar",
"create-webhook": "Crea webhook",
......
......@@ -38,7 +38,15 @@
"created-at": "Vytvořeno",
"database": "Databáze",
"day": "Den",
"days": "Dny",
"days": {
"fri": "Pá",
"mon": "Po",
"sat": "So",
"sun": "Ne",
"thu": "Čt",
"tue": "Út",
"wed": "St"
},
"delete": "Smazat",
"description": "Popis",
"edit": "Upravit",
......@@ -108,15 +116,6 @@
"visibility": "Viditelnost",
"yourself": "Vy sami"
},
"days": {
"fri": "Pá",
"mon": "Po",
"sat": "So",
"sun": "Ne",
"thu": "Čt",
"tue": "Út",
"wed": "St"
},
"editor": {
"add-your-comment-here": "Přidejte sem svůj komentář...",
"any-thoughts": "Jakékoli myšlenky...",
......@@ -127,11 +126,6 @@
"saving": "Ukládání...",
"slash-commands": "Pro příkazy zadejte `/`"
},
"filters": {
"has-code": "maKod",
"has-link": "maOdkaz",
"has-task-list": "maSeznamUkolu"
},
"inbox": {
"failed-to-load": "Nepodařilo se načíst položku doručené pošty",
"memo-comment": "{{user}} komentoval k vaší {{memo}}.",
......@@ -162,7 +156,11 @@
"direction-asc": "Vzestupně",
"direction-desc": "Sestupně",
"display-time": "Doba zobrazení",
"filters": "Filtry",
"filters": {
"has-code": "maKod",
"has-link": "maOdkaz",
"has-task-list": "maSeznamUkolu"
},
"links": "Odkazy",
"list": "Seznam",
"load-more": "Načíst více",
......@@ -251,53 +249,7 @@
"go-to-home": "Přejít na úvod"
},
"setting": {
"access-token-section": {
"access-token-copied-to-clipboard": "Přístupový token zkopírován do schránky",
"access-token-deleted": "Přístupový token `{{description}}` odstraněn",
"access-token-deletion": "Jste si jistí, že chcete odstranit přístupový token `{{description}}`?",
"access-token-deletion-description": "Tato akce je nevratná. Budete muset aktualizovat všechny služby používající tento token, aby používaly nový token.",
"create-dialog": {
"access-token-created": "Přístupový token `{{description}}` vytvořen",
"create-access-token": "Vytvořit přístupový token",
"created-at": "Vytvořeno",
"description": "Popis",
"duration-1m": "1 měsíc",
"duration-8h": "8 hodin",
"duration-never": "Nikdy",
"expiration": "Platnost",
"expires-at": "Vyprší",
"some-description": "Nějaký popis..."
},
"description": "Seznam všech přístupových tokenů k vašemu účtu.",
"title": "Přístupové tokeny",
"token": "Token"
},
"account-section": {
"change-password": "Změnit heslo",
"email-note": "Volitelné",
"export-memos": "Exportovat poznámky",
"nickname-note": "Zobrazeno v banneru",
"openapi-reset": "Resetovat OpenAPI klíč",
"openapi-sample-post": "Ahoj #memos z {{url}}",
"openapi-title": "OpenAPI",
"reset-api": "Resetovat API",
"title": "Informace o účtu",
"update-information": "Aktualizovat informace",
"username-note": "Slouží k přihlášení"
},
"instance-section": {
"disallow-change-nickname": "Zakázat změnu přezdívky",
"disallow-change-username": "Zakázat změnu uživatelského jména",
"disallow-password-auth": "Zakázat ověřování heslem",
"disallow-user-registration": "Zakázat registraci uživatelů",
"monday": "Pondělí",
"saturday": "Sobota",
"sunday": "Neděle",
"week-start-day": "Začátek týdne"
},
"member": "Uživatel",
"member-list": "Seznam uživatelů",
"member-section": {
"member": {
"admin": "Admin",
"archive-member": "Archivovat uživatele",
"archive-success": "{{username}} úspěšně archivován",
......@@ -309,30 +261,24 @@
"delete-warning": "Jste si jisti, že chcete odstranit uživatele {{username}}?",
"delete-warning-description": "TATO AKCE JE NEVRATNÁ",
"restore-success": "{{username}} úspěšně obnoven",
"user": "Uživatel"
"user": "Uživatel",
"label": "Uživatel",
"list-title": "Seznam uživatelů"
},
"memo-related": "Poznámky",
"memo-related-settings": {
"content-length-limit": "Omezení velikosti obsahu (bajty)",
"enable-blur-nsfw-content": "Povolit rozostření citlivého obsahu",
"enable-memo-comments": "Povolit komentáře k poznámkám",
"enable-memo-location": "Povolit umístění poznámek",
"reactions": "Reakce",
"title": "Nastavení související s poznámkami"
"my-account": {
"label": "Můj účet"
},
"my-account": "Můj účet",
"preference": "Předvolby",
"preference-section": {
"preference": {
"default-memo-sort-option": "Čas zobrazení poznámky",
"default-memo-visibility": "Výchozí viditelnost poznámky",
"theme": "Motiv"
"theme": "Motiv",
"label": "Předvolby"
},
"shortcut": {
"delete-confirm": "Jste si jisti, že chcete odstranit zkratku `{{title}}`?",
"delete-success": "Zkratka `{{title}}` úspěšně odstraněna"
},
"sso": "SSO",
"sso-section": {
"sso": {
"authorization-endpoint": "Autorizační koncový bod",
"client-id": "ID klienta",
"client-secret": "Klientské tajemství",
......@@ -354,10 +300,10 @@
"template": "Šablona",
"token-endpoint": "Koncový bod tokenu",
"update-sso": "Aktualizovat SSO",
"user-endpoint": "Koncový bod uživatele"
"user-endpoint": "Koncový bod uživatele",
"label": "SSO"
},
"storage": "Úložiště",
"storage-section": {
"storage": {
"accesskey": "Přístupový klíč",
"accesskey-placeholder": "Přístupový klíč / ID",
"bucket": "Bucket",
......@@ -389,10 +335,10 @@
"url-prefix-placeholder": "Vlastní předpona URL, nepovinná",
"url-suffix": "Přípona URL",
"url-suffix-placeholder": "Vlastní přípona URL, nepovinná",
"warning-text": "Jste si jistí, že chcete odstranit službu úložiště \"{{name}}\"? TATO AKCE JE NEVRATNÁ"
"warning-text": "Jste si jistí, že chcete odstranit službu úložiště \"{{name}}\"? TATO AKCE JE NEVRATNÁ",
"label": "Úložiště"
},
"system": "Systém",
"system-section": {
"system": {
"additional-script": "Vlastní rozšíření skriptu",
"additional-script-placeholder": "Vlastní rozšíření kódu JavaScript",
"additional-style": "Vlastní rozšíření stylu",
......@@ -416,10 +362,64 @@
"max-upload-size-hint": "Doporučená hodnota je 32 MiB.",
"removed-completed-task-list-items": "Povolit odstranění dokončených položek ze seznamu úkolů",
"server-name": "Název serveru",
"title": "Obecné"
"title": "Obecné",
"label": "Systém"
},
"version": "Verze",
"webhook-section": {
"access-token": {
"access-token-copied-to-clipboard": "Přístupový token zkopírován do schránky",
"access-token-deleted": "Přístupový token `{{description}}` odstraněn",
"access-token-deletion": "Jste si jistí, že chcete odstranit přístupový token `{{description}}`?",
"access-token-deletion-description": "Tato akce je nevratná. Budete muset aktualizovat všechny služby používající tento token, aby používaly nový token.",
"create-dialog": {
"access-token-created": "Přístupový token `{{description}}` vytvořen",
"create-access-token": "Vytvořit přístupový token",
"created-at": "Vytvořeno",
"description": "Popis",
"duration-1m": "1 měsíc",
"duration-8h": "8 hodin",
"duration-never": "Nikdy",
"expiration": "Platnost",
"expires-at": "Vyprší",
"some-description": "Nějaký popis..."
},
"description": "Seznam všech přístupových tokenů k vašemu účtu.",
"title": "Přístupové tokeny",
"token": "Token"
},
"account": {
"change-password": "Změnit heslo",
"email-note": "Volitelné",
"export-memos": "Exportovat poznámky",
"nickname-note": "Zobrazeno v banneru",
"openapi-reset": "Resetovat OpenAPI klíč",
"openapi-sample-post": "Ahoj #memos z {{url}}",
"openapi-title": "OpenAPI",
"reset-api": "Resetovat API",
"title": "Informace o účtu",
"update-information": "Aktualizovat informace",
"username-note": "Slouží k přihlášení"
},
"instance": {
"disallow-change-nickname": "Zakázat změnu přezdívky",
"disallow-change-username": "Zakázat změnu uživatelského jména",
"disallow-password-auth": "Zakázat ověřování heslem",
"disallow-user-registration": "Zakázat registraci uživatelů",
"monday": "Pondělí",
"saturday": "Sobota",
"sunday": "Neděle",
"week-start-day": "Začátek týdne"
},
"memo": {
"content-length-limit": "Omezení velikosti obsahu (bajty)",
"enable-blur-nsfw-content": "Povolit rozostření citlivého obsahu",
"enable-memo-comments": "Povolit komentáře k poznámkám",
"enable-memo-location": "Povolit umístění poznámek",
"reactions": "Reakce",
"title": "Nastavení související s poznámkami",
"label": "Poznámky"
},
"webhook": {
"create-dialog": {
"an-easy-to-remember-name": "Snadno zapamatovatelný název",
"create-webhook": "Vytvořit webhook",
......
......@@ -38,7 +38,15 @@
"created-at": "Erstellt am",
"database": "Datenbank",
"day": "Tag",
"days": "Tage",
"days": {
"fri": "Fr",
"mon": "Mo",
"sat": "Sa",
"sun": "So",
"thu": "Do",
"tue": "Di",
"wed": "Mi"
},
"delete": "Löschen",
"description": "Beschreibung",
"edit": "Bearbeiten",
......@@ -108,15 +116,6 @@
"visibility": "Sichtbarkeit",
"yourself": "Du selbst"
},
"days": {
"fri": "Fr",
"mon": "Mo",
"sat": "Sa",
"sun": "So",
"thu": "Do",
"tue": "Di",
"wed": "Mi"
},
"editor": {
"add-your-comment-here": "Füge deinen Kommentar hinzu...",
"any-thoughts": "Ein Gedanke...",
......@@ -127,11 +126,6 @@
"saving": "Speichern...",
"slash-commands": "Nutze `/` für Befehle"
},
"filters": {
"has-code": "hatCode",
"has-link": "hatLink",
"has-task-list": "hatAufgabenliste"
},
"inbox": {
"failed-to-load": "Fehler beim Laden des Eintrags",
"memo-comment": "{{user}} hat einen Kommentar zu {{memo}} hinterlassen.",
......@@ -162,7 +156,11 @@
"direction-asc": "Aufsteigend",
"direction-desc": "Absteigend",
"display-time": "Anzeigedatum",
"filters": "Filter",
"filters": {
"has-code": "hatCode",
"has-link": "hatLink",
"has-task-list": "hatAufgabenliste"
},
"links": "Links",
"list": "Liste",
"load-more": "Mehr laden",
......@@ -251,53 +249,7 @@
"go-to-home": "Zurück zur Startseite"
},
"setting": {
"access-token-section": {
"access-token-copied-to-clipboard": "Zugangstoken in die Zwischenablage kopiert",
"access-token-deleted": "Zugangstoken `{{description}}` gelöscht",
"access-token-deletion": "Bist du sicher, dass du das Zugangstoken `{{description}}` löschen möchtest? DIESE AKTION KANN NICHT RÜCKGÄNGIG GEMACHT WERDEN.",
"access-token-deletion-description": "Diese Aktion kann nicht rückgängig gemacht werden. Du musst alle Dienste, die diesen Token verwenden, mit einem neuen Token nutzen.",
"create-dialog": {
"access-token-created": "Zugangstoken `{{description}}` erstellt",
"create-access-token": "Zugangstoken erstellen",
"created-at": "Erstellt am",
"description": "Beschreibung",
"duration-1m": "1 Monat",
"duration-8h": "8 Stunden",
"duration-never": "Nie",
"expiration": "Ablauf",
"expires-at": "Läuft ab am",
"some-description": "Eine Beschreibung..."
},
"description": "Liste aller Zugangstoken für deinen Benutzer.",
"title": "Zugangstoken",
"token": "Token"
},
"account-section": {
"change-password": "Passwort ändern",
"email-note": "Optional",
"export-memos": "Notizen exportieren",
"nickname-note": "Wird im Banner angezeigt",
"openapi-reset": "OpenAPI Key zurücksetzen",
"openapi-sample-post": "Hallo #memos von {{url}}",
"openapi-title": "OpenAPI",
"reset-api": "API zurücksetzen",
"title": "Konto-Informationen",
"update-information": "Informationen ändern",
"username-note": "Zum Anmelden verwendet"
},
"instance-section": {
"disallow-change-nickname": "Ändern des Spitznamens verbieten",
"disallow-change-username": "Ändern des Benutzernamens verbieten",
"disallow-password-auth": "Passwort-Authentifizierung verbieten",
"disallow-user-registration": "Benutzerregistrierung verbieten",
"monday": "Montag",
"saturday": "Samstag",
"sunday": "Sonntag",
"week-start-day": "Wochenstarttag"
},
"member": "Mitglied",
"member-list": "Mitgliederliste",
"member-section": {
"member": {
"admin": "Admin",
"archive-member": "Mitglied archivieren",
"archive-success": "{{username}} erfolgreich archiviert",
......@@ -309,30 +261,24 @@
"delete-warning": "Bist du sicher, dass du {{username}} löschen möchtest?\n\nDIESE AKTION KANN NICHT RÜCKGÄNGIG GEMACHT WERDEN",
"delete-warning-description": "DIESE AKTION KANN NICHT RÜCKGÄNGIG GEMACHT WERDEN",
"restore-success": "{{username}} erfolgreich wiederhergestellt",
"user": "Benutzer"
"user": "Benutzer",
"label": "Mitglied",
"list-title": "Mitgliederliste"
},
"memo-related": "Notiz",
"memo-related-settings": {
"content-length-limit": "Limitierung der Inhaltslänge (Byte)",
"enable-blur-nsfw-content": "Unschärfe für sensible Inhalte (NSFW) aktivieren",
"enable-memo-comments": "Kommentare für Notizen aktivieren",
"enable-memo-location": "Notiz-Standort aktivieren",
"reactions": "Reaktionen",
"title": "Notiz-Einstellungen"
"my-account": {
"label": "Mein Konto"
},
"my-account": "Mein Konto",
"preference": "Einstellungen",
"preference-section": {
"preference": {
"default-memo-sort-option": "Anzeigedatum der Notiz",
"default-memo-visibility": "Standard-Notizsichtbarkeit",
"theme": "Design"
"theme": "Design",
"label": "Einstellungen"
},
"shortcut": {
"delete-confirm": "Bist du sicher, dass du die Verknüpfung `{{title}}` löschen möchtest?",
"delete-success": "Verknüpfung `{{title}}` erfolgreich gelöscht"
},
"sso": "SSO",
"sso-section": {
"sso": {
"authorization-endpoint": "Autorisierungsendpunkt",
"client-id": "Client ID",
"client-secret": "Client Secret",
......@@ -354,10 +300,10 @@
"template": "Vorlage",
"token-endpoint": "Token-Endpunkt",
"update-sso": "SSO aktualisieren",
"user-endpoint": "Benutzer-Endpunkt"
"user-endpoint": "Benutzer-Endpunkt",
"label": "SSO"
},
"storage": "Speicher",
"storage-section": {
"storage": {
"accesskey": "Zugangsschlüssel",
"accesskey-placeholder": "Zugangsschlüssel / Zugangs-ID",
"bucket": "Bucket",
......@@ -389,10 +335,10 @@
"url-prefix-placeholder": "Benutzerdefiniertes URL-Präfix, optional",
"url-suffix": "URL-Suffix",
"url-suffix-placeholder": "Benutzerdefiniertes URL-Suffix, optional",
"warning-text": "Bist du sicher, dass du den Speicherdienst \"{{name}}\" löschen möchtest? DIESE AKTION KANN NICHT RÜCKGÄNGIG GEMACHT WERDEN"
"warning-text": "Bist du sicher, dass du den Speicherdienst \"{{name}}\" löschen möchtest? DIESE AKTION KANN NICHT RÜCKGÄNGIG GEMACHT WERDEN",
"label": "Speicher"
},
"system": "System",
"system-section": {
"system": {
"additional-script": "Zusätzliches Skript",
"additional-script-placeholder": "Zusätzlicher JavaScript-Code",
"additional-style": "Zusätzlicher Stil",
......@@ -416,10 +362,64 @@
"max-upload-size-hint": "Empfohlener Wert ist 32 MiB.",
"removed-completed-task-list-items": "Entfernen abgeschlossener Aufgaben aktivieren",
"server-name": "Servername",
"title": "Allgemein"
"title": "Allgemein",
"label": "System"
},
"version": "Version",
"webhook-section": {
"access-token": {
"access-token-copied-to-clipboard": "Zugangstoken in die Zwischenablage kopiert",
"access-token-deleted": "Zugangstoken `{{description}}` gelöscht",
"access-token-deletion": "Bist du sicher, dass du das Zugangstoken `{{description}}` löschen möchtest? DIESE AKTION KANN NICHT RÜCKGÄNGIG GEMACHT WERDEN.",
"access-token-deletion-description": "Diese Aktion kann nicht rückgängig gemacht werden. Du musst alle Dienste, die diesen Token verwenden, mit einem neuen Token nutzen.",
"create-dialog": {
"access-token-created": "Zugangstoken `{{description}}` erstellt",
"create-access-token": "Zugangstoken erstellen",
"created-at": "Erstellt am",
"description": "Beschreibung",
"duration-1m": "1 Monat",
"duration-8h": "8 Stunden",
"duration-never": "Nie",
"expiration": "Ablauf",
"expires-at": "Läuft ab am",
"some-description": "Eine Beschreibung..."
},
"description": "Liste aller Zugangstoken für deinen Benutzer.",
"title": "Zugangstoken",
"token": "Token"
},
"account": {
"change-password": "Passwort ändern",
"email-note": "Optional",
"export-memos": "Notizen exportieren",
"nickname-note": "Wird im Banner angezeigt",
"openapi-reset": "OpenAPI Key zurücksetzen",
"openapi-sample-post": "Hallo #memos von {{url}}",
"openapi-title": "OpenAPI",
"reset-api": "API zurücksetzen",
"title": "Konto-Informationen",
"update-information": "Informationen ändern",
"username-note": "Zum Anmelden verwendet"
},
"instance": {
"disallow-change-nickname": "Ändern des Spitznamens verbieten",
"disallow-change-username": "Ändern des Benutzernamens verbieten",
"disallow-password-auth": "Passwort-Authentifizierung verbieten",
"disallow-user-registration": "Benutzerregistrierung verbieten",
"monday": "Montag",
"saturday": "Samstag",
"sunday": "Sonntag",
"week-start-day": "Wochenstarttag"
},
"memo": {
"content-length-limit": "Limitierung der Inhaltslänge (Byte)",
"enable-blur-nsfw-content": "Unschärfe für sensible Inhalte (NSFW) aktivieren",
"enable-memo-comments": "Kommentare für Notizen aktivieren",
"enable-memo-location": "Notiz-Standort aktivieren",
"reactions": "Reaktionen",
"title": "Notiz-Einstellungen",
"label": "Notiz"
},
"webhook": {
"create-dialog": {
"an-easy-to-remember-name": "Einprägsamer Name",
"create-webhook": "Webhook erstellen",
......
{
"setting": {
"sso-section": {
"sso": {
"authorization-endpoint": "Authorisation endpoint"
},
"system-section": {
"system": {
"customize-server": {
"title": "Customise Server"
}
......
......@@ -38,7 +38,15 @@
"created-at": "Created at",
"database": "Database",
"day": "Day",
"days": "Days",
"days": {
"fri": "Fri",
"mon": "Mon",
"sat": "Sat",
"sun": "Sun",
"thu": "Thu",
"tue": "Tue",
"wed": "Wed"
},
"delete": "Delete",
"description": "Description",
"edit": "Edit",
......@@ -108,15 +116,6 @@
"visibility": "Visibility",
"yourself": "Yourself"
},
"days": {
"fri": "Fri",
"mon": "Mon",
"sat": "Sat",
"sun": "Sun",
"thu": "Thu",
"tue": "Tue",
"wed": "Wed"
},
"editor": {
"add-your-comment-here": "Add your comment here...",
"any-thoughts": "Any thoughts...",
......@@ -127,11 +126,6 @@
"saving": "Saving...",
"slash-commands": "Type `/` for commands"
},
"filters": {
"has-code": "hasCode",
"has-link": "hasLink",
"has-task-list": "hasTaskList"
},
"inbox": {
"failed-to-load": "Failed to load inbox item",
"memo-comment": "{{user}} has a comment on your {{memo}}.",
......@@ -139,6 +133,11 @@
"no-unread": "No unread notifications",
"unread": "Unread"
},
"live-update": {
"connected": "Live updates active",
"connecting": "Connecting to live updates...",
"disconnected": "Live updates unavailable"
},
"markdown": {
"checkbox": "Checkbox",
"code-block": "Code block",
......@@ -162,7 +161,12 @@
"direction-asc": "Ascending",
"direction-desc": "Descending",
"display-time": "Display Time",
"filters": "Filters",
"filters": {
"has-code": "hasCode",
"has-link": "hasLink",
"has-task-list": "hasTaskList",
"label": "Filters"
},
"links": "Links",
"list": "List",
"load-more": "Load more",
......@@ -171,6 +175,31 @@
"no-memos": "No memos.",
"order-by": "Order By",
"search-placeholder": "Search memos...",
"share": {
"active-links": "Active share links",
"copied": "Copied!",
"copy": "Copy link",
"create-failed": "Failed to create share link",
"create-link": "Create new link",
"creating": "Creating…",
"expiry-1-day": "1 day",
"expiry-30-days": "30 days",
"expiry-7-days": "7 days",
"expiry-label": "Expires",
"expiry-never": "Never",
"expires-on": "Expires {{date}}",
"invalid-link": "This link is invalid or has expired.",
"never-expires": "Never expires",
"no-links": "No share links yet. Create one below.",
"open-panel": "Manage share links",
"revoke": "Revoke",
"revoke-failed": "Failed to revoke link",
"revoked": "Share link revoked",
"section-label": "Sharing",
"share": "Share",
"shared-by": "Shared by {{creator}}",
"title": "Share this memo"
},
"show-less": "Show less",
"show-more": "Show more",
"to-do": "To-do",
......@@ -251,7 +280,7 @@
"go-to-home": "Go to Home"
},
"setting": {
"access-token-section": {
"access-token": {
"access-token-copied-to-clipboard": "Access token copied to clipboard",
"access-token-deleted": "Access token `{{description}}` deleted",
"access-token-deletion": "Are you sure you want to delete access token `{{description}}`?",
......@@ -272,7 +301,7 @@
"title": "Access Tokens",
"token": "Token"
},
"account-section": {
"account": {
"change-password": "Change password",
"email-note": "Optional",
"export-memos": "Export Memos",
......@@ -285,7 +314,7 @@
"update-information": "Update Information",
"username-note": "Used to sign in"
},
"instance-section": {
"instance": {
"disallow-change-nickname": "Disallow changing nickname",
"disallow-change-username": "Disallow changing username",
"disallow-password-auth": "Disallow password auth",
......@@ -295,9 +324,7 @@
"sunday": "Sunday",
"week-start-day": "Week start day"
},
"member": "Member",
"member-list": "Member list",
"member-section": {
"member": {
"admin": "Admin",
"archive-member": "Archive member",
"archive-success": "{{username}} archived successfully",
......@@ -308,31 +335,34 @@
"delete-success": "{{username}} deleted successfully",
"delete-warning": "Are you sure you want to delete {{username}}?",
"delete-warning-description": "THIS ACTION IS IRREVERSIBLE",
"label": "Member",
"list-title": "Member list",
"restore-success": "{{username}} restored successfully",
"user": "User"
},
"memo-related": "Memo",
"memo-related-settings": {
"memo": {
"content-length-limit": "Content length limit (Byte)",
"enable-blur-nsfw-content": "Enable sensitive content (NSFW) blurring",
"enable-memo-comments": "Enable memo comments",
"enable-memo-location": "Enable memo location",
"label": "Memo",
"reactions": "Reactions",
"title": "Memo related settings"
},
"my-account": "My Account",
"preference": "Preferences",
"preference-section": {
"my-account": {
"label": "My Account"
},
"preference": {
"default-memo-sort-option": "Memo display time",
"default-memo-visibility": "Default memo visibility",
"label": "Preferences",
"theme": "Theme"
},
"shortcut": {
"delete-confirm": "Are you sure you want to delete shortcut `{{title}}`?",
"delete-success": "Shortcut `{{title}}` deleted successfully"
},
"sso": "SSO",
"sso-section": {
"sso": {
"authorization-endpoint": "Authorization endpoint",
"client-id": "Client ID",
"client-secret": "Client secret",
......@@ -344,6 +374,7 @@
"display-name": "Display Name",
"identifier": "Identifier",
"identifier-filter": "Identifier Filter",
"label": "SSO",
"no-sso-found": "No SSO found.",
"redirect-url": "Redirect URL",
"scopes": "Scopes",
......@@ -356,8 +387,7 @@
"update-sso": "Update SSO",
"user-endpoint": "User endpoint"
},
"storage": "Storage",
"storage-section": {
"storage": {
"accesskey": "Access key",
"accesskey-placeholder": "Access key / Access ID",
"bucket": "Bucket",
......@@ -368,6 +398,7 @@
"delete-storage": "Delete Storage",
"endpoint": "Endpoint",
"filepath-template": "Filepath template",
"label": "Storage",
"local-storage-path": "Local storage path",
"path": "Storage Path",
"path-description": "You can use the same dynamic variables from local storage, like {filename}",
......@@ -391,8 +422,7 @@
"url-suffix-placeholder": "Custom URL suffix, optional",
"warning-text": "Are you sure you want to delete storage service `{{name}}`? THIS ACTION IS IRREVERSIBLE"
},
"system": "System",
"system-section": {
"system": {
"additional-script": "Additional script",
"additional-script-placeholder": "Additional JavaScript code",
"additional-style": "Additional style",
......@@ -406,12 +436,13 @@
},
"disable-password-login": "Disable password login",
"disable-password-login-final-warning": "Please type `CONFIRM` if you know what you are doing.",
"disable-password-login-warning": "This will disable password login for all users. It is not possible to log in without reverting this setting in the database if your configured identity providers fail. Youll also have to be extra careful when removing an identity provider",
"disable-password-login-warning": "This will disable password login for all users. It is not possible to log in without reverting this setting in the database if your configured identity providers fail. You'll also have to be extra careful when removing an identity provider",
"display-with-updated-time": "Display with updated time",
"enable-auto-compact": "Enable auto compact",
"enable-double-click-to-edit": "Enable double click to edit",
"enable-password-login": "Enable password login",
"enable-password-login-warning": "This will enable password login for all users. Continue only if you want to users to be able to log in using both SSO and password",
"label": "System",
"max-upload-size": "Maximum upload size (MiB)",
"max-upload-size-hint": "Recommended value is 32 MiB.",
"removed-completed-task-list-items": "Enable removal of completed task list items",
......@@ -419,7 +450,7 @@
"title": "General"
},
"version": "Version",
"webhook-section": {
"webhook": {
"create-dialog": {
"an-easy-to-remember-name": "An easy-to-remember name",
"create-webhook": "Create webhook",
......@@ -462,35 +493,5 @@
"select-visibility": "Visibility",
"tags": "Tags",
"upload-attachment": "Upload Attachment(s)"
},
"sse": {
"connected": "Live updates active",
"connecting": "Connecting to live updates...",
"disconnected": "Live updates unavailable"
},
"memo-share": {
"share": "Share",
"section-label": "Sharing",
"open-panel": "Manage share links",
"title": "Share this memo",
"active-links": "Active share links",
"no-links": "No share links yet. Create one below.",
"create-link": "Create new link",
"copy": "Copy link",
"copied": "Copied!",
"revoke": "Revoke",
"expiry-label": "Expires",
"expiry-never": "Never",
"expiry-1-day": "1 day",
"expiry-7-days": "7 days",
"expiry-30-days": "30 days",
"never-expires": "Never expires",
"expires-on": "Expires {{date}}",
"creating": "Creating…",
"revoked": "Share link revoked",
"revoke-failed": "Failed to revoke link",
"create-failed": "Failed to create share link",
"invalid-link": "This link is invalid or has expired.",
"shared-by": "Shared by {{creator}}"
}
}
......@@ -38,7 +38,15 @@
"created-at": "Creado en",
"database": "Base de datos",
"day": "Día",
"days": "Días",
"days": {
"fri": "Vie",
"mon": "Lun",
"sat": "Sáb",
"sun": "Dom",
"thu": "Jue",
"tue": "Mar",
"wed": "Mié"
},
"delete": "Eliminar",
"description": "Descripción",
"edit": "Editar",
......@@ -108,15 +116,6 @@
"visibility": "Visibilidad",
"yourself": "Tú mismo"
},
"days": {
"fri": "Vie",
"mon": "Lun",
"sat": "Sáb",
"sun": "Dom",
"thu": "Jue",
"tue": "Mar",
"wed": "Mié"
},
"editor": {
"add-your-comment-here": "Agrega tu comentario aquí...",
"any-thoughts": "Alguna idea...",
......@@ -127,11 +126,6 @@
"saving": "Guardando...",
"slash-commands": "Escribe `/` para comandos"
},
"filters": {
"has-code": "tieneCódigo",
"has-link": "tieneEnlace",
"has-task-list": "tieneListaTareas"
},
"inbox": {
"failed-to-load": "Error al cargar el elemento de bandeja de entrada",
"memo-comment": "{{user}} tiene un comentario sobre tu {{memo}}.",
......@@ -162,7 +156,11 @@
"direction-asc": "Ascendente",
"direction-desc": "Descendente",
"display-time": "Hora de visualización",
"filters": "Filtros",
"filters": {
"has-code": "tieneCódigo",
"has-link": "tieneEnlace",
"has-task-list": "tieneListaTareas"
},
"links": "Enlaces",
"list": "Lista",
"load-more": "Cargar más",
......@@ -251,53 +249,7 @@
"go-to-home": "Ir al inicio"
},
"setting": {
"access-token-section": {
"access-token-copied-to-clipboard": "Token de acceso copiado al portapapeles",
"access-token-deleted": "Token de acceso `{{description}}` eliminado",
"access-token-deletion": "¿Estás seguro de que quieres eliminar el token de acceso `{{description}}`?",
"access-token-deletion-description": "Esta acción es irreversible. Necesitarás actualizar cualquier servicio que use este token para usar uno nuevo.",
"create-dialog": {
"access-token-created": "Token de acceso `{{description}}` creado",
"create-access-token": "Crear token de acceso",
"created-at": "Creado en",
"description": "Descripción",
"duration-1m": "1 mes",
"duration-8h": "8 horas",
"duration-never": "Nunca",
"expiration": "Expiración",
"expires-at": "Expira en",
"some-description": "Alguna descripción..."
},
"description": "Lista de todos los tokens de acceso de tu cuenta.",
"title": "Tokens de acceso",
"token": "Token"
},
"account-section": {
"change-password": "Cambiar contraseña",
"email-note": "Opcional",
"export-memos": "Exportar memos",
"nickname-note": "Mostrado en el banner",
"openapi-reset": "Restablecer clave OpenAPI",
"openapi-sample-post": "Hola #memos desde {{url}}",
"openapi-title": "OpenAPI",
"reset-api": "Restablecer API",
"title": "Información de la cuenta",
"update-information": "Actualizar información",
"username-note": "Usado para iniciar sesión"
},
"instance-section": {
"disallow-change-nickname": "No permitir cambiar apodo",
"disallow-change-username": "No permitir cambiar nombre de usuario",
"disallow-password-auth": "No permitir autenticación por contraseña",
"disallow-user-registration": "No permitir registro de usuarios",
"monday": "Lunes",
"saturday": "Sábado",
"sunday": "Domingo",
"week-start-day": "Día de inicio de semana"
},
"member": "Miembro",
"member-list": "Lista de miembros",
"member-section": {
"member": {
"admin": "Administrador",
"archive-member": "Archivar miembro",
"archive-success": "{{username}} archivado correctamente",
......@@ -309,30 +261,24 @@
"delete-warning": "¿Estás seguro de eliminar a {{username}}? ESTA ACCIÓN ES IRREVERSIBLE",
"delete-warning-description": "ESTA ACCIÓN ES IRREVERSIBLE",
"restore-success": "{{username}} restaurado correctamente",
"user": "Usuario"
"user": "Usuario",
"label": "Miembro",
"list-title": "Lista de miembros"
},
"memo-related": "Memo",
"memo-related-settings": {
"content-length-limit": "Límite de longitud de contenido (Bytes)",
"enable-blur-nsfw-content": "Habilitar difuminado de contenido sensible (NSFW)",
"enable-memo-comments": "Habilitar comentarios en los memos",
"enable-memo-location": "Habilitar ubicación del memo",
"reactions": "Reacciones",
"title": "Configuración de memos"
"my-account": {
"label": "Mi cuenta"
},
"my-account": "Mi cuenta",
"preference": "Preferencias",
"preference-section": {
"preference": {
"default-memo-sort-option": "Hora de visualización del memo",
"default-memo-visibility": "Visibilidad predeterminada del memo",
"theme": "Tema"
"theme": "Tema",
"label": "Preferencias"
},
"shortcut": {
"delete-confirm": "¿Estás seguro de que quieres eliminar el atajo `{{title}}`?",
"delete-success": "Atajo `{{title}}` eliminado correctamente"
},
"sso": "SSO",
"sso-section": {
"sso": {
"authorization-endpoint": "Punto final de autorización",
"client-id": "ID del cliente",
"client-secret": "Secreto del cliente",
......@@ -354,10 +300,10 @@
"template": "Plantilla",
"token-endpoint": "Punto final de token",
"update-sso": "Actualizar SSO",
"user-endpoint": "Punto final de usuario"
"user-endpoint": "Punto final de usuario",
"label": "SSO"
},
"storage": "Almacenamiento",
"storage-section": {
"storage": {
"accesskey": "Clave de acceso",
"accesskey-placeholder": "Clave de acceso / ID de acceso",
"bucket": "Bucket",
......@@ -389,10 +335,10 @@
"url-prefix-placeholder": "Prefijo de URL personalizado, opcional",
"url-suffix": "Sufijo de URL",
"url-suffix-placeholder": "Sufijo de URL personalizado, opcional",
"warning-text": "¿Estás seguro de eliminar el servicio de almacenamiento \"{{name}}\"? ESTA ACCIÓN ES IRREVERSIBLE"
"warning-text": "¿Estás seguro de eliminar el servicio de almacenamiento \"{{name}}\"? ESTA ACCIÓN ES IRREVERSIBLE",
"label": "Almacenamiento"
},
"system": "Sistema",
"system-section": {
"system": {
"additional-script": "Script adicional",
"additional-script-placeholder": "Código JavaScript adicional",
"additional-style": "Estilo adicional",
......@@ -416,10 +362,64 @@
"max-upload-size-hint": "El valor recomendado es 32 MiB.",
"removed-completed-task-list-items": "Habilitar eliminación de tareas completadas",
"server-name": "Nombre del servidor",
"title": "General"
"title": "General",
"label": "Sistema"
},
"version": "Versión",
"webhook-section": {
"access-token": {
"access-token-copied-to-clipboard": "Token de acceso copiado al portapapeles",
"access-token-deleted": "Token de acceso `{{description}}` eliminado",
"access-token-deletion": "¿Estás seguro de que quieres eliminar el token de acceso `{{description}}`?",
"access-token-deletion-description": "Esta acción es irreversible. Necesitarás actualizar cualquier servicio que use este token para usar uno nuevo.",
"create-dialog": {
"access-token-created": "Token de acceso `{{description}}` creado",
"create-access-token": "Crear token de acceso",
"created-at": "Creado en",
"description": "Descripción",
"duration-1m": "1 mes",
"duration-8h": "8 horas",
"duration-never": "Nunca",
"expiration": "Expiración",
"expires-at": "Expira en",
"some-description": "Alguna descripción..."
},
"description": "Lista de todos los tokens de acceso de tu cuenta.",
"title": "Tokens de acceso",
"token": "Token"
},
"account": {
"change-password": "Cambiar contraseña",
"email-note": "Opcional",
"export-memos": "Exportar memos",
"nickname-note": "Mostrado en el banner",
"openapi-reset": "Restablecer clave OpenAPI",
"openapi-sample-post": "Hola #memos desde {{url}}",
"openapi-title": "OpenAPI",
"reset-api": "Restablecer API",
"title": "Información de la cuenta",
"update-information": "Actualizar información",
"username-note": "Usado para iniciar sesión"
},
"instance": {
"disallow-change-nickname": "No permitir cambiar apodo",
"disallow-change-username": "No permitir cambiar nombre de usuario",
"disallow-password-auth": "No permitir autenticación por contraseña",
"disallow-user-registration": "No permitir registro de usuarios",
"monday": "Lunes",
"saturday": "Sábado",
"sunday": "Domingo",
"week-start-day": "Día de inicio de semana"
},
"memo": {
"content-length-limit": "Límite de longitud de contenido (Bytes)",
"enable-blur-nsfw-content": "Habilitar difuminado de contenido sensible (NSFW)",
"enable-memo-comments": "Habilitar comentarios en los memos",
"enable-memo-location": "Habilitar ubicación del memo",
"reactions": "Reacciones",
"title": "Configuración de memos",
"label": "Memo"
},
"webhook": {
"create-dialog": {
"an-easy-to-remember-name": "Un nombre fácil de recordar",
"create-webhook": "Crear webhook",
......
This diff is collapsed.
......@@ -38,7 +38,15 @@
"created-at": "Créé le",
"database": "Base de données",
"day": "Jour",
"days": "Jours",
"days": {
"fri": "Ven",
"mon": "Lun",
"sat": "Sam",
"sun": "Dim",
"thu": "Jeu",
"tue": "Mar",
"wed": "Mer"
},
"delete": "Supprimer",
"description": "Description",
"edit": "Éditer",
......@@ -108,15 +116,6 @@
"visibility": "Visibilité",
"yourself": "Vous-même"
},
"days": {
"fri": "Ven",
"mon": "Lun",
"sat": "Sam",
"sun": "Dim",
"thu": "Jeu",
"tue": "Mar",
"wed": "Mer"
},
"editor": {
"add-your-comment-here": "Ajoutez votre commentaire ici...",
"any-thoughts": "Des idées...",
......@@ -127,11 +126,6 @@
"saving": "Enregistrement...",
"slash-commands": "Tapez `/` pour les commandes"
},
"filters": {
"has-code": "aCode",
"has-link": "aLien",
"has-task-list": "aListeTâches"
},
"inbox": {
"failed-to-load": "Échec du chargement de l'élément",
"memo-comment": "{{user}} a commenté votre {{memo}}.",
......@@ -162,7 +156,11 @@
"direction-asc": "Ascendant",
"direction-desc": "Descendant",
"display-time": "Afficher l'heure",
"filters": "Filtres",
"filters": {
"has-code": "aCode",
"has-link": "aLien",
"has-task-list": "aListeTâches"
},
"links": "Liens",
"list": "Liste",
"load-more": "Charger plus",
......@@ -251,53 +249,7 @@
"go-to-home": "Aller à l'accueil"
},
"setting": {
"access-token-section": {
"access-token-copied-to-clipboard": "Jeton d'accès copié dans le presse-papiers",
"access-token-deleted": "Jeton d'accès `{{description}}` supprimé",
"access-token-deletion": "Êtes-vous sûr de vouloir supprimer le jeton d'accès `{{description}}` ?",
"access-token-deletion-description": "Cette action est irréversible. Vous devrez mettre à jour tous les services utilisant ce jeton.",
"create-dialog": {
"access-token-created": "Jeton d'accès `{{description}}` créé",
"create-access-token": "Créer un jeton d'accès",
"created-at": "Créé le",
"description": "Description",
"duration-1m": "1 mois",
"duration-8h": "8 heures",
"duration-never": "Jamais",
"expiration": "Expiration",
"expires-at": "Expire le",
"some-description": "Une description..."
},
"description": "Liste de tous les jetons d'accès de votre compte.",
"title": "Jetons d'accès",
"token": "Jeton"
},
"account-section": {
"change-password": "Changer le mot de passe",
"email-note": "Optionnel",
"export-memos": "Exporter les notes",
"nickname-note": "Affiché dans la bannière",
"openapi-reset": "Réinitialiser la clé OpenAPI",
"openapi-sample-post": "Bonjour #notes depuis {{url}}",
"openapi-title": "OpenAPI",
"reset-api": "Réinitialiser l'API",
"title": "Informations du compte",
"update-information": "Mettre à jour les informations",
"username-note": "Utilisé pour se connecter"
},
"instance-section": {
"disallow-change-nickname": "Interdire le changement de surnom",
"disallow-change-username": "Interdire le changement de nom d'utilisateur",
"disallow-password-auth": "Interdire l'authentification par mot de passe",
"disallow-user-registration": "Interdire l'inscription des utilisateurs",
"monday": "Lundi",
"saturday": "Samedi",
"sunday": "Dimanche",
"week-start-day": "Jour de début de semaine"
},
"member": "Membre",
"member-list": "Liste des membres",
"member-section": {
"member": {
"admin": "Admin",
"archive-member": "Archiver le membre",
"archive-success": "{{username}} archivé avec succès",
......@@ -309,30 +261,24 @@
"delete-warning": "Êtes-vous sûr de vouloir supprimer {{username}} ? CETTE ACTION EST IRRÉVERSIBLE",
"delete-warning-description": "CETTE ACTION EST IRRÉVERSIBLE",
"restore-success": "{{username}} restauré avec succès",
"user": "Utilisateur"
"user": "Utilisateur",
"label": "Membre",
"list-title": "Liste des membres"
},
"memo-related": "Note",
"memo-related-settings": {
"content-length-limit": "Limite de longueur du contenu (octets)",
"enable-blur-nsfw-content": "Activer le flou pour le contenu sensible (NSFW)",
"enable-memo-comments": "Activer les commentaires sur les notes",
"enable-memo-location": "Activer la localisation des notes",
"reactions": "Réactions",
"title": "Paramètres des notes"
"my-account": {
"label": "Mon compte"
},
"my-account": "Mon compte",
"preference": "Préférences",
"preference-section": {
"preference": {
"default-memo-sort-option": "Date d'affichage de la note",
"default-memo-visibility": "Visibilité par défaut de la note",
"theme": "Thème"
"theme": "Thème",
"label": "Préférences"
},
"shortcut": {
"delete-confirm": "Êtes-vous sûr de vouloir supprimer le raccourci `{{title}}` ?",
"delete-success": "Raccourci `{{title}}` supprimé avec succès"
},
"sso": "SSO",
"sso-section": {
"sso": {
"authorization-endpoint": "Point de terminaison d'autorisation",
"client-id": "ID client",
"client-secret": "Secret client",
......@@ -354,10 +300,10 @@
"template": "Modèle",
"token-endpoint": "Point de terminaison du jeton",
"update-sso": "Mettre à jour SSO",
"user-endpoint": "Point de terminaison utilisateur"
"user-endpoint": "Point de terminaison utilisateur",
"label": "SSO"
},
"storage": "Stockage",
"storage-section": {
"storage": {
"accesskey": "Clé d'accès",
"accesskey-placeholder": "Clé d'accès / ID d'accès",
"bucket": "Bucket",
......@@ -389,10 +335,10 @@
"url-prefix-placeholder": "Préfixe d'URL personnalisé, optionnel",
"url-suffix": "Suffixe d'URL",
"url-suffix-placeholder": "Suffixe d'URL personnalisé, optionnel",
"warning-text": "Êtes-vous sûr de vouloir supprimer le service de stockage \"{{name}}\" ? CETTE ACTION EST IRRÉVERSIBLE"
"warning-text": "Êtes-vous sûr de vouloir supprimer le service de stockage \"{{name}}\" ? CETTE ACTION EST IRRÉVERSIBLE",
"label": "Stockage"
},
"system": "Système",
"system-section": {
"system": {
"additional-script": "Script additionnel",
"additional-script-placeholder": "Code JavaScript additionnel",
"additional-style": "Style additionnel",
......@@ -416,10 +362,64 @@
"max-upload-size-hint": "La valeur recommandée est 32 MiB.",
"removed-completed-task-list-items": "Activer la suppression des tâches terminées",
"server-name": "Nom du serveur",
"title": "Général"
"title": "Général",
"label": "Système"
},
"version": "Version",
"webhook-section": {
"access-token": {
"access-token-copied-to-clipboard": "Jeton d'accès copié dans le presse-papiers",
"access-token-deleted": "Jeton d'accès `{{description}}` supprimé",
"access-token-deletion": "Êtes-vous sûr de vouloir supprimer le jeton d'accès `{{description}}` ?",
"access-token-deletion-description": "Cette action est irréversible. Vous devrez mettre à jour tous les services utilisant ce jeton.",
"create-dialog": {
"access-token-created": "Jeton d'accès `{{description}}` créé",
"create-access-token": "Créer un jeton d'accès",
"created-at": "Créé le",
"description": "Description",
"duration-1m": "1 mois",
"duration-8h": "8 heures",
"duration-never": "Jamais",
"expiration": "Expiration",
"expires-at": "Expire le",
"some-description": "Une description..."
},
"description": "Liste de tous les jetons d'accès de votre compte.",
"title": "Jetons d'accès",
"token": "Jeton"
},
"account": {
"change-password": "Changer le mot de passe",
"email-note": "Optionnel",
"export-memos": "Exporter les notes",
"nickname-note": "Affiché dans la bannière",
"openapi-reset": "Réinitialiser la clé OpenAPI",
"openapi-sample-post": "Bonjour #notes depuis {{url}}",
"openapi-title": "OpenAPI",
"reset-api": "Réinitialiser l'API",
"title": "Informations du compte",
"update-information": "Mettre à jour les informations",
"username-note": "Utilisé pour se connecter"
},
"instance": {
"disallow-change-nickname": "Interdire le changement de surnom",
"disallow-change-username": "Interdire le changement de nom d'utilisateur",
"disallow-password-auth": "Interdire l'authentification par mot de passe",
"disallow-user-registration": "Interdire l'inscription des utilisateurs",
"monday": "Lundi",
"saturday": "Samedi",
"sunday": "Dimanche",
"week-start-day": "Jour de début de semaine"
},
"memo": {
"content-length-limit": "Limite de longueur du contenu (octets)",
"enable-blur-nsfw-content": "Activer le flou pour le contenu sensible (NSFW)",
"enable-memo-comments": "Activer les commentaires sur les notes",
"enable-memo-location": "Activer la localisation des notes",
"reactions": "Réactions",
"title": "Paramètres des notes",
"label": "Note"
},
"webhook": {
"create-dialog": {
"an-easy-to-remember-name": "Un nom facile à retenir",
"create-webhook": "Créer un webhook",
......
......@@ -38,7 +38,15 @@
"created-at": "Creada o",
"database": "Base de datos",
"day": "Día",
"days": "Días",
"days": {
"fri": "Ven",
"mon": "Lun",
"sat": "Sáb",
"sun": "Dom",
"thu": "Xov",
"tue": "Mar",
"wed": "Mér"
},
"delete": "Eliminar",
"description": "Descrición",
"edit": "Editar",
......@@ -108,15 +116,6 @@
"visibility": "Visibilidade",
"yourself": "Ti"
},
"days": {
"fri": "Ven",
"mon": "Lun",
"sat": "Sáb",
"sun": "Dom",
"thu": "Xov",
"tue": "Mar",
"wed": "Mér"
},
"editor": {
"add-your-comment-here": "Engade aquí o comentario...",
"any-thoughts": "O que pensas...",
......@@ -127,11 +126,6 @@
"saving": "Gardando...",
"slash-commands": "Escribe `/` para ordes"
},
"filters": {
"has-code": "hasCode",
"has-link": "hasLink",
"has-task-list": "hasTaskList"
},
"inbox": {
"failed-to-load": "Fallou a carga do elemento da caixa de entrada",
"memo-comment": "{{user}} fixo un comentario en {{memo}}.",
......@@ -162,7 +156,11 @@
"direction-asc": "Ascendente",
"direction-desc": "Descendente",
"display-time": "Mostrar hora",
"filters": "Filtros",
"filters": {
"has-code": "hasCode",
"has-link": "hasLink",
"has-task-list": "hasTaskList"
},
"links": "Ligazóns",
"list": "Lista",
"load-more": "Cargar máis",
......@@ -251,53 +249,7 @@
"go-to-home": "Ir ao Inicio"
},
"setting": {
"access-token-section": {
"access-token-copied-to-clipboard": "Token de acceso copiado ao portapapeis",
"access-token-deleted": "Eliminouse o token de acceso `{{description}}`",
"access-token-deletion": "Tes certeza de querer eliminar o toke de acceso `{{description}}`?",
"access-token-deletion-description": "Esta acción non é reversible. Terás que actualizar o token de acceso en todos os servizos que utilicen o actual.",
"create-dialog": {
"access-token-created": "Creouse o token de acceso `{{description}}`",
"create-access-token": "Crear token de acceso",
"created-at": "Creado o",
"description": "Descrición",
"duration-1m": "1 mes",
"duration-8h": "8 horas",
"duration-never": "Nunca",
"expiration": "Caducidade",
"expires-at": "Caduca o",
"some-description": "Descrición..."
},
"description": "Lista con todos os tokens de acceso da túa conta.",
"title": "Tokens de acceso",
"token": "Token"
},
"account-section": {
"change-password": "Cambiar contrasinal",
"email-note": "Optativo",
"export-memos": "Exportar Memos",
"nickname-note": "Mostrado na cabeceira",
"openapi-reset": "Restablecer clave OpenAPI",
"openapi-sample-post": "Ola #memos desde {{url}}",
"openapi-title": "OpenAPI",
"reset-api": "Restablecer API",
"title": "Información da conta",
"update-information": "Actualizar información",
"username-note": "Utilizada para acceder"
},
"instance-section": {
"disallow-change-nickname": "Non permitir cambiar o alcume",
"disallow-change-username": "Non permitir cambiar o identificador",
"disallow-password-auth": "Desactivar acceso con contrasinal",
"disallow-user-registration": "Non permitir a creación de contas",
"monday": "Luns",
"saturday": "Sábado",
"sunday": "Domingo",
"week-start-day": "Comezo da semana"
},
"member": "Usuaria",
"member-list": "Lista de usuarias",
"member-section": {
"member": {
"admin": "Admin",
"archive-member": "Arquivar usuaria",
"archive-success": "{{username}} arquivada correctamente",
......@@ -309,30 +261,24 @@
"delete-warning": "Tes certeza de querer eliminar a {{username}}?",
"delete-warning-description": "ESTA ACCIÓN NON É REVERSIBLE",
"restore-success": "{{username}} restablecida correctamente",
"user": "Usuaria"
"user": "Usuaria",
"label": "Usuaria",
"list-title": "Lista de usuarias"
},
"memo-related": "Memo",
"memo-related-settings": {
"content-length-limit": "Límite de lonxitude do contido (Byte)",
"enable-blur-nsfw-content": "Activar esvaecemento do contido sensible (NSFW)",
"enable-memo-comments": "Activar comentarios nas notas",
"enable-memo-location": "Activar localización nas notas",
"reactions": "Reaccións",
"title": "Axustes relacionados coas notas"
"my-account": {
"label": "A miña conta"
},
"my-account": "A miña conta",
"preference": "Preferencias",
"preference-section": {
"preference": {
"default-memo-sort-option": "Hora da nota mostrada",
"default-memo-visibility": "Visibilidade por defecto",
"theme": "Decorado"
"theme": "Decorado",
"label": "Preferencias"
},
"shortcut": {
"delete-confirm": "Tes certeza de querer eliminar o atallo `{{title}}`?",
"delete-success": "Eliminouse correctamente o atallo `{{title}}`"
},
"sso": "SSO",
"sso-section": {
"sso": {
"authorization-endpoint": "Punto de acceso para autorización",
"client-id": "ID do cliente",
"client-secret": "Secreto do cliente",
......@@ -354,10 +300,10 @@
"template": "Modelo",
"token-endpoint": "Token do punto de acceso",
"update-sso": "Actualizar SSO",
"user-endpoint": "Punto de acceso da usuaria"
"user-endpoint": "Punto de acceso da usuaria",
"label": "SSO"
},
"storage": "Almacenaxe",
"storage-section": {
"storage": {
"accesskey": "Clave de acceso",
"accesskey-placeholder": "Clave de acceso / ID de acceso",
"bucket": "Bucket",
......@@ -389,10 +335,10 @@
"url-prefix-placeholder": "Prefixo personalizado do URL, optativo",
"url-suffix": "Sufixo do URL",
"url-suffix-placeholder": "Sufixo personalizado do URL, optativo",
"warning-text": "Tes certeza de querer eliminar o servizo de almacenaxe `{{name}}`? ESTA ACCIÓN NON É REVERSIBLE."
"warning-text": "Tes certeza de querer eliminar o servizo de almacenaxe `{{name}}`? ESTA ACCIÓN NON É REVERSIBLE.",
"label": "Almacenaxe"
},
"system": "Sistema",
"system-section": {
"system": {
"additional-script": "Script adicional",
"additional-script-placeholder": "Código JavaScript adicional",
"additional-style": "Estilo adicional",
......@@ -416,10 +362,64 @@
"max-upload-size-hint": "O valor recomendado é 32 MiB.",
"removed-completed-task-list-items": "Activar a eliminación dos elementos da lista de tarefas completadas",
"server-name": "Nome do servidor",
"title": "Xeral"
"title": "Xeral",
"label": "Sistema"
},
"version": "Versión",
"webhook-section": {
"access-token": {
"access-token-copied-to-clipboard": "Token de acceso copiado ao portapapeis",
"access-token-deleted": "Eliminouse o token de acceso `{{description}}`",
"access-token-deletion": "Tes certeza de querer eliminar o toke de acceso `{{description}}`?",
"access-token-deletion-description": "Esta acción non é reversible. Terás que actualizar o token de acceso en todos os servizos que utilicen o actual.",
"create-dialog": {
"access-token-created": "Creouse o token de acceso `{{description}}`",
"create-access-token": "Crear token de acceso",
"created-at": "Creado o",
"description": "Descrición",
"duration-1m": "1 mes",
"duration-8h": "8 horas",
"duration-never": "Nunca",
"expiration": "Caducidade",
"expires-at": "Caduca o",
"some-description": "Descrición..."
},
"description": "Lista con todos os tokens de acceso da túa conta.",
"title": "Tokens de acceso",
"token": "Token"
},
"account": {
"change-password": "Cambiar contrasinal",
"email-note": "Optativo",
"export-memos": "Exportar Memos",
"nickname-note": "Mostrado na cabeceira",
"openapi-reset": "Restablecer clave OpenAPI",
"openapi-sample-post": "Ola #memos desde {{url}}",
"openapi-title": "OpenAPI",
"reset-api": "Restablecer API",
"title": "Información da conta",
"update-information": "Actualizar información",
"username-note": "Utilizada para acceder"
},
"instance": {
"disallow-change-nickname": "Non permitir cambiar o alcume",
"disallow-change-username": "Non permitir cambiar o identificador",
"disallow-password-auth": "Desactivar acceso con contrasinal",
"disallow-user-registration": "Non permitir a creación de contas",
"monday": "Luns",
"saturday": "Sábado",
"sunday": "Domingo",
"week-start-day": "Comezo da semana"
},
"memo": {
"content-length-limit": "Límite de lonxitude do contido (Byte)",
"enable-blur-nsfw-content": "Activar esvaecemento do contido sensible (NSFW)",
"enable-memo-comments": "Activar comentarios nas notas",
"enable-memo-location": "Activar localización nas notas",
"reactions": "Reaccións",
"title": "Axustes relacionados coas notas",
"label": "Memo"
},
"webhook": {
"create-dialog": {
"an-easy-to-remember-name": "Un nome doado de lembrar",
"create-webhook": "Crear webhook",
......
This diff is collapsed.
......@@ -38,7 +38,15 @@
"created-at": "Stvoreno",
"database": "Baza podataka",
"day": "Dan",
"days": "Dani",
"days": {
"fri": "Pet",
"mon": "Pon",
"sat": "Sub",
"sun": "Ned",
"thu": "Čet",
"tue": "Uto",
"wed": "Sri"
},
"delete": "Obriši",
"description": "Opis",
"edit": "Uredi",
......@@ -108,15 +116,6 @@
"visibility": "Vidljivost",
"yourself": "Ti"
},
"days": {
"fri": "Pet",
"mon": "Pon",
"sat": "Sub",
"sun": "Ned",
"thu": "Čet",
"tue": "Uto",
"wed": "Sri"
},
"editor": {
"add-your-comment-here": "Dodaj svoj komentar ovdje...",
"any-thoughts": "Imaš li misli...",
......@@ -127,11 +126,6 @@
"saving": "Spremanje...",
"slash-commands": "Upisi `/` za naredbe"
},
"filters": {
"has-code": "imaKod",
"has-link": "imaLink",
"has-task-list": "imaZadatke"
},
"inbox": {
"failed-to-load": "Neuspjelo učitavanje stavke pristigle pošte",
"memo-comment": "{{user}} je komentirao tvoj {{memo}}.",
......@@ -162,7 +156,11 @@
"direction-asc": "Uzlazno",
"direction-desc": "Silazno",
"display-time": "Vrijeme prikaza",
"filters": "Filteri",
"filters": {
"has-code": "imaKod",
"has-link": "imaLink",
"has-task-list": "imaZadatke"
},
"links": "Linkovi",
"list": "Popis",
"load-more": "Učitaj više",
......@@ -251,53 +249,7 @@
"go-to-home": "Idi na početnu"
},
"setting": {
"access-token-section": {
"access-token-copied-to-clipboard": "Token pristupa kopiran u međuspremnik",
"access-token-deleted": "Token pristupa `{{description}}` obrisan",
"access-token-deletion": "Jesi li siguran da želiš obrisati token pristupa `{{description}}`?",
"access-token-deletion-description": "Ova akcija je nepovratna. Morat ćeš ažurirati sve usluge koje koriste ovaj token da koriste novi token.",
"create-dialog": {
"access-token-created": "Token pristupa `{{description}}` stvoren",
"create-access-token": "Stvori token pristupa",
"created-at": "Stvoreno",
"description": "Opis",
"duration-1m": "1 mjesec",
"duration-8h": "8 sati",
"duration-never": "Nikada",
"expiration": "Istječe",
"expires-at": "Istječe na",
"some-description": "Neki opis..."
},
"description": "Popis svih tokena pristupa za tvoj račun.",
"title": "Tokeni pristupa",
"token": "Token"
},
"account-section": {
"change-password": "Promijeni lozinku",
"email-note": "Neobavezno",
"export-memos": "Izvezi memoe",
"nickname-note": "Prikazano u banneru",
"openapi-reset": "Resetiraj OpenAPI ključ",
"openapi-sample-post": "Pozdrav #memos od {{url}}",
"openapi-title": "OpenAPI",
"reset-api": "Resetiraj API",
"title": "Informacije o računu",
"update-information": "Ažuriraj informacije",
"username-note": "Koristi se za prijavu"
},
"instance-section": {
"disallow-change-nickname": "Onemogući promjenu nadimka",
"disallow-change-username": "Onemogući promjenu korisničkog imena",
"disallow-password-auth": "Onemogući autentikaciju lozinkom",
"disallow-user-registration": "Onemogući registraciju korisnika",
"monday": "Ponedjeljak",
"saturday": "Subota",
"sunday": "Nedjelja",
"week-start-day": "Dan početka tjedna"
},
"member": "Član",
"member-list": "Popis članova",
"member-section": {
"member": {
"admin": "Admin",
"archive-member": "Arhiviraj člana",
"archive-success": "{{username}} uspješno arhiviran",
......@@ -309,30 +261,24 @@
"delete-warning": "Jesi li siguran da želiš obrisati {{username}}?",
"delete-warning-description": "OVA AKCIJA JE NEPOVRATNA",
"restore-success": "{{username}} uspješno vraćen",
"user": "Korisnik"
"user": "Korisnik",
"label": "Član",
"list-title": "Popis članova"
},
"memo-related": "Memo",
"memo-related-settings": {
"content-length-limit": "Ograničenje duljine sadržaja (Bajt)",
"enable-blur-nsfw-content": "Omogući zamućenje osjetljivog sadržaja (NSFW)",
"enable-memo-comments": "Omogući komentare na memoima",
"enable-memo-location": "Omogući lokaciju memoa",
"reactions": "Reakcije",
"title": "Postavke vezane uz memo"
"my-account": {
"label": "Moj račun"
},
"my-account": "Moj račun",
"preference": "Postavke",
"preference-section": {
"preference": {
"default-memo-sort-option": "Vrijeme prikaza memoa",
"default-memo-visibility": "Zadana vidljivost memoa",
"theme": "Tema"
"theme": "Tema",
"label": "Postavke"
},
"shortcut": {
"delete-confirm": "Jesi li siguran da želiš obrisati prečac `{{title}}`?",
"delete-success": "Prečac `{{title}}` uspješno obrisan"
},
"sso": "SSO",
"sso-section": {
"sso": {
"authorization-endpoint": "Krajnja točka autorizacije",
"client-id": "ID klijenta",
"client-secret": "Tajna klijenta",
......@@ -354,10 +300,10 @@
"template": "Predložak",
"token-endpoint": "Krajnja točka tokena",
"update-sso": "Ažuriraj SSO",
"user-endpoint": "Krajnja točka korisnika"
"user-endpoint": "Krajnja točka korisnika",
"label": "SSO"
},
"storage": "Skladište",
"storage-section": {
"storage": {
"accesskey": "Pristupni ključ",
"accesskey-placeholder": "Pristupni ključ / ID pristupa",
"bucket": "Bucket",
......@@ -389,10 +335,10 @@
"url-prefix-placeholder": "Prilagođeni URL prefiks, opcionalno",
"url-suffix": "URL sufiks",
"url-suffix-placeholder": "Prilagođeni URL sufiks, opcionalno",
"warning-text": "Jesi li siguran da želiš obrisati skladišnu uslugu \"{{name}}\"? OVA AKCIJA JE NEPOVRATNA"
"warning-text": "Jesi li siguran da želiš obrisati skladišnu uslugu \"{{name}}\"? OVA AKCIJA JE NEPOVRATNA",
"label": "Skladište"
},
"system": "Sustav",
"system-section": {
"system": {
"additional-script": "Dodatna skripta",
"additional-script-placeholder": "Dodatni JavaScript kod",
"additional-style": "Dodatni stil",
......@@ -416,10 +362,64 @@
"max-upload-size-hint": "Preporučena vrijednost je 32 MiB.",
"removed-completed-task-list-items": "Omogući uklanjanje završenih zadataka",
"server-name": "Naziv servera",
"title": "Općenito"
"title": "Općenito",
"label": "Sustav"
},
"version": "Verzija",
"webhook-section": {
"access-token": {
"access-token-copied-to-clipboard": "Token pristupa kopiran u međuspremnik",
"access-token-deleted": "Token pristupa `{{description}}` obrisan",
"access-token-deletion": "Jesi li siguran da želiš obrisati token pristupa `{{description}}`?",
"access-token-deletion-description": "Ova akcija je nepovratna. Morat ćeš ažurirati sve usluge koje koriste ovaj token da koriste novi token.",
"create-dialog": {
"access-token-created": "Token pristupa `{{description}}` stvoren",
"create-access-token": "Stvori token pristupa",
"created-at": "Stvoreno",
"description": "Opis",
"duration-1m": "1 mjesec",
"duration-8h": "8 sati",
"duration-never": "Nikada",
"expiration": "Istječe",
"expires-at": "Istječe na",
"some-description": "Neki opis..."
},
"description": "Popis svih tokena pristupa za tvoj račun.",
"title": "Tokeni pristupa",
"token": "Token"
},
"account": {
"change-password": "Promijeni lozinku",
"email-note": "Neobavezno",
"export-memos": "Izvezi memoe",
"nickname-note": "Prikazano u banneru",
"openapi-reset": "Resetiraj OpenAPI ključ",
"openapi-sample-post": "Pozdrav #memos od {{url}}",
"openapi-title": "OpenAPI",
"reset-api": "Resetiraj API",
"title": "Informacije o računu",
"update-information": "Ažuriraj informacije",
"username-note": "Koristi se za prijavu"
},
"instance": {
"disallow-change-nickname": "Onemogući promjenu nadimka",
"disallow-change-username": "Onemogući promjenu korisničkog imena",
"disallow-password-auth": "Onemogući autentikaciju lozinkom",
"disallow-user-registration": "Onemogući registraciju korisnika",
"monday": "Ponedjeljak",
"saturday": "Subota",
"sunday": "Nedjelja",
"week-start-day": "Dan početka tjedna"
},
"memo": {
"content-length-limit": "Ograničenje duljine sadržaja (Bajt)",
"enable-blur-nsfw-content": "Omogući zamućenje osjetljivog sadržaja (NSFW)",
"enable-memo-comments": "Omogući komentare na memoima",
"enable-memo-location": "Omogući lokaciju memoa",
"reactions": "Reakcije",
"title": "Postavke vezane uz memo",
"label": "Memo"
},
"webhook": {
"create-dialog": {
"an-easy-to-remember-name": "Jednostavno ime za pamćenje",
"create-webhook": "Stvori webhook",
......
......@@ -38,7 +38,15 @@
"created-at": "Létrehozva",
"database": "Adatbázis",
"day": "Nap",
"days": "Napok",
"days": {
"fri": "Pé",
"mon": "Hé",
"sat": "Szo",
"sun": "Vas",
"thu": "Csü",
"tue": "Ke",
"wed": "Sze"
},
"delete": "Törlés",
"description": "Leírás",
"edit": "Szerkesztés",
......@@ -108,15 +116,6 @@
"visibility": "Láthatóság",
"yourself": "Magad"
},
"days": {
"fri": "Pé",
"mon": "Hé",
"sat": "Szo",
"sun": "Vas",
"thu": "Csü",
"tue": "Ke",
"wed": "Sze"
},
"editor": {
"add-your-comment-here": "Írd ide a megjegyzésed...",
"any-thoughts": "Bármi ami a fejedben jár...",
......@@ -127,11 +126,6 @@
"saving": "Mentés...",
"slash-commands": "Írj `/` parancsokat"
},
"filters": {
"has-code": "vanKód",
"has-link": "vanLink",
"has-task-list": "vanFeladatLista"
},
"inbox": {
"failed-to-load": "Nem sikerült betölteni az értesítést",
"memo-comment": "{{user}} hozzászólt ehhez: {{memo}}.",
......@@ -162,7 +156,11 @@
"direction-asc": "Növekvő",
"direction-desc": "Csökkenő",
"display-time": "Megjelenítési idő",
"filters": "Szűrők",
"filters": {
"has-code": "vanKód",
"has-link": "vanLink",
"has-task-list": "vanFeladatLista"
},
"links": "Hivatkozások",
"list": "Lista",
"load-more": "Több betöltése",
......@@ -251,53 +249,7 @@
"go-to-home": "Vissza a főoldalra"
},
"setting": {
"access-token-section": {
"access-token-copied-to-clipboard": "Hozzáférési token vágólapra másolva",
"access-token-deleted": "Hozzáférési token `{{description}}` törölve",
"access-token-deletion": "Biztosan törlöd a hozzáférési tokent `{{description}}`?",
"access-token-deletion-description": "Ez a művelet visszafordíthatatlan. Frissítened kell minden szolgáltatást, amely ezt a tokent használja, hogy új tokent használjanak.",
"create-dialog": {
"access-token-created": "Hozzáférési token `{{description}}` létrehozva",
"create-access-token": "Hozzáférési token létrehozása",
"created-at": "Létrehozva",
"description": "Leírás",
"duration-1m": "1 hónap",
"duration-8h": "8 óra",
"duration-never": "Soha",
"expiration": "Lejárat",
"expires-at": "Lejárat dátuma",
"some-description": "Néhány leírás..."
},
"description": "A fiókodhoz tartozó összes hozzáférési token listája.",
"title": "Hozzáférési tokenek",
"token": "Token"
},
"account-section": {
"change-password": "Jelszó megváltoztatása",
"email-note": "Nem kötelező",
"export-memos": "Jegyzetek exportálása",
"nickname-note": "A bannerben megjelenített",
"openapi-reset": "OpenAPI kulcs visszaállítása",
"openapi-sample-post": "Hello #memos innen: {{url}}",
"openapi-title": "OpenAPI",
"reset-api": "API visszaállítása",
"title": "Fiókinformáció",
"update-information": "Információ frissítése",
"username-note": "Bejelentkezéshez használt"
},
"instance-section": {
"disallow-change-nickname": "Becenév módosításának tiltása",
"disallow-change-username": "Felhasználónév módosításának tiltása",
"disallow-password-auth": "Jelszavas hitelesítés tiltása",
"disallow-user-registration": "Felhasználó regisztráció tiltása",
"monday": "Hétfő",
"saturday": "Szombat",
"sunday": "Vasárnap",
"week-start-day": "A hét kezdőnapja"
},
"member": "Tag",
"member-list": "Taglista",
"member-section": {
"member": {
"admin": "Admin",
"archive-member": "Tag archiválása",
"archive-success": "{{username}} sikeresen archiválva",
......@@ -309,30 +261,24 @@
"delete-warning": "Biztosan törlöd {{username}} tagot?",
"delete-warning-description": "EZ A MŰVELET VÉGLEGES",
"restore-success": "{{username}} sikeresen visszaállítva",
"user": "Felhasználó"
"user": "Felhasználó",
"label": "Tag",
"list-title": "Taglista"
},
"memo-related": "Jegyzet",
"memo-related-settings": {
"content-length-limit": "Tartalom hosszának korlátja (bájt)",
"enable-blur-nsfw-content": "Érzékeny (NSFW) tartalom elhomályosításának engedélyezése",
"enable-memo-comments": "Jegyzet hozzászólások engedélyezése",
"enable-memo-location": "Jegyzet helyének engedélyezése",
"reactions": "Reakciók",
"title": "Jegyzethez kapcsolódó beállítások"
"my-account": {
"label": "Fiókom"
},
"my-account": "Fiókom",
"preference": "Preferenciák",
"preference-section": {
"preference": {
"default-memo-sort-option": "Jegyzet megjelenítési ideje",
"default-memo-visibility": "Jegyzetek alapértelmezett láthatósága",
"theme": "Téma"
"theme": "Téma",
"label": "Preferenciák"
},
"shortcut": {
"delete-confirm": "Biztosan törlöd a `{{title}}` gyorsbillentyűt?",
"delete-success": "`{{title}}` gyorsbillentyű sikeresen törölve"
},
"sso": "SSO",
"sso-section": {
"sso": {
"authorization-endpoint": "Hitelesítési végpont",
"client-id": "Kliens ID",
"client-secret": "Kliens titok",
......@@ -354,10 +300,10 @@
"template": "Sablon",
"token-endpoint": "Token végpont",
"update-sso": "SSO frissítése",
"user-endpoint": "Felhasználói végpont"
"user-endpoint": "Felhasználói végpont",
"label": "SSO"
},
"storage": "Tárhely",
"storage-section": {
"storage": {
"accesskey": "Hozzáférési kulcs",
"accesskey-placeholder": "Access key / Access ID",
"bucket": "Bucket",
......@@ -389,10 +335,10 @@
"url-prefix-placeholder": "Egyedi URL előtag, nem kötelező",
"url-suffix": "URL utótag",
"url-suffix-placeholder": "Egyedi URL utótag, nem kötelező",
"warning-text": "Biztosan törlöd a(z) \"{{name}}\" tárhelyszolgáltatást? EZ A MŰVELET VÉGLEGES"
"warning-text": "Biztosan törlöd a(z) \"{{name}}\" tárhelyszolgáltatást? EZ A MŰVELET VÉGLEGES",
"label": "Tárhely"
},
"system": "Rendszer",
"system-section": {
"system": {
"additional-script": "Egyedi script",
"additional-script-placeholder": "Egyedi JavaScript kód",
"additional-style": "Egyedi stílus",
......@@ -416,10 +362,64 @@
"max-upload-size-hint": "Az ajánlott érték 32 MiB.",
"removed-completed-task-list-items": "Kész feladatok törlésének engedélyezése",
"server-name": "Szerver neve",
"title": "Általános"
"title": "Általános",
"label": "Rendszer"
},
"version": "Verzió",
"webhook-section": {
"access-token": {
"access-token-copied-to-clipboard": "Hozzáférési token vágólapra másolva",
"access-token-deleted": "Hozzáférési token `{{description}}` törölve",
"access-token-deletion": "Biztosan törlöd a hozzáférési tokent `{{description}}`?",
"access-token-deletion-description": "Ez a művelet visszafordíthatatlan. Frissítened kell minden szolgáltatást, amely ezt a tokent használja, hogy új tokent használjanak.",
"create-dialog": {
"access-token-created": "Hozzáférési token `{{description}}` létrehozva",
"create-access-token": "Hozzáférési token létrehozása",
"created-at": "Létrehozva",
"description": "Leírás",
"duration-1m": "1 hónap",
"duration-8h": "8 óra",
"duration-never": "Soha",
"expiration": "Lejárat",
"expires-at": "Lejárat dátuma",
"some-description": "Néhány leírás..."
},
"description": "A fiókodhoz tartozó összes hozzáférési token listája.",
"title": "Hozzáférési tokenek",
"token": "Token"
},
"account": {
"change-password": "Jelszó megváltoztatása",
"email-note": "Nem kötelező",
"export-memos": "Jegyzetek exportálása",
"nickname-note": "A bannerben megjelenített",
"openapi-reset": "OpenAPI kulcs visszaállítása",
"openapi-sample-post": "Hello #memos innen: {{url}}",
"openapi-title": "OpenAPI",
"reset-api": "API visszaállítása",
"title": "Fiókinformáció",
"update-information": "Információ frissítése",
"username-note": "Bejelentkezéshez használt"
},
"instance": {
"disallow-change-nickname": "Becenév módosításának tiltása",
"disallow-change-username": "Felhasználónév módosításának tiltása",
"disallow-password-auth": "Jelszavas hitelesítés tiltása",
"disallow-user-registration": "Felhasználó regisztráció tiltása",
"monday": "Hétfő",
"saturday": "Szombat",
"sunday": "Vasárnap",
"week-start-day": "A hét kezdőnapja"
},
"memo": {
"content-length-limit": "Tartalom hosszának korlátja (bájt)",
"enable-blur-nsfw-content": "Érzékeny (NSFW) tartalom elhomályosításának engedélyezése",
"enable-memo-comments": "Jegyzet hozzászólások engedélyezése",
"enable-memo-location": "Jegyzet helyének engedélyezése",
"reactions": "Reakciók",
"title": "Jegyzethez kapcsolódó beállítások",
"label": "Jegyzet"
},
"webhook": {
"create-dialog": {
"an-easy-to-remember-name": "Könnyen megjegyezhető név",
"create-webhook": "Webhook létrehozása",
......
......@@ -38,7 +38,15 @@
"created-at": "Dibuat pada",
"database": "Basis Data",
"day": "Hari",
"days": "Hari",
"days": {
"fri": "Jum",
"mon": "Sen",
"sat": "Sab",
"sun": "Min",
"thu": "Kam",
"tue": "Sel",
"wed": "Rab"
},
"delete": "Hapus",
"description": "Deskripsi",
"edit": "Edit",
......@@ -108,15 +116,6 @@
"visibility": "Visibilitas",
"yourself": "Anda sendiri"
},
"days": {
"fri": "Jum",
"mon": "Sen",
"sat": "Sab",
"sun": "Min",
"thu": "Kam",
"tue": "Sel",
"wed": "Rab"
},
"editor": {
"add-your-comment-here": "Tambahkan komentar Anda di sini...",
"any-thoughts": "Punya pemikiran...",
......@@ -127,11 +126,6 @@
"saving": "Menyimpan...",
"slash-commands": "Ketik `/` untuk perintah"
},
"filters": {
"has-code": "Memiliki kode",
"has-link": "Memiliki tautan",
"has-task-list": "Memiliki daftar tugas"
},
"inbox": {
"failed-to-load": "Gagal memuat item kotak masuk",
"memo-comment": "{{user}} memiliki komentar di {{memo}} Anda.",
......@@ -162,7 +156,11 @@
"direction-asc": "Menaik",
"direction-desc": "Menurun",
"display-time": "Waktu Tampil",
"filters": "Saring",
"filters": {
"has-code": "Memiliki kode",
"has-link": "Memiliki tautan",
"has-task-list": "Memiliki daftar tugas"
},
"links": "Tautan",
"list": "Daftar",
"load-more": "Muat lebih banyak",
......@@ -251,53 +249,7 @@
"go-to-home": "Ke Beranda"
},
"setting": {
"access-token-section": {
"access-token-copied-to-clipboard": "Token akses disalin ke papan klip",
"access-token-deleted": "Token akses `{{description}}` dihapus",
"access-token-deletion": "Anda yakin ingin menghapus token akses {{description}}? TINDAKAN INI TIDAK DAPAT DIBATALKAN.",
"access-token-deletion-description": "Tindakan ini tidak dapat dibatalkan. Anda perlu memperbarui layanan yang menggunakan token ini untuk menggunakan token baru.",
"create-dialog": {
"access-token-created": "Token akses `{{description}}` dibuat",
"create-access-token": "Buat Token Akses",
"created-at": "Dibuat pada",
"description": "Deskripsi",
"duration-1m": "1 bulan",
"duration-8h": "8 jam",
"duration-never": "Tidak Pernah",
"expiration": "Kedaluwarsa",
"expires-at": "Berakhir pada",
"some-description": "Beberapa deskripsi..."
},
"description": "Daftar semua token akses untuk akun Anda.",
"title": "Token Akses",
"token": "Token"
},
"account-section": {
"change-password": "Ubah kata sandi",
"email-note": "Opsional",
"export-memos": "Ekspor Memo",
"nickname-note": "Ditampilkan di banner",
"openapi-reset": "Atur ulang Kunci OpenAPI",
"openapi-sample-post": "Halo #memos dari {{url}}",
"openapi-title": "OpenAPI",
"reset-api": "Atur ulang API",
"title": "Informasi Akun",
"update-information": "Perbarui Informasi",
"username-note": "Digunakan untuk masuk"
},
"instance-section": {
"disallow-change-nickname": "Larangan mengubah nama panggilan",
"disallow-change-username": "Larangan mengubah nama pengguna",
"disallow-password-auth": "Larangan autentikasi kata sandi",
"disallow-user-registration": "Larangan pendaftaran pengguna",
"monday": "Senin",
"saturday": "Sabtu",
"sunday": "Minggu",
"week-start-day": "Hari awal pekan"
},
"member": "Anggota",
"member-list": "Daftar Anggota",
"member-section": {
"member": {
"admin": "Admin",
"archive-member": "Arsip anggota",
"archive-success": "{{username}} berhasil diarsipkan",
......@@ -309,30 +261,24 @@
"delete-warning": "Apakah Anda yakin untuk menghapus {{username}}? TINDAKAN INI TIDAK DAPAT DIBATALKAN",
"delete-warning-description": "TINDAKAN INI TIDAK DAPAT DIBATALKAN",
"restore-success": "{{username}} berhasil dipulihkan",
"user": "Pengguna"
"user": "Pengguna",
"label": "Anggota",
"list-title": "Daftar Anggota"
},
"memo-related": "Memo",
"memo-related-settings": {
"content-length-limit": "Batas panjang konten (Byte)",
"enable-blur-nsfw-content": "Aktifkan pengaburan konten sensitif (NSFW)",
"enable-memo-comments": "Aktifkan komentar memo",
"enable-memo-location": "Aktifkan lokasi memo",
"reactions": "Reaksi",
"title": "Pengaturan terkait Memo"
"my-account": {
"label": "Akun Saya"
},
"my-account": "Akun Saya",
"preference": "Preferensi",
"preference-section": {
"preference": {
"default-memo-sort-option": "Waktu tampil memo",
"default-memo-visibility": "Visibilitas memo default",
"theme": "Tema"
"theme": "Tema",
"label": "Preferensi"
},
"shortcut": {
"delete-confirm": "Apakah Anda yakin ingin menghapus pintasan `{{title}}`?",
"delete-success": "Pintasan `{{title}}` berhasil dihapus"
},
"sso": "SSO",
"sso-section": {
"sso": {
"authorization-endpoint": "Akhir Otorisasi",
"client-id": "ID Klien",
"client-secret": "Kunci Rahasia Klien",
......@@ -354,10 +300,10 @@
"template": "Templat",
"token-endpoint": "Akhir Token",
"update-sso": "Perbarui SSO",
"user-endpoint": "Akhir Pengguna"
"user-endpoint": "Akhir Pengguna",
"label": "SSO"
},
"storage": "Penyimpanan",
"storage-section": {
"storage": {
"accesskey": "Kunci Akses",
"accesskey-placeholder": "Kunci Akses / ID Akses",
"bucket": "Bucket",
......@@ -389,10 +335,10 @@
"url-prefix-placeholder": "Prefiks URL kustom, opsional",
"url-suffix": "Sufiks URL",
"url-suffix-placeholder": "Sufiks URL kustom, opsional",
"warning-text": "Apakah Anda yakin ingin menghapus layanan penyimpanan \"{{name}}\"? TINDAKAN INI TIDAK DAPAT DIBATALKAN."
"warning-text": "Apakah Anda yakin ingin menghapus layanan penyimpanan \"{{name}}\"? TINDAKAN INI TIDAK DAPAT DIBATALKAN.",
"label": "Penyimpanan"
},
"system": "Sistem",
"system-section": {
"system": {
"additional-script": "Skrip tambahan",
"additional-script-placeholder": "Kode JavaScript tambahan",
"additional-style": "Gaya tambahan",
......@@ -416,10 +362,64 @@
"max-upload-size-hint": "Nilai yang direkomendasikan adalah 32 MiB.",
"removed-completed-task-list-items": "Aktifkan penghapusan item daftar tugas yang selesai",
"server-name": "Nama Server",
"title": "Umum"
"title": "Umum",
"label": "Sistem"
},
"version": "Versi",
"webhook-section": {
"access-token": {
"access-token-copied-to-clipboard": "Token akses disalin ke papan klip",
"access-token-deleted": "Token akses `{{description}}` dihapus",
"access-token-deletion": "Anda yakin ingin menghapus token akses {{description}}? TINDAKAN INI TIDAK DAPAT DIBATALKAN.",
"access-token-deletion-description": "Tindakan ini tidak dapat dibatalkan. Anda perlu memperbarui layanan yang menggunakan token ini untuk menggunakan token baru.",
"create-dialog": {
"access-token-created": "Token akses `{{description}}` dibuat",
"create-access-token": "Buat Token Akses",
"created-at": "Dibuat pada",
"description": "Deskripsi",
"duration-1m": "1 bulan",
"duration-8h": "8 jam",
"duration-never": "Tidak Pernah",
"expiration": "Kedaluwarsa",
"expires-at": "Berakhir pada",
"some-description": "Beberapa deskripsi..."
},
"description": "Daftar semua token akses untuk akun Anda.",
"title": "Token Akses",
"token": "Token"
},
"account": {
"change-password": "Ubah kata sandi",
"email-note": "Opsional",
"export-memos": "Ekspor Memo",
"nickname-note": "Ditampilkan di banner",
"openapi-reset": "Atur ulang Kunci OpenAPI",
"openapi-sample-post": "Halo #memos dari {{url}}",
"openapi-title": "OpenAPI",
"reset-api": "Atur ulang API",
"title": "Informasi Akun",
"update-information": "Perbarui Informasi",
"username-note": "Digunakan untuk masuk"
},
"instance": {
"disallow-change-nickname": "Larangan mengubah nama panggilan",
"disallow-change-username": "Larangan mengubah nama pengguna",
"disallow-password-auth": "Larangan autentikasi kata sandi",
"disallow-user-registration": "Larangan pendaftaran pengguna",
"monday": "Senin",
"saturday": "Sabtu",
"sunday": "Minggu",
"week-start-day": "Hari awal pekan"
},
"memo": {
"content-length-limit": "Batas panjang konten (Byte)",
"enable-blur-nsfw-content": "Aktifkan pengaburan konten sensitif (NSFW)",
"enable-memo-comments": "Aktifkan komentar memo",
"enable-memo-location": "Aktifkan lokasi memo",
"reactions": "Reaksi",
"title": "Pengaturan terkait Memo",
"label": "Memo"
},
"webhook": {
"create-dialog": {
"an-easy-to-remember-name": "Nama yang mudah diingat",
"create-webhook": "Buat webhook",
......
......@@ -38,7 +38,15 @@
"created-at": "Creato il",
"database": "Database",
"day": "Giorno",
"days": "Giorni",
"days": {
"fri": "Ven",
"mon": "Lun",
"sat": "Sab",
"sun": "Dom",
"thu": "Gio",
"tue": "Mar",
"wed": "Mer"
},
"delete": "Elimina",
"description": "Descrizione",
"edit": "Modifica",
......@@ -108,15 +116,6 @@
"visibility": "Visibilità",
"yourself": "Te stesso"
},
"days": {
"fri": "Ven",
"mon": "Lun",
"sat": "Sab",
"sun": "Dom",
"thu": "Gio",
"tue": "Mar",
"wed": "Mer"
},
"editor": {
"add-your-comment-here": "Aggiungi qui il tuo commento...",
"any-thoughts": "Qualsiasi cosa pensi...",
......@@ -127,11 +126,6 @@
"saving": "Salvataggio...",
"slash-commands": "Digita `/` per i comandi"
},
"filters": {
"has-code": "haCodice",
"has-link": "haLink",
"has-task-list": "haListaCompiti"
},
"inbox": {
"failed-to-load": "Impossibile caricare l'elemento della posta in arrivo",
"memo-comment": "{{user}} ha commentato il tuo {{memo}}.",
......@@ -162,7 +156,11 @@
"direction-asc": "Crescente",
"direction-desc": "Decrescente",
"display-time": "Orario di visualizzazione",
"filters": "Filtri",
"filters": {
"has-code": "haCodice",
"has-link": "haLink",
"has-task-list": "haListaCompiti"
},
"links": "Link",
"list": "Lista",
"load-more": "Carica altro",
......@@ -251,53 +249,7 @@
"go-to-home": "Vai alla home"
},
"setting": {
"access-token-section": {
"access-token-copied-to-clipboard": "Token di accesso copiato negli appunti",
"access-token-deleted": "Token di accesso `{{description}}` eliminato",
"access-token-deletion": "Confermi di voler eliminare il token di accesso `{{description}}`?",
"access-token-deletion-description": "Questa azione è irreversibile. Dovrai aggiornare tutti i servizi che utilizzano questo token per usare un nuovo token.",
"create-dialog": {
"access-token-created": "Token di accesso `{{description}}` creato",
"create-access-token": "Crea token di accesso",
"created-at": "Creato il",
"description": "Descrizione",
"duration-1m": "1 mese",
"duration-8h": "8 ore",
"duration-never": "Mai",
"expiration": "Scadenza",
"expires-at": "Scade il",
"some-description": "Qualche descrizione..."
},
"description": "Elenco di tutti i token di accesso del tuo account.",
"title": "Token di accesso",
"token": "Token"
},
"account-section": {
"change-password": "Cambia password",
"email-note": "Opzionale",
"export-memos": "Esporta memo",
"nickname-note": "Mostrato nel banner",
"openapi-reset": "Ripristina key OpenAPI",
"openapi-sample-post": "Ciao #memos da {{url}}",
"openapi-title": "OpenAPI",
"reset-api": "Ripristina API",
"title": "Il mio account",
"update-information": "Aggiorna informazioni",
"username-note": "Usato per il login"
},
"instance-section": {
"disallow-change-nickname": "Impedisci cambio nickname",
"disallow-change-username": "Impedisci cambio nome utente",
"disallow-password-auth": "Impedisci autenticazione password",
"disallow-user-registration": "Impedisci registrazione utente",
"monday": "Lunedì",
"saturday": "Sabato",
"sunday": "Domenica",
"week-start-day": "Giorno inizio settimana"
},
"member": "Membri",
"member-list": "Lista membri",
"member-section": {
"member": {
"admin": "Admin",
"archive-member": "Archivia membro",
"archive-success": "{{username}} archiviato con successo",
......@@ -309,30 +261,24 @@
"delete-warning": "Confermi di voler eliminare {{username}}?",
"delete-warning-description": "QUESTA AZIONE È IRREVERSIBILE",
"restore-success": "{{username}} ripristinato con successo",
"user": "Utente"
"user": "Utente",
"label": "Membri",
"list-title": "Lista membri"
},
"memo-related": "Memo",
"memo-related-settings": {
"content-length-limit": "Massima lunghezza contenuto (byte)",
"enable-blur-nsfw-content": "Abilita sfocatura contenuti sensibili (NSFW)",
"enable-memo-comments": "Abilita commenti memo",
"enable-memo-location": "Abilita posizione memo",
"reactions": "Reazioni",
"title": "Impostazioni memo"
"my-account": {
"label": "Il mio account"
},
"my-account": "Il mio account",
"preference": "Preferenze",
"preference-section": {
"preference": {
"default-memo-sort-option": "Ordinamento memo predefinito",
"default-memo-visibility": "Visibilità memo predefinita",
"theme": "Tema"
"theme": "Tema",
"label": "Preferenze"
},
"shortcut": {
"delete-confirm": "Confermi di voler eliminare la scorciatoia `{{title}}`?",
"delete-success": "Scorciatoia `{{title}}` eliminata con successo"
},
"sso": "SSO",
"sso-section": {
"sso": {
"authorization-endpoint": "Endpoint autorizzazione",
"client-id": "Client ID",
"client-secret": "Client secret",
......@@ -354,10 +300,10 @@
"template": "Template",
"token-endpoint": "Token endpoint",
"update-sso": "Aggiorna SSO",
"user-endpoint": "User endpoint"
"user-endpoint": "User endpoint",
"label": "SSO"
},
"storage": "Archiviazione",
"storage-section": {
"storage": {
"accesskey": "Access key",
"accesskey-placeholder": "Access key / Access ID",
"bucket": "Bucket",
......@@ -389,10 +335,10 @@
"url-prefix-placeholder": "Prefisso URL custom, opzionale",
"url-suffix": "Suffisso URL",
"url-suffix-placeholder": "Suffisso URL custom, opzionale",
"warning-text": "Confermi di voler eliminare questo servizio di archiviazione \"{{name}}\"? QUESTA AZIONE È IRREVERSIBILE"
"warning-text": "Confermi di voler eliminare questo servizio di archiviazione \"{{name}}\"? QUESTA AZIONE È IRREVERSIBILE",
"label": "Archiviazione"
},
"system": "Sistema",
"system-section": {
"system": {
"additional-script": "Script aggiuntivo",
"additional-script-placeholder": "Codice JS aggiuntivo",
"additional-style": "Stile aggiuntivo",
......@@ -416,10 +362,64 @@
"max-upload-size-hint": "Valore consigliato di 32 MiB.",
"removed-completed-task-list-items": "Abilita rimozione dei compiti completati",
"server-name": "Nome server",
"title": "Generale"
"title": "Generale",
"label": "Sistema"
},
"version": "Versione",
"webhook-section": {
"access-token": {
"access-token-copied-to-clipboard": "Token di accesso copiato negli appunti",
"access-token-deleted": "Token di accesso `{{description}}` eliminato",
"access-token-deletion": "Confermi di voler eliminare il token di accesso `{{description}}`?",
"access-token-deletion-description": "Questa azione è irreversibile. Dovrai aggiornare tutti i servizi che utilizzano questo token per usare un nuovo token.",
"create-dialog": {
"access-token-created": "Token di accesso `{{description}}` creato",
"create-access-token": "Crea token di accesso",
"created-at": "Creato il",
"description": "Descrizione",
"duration-1m": "1 mese",
"duration-8h": "8 ore",
"duration-never": "Mai",
"expiration": "Scadenza",
"expires-at": "Scade il",
"some-description": "Qualche descrizione..."
},
"description": "Elenco di tutti i token di accesso del tuo account.",
"title": "Token di accesso",
"token": "Token"
},
"account": {
"change-password": "Cambia password",
"email-note": "Opzionale",
"export-memos": "Esporta memo",
"nickname-note": "Mostrato nel banner",
"openapi-reset": "Ripristina key OpenAPI",
"openapi-sample-post": "Ciao #memos da {{url}}",
"openapi-title": "OpenAPI",
"reset-api": "Ripristina API",
"title": "Il mio account",
"update-information": "Aggiorna informazioni",
"username-note": "Usato per il login"
},
"instance": {
"disallow-change-nickname": "Impedisci cambio nickname",
"disallow-change-username": "Impedisci cambio nome utente",
"disallow-password-auth": "Impedisci autenticazione password",
"disallow-user-registration": "Impedisci registrazione utente",
"monday": "Lunedì",
"saturday": "Sabato",
"sunday": "Domenica",
"week-start-day": "Giorno inizio settimana"
},
"memo": {
"content-length-limit": "Massima lunghezza contenuto (byte)",
"enable-blur-nsfw-content": "Abilita sfocatura contenuti sensibili (NSFW)",
"enable-memo-comments": "Abilita commenti memo",
"enable-memo-location": "Abilita posizione memo",
"reactions": "Reazioni",
"title": "Impostazioni memo",
"label": "Memo"
},
"webhook": {
"create-dialog": {
"an-easy-to-remember-name": "Nome facile da ricordare",
"create-webhook": "Crea webhook",
......
This diff is collapsed.
This diff is collapsed.
......@@ -38,7 +38,15 @@
"created-at": "생성일",
"database": "데이터베이스",
"day": "일",
"days": "일",
"days": {
"fri": "금",
"mon": "월",
"sat": "토",
"sun": "일",
"thu": "목",
"tue": "화",
"wed": "수"
},
"delete": "삭제",
"description": "설명",
"edit": "편집",
......@@ -108,15 +116,6 @@
"visibility": "공개 범위",
"yourself": "자기 자신"
},
"days": {
"fri": "금",
"mon": "월",
"sat": "토",
"sun": "일",
"thu": "목",
"tue": "화",
"wed": "수"
},
"editor": {
"add-your-comment-here": "여기에 댓글을 추가하세요...",
"any-thoughts": "떠오르는 게 있나요...",
......@@ -127,11 +126,6 @@
"saving": "저장 중...",
"slash-commands": "명령어를 보시려면 /를 입력하세요."
},
"filters": {
"has-code": "코드있음",
"has-link": "링크있음",
"has-task-list": "할일목록있음"
},
"inbox": {
"failed-to-load": "알림함 항목을 불러오지 못했습니다",
"memo-comment": "{{user}}님이 {{memo}}에 댓글을 남겼습니다.",
......@@ -162,7 +156,11 @@
"direction-asc": "오름차순",
"direction-desc": "내림차순",
"display-time": "표시 시간",
"filters": "필터",
"filters": {
"has-code": "코드있음",
"has-link": "링크있음",
"has-task-list": "할일목록있음"
},
"links": "링크",
"list": "목록",
"load-more": "더보기",
......@@ -251,53 +249,7 @@
"go-to-home": "홈으로"
},
"setting": {
"access-token-section": {
"access-token-copied-to-clipboard": "액세스 토큰이 복사되었습니다",
"access-token-deleted": "액세스 토큰 `{{description}}`이 삭제되었습니다",
"access-token-deletion": "액세스 토큰 {{description}}을 삭제하시겠습니까? 이 행동은 되돌릴 수 없습니다.",
"access-token-deletion-description": "이 작업은 되돌릴 수 없습니다. 이 토큰을 사용하는 서비스들은 새 토큰을 사용하도록 업데이트해야 합니다.",
"create-dialog": {
"access-token-created": "액세스 토큰 `{{description}}`이 생성되었습니다",
"create-access-token": "액세스 토큰 생성",
"created-at": "생성일",
"description": "설명",
"duration-1m": "1개월",
"duration-8h": "8시간",
"duration-never": "영구",
"expiration": "만료",
"expires-at": "만료일",
"some-description": "설명..."
},
"description": "계정의 모든 액세스 토큰 목록입니다.",
"title": "액세스 토큰",
"token": "토큰"
},
"account-section": {
"change-password": "비밀번호 변경",
"email-note": "선택 사항",
"export-memos": "메모 내보내기",
"nickname-note": "배너에 표시됨",
"openapi-reset": "OpenAPI 키 초기화",
"openapi-sample-post": "안녕, {{url}} ! #memo",
"openapi-title": "OpenAPI",
"reset-api": "API 초기화",
"title": "계정 정보",
"update-information": "정보 변경",
"username-note": "로그인하는 데 사용됨"
},
"instance-section": {
"disallow-change-nickname": "닉네임 변경 금지",
"disallow-change-username": "유저네임 변경 금지",
"disallow-password-auth": "비밀번호 인증 금지",
"disallow-user-registration": "회원가입 금지",
"monday": "월요일",
"saturday": "토요일",
"sunday": "일요일",
"week-start-day": "주 시작 요일"
},
"member": "멤버",
"member-list": "멤버 목록",
"member-section": {
"member": {
"admin": "관리자",
"archive-member": "멤버 보관처리",
"archive-success": "{{username}}님이 성공적으로 보관처리되었습니다",
......@@ -309,30 +261,24 @@
"delete-warning": "멤버 {{username}}의 계정을 완전히 삭제하시겠습니까? 이 행동은 되돌릴 수 없습니다.",
"delete-warning-description": "이 작업은 되돌릴 수 없습니다.",
"restore-success": "{{username}}님이 성공적으로 복구되었습니다",
"user": "사용자"
"user": "사용자",
"label": "멤버",
"list-title": "멤버 목록"
},
"memo-related": "메모",
"memo-related-settings": {
"content-length-limit": "내용 길이 제한 (바이트)",
"enable-blur-nsfw-content": "민감한(성인) 콘텐츠 블러 처리 활성화",
"enable-memo-comments": "메모 댓글 활성화",
"enable-memo-location": "메모 위치 활성화",
"reactions": "반응",
"title": "메모 관련 설정"
"my-account": {
"label": "내 계정"
},
"my-account": "내 계정",
"preference": "개인 설정",
"preference-section": {
"preference": {
"default-memo-sort-option": "메모에 표시할 시각",
"default-memo-visibility": "메모 공개 범위 기본값",
"theme": "테마"
"theme": "테마",
"label": "개인 설정"
},
"shortcut": {
"delete-confirm": "바로가기 `{{title}}`를 정말로 삭제하시겠습니까?",
"delete-success": "바로가기 `{{title}}`가 성공적으로 삭제되었습니다"
},
"sso": "SSO",
"sso-section": {
"sso": {
"authorization-endpoint": "인증 엔드포인트",
"client-id": "클라이언트 ID",
"client-secret": "클라이언트 비밀키",
......@@ -354,10 +300,10 @@
"template": "템플릿",
"token-endpoint": "토큰 엔드포인트",
"update-sso": "SSO 수정",
"user-endpoint": "유저 엔드포인트"
"user-endpoint": "유저 엔드포인트",
"label": "SSO"
},
"storage": "저장소",
"storage-section": {
"storage": {
"accesskey": "액세스 키",
"accesskey-placeholder": "액세스 키 / 액세스 ID",
"bucket": "버킷",
......@@ -389,10 +335,10 @@
"url-prefix-placeholder": "URL 앞에 붙을 커스텀 접두사, 선택 사항",
"url-suffix": "URL 접미사",
"url-suffix-placeholder": "URL 뒤에 붙을 커스텀 접미사, 선택 사항",
"warning-text": "저장소 서비스 \"{{name}}\"을(를) 삭제하시겠습니까? 이 행동은 되돌릴 수 없습니다"
"warning-text": "저장소 서비스 \"{{name}}\"을(를) 삭제하시겠습니까? 이 행동은 되돌릴 수 없습니다",
"label": "저장소"
},
"system": "시스템",
"system-section": {
"system": {
"additional-script": "추가 스크립트",
"additional-script-placeholder": "추가 JavaScript 코드",
"additional-style": "추가 스타일",
......@@ -416,10 +362,64 @@
"max-upload-size-hint": "권장값은 32 MiB입니다.",
"removed-completed-task-list-items": "완료된 할 일 삭제 활성화",
"server-name": "서버 이름",
"title": "일반"
"title": "일반",
"label": "시스템"
},
"version": "버전",
"webhook-section": {
"access-token": {
"access-token-copied-to-clipboard": "액세스 토큰이 복사되었습니다",
"access-token-deleted": "액세스 토큰 `{{description}}`이 삭제되었습니다",
"access-token-deletion": "액세스 토큰 {{description}}을 삭제하시겠습니까? 이 행동은 되돌릴 수 없습니다.",
"access-token-deletion-description": "이 작업은 되돌릴 수 없습니다. 이 토큰을 사용하는 서비스들은 새 토큰을 사용하도록 업데이트해야 합니다.",
"create-dialog": {
"access-token-created": "액세스 토큰 `{{description}}`이 생성되었습니다",
"create-access-token": "액세스 토큰 생성",
"created-at": "생성일",
"description": "설명",
"duration-1m": "1개월",
"duration-8h": "8시간",
"duration-never": "영구",
"expiration": "만료",
"expires-at": "만료일",
"some-description": "설명..."
},
"description": "계정의 모든 액세스 토큰 목록입니다.",
"title": "액세스 토큰",
"token": "토큰"
},
"account": {
"change-password": "비밀번호 변경",
"email-note": "선택 사항",
"export-memos": "메모 내보내기",
"nickname-note": "배너에 표시됨",
"openapi-reset": "OpenAPI 키 초기화",
"openapi-sample-post": "안녕, {{url}} ! #memo",
"openapi-title": "OpenAPI",
"reset-api": "API 초기화",
"title": "계정 정보",
"update-information": "정보 변경",
"username-note": "로그인하는 데 사용됨"
},
"instance": {
"disallow-change-nickname": "닉네임 변경 금지",
"disallow-change-username": "유저네임 변경 금지",
"disallow-password-auth": "비밀번호 인증 금지",
"disallow-user-registration": "회원가입 금지",
"monday": "월요일",
"saturday": "토요일",
"sunday": "일요일",
"week-start-day": "주 시작 요일"
},
"memo": {
"content-length-limit": "내용 길이 제한 (바이트)",
"enable-blur-nsfw-content": "민감한(성인) 콘텐츠 블러 처리 활성화",
"enable-memo-comments": "메모 댓글 활성화",
"enable-memo-location": "메모 위치 활성화",
"reactions": "반응",
"title": "메모 관련 설정",
"label": "메모"
},
"webhook": {
"create-dialog": {
"an-easy-to-remember-name": "기억하기 쉬운 이름",
"create-webhook": "Webhook 생성",
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -40,7 +40,7 @@ const SharedMemo = () => {
return (
<div className="flex h-screen flex-col items-center justify-center gap-3 text-center">
<AlertCircleIcon className="h-8 w-8 text-muted-foreground" />
<p className="text-sm text-muted-foreground">{t("memo-share.invalid-link")}</p>
<p className="text-sm text-muted-foreground">{t("memo.share.invalid-link")}</p>
</div>
);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment