From 4aa6fa3ea5c5828ee1dcd1d13ac4e89ac6962a3c Mon Sep 17 00:00:00 2001 From: MrOrz Date: Sun, 12 Dec 2021 23:19:20 +0800 Subject: [PATCH 1/6] [NewReplySection] add hint for multiple users --- .../NewReplySection/ReplyForm/ReasonEditor.js | 42 ++++++++++++------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/components/NewReplySection/ReplyForm/ReasonEditor.js b/components/NewReplySection/ReplyForm/ReasonEditor.js index feb7e6ff..7bfc26fb 100644 --- a/components/NewReplySection/ReplyForm/ReasonEditor.js +++ b/components/NewReplySection/ReplyForm/ReasonEditor.js @@ -163,6 +163,26 @@ const StickerIcon = props => ( const { BULLETED, NUMBERED } = LIST_STYLES; +/** + * @param {'NOT_ARTICLE' | 'NOT_RUMOR' | 'OPINIONATED' | 'RUMOR'} replyType + * @returns {string} + */ +function getReasonHint(replyType) { + if (replyType === 'NOT_ARTICLE') { + return t`Please briefly explain why this message should not be processed in Cofacts.`; + } else if (replyType === 'NOT_RUMOR') { + return t`As a brief intro for the references, please point out which part of the message is correct.`; + } else if (replyType === 'OPINIONATED') { + return t`Please briefly +1. explain which part of the message contains personal opinion +2. remind the audience that this is not factual`; + } else if (replyType === 'RUMOR') { + return t`As a brief intro for the references, please point out which part of the message is incorrect.`; + } else { + return ''; + } +} + const ReasonEditor = ({ value, onSuggestionAdd, @@ -220,6 +240,12 @@ const ReasonEditor = ({ setSearch(''); }; + const multipleReplyHint = + existingReplyIds.length === 0 + ? '' + : '\n\n' + + t`Note: This is not a comment section! Please write your reply in response to the reported message above, NOT to other editors' replies below. Please use the thumb-down button below each reply if you find it not good enough.`; + return (
{showHelp && ( @@ -257,21 +283,7 @@ const ReasonEditor = ({ required className={classes.inputArea} ref={editorRef} - placeholder={(() => { - if (replyType === 'NOT_ARTICLE') { - return t`Please briefly explain why this message should not be processed in Cofacts.`; - } else if (replyType === 'NOT_RUMOR') { - return t`As a brief intro for the references, please point out which part of the message is correct.`; - } else if (replyType === 'OPINIONATED') { - return t`Please briefly -1. explain which part of the message contains personal opinion -2. remind the audience that this is not factual`; - } else if (replyType === 'RUMOR') { - return t`As a brief intro for the references, please point out which part of the message is incorrect.`; - } else { - return ''; - } - })()} + placeholder={getReasonHint(replyType) + multipleReplyHint} onChange={handleChange} onKeyDown={handleKeyPress} value={value} From 2dfa3be9a89ab42626fe89871ea80737d642f234 Mon Sep 17 00:00:00 2001 From: MrOrz Date: Sun, 12 Dec 2021 23:19:40 +0800 Subject: [PATCH 2/6] [article] translate comment section header --- pages/article/[id].js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/article/[id].js b/pages/article/[id].js index c4333431..5c0af963 100644 --- a/pages/article/[id].js +++ b/pages/article/[id].js @@ -342,7 +342,7 @@ function ArticlePage() { {replyRequestsWithComments.length > 0 ? ( <> - {`Comments from people reporting this message`} + {t`Comments from people reporting this message`} {replyRequestsWithComments.map(replyRequest => ( From 63db8ae7c2df0ae347d7230517531286f2b10fec Mon Sep 17 00:00:00 2001 From: MrOrz Date: Sun, 12 Dec 2021 23:19:51 +0800 Subject: [PATCH 3/6] Update translation --- i18n/zh_TW.po | 175 ++++++++++++++++++++++++++------------------------ 1 file changed, 92 insertions(+), 83 deletions(-) diff --git a/i18n/zh_TW.po b/i18n/zh_TW.po index ff0afe71..62d692f5 100644 --- a/i18n/zh_TW.po +++ b/i18n/zh_TW.po @@ -6,13 +6,13 @@ msgstr "" "mime-version: 1.0\n" "Content-Transfer-Encoding: 8bit\n" -#: components/AppLayout/AppFooter.js:111 -#: components/AppLayout/AppSidebar.js:138 +#: components/AppLayout/AppFooter.js:114 +#: components/AppLayout/AppSidebar.js:131 msgid "About" msgstr "關於" #: components/ReportPage/SectionEcosystem.js:175 -#: pages/article/[id].js:290 +#: pages/article/[id].js:302 #: pages/reply/[id].js:246 msgid "Cofacts" msgstr "Cofacts 真的假的" @@ -24,15 +24,15 @@ msgstr "Cofacts 真的假的" msgid "Cancel" msgstr "取消" -#: components/AppLayout/AppHeader.js:334 -#: components/AppLayout/AppSidebar.js:97 -#: components/LandingPage/Header.js:267 -#: components/LandingPage/Header.js:317 +#: components/AppLayout/AppHeader.js:332 +#: components/AppLayout/AppSidebar.js:92 +#: components/LandingPage/Header.js:261 +#: components/LandingPage/Header.js:311 msgid "Login" msgstr "登入" -#: components/AppLayout/AppHeader.js:276 -#: components/AppLayout/AppSidebar.js:165 +#: components/AppLayout/AppHeader.js:274 +#: components/AppLayout/AppSidebar.js:158 msgid "Logout" msgstr "登出" @@ -142,7 +142,7 @@ msgstr "送出" msgid "Thank you for the feedback." msgstr "感謝您的意見。" -#: pages/article/[id].js:216 +#: pages/article/[id].js:219 msgid "Your reply has been submitted." msgstr "已經送出回應。" @@ -187,6 +187,7 @@ msgstr "轉傳訊息或網路文章有一部分含有不實資訊。" msgid "Facebook" msgstr "Facebook" +#: components/AppLayout/AppSidebar.js:127 #: components/LandingPage/SectionCanDo.js:253 msgid "Tutorial" msgstr "使用教學" @@ -234,14 +235,14 @@ msgid "" msgstr "「Cofacts 真的假的」是一套連結網路訊息與查證訊息的協作型系統,試圖對假訊息問題作出草根應對。" #: components/ProfilePage/ProfilePage.js:98 -#: pages/article/[id].js:253 -#: pages/article/[id].js:257 +#: pages/article/[id].js:256 +#: pages/article/[id].js:260 #: pages/reply/[id].js:200 #: pages/reply/[id].js:204 msgid "Loading" msgstr "載入中" -#: pages/article/[id].js:268 +#: pages/article/[id].js:271 #: pages/reply/[id].js:215 msgid "Not found" msgstr "找不到此頁面" @@ -250,7 +251,7 @@ msgstr "找不到此頁面" msgid "Reply does not exist" msgstr "此回應不存在" -#: pages/article/[id].js:272 +#: pages/article/[id].js:275 msgid "Message does not exist" msgstr "此訊息不存在" @@ -282,21 +283,17 @@ msgstr "最新回應" msgid "Fact Check" msgstr "闢謠" -#: components/AppLayout/AppFooter.js:139 -#: components/AppLayout/AppSidebar.js:143 +#: components/AppLayout/AppFooter.js:142 +#: components/AppLayout/AppSidebar.js:136 msgid "Contact Us" msgstr "聯絡我們" -#: components/AppLayout/AppHeader.js:268 -#: components/AppLayout/AppSidebar.js:124 +#: components/AppLayout/AppHeader.js:266 +#: components/AppLayout/AppSidebar.js:119 msgid "My Profile" msgstr "我的主頁" -#: components/AppLayout/AppSidebar.js:133 -msgid "Forum" -msgstr "討論區" - -#: components/AppLayout/AppFooter.js:152 +#: components/AppLayout/AppFooter.js:155 msgid "Facebook forum" msgstr "Facebook 社團" @@ -321,7 +318,7 @@ msgid "Bust Hoaxes" msgstr "查核闢謠" #: components/AppLayout/AppFooter.js:102 -#: components/LandingPage/Header.js:231 +#: components/LandingPage/Header.js:230 #: components/SearchPageJumbotron.js:130 msgid "Messages" msgstr "可疑訊息" @@ -411,7 +408,7 @@ msgstr "到" msgid "See examples" msgstr "查看範例" -#: components/ArticleCategories/AddCategoryDialog.js:62 +#: components/ArticleCategories/AddCategoryDialog.js:67 msgid "Categorize this message" msgstr "可疑訊息分類" @@ -456,7 +453,7 @@ msgstr "您認為沒有幫助的理由是什麼呢?" msgid "Loading..." msgstr "載入中⋯" -#: components/AppLayout/AppFooter.js:112 +#: components/AppLayout/AppFooter.js:115 msgid "About Cofacts" msgstr "關於 Cofacts" @@ -486,17 +483,17 @@ msgstr[0] "被回報 ${ replyRequestCount } 次" msgid "Searching" msgstr "正在搜尋" -#: pages/article/[id].js:298 +#: pages/article/[id].js:310 #, javascript-format msgid "${ replyRequestCount } person report this message" msgid_plural "${ replyRequestCount } people report this message" msgstr[0] "有 ${ replyRequestCount } 人想知道以下訊息的真實性" -#: pages/article/[id].js:413 +#: pages/article/[id].js:426 msgid "Similar messages" msgstr "相似可疑訊息" -#: pages/article/[id].js:432 +#: pages/article/[id].js:445 msgid "No similar messages found" msgstr "沒有相似的可疑訊息" @@ -622,7 +619,7 @@ msgstr "分享成功!" msgid "${ authorElem } mark this message ${ TYPE_NAME[replyType] }" msgstr "${ authorElem } 認為 ${ TYPE_NAME[replyType] }" -#: components/ArticleCategories/AddCategoryDialog.js:65 +#: components/ArticleCategories/AddCategoryDialog.js:70 msgid "" "Articles are mostly categorized by AI based on our current data, but you " "can provide your own opinion to improved the categorization." @@ -642,7 +639,7 @@ msgstr "同意" msgid "Disagree" msgstr "反對" -#: components/ArticleCategories/ArticleCategories.js:81 +#: components/ArticleCategories/ArticleCategories.js:94 msgid "Suggest categories" msgstr "分類建議" @@ -660,7 +657,7 @@ msgstr "撰寫新回應" msgid "Use existing replies" msgstr "使用現有回應" -#: components/NewReplySection/ReplyForm/ReasonEditor.js:304 +#: components/NewReplySection/ReplyForm/ReasonEditor.js:316 msgid "Keep composing my reply with this" msgstr "延伸此回應來查核" @@ -760,15 +757,15 @@ msgstr "目標網站有 HTTPS 錯誤" msgid "Unknown error" msgstr "未知錯誤" -#: pages/article/[id].js:382 +#: pages/article/[id].js:395 #, javascript-format msgid "There is ${ replyCount } fact-checking reply to the message" msgid_plural "There are ${ replyCount } fact-checking replies to the message" msgstr[0] "本訊息有 ${ replyCount } 則查核回應" msgstr[1] "本訊息有 ${ replyCount } 則查核回應" -#: pages/article/[id].js:406 -#: pages/article/[id].js:442 +#: pages/article/[id].js:419 +#: pages/article/[id].js:455 msgid "Add Cofacts as friend in LINE" msgstr "加 LINE 查謠言" @@ -865,20 +862,20 @@ msgstr "我可以闢謠" msgid "I can help with coding" msgstr "我會寫 Code" -#: components/AppLayout/AppFooter.js:117 +#: components/AppLayout/AppFooter.js:120 msgid "Introduction" msgstr "專案介紹" -#: components/AppLayout/AppFooter.js:120 +#: components/AppLayout/AppFooter.js:123 #: components/ReportPage/SectionTower.js:107 msgid "Source Code" msgstr "原始碼" -#: components/AppLayout/AppFooter.js:127 +#: components/AppLayout/AppFooter.js:130 msgid "Contact" msgstr "聯繫" -#: pages/article/[id].js:397 +#: pages/article/[id].js:410 #: pages/reply/[id].js:310 msgid "The content above" msgstr "以上內容" @@ -970,8 +967,8 @@ msgid "" "pseudonym are randomly generated." msgstr "" -#: components/AppLayout/AppHeader.js:255 -#: components/AppLayout/AppSidebar.js:117 +#: components/AppLayout/AppHeader.js:253 +#: components/AppLayout/AppSidebar.js:112 #, javascript-format msgid "Earn ${ pointsLeft } EXP to next level" msgstr "" @@ -993,17 +990,17 @@ msgstr "" "來源說明\n" "» 連結網址" -#: components/NewReplySection/ReplyForm/ReasonEditor.js:262 +#: components/NewReplySection/ReplyForm/ReasonEditor.js:172 msgid "Please briefly explain why this message should not be processed in Cofacts." msgstr "請簡單說明為何 Cofacts 不該處理這則訊息" -#: components/NewReplySection/ReplyForm/ReasonEditor.js:264 +#: components/NewReplySection/ReplyForm/ReasonEditor.js:174 msgid "" "As a brief intro for the references, please point out which part of the " "message is correct." msgstr "請簡單說明它哪個部分是正確的,作為「資料來源」的導讀" -#: components/NewReplySection/ReplyForm/ReasonEditor.js:266 +#: components/NewReplySection/ReplyForm/ReasonEditor.js:176 msgid "" "Please briefly\n" "1. explain which part of the message contains personal opinion\n" @@ -1013,7 +1010,7 @@ msgstr "" "1. 它哪個部分含有主觀意見之處\n" "2. 提醒讀者這不是客觀事實" -#: components/NewReplySection/ReplyForm/ReasonEditor.js:270 +#: components/NewReplySection/ReplyForm/ReasonEditor.js:180 msgid "" "As a brief intro for the references, please point out which part of the " "message is incorrect." @@ -1037,7 +1034,7 @@ msgstr "CC BY-SA 4.0" msgid "Creative Commons Attribution-ShareAlike 4.0" msgstr "CC授權 姓名標示-相同方式分享 4.0" -#: components/AppLayout/AppFooter.js:114 +#: components/AppLayout/AppFooter.js:117 #: components/AppLayout/LoginModal.js:94 msgid "User Agreement" msgstr "使用者條款" @@ -1066,96 +1063,96 @@ msgstr "" msgid "How to use Cofacts" msgstr "" -#: components/ContributionChart.js:87 +#: components/ContributionChart.js:95 msgid "Jan" msgstr "1月" -#: components/ContributionChart.js:88 +#: components/ContributionChart.js:96 msgid "Feb" msgstr "2月" -#: components/ContributionChart.js:89 +#: components/ContributionChart.js:97 msgid "Mar" msgstr "3月" -#: components/ContributionChart.js:90 +#: components/ContributionChart.js:98 msgid "Apr" msgstr "4月" -#: components/ContributionChart.js:91 +#: components/ContributionChart.js:99 msgid "May" msgstr "5月" -#: components/ContributionChart.js:92 +#: components/ContributionChart.js:100 msgid "Jun" msgstr "6月" -#: components/ContributionChart.js:93 +#: components/ContributionChart.js:101 msgid "Jul" msgstr "7月" -#: components/ContributionChart.js:94 +#: components/ContributionChart.js:102 msgid "Aug" msgstr "8月" -#: components/ContributionChart.js:95 +#: components/ContributionChart.js:103 msgid "Sep" msgstr "9月" -#: components/ContributionChart.js:96 +#: components/ContributionChart.js:104 msgid "Oct" msgstr "10月" -#: components/ContributionChart.js:97 +#: components/ContributionChart.js:105 msgid "Nov" msgstr "11月" -#: components/ContributionChart.js:98 +#: components/ContributionChart.js:106 msgid "Dec" msgstr "12月" -#: components/ContributionChart.js:100 +#: components/ContributionChart.js:108 msgid "Sun" msgstr "週日" -#: components/ContributionChart.js:100 +#: components/ContributionChart.js:108 msgid "Mon" msgstr "週一" -#: components/ContributionChart.js:100 +#: components/ContributionChart.js:108 msgid "Tue" msgstr "週二" -#: components/ContributionChart.js:100 +#: components/ContributionChart.js:108 msgid "Wed" msgstr "週三" -#: components/ContributionChart.js:100 +#: components/ContributionChart.js:108 msgid "Thu" msgstr "週四" -#: components/ContributionChart.js:100 +#: components/ContributionChart.js:108 msgid "Fri" msgstr "週五" -#: components/ContributionChart.js:100 +#: components/ContributionChart.js:108 msgid "Sat" msgstr "週六" -#: components/ContributionChart.js:110 +#: components/ContributionChart.js:118 msgid "Less" msgstr "少" -#: components/ContributionChart.js:124 +#: components/ContributionChart.js:132 msgid "More" msgstr "了解更多" -#: components/ContributionChart.js:187 +#: components/ContributionChart.js:210 msgid "${ count } contribution" msgid_plural "${ count } contributions" msgstr[0] "做出 ${ count } 次貢獻" -#: components/ContributionChart.js:145 +#: components/ContributionChart.js:168 #, javascript-format msgid "${ total } contribution in the last year" msgid_plural "${ total } contributions in the last year" @@ -2299,7 +2296,7 @@ msgstr "目前已經存有4萬5千筆以上查證過的資訊,透過投入資 #: components/ListPageDisplays/ArticleCard.js:106 #: components/ListPageDisplays/ReplySearchItem.js:111 #: components/ProfilePage/RepliedArticleTab.js:255 -#: pages/article/[id].js:306 +#: pages/article/[id].js:318 #: pages/replies.js:255 msgid "First reported ${ timeAgo }" msgstr "首次回報於 ${ timeAgo }" @@ -2331,7 +2328,7 @@ msgid "In linked text" msgstr "所附網址的網頁內容" #: components/ArticleReply/ArticleReply.js:111 -#: pages/article/[id].js:238 +#: pages/article/[id].js:241 #. t: terms subject msgid "This info" msgstr "此資訊" @@ -2377,6 +2374,17 @@ msgstr "" msgid "Please provide reply text." msgstr "請提供回應文字。" +#: components/NewReplySection/ReplyForm/ReasonEditor.js:247 +msgid "" +"Note: This is not a comment section! Please write your reply in response to " +"the reported message above, NOT to other editors' replies below. Please use " +"the thumb-down button below each reply if you find it not good enough." +msgstr "注意:這裏不是討論區!請針對上面的「可疑訊息」撰寫回覆,不要去回覆下面的查核回應。若只是想表達現有的查核回應不夠好,請使用該篇回應下方的「倒讚」按鈕。" + +#: pages/article/[id].js:345 +msgid "Comments from people reporting this message" +msgstr "網友回報補充" + #: pages/index.js:29 msgctxt "site title" msgid "Cofacts" @@ -2445,33 +2453,34 @@ msgctxt "Time range dropdown" msgid "Custom" msgstr "自訂範圍" -#: components/AppLayout/AppHeader.js:151 -#: components/LandingPage/Header.js:285 +#: components/AppLayout/AppHeader.js:150 +#: components/LandingPage/Header.js:279 msgctxt "App layout" msgid "Messages" msgstr "可疑訊息" #: components/AppLayout/AppFooter.js:104 -#: components/AppLayout/AppHeader.js:158 -#: components/LandingPage/Header.js:234 -#: components/LandingPage/Header.js:290 +#: components/AppLayout/AppHeader.js:157 +#: components/LandingPage/Header.js:233 +#: components/LandingPage/Header.js:284 msgctxt "App layout" msgid "Replies" msgstr "最新查核" #: components/AppLayout/AppFooter.js:107 -#: components/AppLayout/AppHeader.js:170 -#: components/LandingPage/Header.js:238 -#: components/LandingPage/Header.js:295 +#: components/AppLayout/AppHeader.js:169 +#: components/LandingPage/Header.js:237 +#: components/LandingPage/Header.js:289 msgctxt "App layout" msgid "For You" msgstr "等你來答" -#: components/AppLayout/AppHeader.js:180 -#: components/LandingPage/Header.js:247 +#: components/AppLayout/AppFooter.js:110 +#: components/AppLayout/AppHeader.js:178 +#: components/LandingPage/Header.js:241 msgctxt "App layout" -msgid "Forum" -msgstr "討論區" +msgid "Tutorial" +msgstr "" #: components/LandingPage/SectionCanDo.js:214 msgctxt "landing page" From 7abaf1ceddc19a54246e81d622528324f7d33de6 Mon Sep 17 00:00:00 2001 From: MrOrz Date: Sun, 12 Dec 2021 23:38:10 +0800 Subject: [PATCH 4/6] [NewReplySection] use switch-case --- .../NewReplySection/ReplyForm/ReasonEditor.js | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/components/NewReplySection/ReplyForm/ReasonEditor.js b/components/NewReplySection/ReplyForm/ReasonEditor.js index 7bfc26fb..2028b176 100644 --- a/components/NewReplySection/ReplyForm/ReasonEditor.js +++ b/components/NewReplySection/ReplyForm/ReasonEditor.js @@ -168,18 +168,19 @@ const { BULLETED, NUMBERED } = LIST_STYLES; * @returns {string} */ function getReasonHint(replyType) { - if (replyType === 'NOT_ARTICLE') { - return t`Please briefly explain why this message should not be processed in Cofacts.`; - } else if (replyType === 'NOT_RUMOR') { - return t`As a brief intro for the references, please point out which part of the message is correct.`; - } else if (replyType === 'OPINIONATED') { - return t`Please briefly -1. explain which part of the message contains personal opinion -2. remind the audience that this is not factual`; - } else if (replyType === 'RUMOR') { - return t`As a brief intro for the references, please point out which part of the message is incorrect.`; - } else { - return ''; + switch (replyType) { + case 'NOT_ARTICLE': + return t`Please briefly explain why this message should not be processed in Cofacts.`; + case 'NOT_RUMOR': + return t`As a brief intro for the references, please point out which part of the message is correct.`; + case 'OPINIONATED': + return t`Please briefly + 1. explain which part of the message contains personal opinion + 2. remind the audience that this is not factual`; + case 'RUMOR': + return t`As a brief intro for the references, please point out which part of the message is incorrect.`; + default: + return ''; } } From 2feb5010a5f769df8aee86b5ef0d41745c961b7b Mon Sep 17 00:00:00 2001 From: MrOrz Date: Sun, 12 Dec 2021 23:44:23 +0800 Subject: [PATCH 5/6] [i18n] Update translation for "tutorial" --- i18n/zh_TW.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/zh_TW.po b/i18n/zh_TW.po index 62d692f5..fa3a6670 100644 --- a/i18n/zh_TW.po +++ b/i18n/zh_TW.po @@ -2480,7 +2480,7 @@ msgstr "等你來答" #: components/LandingPage/Header.js:241 msgctxt "App layout" msgid "Tutorial" -msgstr "" +msgstr "教學" #: components/LandingPage/SectionCanDo.js:214 msgctxt "landing page" From b1224d17e9916b393d827f89364cf07a52d7857c Mon Sep 17 00:00:00 2001 From: MrOrz Date: Mon, 13 Dec 2021 00:11:20 +0800 Subject: [PATCH 6/6] More translations --- i18n/zh_TW.po | 62 +++++++++++++++++++++++++-------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/i18n/zh_TW.po b/i18n/zh_TW.po index fa3a6670..63495143 100644 --- a/i18n/zh_TW.po +++ b/i18n/zh_TW.po @@ -905,73 +905,73 @@ msgstr "" #: components/ProfilePage/EditProfileDialog.js:57 #: components/ProfilePage/EditProfileDialog.js:74 msgid "Username" -msgstr "" +msgstr "使用者名稱" #: components/ProfilePage/EditProfileDialog.js:62 msgid "Edit profile" -msgstr "" +msgstr "編輯個人資料" #: components/ProfilePage/EditProfileDialog.js:66 msgid "Display name" -msgstr "" +msgstr "顯示名稱" #: components/ProfilePage/EditProfileDialog.js:78 #, javascript-format msgid "Your profile URL will become ${ profileURL }" -msgstr "" +msgstr "你的個人頁面網址會變成 ${ profileURL }" #: components/ProfilePage/EditProfileDialog.js:83 msgid "Bio" -msgstr "" +msgstr "自我介紹" #: components/ProfilePage/ProfilePage.js:111 msgid "User not found" -msgstr "" +msgstr "找不到使用者" #: components/ProfilePage/ProfilePage.js:114 msgid "The user does not exist" -msgstr "" +msgstr "此使用者不存在" #: components/ProfilePage/ProfilePage.js:167 msgid "Replied messages" -msgstr "" +msgstr "查核回應" #: components/ProfilePage/RepliedArticleTab.js:241 msgid "No replied messages." -msgstr "" +msgstr "無查核回應" #: components/ProfilePage/Stats.js:60 msgid "replied messages" -msgstr "" +msgstr "查核回應" #: components/ProfilePage/Stats.js:61 msgid "voted replies" -msgstr "" +msgstr "評價回應" #: components/ProfilePage/UserPageHeader.js:196 msgid "Edit" -msgstr "" +msgstr "編輯" #: components/ProfilePage/UserPageHeader.js:224 msgid "Cofacts chatbot" -msgstr "" +msgstr "Cofacts 真的假的聊天機器人" #: components/ProfilePage/UserPageHeader.js:256 msgid "EXP" -msgstr "" +msgstr "公道值" #: components/ProfilePage/UserPageHeader.js:266 #, javascript-format msgid "" "This is a user of ${ cofactsChatbotLink }. The profile picture and the " "pseudonym are randomly generated." -msgstr "" +msgstr "這是 ${ cofactsChatbotLink }的使用者。頭像與假名是隨機生成的。" #: components/AppLayout/AppHeader.js:253 #: components/AppLayout/AppSidebar.js:112 #, javascript-format msgid "Earn ${ pointsLeft } EXP to next level" -msgstr "" +msgstr "距離升級還需 ${ pointsLeft } 點公道值" #: constants/replyType.js:117 msgid "Opinion Sources" @@ -1057,11 +1057,11 @@ msgstr "" #: pages/about.js:239 msgid "What is Cofacts" -msgstr "" +msgstr "什麼是 Cofacts 真的假的" #: pages/tutorial.js:101 msgid "How to use Cofacts" -msgstr "" +msgstr "如何使用 Cofacts 真的假的" #: components/ContributionChart.js:95 msgid "Jan" @@ -1145,7 +1145,7 @@ msgstr "少" #: components/ContributionChart.js:132 msgid "More" -msgstr "了解更多" +msgstr "多" #: components/ContributionChart.js:210 msgid "${ count } contribution" @@ -1160,15 +1160,15 @@ msgstr[0] "最近一年共做出 ${ total } 次貢獻" #: pages/impact.js:60 msgid "Cofacts social impact report" -msgstr "" +msgstr "Cofacts 真的假的影響力報告" #: components/ReportPage/SectionSponsor.js:88 msgid "Open Culture Foundation" -msgstr "" +msgstr "開放文化基金會" #: components/ReportPage/SectionSponsor.js:93 msgid "g0v" -msgstr "" +msgstr "g0v 零時政府" #: pages/impact.js:65 msgid "Individual strengths converge to exert the greatest power" @@ -1358,11 +1358,11 @@ msgstr "" #: components/ReportPage/SectionSponsor.js:246 msgid "Donate to Cofacts" -msgstr "" +msgstr "捐款給 Cofacts" #: components/ReportPage/SectionSponsor.js:255 msgid "Share to Facebook" -msgstr "" +msgstr "分享到 Facebook" #: components/ReportPage/Banner.js:212 #: components/ReportPage/Banner.js:227 @@ -2121,27 +2121,27 @@ msgstr "掃描QR Code、加入好友@cofacts" #: components/ProfilePage/AvatarSelector.js:178 msgid "Accessory" -msgstr "" +msgstr "配件" #: components/ProfilePage/AvatarSelector.js:184 msgid "Body" -msgstr "" +msgstr "上身" #: components/ProfilePage/AvatarSelector.js:190 msgid "Face" -msgstr "" +msgstr "表情" #: components/ProfilePage/AvatarSelector.js:196 msgid "Hair" -msgstr "" +msgstr "髮型" #: components/ProfilePage/AvatarSelector.js:202 msgid "Facial Hair" -msgstr "" +msgstr "鬍子" #: components/ProfilePage/EditAvatarDialog.js:170 msgid "Edit profile picture" -msgstr "" +msgstr "編輯個人頭像" #: components/ReportPage/SectionTower.js:92 msgid "Open data" @@ -2480,7 +2480,7 @@ msgstr "等你來答" #: components/LandingPage/Header.js:241 msgctxt "App layout" msgid "Tutorial" -msgstr "教學" +msgstr "使用教學" #: components/LandingPage/SectionCanDo.js:214 msgctxt "landing page"