commit: a7aafd077544314ff9c12eaf81a0bb4ea7f473bf
parent 018f83b9979bde13487b589a6b7eaed395a605e8
Author: Kian-ting Tan <chenjt30@gmail.com>
Date: Tue, 20 Jun 2023 14:10:51 +0000
Merge branch 'main' into 'develop'
Main
See merge request yoxem/pleroma-fe!1
Diffstat:
3 files changed, 1256 insertions(+), 1 deletion(-)
diff --git a/src/i18n/languages.js b/src/i18n/languages.js
@@ -1,4 +1,3 @@
-
const languages = [
'ar',
'ca',
@@ -18,6 +17,7 @@ const languages = [
'ja',
'ja_easy',
'ko',
+ 'nan',
'nb',
'nl',
'oc',
diff --git a/src/i18n/nan.json b/src/i18n/nan.json
@@ -0,0 +1,1253 @@
+{
+ "about": {
+ "mrf": {
+ "federation": "聯邦",
+ "keyword": {
+ "keyword_policies": "關鍵字政策",
+ "ftl_removal": "Tuì「知影 ê 網路」時間線除掉。",
+ "reject": "拒絕",
+ "replace": "取代",
+ "is_replaced_by": "→"
+ },
+ "mrf_policies": "啟用 ê MRF 政策",
+ "mrf_policies_desc": "MRF 政策操作本站 ê 對外通信行為。以下ê政策啟用 ah:",
+ "simple": {
+ "simple_policies": "站臺特有 ê 政策",
+ "instance": "站",
+ "reason": "理由",
+ "not_applicable": "N/A",
+ "accept": "接受",
+ "accept_desc": "本站干焦接受下跤 ê 站 ê 短 phue:",
+ "reject": "拒絕",
+ "reject_desc": "本站 buē 接受 tuì 以下 ê 站 ê 短 phue:",
+ "quarantine": "隔離",
+ "quarantine_desc": "針對下跤 ê 站,本站干焦送出公開ê PO文:",
+ "ftl_removal": "Tuì「知影 ê 網路」時間線thâi掉",
+ "ftl_removal_desc": "本站buē 佇「知影 ê 網路」刊下跤 ê 站 ê PO文:",
+ "media_removal": "Thâi除媒體",
+ "media_removal_desc": "本站 kā 下跤 ê 站臺送 ê PO文 ê 媒體 lóng thâi 除:",
+ "media_nsfw": "媒體 lóng 標做「敏感內容」",
+ "media_nsfw_desc": "本站 kā 下跤 ê 站 ê 媒體,lóng 標做敏感內容:"
+ }
+ },
+ "staff": "工作人員"
+ },
+ "announcements": {
+ "page_header": "公告",
+ "title": "公告",
+ "mark_as_read_action": "標做有讀",
+ "post_form_header": "貼公告",
+ "post_placeholder": "佇 tsia 拍你 ê 公告……",
+ "post_action": "貼",
+ "post_error": "錯誤:{error}",
+ "close_error": "關",
+ "delete_action": "Thâi",
+ "start_time_prompt": "開始時間: ",
+ "end_time_prompt": "結束時間:",
+ "all_day_prompt": "Tse 是 kui 工 ê 事件",
+ "published_time_display": "公告佇 {time}",
+ "start_time_display": "有效 tuì:{time}",
+ "end_time_display": "中止佇:{time}",
+ "edit_action": "編輯",
+ "submit_edit_action": "送出",
+ "cancel_edit_action": "取消",
+ "inactive_message": "這个公告 tsit-má 無效力。"
+ },
+ "shoutbox": {
+ "title": "留話枋"
+ },
+ "domain_mute_card": {
+ "mute": "予恬去",
+ "mute_progress": "Teh 予恬……",
+ "unmute": "予有聲",
+ "unmute_progress": "Teh 予有聲……"
+ },
+ "exporter": {
+ "export": "匯出",
+ "processing": "Teh 處理,較停仔指示你下載檔案……"
+ },
+ "features_panel": {
+ "shout": "留話枋",
+ "pleroma_chat_messages": "Pleroma 開講",
+ "gopher": "Gopher",
+ "media_proxy": "媒體代理伺侯器",
+ "scope_options": "公開範圍選項",
+ "text_limit": "字數限制",
+ "title": "有效 ê 功能",
+ "who_to_follow": "啥儂通綴",
+ "upload_limit": "檔案 sài-suh 限制"
+ },
+ "finder": {
+ "error_fetching_user": "Tshuē 用者 ê 時起錯誤",
+ "find_user": "Tshuē 用者"
+ },
+ "general": {
+ "apply": "應用",
+ "submit": "送出",
+ "more": "Koh 較 tsē",
+ "loading": "Leh 載入……",
+ "generic_error": "起錯誤 ah",
+ "generic_error_message": "起錯誤:{0}",
+ "error_retry": "請 koh 試一 kái",
+ "retry": "Koh 試",
+ "optional": "非必要",
+ "show_more": "展示較 tsē",
+ "show_less": "展示較少",
+ "never_show_again": "Mài koh 展示",
+ "dismiss": "無視",
+ "cancel": "取消",
+ "disable": "無愛用",
+ "enable": "啟用",
+ "confirm": "確認",
+ "verify": "驗證",
+ "close": "關掉",
+ "undo": "復原",
+ "yes": "是",
+ "no": "毋是",
+ "peek": "先看 māi",
+ "scroll_to_top": "捲 kàu 頂懸",
+ "role": {
+ "admin": "行政員",
+ "moderator": "管理員"
+ },
+ "unpin": "無愛 kā 釘",
+ "pin": "Kā釘起來",
+ "flash_content": "Ji̍h tsia,用 Ruffle(iáu teh 試驗,可能 buē 紡)看 Flash ê 內容。",
+ "flash_sepcurity": "注意 tse 可能有危險,因為 Flash 內容猶原是任意 ê 程式碼。",
+ "flash_fail": "載入 flash 內容失敗,詳細會當看控制臺。",
+ "scope_in_timeline": {
+ "direct": "私人 phue",
+ "private": "干焦 hōo 綴 lí ê 看",
+ "public": "公開佇公共時間線",
+ "unlisted": "無愛公開佇公共時間線"
+ }
+ },
+ "image_cropper": {
+ "crop_picture": "裁相片",
+ "save": "儲存",
+ "save_without_cropping": "無裁就儲存",
+ "cancel": "取消"
+ },
+ "importer": {
+ "submit": "送出",
+ "success": "匯入成功。",
+ "error": "佇匯入 ê 時起錯誤。"
+ },
+ "login": {
+ "login": "登入",
+ "description": "用 OAuth 登入",
+ "logout": "登出",
+ "logout_confirm_title": "登出確認",
+ "logout_confirm": "Lí 敢真正 beh 登出?",
+ "logout_confirm_accept_button": "登出",
+ "logout_confirm_cancel_button": "mài 登出",
+ "password": "密碼",
+ "placeholder": "例:lain",
+ "register": "註冊",
+ "username": "用者 ê 名",
+ "hint": "登入,參與討論",
+ "authentication_code": "認證碼",
+ "enter_recovery_code": "輸入恢復碼",
+ "enter_two_factor_code": "輸入兩階段認證碼",
+ "recovery_code": "恢復碼",
+ "heading": {
+ "totp": "兩階段認證",
+ "recovery": "兩階段恢復"
+ }
+ },
+ "media_modal": {
+ "previous": "頂一 ê",
+ "next": "後一个",
+ "counter": "{current} / {total}",
+ "hide": "關掉媒體瀏覽"
+ },
+ "nav": {
+ "about": "有關……",
+ "administration": "管理",
+ "back": "轉去",
+ "friend_requests": "跟綴請求",
+ "mentions": "The̍h起",
+ "interactions": "互動",
+ "dms": "私人 phue",
+ "public_tl": "公共時間線",
+ "timeline": "時間線",
+ "home_timeline": "厝 ê 時間線",
+ "twkn": "知影 ê 網路",
+ "bookmarks": "冊籤",
+ "user_search": "Tshuē 用者",
+ "search": "tshuē",
+ "search_close": "關掉 tshiau-tshuē liâu",
+ "who_to_follow": "Siáng 會當綴?",
+ "preferences": "個人 ê 設定",
+ "timelines": "時間流",
+ "chats": "開講",
+ "lists": "列單",
+ "edit_nav_mobile": "自訂導覽條",
+ "edit_pinned": "編輯釘起來 ê 項目",
+ "edit_finish": "編輯 suah",
+ "mobile_sidebar": "切換行動版 ê 邊 á liâu",
+ "mobile_notifications": "拍開通知",
+ "mobile_notifications": "拍開通知(有無讀ê)",
+ "mobile_notifications_close": "關掉通知",
+ "announcements": "公告"
+ },
+ "notifications": {
+ "broken_favorite": "狀態毋知影,leh tshiau-tshuē……",
+ "error": "佇取得通知 ê 時起錯誤:{0}",
+ "favorited_you": "kah 意 lí ê 狀態",
+ "followed_you": "綴 lí",
+ "follow_request": "想 beh 綴 lí",
+ "load_older": "載入 khah 早 ê 通知",
+ "notifications": "通知",
+ "read": "讀!",
+ "repeated_you": "轉送 lí ê 狀態",
+ "no_more_notifications": "無別 ê 通知",
+ "migrated_to": "移民到",
+ "reacted_with": "顯出{0} ê 反應",
+ "submitted_report": "送出檢舉",
+ "poll_ended": "投票結束"
+ },
+ "polls": {
+ "add_poll": "開投票",
+ "add_option": "加選項",
+ "option": "選項",
+ "votes": "票",
+ "people_voted_count": "{count} 位有投",
+ "votes_count": "{count} 票",
+ "vote": "投票",
+ "type": "投票 ê 形式",
+ "single_choice": "孤選",
+ "multiple_choices": "Tsē 選",
+ "expiry": "投票期限",
+ "expires_in": "投票 tī {0} 以後結束",
+ "expired": "投票佇 {0} 以前結束",
+ "not_enough_options": "投票 ê 選項傷少。"
+ },
+ "emoji": {
+ "stickers": "貼圖",
+ "emoji": "繪文字",
+ "keep_open": "Hōo 揀選仔開 leh",
+ "search_emoji": "Tshuē 繪文字",
+ "add_emoji": "插繪文字",
+ "custom": "定製 ê 繪文字",
+ "unpacked": "拍開 ê 繪文字",
+ "unicode": "Unicode 繪文字",
+ "unicode_groups": {
+ "activities": "活動",
+ "animals-and-nature": "動物 kap 自然",
+ "flags": "旗 á",
+ "food-and-drink": "食物 kap 飲料",
+ "objects": "物體",
+ "people-and-body": "Lâng kap 身軀",
+ "smileys-and-emotion": "笑面 kap 情緒",
+ "symbols": "符號",
+ "travel-and-places": "旅遊 kap 所在"
+ },
+ "load_all_hint": "載入頭前 {saneAmount} ê 繪文字,規个攏載入效能可能 ē khah 食力。",
+ "load_all": "Kā {emojiAmount} ê 繪文字攏載入",
+ "regional_indicator": "地區指引 {letter}"
+ },
+ "errors": {
+ "storage_unavailable": "Pleroma buē-tàng the̍h 著瀏覽器儲存 ê。Lí ê 登入狀態抑是局部設定 buē 儲存,mā 凡勢 tú 著意料外 ê 問題。拍開 cookie 看覓。"
+ },
+ "interactions": {
+ "favs_repeats": "轉送 kap kah 意",
+ "follows": "最近綴 lí ê",
+ "emoji_reactions": "繪文字 ê 回應",
+ "reports": "檢舉",
+ "moves": "用者 ê 移民",
+ "load_older": "載入 koh khah 早 ê 互動"
+ },
+ "post_status": {
+ "edit_status": "編輯狀態",
+ "new_status": "PO 新 ê 狀態",
+ "account_not_locked_warning": "Lín 口座毋是 {0} ê。見 nā 有 lâng 綴--lí,ē-tàng 看著 lí ê 限定跟綴者 ê PO 文。.",
+ "account_not_locked_warning_link": "鎖起來 ê 口座",
+ "attachments_sensitive": "Kā 附件標做敏感內容。",
+ "media_description": "媒體說明",
+ "content_type": {
+ "text/plain": "純 ê 文字",
+ "text/html": "HTML",
+ "text/markdown": "Markdown",
+ "text/bbcode": "BBCode"
+ },
+ "content_type_selection": "貼 ê 形式",
+ "content_warning": "主旨(毋是必要)",
+ "default": "Tú 正 kàu 高雄 ah。",
+ "direct_warning_to_all": "Tsit ê PO 文通 hōo 逐 ê 提起 ê 用者看見。",
+ "direct_warning_to_first_only": "Tsit ê PO 文,kan-ta 短信 tú 開始提起 ê 用者,tsiah 通看見。",
+ "edit_remote_warning": "別 ê 站臺可能無支援編輯,無法度收著 PO 文上新 ê 版本。",
+ "edit_unsupported_warning": "Pleroma 無支持編輯 the̍h 起 hām 投票。",
+ "posting": "PO 文",
+ "post": "PO",
+ "preview": "Sing 看覓",
+ "preview_empty": "空 ê",
+ "empty_status_error": "無法度 PO 無檔案 koh 空 ê 狀態。",
+ "media_description_error": "更新媒體失敗,請 koh 試一 kái。",
+ "scope_notice": {
+ "public": "Tsit ê PO 文通予逐 ê 儂看著。",
+ "private": "Tsit ê PO 文 kan-ta 予綴 lí ê 看著。",
+ "unlisted": "Tsit ê PO 文 buē 公開 tī 公共時間線 kap 知影 ê 網路。"
+ },
+ "scope_notice_dismiss": "關掉 tsit ê 通知",
+ "scope": {
+ "direct": "私人 phue - PO 文干焦予提起 ê 用者看著",
+ "private": "限定綴 ê 儂 - PO 文干焦予綴 lí ê 儂看著",
+ "public": "公開 - PO kàu 公開時間線",
+ "unlisted": "Mài 列出來 - Mài PO tī 公開時間線。"
+ }
+ },
+ "registration": {
+ "bio_optional": "介紹(毋是必要)",
+ "email": "Email",
+ "email_optional": "Email(毋是必要)",
+ "fullname": "顯示 ê 名",
+ "password_confirm": "確認密碼",
+ "registration": "註冊",
+ "token": "邀請碼",
+ "captcha": "驗證碼",
+ "new_captcha": "Ji̍h 圖片,the̍h 新 ê 驗證碼",
+ "username_placeholder": "e.g. lain",
+ "fullname_placeholder": "e.g. 岩倉 Lain",
+ "bio_placeholder": "e.g.\nLí 好,我是 Lain。我是日本動畫 ê 角色,tuà tī 日本 ê 郊區。Lí 凡勢 bat tī Wired 知影我。",
+ "reason": "註冊 ê 理由",
+ "reason_placeholder": "本站靠人工審核註冊。\n介紹管理者 lí beh tī tsia 註冊 ê 理由。",
+ "register": "註冊",
+ "validations": {
+ "username_required": "著愛添",
+ "fullname_required": "著愛添",
+ "email_required": "著愛添",
+ "password_required": "著愛添",
+ "password_confirmation_required": "著愛添",
+ "password_confirmation_match": "密碼著相 kâng",
+ "birthday_required": "著愛添",
+ "birthday_min_age": "Buē-tàng tī {date} 以後"
+ },
+ "email_language": "Lí想 beh 服侍器用 siánn 物語言寄批 hōo lí?",
+ "birthday": "生日",
+ "birthday_optional": "生日(毋是必要):"
+ },
+ "remote_user_resolver": {
+ "remote_user_resolver": "別站用者 ê 解析器",
+ "searching_for": "Tshuē",
+ "error": "Tshuē無"
+ },
+ "report": {
+ "reporter": "檢舉人:",
+ "reported_user": "Beh 檢舉 ê 用者:",
+ "reported_statuses": "Beh 檢舉 ê 狀態:",
+ "notes": "Notes:",
+ "state": "State:",
+ "state_open": "開 ê",
+ "state_closed": "關 ê",
+ "state_resolved": "解決了 ê"
+ },
+ "selectable_list": {
+ "select_all": "攏總揀"
+ },
+ "settings": {
+ "add_language": "加一 ê 備用 ê 語言",
+ "remove_language": "Ni 掉",
+ "primary_language": "主要語言:",
+ "fallback_language": "備用語言 {index}:",
+ "app_name": "App ê 名",
+ "expert_mode": "進階模式",
+ "save": "保存改變",
+ "security": "安全",
+ "setting_changed": "設定 kap 預先 ê 有 tsing 差",
+ "setting_server_side": "This setting is tied to your profile and affects all sessions and clients",
+ "enter_current_password_to_confirm": "Enter your current password to confirm your identity",
+ "post_look_feel": "Posts Look & Feel",
+ "mention_links": "Mention links",
+ "mfa": {
+ "otp": "OTP",
+ "setup_otp": "Setup OTP",
+ "wait_pre_setup_otp": "presetting OTP",
+ "confirm_and_enable": "Confirm & enable OTP",
+ "title": "Two-factor Authentication",
+ "generate_new_recovery_codes": "Generate new recovery codes",
+ "warning_of_generate_new_codes": "When you generate new recovery codes, your old codes won’t work anymore.",
+ "recovery_codes": "Recovery codes.",
+ "waiting_a_recovery_codes": "Receiving backup codes…",
+ "recovery_codes_warning": "Write the codes down or save them somewhere secure - otherwise you won't see them again. If you lose access to your 2FA app and recovery codes you'll be locked out of your account.",
+ "authentication_methods": "Authentication methods",
+ "scan": {
+ "title": "Scan",
+ "desc": "Using your two-factor app, scan this QR code or enter text key:",
+ "secret_code": "Key"
+ },
+ "verify": {
+ "desc": "To enable two-factor authentication, enter the code from your two-factor app:"
+ }
+ },
+ "lists_navigation": "Show lists in navigation",
+ "allow_following_move": "Allow auto-follow when following account moves",
+ "attachmentRadius": "Attachments",
+ "attachments": "Attachments",
+ "avatar": "Avatar",
+ "avatarAltRadius": "Avatars (notifications)",
+ "avatarRadius": "Avatars",
+ "background": "Background",
+ "bio": "Bio",
+ "email_language": "Language for receiving emails from the server",
+ "block_export": "Block export",
+ "block_export_button": "Export your blocks to a csv file",
+ "block_import": "Block import",
+ "block_import_error": "Error importing blocks",
+ "blocks_imported": "Blocks imported! Processing them will take a while.",
+ "mute_export": "Mute export",
+ "mute_export_button": "Export your mutes to a csv file",
+ "mute_import": "Mute import",
+ "mute_import_error": "Error importing mutes",
+ "mutes_imported": "Mutes imported! Processing them will take a while.",
+ "import_mutes_from_a_csv_file": "Import mutes from a csv file",
+ "account_backup": "Account backup",
+ "account_backup_description": "This allows you to download an archive of your account information and your posts, but they cannot yet be imported into a Pleroma account.",
+ "account_backup_table_head": "Backup",
+ "download_backup": "Download",
+ "backup_not_ready": "This backup is not ready yet.",
+ "backup_running": "This backup is in progress, processed {number} record. | This backup is in progress, processed {number} records.",
+ "backup_failed": "This backup has failed.",
+ "remove_backup": "Remove",
+ "list_backups_error": "Error fetching backup list: {error}",
+ "add_backup": "Create a new backup",
+ "added_backup": "Added a new backup.",
+ "add_backup_error": "Error adding a new backup: {error}",
+ "blocks_tab": "Blocks",
+ "bot": "This is a bot account",
+ "btnRadius": "Buttons",
+ "cBlue": "Blue (Reply, follow)",
+ "cGreen": "Green (Retweet)",
+ "cOrange": "Orange (Favorite)",
+ "cRed": "Red (Cancel)",
+ "change_email": "Change email",
+ "change_email_error": "There was an issue changing your email.",
+ "changed_email": "Email changed successfully!",
+ "change_password": "Change password",
+ "change_password_error": "There was an issue changing your password.",
+ "changed_password": "Password changed successfully!",
+ "chatMessageRadius": "Chat message",
+ "collapse_subject": "Collapse posts with subjects",
+ "composing": "Composing",
+ "confirm_new_password": "Confirm new password",
+ "current_password": "Current password",
+ "confirm_dialogs": "Ask for confirmation when",
+ "confirm_dialogs_repeat": "repeating a status",
+ "confirm_dialogs_unfollow": "unfollowing a user",
+ "confirm_dialogs_block": "blocking a user",
+ "confirm_dialogs_mute": "muting a user",
+ "confirm_dialogs_delete": "deleting a status",
+ "confirm_dialogs_logout": "logging out",
+ "confirm_dialogs_approve_follow": "approving a follower",
+ "confirm_dialogs_deny_follow": "denying a follower",
+ "confirm_dialogs_remove_follower": "removing a follower",
+ "mutes_and_blocks": "Mutes and Blocks",
+ "data_import_export_tab": "Data import / export",
+ "default_vis": "Default visibility scope",
+ "delete_account": "Delete account",
+ "delete_account_description": "Permanently delete your data and deactivate your account.",
+ "delete_account_error": "There was an issue deleting your account. If this persists please contact your instance administrator.",
+ "delete_account_instructions": "Type your password in the input below to confirm account deletion.",
+ "account_alias": "Account aliases",
+ "account_alias_table_head": "Alias",
+ "list_aliases_error": "Error fetching aliases: {error}",
+ "hide_list_aliases_error_action": "Close",
+ "remove_alias": "Remove this alias",
+ "new_alias_target": "Add a new alias (e.g. {example})",
+ "added_alias": "Alias is added.",
+ "add_alias_error": "Error adding alias: {error}",
+ "move_account": "Move account",
+ "move_account_notes": "If you want to move the account somewhere else, you must go to your target account and add an alias pointing here.",
+ "move_account_target": "Target account (e.g. {example})",
+ "moved_account": "Account is moved.",
+ "move_account_error": "Error moving account: {error}",
+ "discoverable": "Allow discovery of this account in search results and other services",
+ "domain_mutes": "Domains",
+ "avatar_size_instruction": "The recommended minimum size for avatar images is 150x150 pixels.",
+ "pad_emoji": "Pad emoji with spaces when adding from picker",
+ "autocomplete_select_first": "Automatically select the first candidate when autocomplete results are available",
+ "emoji_reactions_on_timeline": "Show emoji reactions on timeline",
+ "emoji_reactions_scale": "Reactions scale factor",
+ "export_theme": "Save preset",
+ "filtering": "Filtering",
+ "wordfilter": "Wordfilter",
+ "filtering_explanation": "All statuses containing these words will be muted, one per line",
+ "word_filter_and_more": "Word filter and more...",
+ "follow_export": "Follow export",
+ "follow_export_button": "Export your follows to a csv file",
+ "follow_import": "Follow import",
+ "follow_import_error": "Error importing followers",
+ "follows_imported": "Follows imported! Processing them will take a while.",
+ "accent": "Accent",
+ "foreground": "Foreground",
+ "general": "General",
+ "hide_attachments_in_convo": "Hide attachments in conversations",
+ "hide_attachments_in_tl": "Hide attachments in timeline",
+ "hide_media_previews": "Hide media previews",
+ "hide_muted_posts": "Hide posts of muted users",
+ "mute_bot_posts": "Mute bot posts",
+ "hide_bot_indication": "Hide bot indication in posts",
+ "hide_all_muted_posts": "Hide muted posts",
+ "max_thumbnails": "Maximum amount of thumbnails per post (empty = no limit)",
+ "hide_isp": "Hide instance-specific panel",
+ "hide_shoutbox": "Hide instance shoutbox",
+ "right_sidebar": "Reverse order of columns",
+ "navbar_column_stretch": "Stretch navbar to columns width",
+ "always_show_post_button": "Always show floating New Post button",
+ "hide_wallpaper": "Hide instance wallpaper",
+ "preload_images": "Preload images",
+ "use_one_click_nsfw": "Open NSFW attachments with just one click",
+ "hide_post_stats": "Hide post statistics (e.g. the number of favorites)",
+ "hide_user_stats": "Hide user statistics (e.g. the number of followers)",
+ "hide_filtered_statuses": "Hide all filtered posts",
+ "hide_wordfiltered_statuses": "Hide word-filtered statuses",
+ "hide_muted_threads": "Hide muted threads",
+ "import_blocks_from_a_csv_file": "Import blocks from a csv file",
+ "import_followers_from_a_csv_file": "Import follows from a csv file",
+ "import_theme": "Load preset",
+ "inputRadius": "Input fields",
+ "checkboxRadius": "Checkboxes",
+ "instance_default": "(default: {value})",
+ "instance_default_simple": "(default)",
+ "interface": "Interface",
+ "interfaceLanguage": "Interface language",
+ "invalid_theme_imported": "The selected file is not a supported Pleroma theme. No changes to your theme were made.",
+ "limited_availability": "Unavailable in your browser",
+ "links": "Links",
+ "lock_account_description": "Restrict your account to approved followers only",
+ "loop_video": "Loop videos",
+ "loop_video_silent_only": "Loop only videos without sound (i.e. Mastodon's \"gifs\")",
+ "mutes_tab": "Mutes",
+ "play_videos_in_modal": "Play videos in a popup frame",
+ "url": "URL",
+ "preview": "Preview",
+ "file_export_import": {
+ "backup_restore": "Settings backup",
+ "backup_settings": "Backup settings to file",
+ "backup_settings_theme": "Backup settings and theme to file",
+ "restore_settings": "Restore settings from file",
+ "errors": {
+ "invalid_file": "The selected file is not a supported Pleroma settings backup. No changes were made.",
+ "file_too_new": "Incompatile major version: {fileMajor}, this PleromaFE (settings ver {feMajor}) is too old to handle it",
+ "file_too_old": "Incompatile major version: {fileMajor}, file version is too old and not supported (min. set. ver. {feMajor})",
+ "file_slightly_new": "File minor version is different, some settings might not load"
+ }
+ },
+ "profile_fields": {
+ "label": "Profile metadata",
+ "add_field": "Add field",
+ "name": "Label",
+ "value": "Content"
+ },
+ "birthday": {
+ "label": "Birthday",
+ "show_birthday": "Show my birthday"
+ },
+ "account_privacy": "Privacy",
+ "use_contain_fit": "Don't crop the attachment in thumbnails",
+ "name": "Name",
+ "name_bio": "Name & bio",
+ "new_email": "New email",
+ "new_password": "New password",
+ "posts": "Posts",
+ "user_profiles": "User Profiles",
+ "notification_visibility": "Types of notifications to show",
+ "notification_visibility_follows": "Follows",
+ "notification_visibility_likes": "Favorites",
+ "notification_visibility_mentions": "Mentions",
+ "notification_visibility_repeats": "Repeats",
+ "notification_visibility_moves": "User Migrates",
+ "notification_visibility_emoji_reactions": "Reactions",
+ "notification_visibility_polls": "Ends of polls you voted in",
+ "no_rich_text_description": "Strip rich text formatting from all posts",
+ "no_blocks": "No blocks",
+ "no_mutes": "No mutes",
+ "hide_favorites_description": "Don't show list of my favorites (people still get notified)",
+ "hide_follows_description": "Don't show who I'm following",
+ "hide_followers_description": "Don't show who's following me",
+ "hide_follows_count_description": "Don't show follow count",
+ "hide_followers_count_description": "Don't show follower count",
+ "show_admin_badge": "Show \"Admin\" badge in my profile",
+ "show_moderator_badge": "Show \"Moderator\" badge in my profile",
+ "nsfw_clickthrough": "Hide sensitive/NSFW media",
+ "oauth_tokens": "OAuth tokens",
+ "token": "Token",
+ "refresh_token": "Refresh token",
+ "valid_until": "Valid until",
+ "revoke_token": "Revoke",
+ "panelRadius": "Panels",
+ "pause_on_unfocused": "Pause when tab is not focused",
+ "presets": "Presets",
+ "profile_background": "Profile background",
+ "profile_banner": "Profile banner",
+ "profile_tab": "Profile",
+ "radii_help": "Set up interface edge rounding (in pixels)",
+ "replies_in_timeline": "Replies in timeline",
+ "reply_visibility_all": "Show all replies",
+ "reply_visibility_following": "Only show replies directed at me or users I'm following",
+ "reply_visibility_self": "Only show replies directed at me",
+ "reply_visibility_following_short": "Show replies to my follows",
+ "reply_visibility_self_short": "Show replies to self only",
+ "autohide_floating_post_button": "Automatically hide New Post button (mobile)",
+ "saving_err": "Error saving settings",
+ "saving_ok": "Settings saved",
+ "search_user_to_block": "Search whom you want to block",
+ "search_user_to_mute": "Search whom you want to mute",
+ "security_tab": "Security",
+ "scope_copy": "Copy scope when replying (DMs are always copied)",
+ "minimal_scopes_mode": "Minimize post scope selection options",
+ "set_new_avatar": "Set new avatar",
+ "set_new_profile_background": "Set new profile background",
+ "set_new_profile_banner": "Set new profile banner",
+ "reset_avatar": "Reset avatar",
+ "reset_profile_background": "Reset profile background",
+ "reset_profile_banner": "Reset profile banner",
+ "reset_avatar_confirm": "Do you really want to reset the avatar?",
+ "reset_banner_confirm": "Do you really want to reset the banner?",
+ "reset_background_confirm": "Do you really want to reset the background?",
+ "settings": "Settings",
+ "subject_input_always_show": "Always show subject field",
+ "subject_line_behavior": "Copy subject when replying",
+ "subject_line_email": "Like email: \"re: subject\"",
+ "subject_line_mastodon": "Like mastodon: copy as is",
+ "subject_line_noop": "Do not copy",
+ "conversation_display": "Conversation display style",
+ "conversation_display_tree": "Tree-style",
+ "conversation_display_tree_quick": "Tree view",
+ "disable_sticky_headers": "Don't stick column headers to top of the screen",
+ "show_scrollbars": "Show side column's scrollbars",
+ "third_column_mode": "When there's enough space, show third column containing",
+ "third_column_mode_none": "Don't show third column at all",
+ "third_column_mode_notifications": "Notifications column",
+ "third_column_mode_postform": "Main post form and navigation",
+ "columns": "Columns",
+ "column_sizes": "Column sizes",
+ "column_sizes_sidebar": "Sidebar",
+ "column_sizes_content": "Content",
+ "column_sizes_notifs": "Notifications",
+ "tree_advanced": "Allow more flexible navigation in tree view",
+ "tree_fade_ancestors": "Display ancestors of the current status in faint text",
+ "conversation_display_linear": "Linear-style",
+ "conversation_display_linear_quick": "Linear view",
+ "conversation_other_replies_button": "Show the \"other replies\" button",
+ "conversation_other_replies_button_below": "Below statuses",
+ "conversation_other_replies_button_inside": "Inside statuses",
+ "max_depth_in_thread": "Maximum number of levels in thread to display by default",
+ "post_status_content_type": "Post status content type",
+ "sensitive_by_default": "Mark posts as sensitive by default",
+ "stop_gifs": "Pause animated images until you hover on them",
+ "streaming": "Automatically show new posts when scrolled to the top",
+ "auto_update": "Show new posts automatically",
+ "user_mutes": "Users",
+ "useStreamingApi": "Receive posts and notifications real-time",
+ "use_websockets": "Use websockets (Realtime updates)",
+ "text": "Text",
+ "theme": "Theme",
+ "theme_help": "Use hex color codes (#rrggbb) to customize your color theme.",
+ "theme_help_v2_1": "You can also override certain component's colors and opacity by toggling the checkbox, use \"Clear all\" button to clear all overrides.",
+ "theme_help_v2_2": "Icons underneath some entries are background/text contrast indicators, hover over for detailed info. Please keep in mind that when using transparency contrast indicators show the worst possible case.",
+ "tooltipRadius": "Tooltips/alerts",
+ "type_domains_to_mute": "Search domains to mute",
+ "upload_a_photo": "Upload a photo",
+ "user_settings": "User Settings",
+ "values": {
+ "false": "no",
+ "true": "yes"
+ },
+ "virtual_scrolling": "Optimize timeline rendering",
+ "use_at_icon": "Display {'@'} symbol as an icon instead of text",
+ "mention_link_display": "Display mention links",
+ "mention_link_display_short": "always as short names (e.g. {'@'}foo)",
+ "mention_link_display_full_for_remote": "as full names only for remote users (e.g. {'@'}foo{'@'}example.org)",
+ "mention_link_display_full": "always as full names (e.g. {'@'}foo{'@'}example.org)",
+ "mention_link_use_tooltip": "Show user card when clicking mention links",
+ "mention_link_show_avatar": "Show user avatar beside the link",
+ "mention_link_show_avatar_quick": "Show user avatar next to mentions",
+ "mention_link_fade_domain": "Fade domains (e.g. {'@'}example.org in {'@'}foo{'@'}example.org)",
+ "mention_link_bolden_you": "Highlight mention of you when you are mentioned",
+ "user_popover_avatar_action": "Popover avatar click action",
+ "user_popover_avatar_action_zoom": "Zoom the avatar",
+ "user_popover_avatar_action_close": "Close the popover",
+ "user_popover_avatar_action_open": "Open profile",
+ "user_popover_avatar_overlay": "Show user popover over user avatar",
+ "fun": "Fun",
+ "greentext": "Meme arrows",
+ "show_yous": "Show (You)s",
+ "notifications": "Notifications",
+ "notification_setting_filters": "Filters",
+ "notification_setting_block_from_strangers": "Block notifications from users who you do not follow",
+ "notification_setting_privacy": "Privacy",
+ "notification_setting_hide_notification_contents": "Hide the sender and contents of push notifications",
+ "notification_mutes": "To stop receiving notifications from a specific user, use a mute.",
+ "notification_blocks": "Blocking a user stops all notifications as well as unsubscribes them.",
+ "enable_web_push_notifications": "Enable web push notifications",
+ "more_settings": "More settings",
+ "style": {
+ "switcher": {
+ "keep_color": "Keep colors",
+ "keep_shadows": "Keep shadows",
+ "keep_opacity": "Keep opacity",
+ "keep_roundness": "Keep roundness",
+ "keep_fonts": "Keep fonts",
+ "save_load_hint": "\"Keep\" options preserve currently set options when selecting or loading themes, it also stores said options when exporting a theme. When all checkboxes unset, exporting theme will save everything.",
+ "reset": "Reset",
+ "clear_all": "Clear all",
+ "clear_opacity": "Clear opacity",
+ "load_theme": "Load theme",
+ "keep_as_is": "Keep as is",
+ "use_snapshot": "Old version",
+ "use_source": "New version",
+ "help": {
+ "upgraded_from_v2": "PleromaFE has been upgraded, theme could look a little bit different than you remember.",
+ "v2_imported": "File you imported was made for older FE. We try to maximize compatibility but there still could be inconsistencies.",
+ "future_version_imported": "File you imported was made in newer version of FE.",
+ "older_version_imported": "File you imported was made in older version of FE.",
+ "snapshot_present": "Theme snapshot is loaded, so all values are overriden. You can load theme's actual data instead.",
+ "snapshot_missing": "No theme snapshot was in the file so it could look different than originally envisioned.",
+ "fe_upgraded": "PleromaFE's theme engine upgraded after version update.",
+ "fe_downgraded": "PleromaFE's version rolled back.",
+ "migration_snapshot_ok": "Just to be safe, theme snapshot loaded. You can try loading theme data.",
+ "migration_napshot_gone": "For whatever reason snapshot was missing, some stuff could look different than you remember.",
+ "snapshot_source_mismatch": "Versions conflict: most likely FE was rolled back and updated again, if you changed theme using older version of FE you most likely want to use old version, otherwise use new version."
+ }
+ },
+ "common": {
+ "color": "色彩",
+ "opacity": "無透明度",
+ "contrast": {
+ "hint": "Contrast ratio is {ratio}, it {level} {context}",
+ "level": {
+ "aa": "meets Level AA guideline (minimal)",
+ "aaa": "meets Level AAA guideline (recommended)",
+ "bad": "doesn't meet any accessibility guidelines"
+ },
+ "context": {
+ "18pt": "for large (18pt+) text",
+ "text": "for text"
+ }
+ }
+ },
+ "common_colors": {
+ "_tab_label": "Common",
+ "main": "Common colors",
+ "foreground_hint": "See \"Advanced\" tab for more detailed control",
+ "rgbo": "Icons, accents, badges"
+ },
+ "advanced_colors": {
+ "_tab_label": "Advanced",
+ "alert": "Alert background",
+ "alert_error": "Error",
+ "alert_warning": "Warning",
+ "alert_neutral": "Neutral",
+ "post": "Posts/User bios",
+ "badge": "Badge background",
+ "popover": "Tooltips, menus, popovers",
+ "badge_notification": "Notification",
+ "panel_header": "Panel header",
+ "top_bar": "Top bar",
+ "borders": "Borders",
+ "buttons": "Buttons",
+ "inputs": "Input fields",
+ "faint_text": "Faded text",
+ "underlay": "Underlay",
+ "wallpaper": "Wallpaper",
+ "poll": "Poll graph",
+ "icons": "Icons",
+ "highlight": "Highlighted elements",
+ "pressed": "Pressed",
+ "selectedPost": "Selected post",
+ "selectedMenu": "Selected menu item",
+ "disabled": "Disabled",
+ "toggled": "Toggled",
+ "tabs": "Tabs",
+ "chat": {
+ "incoming": "Incoming",
+ "outgoing": "Outgoing",
+ "border": "Border"
+ }
+ },
+ "radii": {
+ "_tab_label": "Roundness"
+ },
+ "shadows": {
+ "_tab_label": "Shadow and lighting",
+ "component": "Component",
+ "override": "Override",
+ "shadow_id": "Shadow #{value}",
+ "blur": "Blur",
+ "spread": "Spread",
+ "inset": "Inset",
+ "hintV3": "For shadows you can also use the {0} notation to use other color slot.",
+ "filter_hint": {
+ "always_drop_shadow": "Warning, this shadow always uses {0} when browser supports it.",
+ "drop_shadow_syntax": "{0} does not support {1} parameter and {2} keyword.",
+ "avatar_inset": "Please note that combining both inset and non-inset shadows on avatars might give unexpected results with transparent avatars.",
+ "spread_zero": "Shadows with spread > 0 will appear as if it was set to zero",
+ "inset_classic": "Inset shadows will be using {0}"
+ },
+ "components": {
+ "panel": "Panel",
+ "panelHeader": "Panel header",
+ "topBar": "Top bar",
+ "avatar": "User avatar (in profile view)",
+ "avatarStatus": "User avatar (in post display)",
+ "popup": "Popups and tooltips",
+ "button": "Button",
+ "buttonHover": "Button (hover)",
+ "buttonPressed": "Button (pressed)",
+ "buttonPressedHover": "Button (pressed+hover)",
+ "input": "Input field"
+ }
+ },
+ "fonts": {
+ "_tab_label": "Fonts",
+ "help": "Select font to use for elements of UI. For \"custom\" you have to enter exact font name as it appears in system.",
+ "components": {
+ "interface": "Interface",
+ "input": "Input fields",
+ "post": "Post text",
+ "postCode": "Monospaced text in a post (rich text)"
+ },
+ "family": "Font name",
+ "size": "Size (in px)",
+ "weight": "Weight (boldness)",
+ "custom": "Custom"
+ },
+ "preview": {
+ "header": "Preview",
+ "content": "Content",
+ "error": "Example error",
+ "button": "Button",
+ "text": "A bunch of more {0} and {1}",
+ "mono": "content",
+ "input": "Just landed in L.A.",
+ "faint_link": "helpful manual",
+ "fine_print": "Read our {0} to learn nothing useful!",
+ "header_faint": "This is fine",
+ "checkbox": "I have skimmed over terms and conditions",
+ "link": "a nice lil' link"
+ }
+ },
+ "version": {
+ "title": "Version",
+ "backend_version": "Backend version",
+ "frontend_version": "Frontend version"
+ },
+ "commit_value": "Save",
+ "commit_value_tooltip": "Value is not saved, press this button to commit your changes",
+ "reset_value": "Reset",
+ "reset_value_tooltip": "Reset draft",
+ "hard_reset_value": "Hard reset",
+ "hard_reset_value_tooltip": "Remove setting from storage, forcing use of default value"
+ },
+ "admin_dash": {
+ "window_title": "Administration",
+ "wip_notice": "This admin dashboard is experimental and WIP, {adminFeLink}.",
+ "old_ui_link": "old admin UI available here",
+ "reset_all": "Reset all",
+ "commit_all": "Save all",
+ "tabs": {
+ "nodb": "No DB Config",
+ "instance": "Instance",
+ "limits": "Limits",
+ "frontends": "Front-ends"
+ },
+ "nodb": {
+ "heading": "Database config is disabled",
+ "text": "You need to change backend config files so that {property} is set to {value}, see more in {documentation}.",
+ "documentation": "documentation",
+ "text2": "Most configuration options will be unavailable."
+ },
+ "captcha": {
+ "native": "Native",
+ "kocaptcha": "KoCaptcha"
+ },
+ "instance": {
+ "instance": "Instance information",
+ "registrations": "User sign-ups",
+ "captcha_header": "CAPTCHA",
+ "kocaptcha": "KoCaptcha settings",
+ "access": "Instance access",
+ "restrict": {
+ "header": "Restrict access for anonymous visitors",
+ "description": "Detailed setting for allowing/disallowing access to certain aspects of API. By default (indeterminate state) it will disallow if instance is not public, ticked checkbox means disallow access even if instance is public, unticked means allow access even if instance is private. Please note that unexpected behavior might happen if some settings are set, i.e. if profile access is disabled posts will show without profile information.",
+ "timelines": "Timelines access",
+ "profiles": "User profiles access",
+ "activities": "Statues/activities access"
+ }
+ },
+ "limits": {
+ "arbitrary_limits": "Arbitrary limits",
+ "posts": "Post limits",
+ "uploads": "Attachments limits",
+ "users": "User profile limits",
+ "profile_fields": "Profile fields limits",
+ "user_uploads": "Profile media limits"
+ },
+ "frontend": {
+ "repository": "Repository link",
+ "versions": "Available versions",
+ "build_url": "Build URL",
+ "reinstall": "Reinstall",
+ "is_default": "(Default)",
+ "is_default_custom": "(Default, version: {version})",
+ "install": "Install",
+ "install_version": "Install version {version}",
+ "more_install_options": "More install options",
+ "more_default_options": "More default setting options",
+ "set_default": "Set default",
+ "set_default_version": "Set version {version} as default",
+ "wip_notice": "Please note that this section is a WIP and lacks certain features as backend implementation of front-end management is incomplete.",
+ "default_frontend": "Default front-end",
+ "default_frontend_tip": "Default front-end will be shown to all users. Currently there's no way to for a user to select personal front-end. If you switch away from PleromaFE you'll most likely have to use old and buggy AdminFE to do instance configuration until we replace it.",
+ "default_frontend_tip2": "WIP: Since Pleroma backend doesn't properly list all installed frontends you'll have to enter name and reference manually. List below provides shortcuts to fill the values.",
+ "available_frontends": "Available for install"
+ },
+ "temp_overrides": {
+ ":pleroma": {
+ ":instance": {
+ ":public": {
+ "label": "Instance is public",
+ "description": "Disabling this will make all API accessible only for logged-in users, this will make Public and Federated timelines inaccessible to anonymous visitors."
+ },
+ ":limit_to_local_content": {
+ "label": "Limit search to local content",
+ "description": "Disables global network search for unauthenticated (default), all users or none"
+ },
+ ":description_limit": {
+ "label": "Limit",
+ "description": "Character limit for attachment descriptions"
+ },
+ ":background_image": {
+ "label": "Background image",
+ "description": "Background image (primarily used by PleromaFE)"
+ }
+ }
+ }
+ }
+ },
+ "time": {
+ "unit": {
+ "days": "{0} day | {0} days",
+ "days_short": "{0}d",
+ "hours": "{0} hour | {0} hours",
+ "hours_short": "{0}h",
+ "minutes": "{0} minute | {0} minutes",
+ "minutes_short": "{0}min",
+ "months": "{0} month | {0} months",
+ "months_short": "{0}mo",
+ "seconds": "{0} second | {0} seconds",
+ "seconds_short": "{0}s",
+ "weeks": "{0} week | {0} weeks",
+ "weeks_short": "{0}w",
+ "years": "{0} year | {0} years",
+ "years_short": "{0}y"
+ },
+ "in_future": "in {0}",
+ "in_past": "{0} ago",
+ "now": "just now",
+ "now_short": "now"
+ },
+ "timeline": {
+ "collapse": "Collapse",
+ "conversation": "Conversation",
+ "error": "Error fetching timeline: {0}",
+ "load_older": "Load older statuses",
+ "no_retweet_hint": "Post is marked as followers-only or direct and cannot be repeated",
+ "repeated": "repeated",
+ "show_new": "Show new",
+ "reload": "Reload",
+ "up_to_date": "Up-to-date",
+ "no_more_statuses": "No more statuses",
+ "no_statuses": "No statuses",
+ "socket_reconnected": "Realtime connection established",
+ "socket_broke": "Realtime connection lost: CloseEvent code {0}",
+ "quick_view_settings": "Quick view settings",
+ "quick_filter_settings": "Quick filter settings"
+ },
+ "status": {
+ "favorites": "Favorites",
+ "repeats": "Repeats",
+ "repeat_confirm": "Do you really want to repeat this status?",
+ "repeat_confirm_title": "Repeat confirmation",
+ "repeat_confirm_accept_button": "Repeat",
+ "repeat_confirm_cancel_button": "Do not repeat",
+ "delete": "Delete status",
+ "delete_error": "Error deleting status: {0}",
+ "edit": "Edit status",
+ "edited_at": "(last edited {time})",
+ "pin": "Pin on profile",
+ "unpin": "Unpin from profile",
+ "pinned": "Pinned",
+ "bookmark": "Bookmark",
+ "unbookmark": "Unbookmark",
+ "delete_confirm": "Do you really want to delete this status?",
+ "delete_confirm_title": "Delete confirmation",
+ "delete_confirm_accept_button": "Delete",
+ "delete_confirm_cancel_button": "Keep",
+ "reply_to": "Reply to",
+ "mentions": "Mentions",
+ "replies_list": "Replies:",
+ "replies_list_with_others": "Replies (+{numReplies} other): | Replies (+{numReplies} others):",
+ "mute_conversation": "Mute conversation",
+ "unmute_conversation": "Unmute conversation",
+ "status_unavailable": "Status unavailable",
+ "copy_link": "Copy link to status",
+ "external_source": "External source",
+ "thread_muted": "Thread muted",
+ "thread_muted_and_words": ", has words:",
+ "show_full_subject": "Show full subject",
+ "hide_full_subject": "Hide full subject",
+ "show_content": "Show content",
+ "hide_content": "Hide content",
+ "status_deleted": "This post was deleted",
+ "nsfw": "NSFW",
+ "expand": "Expand",
+ "you": "(You)",
+ "plus_more": "+{number} more",
+ "many_attachments": "Post has {number} attachment(s)",
+ "collapse_attachments": "Collapse attachments",
+ "show_all_attachments": "Show all attachments",
+ "show_attachment_in_modal": "Show in media modal",
+ "show_attachment_description": "Preview description (open attachment for full description)",
+ "hide_attachment": "Hide attachment",
+ "remove_attachment": "Remove attachment",
+ "attachment_stop_flash": "Stop Flash player",
+ "move_up": "Shift attachment left",
+ "move_down": "Shift attachment right",
+ "open_gallery": "Open gallery",
+ "thread_hide": "Hide this thread",
+ "thread_show": "Show this thread",
+ "thread_show_full": "Show everything under this thread ({numStatus} status in total, max depth {depth}) | Show everything under this thread ({numStatus} statuses in total, max depth {depth})",
+ "thread_show_full_with_icon": "{icon} {text}",
+ "thread_follow": "See the remaining part of this thread ({numStatus} status in total) | See the remaining part of this thread ({numStatus} statuses in total)",
+ "thread_follow_with_icon": "{icon} {text}",
+ "ancestor_follow": "See {numReplies} other reply under this status | See {numReplies} other replies under this status",
+ "ancestor_follow_with_icon": "{icon} {text}",
+ "show_all_conversation_with_icon": "{icon} {text}",
+ "show_all_conversation": "Show full conversation ({numStatus} other status) | Show full conversation ({numStatus} other statuses)",
+ "show_only_conversation_under_this": "Only show replies to this status",
+ "status_history": "Status history",
+ "reaction_count_label": "{num} person reacted | {num} people reacted"
+ },
+ "user_card": {
+ "approve": "Approve",
+ "approve_confirm_title": "Approve confirmation",
+ "approve_confirm_accept_button": "Approve",
+ "approve_confirm_cancel_button": "Do not approve",
+ "approve_confirm": "Do you want to approve {user}'s follow request?",
+ "block": "Block",
+ "blocked": "Blocked!",
+ "block_confirm_title": "Block confirmation",
+ "block_confirm": "Do you really want to block {user}?",
+ "block_confirm_accept_button": "Block",
+ "block_confirm_cancel_button": "Do not block",
+ "deactivated": "Deactivated",
+ "deny": "Deny",
+ "deny_confirm_title": "Deny confirmation",
+ "deny_confirm_accept_button": "Deny",
+ "deny_confirm_cancel_button": "Do not deny",
+ "deny_confirm": "Do you want to deny {user}'s follow request?",
+ "edit_profile": "Edit profile",
+ "favorites": "Favorites",
+ "follow": "Follow",
+ "follow_cancel": "Cancel request",
+ "follow_sent": "Request sent!",
+ "follow_progress": "Requesting…",
+ "follow_unfollow": "Unfollow",
+ "unfollow_confirm_title": "Unfollow confirmation",
+ "unfollow_confirm": "Do you really want to unfollow {user}?",
+ "unfollow_confirm_accept_button": "Unfollow",
+ "unfollow_confirm_cancel_button": "Do not unfollow",
+ "followees": "Following",
+ "followers": "Followers",
+ "following": "Following!",
+ "follows_you": "Follows you!",
+ "hidden": "Hidden",
+ "its_you": "It's you!",
+ "media": "Media",
+ "mention": "Mention",
+ "message": "Message",
+ "mute": "Mute",
+ "muted": "Muted",
+ "mute_confirm_title": "Mute confirmation",
+ "mute_confirm": "Do you really want to mute {user}?",
+ "mute_confirm_accept_button": "Mute",
+ "mute_confirm_cancel_button": "Do not mute",
+ "mute_duration_prompt": "Mute this user for (0 for indefinite time):",
+ "per_day": "per day",
+ "remote_follow": "Remote follow",
+ "remove_follower": "Remove follower",
+ "remove_follower_confirm_title": "Remove follower confirmation",
+ "remove_follower_confirm_accept_button": "Remove",
+ "remove_follower_confirm_cancel_button": "Keep",
+ "remove_follower_confirm": "Do you really want to remove {user} from your followers?",
+ "report": "Report",
+ "statuses": "Statuses",
+ "subscribe": "Subscribe",
+ "unsubscribe": "Unsubscribe",
+ "unblock": "Unblock",
+ "unblock_progress": "Unblocking…",
+ "block_progress": "Blocking…",
+ "unmute": "Unmute",
+ "unmute_progress": "Unmuting…",
+ "mute_progress": "Muting…",
+ "hide_repeats": "Hide repeats",
+ "show_repeats": "Show repeats",
+ "bot": "Bot",
+ "birthday": "Born {birthday}",
+ "admin_menu": {
+ "moderation": "Moderation",
+ "grant_admin": "Grant Admin",
+ "revoke_admin": "Revoke Admin",
+ "grant_moderator": "Grant Moderator",
+ "revoke_moderator": "Revoke Moderator",
+ "activate_account": "Activate account",
+ "deactivate_account": "Deactivate account",
+ "delete_account": "Delete account",
+ "force_nsfw": "Mark all posts as NSFW",
+ "strip_media": "Remove media from posts",
+ "force_unlisted": "Force posts to be unlisted",
+ "sandbox": "Force posts to be followers-only",
+ "disable_remote_subscription": "Disallow following user from remote instances",
+ "disable_any_subscription": "Disallow following user at all",
+ "quarantine": "Disallow user posts from federating",
+ "delete_user": "Delete user",
+ "delete_user_data_and_deactivate_confirmation": "This will permanently delete the data from this account and deactivate it. Are you absolutely sure?"
+ },
+ "highlight": {
+ "disabled": "No highlight",
+ "solid": "Solid bg",
+ "striped": "Striped bg",
+ "side": "Side stripe"
+ },
+ "note": "Note",
+ "note_blank": "(None)",
+ "edit_note": "Edit note",
+ "edit_note_apply": "Apply",
+ "edit_note_cancel": "Cancel"
+ },
+ "user_profile": {
+ "timeline_title": "User timeline",
+ "profile_does_not_exist": "Sorry, this profile does not exist.",
+ "profile_loading_error": "Sorry, there was an error loading this profile."
+ },
+ "user_reporting": {
+ "title": "Reporting {0}",
+ "add_comment_description": "The report will be sent to your instance moderators. You can provide an explanation of why you are reporting this account below:",
+ "additional_comments": "Additional comments",
+ "forward_description": "The account is from another server. Send a copy of the report there as well?",
+ "forward_to": "Forward to {0}",
+ "submit": "Submit",
+ "generic_error": "An error occurred while processing your request."
+ },
+ "who_to_follow": {
+ "more": "More",
+ "who_to_follow": "Who to follow"
+ },
+ "tool_tip": {
+ "media_upload": "Upload media",
+ "repeat": "Repeat",
+ "reply": "Reply",
+ "favorite": "Favorite",
+ "add_reaction": "Add Reaction",
+ "user_settings": "User Settings",
+ "accept_follow_request": "Accept follow request",
+ "reject_follow_request": "Reject follow request",
+ "bookmark": "Bookmark",
+ "toggle_expand": "Expand or collapse notification to show post in full",
+ "toggle_mute": "Expand or collapse notification to reveal muted content",
+ "autocomplete_available": "{number} result is available. Use up and down keys to navigate through them. | {number} results are available. Use up and down keys to navigate through them."
+ },
+ "upload": {
+ "error": {
+ "base": "上傳 ê 時失敗。",
+ "message": "傳 buē 起去:{0}",
+ "file_too_big": "檔案 sài-suh 傷大 [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",
+ "default": "Koh 試一 kái。"
+ },
+ "file_size_units": {
+ "B": "B",
+ "KiB": "KiB",
+ "MiB": "MiB",
+ "GiB": "GiB",
+ "TiB": "TiB"
+ }
+ },
+ "search": {
+ "people": "用戶",
+ "hashtags": "主題標籤",
+ "person_talking": "{count} ê leh 論",
+ "people_talking": "{count} ê leh 論",
+ "no_results": "無半 ê 結果",
+ "no_more_results": "無其他 ê 結果",
+ "load_more": "載入 koh 較 tsē 結果"
+ },
+ "password_reset": {
+ "forgot_password": "Buē 記得密碼?",
+ "password_reset": "重頭設密碼",
+ "instruction": "拍 lí ê email 地址 iah 是用者 ê 名。Guán 會送 lí 連結,重頭設定密碼。",
+ "placeholder": "Lí ê email 地址 iah 是用者 ê 名。",
+ "check_email": "檢查電子 phue 箱,看有重頭設密碼 ê 連結無。",
+ "return_home": "轉來頭頁",
+ "too_many_requests": "Lí kā 請求 ê khòo-tah 用了 ah。等一時仔,閣試一 pái。",
+ "password_reset_disabled": "密碼重頭設定無開放。請聯絡本站 ê 行政員。",
+ "password_reset_required": "Beh 登入,著重頭設 lí ê 密碼。",
+ "password_reset_required_but_mailer_is_disabled": "Lí 需要重頭設密碼,毋 koh tsia 無開放密碼 koh 再設定。請聯絡本站 ê 行政員。"
+ },
+ "chats": {
+ "you": "Lí:",
+ "message_user": "傳私人 phue:{nickname}",
+ "delete": "Thâi 掉",
+ "chats": "開講",
+ "new": "發起開講",
+ "empty_message_error": "無法度 PO 空 ê phue",
+ "more": "Koh較濟……",
+ "delete_confirm": "Lí 敢真 ê beh thâi tsit 張 phue?",
+ "error_loading_chat": "載入開講 ê 時,出箠 ah。",
+ "error_sending_message": "送 phue ê 時,出箠 ah。",
+ "empty_chat_list_placeholder": "Lí 猶無佇 tsia 開講過,來開講 lah!"
+ },
+ "lists": {
+ "lists": "列單",
+ "new": "新 ê 列單",
+ "title": "列單標題",
+ "search": "Tshuē 用者",
+ "create": "開新 ê",
+ "save": "保存改變",
+ "delete": "刣列單",
+ "following_only": "限定 lí 所關注 ê",
+ "manage_lists": "管理列單",
+ "manage_members": "管理列單成員",
+ "add_members": "Tshiau 閣較 tsē ê 用者",
+ "remove_from_list": "對列單刣掉",
+ "add_to_list": "加入去列單",
+ "is_in_list": "列單已經有 ah ",
+ "editing_list": "編輯列單 {listTitle}",
+ "creating_list": "開新 ê 列單",
+ "update_title": "保存標題",
+ "really_delete": "敢真正 beh 刣掉列單?",
+ "error": "操作列單 ê 時陣出重耽:{0}"
+ },
+ "file_type": {
+ "audio": "音訊",
+ "video": "影片",
+ "image": "影像",
+ "file": "檔案"
+ },
+ "display_date": {
+ "today": "今 á 日"
+ },
+ "update": {
+ "big_update_title": "敬請體諒",
+ "big_update_content": "因為 guán 有一站 á 無發行新版本,所以這个版本會 kap lí 以早慣 sì ê 無仝。",
+ "update_bugs": "請佇 {pleromaGitlab} 報告任何問題 kap bug,因為 Pleroma 改變真 tsē。雖罔 guán 徹底 leh 試,mā 家 kī 用開發版,伊凡勢有一寡重耽。Guán 歡迎 lín 提供關係所拄著 ê 問題 ê 意見、建議,或者是改進 Pleroma kap Pleroma-FE ê 法度。",
+ "update_bugs_gitlab": "Pleroma GitLab",
+ "update_changelog": "Nā beh 知影改變 ê 詳細,請看:{theFullChangelog}.",
+ "update_changelog_here": "Kui ê 改變日誌",
+ "art_by": "美編:{linkToArtist}"
+ },
+ "unicode_domain_indicator": {
+ "tooltip": "這 ê 域名包含毋是 ascii ê 字元。"
+ }
+}
diff --git a/src/services/locale/locale.service.js b/src/services/locale/locale.service.js
@@ -3,6 +3,7 @@ import ISO6391 from 'iso-639-1'
import _ from 'lodash'
const specialLanguageCodes = {
+ nan: 'nan',
ja_easy: 'ja',
zh_Hant: 'zh-HANT',
zh: 'zh-Hans'
@@ -19,6 +20,7 @@ const internalToBackendLocaleMulti = codes => {
const getLanguageName = (code) => {
const specialLanguageNames = {
ja_easy: 'やさしいにほんご',
+ nan: '臺語(閩南語)',
zh: '简体中文',
zh_Hant: '繁體中文'
}