kopia lustrzana https://github.com/elk-zone/elk
Porównaj commity
15 Commity
64dee3cc61
...
c7efe0765b
Autor | SHA1 | Data |
---|---|---|
renovate[bot] | c7efe0765b | |
patak-dev | 1526847a18 | |
Duy | cc1d149ac8 | |
Duy | 569604646d | |
Dohány Tamás | 6f47d1aeff | |
Francesco | 9d62edf295 | |
Xabi | 7f4d8c04c6 | |
Emanuel Pina | 79c6714bac | |
lazzzis | ecd7a6f8cb | |
Andy Maloney | 4ed97dab55 | |
Andy Maloney | d4eeb7441d | |
Joaquín Sánchez | c504e14ff5 | |
Joaquín Sánchez | f78ce97f05 | |
TAKAHASHI Shuuji | c1f8e3efb5 | |
Dohány Tamás | e4c7124d28 |
|
@ -30,7 +30,7 @@ async function edit(listId: string) {
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<CommonPaginator :end-message="false" :paginator="paginator">
|
||||
<CommonPaginator :paginator="paginator">
|
||||
<template #default="{ item }">
|
||||
<div p4 hover:bg-active block w="100%" flex justify-between items-center gap-4>
|
||||
<p>{{ item.title }}</p>
|
||||
|
@ -49,5 +49,13 @@ async function edit(listId: string) {
|
|||
</CommonTooltip>
|
||||
</div>
|
||||
</template>
|
||||
<template #done>
|
||||
<NuxtLink
|
||||
p4 hover:bg-active block w="100%" flex justify-between items-center gap-4
|
||||
to="/lists"
|
||||
>
|
||||
<p>{{ $t('list.manage') }}</p>
|
||||
</NuxtLink>
|
||||
</template>
|
||||
</CommonPaginator>
|
||||
</template>
|
||||
|
|
|
@ -167,7 +167,7 @@ const isExceedingCharacterLimit = computed(() => {
|
|||
return characterCount.value > characterLimit.value
|
||||
})
|
||||
|
||||
const postLanguageDisplay = computed(() => languagesNameList.find(i => i.code === (draft.value.params.language || preferredLanguage))?.nativeName)
|
||||
const postLanguageDisplay = computed(() => languagesNameList.find(i => i.code === (draft.value.params.language || preferredLanguage.value))?.nativeName)
|
||||
|
||||
const isDM = computed(() => draft.value.params.visibility === 'direct')
|
||||
|
||||
|
|
|
@ -67,61 +67,69 @@ function save() {
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<form aria-labelledby="interface-bn" aria-describedby="interface-bn-desc" @submit.prevent="save">
|
||||
<!-- preview -->
|
||||
<div aria-hidden="true" flex="~ gap4 wrap" items-center select-settings h-14 p0>
|
||||
<nav
|
||||
v-for="availableNavButton in selectedNavButtons" :key="availableNavButton.name"
|
||||
flex="~ 1" items-center justify-center text-xl
|
||||
scrollbar-hide overscroll-none
|
||||
>
|
||||
<button btn-base :class="availableNavButton.icon" mx-4 tabindex="-1" />
|
||||
</nav>
|
||||
</div>
|
||||
<section space-y-2>
|
||||
<h2 id="interface-bn" font-medium>
|
||||
{{ $t('settings.interface.bottom_nav') }}
|
||||
</h2>
|
||||
<form aria-labelledby="interface-bn" aria-describedby="interface-bn-desc" @submit.prevent="save">
|
||||
<p id="interface-bn-desc" pb-2>
|
||||
{{ $t('settings.interface.bottom_nav_instructions') }}
|
||||
</p>
|
||||
<!-- preview -->
|
||||
<div aria-hidden="true" flex="~ gap4 wrap" items-center select-settings h-14 p0>
|
||||
<nav
|
||||
v-for="availableNavButton in selectedNavButtons" :key="availableNavButton.name"
|
||||
flex="~ 1" items-center justify-center text-xl
|
||||
scrollbar-hide overscroll-none
|
||||
>
|
||||
<button btn-base :class="availableNavButton.icon" mx-4 tabindex="-1" />
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<!-- button selection -->
|
||||
<div flex="~ gap4 wrap" py4>
|
||||
<button
|
||||
v-for="{ name, label, icon } in availableNavButtons"
|
||||
:key="name"
|
||||
btn-text flex="~ gap-2" items-center p2 border="~ base rounded" bg-base ws-nowrap
|
||||
:class="isAdded(name) ? 'text-secondary hover:text-second bg-auto' : ''"
|
||||
type="button"
|
||||
role="switch"
|
||||
:aria-checked="isAdded(name)"
|
||||
@click="isAdded(name) ? remove(name) : append(name)"
|
||||
>
|
||||
<span :class="icon" />
|
||||
{{ label ? $t(label) : 'More menu' }}
|
||||
</button>
|
||||
</div>
|
||||
<!-- button selection -->
|
||||
<div flex="~ gap4 wrap" py4>
|
||||
<button
|
||||
v-for="{ name, label, icon } in availableNavButtons"
|
||||
:key="name"
|
||||
btn-text flex="~ gap-2" items-center p2 border="~ base rounded" bg-base ws-nowrap
|
||||
:class="isAdded(name) ? 'text-secondary hover:text-second bg-auto' : ''"
|
||||
type="button"
|
||||
role="switch"
|
||||
:aria-checked="isAdded(name)"
|
||||
@click="isAdded(name) ? remove(name) : append(name)"
|
||||
>
|
||||
<span :class="icon" />
|
||||
{{ label ? $t(label) : 'More menu' }}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div flex="~ col" gap-y-4 gap-x-2 py-1 sm="~ justify-end flex-row">
|
||||
<button
|
||||
btn-outline font-bold py2 full-w sm-wa flex="~ gap2 center"
|
||||
type="button"
|
||||
:disabled="selectedNavButtonNames.length === 0"
|
||||
:class="selectedNavButtonNames.length === 0 ? 'border-none' : undefined"
|
||||
@click="clear"
|
||||
>
|
||||
<span aria-hidden="true" class="block i-ri:delete-bin-line" />
|
||||
{{ $t('action.clear') }}
|
||||
</button>
|
||||
<button
|
||||
btn-outline font-bold py2 full-w sm-wa flex="~ gap2 center"
|
||||
type="reset"
|
||||
@click="reset"
|
||||
>
|
||||
<span aria-hidden="true" class="block i-ri:repeat-line" />
|
||||
{{ $t('action.reset') }}
|
||||
</button>
|
||||
<button
|
||||
btn-solid font-bold py2 full-w sm-wa flex="~ gap2 center"
|
||||
:disabled="!canSave"
|
||||
>
|
||||
<span aria-hidden="true" i-ri:save-2-fill />
|
||||
{{ $t('action.save') }}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<div flex="~ col" gap-y-4 gap-x-2 py-1 sm="~ justify-end flex-row">
|
||||
<button
|
||||
btn-outline font-bold py2 full-w sm-wa flex="~ gap2 center"
|
||||
type="button"
|
||||
:disabled="selectedNavButtonNames.length === 0"
|
||||
:class="selectedNavButtonNames.length === 0 ? 'border-none' : undefined"
|
||||
@click="clear"
|
||||
>
|
||||
<span aria-hidden="true" class="block i-ri:delete-bin-line" />
|
||||
{{ $t('action.clear') }}
|
||||
</button>
|
||||
<button
|
||||
btn-outline font-bold py2 full-w sm-wa flex="~ gap2 center"
|
||||
type="reset"
|
||||
@click="reset"
|
||||
>
|
||||
<span aria-hidden="true" class="block i-ri:repeat-line" />
|
||||
{{ $t('action.reset') }}
|
||||
</button>
|
||||
<button
|
||||
btn-solid font-bold py2 full-w sm-wa flex="~ gap2 center"
|
||||
:disabled="!canSave"
|
||||
>
|
||||
<span aria-hidden="true" i-ri:save-2-fill />
|
||||
{{ $t('action.save') }}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
</template>
|
||||
|
|
|
@ -27,18 +27,23 @@ const modes = [
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<div flex="~ gap4 wrap" w-full role="group" aria-labelledby="interface-cm">
|
||||
<button
|
||||
v-for="{ icon, label, mode } in modes"
|
||||
:key="mode"
|
||||
type="button"
|
||||
btn-text flex-1 flex="~ gap-1 center" p4 border="~ base rounded" bg-base ws-nowrap
|
||||
:aria-pressed="colorMode.preference === mode ? 'true' : 'false'"
|
||||
:class="colorMode.preference === mode ? 'pointer-events-none' : 'filter-saturate-0'"
|
||||
@click="setColorMode(mode)"
|
||||
>
|
||||
<span :class="`${icon}`" />
|
||||
{{ $t(label) }}
|
||||
</button>
|
||||
</div>
|
||||
<section space-y-2>
|
||||
<h2 id="interface-cm" font-medium>
|
||||
{{ $t('settings.interface.color_mode') }}
|
||||
</h2>
|
||||
<div flex="~ gap4 wrap" w-full role="group" aria-labelledby="interface-cm">
|
||||
<button
|
||||
v-for="{ icon, label, mode } in modes"
|
||||
:key="mode"
|
||||
type="button"
|
||||
btn-text flex-1 flex="~ gap-1 center" p4 border="~ base rounded" bg-base ws-nowrap
|
||||
:aria-pressed="colorMode.preference === mode ? 'true' : 'false'"
|
||||
:class="colorMode.preference === mode ? 'pointer-events-none' : 'filter-saturate-0'"
|
||||
@click="setColorMode(mode)"
|
||||
>
|
||||
<span :class="`${icon}`" />
|
||||
{{ $t(label) }}
|
||||
</button>
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
|
|
|
@ -13,40 +13,45 @@ function setFontSize(e: Event) {
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<div flex items-center space-x-4>
|
||||
<span text-xs text-secondary>Aa</span>
|
||||
<div flex-1 relative flex items-center>
|
||||
<input
|
||||
aria-labelledby="interface-fs"
|
||||
:value="sizes.indexOf(userSettings.fontSize)"
|
||||
:aria-valuetext="`${userSettings.fontSize}${userSettings.fontSize === DEFAULT_FONT_SIZE ? ` ${$t('settings.interface.default')}` : ''}`"
|
||||
:min="0"
|
||||
:max="sizes.length - 1"
|
||||
:step="1"
|
||||
type="range"
|
||||
focus:outline-none
|
||||
appearance-none bg-transparent
|
||||
w-full cursor-pointer
|
||||
@change="setFontSize"
|
||||
>
|
||||
<div flex items-center justify-between absolute w-full pointer-events-none>
|
||||
<div
|
||||
v-for="i in sizes.length" :key="i"
|
||||
class="container-marker"
|
||||
h-3 w-3
|
||||
rounded-full bg-secondary-light
|
||||
relative
|
||||
<section space-y-2>
|
||||
<h2 id="interface-fs" font-medium>
|
||||
{{ $t('settings.interface.font_size') }}
|
||||
</h2>
|
||||
<div flex items-center space-x-4 select-settings>
|
||||
<span text-xs text-secondary>Aa</span>
|
||||
<div flex-1 relative flex items-center>
|
||||
<input
|
||||
aria-labelledby="interface-fs"
|
||||
:value="sizes.indexOf(userSettings.fontSize)"
|
||||
:aria-valuetext="`${userSettings.fontSize}${userSettings.fontSize === DEFAULT_FONT_SIZE ? ` ${$t('settings.interface.default')}` : ''}`"
|
||||
:min="0"
|
||||
:max="sizes.length - 1"
|
||||
:step="1"
|
||||
type="range"
|
||||
focus:outline-none
|
||||
appearance-none bg-transparent
|
||||
w-full cursor-pointer
|
||||
@change="setFontSize"
|
||||
>
|
||||
<div flex items-center justify-between absolute w-full pointer-events-none>
|
||||
<div
|
||||
v-if="(sizes.indexOf(userSettings.fontSize)) === i - 1"
|
||||
absolute rounded-full class="-top-1 -left-1"
|
||||
bg-primary h-5 w-5
|
||||
/>
|
||||
v-for="i in sizes.length" :key="i"
|
||||
class="container-marker"
|
||||
h-3 w-3
|
||||
rounded-full bg-secondary-light
|
||||
relative
|
||||
>
|
||||
<div
|
||||
v-if="(sizes.indexOf(userSettings.fontSize)) === i - 1"
|
||||
absolute rounded-full class="-top-1 -left-1"
|
||||
bg-primary h-5 w-5
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<span text-xl text-secondary>Aa</span>
|
||||
</div>
|
||||
<span text-xl text-secondary>Aa</span>
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<style>
|
||||
|
@ -64,7 +69,7 @@ function setFontSize(e: Event) {
|
|||
input[type=range]::-webkit-slider-runnable-track {
|
||||
--at-apply: bg-secondary-light rounded-full h1 op60;
|
||||
}
|
||||
input[type=range]:focus:-webkit-slider-runnable-track {
|
||||
input[type=range]:focus::-webkit-slider-runnable-track {
|
||||
--at-apply: outline-2 outline-red;
|
||||
}
|
||||
input[type=range]::-webkit-slider-thumb {
|
||||
|
|
|
@ -12,20 +12,25 @@ function updateTheme(theme: ThemeColors) {
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<div flex="~ gap4 wrap" p2 role="group" aria-labelledby="interface-tc">
|
||||
<button
|
||||
v-for="[key, theme] in themes" :key="key"
|
||||
:style="{
|
||||
'background': key,
|
||||
'--local-ring-color': key,
|
||||
}"
|
||||
type="button"
|
||||
:class="currentTheme === theme['--theme-color-name'] ? 'ring-2' : 'scale-90'"
|
||||
:aria-pressed="currentTheme === theme['--theme-color-name'] ? 'true' : 'false'"
|
||||
:title="theme['--theme-color-name']"
|
||||
w-8 h-8 rounded-full transition-all
|
||||
ring="$local-ring-color offset-3 offset-$c-bg-base"
|
||||
@click="updateTheme(theme)"
|
||||
/>
|
||||
</div>
|
||||
<section space-y-2>
|
||||
<h2 id="interface-tc" font-medium>
|
||||
{{ $t('settings.interface.theme_color') }}
|
||||
</h2>
|
||||
<div flex="~ gap4 wrap" p2 role="group" aria-labelledby="interface-tc">
|
||||
<button
|
||||
v-for="[key, theme] in themes" :key="key"
|
||||
:style="{
|
||||
'background': key,
|
||||
'--local-ring-color': key,
|
||||
}"
|
||||
type="button"
|
||||
:class="currentTheme === theme['--theme-color-name'] ? 'ring-2' : 'scale-90'"
|
||||
:aria-pressed="currentTheme === theme['--theme-color-name'] ? 'true' : 'false'"
|
||||
:title="theme['--theme-color-name']"
|
||||
w-8 h-8 rounded-full transition-all
|
||||
ring="$local-ring-color offset-3 offset-$c-bg-base"
|
||||
@click="updateTheme(theme)"
|
||||
/>
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
|
|
|
@ -6,10 +6,20 @@ const { status, isPreview = false } = defineProps<{
|
|||
fullSize?: boolean
|
||||
isPreview?: boolean
|
||||
}>()
|
||||
|
||||
const gridColumnNumber = computed(() => {
|
||||
const num = status.mediaAttachments.length
|
||||
if (num <= 1)
|
||||
return 1
|
||||
else if (num <= 4)
|
||||
return 2
|
||||
else
|
||||
return 3
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="status-media-container" :class="`status-media-container-${status.mediaAttachments.length}`">
|
||||
<div class="status-media-container">
|
||||
<template v-for="attachment of status.mediaAttachments" :key="attachment.id">
|
||||
<StatusAttachment
|
||||
:attachment="attachment"
|
||||
|
@ -25,25 +35,12 @@ const { status, isPreview = false } = defineProps<{
|
|||
|
||||
<style lang="postcss">
|
||||
.status-media-container {
|
||||
--grid-cols: v-bind(gridColumnNumber);
|
||||
display: grid;
|
||||
grid-template-columns: repeat(var(--grid-cols, 1), 1fr);
|
||||
--at-apply: gap-2;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
.status-media-container-1 {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
.status-media-container-2 {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
.status-media-container-3 {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
.status-media-container-4 {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -31,6 +31,7 @@ export const countryLocaleVariants: Record<string, (LocaleObjectData & { country
|
|||
en: [
|
||||
// en.json contains en-US translations
|
||||
{ country: true, code: 'en-US', name: 'English (US)' },
|
||||
{ code: 'en-CA', name: 'English (Canada)' },
|
||||
{ code: 'en-GB', name: 'English (UK)' },
|
||||
],
|
||||
ca: [
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
{
|
||||
"account": {
|
||||
"favourites": "Favourites"
|
||||
},
|
||||
"action": {
|
||||
"favourite": "Favourite",
|
||||
"favourited": "Favourited"
|
||||
},
|
||||
"magic_keys": {
|
||||
"groups": {
|
||||
"actions": {
|
||||
"favourite": "Favourite"
|
||||
},
|
||||
"navigation": {
|
||||
"go_to_favourites": "Favourites"
|
||||
}
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
"show_favourited_and_boosted_by": "Show who favourited and boosted"
|
||||
},
|
||||
"nav": {
|
||||
"favourites": "Favourites"
|
||||
},
|
||||
"notification": {
|
||||
"favourited_post": "favourited your post"
|
||||
},
|
||||
"settings": {
|
||||
"interface": {
|
||||
"bottom_nav_instructions": "Choose your favourite navigation buttons up to five for the bottom navigation. Must include the \"More menu\" button.",
|
||||
"color_mode": "Colour Mode",
|
||||
"theme_color": "Theme Colour"
|
||||
},
|
||||
"notifications": {
|
||||
"push_notifications": {
|
||||
"alerts": {
|
||||
"favourite": "Favourites"
|
||||
}
|
||||
}
|
||||
},
|
||||
"preferences": {
|
||||
"hide_favorite_count": "Hide favourite count",
|
||||
"use_star_favorite_icon": "Use star favourite icon"
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"favourited_by": "Favourited By"
|
||||
},
|
||||
"tab": {
|
||||
"notifications_favourite": "Favourite"
|
||||
},
|
||||
"user": {
|
||||
"sign_in_desc": "Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server.",
|
||||
"single_instance_sign_in_desc": "Sign in to follow profiles or hashtags, favourite, share and reply to posts."
|
||||
}
|
||||
}
|
|
@ -52,6 +52,9 @@
|
|||
"status": {
|
||||
"favourited_by": "Favourited By"
|
||||
},
|
||||
"tab": {
|
||||
"notifications_favourite": "Favourite"
|
||||
},
|
||||
"tooltip": {
|
||||
"explore_links_intro": "These news stories are being talked about by people on this and other servers of the decentralised network right now.",
|
||||
"explore_posts_intro": "These posts from this and other servers in the decentralised network are gaining traction on this server right now.",
|
||||
|
|
|
@ -222,6 +222,7 @@
|
|||
"error": "There was an error while creating the list",
|
||||
"error_prefix": "Error: ",
|
||||
"list_title_placeholder": "List title",
|
||||
"manage": "Manage lists",
|
||||
"modify_account": "Modify lists with account",
|
||||
"remove_account": "Remove account from list",
|
||||
"save": "Save changes"
|
||||
|
|
|
@ -222,6 +222,7 @@
|
|||
"error": "Errorea gertatu da zerrenda sortzerakoan",
|
||||
"error_prefix": "Errorea: ",
|
||||
"list_title_placeholder": "Zerrendaren izena",
|
||||
"manage": "Kudeatu zerrendak",
|
||||
"modify_account": "Aldatu honako kontua duten zerrendak:",
|
||||
"remove_account": "Kendu kontua zerrendatik",
|
||||
"save": "Gorde aldaketak"
|
||||
|
|
|
@ -58,6 +58,7 @@
|
|||
"boost": "Kiemel",
|
||||
"boost_count": "{0}",
|
||||
"boosted": "Kiemelt",
|
||||
"clear": "Tisztítás",
|
||||
"clear_publish_failed": "Közzétételi hibák tisztítása",
|
||||
"clear_save_failed": "Mentési hibák tisztítása",
|
||||
"clear_upload_failed": "Fájl feltöltési hibák tisztítása",
|
||||
|
@ -204,7 +205,7 @@
|
|||
"desc_para5": "elér minket a GitHub-on",
|
||||
"desc_para6": "és legyen elkötelezett.",
|
||||
"footer_team": "Az Elk csapat",
|
||||
"title": "Az Elk Előzetes változata"
|
||||
"title": "Üdvözöl az Elk!"
|
||||
},
|
||||
"language": {
|
||||
"search": "Keresés"
|
||||
|
@ -221,6 +222,7 @@
|
|||
"error": "Hiba történt a lista létrehozása közben",
|
||||
"error_prefix": "Hiba: ",
|
||||
"list_title_placeholder": "Lista címe",
|
||||
"manage": "Listák kezelése",
|
||||
"modify_account": "Listák módosítása fiókkal",
|
||||
"remove_account": "Fiók eltávolítása a listáról",
|
||||
"save": "Változtatások mentése"
|
||||
|
@ -316,6 +318,7 @@
|
|||
"list": "Lista",
|
||||
"lists": "Listák",
|
||||
"local": "Helyi",
|
||||
"more_menu": "Továbbiak",
|
||||
"muted_users": "Némított felhasználók",
|
||||
"notifications": "Értesítések",
|
||||
"privacy": "Adatvédelem",
|
||||
|
@ -450,6 +453,8 @@
|
|||
"label": "Fiók beállítások"
|
||||
},
|
||||
"interface": {
|
||||
"bottom_nav": "Alsó navigáció",
|
||||
"bottom_nav_instructions": "Válaszd ki a kedvenc navigációs gombodjaid, maximum öt darabot az alsó navigációhoz. Mindenképpen tartalmaznia kell a \"Továbbiak\" gombot.",
|
||||
"color_mode": "Szín mód",
|
||||
"dark_mode": "Sötét",
|
||||
"default": " (alapértelmezett)",
|
||||
|
@ -639,7 +644,7 @@
|
|||
"spoiler_show_less": "Mutass kevesebbet",
|
||||
"spoiler_show_more": "Mutass többet",
|
||||
"thread": "Szál",
|
||||
"try_original_site": "Próbálja az eredeti weblapon"
|
||||
"try_original_site": "Próbálja az eredeti webhelyen"
|
||||
},
|
||||
"status_history": {
|
||||
"created": "létrehozva {0}",
|
||||
|
|
|
@ -222,6 +222,7 @@
|
|||
"error": "C'è stato un errore nella creazione della lista",
|
||||
"error_prefix": "Errore: ",
|
||||
"list_title_placeholder": "Titolo lista",
|
||||
"manage": "Gestisci liste",
|
||||
"modify_account": "Modifica liste con account",
|
||||
"remove_account": "Rimuovi account dalla lista",
|
||||
"save": "Salva modifiche"
|
||||
|
@ -660,7 +661,7 @@
|
|||
"report": "Segnalazione",
|
||||
"sign_up": "Iscrizione"
|
||||
},
|
||||
"notifications_all": "Tutti",
|
||||
"notifications_all": "Tutte",
|
||||
"notifications_favourite": "Apprezzamento",
|
||||
"notifications_follow": "Nuovo seguace",
|
||||
"notifications_follow_request": "Richiesta di seguire",
|
||||
|
|
|
@ -222,6 +222,7 @@
|
|||
"error": "Ocorreu um erro ao criar a lista",
|
||||
"error_prefix": "Erro: ",
|
||||
"list_title_placeholder": "Título da lista",
|
||||
"manage": "Gerir listas",
|
||||
"modify_account": "Modificar listas com a conta",
|
||||
"remove_account": "Remover conta da lista",
|
||||
"save": "Salvar alterações"
|
||||
|
|
|
@ -58,6 +58,7 @@
|
|||
"boost": "Đăng lại",
|
||||
"boost_count": "{0}",
|
||||
"boosted": "Đã đăng lại",
|
||||
"clear": "Xóa",
|
||||
"clear_publish_failed": "Xóa lỗi khi đăng tút",
|
||||
"clear_save_failed": "Xóa lỗi khi lưu tút",
|
||||
"clear_upload_failed": "Xóa lỗi khi xóa file",
|
||||
|
@ -196,7 +197,7 @@
|
|||
"desc3": "Đừng đăng nhập bằng tài khoản chính.",
|
||||
"title": "Bản dựng"
|
||||
},
|
||||
"desc_highlight": "Sẽ có một số lỗi và tính năng bị thiếu ở đây.",
|
||||
"desc_highlight": "Sẽ có lỗi và một số tính năng bị thiếu.",
|
||||
"desc_para1": "Elk là một ứng dụng web Mastodon nhanh nhẹn. Sử dụng để đăng nhập Mastodon và tương tác với Fediverse.",
|
||||
"desc_para2": "Elk là Mã Nguồn Mở và chúng tôi cải tiến nó như một dự án cộng đồng. Hãy tham gia và cùng xây dựng!",
|
||||
"desc_para3": "Để thúc đẩy sự phát triển, bạn có thể tài trợ cho Nhóm thông qua GitHub Sponsors. Chúng tôi hy vọng bạn thích Elk!",
|
||||
|
@ -221,6 +222,7 @@
|
|||
"error": "Xảy ra lỗi khi tạo danh sách",
|
||||
"error_prefix": "Lỗi: ",
|
||||
"list_title_placeholder": "Tên danh sách",
|
||||
"manage": "Quản lý danh sách",
|
||||
"modify_account": "Sửa danh sách có người này",
|
||||
"remove_account": "Xóa người ra khỏi danh sách",
|
||||
"save": "Lưu thay đổi"
|
||||
|
@ -316,6 +318,7 @@
|
|||
"list": "Danh sách",
|
||||
"lists": "Danh sách",
|
||||
"local": "Máy chủ",
|
||||
"more_menu": "Thêm",
|
||||
"muted_users": "Người đã ẩn",
|
||||
"notifications": "Thông báo",
|
||||
"privacy": "Bảo mật",
|
||||
|
@ -450,6 +453,8 @@
|
|||
"label": "Cài đặt tài khoản"
|
||||
},
|
||||
"interface": {
|
||||
"bottom_nav": "Menu dưới màn hình",
|
||||
"bottom_nav_instructions": "Chọn tối đa năm nút điều hướng yêu thích của bạn. Bao gồm nút \"Thêm\" ",
|
||||
"color_mode": "Chủ đề",
|
||||
"dark_mode": "Tối",
|
||||
"default": " (mặc định)",
|
||||
|
@ -488,14 +493,14 @@
|
|||
"title": "Bạn muốn nhận những kiểu thông báo nào?"
|
||||
},
|
||||
"description": "Nhận thông báo kể cả khi bạn không sử dụng Elk.",
|
||||
"instructions": "Đừng quên lưu các thay đổi của bạn bằng cách @:settings.notifications.push_notifications.save_settings button!",
|
||||
"instructions": "Nhớ lưu các thay đổi của bạn bằng cách nhấn @:settings.notifications.push_notifications.save_settings !",
|
||||
"label": "Cài đặt thông báo đẩy",
|
||||
"policy": {
|
||||
"all": "Từ bất kỳ ai",
|
||||
"followed": "Từ người tôi theo dõi",
|
||||
"follower": "Từ người theo dõi tôi",
|
||||
"followed": "Từ người bạn theo dõi",
|
||||
"follower": "Từ người theo dõi bạn",
|
||||
"none": "Không ai cả",
|
||||
"title": "Tôi sẽ nhận thông báo từ ai?"
|
||||
"title": "Bạn muốn nhận thông báo từ ai?"
|
||||
},
|
||||
"save_settings": "Lưu cài đặt",
|
||||
"subscription_error": {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"name": "@elk-zone/elk",
|
||||
"type": "module",
|
||||
"version": "0.13.2",
|
||||
"packageManager": "pnpm@8.15.5",
|
||||
"version": "0.14.0",
|
||||
"packageManager": "pnpm@8.15.7",
|
||||
"license": "MIT",
|
||||
"homepage": "https://elk.zone/",
|
||||
"main": "./nuxt.config.ts",
|
||||
|
|
|
@ -13,34 +13,11 @@ useHydratedHead({
|
|||
<span>{{ $t('settings.interface.label') }}</span>
|
||||
</div>
|
||||
</template>
|
||||
<div p6 flex="~ col gap6">
|
||||
<div space-y-2>
|
||||
<p id="interface-fs" font-medium>
|
||||
{{ $t('settings.interface.font_size') }}
|
||||
</p>
|
||||
<SettingsFontSize select-settings />
|
||||
</div>
|
||||
<div space-y-2>
|
||||
<p id="interface-cm" font-medium>
|
||||
{{ $t('settings.interface.color_mode') }}
|
||||
</p>
|
||||
<SettingsColorMode />
|
||||
</div>
|
||||
<div space-y-2>
|
||||
<p id="interface-tc" font-medium>
|
||||
{{ $t('settings.interface.theme_color') }}
|
||||
</p>
|
||||
<SettingsThemeColors />
|
||||
</div>
|
||||
<div space-y-2>
|
||||
<p id="interface-bn" font-medium>
|
||||
{{ $t('settings.interface.bottom_nav') }}
|
||||
</p>
|
||||
<p id="interface-bn-desc">
|
||||
{{ $t('settings.interface.bottom_nav_instructions') }}
|
||||
</p>
|
||||
<SettingsBottomNav />
|
||||
</div>
|
||||
<div px-6 pt-3 pb-6 flex="~ col gap6">
|
||||
<SettingsFontSize />
|
||||
<SettingsColorMode />
|
||||
<SettingsThemeColors />
|
||||
<SettingsBottomNav />
|
||||
</div>
|
||||
</MainContent>
|
||||
</template>
|
||||
|
|
Ładowanie…
Reference in New Issue