@openrails/contentkit-ui 0.95.1 → 0.97.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -1
- package/dist/client/discovery.d.ts +2 -1
- package/dist/client/discovery.js.map +1 -1
- package/dist/client/entities.d.ts +6 -0
- package/dist/client/entities.js +13 -0
- package/dist/client/entities.js.map +1 -1
- package/dist/client/generated/routes.d.ts +26 -0
- package/dist/client/generated/routes.js +44 -0
- package/dist/client/generated/routes.js.map +1 -1
- package/dist/client/generated/wire.d.ts +7 -11
- package/dist/client/generated/wire.js.map +1 -1
- package/dist/client/http.d.ts +1 -0
- package/dist/client/http.js +5 -4
- package/dist/client/http.js.map +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/reader-preferences.js +3 -7
- package/dist/client/reader-preferences.js.map +1 -1
- package/dist/components/admin/content-manager.d.ts +3 -1
- package/dist/components/admin/content-manager.js +241 -239
- package/dist/components/admin/content-manager.js.map +1 -1
- package/dist/components/admin/group-manager.js +133 -119
- package/dist/components/admin/group-manager.js.map +1 -1
- package/dist/components/content/editors.d.ts +1 -0
- package/dist/components/content/editors.js +1 -0
- package/dist/components/content/editors.js.map +1 -1
- package/dist/components/content/filters.d.ts +1 -1
- package/dist/components/content/filters.js +1 -1
- package/dist/components/content/filters.js.map +1 -1
- package/dist/components/groups/banner.d.ts +3 -1
- package/dist/components/groups/banner.js +29 -26
- package/dist/components/groups/banner.js.map +1 -1
- package/dist/components/groups/editor.d.ts +4 -1
- package/dist/components/groups/editor.js +369 -315
- package/dist/components/groups/editor.js.map +1 -1
- package/dist/components/groups/memberships.d.ts +2 -0
- package/dist/components/groups/memberships.js +1 -0
- package/dist/components/groups/memberships.js.map +1 -1
- package/dist/components/groups/parts.d.ts +4 -1
- package/dist/components/groups/parts.js +32 -30
- package/dist/components/groups/parts.js.map +1 -1
- package/dist/locales/en.d.ts +2 -0
- package/dist/locales/groups/de.js +2 -0
- package/dist/locales/groups/de.js.map +1 -1
- package/dist/locales/groups/en.d.ts +2 -0
- package/dist/locales/groups/en.js +2 -0
- package/dist/locales/groups/en.js.map +1 -1
- package/dist/locales/groups/es.js +2 -0
- package/dist/locales/groups/es.js.map +1 -1
- package/dist/locales/groups/ja.js +2 -0
- package/dist/locales/groups/ja.js.map +1 -1
- package/dist/locales/groups/ko.js +2 -0
- package/dist/locales/groups/ko.js.map +1 -1
- package/dist/locales/groups/zh.js +2 -0
- package/dist/locales/groups/zh.js.map +1 -1
- package/dist/react/discovery.d.ts +2 -1
- package/dist/react/discovery.js +54 -29
- package/dist/react/discovery.js.map +1 -1
- package/dist/react/groups.d.ts +3 -1
- package/dist/react/groups.js +7 -7
- package/dist/react/groups.js.map +1 -1
- package/package.json +1 -1
|
@@ -65,21 +65,22 @@ function S({ group: e, href: t, className: n, children: i }) {
|
|
|
65
65
|
children: i
|
|
66
66
|
});
|
|
67
67
|
}
|
|
68
|
-
function C({ kind: e, language: n, exclude: r, label: i, onPick: s, client: l, autoFocus: u, className: v }) {
|
|
69
|
-
let { t:
|
|
68
|
+
function C({ kind: e, language: n, exclude: r, label: i, onPick: s, client: l, autoFocus: u, className: v, management: y }) {
|
|
69
|
+
let { t: b } = t(), x = f(), [S, C] = m(""), [w, T] = m(0), E = c(S, {
|
|
70
70
|
entity_kinds: [e],
|
|
71
71
|
display_language: n,
|
|
72
72
|
limit: 10,
|
|
73
|
-
client: l
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
client: l,
|
|
74
|
+
management: y
|
|
75
|
+
}), D = p(() => E.entities.filter((t) => t.kind === e && !r?.includes(t.id)).slice(0, 8), [
|
|
76
|
+
E.entities,
|
|
76
77
|
e,
|
|
77
78
|
r
|
|
78
|
-
]),
|
|
79
|
-
d(() =>
|
|
80
|
-
let
|
|
81
|
-
|
|
82
|
-
},
|
|
79
|
+
]), O = S.trim();
|
|
80
|
+
d(() => T(0), [O]);
|
|
81
|
+
let k = (e) => {
|
|
82
|
+
C(""), s(e);
|
|
83
|
+
}, A = D.length > 0;
|
|
83
84
|
return /* @__PURE__ */ g("div", {
|
|
84
85
|
className: _("relative grid min-w-48 flex-1 gap-1", v),
|
|
85
86
|
"data-ckui": "group-picker",
|
|
@@ -87,33 +88,33 @@ function C({ kind: e, language: n, exclude: r, label: i, onPick: s, client: l, a
|
|
|
87
88
|
/* @__PURE__ */ h(a, {
|
|
88
89
|
role: "combobox",
|
|
89
90
|
"aria-label": i,
|
|
90
|
-
"aria-expanded":
|
|
91
|
-
"aria-controls": `${
|
|
92
|
-
"aria-activedescendant":
|
|
91
|
+
"aria-expanded": A,
|
|
92
|
+
"aria-controls": `${x}-list`,
|
|
93
|
+
"aria-activedescendant": A ? `${x}-${w}` : void 0,
|
|
93
94
|
"aria-autocomplete": "list",
|
|
94
95
|
autoComplete: "off",
|
|
95
96
|
className: "h-8",
|
|
96
|
-
value:
|
|
97
|
-
placeholder:
|
|
97
|
+
value: S,
|
|
98
|
+
placeholder: b("groups.searchPlaceholder"),
|
|
98
99
|
autoFocus: u,
|
|
99
|
-
onChange: (e) =>
|
|
100
|
+
onChange: (e) => C(e.target.value),
|
|
100
101
|
onKeyDown: (e) => {
|
|
101
|
-
|
|
102
|
+
A && (e.key === "ArrowDown" ? (e.preventDefault(), T((e) => Math.min(D.length - 1, e + 1))) : e.key === "ArrowUp" ? (e.preventDefault(), T((e) => Math.max(0, e - 1))) : e.key === "Enter" ? (e.preventDefault(), k(D[w])) : e.key === "Escape" && C(""));
|
|
102
103
|
}
|
|
103
104
|
}),
|
|
104
|
-
|
|
105
|
-
id: `${
|
|
105
|
+
A && /* @__PURE__ */ h("ul", {
|
|
106
|
+
id: `${x}-list`,
|
|
106
107
|
role: "listbox",
|
|
107
108
|
"aria-label": i,
|
|
108
109
|
className: "absolute top-full z-10 mt-1 grid w-full overflow-hidden rounded-md border border-border bg-popover text-popover-foreground shadow-md",
|
|
109
|
-
children:
|
|
110
|
-
id: `${
|
|
110
|
+
children: D.map((e, t) => /* @__PURE__ */ g("li", {
|
|
111
|
+
id: `${x}-${t}`,
|
|
111
112
|
role: "option",
|
|
112
|
-
"aria-selected": t ===
|
|
113
|
-
className: _("flex cursor-pointer items-baseline justify-between gap-2 px-3 py-1.5", t ===
|
|
114
|
-
onMouseEnter: () =>
|
|
113
|
+
"aria-selected": t === w,
|
|
114
|
+
className: _("flex cursor-pointer items-baseline justify-between gap-2 px-3 py-1.5", t === w && "bg-accent text-accent-foreground"),
|
|
115
|
+
onMouseEnter: () => T(t),
|
|
115
116
|
onMouseDown: (t) => {
|
|
116
|
-
t.preventDefault(),
|
|
117
|
+
t.preventDefault(), k(e);
|
|
117
118
|
},
|
|
118
119
|
children: [/* @__PURE__ */ h("span", {
|
|
119
120
|
className: "min-w-0 truncate",
|
|
@@ -124,12 +125,12 @@ function C({ kind: e, language: n, exclude: r, label: i, onPick: s, client: l, a
|
|
|
124
125
|
})]
|
|
125
126
|
}, e.id))
|
|
126
127
|
}),
|
|
127
|
-
|
|
128
|
+
O && !A && E.query === O && !E.loading && !E.error && /* @__PURE__ */ h("p", {
|
|
128
129
|
className: "text-xs text-muted-foreground",
|
|
129
130
|
role: "status",
|
|
130
|
-
children:
|
|
131
|
+
children: b("groups.noMatch")
|
|
131
132
|
}),
|
|
132
|
-
/* @__PURE__ */ h(o, { error:
|
|
133
|
+
/* @__PURE__ */ h(o, { error: E.error })
|
|
133
134
|
]
|
|
134
135
|
});
|
|
135
136
|
}
|
|
@@ -138,13 +139,14 @@ function w(e, t = {}) {
|
|
|
138
139
|
return d(() => {
|
|
139
140
|
if (!o) return;
|
|
140
141
|
let e = new AbortController(), r = o.split(",");
|
|
141
|
-
return Promise.all(r.map((r) => n.entities.get(r, t.language, e.signal).catch(() => null))).then((t) => {
|
|
142
|
+
return Promise.all(r.map((r) => (t.management ? n.entities.getForManagement(r, t.language, e.signal) : n.entities.get(r, t.language, e.signal)).catch(() => null))).then((t) => {
|
|
142
143
|
e.signal.aborted || a(new Map(t.flatMap((e, t) => e ? [[r[t], e]] : [])));
|
|
143
144
|
}), () => e.abort();
|
|
144
145
|
}, [
|
|
145
146
|
o,
|
|
146
147
|
n,
|
|
147
|
-
t.language
|
|
148
|
+
t.language,
|
|
149
|
+
t.management
|
|
148
150
|
]), r;
|
|
149
151
|
}
|
|
150
152
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parts.js","names":[],"sources":["../../../src/components/groups/parts.tsx"],"sourcesContent":["import { cn } from \"cn\";\nimport { useCallback, useContext, useEffect, useId, useMemo, useState, type MouseEvent, type ReactNode } from \"react\";\nimport type { ContentKitClient } from \"../../client/client.js\";\nimport { humanize } from \"../../client/group-fields.js\";\nimport type { Avatar, GroupCard, GroupDetail, GroupsCover } from \"../../client/generated/wire.js\";\nimport { useMessages } from \"../../i18n/context.js\";\nimport { ContentKitContext, useContentKitClient } from \"../../react/context.js\";\nimport { useTypeahead } from \"../../react/discovery.js\";\nimport { Input } from \"#ckui/ui/input\";\nimport { useScopeProps } from \"../../scope.js\";\nimport { RenditionImg } from \"../rendition-img.js\";\nimport { ErrorLine } from \"../social/parts.js\";\n\n/** A group as covers and links need it. */\nexport type GroupLike = Pick<GroupCard, \"id\" | \"kind\" | \"name\" | \"slug\" | \"path\"> & { cover?: GroupsCover; avatar?: Avatar };\n\n/** Display names of kinds, attributes, roles and values by identifier; a missing one shows the identifier humanized. */\nexport type Labels = Readonly<Record<string, string>>;\n\nexport const labelOf = (labels: Labels | undefined, id: string) => labels?.[id] ?? humanize(id);\n\n\nexport interface GroupCoverProps {\n group: GroupLike;\n /** Shown instead, e.g. a cover just uploaded. */\n src?: string;\n className?: string;\n}\n\n/** A group's cover or avatar image; its own styling root, so it renders anywhere in the host. */\nfunction GroupImage({ group, src, className, shape, slot }: GroupCoverProps & { shape: string; slot: \"group-cover\" | \"group-avatar\" }) {\n const scope = useScopeProps();\n const box = cn(scope.className, \"overflow-hidden bg-muted\", shape, className);\n const root = { \"data-ckui-theme\": scope[\"data-ckui-theme\"], style: scope.style, \"data-ckui\": slot };\n const initial = (\n <span {...root} className={cn(box, \"grid place-items-center font-semibold text-muted-foreground\", slot === \"group-cover\" && \"text-lg\")}>\n {(group.name || group.slug).trim().charAt(0).toUpperCase() || \"?\"}\n </span>\n );\n if (src) return <img {...root} src={src} alt=\"\" className={cn(box, \"object-cover\")} />;\n const renditions = (slot === \"group-cover\" ? group.cover : group.avatar)?.renditions;\n if (renditions?.length) return <RenditionImg {...root} outputs={renditions} fit=\"cover\" skeleton className={box} fallback={initial} />;\n return initial;\n}\n\n/** A group's cover: its renditions, else its initial on a muted tile. */\nexport function GroupCover(p: GroupCoverProps) {\n return <GroupImage {...p} shape=\"rounded-md\" slot=\"group-cover\" />;\n}\n\n/** A group's avatar: its renditions, else its initial in a circle. */\nexport function GroupAvatar(p: GroupCoverProps) {\n return <GroupImage {...p} shape=\"aspect-square rounded-full\" slot=\"group-avatar\" />;\n}\n\n/** A link to a group's page: `href`, else its canonical path; in-app through the provider's navigate. */\nexport function GroupLink({ group, href, className, children }: { group: GroupLike; href?: (g: GroupLike) => string | undefined; className?: string; children: ReactNode }) {\n const navigate = useContext(ContentKitContext)?.navigate;\n const url = href ? href(group) : group.path;\n const onClick = useCallback(\n (e: MouseEvent<HTMLAnchorElement>) => {\n if (!navigate || !url || e.defaultPrevented || e.button !== 0 || e.metaKey || e.ctrlKey || e.shiftKey || e.altKey) return;\n e.preventDefault();\n navigate(url);\n },\n [navigate, url],\n );\n if (!url) return <span className={className}>{children}</span>;\n return (\n <a href={url} className={className} onClick={onClick}>\n {children}\n </a>\n );\n}\n\nexport interface GroupPickerProps {\n kind: string;\n /** Names in this language. */\n language?: string;\n /** Groups not offered, by id. */\n exclude?: readonly string[];\n label: string;\n onPick: (group: GroupCard) => void;\n client?: ContentKitClient;\n autoFocus?: boolean;\n className?: string;\n}\n\n/** A typeahead over one kind's groups (GET /v1/typeahead). */\nexport function GroupPicker({ kind, language, exclude, label, onPick, client, autoFocus, className }: GroupPickerProps) {\n const { t } = useMessages();\n const id = useId();\n const [text, setText] = useState(\"\");\n const [active, setActive] = useState(0);\n const found = useTypeahead(text, { entity_kinds: [kind], display_language: language, limit: 10, client });\n const results = useMemo(() => found.entities.filter((g) => g.kind === kind && !exclude?.includes(g.id)).slice(0, 8), [found.entities, kind, exclude]);\n const q = text.trim();\n useEffect(() => setActive(0), [q]);\n const pick = (g: GroupCard) => {\n setText(\"\");\n onPick(g);\n };\n const open = results.length > 0;\n return (\n <div className={cn(\"relative grid min-w-48 flex-1 gap-1\", className)} data-ckui=\"group-picker\">\n <Input\n role=\"combobox\"\n aria-label={label}\n aria-expanded={open}\n aria-controls={`${id}-list`}\n aria-activedescendant={open ? `${id}-${active}` : undefined}\n aria-autocomplete=\"list\"\n autoComplete=\"off\"\n className=\"h-8\"\n value={text}\n placeholder={t(\"groups.searchPlaceholder\")}\n autoFocus={autoFocus}\n onChange={(e) => setText(e.target.value)}\n onKeyDown={(e) => {\n if (!open) return;\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n setActive((a) => Math.min(results.length - 1, a + 1));\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n setActive((a) => Math.max(0, a - 1));\n } else if (e.key === \"Enter\") {\n e.preventDefault();\n pick(results[active]!);\n } else if (e.key === \"Escape\") setText(\"\");\n }}\n />\n {open && (\n <ul id={`${id}-list`} role=\"listbox\" aria-label={label} className=\"absolute top-full z-10 mt-1 grid w-full overflow-hidden rounded-md border border-border bg-popover text-popover-foreground shadow-md\">\n {results.map((g, i) => (\n <li\n key={g.id}\n id={`${id}-${i}`}\n role=\"option\"\n aria-selected={i === active}\n className={cn(\"flex cursor-pointer items-baseline justify-between gap-2 px-3 py-1.5\", i === active && \"bg-accent text-accent-foreground\")}\n onMouseEnter={() => setActive(i)}\n onMouseDown={(e) => {\n e.preventDefault();\n pick(g);\n }}\n >\n <span className=\"min-w-0 truncate\">{g.name || g.slug}</span>\n <span className=\"text-xs text-muted-foreground\">{g.slug}</span>\n </li>\n ))}\n </ul>\n )}\n {q && !open && found.query === q && !found.loading && !found.error && (\n <p className=\"text-xs text-muted-foreground\" role=\"status\">\n {t(\"groups.noMatch\")}\n </p>\n )}\n <ErrorLine error={found.error} />\n </div>\n );\n}\n\n/** Groups read by id, for names where only ids are at hand (edges); a missing or deleted one is left out. */\nexport function useGroupNames(ids: readonly string[], o: { language?: string; client?: ContentKitClient } = {}): ReadonlyMap<string, GroupDetail> {\n const client = useContentKitClient(o.client);\n const [found, setFound] = useState<ReadonlyMap<string, GroupDetail>>(new Map());\n const key = [...new Set(ids)].sort().join(\",\");\n useEffect(() => {\n if (!key) return;\n const ctl = new AbortController();\n const list = key.split(\",\");\n // A merged group answers as its survivor: keep it under the id asked for.\n Promise.all(list.map((id) => client.entities.get(id, o.language, ctl.signal).catch(() => null))).then((all) => {\n if (!ctl.signal.aborted) setFound(new Map(all.flatMap((g, i) => (g ? [[list[i]!, g] as const] : []))));\n });\n return () => ctl.abort();\n }, [key, client, o.language]);\n return found;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parts.js","names":[],"sources":["../../../src/components/groups/parts.tsx"],"sourcesContent":["import { cn } from \"cn\";\nimport { useCallback, useContext, useEffect, useId, useMemo, useState, type MouseEvent, type ReactNode } from \"react\";\nimport type { ContentKitClient } from \"../../client/client.js\";\nimport { humanize } from \"../../client/group-fields.js\";\nimport type { Avatar, GroupCard, GroupDetail, GroupsCover } from \"../../client/generated/wire.js\";\nimport { useMessages } from \"../../i18n/context.js\";\nimport { ContentKitContext, useContentKitClient } from \"../../react/context.js\";\nimport { useTypeahead } from \"../../react/discovery.js\";\nimport { Input } from \"#ckui/ui/input\";\nimport { useScopeProps } from \"../../scope.js\";\nimport { RenditionImg } from \"../rendition-img.js\";\nimport { ErrorLine } from \"../social/parts.js\";\n\n/** A group as covers and links need it. */\nexport type GroupLike = Pick<GroupCard, \"id\" | \"kind\" | \"name\" | \"slug\" | \"path\"> & { cover?: GroupsCover; avatar?: Avatar };\n\n/** Display names of kinds, attributes, roles and values by identifier; a missing one shows the identifier humanized. */\nexport type Labels = Readonly<Record<string, string>>;\n\nexport const labelOf = (labels: Labels | undefined, id: string) => labels?.[id] ?? humanize(id);\n\n\nexport interface GroupCoverProps {\n group: GroupLike;\n /** Shown instead, e.g. a cover just uploaded. */\n src?: string;\n className?: string;\n}\n\n/** A group's cover or avatar image; its own styling root, so it renders anywhere in the host. */\nfunction GroupImage({ group, src, className, shape, slot }: GroupCoverProps & { shape: string; slot: \"group-cover\" | \"group-avatar\" }) {\n const scope = useScopeProps();\n const box = cn(scope.className, \"overflow-hidden bg-muted\", shape, className);\n const root = { \"data-ckui-theme\": scope[\"data-ckui-theme\"], style: scope.style, \"data-ckui\": slot };\n const initial = (\n <span {...root} className={cn(box, \"grid place-items-center font-semibold text-muted-foreground\", slot === \"group-cover\" && \"text-lg\")}>\n {(group.name || group.slug).trim().charAt(0).toUpperCase() || \"?\"}\n </span>\n );\n if (src) return <img {...root} src={src} alt=\"\" className={cn(box, \"object-cover\")} />;\n const renditions = (slot === \"group-cover\" ? group.cover : group.avatar)?.renditions;\n if (renditions?.length) return <RenditionImg {...root} outputs={renditions} fit=\"cover\" skeleton className={box} fallback={initial} />;\n return initial;\n}\n\n/** A group's cover: its renditions, else its initial on a muted tile. */\nexport function GroupCover(p: GroupCoverProps) {\n return <GroupImage {...p} shape=\"rounded-md\" slot=\"group-cover\" />;\n}\n\n/** A group's avatar: its renditions, else its initial in a circle. */\nexport function GroupAvatar(p: GroupCoverProps) {\n return <GroupImage {...p} shape=\"aspect-square rounded-full\" slot=\"group-avatar\" />;\n}\n\n/** A link to a group's page: `href`, else its canonical path; in-app through the provider's navigate. */\nexport function GroupLink({ group, href, className, children }: { group: GroupLike; href?: (g: GroupLike) => string | undefined; className?: string; children: ReactNode }) {\n const navigate = useContext(ContentKitContext)?.navigate;\n const url = href ? href(group) : group.path;\n const onClick = useCallback(\n (e: MouseEvent<HTMLAnchorElement>) => {\n if (!navigate || !url || e.defaultPrevented || e.button !== 0 || e.metaKey || e.ctrlKey || e.shiftKey || e.altKey) return;\n e.preventDefault();\n navigate(url);\n },\n [navigate, url],\n );\n if (!url) return <span className={className}>{children}</span>;\n return (\n <a href={url} className={className} onClick={onClick}>\n {children}\n </a>\n );\n}\n\nexport interface GroupPickerProps {\n kind: string;\n /** Names in this language. */\n language?: string;\n /** Groups not offered, by id. */\n exclude?: readonly string[];\n label: string;\n onPick: (group: GroupCard) => void;\n client?: ContentKitClient;\n autoFocus?: boolean;\n /** Staff lookup, including internal entities. Requires entity-management permission. */\n management?: boolean;\n className?: string;\n}\n\n/** A typeahead over one kind's groups (GET /v1/typeahead). */\nexport function GroupPicker({ kind, language, exclude, label, onPick, client, autoFocus, className, management }: GroupPickerProps) {\n const { t } = useMessages();\n const id = useId();\n const [text, setText] = useState(\"\");\n const [active, setActive] = useState(0);\n const found = useTypeahead(text, { entity_kinds: [kind], display_language: language, limit: 10, client, management });\n const results = useMemo(() => found.entities.filter((g) => g.kind === kind && !exclude?.includes(g.id)).slice(0, 8), [found.entities, kind, exclude]);\n const q = text.trim();\n useEffect(() => setActive(0), [q]);\n const pick = (g: GroupCard) => {\n setText(\"\");\n onPick(g);\n };\n const open = results.length > 0;\n return (\n <div className={cn(\"relative grid min-w-48 flex-1 gap-1\", className)} data-ckui=\"group-picker\">\n <Input\n role=\"combobox\"\n aria-label={label}\n aria-expanded={open}\n aria-controls={`${id}-list`}\n aria-activedescendant={open ? `${id}-${active}` : undefined}\n aria-autocomplete=\"list\"\n autoComplete=\"off\"\n className=\"h-8\"\n value={text}\n placeholder={t(\"groups.searchPlaceholder\")}\n autoFocus={autoFocus}\n onChange={(e) => setText(e.target.value)}\n onKeyDown={(e) => {\n if (!open) return;\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n setActive((a) => Math.min(results.length - 1, a + 1));\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n setActive((a) => Math.max(0, a - 1));\n } else if (e.key === \"Enter\") {\n e.preventDefault();\n pick(results[active]!);\n } else if (e.key === \"Escape\") setText(\"\");\n }}\n />\n {open && (\n <ul id={`${id}-list`} role=\"listbox\" aria-label={label} className=\"absolute top-full z-10 mt-1 grid w-full overflow-hidden rounded-md border border-border bg-popover text-popover-foreground shadow-md\">\n {results.map((g, i) => (\n <li\n key={g.id}\n id={`${id}-${i}`}\n role=\"option\"\n aria-selected={i === active}\n className={cn(\"flex cursor-pointer items-baseline justify-between gap-2 px-3 py-1.5\", i === active && \"bg-accent text-accent-foreground\")}\n onMouseEnter={() => setActive(i)}\n onMouseDown={(e) => {\n e.preventDefault();\n pick(g);\n }}\n >\n <span className=\"min-w-0 truncate\">{g.name || g.slug}</span>\n <span className=\"text-xs text-muted-foreground\">{g.slug}</span>\n </li>\n ))}\n </ul>\n )}\n {q && !open && found.query === q && !found.loading && !found.error && (\n <p className=\"text-xs text-muted-foreground\" role=\"status\">\n {t(\"groups.noMatch\")}\n </p>\n )}\n <ErrorLine error={found.error} />\n </div>\n );\n}\n\n/** Groups read by id, for names where only ids are at hand (edges); a missing or deleted one is left out. */\nexport function useGroupNames(ids: readonly string[], o: { language?: string; client?: ContentKitClient; management?: boolean } = {}): ReadonlyMap<string, GroupDetail> {\n const client = useContentKitClient(o.client);\n const [found, setFound] = useState<ReadonlyMap<string, GroupDetail>>(new Map());\n const key = [...new Set(ids)].sort().join(\",\");\n useEffect(() => {\n if (!key) return;\n const ctl = new AbortController();\n const list = key.split(\",\");\n // A merged group answers as its survivor: keep it under the id asked for.\n Promise.all(list.map((id) => (o.management ? client.entities.getForManagement(id, o.language, ctl.signal) : client.entities.get(id, o.language, ctl.signal)).catch(() => null))).then((all) => {\n if (!ctl.signal.aborted) setFound(new Map(all.flatMap((g, i) => (g ? [[list[i]!, g] as const] : []))));\n });\n return () => ctl.abort();\n }, [key, client, o.language, o.management]);\n return found;\n}\n"],"mappings":"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"}
|
package/dist/locales/en.d.ts
CHANGED
|
@@ -17,6 +17,8 @@ var e = {
|
|
|
17
17
|
noMatch: "Kein Treffer."
|
|
18
18
|
},
|
|
19
19
|
groupEditor: {
|
|
20
|
+
internal: "Nur für den internen Gebrauch",
|
|
21
|
+
internalHint: "Auf öffentlichen Seiten, in der Suche und in den Leseeinstellungen verborgen. Mitarbeitende können diese Entität in Domain-Regeln verwenden.",
|
|
20
22
|
uploadAvatar: "Avatar hochladen",
|
|
21
23
|
removeAvatar: "Avatar entfernen",
|
|
22
24
|
images: "Bilder",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"de.js","names":[],"sources":["../../../src/locales/groups/de.ts"],"sourcesContent":["import type { groups as en } from \"./en.js\";\n\nexport const groups: typeof en = {\n groups: {\n byLetter: \"Nach Buchstabe\",\n all: \"Alle\",\n otherLetters: \"Andere Zeichen\",\n empty: \"Hier ist noch nichts.\",\n loadMore: \"Mehr laden\",\n loading: \"Wird geladen…\",\n items_one: \"{count} Eintrag\",\n items_other: \"{count} Einträge\",\n alsoKnownAs: \"Auch bekannt als\",\n children: \"Untergruppen\",\n yes: \"Ja\",\n no: \"Nein\",\n searchPlaceholder: \"Nach Namen suchen\",\n noMatch: \"Kein Treffer.\",\n },\n groupEditor: {\n uploadAvatar: \"Avatar hochladen\",\n removeAvatar: \"Avatar entfernen\",\n images: \"Bilder\",\n membershipPrice: \"Mitgliedspreis\",\n loadFailed: \"Die Gruppe konnte nicht geladen werden.\",\n newTitle: \"Neu: {kind}\",\n nameIn: \"Name ({language})\",\n slug: \"Slug\",\n parent: \"Übergeordnet\",\n create: \"Erstellen\",\n details: \"Details\",\n saved: \"Gespeichert.\",\n none: \"Keine\",\n change: \"Ändern\",\n clearField: \"{field} entfernen\",\n names: \"Namen und Aliasse\",\n canonical: \"Name\",\n alias: \"Alias\",\n makeCanonical: \"Zum Namen machen\",\n removeName: \"{name} entfernen\",\n noNames: \"Noch keine Namen.\",\n language: \"Sprache\",\n nameKind: \"Name oder Alias\",\n newName: \"Ein Name oder Alias\",\n addName: \"Hinzufügen\",\n text: \"Beschreibung\",\n description: \"Beschreibung\",\n descriptionIn: \"Beschreibung ({language})\",\n sortKey: \"Sortieren als (optional)\",\n sortKeyIn: \"Sortieren als ({language})\",\n cover: \"Titelbild\",\n coverAuto: \"Automatisch: das Titelbild des beliebtesten Mitglieds.\",\n coverImage: \"Ein hochgeladenes Bild.\",\n coverContent: \"Das Titelbild eines Mitglieds.\",\n uploadCover: \"Bild hochladen\",\n uploading: \"Wird hochgeladen…\",\n coverUseAuto: \"Automatisch verwenden\",\n edges: \"Verwandte Gruppen\",\n noEdges: \"Keine verwandten Gruppen.\",\n relation: \"Beziehung\",\n edgeKind: \"Art der Gruppe\",\n edgeTarget: \"Verwandte Gruppe\",\n removeEdge: \"Beziehung zu {name} entfernen\",\n merge: \"Zusammenführen\",\n mergeTitle: \"{name} mit einer anderen Gruppe zusammenführen\",\n mergeBody: \"Mitglieder, Namen, verwandte Gruppen und Untergruppen wandern zur gewählten Gruppe, und ihre Links leiten dorthin weiter. Das lässt sich nicht rückgängig machen.\",\n mergeTarget: \"Zusammenführen mit\",\n mergeInto: \"Mit {name}\",\n mergeWord: \"zusammenführen\",\n delete: \"Löschen\",\n deleteTitle: \"{name} löschen?\",\n deleteBody: \"Sie verschwindet aus allen Listen und Seiten. Ihre Mitgliedschaften bleiben erhalten, eine Wiederherstellung bringt sie unverändert zurück.\",\n deletedNotice: \"{name} ist gelöscht.\",\n restore: \"Wiederherstellen\",\n },\n memberships: {\n add: \"Hinzufügen: {kind}\",\n noKinds: \"Dieser Inhalt gehört zu keinen Gruppen.\",\n discard: \"Änderungen verwerfen\",\n saved: \"Gespeichert.\",\n proposed: \"Vorgeschlagen\",\n accept: \"Annehmen\",\n versionOf: \"Version in {name}\",\n wholeContent: \"Alle Versionen\",\n roleOf: \"Rolle in {name}\",\n noRole: \"Keine Rolle\",\n role: \"Rolle\",\n position: \"Position\",\n last: \"Zuletzt\",\n from: \"Ab\",\n until: \"Bis\",\n fromOf: \"{name}: ab\",\n untilOf: \"{name}: bis\",\n remove: \"{name} entfernen\",\n members: \"Mitglieder\",\n noMembers: \"Noch keine Mitglieder.\",\n version: \"Eine Version\",\n window: \"{from} – {until}\",\n always: \"Immer\",\n editWindow: \"Zeitraum bearbeiten\",\n useCover: \"Als Titelbild verwenden\",\n contentId: \"Inhalts-ID\",\n versionId: \"Versions-ID (optional)\",\n newMember: \"Neues Mitglied\",\n addMember: \"Mitglied hinzufügen\",\n },\n membership: {\n unknown: \"Wir können deine Mitgliedschaft gerade nicht prüfen.\",\n member: \"Mitglied\",\n leave: \"Austreten\",\n paidPitch: \"Mitglieder öffnen alles darin.\",\n freePitch: \"Tritt bei, um zu folgen und zu öffnen, was Mitglieder können.\",\n joinFor: \"Beitreten für {price}\",\n join: \"Beitreten\",\n },\n groupManager: {\n noAccess: \"Du darfst keine Gruppen verwalten.\",\n kindsFailed: \"Die Gruppenarten der Website konnten nicht geladen werden.\",\n noKinds: \"Diese Website hat keine Gruppenarten.\",\n back: \"Zurück zur Liste\",\n new: \"Neu: {kind}\",\n sort: \"Reihenfolge\",\n sort_name: \"Nach Name\",\n sort_count: \"Meiste Inhalte\",\n sort_newest: \"Neueste\",\n language: \"Sprache\",\n loadFailed: \"Gruppen konnten nicht geladen werden.\",\n count: \"Inhalte\",\n },\n};\n"],"mappings":";AAEA,IAAa,IAAoB;CAC/B,QAAQ;EACN,UAAU;EACV,KAAK;EACL,cAAc;EACd,OAAO;EACP,UAAU;EACV,SAAS;EACT,WAAW;EACX,aAAa;EACb,aAAa;EACb,UAAU;EACV,KAAK;EACL,IAAI;EACJ,mBAAmB;EACnB,SAAS;CACX;CACA,aAAa;EACX,cAAc;EACd,cAAc;EACd,QAAQ;EACR,iBAAiB;EACjB,YAAY;EACZ,UAAU;EACV,QAAQ;EACR,MAAM;EACN,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,MAAM;EACN,QAAQ;EACR,YAAY;EACZ,OAAO;EACP,WAAW;EACX,OAAO;EACP,eAAe;EACf,YAAY;EACZ,SAAS;EACT,UAAU;EACV,UAAU;EACV,SAAS;EACT,SAAS;EACT,MAAM;EACN,aAAa;EACb,eAAe;EACf,SAAS;EACT,WAAW;EACX,OAAO;EACP,WAAW;EACX,YAAY;EACZ,cAAc;EACd,aAAa;EACb,WAAW;EACX,cAAc;EACd,OAAO;EACP,SAAS;EACT,UAAU;EACV,UAAU;EACV,YAAY;EACZ,YAAY;EACZ,OAAO;EACP,YAAY;EACZ,WAAW;EACX,aAAa;EACb,WAAW;EACX,WAAW;EACX,QAAQ;EACR,aAAa;EACb,YAAY;EACZ,eAAe;EACf,SAAS;CACX;CACA,aAAa;EACX,KAAK;EACL,SAAS;EACT,SAAS;EACT,OAAO;EACP,UAAU;EACV,QAAQ;EACR,WAAW;EACX,cAAc;EACd,QAAQ;EACR,QAAQ;EACR,MAAM;EACN,UAAU;EACV,MAAM;EACN,MAAM;EACN,OAAO;EACP,QAAQ;EACR,SAAS;EACT,QAAQ;EACR,SAAS;EACT,WAAW;EACX,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,YAAY;EACZ,UAAU;EACV,WAAW;EACX,WAAW;EACX,WAAW;EACX,WAAW;CACb;CACA,YAAY;EACV,SAAS;EACT,QAAQ;EACR,OAAO;EACP,WAAW;EACX,WAAW;EACX,SAAS;EACT,MAAM;CACR;CACA,cAAc;EACZ,UAAU;EACV,aAAa;EACb,SAAS;EACT,MAAM;EACN,KAAK;EACL,MAAM;EACN,WAAW;EACX,YAAY;EACZ,aAAa;EACb,UAAU;EACV,YAAY;EACZ,OAAO;CACT;AACF"}
|
|
1
|
+
{"version":3,"file":"de.js","names":[],"sources":["../../../src/locales/groups/de.ts"],"sourcesContent":["import type { groups as en } from \"./en.js\";\n\nexport const groups: typeof en = {\n groups: {\n byLetter: \"Nach Buchstabe\",\n all: \"Alle\",\n otherLetters: \"Andere Zeichen\",\n empty: \"Hier ist noch nichts.\",\n loadMore: \"Mehr laden\",\n loading: \"Wird geladen…\",\n items_one: \"{count} Eintrag\",\n items_other: \"{count} Einträge\",\n alsoKnownAs: \"Auch bekannt als\",\n children: \"Untergruppen\",\n yes: \"Ja\",\n no: \"Nein\",\n searchPlaceholder: \"Nach Namen suchen\",\n noMatch: \"Kein Treffer.\",\n },\n groupEditor: {\n internal: \"Nur für den internen Gebrauch\",\n internalHint: \"Auf öffentlichen Seiten, in der Suche und in den Leseeinstellungen verborgen. Mitarbeitende können diese Entität in Domain-Regeln verwenden.\",\n uploadAvatar: \"Avatar hochladen\",\n removeAvatar: \"Avatar entfernen\",\n images: \"Bilder\",\n membershipPrice: \"Mitgliedspreis\",\n loadFailed: \"Die Gruppe konnte nicht geladen werden.\",\n newTitle: \"Neu: {kind}\",\n nameIn: \"Name ({language})\",\n slug: \"Slug\",\n parent: \"Übergeordnet\",\n create: \"Erstellen\",\n details: \"Details\",\n saved: \"Gespeichert.\",\n none: \"Keine\",\n change: \"Ändern\",\n clearField: \"{field} entfernen\",\n names: \"Namen und Aliasse\",\n canonical: \"Name\",\n alias: \"Alias\",\n makeCanonical: \"Zum Namen machen\",\n removeName: \"{name} entfernen\",\n noNames: \"Noch keine Namen.\",\n language: \"Sprache\",\n nameKind: \"Name oder Alias\",\n newName: \"Ein Name oder Alias\",\n addName: \"Hinzufügen\",\n text: \"Beschreibung\",\n description: \"Beschreibung\",\n descriptionIn: \"Beschreibung ({language})\",\n sortKey: \"Sortieren als (optional)\",\n sortKeyIn: \"Sortieren als ({language})\",\n cover: \"Titelbild\",\n coverAuto: \"Automatisch: das Titelbild des beliebtesten Mitglieds.\",\n coverImage: \"Ein hochgeladenes Bild.\",\n coverContent: \"Das Titelbild eines Mitglieds.\",\n uploadCover: \"Bild hochladen\",\n uploading: \"Wird hochgeladen…\",\n coverUseAuto: \"Automatisch verwenden\",\n edges: \"Verwandte Gruppen\",\n noEdges: \"Keine verwandten Gruppen.\",\n relation: \"Beziehung\",\n edgeKind: \"Art der Gruppe\",\n edgeTarget: \"Verwandte Gruppe\",\n removeEdge: \"Beziehung zu {name} entfernen\",\n merge: \"Zusammenführen\",\n mergeTitle: \"{name} mit einer anderen Gruppe zusammenführen\",\n mergeBody: \"Mitglieder, Namen, verwandte Gruppen und Untergruppen wandern zur gewählten Gruppe, und ihre Links leiten dorthin weiter. Das lässt sich nicht rückgängig machen.\",\n mergeTarget: \"Zusammenführen mit\",\n mergeInto: \"Mit {name}\",\n mergeWord: \"zusammenführen\",\n delete: \"Löschen\",\n deleteTitle: \"{name} löschen?\",\n deleteBody: \"Sie verschwindet aus allen Listen und Seiten. Ihre Mitgliedschaften bleiben erhalten, eine Wiederherstellung bringt sie unverändert zurück.\",\n deletedNotice: \"{name} ist gelöscht.\",\n restore: \"Wiederherstellen\",\n },\n memberships: {\n add: \"Hinzufügen: {kind}\",\n noKinds: \"Dieser Inhalt gehört zu keinen Gruppen.\",\n discard: \"Änderungen verwerfen\",\n saved: \"Gespeichert.\",\n proposed: \"Vorgeschlagen\",\n accept: \"Annehmen\",\n versionOf: \"Version in {name}\",\n wholeContent: \"Alle Versionen\",\n roleOf: \"Rolle in {name}\",\n noRole: \"Keine Rolle\",\n role: \"Rolle\",\n position: \"Position\",\n last: \"Zuletzt\",\n from: \"Ab\",\n until: \"Bis\",\n fromOf: \"{name}: ab\",\n untilOf: \"{name}: bis\",\n remove: \"{name} entfernen\",\n members: \"Mitglieder\",\n noMembers: \"Noch keine Mitglieder.\",\n version: \"Eine Version\",\n window: \"{from} – {until}\",\n always: \"Immer\",\n editWindow: \"Zeitraum bearbeiten\",\n useCover: \"Als Titelbild verwenden\",\n contentId: \"Inhalts-ID\",\n versionId: \"Versions-ID (optional)\",\n newMember: \"Neues Mitglied\",\n addMember: \"Mitglied hinzufügen\",\n },\n membership: {\n unknown: \"Wir können deine Mitgliedschaft gerade nicht prüfen.\",\n member: \"Mitglied\",\n leave: \"Austreten\",\n paidPitch: \"Mitglieder öffnen alles darin.\",\n freePitch: \"Tritt bei, um zu folgen und zu öffnen, was Mitglieder können.\",\n joinFor: \"Beitreten für {price}\",\n join: \"Beitreten\",\n },\n groupManager: {\n noAccess: \"Du darfst keine Gruppen verwalten.\",\n kindsFailed: \"Die Gruppenarten der Website konnten nicht geladen werden.\",\n noKinds: \"Diese Website hat keine Gruppenarten.\",\n back: \"Zurück zur Liste\",\n new: \"Neu: {kind}\",\n sort: \"Reihenfolge\",\n sort_name: \"Nach Name\",\n sort_count: \"Meiste Inhalte\",\n sort_newest: \"Neueste\",\n language: \"Sprache\",\n loadFailed: \"Gruppen konnten nicht geladen werden.\",\n count: \"Inhalte\",\n },\n};\n"],"mappings":";AAEA,IAAa,IAAoB;CAC/B,QAAQ;EACN,UAAU;EACV,KAAK;EACL,cAAc;EACd,OAAO;EACP,UAAU;EACV,SAAS;EACT,WAAW;EACX,aAAa;EACb,aAAa;EACb,UAAU;EACV,KAAK;EACL,IAAI;EACJ,mBAAmB;EACnB,SAAS;CACX;CACA,aAAa;EACX,UAAU;EACV,cAAc;EACd,cAAc;EACd,cAAc;EACd,QAAQ;EACR,iBAAiB;EACjB,YAAY;EACZ,UAAU;EACV,QAAQ;EACR,MAAM;EACN,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,MAAM;EACN,QAAQ;EACR,YAAY;EACZ,OAAO;EACP,WAAW;EACX,OAAO;EACP,eAAe;EACf,YAAY;EACZ,SAAS;EACT,UAAU;EACV,UAAU;EACV,SAAS;EACT,SAAS;EACT,MAAM;EACN,aAAa;EACb,eAAe;EACf,SAAS;EACT,WAAW;EACX,OAAO;EACP,WAAW;EACX,YAAY;EACZ,cAAc;EACd,aAAa;EACb,WAAW;EACX,cAAc;EACd,OAAO;EACP,SAAS;EACT,UAAU;EACV,UAAU;EACV,YAAY;EACZ,YAAY;EACZ,OAAO;EACP,YAAY;EACZ,WAAW;EACX,aAAa;EACb,WAAW;EACX,WAAW;EACX,QAAQ;EACR,aAAa;EACb,YAAY;EACZ,eAAe;EACf,SAAS;CACX;CACA,aAAa;EACX,KAAK;EACL,SAAS;EACT,SAAS;EACT,OAAO;EACP,UAAU;EACV,QAAQ;EACR,WAAW;EACX,cAAc;EACd,QAAQ;EACR,QAAQ;EACR,MAAM;EACN,UAAU;EACV,MAAM;EACN,MAAM;EACN,OAAO;EACP,QAAQ;EACR,SAAS;EACT,QAAQ;EACR,SAAS;EACT,WAAW;EACX,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,YAAY;EACZ,UAAU;EACV,WAAW;EACX,WAAW;EACX,WAAW;EACX,WAAW;CACb;CACA,YAAY;EACV,SAAS;EACT,QAAQ;EACR,OAAO;EACP,WAAW;EACX,WAAW;EACX,SAAS;EACT,MAAM;CACR;CACA,cAAc;EACZ,UAAU;EACV,aAAa;EACb,SAAS;EACT,MAAM;EACN,KAAK;EACL,MAAM;EACN,WAAW;EACX,YAAY;EACZ,aAAa;EACb,UAAU;EACV,YAAY;EACZ,OAAO;CACT;AACF"}
|
|
@@ -17,6 +17,8 @@ var e = {
|
|
|
17
17
|
noMatch: "No match."
|
|
18
18
|
},
|
|
19
19
|
groupEditor: {
|
|
20
|
+
internal: "Internal use only",
|
|
21
|
+
internalHint: "Hidden from public pages, search and reader settings. Staff can use this entity in domain rules.",
|
|
20
22
|
uploadAvatar: "Upload avatar",
|
|
21
23
|
removeAvatar: "Remove avatar",
|
|
22
24
|
images: "Images",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.js","names":[],"sources":["../../../src/locales/groups/en.ts"],"sourcesContent":["// Groups: directories and headers, the staff editors and GroupManager.\nexport const groups = {\n groups: {\n byLetter: \"By letter\",\n all: \"All\",\n otherLetters: \"Other characters\",\n empty: \"Nothing here yet.\",\n loadMore: \"Load more\",\n loading: \"Loading…\",\n items_one: \"{count} item\",\n items_other: \"{count} items\",\n alsoKnownAs: \"Also known as\",\n children: \"Sub-groups\",\n yes: \"Yes\",\n no: \"No\",\n searchPlaceholder: \"Search by name\",\n noMatch: \"No match.\",\n },\n groupEditor: {\n uploadAvatar: \"Upload avatar\",\n removeAvatar: \"Remove avatar\",\n images: \"Images\",\n membershipPrice: \"Membership price\",\n loadFailed: \"The group couldn't be loaded.\",\n newTitle: \"New {kind}\",\n nameIn: \"Name ({language})\",\n slug: \"Slug\",\n parent: \"Parent\",\n create: \"Create\",\n details: \"Details\",\n saved: \"Saved.\",\n none: \"None\",\n change: \"Change\",\n clearField: \"Clear {field}\",\n names: \"Names and aliases\",\n canonical: \"Name\",\n alias: \"Alias\",\n makeCanonical: \"Make it the name\",\n removeName: \"Remove {name}\",\n noNames: \"No names yet.\",\n language: \"Language\",\n nameKind: \"Name or alias\",\n newName: \"A name or alias\",\n addName: \"Add\",\n text: \"Description\",\n description: \"Description\",\n descriptionIn: \"Description ({language})\",\n sortKey: \"Sort as (optional)\",\n sortKeyIn: \"Sort as ({language})\",\n cover: \"Cover\",\n coverAuto: \"Automatic: the most favorited member's cover.\",\n coverImage: \"An uploaded image.\",\n coverContent: \"A member's cover.\",\n uploadCover: \"Upload image\",\n uploading: \"Uploading…\",\n coverUseAuto: \"Use automatic\",\n edges: \"Related groups\",\n noEdges: \"No related groups.\",\n relation: \"Relation\",\n edgeKind: \"Kind of group\",\n edgeTarget: \"Related group\",\n removeEdge: \"Remove the relation to {name}\",\n merge: \"Merge\",\n mergeTitle: \"Merge {name} into another group\",\n mergeBody: \"Its members, names, related groups and sub-groups move to the group you choose, and its links redirect there. This can't be undone.\",\n mergeTarget: \"Merge into\",\n mergeInto: \"Into {name}\",\n mergeWord: \"merge\",\n delete: \"Delete\",\n deleteTitle: \"Delete {name}?\",\n deleteBody: \"It leaves every listing and page. Its memberships are kept, so restoring it brings it back as it was.\",\n deletedNotice: \"{name} is deleted.\",\n restore: \"Restore\",\n },\n memberships: {\n add: \"Add: {kind}\",\n noKinds: \"This content joins no groups.\",\n discard: \"Discard changes\",\n saved: \"Saved.\",\n proposed: \"Proposed\",\n accept: \"Accept\",\n versionOf: \"Version in {name}\",\n wholeContent: \"Every version\",\n roleOf: \"Role in {name}\",\n noRole: \"No role\",\n role: \"Role\",\n position: \"Position\",\n last: \"Last\",\n from: \"From\",\n until: \"Until\",\n fromOf: \"{name}: from\",\n untilOf: \"{name}: until\",\n remove: \"Remove {name}\",\n members: \"Members\",\n noMembers: \"No members yet.\",\n version: \"One version\",\n window: \"{from} – {until}\",\n always: \"Always\",\n editWindow: \"Edit dates\",\n useCover: \"Use as cover\",\n contentId: \"Content id\",\n versionId: \"Version id (optional)\",\n newMember: \"New member\",\n addMember: \"Add member\",\n },\n membership: {\n unknown: \"We can't check your membership right now.\",\n member: \"Member\",\n leave: \"Leave\",\n paidPitch: \"Members open everything in it.\",\n freePitch: \"Join to follow it and open what members can.\",\n joinFor: \"Join for {price}\",\n join: \"Join\",\n },\n groupManager: {\n noAccess: \"You don't have permission to manage groups.\",\n kindsFailed: \"The site's group kinds couldn't be loaded.\",\n noKinds: \"This site has no group kinds.\",\n back: \"Back to the list\",\n new: \"New: {kind}\",\n sort: \"Order\",\n sort_name: \"By name\",\n sort_count: \"Most content\",\n sort_newest: \"Newest\",\n language: \"Language\",\n loadFailed: \"Groups couldn't be loaded.\",\n count: \"Contents\",\n },\n};\n"],"mappings":";AACA,IAAa,IAAS;CACpB,QAAQ;EACN,UAAU;EACV,KAAK;EACL,cAAc;EACd,OAAO;EACP,UAAU;EACV,SAAS;EACT,WAAW;EACX,aAAa;EACb,aAAa;EACb,UAAU;EACV,KAAK;EACL,IAAI;EACJ,mBAAmB;EACnB,SAAS;CACX;CACA,aAAa;EACX,cAAc;EACd,cAAc;EACd,QAAQ;EACR,iBAAiB;EACjB,YAAY;EACZ,UAAU;EACV,QAAQ;EACR,MAAM;EACN,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,MAAM;EACN,QAAQ;EACR,YAAY;EACZ,OAAO;EACP,WAAW;EACX,OAAO;EACP,eAAe;EACf,YAAY;EACZ,SAAS;EACT,UAAU;EACV,UAAU;EACV,SAAS;EACT,SAAS;EACT,MAAM;EACN,aAAa;EACb,eAAe;EACf,SAAS;EACT,WAAW;EACX,OAAO;EACP,WAAW;EACX,YAAY;EACZ,cAAc;EACd,aAAa;EACb,WAAW;EACX,cAAc;EACd,OAAO;EACP,SAAS;EACT,UAAU;EACV,UAAU;EACV,YAAY;EACZ,YAAY;EACZ,OAAO;EACP,YAAY;EACZ,WAAW;EACX,aAAa;EACb,WAAW;EACX,WAAW;EACX,QAAQ;EACR,aAAa;EACb,YAAY;EACZ,eAAe;EACf,SAAS;CACX;CACA,aAAa;EACX,KAAK;EACL,SAAS;EACT,SAAS;EACT,OAAO;EACP,UAAU;EACV,QAAQ;EACR,WAAW;EACX,cAAc;EACd,QAAQ;EACR,QAAQ;EACR,MAAM;EACN,UAAU;EACV,MAAM;EACN,MAAM;EACN,OAAO;EACP,QAAQ;EACR,SAAS;EACT,QAAQ;EACR,SAAS;EACT,WAAW;EACX,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,YAAY;EACZ,UAAU;EACV,WAAW;EACX,WAAW;EACX,WAAW;EACX,WAAW;CACb;CACA,YAAY;EACV,SAAS;EACT,QAAQ;EACR,OAAO;EACP,WAAW;EACX,WAAW;EACX,SAAS;EACT,MAAM;CACR;CACA,cAAc;EACZ,UAAU;EACV,aAAa;EACb,SAAS;EACT,MAAM;EACN,KAAK;EACL,MAAM;EACN,WAAW;EACX,YAAY;EACZ,aAAa;EACb,UAAU;EACV,YAAY;EACZ,OAAO;CACT;AACF"}
|
|
1
|
+
{"version":3,"file":"en.js","names":[],"sources":["../../../src/locales/groups/en.ts"],"sourcesContent":["// Groups: directories and headers, the staff editors and GroupManager.\nexport const groups = {\n groups: {\n byLetter: \"By letter\",\n all: \"All\",\n otherLetters: \"Other characters\",\n empty: \"Nothing here yet.\",\n loadMore: \"Load more\",\n loading: \"Loading…\",\n items_one: \"{count} item\",\n items_other: \"{count} items\",\n alsoKnownAs: \"Also known as\",\n children: \"Sub-groups\",\n yes: \"Yes\",\n no: \"No\",\n searchPlaceholder: \"Search by name\",\n noMatch: \"No match.\",\n },\n groupEditor: {\n internal: \"Internal use only\",\n internalHint: \"Hidden from public pages, search and reader settings. Staff can use this entity in domain rules.\",\n uploadAvatar: \"Upload avatar\",\n removeAvatar: \"Remove avatar\",\n images: \"Images\",\n membershipPrice: \"Membership price\",\n loadFailed: \"The group couldn't be loaded.\",\n newTitle: \"New {kind}\",\n nameIn: \"Name ({language})\",\n slug: \"Slug\",\n parent: \"Parent\",\n create: \"Create\",\n details: \"Details\",\n saved: \"Saved.\",\n none: \"None\",\n change: \"Change\",\n clearField: \"Clear {field}\",\n names: \"Names and aliases\",\n canonical: \"Name\",\n alias: \"Alias\",\n makeCanonical: \"Make it the name\",\n removeName: \"Remove {name}\",\n noNames: \"No names yet.\",\n language: \"Language\",\n nameKind: \"Name or alias\",\n newName: \"A name or alias\",\n addName: \"Add\",\n text: \"Description\",\n description: \"Description\",\n descriptionIn: \"Description ({language})\",\n sortKey: \"Sort as (optional)\",\n sortKeyIn: \"Sort as ({language})\",\n cover: \"Cover\",\n coverAuto: \"Automatic: the most favorited member's cover.\",\n coverImage: \"An uploaded image.\",\n coverContent: \"A member's cover.\",\n uploadCover: \"Upload image\",\n uploading: \"Uploading…\",\n coverUseAuto: \"Use automatic\",\n edges: \"Related groups\",\n noEdges: \"No related groups.\",\n relation: \"Relation\",\n edgeKind: \"Kind of group\",\n edgeTarget: \"Related group\",\n removeEdge: \"Remove the relation to {name}\",\n merge: \"Merge\",\n mergeTitle: \"Merge {name} into another group\",\n mergeBody: \"Its members, names, related groups and sub-groups move to the group you choose, and its links redirect there. This can't be undone.\",\n mergeTarget: \"Merge into\",\n mergeInto: \"Into {name}\",\n mergeWord: \"merge\",\n delete: \"Delete\",\n deleteTitle: \"Delete {name}?\",\n deleteBody: \"It leaves every listing and page. Its memberships are kept, so restoring it brings it back as it was.\",\n deletedNotice: \"{name} is deleted.\",\n restore: \"Restore\",\n },\n memberships: {\n add: \"Add: {kind}\",\n noKinds: \"This content joins no groups.\",\n discard: \"Discard changes\",\n saved: \"Saved.\",\n proposed: \"Proposed\",\n accept: \"Accept\",\n versionOf: \"Version in {name}\",\n wholeContent: \"Every version\",\n roleOf: \"Role in {name}\",\n noRole: \"No role\",\n role: \"Role\",\n position: \"Position\",\n last: \"Last\",\n from: \"From\",\n until: \"Until\",\n fromOf: \"{name}: from\",\n untilOf: \"{name}: until\",\n remove: \"Remove {name}\",\n members: \"Members\",\n noMembers: \"No members yet.\",\n version: \"One version\",\n window: \"{from} – {until}\",\n always: \"Always\",\n editWindow: \"Edit dates\",\n useCover: \"Use as cover\",\n contentId: \"Content id\",\n versionId: \"Version id (optional)\",\n newMember: \"New member\",\n addMember: \"Add member\",\n },\n membership: {\n unknown: \"We can't check your membership right now.\",\n member: \"Member\",\n leave: \"Leave\",\n paidPitch: \"Members open everything in it.\",\n freePitch: \"Join to follow it and open what members can.\",\n joinFor: \"Join for {price}\",\n join: \"Join\",\n },\n groupManager: {\n noAccess: \"You don't have permission to manage groups.\",\n kindsFailed: \"The site's group kinds couldn't be loaded.\",\n noKinds: \"This site has no group kinds.\",\n back: \"Back to the list\",\n new: \"New: {kind}\",\n sort: \"Order\",\n sort_name: \"By name\",\n sort_count: \"Most content\",\n sort_newest: \"Newest\",\n language: \"Language\",\n loadFailed: \"Groups couldn't be loaded.\",\n count: \"Contents\",\n },\n};\n"],"mappings":";AACA,IAAa,IAAS;CACpB,QAAQ;EACN,UAAU;EACV,KAAK;EACL,cAAc;EACd,OAAO;EACP,UAAU;EACV,SAAS;EACT,WAAW;EACX,aAAa;EACb,aAAa;EACb,UAAU;EACV,KAAK;EACL,IAAI;EACJ,mBAAmB;EACnB,SAAS;CACX;CACA,aAAa;EACX,UAAU;EACV,cAAc;EACd,cAAc;EACd,cAAc;EACd,QAAQ;EACR,iBAAiB;EACjB,YAAY;EACZ,UAAU;EACV,QAAQ;EACR,MAAM;EACN,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,MAAM;EACN,QAAQ;EACR,YAAY;EACZ,OAAO;EACP,WAAW;EACX,OAAO;EACP,eAAe;EACf,YAAY;EACZ,SAAS;EACT,UAAU;EACV,UAAU;EACV,SAAS;EACT,SAAS;EACT,MAAM;EACN,aAAa;EACb,eAAe;EACf,SAAS;EACT,WAAW;EACX,OAAO;EACP,WAAW;EACX,YAAY;EACZ,cAAc;EACd,aAAa;EACb,WAAW;EACX,cAAc;EACd,OAAO;EACP,SAAS;EACT,UAAU;EACV,UAAU;EACV,YAAY;EACZ,YAAY;EACZ,OAAO;EACP,YAAY;EACZ,WAAW;EACX,aAAa;EACb,WAAW;EACX,WAAW;EACX,QAAQ;EACR,aAAa;EACb,YAAY;EACZ,eAAe;EACf,SAAS;CACX;CACA,aAAa;EACX,KAAK;EACL,SAAS;EACT,SAAS;EACT,OAAO;EACP,UAAU;EACV,QAAQ;EACR,WAAW;EACX,cAAc;EACd,QAAQ;EACR,QAAQ;EACR,MAAM;EACN,UAAU;EACV,MAAM;EACN,MAAM;EACN,OAAO;EACP,QAAQ;EACR,SAAS;EACT,QAAQ;EACR,SAAS;EACT,WAAW;EACX,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,YAAY;EACZ,UAAU;EACV,WAAW;EACX,WAAW;EACX,WAAW;EACX,WAAW;CACb;CACA,YAAY;EACV,SAAS;EACT,QAAQ;EACR,OAAO;EACP,WAAW;EACX,WAAW;EACX,SAAS;EACT,MAAM;CACR;CACA,cAAc;EACZ,UAAU;EACV,aAAa;EACb,SAAS;EACT,MAAM;EACN,KAAK;EACL,MAAM;EACN,WAAW;EACX,YAAY;EACZ,aAAa;EACb,UAAU;EACV,YAAY;EACZ,OAAO;CACT;AACF"}
|
|
@@ -17,6 +17,8 @@ var e = {
|
|
|
17
17
|
noMatch: "Sin resultados."
|
|
18
18
|
},
|
|
19
19
|
groupEditor: {
|
|
20
|
+
internal: "Solo para uso interno",
|
|
21
|
+
internalHint: "Oculta en las páginas públicas, la búsqueda y las preferencias de lectura. El personal puede usar esta entidad en las reglas del dominio.",
|
|
20
22
|
uploadAvatar: "Subir avatar",
|
|
21
23
|
removeAvatar: "Quitar avatar",
|
|
22
24
|
images: "Imágenes",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"es.js","names":[],"sources":["../../../src/locales/groups/es.ts"],"sourcesContent":["import type { groups as en } from \"./en.js\";\n\nexport const groups: typeof en = {\n groups: {\n byLetter: \"Por letra\",\n all: \"Todos\",\n otherLetters: \"Otros caracteres\",\n empty: \"Aún no hay nada aquí.\",\n loadMore: \"Cargar más\",\n loading: \"Cargando…\",\n items_one: \"{count} elemento\",\n items_other: \"{count} elementos\",\n alsoKnownAs: \"También conocido como\",\n children: \"Subgrupos\",\n yes: \"Sí\",\n no: \"No\",\n searchPlaceholder: \"Buscar por nombre\",\n noMatch: \"Sin resultados.\",\n },\n groupEditor: {\n uploadAvatar: \"Subir avatar\",\n removeAvatar: \"Quitar avatar\",\n images: \"Imágenes\",\n membershipPrice: \"Precio de la membresía\",\n loadFailed: \"No se pudo cargar el grupo.\",\n newTitle: \"Nuevo: {kind}\",\n nameIn: \"Nombre ({language})\",\n slug: \"Slug\",\n parent: \"Superior\",\n create: \"Crear\",\n details: \"Detalles\",\n saved: \"Guardado.\",\n none: \"Ninguno\",\n change: \"Cambiar\",\n clearField: \"Quitar {field}\",\n names: \"Nombres y alias\",\n canonical: \"Nombre\",\n alias: \"Alias\",\n makeCanonical: \"Convertir en el nombre\",\n removeName: \"Quitar {name}\",\n noNames: \"Aún no hay nombres.\",\n language: \"Idioma\",\n nameKind: \"Nombre o alias\",\n newName: \"Un nombre o alias\",\n addName: \"Añadir\",\n text: \"Descripción\",\n description: \"Descripción\",\n descriptionIn: \"Descripción ({language})\",\n sortKey: \"Ordenar como (opcional)\",\n sortKeyIn: \"Ordenar como ({language})\",\n cover: \"Portada\",\n coverAuto: \"Automática: la portada del miembro más favorito.\",\n coverImage: \"Una imagen subida.\",\n coverContent: \"La portada de un miembro.\",\n uploadCover: \"Subir imagen\",\n uploading: \"Subiendo…\",\n coverUseAuto: \"Usar automática\",\n edges: \"Grupos relacionados\",\n noEdges: \"No hay grupos relacionados.\",\n relation: \"Relación\",\n edgeKind: \"Tipo de grupo\",\n edgeTarget: \"Grupo relacionado\",\n removeEdge: \"Quitar la relación con {name}\",\n merge: \"Fusionar\",\n mergeTitle: \"Fusionar {name} con otro grupo\",\n mergeBody: \"Sus miembros, nombres, grupos relacionados y subgrupos pasan al grupo que elijas, y sus enlaces redirigen allí. No se puede deshacer.\",\n mergeTarget: \"Fusionar con\",\n mergeInto: \"Con {name}\",\n mergeWord: \"fusionar\",\n delete: \"Eliminar\",\n deleteTitle: \"¿Eliminar {name}?\",\n deleteBody: \"Desaparece de todos los listados y páginas. Sus membresías se conservan, así que al restaurarlo vuelve tal como estaba.\",\n deletedNotice: \"{name} está eliminado.\",\n restore: \"Restaurar\",\n },\n memberships: {\n add: \"Añadir: {kind}\",\n noKinds: \"Este contenido no pertenece a ningún grupo.\",\n discard: \"Descartar cambios\",\n saved: \"Guardado.\",\n proposed: \"Propuesto\",\n accept: \"Aceptar\",\n versionOf: \"Versión en {name}\",\n wholeContent: \"Todas las versiones\",\n roleOf: \"Función en {name}\",\n noRole: \"Sin función\",\n role: \"Función\",\n position: \"Posición\",\n last: \"Al final\",\n from: \"Desde\",\n until: \"Hasta\",\n fromOf: \"{name}: desde\",\n untilOf: \"{name}: hasta\",\n remove: \"Quitar {name}\",\n members: \"Miembros\",\n noMembers: \"Aún no hay miembros.\",\n version: \"Una versión\",\n window: \"{from} – {until}\",\n always: \"Siempre\",\n editWindow: \"Editar fechas\",\n useCover: \"Usar como portada\",\n contentId: \"ID del contenido\",\n versionId: \"ID de la versión (opcional)\",\n newMember: \"Nuevo miembro\",\n addMember: \"Añadir miembro\",\n },\n membership: {\n unknown: \"Ahora no podemos comprobar tu membresía.\",\n member: \"Miembro\",\n leave: \"Salir\",\n paidPitch: \"Los miembros abren todo lo que contiene.\",\n freePitch: \"Únete para seguirlo y abrir lo que abren los miembros.\",\n joinFor: \"Unirse por {price}\",\n join: \"Unirse\",\n },\n groupManager: {\n noAccess: \"No tienes permiso para gestionar grupos.\",\n kindsFailed: \"No se pudieron cargar los tipos de grupo del sitio.\",\n noKinds: \"Este sitio no tiene tipos de grupo.\",\n back: \"Volver a la lista\",\n new: \"Nuevo: {kind}\",\n sort: \"Orden\",\n sort_name: \"Por nombre\",\n sort_count: \"Más contenido\",\n sort_newest: \"Más recientes\",\n language: \"Idioma\",\n loadFailed: \"No se pudieron cargar los grupos.\",\n count: \"Contenidos\",\n },\n};\n"],"mappings":";AAEA,IAAa,IAAoB;CAC/B,QAAQ;EACN,UAAU;EACV,KAAK;EACL,cAAc;EACd,OAAO;EACP,UAAU;EACV,SAAS;EACT,WAAW;EACX,aAAa;EACb,aAAa;EACb,UAAU;EACV,KAAK;EACL,IAAI;EACJ,mBAAmB;EACnB,SAAS;CACX;CACA,aAAa;EACX,cAAc;EACd,cAAc;EACd,QAAQ;EACR,iBAAiB;EACjB,YAAY;EACZ,UAAU;EACV,QAAQ;EACR,MAAM;EACN,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,MAAM;EACN,QAAQ;EACR,YAAY;EACZ,OAAO;EACP,WAAW;EACX,OAAO;EACP,eAAe;EACf,YAAY;EACZ,SAAS;EACT,UAAU;EACV,UAAU;EACV,SAAS;EACT,SAAS;EACT,MAAM;EACN,aAAa;EACb,eAAe;EACf,SAAS;EACT,WAAW;EACX,OAAO;EACP,WAAW;EACX,YAAY;EACZ,cAAc;EACd,aAAa;EACb,WAAW;EACX,cAAc;EACd,OAAO;EACP,SAAS;EACT,UAAU;EACV,UAAU;EACV,YAAY;EACZ,YAAY;EACZ,OAAO;EACP,YAAY;EACZ,WAAW;EACX,aAAa;EACb,WAAW;EACX,WAAW;EACX,QAAQ;EACR,aAAa;EACb,YAAY;EACZ,eAAe;EACf,SAAS;CACX;CACA,aAAa;EACX,KAAK;EACL,SAAS;EACT,SAAS;EACT,OAAO;EACP,UAAU;EACV,QAAQ;EACR,WAAW;EACX,cAAc;EACd,QAAQ;EACR,QAAQ;EACR,MAAM;EACN,UAAU;EACV,MAAM;EACN,MAAM;EACN,OAAO;EACP,QAAQ;EACR,SAAS;EACT,QAAQ;EACR,SAAS;EACT,WAAW;EACX,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,YAAY;EACZ,UAAU;EACV,WAAW;EACX,WAAW;EACX,WAAW;EACX,WAAW;CACb;CACA,YAAY;EACV,SAAS;EACT,QAAQ;EACR,OAAO;EACP,WAAW;EACX,WAAW;EACX,SAAS;EACT,MAAM;CACR;CACA,cAAc;EACZ,UAAU;EACV,aAAa;EACb,SAAS;EACT,MAAM;EACN,KAAK;EACL,MAAM;EACN,WAAW;EACX,YAAY;EACZ,aAAa;EACb,UAAU;EACV,YAAY;EACZ,OAAO;CACT;AACF"}
|
|
1
|
+
{"version":3,"file":"es.js","names":[],"sources":["../../../src/locales/groups/es.ts"],"sourcesContent":["import type { groups as en } from \"./en.js\";\n\nexport const groups: typeof en = {\n groups: {\n byLetter: \"Por letra\",\n all: \"Todos\",\n otherLetters: \"Otros caracteres\",\n empty: \"Aún no hay nada aquí.\",\n loadMore: \"Cargar más\",\n loading: \"Cargando…\",\n items_one: \"{count} elemento\",\n items_other: \"{count} elementos\",\n alsoKnownAs: \"También conocido como\",\n children: \"Subgrupos\",\n yes: \"Sí\",\n no: \"No\",\n searchPlaceholder: \"Buscar por nombre\",\n noMatch: \"Sin resultados.\",\n },\n groupEditor: {\n internal: \"Solo para uso interno\",\n internalHint: \"Oculta en las páginas públicas, la búsqueda y las preferencias de lectura. El personal puede usar esta entidad en las reglas del dominio.\",\n uploadAvatar: \"Subir avatar\",\n removeAvatar: \"Quitar avatar\",\n images: \"Imágenes\",\n membershipPrice: \"Precio de la membresía\",\n loadFailed: \"No se pudo cargar el grupo.\",\n newTitle: \"Nuevo: {kind}\",\n nameIn: \"Nombre ({language})\",\n slug: \"Slug\",\n parent: \"Superior\",\n create: \"Crear\",\n details: \"Detalles\",\n saved: \"Guardado.\",\n none: \"Ninguno\",\n change: \"Cambiar\",\n clearField: \"Quitar {field}\",\n names: \"Nombres y alias\",\n canonical: \"Nombre\",\n alias: \"Alias\",\n makeCanonical: \"Convertir en el nombre\",\n removeName: \"Quitar {name}\",\n noNames: \"Aún no hay nombres.\",\n language: \"Idioma\",\n nameKind: \"Nombre o alias\",\n newName: \"Un nombre o alias\",\n addName: \"Añadir\",\n text: \"Descripción\",\n description: \"Descripción\",\n descriptionIn: \"Descripción ({language})\",\n sortKey: \"Ordenar como (opcional)\",\n sortKeyIn: \"Ordenar como ({language})\",\n cover: \"Portada\",\n coverAuto: \"Automática: la portada del miembro más favorito.\",\n coverImage: \"Una imagen subida.\",\n coverContent: \"La portada de un miembro.\",\n uploadCover: \"Subir imagen\",\n uploading: \"Subiendo…\",\n coverUseAuto: \"Usar automática\",\n edges: \"Grupos relacionados\",\n noEdges: \"No hay grupos relacionados.\",\n relation: \"Relación\",\n edgeKind: \"Tipo de grupo\",\n edgeTarget: \"Grupo relacionado\",\n removeEdge: \"Quitar la relación con {name}\",\n merge: \"Fusionar\",\n mergeTitle: \"Fusionar {name} con otro grupo\",\n mergeBody: \"Sus miembros, nombres, grupos relacionados y subgrupos pasan al grupo que elijas, y sus enlaces redirigen allí. No se puede deshacer.\",\n mergeTarget: \"Fusionar con\",\n mergeInto: \"Con {name}\",\n mergeWord: \"fusionar\",\n delete: \"Eliminar\",\n deleteTitle: \"¿Eliminar {name}?\",\n deleteBody: \"Desaparece de todos los listados y páginas. Sus membresías se conservan, así que al restaurarlo vuelve tal como estaba.\",\n deletedNotice: \"{name} está eliminado.\",\n restore: \"Restaurar\",\n },\n memberships: {\n add: \"Añadir: {kind}\",\n noKinds: \"Este contenido no pertenece a ningún grupo.\",\n discard: \"Descartar cambios\",\n saved: \"Guardado.\",\n proposed: \"Propuesto\",\n accept: \"Aceptar\",\n versionOf: \"Versión en {name}\",\n wholeContent: \"Todas las versiones\",\n roleOf: \"Función en {name}\",\n noRole: \"Sin función\",\n role: \"Función\",\n position: \"Posición\",\n last: \"Al final\",\n from: \"Desde\",\n until: \"Hasta\",\n fromOf: \"{name}: desde\",\n untilOf: \"{name}: hasta\",\n remove: \"Quitar {name}\",\n members: \"Miembros\",\n noMembers: \"Aún no hay miembros.\",\n version: \"Una versión\",\n window: \"{from} – {until}\",\n always: \"Siempre\",\n editWindow: \"Editar fechas\",\n useCover: \"Usar como portada\",\n contentId: \"ID del contenido\",\n versionId: \"ID de la versión (opcional)\",\n newMember: \"Nuevo miembro\",\n addMember: \"Añadir miembro\",\n },\n membership: {\n unknown: \"Ahora no podemos comprobar tu membresía.\",\n member: \"Miembro\",\n leave: \"Salir\",\n paidPitch: \"Los miembros abren todo lo que contiene.\",\n freePitch: \"Únete para seguirlo y abrir lo que abren los miembros.\",\n joinFor: \"Unirse por {price}\",\n join: \"Unirse\",\n },\n groupManager: {\n noAccess: \"No tienes permiso para gestionar grupos.\",\n kindsFailed: \"No se pudieron cargar los tipos de grupo del sitio.\",\n noKinds: \"Este sitio no tiene tipos de grupo.\",\n back: \"Volver a la lista\",\n new: \"Nuevo: {kind}\",\n sort: \"Orden\",\n sort_name: \"Por nombre\",\n sort_count: \"Más contenido\",\n sort_newest: \"Más recientes\",\n language: \"Idioma\",\n loadFailed: \"No se pudieron cargar los grupos.\",\n count: \"Contenidos\",\n },\n};\n"],"mappings":";AAEA,IAAa,IAAoB;CAC/B,QAAQ;EACN,UAAU;EACV,KAAK;EACL,cAAc;EACd,OAAO;EACP,UAAU;EACV,SAAS;EACT,WAAW;EACX,aAAa;EACb,aAAa;EACb,UAAU;EACV,KAAK;EACL,IAAI;EACJ,mBAAmB;EACnB,SAAS;CACX;CACA,aAAa;EACX,UAAU;EACV,cAAc;EACd,cAAc;EACd,cAAc;EACd,QAAQ;EACR,iBAAiB;EACjB,YAAY;EACZ,UAAU;EACV,QAAQ;EACR,MAAM;EACN,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,MAAM;EACN,QAAQ;EACR,YAAY;EACZ,OAAO;EACP,WAAW;EACX,OAAO;EACP,eAAe;EACf,YAAY;EACZ,SAAS;EACT,UAAU;EACV,UAAU;EACV,SAAS;EACT,SAAS;EACT,MAAM;EACN,aAAa;EACb,eAAe;EACf,SAAS;EACT,WAAW;EACX,OAAO;EACP,WAAW;EACX,YAAY;EACZ,cAAc;EACd,aAAa;EACb,WAAW;EACX,cAAc;EACd,OAAO;EACP,SAAS;EACT,UAAU;EACV,UAAU;EACV,YAAY;EACZ,YAAY;EACZ,OAAO;EACP,YAAY;EACZ,WAAW;EACX,aAAa;EACb,WAAW;EACX,WAAW;EACX,QAAQ;EACR,aAAa;EACb,YAAY;EACZ,eAAe;EACf,SAAS;CACX;CACA,aAAa;EACX,KAAK;EACL,SAAS;EACT,SAAS;EACT,OAAO;EACP,UAAU;EACV,QAAQ;EACR,WAAW;EACX,cAAc;EACd,QAAQ;EACR,QAAQ;EACR,MAAM;EACN,UAAU;EACV,MAAM;EACN,MAAM;EACN,OAAO;EACP,QAAQ;EACR,SAAS;EACT,QAAQ;EACR,SAAS;EACT,WAAW;EACX,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,YAAY;EACZ,UAAU;EACV,WAAW;EACX,WAAW;EACX,WAAW;EACX,WAAW;CACb;CACA,YAAY;EACV,SAAS;EACT,QAAQ;EACR,OAAO;EACP,WAAW;EACX,WAAW;EACX,SAAS;EACT,MAAM;CACR;CACA,cAAc;EACZ,UAAU;EACV,aAAa;EACb,SAAS;EACT,MAAM;EACN,KAAK;EACL,MAAM;EACN,WAAW;EACX,YAAY;EACZ,aAAa;EACb,UAAU;EACV,YAAY;EACZ,OAAO;CACT;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ja.js","names":[],"sources":["../../../src/locales/groups/ja.ts"],"sourcesContent":["import type { groups as en } from \"./en.js\";\n\nexport const groups: typeof en = {\n groups: {\n byLetter: \"頭文字で絞り込む\",\n all: \"すべて\",\n otherLetters: \"その他の文字\",\n empty: \"まだ何もありません。\",\n loadMore: \"さらに読み込む\",\n loading: \"読み込み中…\",\n items_one: \"{count} 件\",\n items_other: \"{count} 件\",\n alsoKnownAs: \"別名\",\n children: \"サブグループ\",\n yes: \"はい\",\n no: \"いいえ\",\n searchPlaceholder: \"名前で検索\",\n noMatch: \"一致するものはありません。\",\n },\n groupEditor: {\n uploadAvatar: \"アバターをアップロード\",\n removeAvatar: \"アバターを削除\",\n images: \"画像\",\n membershipPrice: \"メンバーシップ価格\",\n loadFailed: \"グループを読み込めませんでした。\",\n newTitle: \"新規: {kind}\",\n nameIn: \"名前({language})\",\n slug: \"スラッグ\",\n parent: \"親\",\n create: \"作成\",\n details: \"詳細\",\n saved: \"保存しました。\",\n none: \"なし\",\n change: \"変更\",\n clearField: \"{field}を外す\",\n names: \"名前と別名\",\n canonical: \"名前\",\n alias: \"別名\",\n makeCanonical: \"名前にする\",\n removeName: \"{name}を削除\",\n noNames: \"名前はまだありません。\",\n language: \"言語\",\n nameKind: \"名前または別名\",\n newName: \"名前または別名\",\n addName: \"追加\",\n text: \"説明\",\n description: \"説明\",\n descriptionIn: \"説明({language})\",\n sortKey: \"並び替え用の読み(任意)\",\n sortKeyIn: \"並び替え用の読み({language})\",\n cover: \"カバー\",\n coverAuto: \"自動: いちばんお気に入りの多いメンバーのカバー。\",\n coverImage: \"アップロードした画像。\",\n coverContent: \"メンバーのカバー。\",\n uploadCover: \"画像をアップロード\",\n uploading: \"アップロード中…\",\n coverUseAuto: \"自動にする\",\n edges: \"関連グループ\",\n noEdges: \"関連グループはありません。\",\n relation: \"関係\",\n edgeKind: \"グループの種類\",\n edgeTarget: \"関連グループ\",\n removeEdge: \"{name}との関係を削除\",\n merge: \"統合\",\n mergeTitle: \"{name}を別のグループに統合\",\n mergeBody: \"メンバー、名前、関連グループ、サブグループは選んだグループへ移り、リンクはそちらへ転送されます。元に戻せません。\",\n mergeTarget: \"統合先\",\n mergeInto: \"統合先: {name}\",\n mergeWord: \"統合\",\n delete: \"削除\",\n deleteTitle: \"{name}を削除しますか?\",\n deleteBody: \"すべての一覧とページから消えます。メンバーシップは残るので、復元すれば元どおりに戻ります。\",\n deletedNotice: \"{name}は削除されています。\",\n restore: \"復元\",\n },\n memberships: {\n add: \"追加: {kind}\",\n noKinds: \"このコンテンツはどのグループにも属しません。\",\n discard: \"変更を破棄\",\n saved: \"保存しました。\",\n proposed: \"提案\",\n accept: \"承認\",\n versionOf: \"{name}のバージョン\",\n wholeContent: \"すべてのバージョン\",\n roleOf: \"{name}での役割\",\n noRole: \"役割なし\",\n role: \"役割\",\n position: \"順番\",\n last: \"最後\",\n from: \"開始\",\n until: \"終了\",\n fromOf: \"{name}: 開始\",\n untilOf: \"{name}: 終了\",\n remove: \"{name}を外す\",\n members: \"メンバー\",\n noMembers: \"メンバーはまだいません。\",\n version: \"1 つのバージョン\",\n window: \"{from} – {until}\",\n always: \"常時\",\n editWindow: \"期間を編集\",\n useCover: \"カバーにする\",\n contentId: \"コンテンツ ID\",\n versionId: \"バージョン ID(任意)\",\n newMember: \"新しいメンバー\",\n addMember: \"メンバーを追加\",\n },\n membership: {\n unknown: \"現在メンバーシップを確認できません。\",\n member: \"メンバー\",\n leave: \"退会\",\n paidPitch: \"メンバーはすべてを開けます。\",\n freePitch: \"参加するとフォローでき、メンバー向けの内容を開けます。\",\n joinFor: \"{price} で参加\",\n join: \"参加\",\n },\n groupManager: {\n noAccess: \"グループを管理する権限がありません。\",\n kindsFailed: \"サイトのグループの種類を読み込めませんでした。\",\n noKinds: \"このサイトにはグループの種類がありません。\",\n back: \"一覧に戻る\",\n new: \"新規: {kind}\",\n sort: \"並び順\",\n sort_name: \"名前順\",\n sort_count: \"コンテンツが多い順\",\n sort_newest: \"新しい順\",\n language: \"言語\",\n loadFailed: \"グループを読み込めませんでした。\",\n count: \"コンテンツ数\",\n },\n};\n"],"mappings":";AAEA,IAAa,IAAoB;CAC/B,QAAQ;EACN,UAAU;EACV,KAAK;EACL,cAAc;EACd,OAAO;EACP,UAAU;EACV,SAAS;EACT,WAAW;EACX,aAAa;EACb,aAAa;EACb,UAAU;EACV,KAAK;EACL,IAAI;EACJ,mBAAmB;EACnB,SAAS;CACX;CACA,aAAa;EACX,cAAc;EACd,cAAc;EACd,QAAQ;EACR,iBAAiB;EACjB,YAAY;EACZ,UAAU;EACV,QAAQ;EACR,MAAM;EACN,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,MAAM;EACN,QAAQ;EACR,YAAY;EACZ,OAAO;EACP,WAAW;EACX,OAAO;EACP,eAAe;EACf,YAAY;EACZ,SAAS;EACT,UAAU;EACV,UAAU;EACV,SAAS;EACT,SAAS;EACT,MAAM;EACN,aAAa;EACb,eAAe;EACf,SAAS;EACT,WAAW;EACX,OAAO;EACP,WAAW;EACX,YAAY;EACZ,cAAc;EACd,aAAa;EACb,WAAW;EACX,cAAc;EACd,OAAO;EACP,SAAS;EACT,UAAU;EACV,UAAU;EACV,YAAY;EACZ,YAAY;EACZ,OAAO;EACP,YAAY;EACZ,WAAW;EACX,aAAa;EACb,WAAW;EACX,WAAW;EACX,QAAQ;EACR,aAAa;EACb,YAAY;EACZ,eAAe;EACf,SAAS;CACX;CACA,aAAa;EACX,KAAK;EACL,SAAS;EACT,SAAS;EACT,OAAO;EACP,UAAU;EACV,QAAQ;EACR,WAAW;EACX,cAAc;EACd,QAAQ;EACR,QAAQ;EACR,MAAM;EACN,UAAU;EACV,MAAM;EACN,MAAM;EACN,OAAO;EACP,QAAQ;EACR,SAAS;EACT,QAAQ;EACR,SAAS;EACT,WAAW;EACX,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,YAAY;EACZ,UAAU;EACV,WAAW;EACX,WAAW;EACX,WAAW;EACX,WAAW;CACb;CACA,YAAY;EACV,SAAS;EACT,QAAQ;EACR,OAAO;EACP,WAAW;EACX,WAAW;EACX,SAAS;EACT,MAAM;CACR;CACA,cAAc;EACZ,UAAU;EACV,aAAa;EACb,SAAS;EACT,MAAM;EACN,KAAK;EACL,MAAM;EACN,WAAW;EACX,YAAY;EACZ,aAAa;EACb,UAAU;EACV,YAAY;EACZ,OAAO;CACT;AACF"}
|
|
1
|
+
{"version":3,"file":"ja.js","names":[],"sources":["../../../src/locales/groups/ja.ts"],"sourcesContent":["import type { groups as en } from \"./en.js\";\n\nexport const groups: typeof en = {\n groups: {\n byLetter: \"頭文字で絞り込む\",\n all: \"すべて\",\n otherLetters: \"その他の文字\",\n empty: \"まだ何もありません。\",\n loadMore: \"さらに読み込む\",\n loading: \"読み込み中…\",\n items_one: \"{count} 件\",\n items_other: \"{count} 件\",\n alsoKnownAs: \"別名\",\n children: \"サブグループ\",\n yes: \"はい\",\n no: \"いいえ\",\n searchPlaceholder: \"名前で検索\",\n noMatch: \"一致するものはありません。\",\n },\n groupEditor: {\n internal: \"内部利用のみ\",\n internalHint: \"公開ページ、検索、閲覧設定には表示されません。スタッフはドメインルールでこのエンティティを使用できます。\",\n uploadAvatar: \"アバターをアップロード\",\n removeAvatar: \"アバターを削除\",\n images: \"画像\",\n membershipPrice: \"メンバーシップ価格\",\n loadFailed: \"グループを読み込めませんでした。\",\n newTitle: \"新規: {kind}\",\n nameIn: \"名前({language})\",\n slug: \"スラッグ\",\n parent: \"親\",\n create: \"作成\",\n details: \"詳細\",\n saved: \"保存しました。\",\n none: \"なし\",\n change: \"変更\",\n clearField: \"{field}を外す\",\n names: \"名前と別名\",\n canonical: \"名前\",\n alias: \"別名\",\n makeCanonical: \"名前にする\",\n removeName: \"{name}を削除\",\n noNames: \"名前はまだありません。\",\n language: \"言語\",\n nameKind: \"名前または別名\",\n newName: \"名前または別名\",\n addName: \"追加\",\n text: \"説明\",\n description: \"説明\",\n descriptionIn: \"説明({language})\",\n sortKey: \"並び替え用の読み(任意)\",\n sortKeyIn: \"並び替え用の読み({language})\",\n cover: \"カバー\",\n coverAuto: \"自動: いちばんお気に入りの多いメンバーのカバー。\",\n coverImage: \"アップロードした画像。\",\n coverContent: \"メンバーのカバー。\",\n uploadCover: \"画像をアップロード\",\n uploading: \"アップロード中…\",\n coverUseAuto: \"自動にする\",\n edges: \"関連グループ\",\n noEdges: \"関連グループはありません。\",\n relation: \"関係\",\n edgeKind: \"グループの種類\",\n edgeTarget: \"関連グループ\",\n removeEdge: \"{name}との関係を削除\",\n merge: \"統合\",\n mergeTitle: \"{name}を別のグループに統合\",\n mergeBody: \"メンバー、名前、関連グループ、サブグループは選んだグループへ移り、リンクはそちらへ転送されます。元に戻せません。\",\n mergeTarget: \"統合先\",\n mergeInto: \"統合先: {name}\",\n mergeWord: \"統合\",\n delete: \"削除\",\n deleteTitle: \"{name}を削除しますか?\",\n deleteBody: \"すべての一覧とページから消えます。メンバーシップは残るので、復元すれば元どおりに戻ります。\",\n deletedNotice: \"{name}は削除されています。\",\n restore: \"復元\",\n },\n memberships: {\n add: \"追加: {kind}\",\n noKinds: \"このコンテンツはどのグループにも属しません。\",\n discard: \"変更を破棄\",\n saved: \"保存しました。\",\n proposed: \"提案\",\n accept: \"承認\",\n versionOf: \"{name}のバージョン\",\n wholeContent: \"すべてのバージョン\",\n roleOf: \"{name}での役割\",\n noRole: \"役割なし\",\n role: \"役割\",\n position: \"順番\",\n last: \"最後\",\n from: \"開始\",\n until: \"終了\",\n fromOf: \"{name}: 開始\",\n untilOf: \"{name}: 終了\",\n remove: \"{name}を外す\",\n members: \"メンバー\",\n noMembers: \"メンバーはまだいません。\",\n version: \"1 つのバージョン\",\n window: \"{from} – {until}\",\n always: \"常時\",\n editWindow: \"期間を編集\",\n useCover: \"カバーにする\",\n contentId: \"コンテンツ ID\",\n versionId: \"バージョン ID(任意)\",\n newMember: \"新しいメンバー\",\n addMember: \"メンバーを追加\",\n },\n membership: {\n unknown: \"現在メンバーシップを確認できません。\",\n member: \"メンバー\",\n leave: \"退会\",\n paidPitch: \"メンバーはすべてを開けます。\",\n freePitch: \"参加するとフォローでき、メンバー向けの内容を開けます。\",\n joinFor: \"{price} で参加\",\n join: \"参加\",\n },\n groupManager: {\n noAccess: \"グループを管理する権限がありません。\",\n kindsFailed: \"サイトのグループの種類を読み込めませんでした。\",\n noKinds: \"このサイトにはグループの種類がありません。\",\n back: \"一覧に戻る\",\n new: \"新規: {kind}\",\n sort: \"並び順\",\n sort_name: \"名前順\",\n sort_count: \"コンテンツが多い順\",\n sort_newest: \"新しい順\",\n language: \"言語\",\n loadFailed: \"グループを読み込めませんでした。\",\n count: \"コンテンツ数\",\n },\n};\n"],"mappings":";AAEA,IAAa,IAAoB;CAC/B,QAAQ;EACN,UAAU;EACV,KAAK;EACL,cAAc;EACd,OAAO;EACP,UAAU;EACV,SAAS;EACT,WAAW;EACX,aAAa;EACb,aAAa;EACb,UAAU;EACV,KAAK;EACL,IAAI;EACJ,mBAAmB;EACnB,SAAS;CACX;CACA,aAAa;EACX,UAAU;EACV,cAAc;EACd,cAAc;EACd,cAAc;EACd,QAAQ;EACR,iBAAiB;EACjB,YAAY;EACZ,UAAU;EACV,QAAQ;EACR,MAAM;EACN,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,MAAM;EACN,QAAQ;EACR,YAAY;EACZ,OAAO;EACP,WAAW;EACX,OAAO;EACP,eAAe;EACf,YAAY;EACZ,SAAS;EACT,UAAU;EACV,UAAU;EACV,SAAS;EACT,SAAS;EACT,MAAM;EACN,aAAa;EACb,eAAe;EACf,SAAS;EACT,WAAW;EACX,OAAO;EACP,WAAW;EACX,YAAY;EACZ,cAAc;EACd,aAAa;EACb,WAAW;EACX,cAAc;EACd,OAAO;EACP,SAAS;EACT,UAAU;EACV,UAAU;EACV,YAAY;EACZ,YAAY;EACZ,OAAO;EACP,YAAY;EACZ,WAAW;EACX,aAAa;EACb,WAAW;EACX,WAAW;EACX,QAAQ;EACR,aAAa;EACb,YAAY;EACZ,eAAe;EACf,SAAS;CACX;CACA,aAAa;EACX,KAAK;EACL,SAAS;EACT,SAAS;EACT,OAAO;EACP,UAAU;EACV,QAAQ;EACR,WAAW;EACX,cAAc;EACd,QAAQ;EACR,QAAQ;EACR,MAAM;EACN,UAAU;EACV,MAAM;EACN,MAAM;EACN,OAAO;EACP,QAAQ;EACR,SAAS;EACT,QAAQ;EACR,SAAS;EACT,WAAW;EACX,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,YAAY;EACZ,UAAU;EACV,WAAW;EACX,WAAW;EACX,WAAW;EACX,WAAW;CACb;CACA,YAAY;EACV,SAAS;EACT,QAAQ;EACR,OAAO;EACP,WAAW;EACX,WAAW;EACX,SAAS;EACT,MAAM;CACR;CACA,cAAc;EACZ,UAAU;EACV,aAAa;EACb,SAAS;EACT,MAAM;EACN,KAAK;EACL,MAAM;EACN,WAAW;EACX,YAAY;EACZ,aAAa;EACb,UAAU;EACV,YAAY;EACZ,OAAO;CACT;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ko.js","names":[],"sources":["../../../src/locales/groups/ko.ts"],"sourcesContent":["import type { groups as en } from \"./en.js\";\n\nexport const groups: typeof en = {\n groups: {\n byLetter: \"첫 글자별\",\n all: \"전체\",\n otherLetters: \"기타 문자\",\n empty: \"아직 아무것도 없습니다.\",\n loadMore: \"더 불러오기\",\n loading: \"불러오는 중…\",\n items_one: \"{count}개\",\n items_other: \"{count}개\",\n alsoKnownAs: \"다른 이름\",\n children: \"하위 그룹\",\n yes: \"예\",\n no: \"아니요\",\n searchPlaceholder: \"이름으로 검색\",\n noMatch: \"일치하는 항목이 없습니다.\",\n },\n groupEditor: {\n uploadAvatar: \"아바타 업로드\",\n removeAvatar: \"아바타 삭제\",\n images: \"이미지\",\n membershipPrice: \"멤버십 가격\",\n loadFailed: \"그룹을 불러오지 못했습니다.\",\n newTitle: \"새로 만들기: {kind}\",\n nameIn: \"이름({language})\",\n slug: \"슬러그\",\n parent: \"상위 그룹\",\n create: \"만들기\",\n details: \"세부 정보\",\n saved: \"저장했습니다.\",\n none: \"없음\",\n change: \"변경\",\n clearField: \"{field} 지우기\",\n names: \"이름과 별칭\",\n canonical: \"이름\",\n alias: \"별칭\",\n makeCanonical: \"이름으로 지정\",\n removeName: \"{name} 삭제\",\n noNames: \"아직 이름이 없습니다.\",\n language: \"언어\",\n nameKind: \"이름 또는 별칭\",\n newName: \"이름 또는 별칭\",\n addName: \"추가\",\n text: \"설명\",\n description: \"설명\",\n descriptionIn: \"설명({language})\",\n sortKey: \"정렬 기준(선택)\",\n sortKeyIn: \"정렬 기준({language})\",\n cover: \"커버\",\n coverAuto: \"자동: 즐겨찾기가 가장 많은 구성원의 커버.\",\n coverImage: \"업로드한 이미지.\",\n coverContent: \"구성원의 커버.\",\n uploadCover: \"이미지 업로드\",\n uploading: \"업로드 중…\",\n coverUseAuto: \"자동으로 사용\",\n edges: \"관련 그룹\",\n noEdges: \"관련 그룹이 없습니다.\",\n relation: \"관계\",\n edgeKind: \"그룹 종류\",\n edgeTarget: \"관련 그룹\",\n removeEdge: \"{name}과(와)의 관계 삭제\",\n merge: \"병합\",\n mergeTitle: \"{name}을(를) 다른 그룹에 병합\",\n mergeBody: \"구성원, 이름, 관련 그룹, 하위 그룹이 선택한 그룹으로 옮겨지고 링크는 그곳으로 연결됩니다. 되돌릴 수 없습니다.\",\n mergeTarget: \"병합 대상\",\n mergeInto: \"대상: {name}\",\n mergeWord: \"병합\",\n delete: \"삭제\",\n deleteTitle: \"{name}을(를) 삭제할까요?\",\n deleteBody: \"모든 목록과 페이지에서 사라집니다. 멤버십은 유지되므로 복원하면 그대로 돌아옵니다.\",\n deletedNotice: \"{name}은(는) 삭제되었습니다.\",\n restore: \"복원\",\n },\n memberships: {\n add: \"추가: {kind}\",\n noKinds: \"이 콘텐츠는 어떤 그룹에도 속하지 않습니다.\",\n discard: \"변경 취소\",\n saved: \"저장했습니다.\",\n proposed: \"제안됨\",\n accept: \"수락\",\n versionOf: \"{name}의 버전\",\n wholeContent: \"모든 버전\",\n roleOf: \"{name}에서의 역할\",\n noRole: \"역할 없음\",\n role: \"역할\",\n position: \"순서\",\n last: \"마지막\",\n from: \"시작\",\n until: \"종료\",\n fromOf: \"{name}: 시작\",\n untilOf: \"{name}: 종료\",\n remove: \"{name} 제거\",\n members: \"구성원\",\n noMembers: \"아직 구성원이 없습니다.\",\n version: \"한 버전\",\n window: \"{from} – {until}\",\n always: \"항상\",\n editWindow: \"기간 편집\",\n useCover: \"커버로 사용\",\n contentId: \"콘텐츠 ID\",\n versionId: \"버전 ID(선택)\",\n newMember: \"새 구성원\",\n addMember: \"구성원 추가\",\n },\n membership: {\n unknown: \"지금은 멤버십을 확인할 수 없습니다.\",\n member: \"멤버\",\n leave: \"탈퇴\",\n paidPitch: \"멤버는 모든 콘텐츠를 열 수 있습니다.\",\n freePitch: \"가입하면 팔로우하고 멤버 콘텐츠를 열 수 있습니다.\",\n joinFor: \"{price}에 가입\",\n join: \"가입\",\n },\n groupManager: {\n noAccess: \"그룹을 관리할 권한이 없습니다.\",\n kindsFailed: \"사이트의 그룹 종류를 불러오지 못했습니다.\",\n noKinds: \"이 사이트에는 그룹 종류가 없습니다.\",\n back: \"목록으로 돌아가기\",\n new: \"새로 만들기: {kind}\",\n sort: \"정렬\",\n sort_name: \"이름순\",\n sort_count: \"콘텐츠 많은 순\",\n sort_newest: \"최신순\",\n language: \"언어\",\n loadFailed: \"그룹을 불러오지 못했습니다.\",\n count: \"콘텐츠 수\",\n },\n};\n"],"mappings":";AAEA,IAAa,IAAoB;CAC/B,QAAQ;EACN,UAAU;EACV,KAAK;EACL,cAAc;EACd,OAAO;EACP,UAAU;EACV,SAAS;EACT,WAAW;EACX,aAAa;EACb,aAAa;EACb,UAAU;EACV,KAAK;EACL,IAAI;EACJ,mBAAmB;EACnB,SAAS;CACX;CACA,aAAa;EACX,cAAc;EACd,cAAc;EACd,QAAQ;EACR,iBAAiB;EACjB,YAAY;EACZ,UAAU;EACV,QAAQ;EACR,MAAM;EACN,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,MAAM;EACN,QAAQ;EACR,YAAY;EACZ,OAAO;EACP,WAAW;EACX,OAAO;EACP,eAAe;EACf,YAAY;EACZ,SAAS;EACT,UAAU;EACV,UAAU;EACV,SAAS;EACT,SAAS;EACT,MAAM;EACN,aAAa;EACb,eAAe;EACf,SAAS;EACT,WAAW;EACX,OAAO;EACP,WAAW;EACX,YAAY;EACZ,cAAc;EACd,aAAa;EACb,WAAW;EACX,cAAc;EACd,OAAO;EACP,SAAS;EACT,UAAU;EACV,UAAU;EACV,YAAY;EACZ,YAAY;EACZ,OAAO;EACP,YAAY;EACZ,WAAW;EACX,aAAa;EACb,WAAW;EACX,WAAW;EACX,QAAQ;EACR,aAAa;EACb,YAAY;EACZ,eAAe;EACf,SAAS;CACX;CACA,aAAa;EACX,KAAK;EACL,SAAS;EACT,SAAS;EACT,OAAO;EACP,UAAU;EACV,QAAQ;EACR,WAAW;EACX,cAAc;EACd,QAAQ;EACR,QAAQ;EACR,MAAM;EACN,UAAU;EACV,MAAM;EACN,MAAM;EACN,OAAO;EACP,QAAQ;EACR,SAAS;EACT,QAAQ;EACR,SAAS;EACT,WAAW;EACX,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,YAAY;EACZ,UAAU;EACV,WAAW;EACX,WAAW;EACX,WAAW;EACX,WAAW;CACb;CACA,YAAY;EACV,SAAS;EACT,QAAQ;EACR,OAAO;EACP,WAAW;EACX,WAAW;EACX,SAAS;EACT,MAAM;CACR;CACA,cAAc;EACZ,UAAU;EACV,aAAa;EACb,SAAS;EACT,MAAM;EACN,KAAK;EACL,MAAM;EACN,WAAW;EACX,YAAY;EACZ,aAAa;EACb,UAAU;EACV,YAAY;EACZ,OAAO;CACT;AACF"}
|
|
1
|
+
{"version":3,"file":"ko.js","names":[],"sources":["../../../src/locales/groups/ko.ts"],"sourcesContent":["import type { groups as en } from \"./en.js\";\n\nexport const groups: typeof en = {\n groups: {\n byLetter: \"첫 글자별\",\n all: \"전체\",\n otherLetters: \"기타 문자\",\n empty: \"아직 아무것도 없습니다.\",\n loadMore: \"더 불러오기\",\n loading: \"불러오는 중…\",\n items_one: \"{count}개\",\n items_other: \"{count}개\",\n alsoKnownAs: \"다른 이름\",\n children: \"하위 그룹\",\n yes: \"예\",\n no: \"아니요\",\n searchPlaceholder: \"이름으로 검색\",\n noMatch: \"일치하는 항목이 없습니다.\",\n },\n groupEditor: {\n internal: \"내부 용도로만 사용\",\n internalHint: \"공개 페이지, 검색, 읽기 설정에서 숨겨집니다. 관리자는 이 항목을 도메인 규칙에 사용할 수 있습니다.\",\n uploadAvatar: \"아바타 업로드\",\n removeAvatar: \"아바타 삭제\",\n images: \"이미지\",\n membershipPrice: \"멤버십 가격\",\n loadFailed: \"그룹을 불러오지 못했습니다.\",\n newTitle: \"새로 만들기: {kind}\",\n nameIn: \"이름({language})\",\n slug: \"슬러그\",\n parent: \"상위 그룹\",\n create: \"만들기\",\n details: \"세부 정보\",\n saved: \"저장했습니다.\",\n none: \"없음\",\n change: \"변경\",\n clearField: \"{field} 지우기\",\n names: \"이름과 별칭\",\n canonical: \"이름\",\n alias: \"별칭\",\n makeCanonical: \"이름으로 지정\",\n removeName: \"{name} 삭제\",\n noNames: \"아직 이름이 없습니다.\",\n language: \"언어\",\n nameKind: \"이름 또는 별칭\",\n newName: \"이름 또는 별칭\",\n addName: \"추가\",\n text: \"설명\",\n description: \"설명\",\n descriptionIn: \"설명({language})\",\n sortKey: \"정렬 기준(선택)\",\n sortKeyIn: \"정렬 기준({language})\",\n cover: \"커버\",\n coverAuto: \"자동: 즐겨찾기가 가장 많은 구성원의 커버.\",\n coverImage: \"업로드한 이미지.\",\n coverContent: \"구성원의 커버.\",\n uploadCover: \"이미지 업로드\",\n uploading: \"업로드 중…\",\n coverUseAuto: \"자동으로 사용\",\n edges: \"관련 그룹\",\n noEdges: \"관련 그룹이 없습니다.\",\n relation: \"관계\",\n edgeKind: \"그룹 종류\",\n edgeTarget: \"관련 그룹\",\n removeEdge: \"{name}과(와)의 관계 삭제\",\n merge: \"병합\",\n mergeTitle: \"{name}을(를) 다른 그룹에 병합\",\n mergeBody: \"구성원, 이름, 관련 그룹, 하위 그룹이 선택한 그룹으로 옮겨지고 링크는 그곳으로 연결됩니다. 되돌릴 수 없습니다.\",\n mergeTarget: \"병합 대상\",\n mergeInto: \"대상: {name}\",\n mergeWord: \"병합\",\n delete: \"삭제\",\n deleteTitle: \"{name}을(를) 삭제할까요?\",\n deleteBody: \"모든 목록과 페이지에서 사라집니다. 멤버십은 유지되므로 복원하면 그대로 돌아옵니다.\",\n deletedNotice: \"{name}은(는) 삭제되었습니다.\",\n restore: \"복원\",\n },\n memberships: {\n add: \"추가: {kind}\",\n noKinds: \"이 콘텐츠는 어떤 그룹에도 속하지 않습니다.\",\n discard: \"변경 취소\",\n saved: \"저장했습니다.\",\n proposed: \"제안됨\",\n accept: \"수락\",\n versionOf: \"{name}의 버전\",\n wholeContent: \"모든 버전\",\n roleOf: \"{name}에서의 역할\",\n noRole: \"역할 없음\",\n role: \"역할\",\n position: \"순서\",\n last: \"마지막\",\n from: \"시작\",\n until: \"종료\",\n fromOf: \"{name}: 시작\",\n untilOf: \"{name}: 종료\",\n remove: \"{name} 제거\",\n members: \"구성원\",\n noMembers: \"아직 구성원이 없습니다.\",\n version: \"한 버전\",\n window: \"{from} – {until}\",\n always: \"항상\",\n editWindow: \"기간 편집\",\n useCover: \"커버로 사용\",\n contentId: \"콘텐츠 ID\",\n versionId: \"버전 ID(선택)\",\n newMember: \"새 구성원\",\n addMember: \"구성원 추가\",\n },\n membership: {\n unknown: \"지금은 멤버십을 확인할 수 없습니다.\",\n member: \"멤버\",\n leave: \"탈퇴\",\n paidPitch: \"멤버는 모든 콘텐츠를 열 수 있습니다.\",\n freePitch: \"가입하면 팔로우하고 멤버 콘텐츠를 열 수 있습니다.\",\n joinFor: \"{price}에 가입\",\n join: \"가입\",\n },\n groupManager: {\n noAccess: \"그룹을 관리할 권한이 없습니다.\",\n kindsFailed: \"사이트의 그룹 종류를 불러오지 못했습니다.\",\n noKinds: \"이 사이트에는 그룹 종류가 없습니다.\",\n back: \"목록으로 돌아가기\",\n new: \"새로 만들기: {kind}\",\n sort: \"정렬\",\n sort_name: \"이름순\",\n sort_count: \"콘텐츠 많은 순\",\n sort_newest: \"최신순\",\n language: \"언어\",\n loadFailed: \"그룹을 불러오지 못했습니다.\",\n count: \"콘텐츠 수\",\n },\n};\n"],"mappings":";AAEA,IAAa,IAAoB;CAC/B,QAAQ;EACN,UAAU;EACV,KAAK;EACL,cAAc;EACd,OAAO;EACP,UAAU;EACV,SAAS;EACT,WAAW;EACX,aAAa;EACb,aAAa;EACb,UAAU;EACV,KAAK;EACL,IAAI;EACJ,mBAAmB;EACnB,SAAS;CACX;CACA,aAAa;EACX,UAAU;EACV,cAAc;EACd,cAAc;EACd,cAAc;EACd,QAAQ;EACR,iBAAiB;EACjB,YAAY;EACZ,UAAU;EACV,QAAQ;EACR,MAAM;EACN,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,MAAM;EACN,QAAQ;EACR,YAAY;EACZ,OAAO;EACP,WAAW;EACX,OAAO;EACP,eAAe;EACf,YAAY;EACZ,SAAS;EACT,UAAU;EACV,UAAU;EACV,SAAS;EACT,SAAS;EACT,MAAM;EACN,aAAa;EACb,eAAe;EACf,SAAS;EACT,WAAW;EACX,OAAO;EACP,WAAW;EACX,YAAY;EACZ,cAAc;EACd,aAAa;EACb,WAAW;EACX,cAAc;EACd,OAAO;EACP,SAAS;EACT,UAAU;EACV,UAAU;EACV,YAAY;EACZ,YAAY;EACZ,OAAO;EACP,YAAY;EACZ,WAAW;EACX,aAAa;EACb,WAAW;EACX,WAAW;EACX,QAAQ;EACR,aAAa;EACb,YAAY;EACZ,eAAe;EACf,SAAS;CACX;CACA,aAAa;EACX,KAAK;EACL,SAAS;EACT,SAAS;EACT,OAAO;EACP,UAAU;EACV,QAAQ;EACR,WAAW;EACX,cAAc;EACd,QAAQ;EACR,QAAQ;EACR,MAAM;EACN,UAAU;EACV,MAAM;EACN,MAAM;EACN,OAAO;EACP,QAAQ;EACR,SAAS;EACT,QAAQ;EACR,SAAS;EACT,WAAW;EACX,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,YAAY;EACZ,UAAU;EACV,WAAW;EACX,WAAW;EACX,WAAW;EACX,WAAW;CACb;CACA,YAAY;EACV,SAAS;EACT,QAAQ;EACR,OAAO;EACP,WAAW;EACX,WAAW;EACX,SAAS;EACT,MAAM;CACR;CACA,cAAc;EACZ,UAAU;EACV,aAAa;EACb,SAAS;EACT,MAAM;EACN,KAAK;EACL,MAAM;EACN,WAAW;EACX,YAAY;EACZ,aAAa;EACb,UAAU;EACV,YAAY;EACZ,OAAO;CACT;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zh.js","names":[],"sources":["../../../src/locales/groups/zh.ts"],"sourcesContent":["import type { groups as en } from \"./en.js\";\n\nexport const groups: typeof en = {\n groups: {\n byLetter: \"按首字母\",\n all: \"全部\",\n otherLetters: \"其他字符\",\n empty: \"这里还没有内容。\",\n loadMore: \"加载更多\",\n loading: \"加载中…\",\n items_one: \"{count} 项\",\n items_other: \"{count} 项\",\n alsoKnownAs: \"又名\",\n children: \"子分组\",\n yes: \"是\",\n no: \"否\",\n searchPlaceholder: \"按名称搜索\",\n noMatch: \"没有匹配项。\",\n },\n groupEditor: {\n uploadAvatar: \"上传头像\",\n removeAvatar: \"移除头像\",\n images: \"图片\",\n membershipPrice: \"会员价格\",\n loadFailed: \"无法加载该分组。\",\n newTitle: \"新建:{kind}\",\n nameIn: \"名称({language})\",\n slug: \"Slug\",\n parent: \"上级\",\n create: \"创建\",\n details: \"详情\",\n saved: \"已保存。\",\n none: \"无\",\n change: \"更改\",\n clearField: \"清除{field}\",\n names: \"名称和别名\",\n canonical: \"名称\",\n alias: \"别名\",\n makeCanonical: \"设为名称\",\n removeName: \"删除{name}\",\n noNames: \"还没有名称。\",\n language: \"语言\",\n nameKind: \"名称或别名\",\n newName: \"名称或别名\",\n addName: \"添加\",\n text: \"简介\",\n description: \"简介\",\n descriptionIn: \"简介({language})\",\n sortKey: \"排序依据(可选)\",\n sortKeyIn: \"排序依据({language})\",\n cover: \"封面\",\n coverAuto: \"自动:收藏最多的成员的封面。\",\n coverImage: \"上传的图片。\",\n coverContent: \"某个成员的封面。\",\n uploadCover: \"上传图片\",\n uploading: \"上传中…\",\n coverUseAuto: \"改为自动\",\n edges: \"相关分组\",\n noEdges: \"没有相关分组。\",\n relation: \"关系\",\n edgeKind: \"分组类型\",\n edgeTarget: \"相关分组\",\n removeEdge: \"删除与{name}的关系\",\n merge: \"合并\",\n mergeTitle: \"将{name}合并到另一个分组\",\n mergeBody: \"其成员、名称、相关分组和子分组会移到你选择的分组,原链接也会跳转过去。此操作无法撤销。\",\n mergeTarget: \"合并到\",\n mergeInto: \"合并到:{name}\",\n mergeWord: \"合并\",\n delete: \"删除\",\n deleteTitle: \"删除{name}?\",\n deleteBody: \"它会从所有列表和页面中消失。成员关系会保留,恢复后一切如初。\",\n deletedNotice: \"{name}已删除。\",\n restore: \"恢复\",\n },\n memberships: {\n add: \"添加:{kind}\",\n noKinds: \"此内容不属于任何分组。\",\n discard: \"放弃更改\",\n saved: \"已保存。\",\n proposed: \"待审核\",\n accept: \"接受\",\n versionOf: \"{name}中的版本\",\n wholeContent: \"所有版本\",\n roleOf: \"在{name}中的角色\",\n noRole: \"无角色\",\n role: \"角色\",\n position: \"顺序\",\n last: \"最后\",\n from: \"开始\",\n until: \"结束\",\n fromOf: \"{name}:开始\",\n untilOf: \"{name}:结束\",\n remove: \"移除{name}\",\n members: \"成员\",\n noMembers: \"还没有成员。\",\n version: \"单个版本\",\n window: \"{from} – {until}\",\n always: \"始终\",\n editWindow: \"编辑时间\",\n useCover: \"设为封面\",\n contentId: \"内容 ID\",\n versionId: \"版本 ID(可选)\",\n newMember: \"新成员\",\n addMember: \"添加成员\",\n },\n membership: {\n unknown: \"暂时无法确认你的会员身份。\",\n member: \"会员\",\n leave: \"退出\",\n paidPitch: \"会员可以打开其中的所有内容。\",\n freePitch: \"加入即可关注并打开会员可见的内容。\",\n joinFor: \"以 {price} 加入\",\n join: \"加入\",\n },\n groupManager: {\n noAccess: \"你没有管理分组的权限。\",\n kindsFailed: \"无法加载站点的分组类型。\",\n noKinds: \"此站点没有分组类型。\",\n back: \"返回列表\",\n new: \"新建:{kind}\",\n sort: \"排序\",\n sort_name: \"按名称\",\n sort_count: \"内容最多\",\n sort_newest: \"最新\",\n language: \"语言\",\n loadFailed: \"无法加载分组。\",\n count: \"内容数\",\n },\n};\n"],"mappings":";AAEA,IAAa,IAAoB;CAC/B,QAAQ;EACN,UAAU;EACV,KAAK;EACL,cAAc;EACd,OAAO;EACP,UAAU;EACV,SAAS;EACT,WAAW;EACX,aAAa;EACb,aAAa;EACb,UAAU;EACV,KAAK;EACL,IAAI;EACJ,mBAAmB;EACnB,SAAS;CACX;CACA,aAAa;EACX,cAAc;EACd,cAAc;EACd,QAAQ;EACR,iBAAiB;EACjB,YAAY;EACZ,UAAU;EACV,QAAQ;EACR,MAAM;EACN,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,MAAM;EACN,QAAQ;EACR,YAAY;EACZ,OAAO;EACP,WAAW;EACX,OAAO;EACP,eAAe;EACf,YAAY;EACZ,SAAS;EACT,UAAU;EACV,UAAU;EACV,SAAS;EACT,SAAS;EACT,MAAM;EACN,aAAa;EACb,eAAe;EACf,SAAS;EACT,WAAW;EACX,OAAO;EACP,WAAW;EACX,YAAY;EACZ,cAAc;EACd,aAAa;EACb,WAAW;EACX,cAAc;EACd,OAAO;EACP,SAAS;EACT,UAAU;EACV,UAAU;EACV,YAAY;EACZ,YAAY;EACZ,OAAO;EACP,YAAY;EACZ,WAAW;EACX,aAAa;EACb,WAAW;EACX,WAAW;EACX,QAAQ;EACR,aAAa;EACb,YAAY;EACZ,eAAe;EACf,SAAS;CACX;CACA,aAAa;EACX,KAAK;EACL,SAAS;EACT,SAAS;EACT,OAAO;EACP,UAAU;EACV,QAAQ;EACR,WAAW;EACX,cAAc;EACd,QAAQ;EACR,QAAQ;EACR,MAAM;EACN,UAAU;EACV,MAAM;EACN,MAAM;EACN,OAAO;EACP,QAAQ;EACR,SAAS;EACT,QAAQ;EACR,SAAS;EACT,WAAW;EACX,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,YAAY;EACZ,UAAU;EACV,WAAW;EACX,WAAW;EACX,WAAW;EACX,WAAW;CACb;CACA,YAAY;EACV,SAAS;EACT,QAAQ;EACR,OAAO;EACP,WAAW;EACX,WAAW;EACX,SAAS;EACT,MAAM;CACR;CACA,cAAc;EACZ,UAAU;EACV,aAAa;EACb,SAAS;EACT,MAAM;EACN,KAAK;EACL,MAAM;EACN,WAAW;EACX,YAAY;EACZ,aAAa;EACb,UAAU;EACV,YAAY;EACZ,OAAO;CACT;AACF"}
|
|
1
|
+
{"version":3,"file":"zh.js","names":[],"sources":["../../../src/locales/groups/zh.ts"],"sourcesContent":["import type { groups as en } from \"./en.js\";\n\nexport const groups: typeof en = {\n groups: {\n byLetter: \"按首字母\",\n all: \"全部\",\n otherLetters: \"其他字符\",\n empty: \"这里还没有内容。\",\n loadMore: \"加载更多\",\n loading: \"加载中…\",\n items_one: \"{count} 项\",\n items_other: \"{count} 项\",\n alsoKnownAs: \"又名\",\n children: \"子分组\",\n yes: \"是\",\n no: \"否\",\n searchPlaceholder: \"按名称搜索\",\n noMatch: \"没有匹配项。\",\n },\n groupEditor: {\n internal: \"仅供内部使用\",\n internalHint: \"不显示在公开页面、搜索和阅读设置中。工作人员可在域名规则中使用此实体。\",\n uploadAvatar: \"上传头像\",\n removeAvatar: \"移除头像\",\n images: \"图片\",\n membershipPrice: \"会员价格\",\n loadFailed: \"无法加载该分组。\",\n newTitle: \"新建:{kind}\",\n nameIn: \"名称({language})\",\n slug: \"Slug\",\n parent: \"上级\",\n create: \"创建\",\n details: \"详情\",\n saved: \"已保存。\",\n none: \"无\",\n change: \"更改\",\n clearField: \"清除{field}\",\n names: \"名称和别名\",\n canonical: \"名称\",\n alias: \"别名\",\n makeCanonical: \"设为名称\",\n removeName: \"删除{name}\",\n noNames: \"还没有名称。\",\n language: \"语言\",\n nameKind: \"名称或别名\",\n newName: \"名称或别名\",\n addName: \"添加\",\n text: \"简介\",\n description: \"简介\",\n descriptionIn: \"简介({language})\",\n sortKey: \"排序依据(可选)\",\n sortKeyIn: \"排序依据({language})\",\n cover: \"封面\",\n coverAuto: \"自动:收藏最多的成员的封面。\",\n coverImage: \"上传的图片。\",\n coverContent: \"某个成员的封面。\",\n uploadCover: \"上传图片\",\n uploading: \"上传中…\",\n coverUseAuto: \"改为自动\",\n edges: \"相关分组\",\n noEdges: \"没有相关分组。\",\n relation: \"关系\",\n edgeKind: \"分组类型\",\n edgeTarget: \"相关分组\",\n removeEdge: \"删除与{name}的关系\",\n merge: \"合并\",\n mergeTitle: \"将{name}合并到另一个分组\",\n mergeBody: \"其成员、名称、相关分组和子分组会移到你选择的分组,原链接也会跳转过去。此操作无法撤销。\",\n mergeTarget: \"合并到\",\n mergeInto: \"合并到:{name}\",\n mergeWord: \"合并\",\n delete: \"删除\",\n deleteTitle: \"删除{name}?\",\n deleteBody: \"它会从所有列表和页面中消失。成员关系会保留,恢复后一切如初。\",\n deletedNotice: \"{name}已删除。\",\n restore: \"恢复\",\n },\n memberships: {\n add: \"添加:{kind}\",\n noKinds: \"此内容不属于任何分组。\",\n discard: \"放弃更改\",\n saved: \"已保存。\",\n proposed: \"待审核\",\n accept: \"接受\",\n versionOf: \"{name}中的版本\",\n wholeContent: \"所有版本\",\n roleOf: \"在{name}中的角色\",\n noRole: \"无角色\",\n role: \"角色\",\n position: \"顺序\",\n last: \"最后\",\n from: \"开始\",\n until: \"结束\",\n fromOf: \"{name}:开始\",\n untilOf: \"{name}:结束\",\n remove: \"移除{name}\",\n members: \"成员\",\n noMembers: \"还没有成员。\",\n version: \"单个版本\",\n window: \"{from} – {until}\",\n always: \"始终\",\n editWindow: \"编辑时间\",\n useCover: \"设为封面\",\n contentId: \"内容 ID\",\n versionId: \"版本 ID(可选)\",\n newMember: \"新成员\",\n addMember: \"添加成员\",\n },\n membership: {\n unknown: \"暂时无法确认你的会员身份。\",\n member: \"会员\",\n leave: \"退出\",\n paidPitch: \"会员可以打开其中的所有内容。\",\n freePitch: \"加入即可关注并打开会员可见的内容。\",\n joinFor: \"以 {price} 加入\",\n join: \"加入\",\n },\n groupManager: {\n noAccess: \"你没有管理分组的权限。\",\n kindsFailed: \"无法加载站点的分组类型。\",\n noKinds: \"此站点没有分组类型。\",\n back: \"返回列表\",\n new: \"新建:{kind}\",\n sort: \"排序\",\n sort_name: \"按名称\",\n sort_count: \"内容最多\",\n sort_newest: \"最新\",\n language: \"语言\",\n loadFailed: \"无法加载分组。\",\n count: \"内容数\",\n },\n};\n"],"mappings":";AAEA,IAAa,IAAoB;CAC/B,QAAQ;EACN,UAAU;EACV,KAAK;EACL,cAAc;EACd,OAAO;EACP,UAAU;EACV,SAAS;EACT,WAAW;EACX,aAAa;EACb,aAAa;EACb,UAAU;EACV,KAAK;EACL,IAAI;EACJ,mBAAmB;EACnB,SAAS;CACX;CACA,aAAa;EACX,UAAU;EACV,cAAc;EACd,cAAc;EACd,cAAc;EACd,QAAQ;EACR,iBAAiB;EACjB,YAAY;EACZ,UAAU;EACV,QAAQ;EACR,MAAM;EACN,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,OAAO;EACP,MAAM;EACN,QAAQ;EACR,YAAY;EACZ,OAAO;EACP,WAAW;EACX,OAAO;EACP,eAAe;EACf,YAAY;EACZ,SAAS;EACT,UAAU;EACV,UAAU;EACV,SAAS;EACT,SAAS;EACT,MAAM;EACN,aAAa;EACb,eAAe;EACf,SAAS;EACT,WAAW;EACX,OAAO;EACP,WAAW;EACX,YAAY;EACZ,cAAc;EACd,aAAa;EACb,WAAW;EACX,cAAc;EACd,OAAO;EACP,SAAS;EACT,UAAU;EACV,UAAU;EACV,YAAY;EACZ,YAAY;EACZ,OAAO;EACP,YAAY;EACZ,WAAW;EACX,aAAa;EACb,WAAW;EACX,WAAW;EACX,QAAQ;EACR,aAAa;EACb,YAAY;EACZ,eAAe;EACf,SAAS;CACX;CACA,aAAa;EACX,KAAK;EACL,SAAS;EACT,SAAS;EACT,OAAO;EACP,UAAU;EACV,QAAQ;EACR,WAAW;EACX,cAAc;EACd,QAAQ;EACR,QAAQ;EACR,MAAM;EACN,UAAU;EACV,MAAM;EACN,MAAM;EACN,OAAO;EACP,QAAQ;EACR,SAAS;EACT,QAAQ;EACR,SAAS;EACT,WAAW;EACX,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,YAAY;EACZ,UAAU;EACV,WAAW;EACX,WAAW;EACX,WAAW;EACX,WAAW;CACb;CACA,YAAY;EACV,SAAS;EACT,QAAQ;EACR,OAAO;EACP,WAAW;EACX,WAAW;EACX,SAAS;EACT,MAAM;CACR;CACA,cAAc;EACZ,UAAU;EACV,aAAa;EACb,SAAS;EACT,MAAM;EACN,KAAK;EACL,MAAM;EACN,WAAW;EACX,YAAY;EACZ,aAAa;EACb,UAAU;EACV,YAAY;EACZ,OAAO;CACT;AACF"}
|
|
@@ -108,7 +108,7 @@ export interface UseContentFilters {
|
|
|
108
108
|
setVisible: (groupId: string, visible: boolean) => Promise<ContentFilters>;
|
|
109
109
|
setIncludeDeleted: (include: boolean) => Promise<ContentFilters>;
|
|
110
110
|
}
|
|
111
|
-
/**
|
|
111
|
+
/** Current-domain toggles: browser choices for guests, server choices for accounts. */
|
|
112
112
|
export declare function useContentFilters(o?: {
|
|
113
113
|
language?: string;
|
|
114
114
|
client?: ContentKitClient;
|
|
@@ -126,6 +126,7 @@ export declare function useTypeahead(text: string, o?: Omit<TypeaheadQuery, "q">
|
|
|
126
126
|
debounce?: number;
|
|
127
127
|
minLength?: number;
|
|
128
128
|
client?: ContentKitClient;
|
|
129
|
+
management?: boolean;
|
|
129
130
|
}): UseTypeahead;
|
|
130
131
|
/** The client's signal and exposure batcher: one per client. */
|
|
131
132
|
export declare function beaconsFor(client: ContentKitClient, o?: BeaconOptions): Beacons;
|