web/save: move strings to i18n & translate to ru

also fixed line break in switcher for future lengthier translations (german, for example)
This commit is contained in:
wukko 2024-07-03 13:52:27 +06:00
parent 9939f3b172
commit 5ced7b5388
No known key found for this signature in database
GPG key ID: 3E30B3F26C7B4AA2
10 changed files with 90 additions and 8 deletions

View file

@ -0,0 +1,3 @@
{
"smile": "meowbalt, cobalt's black and white cat mascot, smiling and loafing."
}

View file

@ -0,0 +1,3 @@
{
"linkArea": "link input area"
}

8
web/i18n/en/save.json Normal file
View file

@ -0,0 +1,8 @@
{
"paste": "paste",
"pasteAndDownload": "paste and download",
"auto": "auto",
"audio": "audio",
"mute": "mute",
"inputPlaceholder": "paste the link here"
}

View file

@ -0,0 +1,3 @@
{
"smile": "мяубальт, чёрно-белый маскот кобальта. батонится, сложа лапы под себя, и улыбается."
}

View file

@ -0,0 +1,3 @@
{
"linkArea": "зона вставки ссылки"
}

8
web/i18n/ru/save.json Normal file
View file

@ -0,0 +1,8 @@
{
"paste": "вставить",
"pasteAndDownload": "вставить и скачать",
"auto": "авто",
"audio": "аудио",
"mute": "без звука",
"inputPlaceholder": "вставь ссылку сюда"
}

View file

@ -17,6 +17,10 @@
border-radius: var(--border-radius);
}
.switcher :global(.button) {
white-space: pre;
}
.switcher:not(.big) :global(.button:first-child) {
border-top-right-radius: 0;
border-bottom-right-radius: 0;

View file

@ -1,10 +1,15 @@
<script lang="ts">
import { t } from "$lib/i18n/translations";
</script>
<img
id="meowbalt-loaf"
src="/meowbalt/smile.png"
height="152"
width="141"
alt="black and white cat smiling and loafing"
alt={$t("a11y.meowbalt.smile")}
/>
<style>
#meowbalt-loaf {
display: block;

View file

@ -1,6 +1,8 @@
<script lang="ts">
import { SvelteComponent, tick } from "svelte";
import { t } from "$lib/i18n/translations";
import IconLink from "@tabler/icons-svelte/IconLink.svelte";
import ClearButton from "$components/save/buttons/ClearButton.svelte";
@ -60,8 +62,8 @@
autocomplete="off"
autocapitalize="off"
maxlength="256"
placeholder="paste the link here"
aria-label="link input area"
placeholder={$t("save.inputPlaceholder")}
aria-label={$t("a11y.save.linkArea")}
data-form-type="other"
/>
@ -76,19 +78,19 @@
<div id="action-container">
<Switcher>
<SettingsButton settingContext="save" settingId="downloadMode" settingValue="auto">
<IconSparkles /> auto
<IconSparkles /> {$t("save.auto")}
</SettingsButton>
<SettingsButton settingContext="save" settingId="downloadMode" settingValue="audio">
<IconMusic /> audio
<IconMusic /> {$t("save.audio")}
</SettingsButton>
<SettingsButton settingContext="save" settingId="downloadMode" settingValue="mute">
<IconMute /> mute
<IconMute /> {$t("save.mute")}
</SettingsButton>
</Switcher>
<ActionButton id="paste" click={pasteClipboard}>
<IconClipboard />
<span id="paste-desktop-text">paste</span>
<span id="paste-mobile-text">paste and download</span>
<span id="paste-desktop-text">{$t("save.paste")}</span>
<span id="paste-mobile-text">{$t("save.pasteAndDownload")}</span>
</ActionButton>
</div>
</div>

View file

@ -25,6 +25,28 @@ export const config: Config = {
await import(`$i18n/en/a11y/tabs.json`)
).default,
},
{
locale: 'en',
key: 'save',
loader: async () => (
await import(`$i18n/en/save.json`)
).default,
},
{
locale: 'en',
key: 'a11y.save',
loader: async () => (
await import(`$i18n/en/a11y/save.json`)
).default,
},
{
locale: 'en',
key: 'a11y.meowbalt',
loader: async () => (
await import(`$i18n/en/a11y/meowbalt.json`)
).default,
},
{
locale: 'ru',
key: 'tabs',
@ -39,6 +61,27 @@ export const config: Config = {
await import(`$i18n/ru/a11y/tabs.json`)
).default,
},
{
locale: 'ru',
key: 'save',
loader: async () => (
await import(`$i18n/ru/save.json`)
).default,
},
{
locale: 'ru',
key: 'a11y.save',
loader: async () => (
await import(`$i18n/ru/a11y/save.json`)
).default,
},
{
locale: 'ru',
key: 'a11y.meowbalt',
loader: async () => (
await import(`$i18n/ru/a11y/meowbalt.json`)
).default,
},
],
};