feat(frontend): storage, trash, policy, stories, shares, jobs, bots, media, login and notes speak russian and english
This commit is contained in:
1 parent
e5a5edcaae
commit
4a5c92f0e9
51 files changed
+1504
-588
No files matched your search
@@ -5,6 +5,7 @@
|
||||
import EmptyState from "#lib/components/ui/EmptyState.svelte";
|
||||
import Icon from "#lib/components/ui/Icon.svelte";
|
||||
import Spinner from "#lib/components/ui/Spinner.svelte";
|
||||
import { t } from "#lib/i18n/locale.svelte.js";
|
||||
import { accounts } from "#lib/stores/accounts.svelte.js";
|
||||
import { ui } from "#lib/stores/ui.svelte.js";
|
||||
import { page } from "$app/state";
|
||||
@@ -90,11 +91,11 @@
|
||||
</script>
|
||||
|
||||
{#if chatId === null || messageId === null}
|
||||
<EmptyState description="Сообщение не выбрано" title="Callback-данные" />
|
||||
<EmptyState description={t("ui.noMessage")} title={t("social.callbacks")} />
|
||||
{:else if loading && items.length === 0}
|
||||
<div class="center"><Spinner /></div>
|
||||
{:else if items.length === 0}
|
||||
<EmptyState title="Нет callback-кнопок" />
|
||||
<EmptyState title={t("social.callbacks.empty")} />
|
||||
{:else}
|
||||
<ul class="list">
|
||||
{#each items as item (item.position)}
|
||||
@@ -106,7 +107,7 @@
|
||||
</div>
|
||||
{#if value}
|
||||
<button
|
||||
aria-label="Скопировать"
|
||||
aria-label={t("ui.copy")}
|
||||
class="copy"
|
||||
onclick={() => copy(item.position, value)}
|
||||
type="button"
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
import Icon from "#lib/components/ui/Icon.svelte";
|
||||
import Spinner from "#lib/components/ui/Spinner.svelte";
|
||||
import { safeHref } from "#lib/format/url.js";
|
||||
import { t } from "#lib/i18n/locale.svelte.js";
|
||||
import { accounts } from "#lib/stores/accounts.svelte.js";
|
||||
import { ui } from "#lib/stores/ui.svelte.js";
|
||||
import { page } from "$app/state";
|
||||
@@ -56,11 +57,11 @@
|
||||
</script>
|
||||
|
||||
{#if chatId === null || messageId === null}
|
||||
<EmptyState description="Сообщение не выбрано" title="Ссылки" />
|
||||
<EmptyState description={t("ui.noMessage")} title={t("social.links")} />
|
||||
{:else if loading && items.length === 0}
|
||||
<div class="center"><Spinner /></div>
|
||||
{:else if items.length === 0}
|
||||
<EmptyState title="Нет ссылок" />
|
||||
<EmptyState title={t("social.links.empty")} />
|
||||
{:else}
|
||||
<ul class="list">
|
||||
{#each items as item (item.position)}
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
import Spinner from "#lib/components/ui/Spinner.svelte";
|
||||
import { formatFull } from "#lib/format/datetime.js";
|
||||
import { peerColorIndex, peerName } from "#lib/format/peer.js";
|
||||
import { t } from "#lib/i18n/locale.svelte.js";
|
||||
import { accounts } from "#lib/stores/accounts.svelte.js";
|
||||
import { peers } from "#lib/stores/peers.svelte.js";
|
||||
import { ui } from "#lib/stores/ui.svelte.js";
|
||||
@@ -65,11 +66,11 @@
|
||||
</script>
|
||||
|
||||
{#if chatId === null || messageId === null}
|
||||
<EmptyState description="Сообщение не выбрано" title="Реакции" />
|
||||
<EmptyState description={t("ui.noMessage")} title={t("social.reactions")} />
|
||||
{:else if loading && items.length === 0}
|
||||
<div class="center"><Spinner /></div>
|
||||
{:else if items.length === 0}
|
||||
<EmptyState title="Нет реакций" />
|
||||
<EmptyState title={t("social.reactions.empty")} />
|
||||
{:else}
|
||||
<div class="groups">
|
||||
{#each groups as [reaction, reactors] (reaction)}
|
||||
@@ -104,7 +105,9 @@
|
||||
>
|
||||
<span class="time">
|
||||
{#if reactor.removed_at}
|
||||
снято · {formatFull(reactor.removed_at)}
|
||||
{t("social.reactions.removed", {
|
||||
date: formatFull(reactor.removed_at),
|
||||
})}
|
||||
{:else}
|
||||
{formatFull(reactor.added_at)}
|
||||
{/if}
|
||||
|
||||
Reference in new issue
Block a user