Merge branch 'main' into user-agent

pull/2277/head
Markus Unterwaditzer 2023-07-30 12:18:34 +02:00 zatwierdzone przez GitHub
commit 08262c8695
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
13 zmienionych plików z 181 dodań i 49 usunięć

Wyświetl plik

@ -213,13 +213,9 @@ onDeactivated(() => {
<template>
<div v-if="isHydrated && currentUser" flex="~ col gap-4" py3 px2 sm:px4 aria-roledescription="publish-widget">
<template v-if="draft.editingStatus">
<div flex="~ col gap-1">
<div id="state-editing" text-secondary self-center>
{{ $t('state.editing') }}
</div>
<StatusCard :status="draft.editingStatus" :actions="false" :hover="false" is-preview px-0 />
<div id="state-editing" text-secondary self-center>
{{ $t('state.editing') }}
</div>
<div border="b dashed gray/40" />
</template>
<div flex gap-3 flex-1>

Wyświetl plik

@ -15,7 +15,7 @@ export function usePublish(options: {
const { client } = $(useMasto())
const settings = useUserSettings()
const preferredLanguage = $computed(() => (settings.value?.language || 'en').split('-')[0])
const preferredLanguage = $computed(() => (currentUser.value?.account.source.language || settings.value?.language || 'en').split('-')[0])
let isSending = $ref(false)
const isExpanded = $ref(false)

Wyświetl plik

@ -81,7 +81,9 @@ If you cannot see the notification permission prompt, you will need to remove pu
If you're receiving this error, it means that either your browser doesn't support the VAPID protocol, or something is preventing the VAPID protocol from working in your browser. The VAPID protocol requires the clock to be set correctly on your computer or device, since this is used for certficate checks. Check that your clock is set to the correct date, time and timezone. After setting it correctly, restart your browser and try again. If it is set correctly, and you still receive this message, then your browser doesn't support the VAPID protocol and you will not be able to receive push notifications.
There is nothing we can do to fix this, you will need to use a browser that supports the VAPID protocol: Chrome, Edge, Safari, Firefox and Vivaldi.
In Brave Browser, you will need to allow "Use Google Services for Push Messaging" in "Settings" > "Privacy and security".
There is nothing we can do to fix this, you will need to use a browser that supports the VAPID protocol: Chrome, Brave, Edge, Safari, Firefox and Vivaldi.
### Install Elk button not working

Wyświetl plik

@ -426,6 +426,7 @@
"language": {
"display_language": "Anzeigesprache",
"label": "Sprache",
"post_language": "Beitragssprache",
"status": "Übersetzungsstatus: {0}/{1} ({2}%)",
"translations": {
"add": "Hinzufügen",

Wyświetl plik

@ -51,6 +51,7 @@
"boost_count": "{0}",
"boosted": "Boosted",
"clear_publish_failed": "Clear publish errors",
"clear_save_failed": "Clear save errors",
"clear_upload_failed": "Clear file upload errors",
"close": "Close",
"compose": "Compose",
@ -426,6 +427,7 @@
"language": {
"display_language": "Display Language",
"label": "Language",
"post_language": "Posting Language",
"status": "Translation status: {0}/{1} ({2}%)",
"translations": {
"add": "Add",
@ -557,6 +559,7 @@
"loading": "Loading...",
"publish_failed": "Publish failed",
"publishing": "Publishing",
"save_failed": "Save failed",
"upload_failed": "Upload failed",
"uploading": "Uploading..."
},

Wyświetl plik

@ -76,7 +76,7 @@
"vote": "Eman botoa"
},
"app_desc_short": "Mastodon web-bezero arin bat",
"app_logo": "Elk Logo",
"app_logo": "Elk-en logoa",
"app_name": "Elk",
"attachment": {
"edit_title": "Deskribapena",
@ -172,7 +172,7 @@
"desc1": "Komunitateak sortutako Elk-en aurreikuspen bat duzu aurrean - {0}.",
"desc2": "Litekeena da berrikusi ez diren aldaketak izatea, baita maltzurrak izan litezkeenak ere.",
"desc3": "Ez hasi saioa zure benetako kontuarekin.",
"title": "Preview deploy"
"title": "Aurrebista erabiltzen du"
},
"desc_highlight": "Oso litekeena da erroreak eta ezaugarriak faltan egotea aplikazioan zehar.",
"desc_para1": "Eskerrik asko interesagatik eta Elk probatzeagatik, amaitu gabe dagoen Mastodonerako web-bezero arin bat!",
@ -272,7 +272,7 @@
"built_at": "Biltze-data: {0}",
"compose": "Idatzi",
"conversations": "Elkarrizketak",
"explore": "Esploratu",
"explore": "Arakatu",
"favourites": "Gogokoak",
"federated": "Federatua",
"home": "Hasiera",
@ -284,7 +284,7 @@
"privacy": "Pribatutasuna",
"profile": "Profila",
"search": "Bilaketa",
"select_feature_flags": "Toggle Feature Flags",
"select_feature_flags": "Aldatu ezaugarrien adierazleak (Toggle Feature Flags)",
"select_font_size": "Letra-tipoaren tamaina",
"select_language": "Hizkuntza",
"settings": "Ezarpenak",
@ -316,11 +316,11 @@
"create": "Sortu bozketa",
"disallow_multiple": "Ezgaitu aukera anitzak",
"expiration": "Bozketaren epemuga",
"hide_votes": "Ezkutatu emaitza osoa bozketa amaitu arte",
"option_placeholder": "Bozketaren aukera {unean}/{gehienez}",
"hide_votes": "Ezkutatu emaitza bozketa amaitu arte",
"option_placeholder": "{current}. aukera (gehienez {max})",
"remove_option": "Kendu aukera",
"settings": "Bozketaren ezarpenak",
"show_votes": "Erakutsi beti bozketaren emaitza osoa"
"show_votes": "Erakutsi uneoro bozketaren emaitza"
},
"pwa": {
"dismiss": "Baztertu",
@ -340,14 +340,14 @@
"short_name": "Elk (canary)"
},
"dev": {
"description": "Mastodon web-bezero arin bat (dev)",
"name": "Elk (dev)",
"short_name": "Elk (dev)"
"description": "Mastodon web-bezero arin bat (garapena)",
"name": "Elk (garapena)",
"short_name": "Elk (garapena)"
},
"preview": {
"description": "Mastodon web-bezero arin bat (preview)",
"name": "Elk (preview)",
"short_name": "Elk (preview)"
"description": "Mastodon web-bezero arin bat (aurrebista)",
"name": "Elk (aurrebista)",
"short_name": "Elk (aurrebista)"
},
"release": {
"description": "Mastodon web-bezero arin bat",
@ -375,7 +375,7 @@
"title": "Eskerrik asko jakinarazteagatik, salaketa aztertuko dugu."
}
},
"limiting": "Limiting {0}",
"limiting": "Mugatu {0}",
"mute_desc": "Ez duzu erabiltzaile honen bidalketarik ikusiko. Zure bidalketak ikusi eta zuri jarraitu diezazuke. Ez du jakingo mututu duzunik.",
"other": "Beste zerbait da",
"other_desc": "Arazoa ez da beste kategorietan sartzen",
@ -426,7 +426,7 @@
"language": {
"display_language": "Hizkuntza",
"label": "Hizkuntza",
"status": "Itzulpenaren egoera: {0}/{1} ({2}%)",
"status": "Itzulpenaren egoera: {1} kateetatik {0} itzulita (%{2}a)",
"translations": {
"add": "Gehitu",
"choose_language": "Hautatu hizkuntza",
@ -495,7 +495,8 @@
"enable_data_saving": "Gaitu datu aurrezlea",
"enable_data_saving_description": "Aurreztu datuak eranskinen kargatze-automatikoa galarazten.",
"enable_pinch_to_zoom": "Gaitu atximur keinua zoom egiteko",
"github_cards": "GitHub Cards",
"github_cards": "GitHub txartelak",
"github_cards_description": "GitHub-eko esteka argitaratzean, HTML txartel irisgarri bat erakusten du gizarte-grafikoaren metadatuak erabiliz, irudi sozialaren ordez.",
"grayscale_mode": "Gris modua",
"hide_account_hover_card": "Ezkutatu kontuaren geruza (Hide account hover card)",
"hide_alt_indi_on_posts": "Ezkutatu ALT adierazlea bidalketetan",
@ -511,7 +512,9 @@
"title": "Ezaugarri esperimentalak",
"use_star_favorite_icon": "Erabili izarraren ikonoa gogokoetarako",
"user_picker": "Erabiltzaile hautatzailea",
"user_picker_description": "Beheko ezkerreko aldean saioa hasia duten kontuen abatar guztiak erakusten ditu, haien artean azkar aldatu ahal dezazun.",
"virtual_scroll": "Korritze birtuala",
"virtual_scroll_description": "Zerrenda birtual bat erabiltzen du denbora-lerroetan, item kopuru handiagoa modu eraginkorrean erakutsi ahal izateko.",
"wellbeing": "Ongizatea",
"zen_mode": "Zen modua",
"zen_mode_description": "Aldamenetako elementuak ezkutatzen ditu xagua gainean jarri arte. Denbora-lerroko elementu batzuk ere ezkutatzen ditu."

Wyświetl plik

@ -51,6 +51,7 @@
"boost_count": "{0}",
"boosted": "ブースト済み",
"clear_publish_failed": "投稿エラーをクリア",
"clear_save_failed": "保存エラーをクリア",
"clear_upload_failed": "ファイルアップロードエラーをクリア",
"close": "閉じる",
"compose": "投稿",
@ -499,6 +500,7 @@
"loading": "読込中...",
"publish_failed": "投稿に失敗しました",
"publishing": "投稿中",
"save_failed": "保存に失敗しました",
"upload_failed": "アップロードに失敗しました",
"uploading": "更新中..."
},

Wyświetl plik

@ -367,7 +367,7 @@
"forward_question": "Bạn có chắc muốn gửi luôn báo cáo tới máy chủ của người này?",
"further_actions": {
"limit": {
"description": "Đây là vài cách kiểm soát những thứ mà bạn thấy:",
"description": "Đây là cách kiểm soát những thứ mà bạn thấy:",
"title": "Không muốn xem thứ này?"
},
"report": {
@ -380,8 +380,8 @@
"other": "Một lý do khác",
"other_desc": "Vấn đề không nằm trong những mục trên",
"reporting": "Báo cáo {0}",
"select_many": "Chọn tất cả những tút khớp:",
"select_one": "Chọn tút khớp nhất:",
"select_many": "Chọn tất cả lý do phù hợp:",
"select_one": "Chọn lý do phù hợp nhất:",
"select_posts": "Bạn muốn báo cáo tút nào?",
"select_posts_other": "Bạn muốn báo cáo những tút nào?",
"spam": "Đây là spam",
@ -389,8 +389,8 @@
"submit": "Gửi báo cáo",
"unfollow_desc": "Bạn sẽ không còn thấy tút của người này trên bảng tin. Tút của họ vẫn có thể xuất hiện ở những nơi khác.",
"violation": "Vi phạm nội quy máy chủ",
"whats_wrong_account": "Có vấn đề gì với người này",
"whats_wrong_post": "Có vấn đề gì với tút này"
"whats_wrong_account": "Người này có vấn đề gì?",
"whats_wrong_post": "Tút này có vấn đề gì?"
},
"search": {
"search_desc": "Tìm người hoặc hashtag",
@ -628,18 +628,18 @@
"second_past": "vừa xong|{n}s trước|{n}s trước",
"short_day_future": "sau {n} ngày",
"short_day_past": "{n} ngày",
"short_hour_future": "sau {n}h",
"short_hour_past": "{n}h",
"short_hour_future": "sau {n} giờ",
"short_hour_past": "{n} giờ",
"short_minute_future": "sau {n} phút",
"short_minute_past": "{n} phút",
"short_month_future": "sau {n} tháng",
"short_month_past": "{n} tháng",
"short_second_future": "sau {n}s",
"short_second_past": "{n}s",
"short_week_future": "sau {n}w",
"short_week_past": "{n}w",
"short_year_future": "sau {n}y",
"short_year_past": "{n}y",
"short_week_future": "sau {n} tuần",
"short_week_past": "{n} tuần",
"short_year_future": "sau {n} năm",
"short_year_past": "{n} năm",
"week_future": "sau 0 tuần|tuần sau|trong {n} tuần",
"week_past": "0 tuần trước|tuần trước|{n} tuần trước",
"year_future": "sau 0 năm|năm sau|in {n} năm sau",

Wyświetl plik

@ -34,6 +34,7 @@
"posts": "帖文",
"posts_count": "{0} 条帖文",
"profile_description": "{0} 的个人资料头图",
"profile_personal_note": "私人备注",
"profile_unavailable": "个人资料不可见",
"request_follow": "请求关注",
"unblock": "取消拉黑",
@ -54,6 +55,7 @@
"close": "关闭",
"compose": "撰写",
"confirm": "确认",
"done": "完成",
"edit": "编辑",
"enter_app": "进入应用",
"favourite": "喜欢",
@ -97,6 +99,8 @@
"error": "错误",
"fetching": "加载中...",
"in": "在",
"no_bookmarks": "暂时没有收藏的帖文",
"no_favourites": "暂时没有喜欢的帖文",
"not_found": "无法找到相关内容",
"offline_desc": "您目前已离线,请检查网络连接。"
},
@ -207,8 +211,7 @@
"command_mode": "命令面板",
"compose": "撰写",
"favourite": "喜欢",
"title": "操作",
"zen_mode": "禅模式"
"title": "操作"
},
"media": {
"title": "媒体"
@ -225,6 +228,7 @@
"sequence_then": "then"
},
"menu": {
"add_personal_note": "给 {0} 添加私人备注",
"block_account": "拉黑 {0}",
"block_domain": "拉黑域名 {0}",
"copy_link_to_post": "复制这篇帖文的链接",
@ -239,6 +243,8 @@
"mute_conversation": "静音这条帖文",
"open_in_original_site": "从源站打开",
"pin_on_profile": "置顶在个人资料上",
"remove_personal_note": "给 {0} 移除私人备注",
"report_account": "举报 {0}",
"share_post": "分享这条帖文",
"show_favourited_and_boosted_by": "展示谁喜欢和转发了",
"show_reblogs": "显示来自 {0} 的转发",
@ -250,6 +256,7 @@
"translate_post": "翻译帖文",
"unblock_account": "解除拉黑 {0}",
"unblock_domain": "解除拉黑域名 {0}",
"unfollow_account": "取消关注 {0}",
"unmute_account": "解除屏蔽 {0}",
"unmute_conversation": "取消静音帖子",
"unpin_on_profile": "取消置顶"
@ -291,6 +298,7 @@
"followed_you_count": "{n} 人关注了你",
"missing_type": "未知的通知类型:",
"reblogged_post": "转发了你的帖文",
"reported": "{0} 举报了 {1}",
"request_to_follow": "请求关注你",
"signed_up": "注册了",
"update_status": "更新了他们的状态"
@ -302,10 +310,26 @@
"replying": "回复",
"the_thread": "这个帖文"
},
"polls": {
"allow_multiple": "允许多选",
"cancel": "取消",
"create": "新建投票",
"disallow_multiple": "禁止多选",
"expiration": "投票截止至",
"hide_votes": "结束前隐藏投票总数",
"option_placeholder": "投票项 {current}/{max}",
"remove_option": "移除投票项",
"settings": "投票设置",
"show_votes": "始终显示投票结果"
},
"pwa": {
"dismiss": "忽略",
"install": "安装",
"install_title": "安装鹿鸣",
"screenshots": {
"dark": "鹿鸣在深色模式下的快照",
"light": "鹿鸣在浅色模式下的快照"
},
"title": "鹿鸣存在新的更新",
"update": "更新",
"update_available_short": "更新鹿鸣",
@ -332,6 +356,42 @@
}
}
},
"report": {
"additional_comments": "补充说明",
"another_server": "您所举报的用户来自另外的服务器",
"anything_else": "是否还有其他信息是您觉得我们应该知道的?",
"block_desc": "您将不再看见来自此用户的任何帖文。他们将不能看见您的帖文或者关注您。他们能够知道他们被拉黑了。",
"dontlike": "我不喜欢",
"dontlike_desc": "它不是您想看见的内容",
"forward": "是的,将此次举报转发至 {0}",
"forward_question": "您是否希望将此次举报的匿名副本也发送给该服务器?",
"further_actions": {
"limit": {
"description": "以下是您控制所见内容的选项:",
"title": "不想看到这个?"
},
"report": {
"description": "您可以在我们审核期间执行以下操作:",
"title": "感谢您的举报,我们将调查此事"
}
},
"limiting": "限制 {0} 中",
"mute_desc": "您将不再看到来自此用户的任何帖文。他们仍然可以关注您并看到您的帖子。他们不会知道自己已被屏蔽。",
"other": "其他问题",
"other_desc": "该问题不属于以上分类",
"reporting": "举报 {0} 中",
"select_many": "选择所有适用的选项:",
"select_one": "选择最匹配的一项:",
"select_posts": "是否存在帖文来证实此次举报?",
"select_posts_other": "是否存在其他帖文来证实此次举报?",
"spam": "这是垃圾信息",
"spam_desc": "恶意链接,虚假信息,或灌水回复",
"submit": "提交举报",
"unfollow_desc": "您将不再在您的主页动态看到来自此用户的任何帖子。但是您仍可能在其他地方看见他们的帖文。",
"violation": "违反了一条或多条服务器规则",
"whats_wrong_account": "告诉我们这个账号存在什么问题",
"whats_wrong_post": "告诉我们这条帖文存在什么问题"
},
"search": {
"search_desc": "搜索用户或话题标签",
"search_empty": "无法找到符合这些搜索词的任何内容"
@ -432,10 +492,11 @@
"notifications_settings": "通知",
"preferences": {
"enable_autoplay": "开启自动播放",
"enable_data_saving": "启用数据保存",
"enable_data_saving_description": "通过阻止附件自动加载来保存数据。",
"enable_data_saving": "启用数据流量节省",
"enable_data_saving_description": "通过阻止附件自动加载来节省数据流量。",
"enable_pinch_to_zoom": "启用双指缩放功能",
"github_cards": "GitHub 卡片",
"github_cards_description": "在一个 GitHub 链接被发布后会显示一个可访问的HTML卡片同时会使用社交图谱来替换掉社交形象",
"grayscale_mode": "灰色模式",
"hide_account_hover_card": "隐藏用户悬浮卡",
"hide_alt_indi_on_posts": "隐藏帖文上的描述按钮",
@ -449,9 +510,14 @@
"hide_username_emojis_description": "隐藏时间线上用户的表情符号。表情符号仍然会在用户个人资料中展示。",
"label": "首选项",
"title": "实验功能",
"use_star_favorite_icon": "使用星形喜欢图标",
"user_picker": "用户选择器",
"user_picker_description": "在左下角展示所有已登录的用户头像用于快速切换账号。",
"virtual_scroll": "虚拟滚动",
"wellbeing": "社交偏好"
"virtual_scroll_description": "在时间线上使用虚拟列表可以更加高效地渲染大量列表项。",
"wellbeing": "社交偏好",
"zen_mode": "禅模式",
"zen_mode_description": "直到鼠标悬浮在侧边栏之前隐藏它们。同样也会在时间线上隐藏一些元素。"
},
"profile": {
"appearance": {
@ -495,6 +561,10 @@
"uploading": "上传中..."
},
"status": {
"account": {
"suspended_message": "当前用户状态已被冻结",
"suspended_show": "仍然展示文本?"
},
"boosted_by": "被转发",
"edited": "在 {0} 编辑了",
"favourited_by": "被喜欢",
@ -516,6 +586,7 @@
"replying_to": "回复{0}",
"show_full_thread": "显示完整贴文串",
"someone": "某人",
"spoiler_media_hidden": "隐藏的媒体内容",
"spoiler_show_less": "隐藏",
"spoiler_show_more": "显示更多",
"thread": "帖文串",

Wyświetl plik

@ -242,6 +242,9 @@ export default defineNuxtConfig({
'style-src': ['\'self\'', '\'unsafe-inline\''],
'upgrade-insecure-requests': true,
},
permissionsPolicy: {
fullscreen: ['\'self\'', 'https:', 'http:'],
},
},
rateLimiter: false,
},

Wyświetl plik

@ -22,13 +22,27 @@ const status = computed(() => {
</div>
</template>
<div p6>
<label space-y-2>
<span block font-medium>{{ $t('settings.language.display_language') }}</span>
<span block>
{{ status }}
</span>
<div space-y-2>
<h2 py2 font-bold text-xl flex="~ gap-1" items-center>
{{ $t('settings.language.display_language') }}
</h2>
<div>{{ status }}</div>
<SettingsLanguage select-settings />
</label>
</div>
<div mt4>
<h2 font-bold text-xl flex="~ gap-1" items-center>
{{ $t('settings.language.post_language') }}
</h2>
<SettingsItem
v-if="currentUser"
command large
icon="i-ri:quill-pen-line"
:text="$t('settings.language.post_language')"
:description="$t('settings.account_settings.description')"
:to="`https://${currentUser!.server}/settings/preferences/other`"
external target="_blank"
/>
</div>
<h2 py4 mt2 font-bold text-xl flex="~ gap-1" items-center>
{{ $t('settings.language.translations.heading') }}
</h2>

Wyświetl plik

@ -57,6 +57,7 @@ const { form, reset, submitter, isDirty, isError } = useForm({
})
const isCanSubmit = computed(() => !isError.value && isDirty.value)
const failedMessages = $ref<string[]>([])
const { submit, submitting } = submitter(async ({ dirtyFields }) => {
if (!isCanSubmit.value)
@ -67,8 +68,8 @@ const { submit, submitting } = submitter(async ({ dirtyFields }) => {
.catch((error: Error) => ({ error }))
if ('error' in res) {
// TODO: Show error message
console.error('Error(updateCredentials):', res.error)
console.error(res.error)
failedMessages.push(res.error.message)
return
}
@ -200,6 +201,7 @@ onReactivated(refreshInfo)
</button>
<button
v-if="failedMessages.length === 0"
type="submit"
btn-solid rounded-full text-sm
flex gap-x-2 items-center
@ -211,7 +213,42 @@ onReactivated(refreshInfo)
<span v-else aria-hidden="true" block i-ri:save-line />
{{ $t('action.save') }}
</button>
<button
v-else
type="submit"
btn-danger rounded-full text-sm
flex gap-x-2 items-center
>
<span
aria-hidden="true" block i-carbon:face-dizzy-filled
/>
<span>{{ $t('state.save_failed') }}</span>
</button>
</div>
<CommonErrorMessage v-if="failedMessages.length > 0" described-by="save-failed">
<header id="save-failed" flex justify-between>
<div flex items-center gap-x-2 font-bold>
<div aria-hidden="true" i-ri:error-warning-fill />
<p>{{ $t('state.save_failed') }}</p>
</div>
<CommonTooltip placement="bottom" :content="$t('action.clear_save_failed')">
<button
flex rounded-4 p1 hover:bg-active cursor-pointer transition-100 :aria-label="$t('action.clear_save_failed')"
@click="failedMessages = []"
>
<span aria-hidden="true" w="1.75em" h="1.75em" i-ri:close-line />
</button>
</CommonTooltip>
</header>
<ol ps-2 sm:ps-1>
<li v-for="(error, i) in failedMessages" :key="i" flex="~ col sm:row" gap-y-1 sm:gap-x-2>
<strong>{{ i + 1 }}.</strong>
<span>{{ error }}</span>
</li>
</ol>
</CommonErrorMessage>
</div>
</form>
</MainContent>

Wyświetl plik

@ -165,7 +165,7 @@ em-emoji-picker {
html,
body,
#__nuxt {
height: 100vh;
min-height: 100vh;
margin: 0;
padding: 0;
}