From 337f719e8ff49f01416a596406a8b47766810e16 Mon Sep 17 00:00:00 2001
From: Aka jazzy
Date: Tue, 7 Mar 2023 15:30:34 +0800
Subject: [PATCH 01/31] feat(i18n): add navigation/homepage translation
---
lang/default.json | 182 +++++++++++++++---
lang/en.json | 161 ++++++++++++++--
lang/zh-Hans.json | 163 ++++++++++++++--
lang/zh-Hant.json | 178 +++++++++++++++--
.../Buttons/ConnectWallet/index.tsx | 6 +-
src/components/Buttons/Shuffle.tsx | 5 +-
src/components/Buttons/ViewAll/index.tsx | 12 +-
src/components/Layout/NavMenu/Bottom.tsx | 23 ++-
src/components/Layout/NavMenu/Top.tsx | 19 +-
src/components/Layout/SideFooter/index.tsx | 28 ++-
src/components/Layout/SideNav/index.tsx | 35 ++--
.../CircleNewDiscussionComments.tsx | 5 +-
.../Notice/TagNotice/TagAddEditorNotice.tsx | 5 +-
.../Notice/TagNotice/TagAdoptionNotice.tsx | 5 +-
.../Notice/TagNotice/TagLeaveEditorNotice.tsx | 10 +-
.../Notice/TagNotice/TagLeaveNotice.tsx | 5 +-
src/components/Search/SearchBar/index.tsx | 30 +--
src/views/Help/index.tsx | 14 +-
src/views/Home/Announcements/index.tsx | 9 +-
src/views/Home/Feed/Authors/index.tsx | 4 +-
src/views/Home/Feed/SortBy/index.tsx | 8 +-
src/views/Home/Feed/Tags/index.tsx | 4 +-
src/views/Home/SectionHeader/index.tsx | 8 +-
.../SwitchLanguage/index.tsx | 12 +-
.../DisplayPreferences/index.tsx | 13 +-
.../AnonymousSettings/Enhance/index.tsx | 13 +-
.../AnonymousSettings/Learn/index.tsx | 30 ++-
27 files changed, 799 insertions(+), 188 deletions(-)
diff --git a/lang/default.json b/lang/default.json
index 738a50135a..821e3f0d95 100644
--- a/lang/default.json
+++ b/lang/default.json
@@ -15,14 +15,30 @@
"defaultMessage": "Enter Community",
"description": "src/components/Forms/EmailSignUpForm/Complete.tsx"
},
+ "/ns2st": {
+ "defaultMessage": "Download App",
+ "description": ""
+ },
"/nu5ho": {
"defaultMessage": "replied to your comment on",
"description": "src/components/Notice/CommentCommentNotice/CommentNewReplyNotice.tsx"
},
+ "1pFLGZ": {
+ "defaultMessage": "Bug Bounty",
+ "description": ""
+ },
+ "2atspc": {
+ "defaultMessage": "Drafts",
+ "description": ""
+ },
"2eebTb": {
"defaultMessage": "bookmarked your article",
"description": "src/components/Notice/ArticleNotice/ArticleNewSubscriberNotice.tsx"
},
+ "2slIPX": {
+ "defaultMessage": "Likes",
+ "description": ""
+ },
"3WKlPP": {
"defaultMessage": "commented in",
"description": ""
@@ -31,6 +47,14 @@
"defaultMessage": "Please email",
"description": "src/views/Help/index.tsx"
},
+ "3yk8fB": {
+ "defaultMessage": "Wallet",
+ "description": ""
+ },
+ "47FYwb": {
+ "defaultMessage": "Cancel",
+ "description": ""
+ },
"4giHJT": {
"defaultMessage": "Have wallet questions on mobile device ? Click the",
"description": "src/components/Forms/WalletAuthForm/Select.tsx"
@@ -47,6 +71,18 @@
"defaultMessage": "Password",
"description": ""
},
+ "6flWFg": {
+ "defaultMessage": "Term of Services",
+ "description": ""
+ },
+ "6gOpfl": {
+ "defaultMessage": "You won't see announcements for 7 days",
+ "description": "src/views/Home/Announcements/index.tsx"
+ },
+ "7DIW6+": {
+ "defaultMessage": "Learn More",
+ "description": ""
+ },
"9+Ddtu": {
"defaultMessage": "Next",
"description": ""
@@ -71,14 +107,18 @@
"defaultMessage": ". Take a look at your income",
"description": "src/components/Notice/TransactionNotice/PaymentReceivedDonationNotice.tsx"
},
- "BqXRy4": {
- "defaultMessage": "Download App",
- "description": "src/views/Help/index.tsx"
+ "CnPG8j": {
+ "defaultMessage": "Featured",
+ "description": ""
},
"CwSpld": {
"defaultMessage": "Not for login",
"description": "src/components/Forms/WalletAuthForm/Connect.tsx"
},
+ "D3idYv": {
+ "defaultMessage": "Settings",
+ "description": ""
+ },
"EfJYPI": {
"defaultMessage": "Verification Code",
"description": "src/components/Forms/WalletAuthForm/Connect.tsx"
@@ -95,6 +135,10 @@
"defaultMessage": "Install MetaMask",
"description": "src/components/Forms/WalletAuthForm/Select.tsx"
},
+ "FhWC22": {
+ "defaultMessage": "Matters Community",
+ "description": ""
+ },
"GBm/sD": {
"defaultMessage": "posted a new topic and mentioned you",
"description": "src/components/Notice/CircleNotice/CircleNewDiscussionComments.tsx"
@@ -103,14 +147,30 @@
"defaultMessage": "tutorial",
"description": "src/components/Forms/WalletAuthForm/Select.tsx"
},
+ "GZJpDf": {
+ "defaultMessage": "Analytics",
+ "description": ""
+ },
+ "H0JBH6": {
+ "defaultMessage": "Log Out",
+ "description": ""
+ },
"H8KGyc": {
"defaultMessage": "Enter",
"description": ""
},
+ "HtSDyc": {
+ "defaultMessage": "Help Center",
+ "description": ""
+ },
"HxcjQl": {
"defaultMessage": "Matters continues to provide services that combine creativity with blockchain technology. You will be the first to experience them after completing connecting wallet.",
"description": "src/components/Forms/WalletAuthForm/Select.tsx"
},
+ "HzaRKA": {
+ "defaultMessage": "Migrate to Matters",
+ "description": ""
+ },
"IFY8r4": {
"defaultMessage": "Enter Password",
"description": "src/components/Forms/EmailLoginForm/index.tsx"
@@ -127,10 +187,6 @@
"defaultMessage": "Your article has been published to decentralized network",
"description": "src/components/Notice/ArticleNotice/ArticlePublishedNotice.tsx"
},
- "JMRVO6": {
- "defaultMessage": "Matters Community",
- "description": "src/views/Help/index.tsx"
- },
"Jc+W6M": {
"defaultMessage": "resigned as tag maintainer. Would you like to be the new tag maintainer?",
"description": "src/components/Notice/TagNotice/TagLeaveNotice.tsx"
@@ -155,6 +211,10 @@
"defaultMessage": "Wallet address will be part of your digital identity and shown in your profile page.",
"description": "src/components/Forms/WalletAuthForm/Select.tsx"
},
+ "MkwOFW": {
+ "defaultMessage": "Read History",
+ "description": ""
+ },
"N2IrpM": {
"defaultMessage": "Confirm",
"description": ""
@@ -163,6 +223,10 @@
"defaultMessage": "Matters will never ask for your wallet mnemonic through any channel.",
"description": "src/components/Forms/WalletAuthForm/Connect.tsx"
},
+ "NAidKb": {
+ "defaultMessage": "Notifications",
+ "description": ""
+ },
"NzfL1d": {
"defaultMessage": "Enter password again",
"description": "src/components/Forms/EmailSignUpForm/Password.tsx"
@@ -175,13 +239,17 @@
"defaultMessage": "liked your article",
"description": "src/components/Notice/ArticleNotice/ArticleNewAppreciationNotice.tsx"
},
+ "Pp/0po": {
+ "defaultMessage": "Shuffle",
+ "description": ""
+ },
"QV19cI": {
"defaultMessage": "Failed to republish article",
"description": "src/components/Notice/ArticleNotice/RevisedArticleNotPublishedNotice.tsx"
},
- "RKs1fz": {
- "defaultMessage": "Open Source",
- "description": "src/views/Help/index.tsx"
+ "Szd1tH": {
+ "defaultMessage": "Failed to log out, please try again.",
+ "description": ""
},
"U/Tqmx": {
"defaultMessage": "commented on your bookmarked article",
@@ -215,6 +283,14 @@
"defaultMessage": "Have an account?",
"description": "src/components/Forms/EmailSignUpForm/Buttons.tsx"
},
+ "Xd0J7Y": {
+ "defaultMessage": "Open Source",
+ "description": ""
+ },
+ "XgdZSb": {
+ "defaultMessage": "Authors",
+ "description": ""
+ },
"Xz/AHp": {
"defaultMessage": "broadcast and mentioned you",
"description": "src/components/Notice/CommentNotice/CommentMentionedYouNotice.tsx"
@@ -231,14 +307,26 @@
"defaultMessage": "Broadcast and mentioned you in comment",
"description": "src/components/Notice/CircleNotice/CircleNewBroadcastComments.tsx"
},
+ "Z6ewE3": {
+ "defaultMessage": "Build Together",
+ "description": "src/views/Me/Settings/AnonymousSettings/Enhance/index.tsx"
+ },
"ZUPQzl": {
"defaultMessage": "comment",
"description": "src/components/Notice/CommentCommentNotice/CommentNewReplyNotice.tsx"
},
+ "ZjDH42": {
+ "defaultMessage": "About Us",
+ "description": ""
+ },
"aaUBvF": {
"defaultMessage": "comment_circle",
"description": "src/components/Notice/CommentCommentNotice/CommentNewReplyNotice.tsx"
},
+ "adThp5": {
+ "defaultMessage": "Latest",
+ "description": ""
+ },
"b+LSgI": {
"defaultMessage": "replied to your discussion on",
"description": "src/components/Notice/CommentCommentNotice/CommentNewReplyNotice.tsx"
@@ -247,6 +335,14 @@
"defaultMessage": "withdrawal process has started. Please refer to your bank for payout status.",
"description": "src/components/Notice/TransactionNotice/PaymentPayoutNotice.tsx"
},
+ "cE4Hfw": {
+ "defaultMessage": "Discover",
+ "description": ""
+ },
+ "cPIKU2": {
+ "defaultMessage": "Following",
+ "description": ""
+ },
"cfL5uk": {
"defaultMessage": "Over 200 words, current {numbers}",
"description": "src/components/UserProfile/DropdownActions/EditProfileDialog/Content.tsx"
@@ -267,10 +363,18 @@
"defaultMessage": "uh-oh,",
"description": "src/components/Notice/TagNotice/TagLeaveEditorNotice.tsx"
},
+ "enMIYK": {
+ "defaultMessage": "My Page",
+ "description": ""
+ },
"euNJsE": {
"defaultMessage": "A new article has been added to the circle, read it now!",
"description": "src/components/Notice/ArticleNotice/CircleNewArticle.tsx"
},
+ "fG41Ux": {
+ "defaultMessage": "Logged out successfully",
+ "description": ""
+ },
"fOgusL": {
"defaultMessage": "Choose a method to enter",
"description": "src/components/Forms/SelectAuthMethodForm/index.tsx"
@@ -307,6 +411,10 @@
"defaultMessage": "Login with Email",
"description": "src/components/Forms/EmailSignUpForm/Buttons.tsx"
},
+ "itPgxd": {
+ "defaultMessage": "Profile",
+ "description": ""
+ },
"jF+Mle": {
"defaultMessage": "days for free. Try it and have fun!",
"description": "src/components/Notice/CircleNotice/CircleInvitationNotice.tsx"
@@ -323,6 +431,10 @@
"defaultMessage": "followed you",
"description": "src/components/Notice/UserNotice/UserNewFollowerNotice.tsx"
},
+ "kc79d3": {
+ "defaultMessage": "Topics",
+ "description": ""
+ },
"l5vWO8": {
"defaultMessage": "Your Matters display name, can be changed later",
"description": "src/components/Forms/EmailSignUpForm/Init.tsx"
@@ -331,14 +443,26 @@
"defaultMessage": "Enter Email",
"description": ""
},
+ "ll/ufR": {
+ "defaultMessage": "Trending",
+ "description": ""
+ },
"mPe6DK": {
"defaultMessage": "subscribed your circle",
"description": "src/components/Notice/CircleNotice/CircleNewUserNotice.tsx"
},
+ "mk+LCk": {
+ "defaultMessage": "Display Preferences",
+ "description": "src/views/Me/Settings/AnonymousSettings/DisplayPreferences/index.tsx"
+ },
"ml3SZN": {
"defaultMessage": "Minimum 8 characters. Uppercase/lowercase letters, numbers and symbols are allowed",
"description": ""
},
+ "nGBrvw": {
+ "defaultMessage": "Bookmarks",
+ "description": ""
+ },
"nYeDrI": {
"defaultMessage": "Not Registered?",
"description": "src/components/Forms/EmailLoginForm/Buttons.tsx"
@@ -347,10 +471,6 @@
"defaultMessage": "Terms and Privacy Policy",
"description": "src/components/Forms/EmailSignUpForm/Init.tsx"
},
- "nmmItN": {
- "defaultMessage": "About Us",
- "description": "src/views/Help/index.tsx"
- },
"nsaJRn": {
"defaultMessage": "Logged in successfully",
"description": ""
@@ -358,9 +478,9 @@
"ntjlWR": {
"defaultMessage": "comment"
},
- "q7jZPx": {
- "defaultMessage": "Term of Services",
- "description": "src/views/Help/index.tsx"
+ "pla6ZF": {
+ "defaultMessage": "Search articles, tags and authors",
+ "description": "src/components/Search/SearchBar/index.tsx"
},
"qPPrzm": {
"defaultMessage": "supported your article",
@@ -370,10 +490,6 @@
"defaultMessage": "Airdrop registration completed. Your NFT will be revealed on November 12. Confirm your ETH wallet address:",
"description": "src/components/Notice/CryptoNotice/CryptoWalletAirdropNotice.tsx"
},
- "qXcvBF": {
- "defaultMessage": "Explore Matters",
- "description": "src/views/Help/index.tsx"
- },
"qYzBk8": {
"defaultMessage": "unsubscribed your circle",
"description": "src/components/Notice/CircleNotice/CircleNewUserNotice.tsx"
@@ -382,10 +498,6 @@
"defaultMessage": "Email will not be used as a login but only as a contact channel.",
"description": ""
},
- "rXbLl7": {
- "defaultMessage": "Migrate to Matters",
- "description": "src/views/Help/index.tsx"
- },
"reOeq5": {
"defaultMessage": "You have created your personal creative space. Publish your first work!",
"description": "src/components/Forms/EmailSignUpForm/Complete.tsx"
@@ -418,6 +530,10 @@
"defaultMessage": "replied to topics and mentioned you",
"description": "src/components/Notice/CircleNotice/CircleNewDiscussionComments.tsx"
},
+ "uVCg1l": {
+ "defaultMessage": "Explore Matters",
+ "description": ""
+ },
"uqmi/b": {
"defaultMessage": "pinned your comment on",
"description": "src/components/Notice/CommentNotice/CommentPinnedNotice.tsx"
@@ -430,6 +546,10 @@
"defaultMessage": "Account",
"description": "src/components/Forms/WalletAuthForm/Select.tsx"
},
+ "vH8sCb": {
+ "defaultMessage": "Circle",
+ "description": ""
+ },
"wSEOxH": {
"defaultMessage": "Contact Channel",
"description": "src/components/Forms/WalletAuthForm/Connect.tsx"
@@ -446,10 +566,18 @@
"defaultMessage": "Continue with Email",
"description": "src/components/Forms/SelectAuthMethodForm/index.tsx"
},
+ "xmcVZ0": {
+ "defaultMessage": "Search",
+ "description": ""
+ },
"xwj01D": {
"defaultMessage": "invites you to become a collaborator",
"description": "src/components/Notice/TagNotice/TagAddEditorNotice.tsx"
},
+ "y1Z3or": {
+ "defaultMessage": "Language",
+ "description": ""
+ },
"yZfKI4": {
"defaultMessage": "discussion and mentioned you",
"description": "src/components/Notice/CommentNotice/CommentMentionedYouNotice.tsx"
@@ -457,5 +585,9 @@
"z4NaU2": {
"defaultMessage": "Your",
"description": "src/components/Notice/TransactionNotice/PaymentPayoutNotice.tsx"
+ },
+ "zQvVDJ": {
+ "defaultMessage": "All",
+ "description": ""
}
}
diff --git a/lang/en.json b/lang/en.json
index 0749f343a9..89a74d4c1e 100644
--- a/lang/en.json
+++ b/lang/en.json
@@ -7,9 +7,9 @@
"defaultMessage": " followed you",
"description": "src/components/Notice/UserNotice/UserNewFollowerNotice.tsx"
},
- "BqXRy4": {
+ "/ns2st": {
"defaultMessage": "Download App",
- "description": "src/views/Help/index.tsx"
+ "description": ""
},
"FaTb0A": {
"defaultMessage": "Install MetaMask",
@@ -19,9 +19,9 @@
"defaultMessage": "User registered by email can login and enable wallet login later",
"description": "src/components/Forms/SelectAuthMethodForm/index.tsx"
},
- "JMRVO6": {
+ "FhWC22": {
"defaultMessage": "Matters Community",
- "description": "src/views/Help/index.tsx"
+ "description": ""
},
"RKs1fz": {
"defaultMessage": "Open Source",
@@ -43,21 +43,21 @@
"defaultMessage": "For unregistered or users enabled wallet login",
"description": "src/components/Forms/SelectAuthMethodForm/index.tsx"
},
- "nmmItN": {
+ "ZjDH42": {
"defaultMessage": "About Us",
- "description": "src/views/Help/index.tsx"
+ "description": ""
},
- "q7jZPx": {
+ "6flWFg": {
"defaultMessage": "Term of Services",
"description": "src/views/Help/index.tsx"
},
- "qXcvBF": {
+ "uVCg1l": {
"defaultMessage": "Explore Matters",
- "description": "src/views/Help/index.tsx"
+ "description": ""
},
- "rXbLl7": {
+ "HzaRKA": {
"defaultMessage": "Migrate to Matters",
- "description": "src/views/Help/index.tsx"
+ "description": ""
},
"skbUBl": {
"defaultMessage": "Log in",
@@ -261,7 +261,8 @@
},
"9+Ddtu": {
"defaultMessage": "Next",
- "description": ""},
+ "description": ""
+ },
"KZlRde": {
"defaultMessage": " replied to ",
"description": "src/components/Notice/ArticleArticleNotice/ArticleNewCollectedNotice.tsx"
@@ -489,5 +490,141 @@
"Jc+W6M": {
"defaultMessage": " resigned as tag maintainer. Would you like to be the new tag maintainer?",
"description": "src/components/Notice/TagNotice/TagLeaveNotice.tsx"
+ },
+ "sT9HoG": {
+ "defaultMessage": "Welcome to Matters, a free, autonomous and permanent space for creation and civil discourse.",
+ "description": "src/views/Follow/PickAuthors/index.tsx"
+ },
+ "7DIW6+": {
+ "defaultMessage": "Learn More",
+ "description": ""
+ },
+ "Z6ewE3": {
+ "defaultMessage": "Build Together",
+ "description": "src/views/Me/Settings/AnonymousSettings/Enhance/index.tsx"
+ },
+ "1pFLGZ": {
+ "defaultMessage": "Bug Bounty",
+ "description": ""
+ },
+ "mk+LCk": {
+ "defaultMessage": "Display Preferences",
+ "description": "src/views/Me/Settings/AnonymousSettings/DisplayPreferences/index.tsx"
+ },
+ "y1Z3or": {
+ "defaultMessage": "Language",
+ "description": ""
+ },
+ "itPgxd": {
+ "defaultMessage": "Profile",
+ "description": ""
+ },
+ "vH8sCb": {
+ "defaultMessage": "Circle",
+ "description": ""
+ },
+ "2atspc": {
+ "defaultMessage": "Drafts",
+ "description": ""
+ },
+ "3yk8fB": {
+ "defaultMessage": "Wallet",
+ "description": ""
+ },
+ "GZJpDf": {
+ "defaultMessage": "Analytics",
+ "description": ""
+ },
+ "nGBrvw": {
+ "defaultMessage": "Bookmarks",
+ "description": ""
+ },
+ "2slIPX": {
+ "defaultMessage": "Likes",
+ "description": ""
+ },
+ "MkwOFW": {
+ "defaultMessage": "Read History",
+ "description": ""
+ },
+ "fG41Ux": {
+ "defaultMessage": "Logged out successfully",
+ "description": ""
+ },
+ "Szd1tH": {
+ "defaultMessage": "Failed to log out, please try again.",
+ "description": ""
+ },
+ "HtSDyc": {
+ "defaultMessage": "Help Center",
+ "description": ""
+ },
+ "D3idYv": {
+ "defaultMessage": "Settings",
+ "description": ""
+ },
+ "H0JBH6": {
+ "defaultMessage": "Log Out",
+ "description": ""
+ },
+ "cE4Hfw": {
+ "defaultMessage": "Discover",
+ "description": ""
+ },
+ "cPIKU2": {
+ "defaultMessage": "Following",
+ "description": ""
+ },
+ "NAidKb": {
+ "defaultMessage": "Notifications",
+ "description": ""
+ },
+ "enMIYK": {
+ "defaultMessage": "My Page",
+ "description": ""
+ },
+ "xmcVZ0": {
+ "defaultMessage": "Search",
+ "description": ""
+ },
+ "47FYwb": {
+ "defaultMessage": "Cancel",
+ "description": ""
+ },
+ "ll/ufR": {
+ "defaultMessage": "Trending",
+ "description": ""
+ },
+ "adThp5": {
+ "defaultMessage": "Latest",
+ "description": ""
+ },
+ "CnPG8j": {
+ "defaultMessage": "Featured",
+ "description": ""
+ },
+ "zQvVDJ": {
+ "defaultMessage": "All",
+ "description": ""
+ },
+ "XgdZSb": {
+ "defaultMessage": "Authors",
+ "description": ""
+ },
+ "kc79d3": {
+ "defaultMessage": "Topics",
+ "description": ""
+ },
+ "Pp/0po": {
+ "defaultMessage": "Shuffle",
+ "description": ""
+ },
+ "6gOpfl": {
+ "defaultMessage": "You won't see announcements for 7 days",
+ "description": "src/views/Home/Announcements/index.tsx"
+ },
+ "pla6ZF": {
+ "defaultMessage": "Search articles, tags and authors",
+ "description": "src/components/Search/SearchBar/index.tsx"
}
}
diff --git a/lang/zh-Hans.json b/lang/zh-Hans.json
index 3c56def559..f7a0504755 100644
--- a/lang/zh-Hans.json
+++ b/lang/zh-Hans.json
@@ -7,17 +7,17 @@
"defaultMessage": "若你希望向 Matters 提出建议,或遭遇操作异常,请发送邮件至",
"description": "src/views/Help/index.tsx"
},
- "BqXRy4": {
+ "/ns2st": {
"defaultMessage": "下载应用",
- "description": "src/views/Help/index.tsx"
+ "description": ""
},
"FaTb0A": {
"defaultMessage": "安装 MetaMask",
"description": "src/components/Forms/WalletAuthForm/Select.tsx"
},
- "JMRVO6": {
+ "FhWC22": {
"defaultMessage": "社区共建基地",
- "description": "src/views/Help/index.tsx"
+ "description": ""
},
"RKs1fz": {
"defaultMessage": "开放社区",
@@ -27,21 +27,21 @@
"defaultMessage": ",我们会尽快回复!",
"description": "src/views/Help/index.tsx"
},
- "nmmItN": {
+ "ZjDH42": {
"defaultMessage": "关于我们",
- "description": "src/views/Help/index.tsx"
+ "description": ""
},
- "q7jZPx": {
+ "6flWFg": {
"defaultMessage": "用户协议",
- "description": "src/views/Help/index.tsx"
+ "description": ""
},
- "qXcvBF": {
+ "uVCg1l": {
"defaultMessage": "玩转 Matters 实用指南",
- "description": "src/views/Help/index.tsx"
+ "description": ""
},
- "rXbLl7": {
+ "HzaRKA": {
"defaultMessage": "一键搬家",
- "description": "src/views/Help/index.tsx"
+ "description": ""
},
"fOgusL": {
"defaultMessage": "选择进入方式",
@@ -261,7 +261,8 @@
},
"9+Ddtu": {
"defaultMessage": "下一步",
- "description": ""},
+ "description": ""
+ },
"k5NnNF": {
"defaultMessage": "追踪了你",
"description": "src/components/Notice/UserNotice/UserNewFollowerNotice.tsx"
@@ -489,5 +490,141 @@
"Jc+W6M": {
"defaultMessage": " 辞去了标签主理人权限,你要不要试试看成为新的主理人?",
"description": "src/components/Notice/TagNotice/TagLeaveNotice.tsx"
+ },
+ "sT9HoG": {
+ "defaultMessage": "欢迎加入 Matters,一个自由、自主、永续的创作与公共讨论空间。",
+ "description": "src/views/Follow/PickAuthors/index.tsx"
+ },
+ "7DIW6+": {
+ "defaultMessage": "了解更多",
+ "description": ""
+ },
+ "Z6ewE3": {
+ "defaultMessage": "参与开发",
+ "description": "src/views/Me/Settings/AnonymousSettings/Enhance/index.tsx"
+ },
+ "1pFLGZ": {
+ "defaultMessage": "漏洞赏金计划",
+ "description": ""
+ },
+ "mk+LCk": {
+ "defaultMessage": "界面设定",
+ "description": "src/views/Me/Settings/AnonymousSettings/DisplayPreferences/index.tsx"
+ },
+ "y1Z3or": {
+ "defaultMessage": "修改介面语言",
+ "description": ""
+ },
+ "itPgxd": {
+ "defaultMessage": "个人主页",
+ "description": ""
+ },
+ "vH8sCb": {
+ "defaultMessage": "我的围炉",
+ "description": ""
+ },
+ "2atspc": {
+ "defaultMessage": "我的草稿",
+ "description": ""
+ },
+ "3yk8fB": {
+ "defaultMessage": "我的钱包",
+ "description": ""
+ },
+ "GZJpDf": {
+ "defaultMessage": "数据后台",
+ "description": ""
+ },
+ "nGBrvw": {
+ "defaultMessage": "我的收藏",
+ "description": ""
+ },
+ "2slIPX": {
+ "defaultMessage": "我的赞赏",
+ "description": ""
+ },
+ "MkwOFW": {
+ "defaultMessage": "浏览记录",
+ "description": ""
+ },
+ "fG41Ux": {
+ "defaultMessage": "登出成功",
+ "description": ""
+ },
+ "Szd1tH": {
+ "defaultMessage": "登出失败,再来一次",
+ "description": ""
+ },
+ "HtSDyc": {
+ "defaultMessage": "帮助中心",
+ "description": ""
+ },
+ "D3idYv": {
+ "defaultMessage": "设定",
+ "description": ""
+ },
+ "H0JBH6": {
+ "defaultMessage": "登出",
+ "description": ""
+ },
+ "cE4Hfw": {
+ "defaultMessage": "发现",
+ "description": ""
+ },
+ "cPIKU2": {
+ "defaultMessage": "追踪",
+ "description": ""
+ },
+ "NAidKb": {
+ "defaultMessage": "通知",
+ "description": ""
+ },
+ "enMIYK": {
+ "defaultMessage": "我的",
+ "description": ""
+ },
+ "xmcVZ0": {
+ "defaultMessage": "搜索",
+ "description": ""
+ },
+ "47FYwb": {
+ "defaultMessage": "关闭",
+ "description": ""
+ },
+ "ll/ufR": {
+ "defaultMessage": "热门",
+ "description": ""
+ },
+ "adThp5": {
+ "defaultMessage": "最新",
+ "description": ""
+ },
+ "CnPG8j": {
+ "defaultMessage": "精华",
+ "description": ""
+ },
+ "zQvVDJ": {
+ "defaultMessage": "查看全部",
+ "description": ""
+ },
+ "XgdZSb": {
+ "defaultMessage": "值得关注",
+ "description": ""
+ },
+ "kc79d3": {
+ "defaultMessage": "找你想看的",
+ "description": ""
+ },
+ "Pp/0po": {
+ "defaultMessage": "换一批",
+ "description": ""
+ },
+ "6gOpfl": {
+ "defaultMessage": "暂时隐藏公告栏 7 天",
+ "description": "src/views/Home/Announcements/index.tsx"
+ },
+ "pla6ZF": {
+ "defaultMessage": "搜索作品、标签、作者",
+ "description": "src/components/Search/SearchBar/index.tsx"
}
}
diff --git a/lang/zh-Hant.json b/lang/zh-Hant.json
index 2b710a5c6e..0bf634d870 100644
--- a/lang/zh-Hant.json
+++ b/lang/zh-Hant.json
@@ -7,17 +7,17 @@
"defaultMessage": "若你希望向 Matters 提出建議,或遭遇操作異常,请發送郵件至",
"description": "src/views/Help/index.tsx"
},
- "BqXRy4": {
+ "/ns2st": {
"defaultMessage": "下載應用",
- "description": "src/views/Help/index.tsx"
+ "description": ""
},
"FaTb0A": {
"defaultMessage": "安裝 MetaMask",
"description": "src/components/Forms/WalletAuthForm/Select.tsx"
},
- "JMRVO6": {
+ "FhWC22": {
"defaultMessage": "社區共建基地",
- "description": "src/views/Help/index.tsx"
+ "description": ""
},
"RKs1fz": {
"defaultMessage": "開放社區",
@@ -27,21 +27,21 @@
"defaultMessage": ",我們會儘快回覆!",
"description": "src/views/Help/index.tsx"
},
- "nmmItN": {
+ "ZjDH42": {
"defaultMessage": "關於我們",
- "description": "src/views/Help/index.tsx"
+ "description": ""
},
- "q7jZPx": {
+ "6flWFg": {
"defaultMessage": "用戶協議",
- "description": "src/views/Help/index.tsx"
+ "description": ""
},
- "qXcvBF": {
+ "uVCg1l": {
"defaultMessage": "玩轉 Matters 實用指南",
- "description": "src/views/Help/index.tsx"
+ "description": ""
},
- "rXbLl7": {
+ "HzaRKA": {
"defaultMessage": "一鍵搬家",
- "description": "src/views/Help/index.tsx"
+ "description": ""
},
"fOgusL": {
"defaultMessage": "選擇進入方式",
@@ -261,7 +261,8 @@
},
"9+Ddtu": {
"defaultMessage": "下一步",
- "description": ""},
+ "description": ""
+ },
"k5NnNF": {
"defaultMessage": "追蹤了你",
"description": "src/components/Notice/UserNotice/UserNewFollowerNotice.tsx"
@@ -483,12 +484,147 @@
"description": "src/components/Notice/TagNotice/TagLeaveEditorNotice.tsx"
},
"dsBCfK": {
- "defaultMessage": "哎呀,標籤協作者",
- "description": "src/components/Notice/TagNotice/TagLeaveEditorNotice.tsx"
-},
-"Jc+W6M": {
- "defaultMessage": " 辭去了標籤主理人權限,你要不要試試看成為新的主理人?",
- "description": "src/components/Notice/TagNotice/TagLeaveNotice.tsx"
-}
+ "defaultMessage": "哎呀,標籤協作者",
+ "description": "src/components/Notice/TagNotice/TagLeaveEditorNotice.tsx"
+ },
+ "Jc+W6M": {
+ "defaultMessage": " 辭去了標籤主理人權限,你要不要試試看成為新的主理人?",
+ "description": "src/components/Notice/TagNotice/TagLeaveNotice.tsx"
+ },
+ "sT9HoG": {
+ "defaultMessage": "歡迎加入 Matters,一個自由、自主、永續的創作與公共討論空間。",
+ "description": "src/views/Follow/PickAuthors/index.tsx"
+ },
+ "7DIW6+": {
+ "defaultMessage": "暸解更多",
+ "description": ""
+ },
+ "Z6ewE3": {
+ "defaultMessage": "參與開發",
+ "description": "src/views/Me/Settings/AnonymousSettings/Enhance/index.tsx"
+ },
+ "1pFLGZ": {
+ "defaultMessage": "漏洞賞金計畫",
+ "description": ""
+ },
+ "mk+LCk": {
+ "defaultMessage": "介面設定",
+ "description": "src/views/Me/Settings/AnonymousSettings/DisplayPreferences/index.tsx"
+ },
+ "y1Z3or": {
+ "defaultMessage": "修改界面語言",
+ "description": ""
+ },
+ "itPgxd": {
+ "defaultMessage": "個人主頁",
+ "description": ""
+ },
+ "vH8sCb": {
+ "defaultMessage": "我的圍爐",
+ "description": ""
+ },
+ "2atspc": {
+ "defaultMessage": "我的草稿",
+ "description": ""
+ },
+ "3yk8fB": {
+ "defaultMessage": "我的錢包",
+ "description": ""
+ },
+ "GZJpDf": {
+ "defaultMessage": "數據後台",
+ "description": ""
+ },
+ "nGBrvw": {
+ "defaultMessage": "我的收藏",
+ "description": ""
+ },
+ "2slIPX": {
+ "defaultMessage": "我的讚賞",
+ "description": ""
+ },
+ "MkwOFW": {
+ "defaultMessage": "瀏覽紀錄",
+ "description": ""
+ },
+ "fG41Ux": {
+ "defaultMessage": "登出成功",
+ "description": ""
+ },
+ "Szd1tH": {
+ "defaultMessage": "登出失敗,請重試",
+ "description": ""
+ },
+ "HtSDyc": {
+ "defaultMessage": "幫助中心",
+ "description": ""
+ },
+ "D3idYv": {
+ "defaultMessage": "設定",
+ "description": ""
+ },
+ "H0JBH6": {
+ "defaultMessage": "登出",
+ "description": ""
+ },
+ "cE4Hfw": {
+ "defaultMessage": "發現",
+ "description": ""
+ },
+ "cPIKU2": {
+ "defaultMessage": "追蹤",
+ "description": ""
+ },
+ "NAidKb": {
+ "defaultMessage": "通知",
+ "description": ""
+ },
+ "enMIYK": {
+ "defaultMessage": "我的",
+ "description": ""
+ },
+ "xmcVZ0": {
+ "defaultMessage": "搜索",
+ "description": ""
+ },
+ "47FYwb": {
+ "defaultMessage": "關閉",
+ "description": ""
+ },
+ "ll/ufR": {
+ "defaultMessage": "熱門",
+ "description": ""
+ },
+ "adThp5": {
+ "defaultMessage": "最新",
+ "description": ""
+ },
+ "CnPG8j": {
+ "defaultMessage": "精華",
+ "description": ""
+ },
+ "zQvVDJ": {
+ "defaultMessage": "查看全部",
+ "description": ""
+ },
+ "XgdZSb": {
+ "defaultMessage": "值得關注",
+ "description": ""
+ },
+ "kc79d3": {
+ "defaultMessage": "找你想看的",
+ "description": ""
+ },
+ "Pp/0po": {
+ "defaultMessage": "換一批",
+ "description": ""
+ },
+ "6gOpfl": {
+ "defaultMessage": "暫時隱藏公告欄 7 天",
+ "description": "src/views/Home/Announcements/index.tsx"
+ },
+ "pla6ZF": {
+ "defaultMessage": "搜尋作品、標籤、作者",
+ "description": "src/components/Search/SearchBar/index.tsx"
+ }
}
-
diff --git a/src/components/Buttons/ConnectWallet/index.tsx b/src/components/Buttons/ConnectWallet/index.tsx
index b35f28213d..390ad3d1ab 100644
--- a/src/components/Buttons/ConnectWallet/index.tsx
+++ b/src/components/Buttons/ConnectWallet/index.tsx
@@ -1,5 +1,7 @@
+import { FormattedMessage } from 'react-intl'
+
import { PATHS } from '~/common/enums'
-import { Button, TextIcon, Translate } from '~/components'
+import { Button, TextIcon } from '~/components'
export const ConnectWalletButton = () => {
return (
@@ -11,7 +13,7 @@ export const ConnectWalletButton = () => {
href={PATHS.ME_SETTINGS_CONNECT_WALLET}
>
-
+
)
diff --git a/src/components/Buttons/Shuffle.tsx b/src/components/Buttons/Shuffle.tsx
index ba00adaefe..a3b7433b4e 100644
--- a/src/components/Buttons/Shuffle.tsx
+++ b/src/components/Buttons/Shuffle.tsx
@@ -1,10 +1,11 @@
+import { FormattedMessage } from 'react-intl'
+
import {
Button,
ButtonProps,
IconReload12,
TextIcon,
TextIconProps,
- Translate,
} from '~/components'
type ShuffleButtonProps = ButtonProps & Pick
@@ -25,7 +26,7 @@ export const ShuffleButton: React.FC = ({
size="xs"
weight="md"
>
-
+
)
diff --git a/src/components/Buttons/ViewAll/index.tsx b/src/components/Buttons/ViewAll/index.tsx
index 3e5e242699..1cc811f28d 100644
--- a/src/components/Buttons/ViewAll/index.tsx
+++ b/src/components/Buttons/ViewAll/index.tsx
@@ -1,10 +1,6 @@
-import {
- Button,
- ButtonProps,
- IconArrowRight8,
- TextIcon,
- Translate,
-} from '~/components'
+import { FormattedMessage } from 'react-intl'
+
+import { Button, ButtonProps, IconArrowRight8, TextIcon } from '~/components'
type ViewAllButtonProps = ButtonProps
@@ -23,7 +19,7 @@ export const ViewAllButton: React.FC = ({ ...props }) => {
weight="md"
textPlacement="left"
>
-
+
)
diff --git a/src/components/Layout/NavMenu/Bottom.tsx b/src/components/Layout/NavMenu/Bottom.tsx
index df494ba406..46559786ce 100644
--- a/src/components/Layout/NavMenu/Bottom.tsx
+++ b/src/components/Layout/NavMenu/Bottom.tsx
@@ -1,3 +1,5 @@
+import { FormattedMessage } from 'react-intl'
+
import {
ADD_TOAST,
COOKIE_TOKEN_NAME,
@@ -12,7 +14,6 @@ import {
IconSettings24,
Menu,
TextIcon,
- Translate,
useMutation,
} from '~/components'
import USER_LOGOUT from '~/components/GQL/mutations/userLogout'
@@ -36,7 +37,12 @@ const NavMenuBottom: React.FC = ({ isInSideDrawerNav }) => {
new CustomEvent(ADD_TOAST, {
detail: {
color: 'green',
- content: ,
+ content: (
+
+ ),
},
})
)
@@ -49,7 +55,12 @@ const NavMenuBottom: React.FC = ({ isInSideDrawerNav }) => {
new CustomEvent(ADD_TOAST, {
detail: {
color: 'red',
- content: ,
+ content: (
+
+ ),
},
})
)
@@ -69,7 +80,7 @@ const NavMenuBottom: React.FC = ({ isInSideDrawerNav }) => {
spacing="base"
size={menuItemSize}
>
-
+
@@ -79,7 +90,7 @@ const NavMenuBottom: React.FC = ({ isInSideDrawerNav }) => {
spacing="base"
size={menuItemSize}
>
-
+
@@ -89,7 +100,7 @@ const NavMenuBottom: React.FC = ({ isInSideDrawerNav }) => {
spacing="base"
size={menuItemSize}
>
-
+
diff --git a/src/components/Layout/NavMenu/Top.tsx b/src/components/Layout/NavMenu/Top.tsx
index ead02f63be..bb6d725be6 100644
--- a/src/components/Layout/NavMenu/Top.tsx
+++ b/src/components/Layout/NavMenu/Top.tsx
@@ -1,4 +1,5 @@
import { useContext } from 'react'
+import { FormattedMessage } from 'react-intl'
import { PATHS } from '~/common/enums'
import { toPath } from '~/common/utils'
@@ -14,7 +15,7 @@ import {
IconWallet24,
Menu,
TextIcon,
- Translate,
+ // Translate,
useFeatures,
ViewerContext,
} from '~/components'
@@ -52,7 +53,7 @@ const NavMenuTop: React.FC = ({ isInSideDrawerNav }) => {
spacing="base"
size={menuItemSize}
>
-
+
{circlePath && (
@@ -62,7 +63,7 @@ const NavMenuTop: React.FC = ({ isInSideDrawerNav }) => {
spacing="base"
size={menuItemSize}
>
-
+
)}
@@ -72,7 +73,7 @@ const NavMenuTop: React.FC = ({ isInSideDrawerNav }) => {
spacing="base"
size={menuItemSize}
>
-
+
{(features.add_credit || features.payout) && (
@@ -82,7 +83,7 @@ const NavMenuTop: React.FC = ({ isInSideDrawerNav }) => {
spacing="base"
size={menuItemSize}
>
-
+
)}
@@ -92,7 +93,7 @@ const NavMenuTop: React.FC = ({ isInSideDrawerNav }) => {
spacing="base"
size={menuItemSize}
>
-
+
@@ -101,7 +102,7 @@ const NavMenuTop: React.FC = ({ isInSideDrawerNav }) => {
spacing="base"
size={menuItemSize}
>
-
+
@@ -110,7 +111,7 @@ const NavMenuTop: React.FC = ({ isInSideDrawerNav }) => {
spacing="base"
size={menuItemSize}
>
-
+
@@ -119,7 +120,7 @@ const NavMenuTop: React.FC = ({ isInSideDrawerNav }) => {
spacing="base"
size={menuItemSize}
>
-
+
diff --git a/src/components/Layout/SideFooter/index.tsx b/src/components/Layout/SideFooter/index.tsx
index 9892d72942..845ca4062b 100644
--- a/src/components/Layout/SideFooter/index.tsx
+++ b/src/components/Layout/SideFooter/index.tsx
@@ -1,8 +1,9 @@
import Link from 'next/link'
import { useContext } from 'react'
+import { FormattedMessage } from 'react-intl'
import { GUIDE_LINKS, PATHS } from '~/common/enums'
-import { LanguageContext, LanguageSwitch, Translate } from '~/components'
+import { LanguageContext, LanguageSwitch } from '~/components'
import styles from './styles.css'
@@ -19,31 +20,40 @@ const SideFooter = () => {
-
+
-
+
-
+
-
+
-
+
@@ -52,7 +62,7 @@ const SideFooter = () => {
target="_blank"
rel="noreferrer"
>
-
+
{
target="_blank"
rel="noreferrer"
>
-
+
-
+
diff --git a/src/components/Layout/SideNav/index.tsx b/src/components/Layout/SideNav/index.tsx
index 870937da04..09939ff0a9 100644
--- a/src/components/Layout/SideNav/index.tsx
+++ b/src/components/Layout/SideNav/index.tsx
@@ -2,9 +2,9 @@ import VisuallyHidden from '@reach/visually-hidden'
import Link from 'next/link'
import { useContext } from 'react'
import FocusLock from 'react-focus-lock'
+import { FormattedMessage, useIntl } from 'react-intl'
import { PATHS, Z_INDEX } from '~/common/enums'
-import { translate } from '~/common/utils'
import {
Dropdown,
hidePopperOnClick,
@@ -14,10 +14,8 @@ import {
IconNavHomeActive24,
IconNavSearch24,
IconNavSettings24,
- LanguageContext,
Media,
Menu,
- Translate,
useRoute,
ViewerContext,
WriteButton,
@@ -30,8 +28,6 @@ import NavListItem from './NavListItem'
import styles from './styles.css'
const SideNav = () => {
- const { lang } = useContext(LanguageContext)
-
const { isInPath, isPathStartWith, getQuery } = useRoute()
const viewer = useContext(ViewerContext)
@@ -47,11 +43,17 @@ const SideNav = () => {
const isInMe =
(!isInNotification && isPathStartWith('/me')) || userName === viewerUserName
+ const intl = useIntl()
return (
-
+
@@ -64,7 +66,7 @@ const SideNav = () => {
}
+ name={}
icon={}
activeIcon={}
active={isInHome}
@@ -72,7 +74,7 @@ const SideNav = () => {
/>
}
+ name={}
icon={}
activeIcon={}
active={isInFollow}
@@ -81,7 +83,9 @@ const SideNav = () => {
{viewer.isAuthed && (
}
+ name={
+
+ }
icon={}
activeIcon={}
active={isInNotification}
@@ -91,7 +95,7 @@ const SideNav = () => {
}
+ name={}
icon={}
activeIcon={}
active={isInSearch}
@@ -101,7 +105,7 @@ const SideNav = () => {
{!viewer.isAuthed && (
}
+ name={}
icon={}
activeIcon={}
active={isInSettings}
@@ -116,7 +120,10 @@ const SideNav = () => {
@@ -132,7 +139,9 @@ const SideNav = () => {
onShown={hidePopperOnClick}
>
}
+ name={
+
+ }
icon={}
activeIcon={}
active={isInMe}
diff --git a/src/components/Notice/CircleNotice/CircleNewDiscussionComments.tsx b/src/components/Notice/CircleNotice/CircleNewDiscussionComments.tsx
index 7502d5b72b..67b701bbfb 100644
--- a/src/components/Notice/CircleNotice/CircleNewDiscussionComments.tsx
+++ b/src/components/Notice/CircleNotice/CircleNewDiscussionComments.tsx
@@ -86,10 +86,7 @@ const CircleNewDiscussionComments = ({
description=""
/>
) : (
-
+
)}
-
+
diff --git a/src/components/Notice/TagNotice/TagAdoptionNotice.tsx b/src/components/Notice/TagNotice/TagAdoptionNotice.tsx
index 65ec723c5e..f3e1383919 100644
--- a/src/components/Notice/TagNotice/TagAdoptionNotice.tsx
+++ b/src/components/Notice/TagNotice/TagAdoptionNotice.tsx
@@ -31,7 +31,10 @@ const TagAdoptionNotice = ({
-
+
diff --git a/src/components/Notice/TagNotice/TagLeaveEditorNotice.tsx b/src/components/Notice/TagNotice/TagLeaveEditorNotice.tsx
index ceb5c50b09..9f326240d0 100644
--- a/src/components/Notice/TagNotice/TagLeaveEditorNotice.tsx
+++ b/src/components/Notice/TagNotice/TagLeaveEditorNotice.tsx
@@ -30,9 +30,15 @@ const TagLeaveEditorNotice = ({
-
+
-
+
diff --git a/src/components/Notice/TagNotice/TagLeaveNotice.tsx b/src/components/Notice/TagNotice/TagLeaveNotice.tsx
index c5a1c7112a..149a3cb3b9 100644
--- a/src/components/Notice/TagNotice/TagLeaveNotice.tsx
+++ b/src/components/Notice/TagNotice/TagLeaveNotice.tsx
@@ -27,7 +27,10 @@ const TagLeaveNotice = ({ notice }: { notice: TagLeaveNoticeFragment }) => {
-
+
diff --git a/src/components/Search/SearchBar/index.tsx b/src/components/Search/SearchBar/index.tsx
index 551a600a87..34c8a0aae7 100644
--- a/src/components/Search/SearchBar/index.tsx
+++ b/src/components/Search/SearchBar/index.tsx
@@ -1,14 +1,14 @@
import dynamic from 'next/dynamic'
-import { useContext, useEffect, useState } from 'react'
+import { useEffect, useState } from 'react'
+import { useIntl } from 'react-intl'
import { useDebounce } from 'use-debounce'
import { INPUT_DEBOUNCE, Z_INDEX } from '~/common/enums'
-import { toPath, translate } from '~/common/utils'
+import { toPath } from '~/common/utils'
import {
Button,
Dropdown,
IconSearch16,
- LanguageContext,
SearchAutoComplete,
SearchOverview,
useRoute,
@@ -29,13 +29,15 @@ const DynamicFormik = dynamic(
)
const SearchButton = () => {
- const { lang } = useContext(LanguageContext)
-
+ const intl = useIntl()
return (
@@ -48,15 +50,17 @@ export const SearchBar: React.FC = ({
}) => {
const { getQuery, router } = useRoute()
const q = getQuery('q')
- const { lang } = useContext(LanguageContext)
const [search, setSearch] = useState('')
const [debouncedSearch] = useDebounce(search, INPUT_DEBOUNCE)
- const textAriaLabel = translate({ id: 'search', lang })
- const textPlaceholder = translate({
- zh_hant: '搜尋作品、標籤、作者',
- zh_hans: '搜索作品、标签、作者',
- en: 'Search articles, tags and authors',
- lang,
+ const intl = useIntl()
+
+ const textAriaLabel = intl.formatMessage({
+ defaultMessage: 'Search',
+ description: '',
+ })
+ const textPlaceholder = intl.formatMessage({
+ defaultMessage: 'Search articles, tags and authors',
+ description: 'src/components/Search/SearchBar/index.tsx',
})
// dropdown
diff --git a/src/views/Help/index.tsx b/src/views/Help/index.tsx
index 27ea00ac75..7261b8f48a 100644
--- a/src/views/Help/index.tsx
+++ b/src/views/Help/index.tsx
@@ -18,7 +18,7 @@ const BaseHelp = () => {
role="link"
title={intl.formatMessage({
defaultMessage: 'About Us',
- description: 'src/views/Help/index.tsx',
+ description: '',
})}
href={PATHS.ABOUT}
/>
@@ -26,7 +26,7 @@ const BaseHelp = () => {
role="link"
title={intl.formatMessage({
defaultMessage: 'Explore Matters',
- description: 'src/views/Help/index.tsx',
+ description: '',
})}
href={PATHS.GUIDE}
/>
@@ -34,7 +34,7 @@ const BaseHelp = () => {
role="link"
title={intl.formatMessage({
defaultMessage: 'Matters Community',
- description: 'src/views/Help/index.tsx',
+ description: '',
})}
href={PATHS.COMMUNITY}
/>
@@ -42,7 +42,7 @@ const BaseHelp = () => {
role="link"
title={intl.formatMessage({
defaultMessage: 'Migrate to Matters',
- description: 'src/views/Help/index.tsx',
+ description: '',
})}
href={PATHS.MIGRATION}
/>
@@ -50,7 +50,7 @@ const BaseHelp = () => {
role="link"
title={intl.formatMessage({
defaultMessage: 'Term of Services',
- description: 'src/views/Help/index.tsx',
+ description: '',
})}
href={PATHS.TOS}
/>
@@ -58,7 +58,7 @@ const BaseHelp = () => {
role="link"
title={intl.formatMessage({
defaultMessage: 'Open Source',
- description: 'src/views/Help/index.tsx',
+ description: '',
})}
htmlHref="https://github.com/thematters/developer-resource"
htmlTarget="_blank"
@@ -67,7 +67,7 @@ const BaseHelp = () => {
role="link"
title={intl.formatMessage({
defaultMessage: 'Download App',
- description: 'src/views/Help/index.tsx',
+ description: '',
})}
href={GUIDE_LINKS.PWA[lang]}
/>
diff --git a/src/views/Home/Announcements/index.tsx b/src/views/Home/Announcements/index.tsx
index c25fbc2230..5c58da7e82 100644
--- a/src/views/Home/Announcements/index.tsx
+++ b/src/views/Home/Announcements/index.tsx
@@ -2,10 +2,10 @@ import { useApolloClient, useQuery } from '@apollo/react-hooks'
import _get from 'lodash/get'
import _some from 'lodash/some'
import { useState } from 'react'
+import { FormattedMessage } from 'react-intl'
import { ADD_TOAST, STORAGE_KEY_ANNOUNCEMENT } from '~/common/enums'
import { storage } from '~/common/utils'
-import { Translate } from '~/components'
import { VisibleAnnouncementsQuery } from '~/gql/graphql'
import Carousel from './Carousel'
@@ -78,10 +78,9 @@ const Announcements = () => {
detail: {
color: 'green',
content: (
-
),
buttonPlacement: 'center',
diff --git a/src/views/Home/Feed/Authors/index.tsx b/src/views/Home/Feed/Authors/index.tsx
index 60cfa5bd36..94ec0ea634 100644
--- a/src/views/Home/Feed/Authors/index.tsx
+++ b/src/views/Home/Feed/Authors/index.tsx
@@ -2,6 +2,7 @@ import { useQuery } from '@apollo/react-hooks'
import _chunk from 'lodash/chunk'
import _random from 'lodash/random'
import { useContext, useEffect } from 'react'
+import { FormattedMessage } from 'react-intl'
import { PATHS } from '~/common/enums'
import { analytics } from '~/common/utils'
@@ -10,7 +11,6 @@ import {
ShuffleButton,
Slides,
Spinner,
- Translate,
usePublicQuery,
UserDigest,
ViewerContext,
@@ -124,7 +124,7 @@ const Authors = () => {
textIconProps={{ size: 'sm', weight: 'md', spacing: 'xxtight' }}
textAlign="center"
>
-
+ {' '}
diff --git a/src/views/Home/Feed/SortBy/index.tsx b/src/views/Home/Feed/SortBy/index.tsx
index 6b65cae6f8..83c8333031 100644
--- a/src/views/Home/Feed/SortBy/index.tsx
+++ b/src/views/Home/Feed/SortBy/index.tsx
@@ -1,11 +1,11 @@
import { useContext } from 'react'
+import { FormattedMessage } from 'react-intl'
import {
ConnectWalletButton,
Help,
Media,
Tabs,
- Translate,
ViewerContext,
} from '~/components'
@@ -44,15 +44,15 @@ const SortBy: React.FC = ({ feedType, setFeedType }) => {
return (
}>
setFeedType('hottest')} selected={isHottest}>
-
+
setFeedType('newest')} selected={isNewset}>
-
+
setFeedType('icymi')} selected={isICYMI}>
-
+
)
diff --git a/src/views/Home/Feed/Tags/index.tsx b/src/views/Home/Feed/Tags/index.tsx
index 213b0b590e..341c9e1e3b 100644
--- a/src/views/Home/Feed/Tags/index.tsx
+++ b/src/views/Home/Feed/Tags/index.tsx
@@ -2,6 +2,7 @@ import { useQuery } from '@apollo/react-hooks'
import gql from 'graphql-tag'
import _chunk from 'lodash/chunk'
import { useContext } from 'react'
+import { FormattedMessage } from 'react-intl'
import { PATHS } from '~/common/enums'
import { analytics } from '~/common/utils'
@@ -11,7 +12,6 @@ import {
Slides,
Spinner,
TagDigest,
- Translate,
usePublicQuery,
ViewerContext,
ViewMoreCard,
@@ -133,7 +133,7 @@ const TagsFeed = () => {
textIconProps={{ size: 'sm', weight: 'md', spacing: 'xxtight' }}
textAlign="center"
>
-
+
diff --git a/src/views/Home/SectionHeader/index.tsx b/src/views/Home/SectionHeader/index.tsx
index 7632179265..d0e2e6092c 100644
--- a/src/views/Home/SectionHeader/index.tsx
+++ b/src/views/Home/SectionHeader/index.tsx
@@ -1,5 +1,7 @@
+import { FormattedMessage } from 'react-intl'
+
import { PATHS } from '~/common/enums'
-import { PageHeader, Translate, ViewAllButton } from '~/components'
+import { PageHeader, ViewAllButton } from '~/components'
import styles from './styles.css'
@@ -19,8 +21,8 @@ const FeedHeader = ({
tags: PATHS.TAGS,
}
const titleMap = {
- authors: ,
- tags: ,
+ authors: ,
+ tags: ,
}
const path = pathMap[type]
diff --git a/src/views/Me/Settings/AnonymousSettings/DisplayPreferences/SwitchLanguage/index.tsx b/src/views/Me/Settings/AnonymousSettings/DisplayPreferences/SwitchLanguage/index.tsx
index d2255b3f81..f5d9cf4b89 100644
--- a/src/views/Me/Settings/AnonymousSettings/DisplayPreferences/SwitchLanguage/index.tsx
+++ b/src/views/Me/Settings/AnonymousSettings/DisplayPreferences/SwitchLanguage/index.tsx
@@ -1,4 +1,5 @@
import { useContext } from 'react'
+import { FormattedMessage } from 'react-intl'
import { LANG_TEXT_MAP } from '~/common/enums'
import {
@@ -6,7 +7,6 @@ import {
Form,
LanguageContext,
LanguageSwitchContent,
- Translate,
} from '~/components'
const SwitchLanguage = () => {
@@ -20,18 +20,12 @@ const SwitchLanguage = () => {
}}
dialog={{
content: ,
- title: (
-
- ),
+ title: ,
}}
>
{({ openDialog, type, ref }) => (
}
+ title={}
onClick={openDialog}
rightText={LANG_TEXT_MAP[lang]}
ariaHasPopup={type}
diff --git a/src/views/Me/Settings/AnonymousSettings/DisplayPreferences/index.tsx b/src/views/Me/Settings/AnonymousSettings/DisplayPreferences/index.tsx
index fbe775256f..bf9160cabf 100644
--- a/src/views/Me/Settings/AnonymousSettings/DisplayPreferences/index.tsx
+++ b/src/views/Me/Settings/AnonymousSettings/DisplayPreferences/index.tsx
@@ -1,10 +1,19 @@
-import { Form, Translate } from '~/components'
+import { FormattedMessage } from 'react-intl'
+
+import { Form } from '~/components'
import SwitchLanguage from './SwitchLanguage'
const DisplayPreferences = () => {
return (
- }>
+
+ }
+ >
)
diff --git a/src/views/Me/Settings/AnonymousSettings/Enhance/index.tsx b/src/views/Me/Settings/AnonymousSettings/Enhance/index.tsx
index 3060347c6f..87599024e5 100644
--- a/src/views/Me/Settings/AnonymousSettings/Enhance/index.tsx
+++ b/src/views/Me/Settings/AnonymousSettings/Enhance/index.tsx
@@ -1,20 +1,25 @@
-import { Form, Translate } from '~/components'
+import { FormattedMessage } from 'react-intl'
+
+import { Form } from '~/components'
const Enhance = () => {
return (
+
}
>
}
+ title={}
href="https://github.com/thematters/developer-resource"
/>
}
+ title={}
href="https://github.com/thematters/developer-resource/blob/master/SECURITY.md"
/>
diff --git a/src/views/Me/Settings/AnonymousSettings/Learn/index.tsx b/src/views/Me/Settings/AnonymousSettings/Learn/index.tsx
index 15e87cac6b..3b21c645a7 100644
--- a/src/views/Me/Settings/AnonymousSettings/Learn/index.tsx
+++ b/src/views/Me/Settings/AnonymousSettings/Learn/index.tsx
@@ -1,7 +1,8 @@
import { useContext } from 'react'
+import { FormattedMessage } from 'react-intl'
import { GUIDE_LINKS, PATHS } from '~/common/enums'
-import { Form, LanguageContext, Translate } from '~/components'
+import { Form, LanguageContext } from '~/components'
const Learn = () => {
const { lang } = useContext(LanguageContext)
@@ -9,37 +10,50 @@ const Learn = () => {
return (
+
}
>
}
+ title={}
href={PATHS.ABOUT}
/>
}
+ title={
+
+ }
href={PATHS.GUIDE}
/>
}
+ title={
+
+ }
href={PATHS.COMMUNITY}
/>
}
+ title={
+
+ }
href={PATHS.MIGRATION}
/>
}
+ title={
+
+ }
href={PATHS.TOS}
/>
}
+ title={
+
+ }
href={GUIDE_LINKS.PWA[lang]}
/>
From 88166c1a7d7fa592f57c1733cb114ba2d23cc792 Mon Sep 17 00:00:00 2001
From: Aka jazzy
Date: Tue, 7 Mar 2023 18:04:57 +0800
Subject: [PATCH 02/31] feat(i18n): fix Open Source translation
---
lang/en.json | 4 ++--
lang/zh-Hans.json | 4 ++--
lang/zh-Hant.json | 4 ++--
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/lang/en.json b/lang/en.json
index 89a74d4c1e..e0515ec60a 100644
--- a/lang/en.json
+++ b/lang/en.json
@@ -23,9 +23,9 @@
"defaultMessage": "Matters Community",
"description": ""
},
- "RKs1fz": {
+ "Xd0J7Y": {
"defaultMessage": "Open Source",
- "description": "src/views/Help/index.tsx"
+ "description": ""
},
"cfL5uk": {
"defaultMessage": "Over 200 words, current {numbers}",
diff --git a/lang/zh-Hans.json b/lang/zh-Hans.json
index f7a0504755..b5713bdfe0 100644
--- a/lang/zh-Hans.json
+++ b/lang/zh-Hans.json
@@ -19,9 +19,9 @@
"defaultMessage": "社区共建基地",
"description": ""
},
- "RKs1fz": {
+ "Xd0J7Y": {
"defaultMessage": "开放社区",
- "description": "src/views/Help/index.tsx"
+ "description": ""
},
"dnsfmR": {
"defaultMessage": ",我们会尽快回复!",
diff --git a/lang/zh-Hant.json b/lang/zh-Hant.json
index 0bf634d870..85a92e3a15 100644
--- a/lang/zh-Hant.json
+++ b/lang/zh-Hant.json
@@ -19,9 +19,9 @@
"defaultMessage": "社區共建基地",
"description": ""
},
- "RKs1fz": {
+ "Xd0J7Y": {
"defaultMessage": "開放社區",
- "description": "src/views/Help/index.tsx"
+ "description": ""
},
"dnsfmR": {
"defaultMessage": ",我們會儘快回覆!",
From 82353e71c146c5c0430c630cd7df0f6e96cab9b0 Mon Sep 17 00:00:00 2001
From: Aka jazzy
Date: Tue, 7 Mar 2023 21:51:03 +0800
Subject: [PATCH 03/31] feat(i18n): change All to View All
---
lang/default.json | 8 ++++----
lang/en.json | 4 ++--
lang/zh-Hans.json | 2 +-
lang/zh-Hant.json | 2 +-
src/components/Buttons/ViewAll/index.tsx | 2 +-
src/views/Home/Feed/Authors/index.tsx | 2 +-
src/views/Home/Feed/Tags/index.tsx | 2 +-
7 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/lang/default.json b/lang/default.json
index 821e3f0d95..57fbfd2061 100644
--- a/lang/default.json
+++ b/lang/default.json
@@ -554,6 +554,10 @@
"defaultMessage": "Contact Channel",
"description": "src/components/Forms/WalletAuthForm/Connect.tsx"
},
+ "wbcwKd": {
+ "defaultMessage": "View All",
+ "description": ""
+ },
"wqaNK4": {
"defaultMessage": "in your circle",
"description": ""
@@ -585,9 +589,5 @@
"z4NaU2": {
"defaultMessage": "Your",
"description": "src/components/Notice/TransactionNotice/PaymentPayoutNotice.tsx"
- },
- "zQvVDJ": {
- "defaultMessage": "All",
- "description": ""
}
}
diff --git a/lang/en.json b/lang/en.json
index e0515ec60a..7234b23986 100644
--- a/lang/en.json
+++ b/lang/en.json
@@ -603,8 +603,8 @@
"defaultMessage": "Featured",
"description": ""
},
- "zQvVDJ": {
- "defaultMessage": "All",
+ "wbcwKd": {
+ "defaultMessage": "View All",
"description": ""
},
"XgdZSb": {
diff --git a/lang/zh-Hans.json b/lang/zh-Hans.json
index b5713bdfe0..0790c53bc0 100644
--- a/lang/zh-Hans.json
+++ b/lang/zh-Hans.json
@@ -603,7 +603,7 @@
"defaultMessage": "精华",
"description": ""
},
- "zQvVDJ": {
+ "wbcwKd": {
"defaultMessage": "查看全部",
"description": ""
},
diff --git a/lang/zh-Hant.json b/lang/zh-Hant.json
index 85a92e3a15..4d10ba18c6 100644
--- a/lang/zh-Hant.json
+++ b/lang/zh-Hant.json
@@ -603,7 +603,7 @@
"defaultMessage": "精華",
"description": ""
},
- "zQvVDJ": {
+ "wbcwKd": {
"defaultMessage": "查看全部",
"description": ""
},
diff --git a/src/components/Buttons/ViewAll/index.tsx b/src/components/Buttons/ViewAll/index.tsx
index 1cc811f28d..f7a09f1597 100644
--- a/src/components/Buttons/ViewAll/index.tsx
+++ b/src/components/Buttons/ViewAll/index.tsx
@@ -19,7 +19,7 @@ export const ViewAllButton: React.FC = ({ ...props }) => {
weight="md"
textPlacement="left"
>
-
+
)
diff --git a/src/views/Home/Feed/Authors/index.tsx b/src/views/Home/Feed/Authors/index.tsx
index 94ec0ea634..247e37b2bd 100644
--- a/src/views/Home/Feed/Authors/index.tsx
+++ b/src/views/Home/Feed/Authors/index.tsx
@@ -124,7 +124,7 @@ const Authors = () => {
textIconProps={{ size: 'sm', weight: 'md', spacing: 'xxtight' }}
textAlign="center"
>
- {' '}
+ {' '}
diff --git a/src/views/Home/Feed/Tags/index.tsx b/src/views/Home/Feed/Tags/index.tsx
index 341c9e1e3b..7016346159 100644
--- a/src/views/Home/Feed/Tags/index.tsx
+++ b/src/views/Home/Feed/Tags/index.tsx
@@ -133,7 +133,7 @@ const TagsFeed = () => {
textIconProps={{ size: 'sm', weight: 'md', spacing: 'xxtight' }}
textAlign="center"
>
-
+
From 620509a9e8143ed2a5ac06d372a8a96a3e491b94 Mon Sep 17 00:00:00 2001
From: Aka jazzy
Date: Tue, 7 Mar 2023 23:27:39 +0800
Subject: [PATCH 04/31] feat(i18n): migrate user page
---
lang/default.json | 132 ++++++++++++++++++
lang/en.json | 128 +++++++++++++++++
lang/zh-Hans.json | 128 +++++++++++++++++
lang/zh-Hant.json | 128 +++++++++++++++++
src/components/BlockUser/Button/index.tsx | 17 ++-
.../Dialogs/RssFeedDialog/Content.tsx | 64 ++++-----
src/components/Dialogs/ShareDialog/Copy.tsx | 28 ++--
.../Layout/Header/ShareButton/index.tsx | 12 +-
src/components/Share/Buttons/Douban.tsx | 9 +-
src/components/Share/Buttons/Email.tsx | 6 +-
src/components/Share/Buttons/Weibo.tsx | 9 +-
.../UserProfile/CircleWidget/index.tsx | 15 +-
.../UserProfile/DropdownActions/index.tsx | 25 ++--
src/components/UserProfile/index.tsx | 39 ++++--
src/views/User/Articles/UserArticles.tsx | 17 ++-
src/views/User/UserTabs/index.tsx | 12 +-
16 files changed, 659 insertions(+), 110 deletions(-)
diff --git a/lang/default.json b/lang/default.json
index 738a50135a..78c7960402 100644
--- a/lang/default.json
+++ b/lang/default.json
@@ -3,14 +3,26 @@
"defaultMessage": "sent a new broadcast on {circlename}",
"description": "src/components/Notice/CommentNotice/CircleNewBroadcastNotice.tsx"
},
+ "/+XWDi": {
+ "defaultMessage": "Logbook 2.0",
+ "description": "src/components/UserProfile/DropdownActions/index.tsx"
+ },
"/3G89K": {
"defaultMessage": "is growing",
"description": "src/components/Notice/ArticleNotice/CircleNewArticle.tsx"
},
+ "/3kw6k": {
+ "defaultMessage": "Adding contents into IPFS network, and it usually takes some times, please wait. You can accelerate the process by publishing new article.",
+ "description": "src/components/Dialogs/RssFeedDialog/Content.tsx"
+ },
"/A/biR": {
"defaultMessage": "Terms and Privacy Policy",
"description": "src/components/Forms/WalletAuthForm/Connect.tsx"
},
+ "/IN9oo": {
+ "defaultMessage": "words",
+ "description": ""
+ },
"/asuIY": {
"defaultMessage": "Enter Community",
"description": "src/components/Forms/EmailSignUpForm/Complete.tsx"
@@ -19,10 +31,18 @@
"defaultMessage": "replied to your comment on",
"description": "src/components/Notice/CommentCommentNotice/CommentNewReplyNotice.tsx"
},
+ "1EYCdR": {
+ "defaultMessage": "Tags",
+ "description": ""
+ },
"2eebTb": {
"defaultMessage": "bookmarked your article",
"description": "src/components/Notice/ArticleNotice/ArticleNewSubscriberNotice.tsx"
},
+ "3KNMbJ": {
+ "defaultMessage": "Articles",
+ "description": ""
+ },
"3WKlPP": {
"defaultMessage": "commented in",
"description": ""
@@ -59,6 +79,10 @@
"defaultMessage": "Enter Password",
"description": ""
},
+ "A7ugfn": {
+ "defaultMessage": "More Actions",
+ "description": ""
+ },
"ANhCde": {
"defaultMessage": "Start creating now!",
"description": "src/components/Forms/EmailSignUpForm/Complete.tsx"
@@ -79,10 +103,18 @@
"defaultMessage": "Not for login",
"description": "src/components/Forms/WalletAuthForm/Connect.tsx"
},
+ "D2Sw/t": {
+ "defaultMessage": "Add any URL in the following list into RSS reader",
+ "description": "src/components/Dialogs/RssFeedDialog/Content.tsx"
+ },
"EfJYPI": {
"defaultMessage": "Verification Code",
"description": "src/components/Forms/WalletAuthForm/Connect.tsx"
},
+ "EoNvLu": {
+ "defaultMessage": "Created",
+ "description": "src/views/User/Articles/UserArticles.tsx"
+ },
"EwVnoC": {
"defaultMessage": "I have read and agree to",
"description": ""
@@ -119,6 +151,10 @@
"defaultMessage": "User registered by email can login and enable wallet login later",
"description": "src/components/Forms/SelectAuthMethodForm/index.tsx"
},
+ "J+dIsA": {
+ "defaultMessage": "Subscriptions",
+ "description": ""
+ },
"J3yk6u": {
"defaultMessage": "in circle",
"description": ""
@@ -151,6 +187,10 @@
"defaultMessage": "Congrats!",
"description": "src/components/Notice/CircleNotice/CircleInvitationNotice.tsx"
},
+ "Lc/azT": {
+ "defaultMessage": "IPNS Subscription",
+ "description": "src/components/Dialogs/RssFeedDialog/Content.tsx"
+ },
"LqxIEU": {
"defaultMessage": "Wallet address will be part of your digital identity and shown in your profile page.",
"description": "src/components/Forms/WalletAuthForm/Select.tsx"
@@ -163,14 +203,26 @@
"defaultMessage": "Matters will never ask for your wallet mnemonic through any channel.",
"description": "src/components/Forms/WalletAuthForm/Connect.tsx"
},
+ "NONfAh": {
+ "defaultMessage": "Douban",
+ "description": "src/components/Share/Buttons/Douban.tsx"
+ },
"NzfL1d": {
"defaultMessage": "Enter password again",
"description": "src/components/Forms/EmailSignUpForm/Password.tsx"
},
+ "O02Dsj": {
+ "defaultMessage": "Copy Link",
+ "description": "src/components/Dialogs/ShareDialog/Copy.tsx"
+ },
"O03Rkc": {
"defaultMessage": "resigned as tag collaborator. You can invite new collaborators to join",
"description": "src/components/Notice/TagNotice/TagLeaveEditorNotice.tsx"
},
+ "OKhRC6": {
+ "defaultMessage": "Share",
+ "description": ""
+ },
"PjT72J": {
"defaultMessage": "liked your article",
"description": "src/components/Notice/ArticleNotice/ArticleNewAppreciationNotice.tsx"
@@ -195,6 +247,10 @@
"defaultMessage": "You have successfully completed Ethereum wallet settings. Please confirm wallet address:",
"description": "src/components/Notice/CryptoNotice/CryptoWalletConnectedNotice.tsx"
},
+ "UxfPXa": {
+ "defaultMessage": "In total",
+ "description": "src/views/User/Articles/UserArticles.tsx"
+ },
"VO4Elt": {
"defaultMessage": "mentioned you in a comment on {commentArticle}",
"description": "src/components/Notice/CommentNotice/CommentMentionedYouNotice.tsx"
@@ -207,6 +263,10 @@
"defaultMessage": "Matters will never ask your wallet key through any channel.",
"description": "src/components/Forms/WalletAuthForm/Select.tsx"
},
+ "WBVVYd": {
+ "defaultMessage": "Responses",
+ "description": ""
+ },
"XH0Lb6": {
"defaultMessage": "Welcome to Matters!",
"description": "src/components/Forms/EmailSignUpForm/Complete.tsx"
@@ -243,10 +303,26 @@
"defaultMessage": "replied to your discussion on",
"description": "src/components/Notice/CommentCommentNotice/CommentNewReplyNotice.tsx"
},
+ "b1FfGy": {
+ "defaultMessage": "Content Feed",
+ "description": "src/components/UserProfile/index.tsx"
+ },
+ "bBYO6x": {
+ "defaultMessage": "Unblock",
+ "description": "src/components/BlockUser/Button/index.tsx"
+ },
"bVZDVx": {
"defaultMessage": "withdrawal process has started. Please refer to your bank for payout status.",
"description": "src/components/Notice/TransactionNotice/PaymentPayoutNotice.tsx"
},
+ "cPIKU2": {
+ "defaultMessage": "Following",
+ "description": ""
+ },
+ "cf37Zy": {
+ "defaultMessage": "Add hash from IPFS into compatible reader such as",
+ "description": "src/components/Dialogs/RssFeedDialog/Content.tsx"
+ },
"cfL5uk": {
"defaultMessage": "Over 200 words, current {numbers}",
"description": "src/components/UserProfile/DropdownActions/EditProfileDialog/Content.tsx"
@@ -287,6 +363,10 @@
"defaultMessage": "posted and replied to topics",
"description": "src/components/Notice/CircleNotice/CircleNewDiscussionComments.tsx"
},
+ "gMZfHO": {
+ "defaultMessage": "RSS Subscription",
+ "description": "src/components/Dialogs/RssFeedDialog/Content.tsx"
+ },
"hWs95P": {
"defaultMessage": "Important information will be notified by email. So filling in your email address will be required.",
"description": "src/components/Forms/WalletAuthForm/Connect.tsx"
@@ -299,10 +379,18 @@
"defaultMessage": "Don't have a wallet yet? Check the",
"description": "src/components/Forms/WalletAuthForm/Select.tsx"
},
+ "i/4KO2": {
+ "defaultMessage": "This account is archived due to violation of community guidelines",
+ "description": "src/components/UserProfile/index.tsx"
+ },
"iCFXtS": {
"defaultMessage": "For unregistered or users enabled wallet login",
"description": "src/components/Forms/SelectAuthMethodForm/index.tsx"
},
+ "ikVIu3": {
+ "defaultMessage": "articles",
+ "description": ""
+ },
"ipQlDG": {
"defaultMessage": "Login with Email",
"description": "src/components/Forms/EmailSignUpForm/Buttons.tsx"
@@ -335,6 +423,10 @@
"defaultMessage": "subscribed your circle",
"description": "src/components/Notice/CircleNotice/CircleNewUserNotice.tsx"
},
+ "mSAY3/": {
+ "defaultMessage": "User unblocked. User can now comment on your articles.",
+ "description": "src/components/BlockUser/Button/index.tsx"
+ },
"ml3SZN": {
"defaultMessage": "Minimum 8 characters. Uppercase/lowercase letters, numbers and symbols are allowed",
"description": ""
@@ -358,6 +450,14 @@
"ntjlWR": {
"defaultMessage": "comment"
},
+ "oNYnCM": {
+ "defaultMessage": "Account Archived",
+ "description": "src/components/UserProfile/index.tsx"
+ },
+ "pzTOmv": {
+ "defaultMessage": "Followers",
+ "description": ""
+ },
"q7jZPx": {
"defaultMessage": "Term of Services",
"description": "src/views/Help/index.tsx"
@@ -382,6 +482,14 @@
"defaultMessage": "Email will not be used as a login but only as a contact channel.",
"description": ""
},
+ "qyzJxi": {
+ "defaultMessage": "Logbook 1.0",
+ "description": "src/components/UserProfile/DropdownActions/index.tsx"
+ },
+ "rBjwQy": {
+ "defaultMessage": "Weibo",
+ "description": "src/components/Share/Buttons/Weibo.tsx"
+ },
"rXbLl7": {
"defaultMessage": "Migrate to Matters",
"description": "src/views/Help/index.tsx"
@@ -390,6 +498,14 @@
"defaultMessage": "You have created your personal creative space. Publish your first work!",
"description": "src/components/Forms/EmailSignUpForm/Complete.tsx"
},
+ "rf0ew3": {
+ "defaultMessage": "Come build a Circle and call on your supporters to join you!",
+ "description": "src/components/UserProfile/CircleWidget/index.tsx"
+ },
+ "rs0YS2": {
+ "defaultMessage": "Account Banned",
+ "description": "src/components/UserProfile/index.tsx"
+ },
"skbUBl": {
"defaultMessage": "Log in",
"description": "src/components/Buttons/Login/index.tsx"
@@ -418,6 +534,10 @@
"defaultMessage": "replied to topics and mentioned you",
"description": "src/components/Notice/CircleNotice/CircleNewDiscussionComments.tsx"
},
+ "u5aHb4": {
+ "defaultMessage": "Copy Link",
+ "description": ""
+ },
"uqmi/b": {
"defaultMessage": "pinned your comment on",
"description": "src/components/Notice/CommentNotice/CommentPinnedNotice.tsx"
@@ -430,6 +550,14 @@
"defaultMessage": "Account",
"description": "src/components/Forms/WalletAuthForm/Select.tsx"
},
+ "vAc1Bw": {
+ "defaultMessage": "Block User",
+ "description": ""
+ },
+ "wEQDC6": {
+ "defaultMessage": "Edit",
+ "description": ""
+ },
"wSEOxH": {
"defaultMessage": "Contact Channel",
"description": "src/components/Forms/WalletAuthForm/Connect.tsx"
@@ -457,5 +585,9 @@
"z4NaU2": {
"defaultMessage": "Your",
"description": "src/components/Notice/TransactionNotice/PaymentPayoutNotice.tsx"
+ },
+ "zxlwbc": {
+ "defaultMessage": "Waiting ...",
+ "description": "src/components/Dialogs/RssFeedDialog/Content.tsx"
}
}
diff --git a/lang/en.json b/lang/en.json
index ef48224252..52dcacae4c 100644
--- a/lang/en.json
+++ b/lang/en.json
@@ -490,5 +490,133 @@
"Jc+W6M": {
"defaultMessage": " resigned as tag maintainer. Would you like to be the new tag maintainer?",
"description": "src/components/Notice/TagNotice/TagLeaveNotice.tsx"
+ },
+ "OKhRC6": {
+ "defaultMessage": "Share",
+ "description": ""
+ },
+ "O02Dsj": {
+ "defaultMessage": "Copy Link",
+ "description": "src/components/Dialogs/ShareDialog/Copy.tsx"
+ },
+ "NONfAh": {
+ "defaultMessage": "Douban",
+ "description": "src/components/Share/Buttons/Douban.tsx"
+ },
+ "rBjwQy": {
+ "defaultMessage": "Weibo",
+ "description": "src/components/Share/Buttons/Weibo.tsx"
+ },
+ "bBYO6x": {
+ "defaultMessage": "Unblock",
+ "description": "src/components/BlockUser/Button/index.tsx"
+ },
+ "vAc1Bw": {
+ "defaultMessage": "Block User",
+ "description": ""
+ },
+ "mSAY3/": {
+ "defaultMessage": "User unblocked. User can now comment on your articles.",
+ "description": "src/components/BlockUser/Button/index.tsx"
+ },
+ "wEQDC6": {
+ "defaultMessage": "Edit",
+ "description": ""
+ },
+ "/+XWDi": {
+ "defaultMessage": "Logbook 2.0",
+ "description": "src/components/UserProfile/DropdownActions/index.tsx"
+ },
+ "qyzJxi": {
+ "defaultMessage": "Logbook 1.0",
+ "description": "src/components/UserProfile/DropdownActions/index.tsx"
+ },
+ "A7ugfn": {
+ "defaultMessage": "More Actions",
+ "description": ""
+ },
+ "b1FfGy": {
+ "defaultMessage": "Content Feed",
+ "description": "src/components/UserProfile/index.tsx"
+ },
+ "/3kw6k": {
+ "defaultMessage": "Adding contents into IPFS network, and it usually takes some times, please wait. You can accelerate the process by publishing new article.",
+ "description": "src/components/Dialogs/RssFeedDialog/Content.tsx"
+ },
+ "Lc/azT": {
+ "defaultMessage": "IPNS Subscription",
+ "description": "src/components/Dialogs/RssFeedDialog/Content.tsx"
+ },
+ "cf37Zy": {
+ "defaultMessage": "Add hash from IPFS into compatible reader such as ",
+ "description": "src/components/Dialogs/RssFeedDialog/Content.tsx"
+ },
+ "zxlwbc": {
+ "defaultMessage": "Waiting ...",
+ "description": "src/components/Dialogs/RssFeedDialog/Content.tsx"
+ },
+ "gMZfHO": {
+ "defaultMessage": "RSS Subscription",
+ "description": "src/components/Dialogs/RssFeedDialog/Content.tsx"
+ },
+ "D2Sw/t": {
+ "defaultMessage": "Add any URL in the following list into RSS reader",
+ "description": "src/components/Dialogs/RssFeedDialog/Content.tsx"
+ },
+ "rf0ew3": {
+ "defaultMessage": "Come build a Circle and call on your supporters to join you!",
+ "description": "src/components/UserProfile/CircleWidget/index.tsx"
+ },
+ "cPIKU2": {
+ "defaultMessage": "Following",
+ "description": ""
+ },
+ "pzTOmv": {
+ "defaultMessage": "Followers",
+ "description": ""
+ },
+ "i/4KO2": {
+ "defaultMessage": "This account is archived due to violation of community guidelines",
+ "description": "src/components/UserProfile/index.tsx"
+ },
+ "oNYnCM": {
+ "defaultMessage": "Account Archived",
+ "description": "src/components/UserProfile/index.tsx"
+ },
+ "rs0YS2": {
+ "defaultMessage": "Account Banned",
+ "description": "src/components/UserProfile/index.tsx"
+ },
+ "EoNvLu": {
+ "defaultMessage": "Created",
+ "description": "src/views/User/Articles/UserArticles.tsx"
+ },
+ "ikVIu3": {
+ "defaultMessage": "articles",
+ "description": ""
+ },
+ "UxfPXa": {
+ "defaultMessage": "In total",
+ "description": "src/views/User/Articles/UserArticles.tsx"
+ },
+ "/IN9oo": {
+ "defaultMessage": "words",
+ "description": ""
+ },
+ "J+dIsA": {
+ "defaultMessage": "Subscriptions",
+ "description": ""
+ },
+ "3KNMbJ": {
+ "defaultMessage": "Articles",
+ "description": ""
+ },
+ "WBVVYd": {
+ "defaultMessage": "Responses",
+ "description": ""
+ },
+ "1EYCdR": {
+ "defaultMessage": "Tags",
+ "description": ""
}
}
diff --git a/lang/zh-Hans.json b/lang/zh-Hans.json
index 14048ac47c..8202f0cf8f 100644
--- a/lang/zh-Hans.json
+++ b/lang/zh-Hans.json
@@ -490,5 +490,133 @@
"Jc+W6M": {
"defaultMessage": " 辞去了标签主理人权限,你要不要试试看成为新的主理人?",
"description": "src/components/Notice/TagNotice/TagLeaveNotice.tsx"
+ },
+ "OKhRC6": {
+ "defaultMessage": "分享",
+ "description": ""
+ },
+ "O02Dsj": {
+ "defaultMessage": "复制链接",
+ "description": "src/components/Dialogs/ShareDialog/Copy.tsx"
+ },
+ "NONfAh": {
+ "defaultMessage": "豆瓣",
+ "description": "src/components/Share/Buttons/Douban.tsx"
+ },
+ "rBjwQy": {
+ "defaultMessage": "微博",
+ "description": "src/components/Share/Buttons/Weibo.tsx"
+ },
+ "bBYO6x": {
+ "defaultMessage": "取消屏蔽",
+ "description": "src/components/BlockUser/Button/index.tsx"
+ },
+ "vAc1Bw": {
+ "defaultMessage": "封锁用户",
+ "description": ""
+ },
+ "mSAY3/": {
+ "defaultMessage": "已取消屏蔽。该用户现在可以评论你的作品和围炉。",
+ "description": "src/components/BlockUser/Button/index.tsx"
+ },
+ "wEQDC6": {
+ "defaultMessage": "编辑资料",
+ "description": ""
+ },
+ "/+XWDi": {
+ "defaultMessage": "航行日志 2.0",
+ "description": "src/components/UserProfile/DropdownActions/index.tsx"
+ },
+ "qyzJxi": {
+ "defaultMessage": "航行日志 1.0",
+ "description": "src/components/UserProfile/DropdownActions/index.tsx"
+ },
+ "A7ugfn": {
+ "defaultMessage": "更多操作",
+ "description": ""
+ },
+ "b1FfGy": {
+ "defaultMessage": "内容订阅",
+ "description": "src/components/UserProfile/index.tsx"
+ },
+ "/3kw6k": {
+ "defaultMessage": "尝试将内容写入 IPFS 网络中,需要一段时间,请耐心等候。若等候时间过久,可通过发布文章来加速。",
+ "description": "src/components/Dialogs/RssFeedDialog/Content.tsx"
+ },
+ "Lc/azT": {
+ "defaultMessage": "IPNS 订阅",
+ "description": "src/components/Dialogs/RssFeedDialog/Content.tsx"
+ },
+ "cf37Zy": {
+ "defaultMessage": "添加 IPFS 生成的 IPNS 指纹到阅读器,如:",
+ "description": "src/components/Dialogs/RssFeedDialog/Content.tsx"
+ },
+ "zxlwbc": {
+ "defaultMessage": "等待写入完成...",
+ "description": "src/components/Dialogs/RssFeedDialog/Content.tsx"
+ },
+ "gMZfHO": {
+ "defaultMessage": "RSS 订阅",
+ "description": "src/components/Dialogs/RssFeedDialog/Content.tsx"
+ },
+ "D2Sw/t": {
+ "defaultMessage": "添加以下任一网址到 RSS 阅读器",
+ "description": "src/components/Dialogs/RssFeedDialog/Content.tsx"
+ },
+ "rf0ew3": {
+ "defaultMessage": "快来搭建围炉,呼召你的支持者加入!",
+ "description": "src/components/UserProfile/CircleWidget/index.tsx"
+ },
+ "cPIKU2": {
+ "defaultMessage": "追踪中",
+ "description": ""
+ },
+ "pzTOmv": {
+ "defaultMessage": "追踪者",
+ "description": ""
+ },
+ "i/4KO2": {
+ "defaultMessage": "此帐户因为违反社区约章而被注销",
+ "description": "src/components/UserProfile/index.tsx"
+ },
+ "oNYnCM": {
+ "defaultMessage": "已注销用户",
+ "description": "src/components/UserProfile/index.tsx"
+ },
+ "rs0YS2": {
+ "defaultMessage": "已禁言用户",
+ "description": "src/components/UserProfile/index.tsx"
+ },
+ "EoNvLu": {
+ "defaultMessage": "创作了",
+ "description": "src/views/User/Articles/UserArticles.tsx"
+ },
+ "ikVIu3": {
+ "defaultMessage": "篇作品",
+ "description": ""
+ },
+ "UxfPXa": {
+ "defaultMessage": "累积创作",
+ "description": "src/views/User/Articles/UserArticles.tsx"
+ },
+ "/IN9oo": {
+ "defaultMessage": "字",
+ "description": ""
+ },
+ "J+dIsA": {
+ "defaultMessage": "订阅",
+ "description": ""
+ },
+ "3KNMbJ": {
+ "defaultMessage": "作品",
+ "description": ""
+ },
+ "WBVVYd": {
+ "defaultMessage": "回应",
+ "description": ""
+ },
+ "1EYCdR": {
+ "defaultMessage": "标签",
+ "description": ""
}
}
diff --git a/lang/zh-Hant.json b/lang/zh-Hant.json
index 3a4143e69b..42e8204c5f 100644
--- a/lang/zh-Hant.json
+++ b/lang/zh-Hant.json
@@ -490,5 +490,133 @@
"Jc+W6M": {
"defaultMessage": " 辭去了標籤主理人權限,你要不要試試看成為新的主理人?",
"description": "src/components/Notice/TagNotice/TagLeaveNotice.tsx"
+ },
+ "OKhRC6": {
+ "defaultMessage": "分享",
+ "description": ""
+ },
+ "O02Dsj": {
+ "defaultMessage": "複製鏈接",
+ "description": "src/components/Dialogs/ShareDialog/Copy.tsx"
+ },
+ "NONfAh": {
+ "defaultMessage": "豆瓣",
+ "description": "src/components/Share/Buttons/Douban.tsx"
+ },
+ "rBjwQy": {
+ "defaultMessage": "微博",
+ "description": "src/components/Share/Buttons/Weibo.tsx"
+ },
+ "bBYO6x": {
+ "defaultMessage": "取消封鎖k",
+ "description": "src/components/BlockUser/Button/index.tsx"
+ },
+ "vAc1Bw": {
+ "defaultMessage": "封鎖用戶",
+ "description": ""
+ },
+ "mSAY3/": {
+ "defaultMessage": "已取消封鎖。該用戶現在可以評論你的作品和圍爐。",
+ "description": "src/components/BlockUser/Button/index.tsx"
+ },
+ "wEQDC6": {
+ "defaultMessage": "編輯資料",
+ "description": ""
+ },
+ "/+XWDi": {
+ "defaultMessage": "航行日誌 2.0",
+ "description": "src/components/UserProfile/DropdownActions/index.tsx"
+ },
+ "qyzJxi": {
+ "defaultMessage": "航行日誌 1.0",
+ "description": "src/components/UserProfile/DropdownActions/index.tsx"
+ },
+ "A7ugfn": {
+ "defaultMessage": "更多操作",
+ "description": ""
+ },
+ "b1FfGy": {
+ "defaultMessage": "内容訂閱",
+ "description": "src/components/UserProfile/index.tsx"
+ },
+ "/3kw6k": {
+ "defaultMessage": "嘗試將內容寫入 IPFS 網絡中,需要一段時間,請耐心等候。若等候時間過久,可透過發佈文章來加速。",
+ "description": "src/components/Dialogs/RssFeedDialog/Content.tsx"
+ },
+ "Lc/azT": {
+ "defaultMessage": "IPNS 訂閱",
+ "description": "src/components/Dialogs/RssFeedDialog/Content.tsx"
+ },
+ "cf37Zy": {
+ "defaultMessage": "添加 IPFS 生成的 IPNS 指紋到閱讀器,如:",
+ "description": "src/components/Dialogs/RssFeedDialog/Content.tsx"
+ },
+ "zxlwbc": {
+ "defaultMessage": "等候寫入完成...",
+ "description": "src/components/Dialogs/RssFeedDialog/Content.tsx"
+ },
+ "gMZfHO": {
+ "defaultMessage": "RSS 訂閱",
+ "description": "src/components/Dialogs/RssFeedDialog/Content.tsx"
+ },
+ "D2Sw/t": {
+ "defaultMessage": "添加以下任一網址到 RSS 閱讀器",
+ "description": "src/components/Dialogs/RssFeedDialog/Content.tsx"
+ },
+ "rf0ew3": {
+ "defaultMessage": "快來搭建圍爐,呼召你的支持者加入",
+ "description": "src/components/UserProfile/CircleWidget/index.tsx"
+ },
+ "cPIKU2": {
+ "defaultMessage": "追蹤中",
+ "description": ""
+ },
+ "pzTOmv": {
+ "defaultMessage": "追蹤者",
+ "description": ""
+ },
+ "i/4KO2": {
+ "defaultMessage": "此帳戶因為違反社區約章而被註銷",
+ "description": "src/components/UserProfile/index.tsx"
+ },
+ "oNYnCM": {
+ "defaultMessage": "已註銷用戶",
+ "description": "src/components/UserProfile/index.tsx"
+ },
+ "rs0YS2": {
+ "defaultMessage": "已禁言用戶",
+ "description": "src/components/UserProfile/index.tsx"
+ },
+ "EoNvLu": {
+ "defaultMessage": "創作了",
+ "description": "src/views/User/Articles/UserArticles.tsx"
+ },
+ "ikVIu3": {
+ "defaultMessage": "篇作品",
+ "description": ""
+ },
+ "UxfPXa": {
+ "defaultMessage": "累積創作",
+ "description": "src/views/User/Articles/UserArticles.tsx"
+ },
+ "/IN9oo": {
+ "defaultMessage": "字",
+ "description": ""
+ },
+ "J+dIsA": {
+ "defaultMessage": "訂閱",
+ "description": ""
+ },
+ "3KNMbJ": {
+ "defaultMessage": "作品",
+ "description": ""
+ },
+ "WBVVYd": {
+ "defaultMessage": "回應",
+ "description": ""
+ },
+ "1EYCdR": {
+ "defaultMessage": "標籤",
+ "description": ""
}
}
diff --git a/src/components/BlockUser/Button/index.tsx b/src/components/BlockUser/Button/index.tsx
index 55ef384e85..fe3a8361f0 100644
--- a/src/components/BlockUser/Button/index.tsx
+++ b/src/components/BlockUser/Button/index.tsx
@@ -1,10 +1,11 @@
+import { FormattedMessage } from 'react-intl'
+
import { ADD_TOAST } from '~/common/enums'
import {
IconMute24,
IconUnMute24,
Menu,
TextIcon,
- Translate,
useMutation,
} from '~/components'
import TOGGLE_BLOCK_USER from '~/components/GQL/mutations/toggleBlockUser'
@@ -40,7 +41,12 @@ const BlockUserButton = ({
new CustomEvent(ADD_TOAST, {
detail: {
color: 'green',
- content: ,
+ content: (
+
+ ),
},
})
)
@@ -50,7 +56,10 @@ const BlockUserButton = ({
return (
} size="md" spacing="base">
-
+
)
@@ -59,7 +68,7 @@ const BlockUserButton = ({
return (
} size="md" spacing="base">
-
+
)
diff --git a/src/components/Dialogs/RssFeedDialog/Content.tsx b/src/components/Dialogs/RssFeedDialog/Content.tsx
index ef30d358f2..7d8284bd6f 100644
--- a/src/components/Dialogs/RssFeedDialog/Content.tsx
+++ b/src/components/Dialogs/RssFeedDialog/Content.tsx
@@ -3,26 +3,20 @@ import contentHash from '@ensdomains/content-hash'
import { namehash } from '@ethersproject/hash'
import classNames from 'classnames'
import gql from 'graphql-tag'
-import { useContext } from 'react'
+import { FormattedMessage, useIntl } from 'react-intl'
import { useContractRead, useEnsName, useEnsResolver } from 'wagmi'
import { EXTERNAL_LINKS } from '~/common/enums'
-import {
- featureSupportedChains,
- PublicResolverABI,
- translate,
-} from '~/common/utils'
+import { featureSupportedChains, PublicResolverABI } from '~/common/utils'
import {
Button,
CopyToClipboard,
Dialog,
IconCopy16,
IconInfo24,
- LanguageContext,
Spacer,
Spinner,
TextIcon,
- Translate,
WagmiProvider,
} from '~/components'
import { AuthorRssFeedFragment, RssGatewaysQuery } from '~/gql/graphql'
@@ -46,7 +40,6 @@ const RSS_GATEWAYS = gql`
const BaseRssFeedDialogContent: React.FC = ({
user,
}) => {
- const { lang } = useContext(LanguageContext)
const { loading, data } = useQuery(RSS_GATEWAYS)
const gateways = data?.official.gatewayUrls || []
@@ -73,6 +66,7 @@ const BaseRssFeedDialogContent: React.FC = ({
!!ipnsKey && '0x' + contentHash.encode('ipns-ns', ipnsKey) === readData
const displayIPNS = hasLinkedIPNS ? ensName : user.info.ipnsKey
+ const intl = useIntl()
return (
@@ -83,10 +77,9 @@ const BaseRssFeedDialogContent: React.FC = ({
-
@@ -97,17 +90,15 @@ const BaseRssFeedDialogContent: React.FC = ({
{/* hash */}
>
@@ -156,17 +155,15 @@ const BaseRssFeedDialogContent: React.FC = ({
{/* gateways */}
-
-
@@ -197,7 +194,10 @@ const BaseRssFeedDialogContent: React.FC = ({
diff --git a/src/components/Dialogs/ShareDialog/Copy.tsx b/src/components/Dialogs/ShareDialog/Copy.tsx
index f130171980..ec62f447f6 100644
--- a/src/components/Dialogs/ShareDialog/Copy.tsx
+++ b/src/components/Dialogs/ShareDialog/Copy.tsx
@@ -1,30 +1,26 @@
-import { useContext } from 'react'
+import { FormattedMessage, useIntl } from 'react-intl'
-import { translate } from '~/common/utils'
-import {
- CopyToClipboard,
- IconLink16,
- LanguageContext,
- TextIcon,
- Translate,
-} from '~/components'
+import { CopyToClipboard, IconLink16, TextIcon } from '~/components'
import styles from './styles.css'
const Copy = ({ link }: { link: string }) => {
- const { lang } = useContext(LanguageContext)
-
+ const intl = useIntl()
return (
-
diff --git a/src/components/UserProfile/CircleWidget/index.tsx b/src/components/UserProfile/CircleWidget/index.tsx
index 8c4b10c38d..527e1f0a21 100644
--- a/src/components/UserProfile/CircleWidget/index.tsx
+++ b/src/components/UserProfile/CircleWidget/index.tsx
@@ -1,11 +1,8 @@
+import { FormattedMessage } from 'react-intl'
+
import { PATHS } from '~/common/enums'
import { analytics } from '~/common/utils'
-import {
- Form,
- SubscribeCircleDialog,
- Translate,
- useFeatures,
-} from '~/components'
+import { Form, SubscribeCircleDialog, useFeatures } from '~/components'
import { CircleDigest } from '~/components/CircleDigest'
import {
UserProfileUserPrivateQuery,
@@ -48,9 +45,9 @@ const CircleWidget: React.FC = ({ circles, isMe }) => {
forceGreyStyle
bold
title={
-
}
href={PATHS.CIRCLE_CREATION}
diff --git a/src/components/UserProfile/DropdownActions/index.tsx b/src/components/UserProfile/DropdownActions/index.tsx
index b18e2a9a6e..16686869e6 100644
--- a/src/components/UserProfile/DropdownActions/index.tsx
+++ b/src/components/UserProfile/DropdownActions/index.tsx
@@ -2,8 +2,8 @@ import gql from 'graphql-tag'
import _isEmpty from 'lodash/isEmpty'
import _pickBy from 'lodash/pickBy'
import { useContext } from 'react'
+import { FormattedMessage, useIntl } from 'react-intl'
-import { translate } from '~/common/utils'
import {
Button,
DropdownDialog,
@@ -16,7 +16,6 @@ import {
LanguageContext,
Menu,
TextIcon,
- Translate,
} from '~/components'
import { BlockUser } from '~/components/BlockUser'
import {
@@ -92,12 +91,13 @@ const BaseDropdownActions = ({
}owner/${address}`
const logbook2Url = `${process.env.NEXT_PUBLIC_LOGBOOKS_URL}/bookcase/?address=${address}`
+ const intl = useIntl()
const Content = ({ isInDropdown }: { isInDropdown?: boolean }) => (
@@ -65,7 +65,7 @@ const Hint = () => {
>
diff --git a/src/views/Me/Analytics/EmptyAnalytics/index.tsx b/src/views/Me/Analytics/EmptyAnalytics/index.tsx
index b8edb5f775..aa47722856 100644
--- a/src/views/Me/Analytics/EmptyAnalytics/index.tsx
+++ b/src/views/Me/Analytics/EmptyAnalytics/index.tsx
@@ -1,15 +1,15 @@
import { useRouter } from 'next/router'
import { useContext } from 'react'
+import { FormattedMessage, useIntl } from 'react-intl'
import { ReactComponent as SupporterListRocket } from '@/public/static/images/supporter-list-rocket.svg'
import { GUIDE_LINKS } from '~/common/enums'
-import { toPath, translate } from '~/common/utils'
+import { toPath } from '~/common/utils'
import {
Button,
IconDonateBg24,
LanguageContext,
TextIcon,
- Translate,
useMutation,
} from '~/components'
import CREATE_DRAFT from '~/components/GQL/mutations/createDraft'
@@ -21,8 +21,12 @@ const EmptyAnalytics = () => {
const router = useRouter()
const { lang } = useContext(LanguageContext)
+ const intl = useIntl()
const [putDraft] = useMutation(CREATE_DRAFT, {
- variables: { title: translate({ id: 'untitle', lang }) },
+ variables: { title: intl.formatMessage({
+ defaultMessage: 'Untitled',
+ description: ''
+ }) },
})
return (
@@ -34,12 +38,12 @@ const EmptyAnalytics = () => {
color="black"
size="md"
>
-
+
-
+
@@ -59,29 +63,20 @@ const EmptyAnalytics = () => {
}}
>
-
+
From c047b7da9af7a5c2f42a626e99c350a3ad86cca7 Mon Sep 17 00:00:00 2001
From: Aka jazzy
Date: Wed, 8 Mar 2023 11:37:28 +0800
Subject: [PATCH 07/31] feat(i18n): leave Copy Link description as empty
---
lang/default.json | 20 ++++++++------------
lang/en.json | 12 ++++++------
lang/zh-Hans.json | 10 +++++-----
lang/zh-Hant.json | 10 +++++-----
src/components/Dialogs/ShareDialog/Copy.tsx | 7 ++-----
src/views/User/Articles/UserArticles.tsx | 10 ++++++++--
6 files changed, 34 insertions(+), 35 deletions(-)
diff --git a/lang/default.json b/lang/default.json
index 3921eabd72..4e2ced3f8d 100644
--- a/lang/default.json
+++ b/lang/default.json
@@ -19,10 +19,6 @@
"defaultMessage": "Terms and Privacy Policy",
"description": "src/components/Forms/WalletAuthForm/Connect.tsx"
},
- "/IN9oo": {
- "defaultMessage": "words",
- "description": ""
- },
"/asuIY": {
"defaultMessage": "Enter Community",
"description": "src/components/Forms/EmailSignUpForm/Complete.tsx"
@@ -207,6 +203,10 @@
"defaultMessage": "Enter Password",
"description": "src/components/Forms/EmailLoginForm/index.tsx"
},
+ "Ic4hqD": {
+ "defaultMessage": "words",
+ "description": "src/views/User/Articles/UserArticles.tsx"
+ },
"J+LXrH": {
"defaultMessage": "User registered by email can login and enable wallet login later",
"description": "src/components/Forms/SelectAuthMethodForm/index.tsx"
@@ -267,6 +267,10 @@
"defaultMessage": "Notifications",
"description": ""
},
+ "NG8uih": {
+ "defaultMessage": "articles",
+ "description": "src/views/User/Articles/UserArticles.tsx"
+ },
"NONfAh": {
"defaultMessage": "Douban",
"description": "src/components/Share/Buttons/Douban.tsx"
@@ -275,10 +279,6 @@
"defaultMessage": "Enter password again",
"description": "src/components/Forms/EmailSignUpForm/Password.tsx"
},
- "O02Dsj": {
- "defaultMessage": "Copy Link",
- "description": "src/components/Dialogs/ShareDialog/Copy.tsx"
- },
"O03Rkc": {
"defaultMessage": "resigned as tag collaborator. You can invite new collaborators to join",
"description": "src/components/Notice/TagNotice/TagLeaveEditorNotice.tsx"
@@ -487,10 +487,6 @@
"defaultMessage": "For unregistered or users enabled wallet login",
"description": "src/components/Forms/SelectAuthMethodForm/index.tsx"
},
- "ikVIu3": {
- "defaultMessage": "articles",
- "description": ""
- },
"ipQlDG": {
"defaultMessage": "Login with Email",
"description": "src/components/Forms/EmailSignUpForm/Buttons.tsx"
diff --git a/lang/en.json b/lang/en.json
index 433b4967a4..82654815f6 100644
--- a/lang/en.json
+++ b/lang/en.json
@@ -495,9 +495,9 @@
"defaultMessage": "Share",
"description": ""
},
- "O02Dsj": {
+ "u5aHb4": {
"defaultMessage": "Copy Link",
- "description": "src/components/Dialogs/ShareDialog/Copy.tsx"
+ "description": ""
},
"NONfAh": {
"defaultMessage": "Douban",
@@ -671,17 +671,17 @@
"defaultMessage": "Created",
"description": "src/views/User/Articles/UserArticles.tsx"
},
- "ikVIu3": {
+ "NG8uih": {
"defaultMessage": "articles",
- "description": ""
+ "description": "src/views/User/Articles/UserArticles.tsx"
},
"UxfPXa": {
"defaultMessage": "In total",
"description": "src/views/User/Articles/UserArticles.tsx"
},
- "/IN9oo": {
+ "Ic4hqD": {
"defaultMessage": "words",
- "description": ""
+ "description": "src/views/User/Articles/UserArticles.tsx"
},
"J+dIsA": {
"defaultMessage": "Subscriptions",
diff --git a/lang/zh-Hans.json b/lang/zh-Hans.json
index 8578ecc2ea..0c8151a9e2 100644
--- a/lang/zh-Hans.json
+++ b/lang/zh-Hans.json
@@ -495,9 +495,9 @@
"defaultMessage": "分享",
"description": ""
},
- "O02Dsj": {
+ "u5aHb4": {
"defaultMessage": "复制链接",
- "description": "src/components/Dialogs/ShareDialog/Copy.tsx"
+ "description": ""
},
"NONfAh": {
"defaultMessage": "豆瓣",
@@ -593,15 +593,15 @@
},
"ikVIu3": {
"defaultMessage": "篇作品",
- "description": ""
+ "description": "src/views/User/Articles/UserArticles.tsx"
},
"UxfPXa": {
"defaultMessage": "累积创作",
"description": "src/views/User/Articles/UserArticles.tsx"
},
- "/IN9oo": {
+ "Ic4hqD": {
"defaultMessage": "字",
- "description": ""
+ "description": "src/views/User/Articles/UserArticles.tsx"
},
"J+dIsA": {
"defaultMessage": "订阅",
diff --git a/lang/zh-Hant.json b/lang/zh-Hant.json
index 8bbdf76fb6..63ffb938a3 100644
--- a/lang/zh-Hant.json
+++ b/lang/zh-Hant.json
@@ -495,9 +495,9 @@
"defaultMessage": "分享",
"description": ""
},
- "O02Dsj": {
+ "u5aHb4": {
"defaultMessage": "複製鏈接",
- "description": "src/components/Dialogs/ShareDialog/Copy.tsx"
+ "description": ""
},
"NONfAh": {
"defaultMessage": "豆瓣",
@@ -593,15 +593,15 @@
},
"ikVIu3": {
"defaultMessage": "篇作品",
- "description": ""
+ "description": "src/views/User/Articles/UserArticles.tsx"
},
"UxfPXa": {
"defaultMessage": "累積創作",
"description": "src/views/User/Articles/UserArticles.tsx"
},
- "/IN9oo": {
+ "Ic4hqD": {
"defaultMessage": "字",
- "description": ""
+ "description": "src/views/User/Articles/UserArticles.tsx"
},
"J+dIsA": {
"defaultMessage": "訂閱",
diff --git a/src/components/Dialogs/ShareDialog/Copy.tsx b/src/components/Dialogs/ShareDialog/Copy.tsx
index ec62f447f6..cdbc2a97b2 100644
--- a/src/components/Dialogs/ShareDialog/Copy.tsx
+++ b/src/components/Dialogs/ShareDialog/Copy.tsx
@@ -12,16 +12,13 @@ const Copy = ({ link }: { link: string }) => {
} spacing="base">
-
+
diff --git a/src/views/User/Articles/UserArticles.tsx b/src/views/User/Articles/UserArticles.tsx
index 02549fa9cb..18a9ae30a3 100644
--- a/src/views/User/Articles/UserArticles.tsx
+++ b/src/views/User/Articles/UserArticles.tsx
@@ -45,7 +45,10 @@ const ArticleSummaryInfo = ({
description="src/views/User/Articles/UserArticles.tsx"
/>
{articles}
-
+
@@ -54,7 +57,10 @@ const ArticleSummaryInfo = ({
description="src/views/User/Articles/UserArticles.tsx"
/>
{words}
-
+
)
From 72a096cef43ab48aea4ee9959cb7b04a07087aec Mon Sep 17 00:00:00 2001
From: bluecloud <96812901+pitb2022@users.noreply.github.com>
Date: Wed, 1 Mar 2023 18:57:30 +0800
Subject: [PATCH 08/31] feat(ArticleDigest): add
---
.../Concise/FooterActions/gql.ts | 37 ++++++
.../Concise/FooterActions/index.tsx | 36 ++++++
.../Concise/FooterActions/styles.css | 9 ++
src/components/ArticleDigest/Concise/gql.ts | 42 +++++++
.../ArticleDigest/Concise/index.tsx | 113 ++++++++++++++++++
.../ArticleDigest/Concise/styles.css | 70 +++++++++++
src/components/ArticleDigest/index.tsx | 1 +
7 files changed, 308 insertions(+)
create mode 100644 src/components/ArticleDigest/Concise/FooterActions/gql.ts
create mode 100644 src/components/ArticleDigest/Concise/FooterActions/index.tsx
create mode 100644 src/components/ArticleDigest/Concise/FooterActions/styles.css
create mode 100644 src/components/ArticleDigest/Concise/gql.ts
create mode 100644 src/components/ArticleDigest/Concise/index.tsx
create mode 100644 src/components/ArticleDigest/Concise/styles.css
diff --git a/src/components/ArticleDigest/Concise/FooterActions/gql.ts b/src/components/ArticleDigest/Concise/FooterActions/gql.ts
new file mode 100644
index 0000000000..6ea5d797f7
--- /dev/null
+++ b/src/components/ArticleDigest/Concise/FooterActions/gql.ts
@@ -0,0 +1,37 @@
+import gql from 'graphql-tag'
+
+import { BookmarkButton } from '~/components/Buttons/Bookmark'
+import { CircleDigest } from '~/components/CircleDigest'
+
+export const fragments = {
+ article: {
+ public: gql`
+ fragment FooterActionsConciseArticlePublic on Article {
+ id
+ title
+ slug
+ mediaHash
+ createdAt
+ author {
+ id
+ userName
+ }
+ access {
+ type
+ circle {
+ id
+ name
+ ...DigestPlainCircle
+ }
+ }
+ }
+ ${CircleDigest.Plain.fragments.circle}
+ `,
+ private: gql`
+ fragment FooterActionsConciseArticlePrivate on Article {
+ ...BookmarkArticlePrivate
+ }
+ ${BookmarkButton.fragments.article.private}
+ `,
+ },
+}
diff --git a/src/components/ArticleDigest/Concise/FooterActions/index.tsx b/src/components/ArticleDigest/Concise/FooterActions/index.tsx
new file mode 100644
index 0000000000..7c570c5313
--- /dev/null
+++ b/src/components/ArticleDigest/Concise/FooterActions/index.tsx
@@ -0,0 +1,36 @@
+import { BookmarkButton, CircleDigest, DateTime } from '~/components'
+import { FooterActionsConciseArticlePublicFragment } from '~/gql/graphql'
+
+import { fragments } from './gql'
+import styles from './styles.css'
+
+export type FooterActionsProps = {
+ article: FooterActionsConciseArticlePublicFragment
+ date?: Date | string | number | boolean
+ inCard?: boolean
+}
+
+const FooterActions = ({ article, date, inCard }: FooterActionsProps) => {
+ const hasDate = date !== false
+
+ return (
+
+ )
+}
+
+FooterActions.fragments = fragments
+
+export default FooterActions
diff --git a/src/components/ArticleDigest/Concise/FooterActions/styles.css b/src/components/ArticleDigest/Concise/FooterActions/styles.css
new file mode 100644
index 0000000000..c90bd2b986
--- /dev/null
+++ b/src/components/ArticleDigest/Concise/FooterActions/styles.css
@@ -0,0 +1,9 @@
+footer {
+ @mixin feed-footer-actions;
+
+ & .left {
+ & :global(> * + *) {
+ padding-left: var(--spacing-x-tight);
+ }
+ }
+}
diff --git a/src/components/ArticleDigest/Concise/gql.ts b/src/components/ArticleDigest/Concise/gql.ts
new file mode 100644
index 0000000000..0576807533
--- /dev/null
+++ b/src/components/ArticleDigest/Concise/gql.ts
@@ -0,0 +1,42 @@
+import gql from 'graphql-tag'
+
+import { UserDigest } from '~/components/UserDigest'
+
+import { ArticleDigestTitle } from '../Title'
+import FooterActions from './FooterActions'
+
+export const fragments = {
+ article: {
+ public: gql`
+ fragment ArticleDigestConciseArticlePublic on Article {
+ id
+ title
+ slug
+ mediaHash
+ articleState: state
+ cover
+ summary
+ author {
+ id
+ userName
+ ...UserDigestMiniUser
+ }
+ ...ArticleDigestTitleArticle
+ ...FooterActionsConciseArticlePublic
+ }
+ ${UserDigest.Mini.fragments.user}
+ ${ArticleDigestTitle.fragments.article}
+ ${FooterActions.fragments.article.public}
+ `,
+ private: gql`
+ fragment ArticleDigestConciseArticlePrivate on Article {
+ id
+ author {
+ ...ArticleFeedFollowButtonUserPrivate
+ }
+ ...FooterActionsConciseArticlePrivate
+ }
+ ${FooterActions.fragments.article.private}
+ `,
+ },
+}
diff --git a/src/components/ArticleDigest/Concise/index.tsx b/src/components/ArticleDigest/Concise/index.tsx
new file mode 100644
index 0000000000..bc46b661f0
--- /dev/null
+++ b/src/components/ArticleDigest/Concise/index.tsx
@@ -0,0 +1,113 @@
+import React from 'react'
+
+import { stripHtml, toPath, UtmParams } from '~/common/utils'
+import { Card, ResponsiveImage } from '~/components'
+import { UserDigest } from '~/components/UserDigest'
+import {
+ ArticleDigestConciseArticlePrivateFragment,
+ ArticleDigestConciseArticlePublicFragment,
+} from '~/gql/graphql'
+
+import { ArticleDigestTitle } from '../Title'
+import FooterActions, { FooterActionsProps } from './FooterActions'
+import { fragments } from './gql'
+import styles from './styles.css'
+
+export type ArticleDigestConciseControls = {
+ onClick?: () => any
+ onClickAuthor?: () => void
+ hasFollow?: boolean
+ hasCircle?: boolean
+}
+
+export type ArticleDigestConciseProps = {
+ article: ArticleDigestConciseArticlePublicFragment &
+ Partial
+ header?: React.ReactNode
+} & ArticleDigestConciseControls &
+ FooterActionsProps &
+ UtmParams
+
+const BaseArticleDigestFeed = ({
+ article,
+ header,
+ date,
+
+ hasFollow,
+ hasCircle = true,
+ onClick,
+ onClickAuthor,
+
+ utm_source,
+ utm_medium,
+
+ ...controls
+}: ArticleDigestConciseProps) => {
+ const { author, summary } = article
+ const isBanned = article.articleState === 'banned'
+ const cover = !isBanned ? article.cover : null
+ const cleanedSummary = isBanned ? '' : stripHtml(summary)
+ const path = toPath({
+ page: 'articleDetail',
+ article,
+ utm_source,
+ utm_medium,
+ })
+
+ return (
+
+
+
+
+ {cleanedSummary}
+
+ {cover && (
+
+
+
+ )}
+
+
+
+
+
+
+ )
+}
+
+/**
+ * Memoizing
+ */
+type ArticleDigestConcise = React.MemoExoticComponent<
+ React.FC
+> & {
+ fragments: typeof fragments
+}
+
+export const ArticleDigestConcise = React.memo(
+ BaseArticleDigestFeed,
+ ({ article: prevArticle }, { article }) => {
+ return (
+ prevArticle.subscribed === article.subscribed &&
+ prevArticle.articleState === article.articleState &&
+ prevArticle.author.isFollowee === article.author.isFollowee
+ )
+ }
+) as ArticleDigestConcise
+
+ArticleDigestConcise.fragments = fragments
diff --git a/src/components/ArticleDigest/Concise/styles.css b/src/components/ArticleDigest/Concise/styles.css
new file mode 100644
index 0000000000..41a3b8d20c
--- /dev/null
+++ b/src/components/ArticleDigest/Concise/styles.css
@@ -0,0 +1,70 @@
+:root {
+ --article-feed-cover-size-sm: 4.5rem;
+ --article-feed-cover-width: 10.625rem;
+ --article-feed-cover-height: 6rem;
+}
+
+.content {
+ display: grid;
+ grid-template:
+ 'head cover' auto
+ 'description description' auto/ 1fr auto;
+
+ @media (--sm-up) {
+ grid-template-areas:
+ 'head cover'
+ 'description cover';
+ }
+}
+
+.head {
+ grid-area: head;
+}
+
+.author {
+ @mixin flex-center-start;
+
+ margin-top: var(--spacing-tight);
+}
+
+.description {
+ @mixin line-clamp;
+
+ flex-grow: 1;
+ grid-area: description;
+ margin-top: var(--spacing-tight);
+ font-size: var(--font-size-md-s);
+ line-height: 1.5rem;
+ color: var(--color-grey-dark);
+ -webkit-line-clamp: 3;
+
+ @media (--sm-up) {
+ margin-top: var(--spacing-base);
+ }
+}
+
+.cover {
+ position: relative;
+ flex-shrink: 0;
+ grid-area: cover;
+ width: var(--article-feed-cover-size-sm);
+ height: var(--article-feed-cover-size-sm);
+ margin-left: var(--spacing-base);
+
+ & :global(img) {
+ @mixin object-fit-cover;
+
+ background-color: var(--color-grey-lighter);
+ border-radius: var(--spacing-xx-tight);
+ }
+
+ @media (--sm-up) {
+ width: var(--article-feed-cover-width);
+ height: var(--article-feed-cover-height);
+ }
+}
+
+header {
+ margin-bottom: var(--spacing-base);
+ line-height: 1;
+}
diff --git a/src/components/ArticleDigest/index.tsx b/src/components/ArticleDigest/index.tsx
index 993e72e2dd..4e98722727 100644
--- a/src/components/ArticleDigest/index.tsx
+++ b/src/components/ArticleDigest/index.tsx
@@ -1,4 +1,5 @@
export * from './Card'
+export * from './Concise'
export * from './Dropdown'
export * from './Feed'
export * from './Sidebar'
From 5458a462c14a7f98e8f95310a74d7701c5975f51 Mon Sep 17 00:00:00 2001
From: bluecloud <96812901+pitb2022@users.noreply.github.com>
Date: Wed, 1 Mar 2023 20:24:23 +0800
Subject: [PATCH 09/31] feat(Follow): update UserPublishArticleActivity
---
.../Feed/UserPublishArticleActivity/gql.ts | 10 +++---
.../Feed/UserPublishArticleActivity/index.tsx | 32 ++-----------------
2 files changed, 7 insertions(+), 35 deletions(-)
diff --git a/src/views/Follow/Feed/UserPublishArticleActivity/gql.ts b/src/views/Follow/Feed/UserPublishArticleActivity/gql.ts
index f88bd3791d..e9dea6d09c 100644
--- a/src/views/Follow/Feed/UserPublishArticleActivity/gql.ts
+++ b/src/views/Follow/Feed/UserPublishArticleActivity/gql.ts
@@ -1,6 +1,6 @@
import gql from 'graphql-tag'
-import { ArticleDigestFeed, CircleDigest, UserDigest } from '~/components'
+import { ArticleDigestConcise, CircleDigest, UserDigest } from '~/components'
import UnfollowUser from '../DropdownActions/UnfollowUser'
@@ -17,13 +17,13 @@ export const fragments = gql`
...DigestPlainCircle
}
}
- ...ArticleDigestFeedArticlePublic
- ...ArticleDigestFeedArticlePrivate
+ ...ArticleDigestConciseArticlePublic
+ ...ArticleDigestConciseArticlePrivate
}
}
${UserDigest.Plain.fragments.user}
${CircleDigest.Plain.fragments.circle}
${UnfollowUser.fragments.user.private}
- ${ArticleDigestFeed.fragments.article.public}
- ${ArticleDigestFeed.fragments.article.private}
+ ${ArticleDigestConcise.fragments.article.public}
+ ${ArticleDigestConcise.fragments.article.private}
`
diff --git a/src/views/Follow/Feed/UserPublishArticleActivity/index.tsx b/src/views/Follow/Feed/UserPublishArticleActivity/index.tsx
index beebdbdfa2..c1cfa4d653 100644
--- a/src/views/Follow/Feed/UserPublishArticleActivity/index.tsx
+++ b/src/views/Follow/Feed/UserPublishArticleActivity/index.tsx
@@ -1,16 +1,7 @@
import { analytics } from '~/common/utils'
-import {
- ArticleDigestFeed,
- CardExposureTracker,
- CircleDigest,
- IconUnfollow24,
- Translate,
- UserDigest,
-} from '~/components'
+import { ArticleDigestConcise, CardExposureTracker } from '~/components'
import { UserPublishArticleActivityFragment } from '~/gql/graphql'
-import UnfollowUserActionButton from '../DropdownActions/UnfollowUser'
-import FeedHead from '../FollowingFeedHead'
import { fragments } from './gql'
const UserPublishArticleActivity = ({
@@ -21,22 +12,7 @@ const UserPublishArticleActivity = ({
__typename,
}: UserPublishArticleActivityFragment & { location: number }) => (
<>
-
-
-
- {node.access.circle ? (
-
- ) : (
-
- )}
-
- {node.access.circle && (
-
- )}
-
- }
+ {
analytics.trackEvent('click_feed', {
type: 'following',
@@ -47,10 +23,6 @@ const UserPublishArticleActivity = ({
}}
article={node}
date={createdAt}
- morePublicActions={}
- icon={
-
- }
/>
Date: Wed, 1 Mar 2023 20:40:31 +0800
Subject: [PATCH 10/31] feat(Follow): update UserAddArticleTagActivity
---
.../Concise/FooterActions/index.tsx | 4 ++-
.../ArticleDigest/Concise/index.tsx | 10 ++++++-
.../Feed/UserAddArticleTagActivity/index.tsx | 30 ++-----------------
3 files changed, 15 insertions(+), 29 deletions(-)
diff --git a/src/components/ArticleDigest/Concise/FooterActions/index.tsx b/src/components/ArticleDigest/Concise/FooterActions/index.tsx
index 7c570c5313..9f850cf56f 100644
--- a/src/components/ArticleDigest/Concise/FooterActions/index.tsx
+++ b/src/components/ArticleDigest/Concise/FooterActions/index.tsx
@@ -8,14 +8,16 @@ export type FooterActionsProps = {
article: FooterActionsConciseArticlePublicFragment
date?: Date | string | number | boolean
inCard?: boolean
+ tag?: React.ReactNode
}
-const FooterActions = ({ article, date, inCard }: FooterActionsProps) => {
+const FooterActions = ({ article, date, inCard, tag }: FooterActionsProps) => {
const hasDate = date !== false
return (
From 271b18cbeb25641958aa5c6950a1be0b2525e8e3 Mon Sep 17 00:00:00 2001
From: bluecloud <96812901+pitb2022@users.noreply.github.com>
Date: Tue, 7 Mar 2023 17:37:21 +0800
Subject: [PATCH 17/31] feat(Follow): remove
---
src/views/Follow/Feed/index.tsx | 5 -----
1 file changed, 5 deletions(-)
diff --git a/src/views/Follow/Feed/index.tsx b/src/views/Follow/Feed/index.tsx
index e8e59e6516..755ade68cd 100644
--- a/src/views/Follow/Feed/index.tsx
+++ b/src/views/Follow/Feed/index.tsx
@@ -7,7 +7,6 @@ import { analytics, mergeConnections } from '~/common/utils'
import {
EmptyWarning,
Head,
- Help,
InfiniteScroll,
List,
QueryError,
@@ -83,10 +82,6 @@ const FollowingFeed = () => {
<>
-
-
{edges.map(({ node }, i) => (
From 3d7eae9cab40c949554f4aae6e1939c33c4d1942 Mon Sep 17 00:00:00 2001
From: bluecloud <96812901+pitb2022@users.noreply.github.com>
Date: Wed, 8 Mar 2023 14:30:51 +0800
Subject: [PATCH 18/31] feat(CircleDigest): revise icon style
---
src/components/CircleDigest/Plain/index.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/CircleDigest/Plain/index.tsx b/src/components/CircleDigest/Plain/index.tsx
index 68ebee9107..ad01641dda 100644
--- a/src/components/CircleDigest/Plain/index.tsx
+++ b/src/components/CircleDigest/Plain/index.tsx
@@ -22,7 +22,7 @@ const CircleDigestPlain = ({ circle, onClick }: CircleDigestPlainProps) => {
return (
}
+ icon={}
color="green"
spacing="xxtight"
weight="normal"
From d434c67181e8dcc77579b162051ab0b51b9ddb93 Mon Sep 17 00:00:00 2001
From: bluecloud <96812901+pitb2022@users.noreply.github.com>
Date: Wed, 8 Mar 2023 14:56:09 +0800
Subject: [PATCH 19/31] feat(ArticleDigest): remove unnecessary code
---
src/components/ArticleDigest/Concise/index.tsx | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/src/components/ArticleDigest/Concise/index.tsx b/src/components/ArticleDigest/Concise/index.tsx
index 0c2422f5ec..84990a199b 100644
--- a/src/components/ArticleDigest/Concise/index.tsx
+++ b/src/components/ArticleDigest/Concise/index.tsx
@@ -111,14 +111,7 @@ type ArticleDigestConcise = React.MemoExoticComponent<
}
export const ArticleDigestConcise = React.memo(
- BaseArticleDigestFeed,
- ({ article: prevArticle }, { article }) => {
- return (
- prevArticle.subscribed === article.subscribed &&
- prevArticle.articleState === article.articleState &&
- prevArticle.author.isFollowee === article.author.isFollowee
- )
- }
+ BaseArticleDigestFeed
) as ArticleDigestConcise
ArticleDigestConcise.fragments = fragments
From 5cd8a8d6bc72caaf006a3258bc8e74d43367d915 Mon Sep 17 00:00:00 2001
From: robertu <4065233+robertu7@users.noreply.github.com>
Date: Wed, 8 Mar 2023 11:51:32 +0700
Subject: [PATCH 20/31] fix(sidebar): query recommended feed tags with `first`
---
src/views/Home/Feed/Tags/index.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/views/Home/Feed/Tags/index.tsx b/src/views/Home/Feed/Tags/index.tsx
index 3ac0af3de4..7f19432c48 100644
--- a/src/views/Home/Feed/Tags/index.tsx
+++ b/src/views/Home/Feed/Tags/index.tsx
@@ -60,7 +60,7 @@ const TagsFeed = () => {
FEED_TAGS,
{
notifyOnNetworkStatusChange: true,
- variables: { random: lastRandom || 0 },
+ variables: { random: lastRandom || 0, first: perPage },
},
{ publicQuery: !viewer.isAuthed }
)
From cf068d858480bc67516f283f1a61584ab349a062 Mon Sep 17 00:00:00 2001
From: Aka jazzy
Date: Wed, 8 Mar 2023 17:42:50 +0800
Subject: [PATCH 21/31] feat(i18n): migrate tag/circle/user analytics page
---
lang/default.json | 196 ++++++++++++++++--
lang/en.json | 166 +++++++++++++--
lang/zh-Hans.json | 170 +++++++++++++--
lang/zh-Hant.json | 174 ++++++++++++++--
src/components/Forms/EmailSignUpForm/Init.tsx | 7 +-
.../Forms/WalletAuthForm/Connect.tsx | 2 +-
.../Forms/WalletAuthForm/Select.tsx | 10 +-
.../EditProfileDialog/Content.tsx | 66 ++++--
src/views/Circle/CircleDetailTabs/index.tsx | 10 +-
.../Profile/AddCircleArticle/Button.tsx | 11 +-
.../Dialog/ConfirmContent.tsx | 5 +-
.../Profile/AddCircleArticle/Dialog/index.tsx | 6 +-
.../Circle/Profile/DropdownActions/index.tsx | 25 ++-
.../Circle/Profile/FollowButton/Follow.tsx | 11 +-
.../Circle/Profile/FollowButton/Unfollow.tsx | 15 +-
.../Profile/FollowersDialog/Content.tsx | 8 +-
.../Circle/Profile/FollowersDialog/index.tsx | 13 +-
.../Circle/Profile/MembersDialog/Content.tsx | 9 +-
.../Circle/Profile/MembersDialog/index.tsx | 10 +-
src/views/Circle/Profile/index.tsx | 12 +-
.../Me/Analytics/EmptyAnalytics/index.tsx | 25 ++-
src/views/TagDetail/ArticlesCount/index.tsx | 5 +-
.../AddButton/AddMyArticlesButton/index.tsx | 9 +-
.../AddButton/CreateDraftMenuItem/index.tsx | 26 ++-
.../TagDetail/Buttons/FollowButton/Follow.tsx | 4 +-
.../Buttons/FollowButton/Unfollow.tsx | 15 +-
.../TagDetail/Community/Maintainers/index.tsx | 8 +-
.../Community/Participants/index.tsx | 4 +-
src/views/TagDetail/DropdownActions/index.tsx | 49 +++--
src/views/TagDetail/Followers/index.tsx | 5 +-
src/views/TagDetail/Owner/index.tsx | 23 +-
src/views/TagDetail/RelatedTags/index.tsx | 9 +-
src/views/TagDetail/index.tsx | 10 +-
33 files changed, 888 insertions(+), 230 deletions(-)
diff --git a/lang/default.json b/lang/default.json
index b925b71004..56ea09fb42 100644
--- a/lang/default.json
+++ b/lang/default.json
@@ -1,4 +1,8 @@
{
+ "+a+2ug": {
+ "defaultMessage": "Members",
+ "description": ""
+ },
"+hfUcV": {
"defaultMessage": "sent a new broadcast on {circlename}",
"description": "src/components/Notice/CommentNotice/CircleNewBroadcastNotice.tsx"
@@ -7,10 +11,6 @@
"defaultMessage": "is growing",
"description": "src/components/Notice/ArticleNotice/CircleNewArticle.tsx"
},
- "/A/biR": {
- "defaultMessage": "Terms and Privacy Policy",
- "description": "src/components/Forms/WalletAuthForm/Connect.tsx"
- },
"/asuIY": {
"defaultMessage": "Enter Community",
"description": "src/components/Forms/EmailSignUpForm/Complete.tsx"
@@ -23,10 +23,18 @@
"defaultMessage": "replied to your comment on",
"description": "src/components/Notice/CommentCommentNotice/CommentNewReplyNotice.tsx"
},
+ "0Azlrb": {
+ "defaultMessage": "Manage",
+ "description": ""
+ },
"1pFLGZ": {
"defaultMessage": "Bug Bounty",
"description": ""
},
+ "20bImY": {
+ "defaultMessage": "Discussion",
+ "description": ""
+ },
"2atspc": {
"defaultMessage": "Drafts",
"description": ""
@@ -39,6 +47,10 @@
"defaultMessage": "Likes",
"description": ""
},
+ "3KNMbJ": {
+ "defaultMessage": "Articles",
+ "description": ""
+ },
"3WKlPP": {
"defaultMessage": "commented in",
"description": ""
@@ -71,6 +83,10 @@
"defaultMessage": "Your article has been republished to decentralized network",
"description": "src/components/Notice/ArticleNotice/RevisedArticlePublishedNotice.tsx"
},
+ "5FO4vn": {
+ "defaultMessage": "You do not have permission to perform this operation",
+ "description": ""
+ },
"5sAbzJ": {
"defaultMessage": "started a new topic",
"description": "src/components/Notice/CircleNotice/CircleNewDiscussionComments.tsx"
@@ -79,6 +95,10 @@
"defaultMessage": "Password",
"description": ""
},
+ "63HuBz": {
+ "defaultMessage": "This tag has no manager currently",
+ "description": "src/views/TagDetail/Owner/index.tsx"
+ },
"69+D96": {
"defaultMessage": "Start Creating",
"description": ""
@@ -95,6 +115,18 @@
"defaultMessage": "Learn More",
"description": ""
},
+ "8cv9D4": {
+ "defaultMessage": "Next Step",
+ "description": ""
+ },
+ "8ttGfR": {
+ "defaultMessage": "Add Article",
+ "description": "src/views/TagDetail/Buttons/AddButton/AddMyArticlesButton/index.tsx"
+ },
+ "8xPi0N": {
+ "defaultMessage": "Unsubscribe Circle",
+ "description": "src/views/Circle/Profile/DropdownActions/index.tsx"
+ },
"9+Ddtu": {
"defaultMessage": "Next",
"description": ""
@@ -107,6 +139,18 @@
"defaultMessage": "Enter Password",
"description": ""
},
+ "A7ugfn": {
+ "defaultMessage": "More Actions",
+ "description": ""
+ },
+ "A8MpFX": {
+ "defaultMessage": "Enter Bio",
+ "description": ""
+ },
+ "ANA7sk": {
+ "defaultMessage": "Maintain",
+ "description": "src/views/TagDetail/Owner/index.tsx"
+ },
"ANhCde": {
"defaultMessage": "Start creating now!",
"description": "src/components/Forms/EmailSignUpForm/Complete.tsx"
@@ -123,6 +167,10 @@
"defaultMessage": "Featured",
"description": ""
},
+ "Cu3Cty": {
+ "defaultMessage": "month",
+ "description": ""
+ },
"CwSpld": {
"defaultMessage": "Not for login",
"description": "src/components/Forms/WalletAuthForm/Connect.tsx"
@@ -131,6 +179,10 @@
"defaultMessage": "Settings",
"description": ""
},
+ "E8W3qa": {
+ "defaultMessage": "Must be between 2-20 characters long. Chinese characters, letters, numbers and underscores are allowed.",
+ "description": ""
+ },
"EfJYPI": {
"defaultMessage": "Verification Code",
"description": "src/components/Forms/WalletAuthForm/Connect.tsx"
@@ -143,6 +195,10 @@
"defaultMessage": "commented in Broadcast",
"description": "src/components/Notice/CircleNotice/CircleNewBroadcastComments.tsx"
},
+ "FOOymB": {
+ "defaultMessage": "No members yet",
+ "description": "src/views/Circle/Profile/MembersDialog/Content.tsx"
+ },
"FaTb0A": {
"defaultMessage": "Install MetaMask",
"description": "src/components/Forms/WalletAuthForm/Select.tsx"
@@ -155,6 +211,10 @@
"defaultMessage": "posted a new topic and mentioned you",
"description": "src/components/Notice/CircleNotice/CircleNewDiscussionComments.tsx"
},
+ "GRtGnZ": {
+ "defaultMessage": "Resign From Maintainer",
+ "description": "src/views/TagDetail/DropdownActions/index.tsx"
+ },
"GZJpDf": {
"defaultMessage": "Analytics",
"description": ""
@@ -167,6 +227,10 @@
"defaultMessage": "Enter",
"description": ""
},
+ "HFVDeB": {
+ "defaultMessage": "Related Tags",
+ "description": "src/views/TagDetail/RelatedTags/index.tsx"
+ },
"HtSDyc": {
"defaultMessage": "Help Center",
"description": ""
@@ -203,6 +267,10 @@
"defaultMessage": "Forget Password",
"description": "src/components/Forms/EmailLoginForm/Buttons.tsx"
},
+ "KL502d": {
+ "defaultMessage": "Profile updated",
+ "description": "src/components/UserProfile/DropdownActions/EditProfileDialog/Content.tsx"
+ },
"KZlRde": {
"defaultMessage": "replied to",
"description": "src/components/Notice/ArticleArticleNotice/ArticleNewCollectedNotice.tsx"
@@ -211,10 +279,22 @@
"defaultMessage": "invites you to join Circle for",
"description": "src/components/Notice/CircleNotice/CircleInvitationNotice.tsx"
},
+ "L7Si5/": {
+ "defaultMessage": "Manage Community",
+ "description": "src/views/TagDetail/DropdownActions/index.tsx"
+ },
+ "LGox1K": {
+ "defaultMessage": "Followed",
+ "description": ""
+ },
"LW1aX1": {
"defaultMessage": "Congrats!",
"description": "src/components/Notice/CircleNotice/CircleInvitationNotice.tsx"
},
+ "LphWYP": {
+ "defaultMessage": "Terms and Privacy Policy",
+ "description": ""
+ },
"LqxIEU": {
"defaultMessage": "Wallet address will be part of your digital identity and shown in your profile page.",
"description": "src/components/Forms/WalletAuthForm/Select.tsx"
@@ -247,6 +327,10 @@
"defaultMessage": "resigned as tag collaborator. You can invite new collaborators to join",
"description": "src/components/Notice/TagNotice/TagLeaveEditorNotice.tsx"
},
+ "Pdx3j1": {
+ "defaultMessage": "New Article",
+ "description": "src/views/TagDetail/Buttons/AddButton/CreateDraftMenuItem/index.tsx"
+ },
"PjT72J": {
"defaultMessage": "liked your article",
"description": "src/components/Notice/ArticleNotice/ArticleNewAppreciationNotice.tsx"
@@ -255,18 +339,42 @@
"defaultMessage": "Shuffle",
"description": ""
},
+ "Q8Qw5B": {
+ "defaultMessage": "Description",
+ "description": ""
+ },
"QV19cI": {
"defaultMessage": "Failed to republish article",
"description": "src/components/Notice/ArticleNotice/RevisedArticleNotPublishedNotice.tsx"
},
+ "RjE9E9": {
+ "defaultMessage": "Members",
+ "description": "src/views/Circle/Profile/MembersDialog/index.tsx"
+ },
+ "Seanpx": {
+ "defaultMessage": "Required",
+ "description": ""
+ },
"Szd1tH": {
"defaultMessage": "Failed to log out, please try again.",
"description": ""
},
+ "TzhzIH": {
+ "defaultMessage": "Creators",
+ "description": ""
+ },
"U/Tqmx": {
"defaultMessage": "commented on your bookmarked article",
"description": "src/components/Notice/CommentNotice/SubscribedArticleNewCommentNotice.tsx"
},
+ "U9IXic": {
+ "defaultMessage": "Add Articles",
+ "description": "src/views/Circle/Profile/AddCircleArticle/Button.tsx"
+ },
+ "UNUROl": {
+ "defaultMessage": "Maximum 200 characters.",
+ "description": ""
+ },
"UOdEqi": {
"defaultMessage": "The original login via email will be kept for you. Please note that your wallet cannot be reset once it is connected because of your account security.",
"description": "src/components/Forms/WalletAuthForm/Select.tsx"
@@ -275,6 +383,10 @@
"defaultMessage": "You have successfully completed Ethereum wallet settings. Please confirm wallet address:",
"description": "src/components/Notice/CryptoNotice/CryptoWalletConnectedNotice.tsx"
},
+ "UjKkhq": {
+ "defaultMessage": "Tags added",
+ "description": "src/views/TagDetail/DropdownActions/index.tsx"
+ },
"VO4Elt": {
"defaultMessage": "mentioned you in a comment on {commentArticle}",
"description": "src/components/Notice/CommentNotice/CommentMentionedYouNotice.tsx"
@@ -287,10 +399,18 @@
"defaultMessage": "Matters will never ask your wallet key through any channel.",
"description": "src/components/Forms/WalletAuthForm/Select.tsx"
},
+ "WuvE8X": {
+ "defaultMessage": "Followers of {circleName}",
+ "description": "src/views/Circle/Profile/FollowersDialog/index.tsx"
+ },
"XH0Lb6": {
"defaultMessage": "Welcome to Matters!",
"description": "src/components/Forms/EmailSignUpForm/Complete.tsx"
},
+ "XVYrS/": {
+ "defaultMessage": "No followers yet",
+ "description": ""
+ },
"XcTMMM": {
"defaultMessage": "Have an account?",
"description": "src/components/Forms/EmailSignUpForm/Buttons.tsx"
@@ -331,6 +451,10 @@
"defaultMessage": "About Us",
"description": ""
},
+ "aUPhEs": {
+ "defaultMessage": "Add Articles into Trending",
+ "description": "src/views/TagDetail/DropdownActions/index.tsx"
+ },
"aaUBvF": {
"defaultMessage": "comment_circle",
"description": "src/components/Notice/CommentCommentNotice/CommentNewReplyNotice.tsx"
@@ -347,6 +471,10 @@
"defaultMessage": "withdrawal process has started. Please refer to your bank for payout status.",
"description": "src/components/Notice/TransactionNotice/PaymentPayoutNotice.tsx"
},
+ "beLe/F": {
+ "defaultMessage": "Broadcast",
+ "description": ""
+ },
"cE4Hfw": {
"defaultMessage": "Discover",
"description": ""
@@ -371,6 +499,10 @@
"defaultMessage": "Register",
"description": ""
},
+ "dg3JCQ": {
+ "defaultMessage": "collaborators",
+ "description": ""
+ },
"dnsfmR": {
"defaultMessage": "for bug reports or suggestions. We will reply to you as soon we can!",
"description": "src/views/Help/index.tsx"
@@ -379,6 +511,10 @@
"defaultMessage": "uh-oh,",
"description": "src/components/Notice/TagNotice/TagLeaveEditorNotice.tsx"
},
+ "eXDZGQ": {
+ "defaultMessage": "Maintainer",
+ "description": ""
+ },
"enMIYK": {
"defaultMessage": "My Page",
"description": ""
@@ -399,10 +535,6 @@
"defaultMessage": "mentioned you",
"description": "src/components/Notice/CircleNotice/CircleNewDiscussionComments.tsx"
},
- "fw3tYQ": {
- "defaultMessage": "Display Name",
- "description": "src/components/Forms/EmailSignUpForm/Init.tsx"
- },
"g/L3Fm": {
"defaultMessage": "posted and replied to topics",
"description": "src/components/Notice/CircleNotice/CircleNewDiscussionComments.tsx"
@@ -423,6 +555,10 @@
"defaultMessage": "For unregistered or users enabled wallet login",
"description": "src/components/Forms/SelectAuthMethodForm/index.tsx"
},
+ "ieGrWo": {
+ "defaultMessage": "Follow",
+ "description": ""
+ },
"ipQlDG": {
"defaultMessage": "Login with Email",
"description": "src/components/Forms/EmailSignUpForm/Buttons.tsx"
@@ -431,6 +567,10 @@
"defaultMessage": "Profile",
"description": ""
},
+ "izWS4J": {
+ "defaultMessage": "Unfollow",
+ "description": ""
+ },
"jF+Mle": {
"defaultMessage": "days for free. Try it and have fun!",
"description": "src/components/Notice/CircleNotice/CircleInvitationNotice.tsx"
@@ -443,6 +583,10 @@
"defaultMessage": "Enter verification code",
"description": "src/components/Forms/WalletAuthForm/Connect.tsx"
},
+ "jvo0vs": {
+ "defaultMessage": "Save",
+ "description": ""
+ },
"k5NnNF": {
"defaultMessage": "followed you",
"description": "src/components/Notice/UserNotice/UserNewFollowerNotice.tsx"
@@ -459,6 +603,10 @@
"defaultMessage": "Enter Email",
"description": ""
},
+ "lhaIoi": {
+ "defaultMessage": "Enter Display Name",
+ "description": ""
+ },
"ll/ufR": {
"defaultMessage": "Trending",
"description": ""
@@ -483,10 +631,6 @@
"defaultMessage": "Not Registered?",
"description": "src/components/Forms/EmailLoginForm/Buttons.tsx"
},
- "nmZI+U": {
- "defaultMessage": "Terms and Privacy Policy",
- "description": "src/components/Forms/EmailSignUpForm/Init.tsx"
- },
"nsaJRn": {
"defaultMessage": "Logged in successfully",
"description": ""
@@ -494,10 +638,26 @@
"ntjlWR": {
"defaultMessage": "comment"
},
+ "o2Na0B": {
+ "defaultMessage": "Back to All",
+ "description": ""
+ },
"pla6ZF": {
"defaultMessage": "Search articles, tags and authors",
"description": "src/components/Search/SearchBar/index.tsx"
},
+ "pwlQEY": {
+ "defaultMessage": "Display Name",
+ "description": ""
+ },
+ "pzTOmv": {
+ "defaultMessage": "Followers",
+ "description": ""
+ },
+ "q+N5Wd": {
+ "defaultMessage": "Manage Circle",
+ "description": "src/views/Circle/Profile/DropdownActions/index.tsx"
+ },
"qPPrzm": {
"defaultMessage": "supported your article",
"description": "src/components/Notice/TransactionNotice/PaymentReceivedDonationNotice.tsx"
@@ -514,10 +674,18 @@
"defaultMessage": "Email will not be used as a login but only as a contact channel.",
"description": ""
},
+ "rMKNsr": {
+ "defaultMessage": "c",
+ "description": ""
+ },
"reOeq5": {
"defaultMessage": "You have created your personal creative space. Publish your first work!",
"description": "src/components/Forms/EmailSignUpForm/Complete.tsx"
},
+ "rfz/fN": {
+ "defaultMessage": "Recommended size: 1600px x 900px",
+ "description": ""
+ },
"skbUBl": {
"defaultMessage": "Log in",
"description": "src/components/Buttons/Login/index.tsx"
@@ -570,6 +738,10 @@
"defaultMessage": "Circle",
"description": ""
},
+ "wEQDC6": {
+ "defaultMessage": "Edit",
+ "description": ""
+ },
"wSEOxH": {
"defaultMessage": "Contact Channel",
"description": "src/components/Forms/WalletAuthForm/Connect.tsx"
diff --git a/lang/en.json b/lang/en.json
index d509efae64..8c7f0a2d23 100644
--- a/lang/en.json
+++ b/lang/en.json
@@ -83,13 +83,13 @@
"defaultMessage": "Login with Email",
"description": "src/components/Forms/EmailSignUpForm/Buttons.tsx"
},
- "fw3tYQ": {
+ "pwlQEY": {
"defaultMessage": "Display Name",
- "description": "src/components/Forms/EmailSignUpForm/Init.tsx"
+ "description": ""
},
- "nmZI+U": {
+ "LphWYP": {
"defaultMessage": "Terms and Privacy Policy",
- "description": "src/components/Forms/EmailSignUpForm/Init.tsx"
+ "description": ""
},
"agfumL": {
"defaultMessage": "Next",
@@ -111,10 +111,6 @@
"defaultMessage": "Enter password again",
"description": "src/components/Forms/EmailSignUpForm/Password.tsx"
},
- "JsK5CJ": {
- "defaultMessage": "Confirm",
- "description": ""
- },
"XH0Lb6": {
"defaultMessage": "Welcome to Matters!",
"description": "src/components/Forms/EmailSignUpForm/Complete.tsx"
@@ -191,10 +187,6 @@
"defaultMessage": "I have read and agree to",
"description": ""
},
- "/A/biR": {
- "defaultMessage": "Terms and Privacy Policy",
- "description": "src/components/Forms/WalletAuthForm/Connect.tsx"
- },
"jgLiba": {
"defaultMessage": "Enter verification code",
"description": "src/components/Forms/WalletAuthForm/Connect.tsx"
@@ -627,7 +619,7 @@
"defaultMessage": "Search articles, tags and authors",
"description": "src/components/Search/SearchBar/index.tsx"
},
- "3kbIhS": {
+ "3kbIhS": {
"defaultMessage": "Untitled",
"description": ""
},
@@ -646,5 +638,153 @@
"3ynsJ3": {
"defaultMessage": "Want to know more? Check the ",
"description": "src/views/Me/Analytics/EmptyAnalytics/index.tsx"
+ },
+ "0Azlrb": {
+ "defaultMessage": "Manage",
+ "description": ""
+ },
+ "tjvyrl": {
+ "defaultMessage": "Maintainer",
+ "description": "src/views/TagDetail/Community/Maintainers/index.tsx"
+ },
+ "dg3JCQ": {
+ "defaultMessage": "collaborators",
+ "description": ""
+ },
+ "TzhzIH": {
+ "defaultMessage": "Creators",
+ "description": ""
+ },
+ "Pdx3j1": {
+ "defaultMessage": "New Article",
+ "description": "src/views/TagDetail/Buttons/AddButton/CreateDraftMenuItem/index.tsx"
+ },
+ "5FO4vn": {
+ "defaultMessage": "You do not have permission to perform this operation",
+ "description": ""
+ },
+ "8ttGfR": {
+ "defaultMessage": "Add Article",
+ "description": "src/views/TagDetail/Buttons/AddButton/AddMyArticlesButton/index.tsx"
+ },
+ "ieGrWo": {
+ "defaultMessage": "Follow",
+ "description": ""
+ },
+ "izWS4J": {
+ "defaultMessage": "Unfollow",
+ "description": ""
+ },
+ "LGox1K": {
+ "defaultMessage": "Followed",
+ "description": ""
+ },
+ "3KNMbJ": {
+ "defaultMessage": "Articles",
+ "description": ""
+ },
+ "HFVDeB": {
+ "defaultMessage": "Related Tags",
+ "description": "src/views/TagDetail/RelatedTags/index.tsx"
+ },
+ "o2Na0B": {
+ "defaultMessage": "Back to All",
+ "description": ""
+ },
+ "ANA7sk": {
+ "defaultMessage": "Maintain",
+ "description": "src/views/TagDetail/Owner/index.tsx"
+ },
+ "63HuBz": {
+ "defaultMessage": "This tag has no manager currently",
+ "description": "src/views/TagDetail/Owner/index.tsx"
+ },
+ "pzTOmv": {
+ "defaultMessage": "Followers",
+ "description": ""
+ },
+ "UjKkhq": {
+ "defaultMessage": "Tags added",
+ "description": "src/views/TagDetail/DropdownActions/index.tsx"
+ },
+ "GRtGnZ": {
+ "defaultMessage": "Resign From Maintainer",
+ "description": "src/views/TagDetail/DropdownActions/index.tsx"
+ },
+ "L7Si5/": {
+ "defaultMessage": "Manage Community",
+ "description": "src/views/TagDetail/DropdownActions/index.tsx"
+ },
+ "aUPhEs": {
+ "defaultMessage": "Add Articles into Trending",
+ "description": "src/views/TagDetail/DropdownActions/index.tsx"
+ },
+ "wEQDC6": {
+ "defaultMessage": "Edit",
+ "description": ""
+ },
+ "beLe/F": {
+ "defaultMessage": "Broadcast",
+ "description": ""
+ },
+ "20bImY": {
+ "defaultMessage": "Discussion",
+ "description": ""
+ },
+ "U9IXic": {
+ "defaultMessage": "添加作品",
+ "description": "src/views/Circle/Profile/AddCircleArticle/Button.tsx"
+ },
+ "q+N5Wd": {
+ "defaultMessage": "Manage Circle",
+ "description": "src/views/Circle/Profile/DropdownActions/index.tsx"
+ },
+ "8xPi0N": {
+ "defaultMessage": "Unsubscribe Circle",
+ "description": "src/views/Circle/Profile/DropdownActions/index.tsx"
+ },
+ "WuvE8X": {
+ "defaultMessage": "Followers of {circleName}",
+ "description": "src/views/Circle/Profile/FollowersDialog/index.tsx"
+ },
+ "XVYrS/": {
+ "defaultMessage": "No followers yet",
+ "description": ""
+ },
+ "RjE9E9": {
+ "defaultMessage": "Members",
+ "description": ""
+ },
+ "KL502d": {
+ "defaultMessage": "Profile updated",
+ "description": "src/components/UserProfile/DropdownActions/EditProfileDialog/Content.tsx"
+ },
+ "rfz/fN": {
+ "defaultMessage": "Recommended size: 1600px x 900px",
+ "description": ""
+ },
+ "lhaIoi": {
+ "defaultMessage": "Enter Display Name",
+ "description": ""
+ },
+ "E8W3qa": {
+ "defaultMessage": "Must be between 2-20 characters long. Chinese characters, letters, numbers and underscores are allowed.",
+ "description": ""
+ },
+ "Q8Qw5B": {
+ "defaultMessage": "Description",
+ "description": ""
+ },
+ "A8MpFX": {
+ "defaultMessage": "Enter Bio",
+ "description": ""
+ },
+ "UNUROl": {
+ "defaultMessage": "Maximum 200 characters.",
+ "description": ""
+ },
+ "jvo0vs": {
+ "defaultMessage": "Save",
+ "description": ""
}
}
diff --git a/lang/zh-Hans.json b/lang/zh-Hans.json
index 01e05b8d40..7bf8c5b4d0 100644
--- a/lang/zh-Hans.json
+++ b/lang/zh-Hans.json
@@ -71,7 +71,7 @@
"defaultMessage": "以邮箱登入",
"description": "src/components/Forms/EmailSignUpForm/Buttons.tsx"
},
- "fw3tYQ": {
+ "pwlQEY": {
"defaultMessage": "姓名",
"description": "src/components/Forms/EmailSignUpForm/Init.tsx"
},
@@ -83,9 +83,9 @@
"defaultMessage": "我已阅读并同意",
"description": "src/components/Forms/EmailSignUpForm/Init.tsx"
},
- "nmZI+U": {
+ "LphWYP": {
"defaultMessage": "Matters 用户协议和隐私政策",
- "description": "src/components/Forms/EmailSignUpForm/Init.tsx"
+ "description": ""
},
"agfumL": {
"defaultMessage": "下一步",
@@ -107,10 +107,6 @@
"defaultMessage": "再次输入密码",
"description": "src/components/Forms/EmailSignUpForm/Password.tsx"
},
- "JsK5CJ": {
- "defaultMessage": "确认",
- "description": ""
- },
"XH0Lb6": {
"defaultMessage": "欢迎加入 Matters!",
"description": "src/components/Forms/EmailSignUpForm/Complete.tsx"
@@ -187,14 +183,6 @@
"defaultMessage": "验证码",
"description": "src/components/Forms/WalletAuthForm/Connect.tsx"
},
- "0Rw3H/": {
- "defaultMessage": "我已阅读并同意",
- "description": "src/components/Forms/EmailSignUpForm/Init.tsx"
- },
- "/A/biR": {
- "defaultMessage": "Matters 用户协议和隐私政策",
- "description": "src/components/Forms/WalletAuthForm/Connect.tsx"
- },
"jgLiba": {
"defaultMessage": "请输入验证码",
"description": "src/components/Forms/WalletAuthForm/Connect.tsx"
@@ -646,5 +634,157 @@
"3ynsJ3": {
"defaultMessage": "想了解更多?详见 ",
"description": "src/views/Me/Analytics/EmptyAnalytics/index.tsx"
+ },
+ "0Azlrb": {
+ "defaultMessage": "管理",
+ "description": ""
+ },
+ "tjvyrl": {
+ "defaultMessage": "主理人",
+ "description": "src/views/TagDetail/Community/Maintainers/index.tsx"
+ },
+ "dg3JCQ": {
+ "defaultMessage": "协作者",
+ "description": ""
+ },
+ "TzhzIH": {
+ "defaultMessage": "创作者",
+ "description": ""
+ },
+ "Pdx3j1": {
+ "defaultMessage": "创作新的作品",
+ "description": "src/views/TagDetail/Buttons/AddButton/CreateDraftMenuItem/index.tsx"
+ },
+ "5FO4vn": {
+ "defaultMessage": "你尚无权限进行该操作",
+ "description": ""
+ },
+ "8ttGfR": {
+ "defaultMessage": "添加我的作品",
+ "description": "src/views/TagDetail/Buttons/AddButton/AddMyArticlesButton/index.tsx"
+ },
+ "ieGrWo": {
+ "defaultMessage": "追踪",
+ "description": ""
+ },
+ "izWS4J": {
+ "defaultMessage": "取消追踪",
+ "description": ""
+ },
+ "LGox1K": {
+ "defaultMessage": "已追踪",
+ "description": ""
+ },
+ "3KNMbJ": {
+ "defaultMessage": "篇作品",
+ "description": ""
+ },
+ "HFVDeB": {
+ "defaultMessage": "相关标签",
+ "description": "src/views/TagDetail/RelatedTags/index.tsx"
+ },
+ "o2Na0B": {
+ "defaultMessage": "返回全部",
+ "description": ""
+ },
+ "ANA7sk": {
+ "defaultMessage": "认领",
+ "description": "src/views/TagDetail/Owner/index.tsx"
+ },
+ "63HuBz": {
+ "defaultMessage": "此标签目前无人主理",
+ "description": "src/views/TagDetail/Owner/index.tsx"
+ },
+ "pzTOmv": {
+ "defaultMessage": "追踪者",
+ "description": ""
+ },
+ "UjKkhq": {
+ "defaultMessage": "作品已添加标签",
+ "description": "src/views/TagDetail/DropdownActions/index.tsx"
+ },
+ "GRtGnZ": {
+ "defaultMessage": "辞去权限",
+ "description": "src/views/TagDetail/DropdownActions/index.tsx"
+ },
+ "L7Si5/": {
+ "defaultMessage": "管理社群",
+ "description": "src/views/TagDetail/DropdownActions/index.tsx"
+ },
+ "aUPhEs": {
+ "defaultMessage": "添加精选",
+ "description": "src/views/TagDetail/DropdownActions/index.tsx"
+ },
+ "wEQDC6": {
+ "defaultMessage": "编辑标签",
+ "description": ""
+ },
+ "beLe/F": {
+ "defaultMessage": "广播",
+ "description": ""
+ },
+ "20bImY": {
+ "defaultMessage": "众聊",
+ "description": ""
+ },
+ "jx7Hn3": {
+ "defaultMessage": "作品",
+ "description": ""
+ },
+ "U9IXic": {
+ "defaultMessage": "添加作品",
+ "description": "src/views/Circle/Profile/AddCircleArticle/Button.tsx"
+ },
+ "q+N5Wd": {
+ "defaultMessage": "管理围炉",
+ "description": "src/views/Circle/Profile/DropdownActions/index.tsx"
+ },
+ "8xPi0N": {
+ "defaultMessage": "离开围炉",
+ "description": "src/views/Circle/Profile/DropdownActions/index.tsx"
+ },
+ "WuvE8X": {
+ "defaultMessage": "{circleName} 的追踪者",
+ "description": "src/views/Circle/Profile/FollowersDialog/index.tsx"
+ },
+ "XVYrS/": {
+ "defaultMessage": "还没有追踪者",
+ "description": ""
+ },
+ "RjE9E9": {
+ "defaultMessage": "成员",
+ "description": ""
+ },
+ "KL502d": {
+ "defaultMessage": "资料已保存",
+ "description": "src/components/UserProfile/DropdownActions/EditProfileDialog/Content.tsx"
+ },
+ "rfz/fN": {
+ "defaultMessage": "建议封面尺寸 1600 x 900 像素",
+ "description": ""
+ },
+ "lhaIoi": {
+ "defaultMessage": "请输入姓名",
+ "description": ""
+ },
+ "E8W3qa": {
+ "defaultMessage": "2-20 个字符",
+ "description": ""
+ },
+ "Q8Qw5B": {
+ "defaultMessage": "个人简介",
+ "description": ""
+ },
+ "A8MpFX": {
+ "defaultMessage": "请输入个人简介",
+ "description": ""
+ },
+ "UNUROl": {
+ "defaultMessage": "建议 50 字以内,最长 200 字",
+ "description": ""
+ },
+ "jvo0vs": {
+ "defaultMessage": "保存",
+ "description": ""
}
}
diff --git a/lang/zh-Hant.json b/lang/zh-Hant.json
index 846d564166..bfe8d80c97 100644
--- a/lang/zh-Hant.json
+++ b/lang/zh-Hant.json
@@ -71,9 +71,9 @@
"defaultMessage": "以郵箱登入",
"description": "src/components/Forms/EmailSignUpForm/Buttons.tsx"
},
- "fw3tYQ": {
+ "pwlQEY": {
"defaultMessage": "姓名",
- "description": "src/components/Forms/EmailSignUpForm/Init.tsx"
+ "description": ""
},
"4mbdyI": {
"defaultMessage": "電子信箱",
@@ -83,9 +83,9 @@
"defaultMessage": "我已閱讀並同意",
"description": "src/components/Forms/EmailSignUpForm/Init.tsx"
},
- "nmZI+U": {
+ "LphWYP": {
"defaultMessage": "Matters 用戶協議和隱私政策",
- "description": "src/components/Forms/EmailSignUpForm/Init.tsx"
+ "description": ""
},
"agfumL": {
"defaultMessage": "下一步",
@@ -107,7 +107,7 @@
"defaultMessage": "再次輸入密碼",
"description": "src/components/Forms/EmailSignUpForm/Password.tsx"
},
- "JsK5CJ": {
+ "N2IrpM": {
"defaultMessage": "確認",
"description": ""
},
@@ -187,14 +187,6 @@
"defaultMessage": "驗證碼",
"description": "src/components/Forms/WalletAuthForm/Connect.tsx"
},
- "0Rw3H/": {
- "defaultMessage": "我已閱讀並同意",
- "description": "src/components/Forms/EmailSignUpForm/Init.tsx"
- },
- "/A/biR": {
- "defaultMessage": "Matters 用戶協議和隱私政策",
- "description": "src/components/Forms/WalletAuthForm/Connect.tsx"
- },
"jgLiba": {
"defaultMessage": "請輸入驗證碼",
"description": "src/components/Forms/WalletAuthForm/Connect.tsx"
@@ -251,10 +243,6 @@
"defaultMessage": "註冊",
"description": ""
},
- "N2IrpM": {
- "defaultMessage": "確認",
- "description": ""
- },
"EwVnoC": {
"defaultMessage": "我已閱讀並同意",
"description": ""
@@ -646,5 +634,157 @@
"3ynsJ3": {
"defaultMessage": "想了解更多?詳見 ",
"description": "src/views/Me/Analytics/EmptyAnalytics/index.tsx"
+ },
+ "0Azlrb": {
+ "defaultMessage": "管理",
+ "description": ""
+ },
+ "tjvyrl": {
+ "defaultMessage": "主理人",
+ "description": "src/views/TagDetail/Community/Maintainers/index.tsx"
+ },
+ "dg3JCQ": {
+ "defaultMessage": "協作者",
+ "description": ""
+ },
+ "TzhzIH": {
+ "defaultMessage": "創作者",
+ "description": ""
+ },
+ "Pdx3j1": {
+ "defaultMessage": "創作新的作品",
+ "description": "src/views/TagDetail/Buttons/AddButton/CreateDraftMenuItem/index.tsx"
+ },
+ "5FO4vn": {
+ "defaultMessage": "你尚無權限進行該操作",
+ "description": ""
+ },
+ "8ttGfR": {
+ "defaultMessage": "添加我的作品",
+ "description": "src/views/TagDetail/Buttons/AddButton/AddMyArticlesButton/index.tsx"
+ },
+ "ieGrWo": {
+ "defaultMessage": "追蹤",
+ "description": ""
+ },
+ "izWS4J": {
+ "defaultMessage": "取消追蹤",
+ "description": ""
+ },
+ "LGox1K": {
+ "defaultMessage": "已追蹤",
+ "description": ""
+ },
+ "3KNMbJ": {
+ "defaultMessage": "篇作品",
+ "description": ""
+ },
+ "HFVDeB": {
+ "defaultMessage": "相關標籤",
+ "description": "src/views/TagDetail/RelatedTags/index.tsx"
+ },
+ "o2Na0B": {
+ "defaultMessage": "返回全部",
+ "description": ""
+ },
+ "ANA7sk": {
+ "defaultMessage": "認領",
+ "description": "src/views/TagDetail/Owner/index.tsx"
+ },
+ "63HuBz": {
+ "defaultMessage": "此標籤目前無人主理",
+ "description": "src/views/TagDetail/Owner/index.tsx"
+ },
+ "pzTOmv": {
+ "defaultMessage": "追蹤者",
+ "description": ""
+ },
+ "UjKkhq": {
+ "defaultMessage": "作品已添加標籤",
+ "description": "src/views/TagDetail/DropdownActions/index.tsx"
+ },
+ "GRtGnZ": {
+ "defaultMessage": "辭去權限",
+ "description": "src/views/TagDetail/DropdownActions/index.tsx"
+ },
+ "L7Si5/": {
+ "defaultMessage": "管理社群",
+ "description": "src/views/TagDetail/DropdownActions/index.tsx"
+ },
+ "aUPhEs": {
+ "defaultMessage": "添加精選",
+ "description": "src/views/TagDetail/DropdownActions/index.tsx"
+ },
+ "wEQDC6": {
+ "defaultMessage": "編輯標籤",
+ "description": ""
+ },
+ "beLe/F": {
+ "defaultMessage": "廣播",
+ "description": ""
+ },
+ "20bImY": {
+ "defaultMessage": "衆聊",
+ "description": ""
+ },
+ "jx7Hn3": {
+ "defaultMessage": "作品",
+ "description": ""
+ },
+ "U9IXic": {
+ "defaultMessage": "添加作品",
+ "description": "src/views/Circle/Profile/AddCircleArticle/Button.tsx"
+ },
+ "q+N5Wd": {
+ "defaultMessage": "管理圍爐",
+ "description": "src/views/Circle/Profile/DropdownActions/index.tsx"
+ },
+ "8xPi0N": {
+ "defaultMessage": "離開圍爐",
+ "description": "src/views/Circle/Profile/DropdownActions/index.tsx"
+ },
+ "WuvE8X": {
+ "defaultMessage": "{circleName} 的追蹤者",
+ "description": "src/views/Circle/Profile/FollowersDialog/index.tsx"
+ },
+ "XVYrS/": {
+ "defaultMessage": "還沒有追蹤者",
+ "description": ""
+ },
+ "RjE9E9": {
+ "defaultMessage": "成員",
+ "description": ""
+ },
+ "KL502d": {
+ "defaultMessage": "資料已保存",
+ "description": "src/components/UserProfile/DropdownActions/EditProfileDialog/Content.tsx"
+ },
+ "rfz/fN": {
+ "defaultMessage": "建議封面尺寸 1600 x 900 像素",
+ "description": ""
+ },
+ "lhaIoi": {
+ "defaultMessage": "請輸入姓名",
+ "description": ""
+ },
+ "E8W3qa": {
+ "defaultMessage": "2-20 個字元",
+ "description": ""
+ },
+ "Q8Qw5B": {
+ "defaultMessage": "個人簡介",
+ "description": ""
+ },
+ "A8MpFX": {
+ "defaultMessage": "請輸入個人簡介",
+ "description": ""
+ },
+ "UNUROl": {
+ "defaultMessage": "建議 50 字以內,最長 200 字",
+ "description": ""
+ },
+ "jvo0vs": {
+ "defaultMessage": "儲存",
+ "description": ""
}
}
diff --git a/src/components/Forms/EmailSignUpForm/Init.tsx b/src/components/Forms/EmailSignUpForm/Init.tsx
index a025e1dea9..f7cfb49969 100644
--- a/src/components/Forms/EmailSignUpForm/Init.tsx
+++ b/src/components/Forms/EmailSignUpForm/Init.tsx
@@ -115,10 +115,7 @@ const Init: React.FC = ({
+
}
type="text"
name="displayName"
@@ -164,7 +161,7 @@ const Init: React.FC = ({
diff --git a/src/components/Forms/WalletAuthForm/Connect.tsx b/src/components/Forms/WalletAuthForm/Connect.tsx
index 8b200cfa35..bb5921dc93 100644
--- a/src/components/Forms/WalletAuthForm/Connect.tsx
+++ b/src/components/Forms/WalletAuthForm/Connect.tsx
@@ -406,7 +406,7 @@ const Connect: React.FC = ({
diff --git a/src/components/Forms/WalletAuthForm/Select.tsx b/src/components/Forms/WalletAuthForm/Select.tsx
index 519a46e30f..ad6fea6d26 100644
--- a/src/components/Forms/WalletAuthForm/Select.tsx
+++ b/src/components/Forms/WalletAuthForm/Select.tsx
@@ -44,10 +44,7 @@ const Hint = () => {
target="_blank"
rel="noreferrer"
>
-
+
@@ -63,10 +60,7 @@ const Hint = () => {
target="_blank"
rel="noreferrer"
>
-
+
diff --git a/src/components/UserProfile/DropdownActions/EditProfileDialog/Content.tsx b/src/components/UserProfile/DropdownActions/EditProfileDialog/Content.tsx
index 84236f7473..e9902ac67f 100644
--- a/src/components/UserProfile/DropdownActions/EditProfileDialog/Content.tsx
+++ b/src/components/UserProfile/DropdownActions/EditProfileDialog/Content.tsx
@@ -2,22 +2,17 @@ import { useFormik } from 'formik'
import gql from 'graphql-tag'
import _pickBy from 'lodash/pickBy'
import React, { useContext } from 'react'
-import { useIntl } from 'react-intl'
+import { FormattedMessage, useIntl } from 'react-intl'
import IMAGE_COVER from '@/public/static/images/profile-cover.png'
import { ADD_TOAST, ASSET_TYPE, ENTITY_TYPE } from '~/common/enums'
-import {
- parseFormSubmitErrors,
- translate,
- validateDisplayName,
-} from '~/common/utils'
+import { parseFormSubmitErrors, validateDisplayName } from '~/common/utils'
import {
AvatarUploader,
CoverUploader,
Dialog,
Form,
LanguageContext,
- Translate,
useMutation,
ViewerContext,
} from '~/components'
@@ -87,7 +82,10 @@ const EditProfileDialogContent: React.FC = ({
const intl = useIntl()
const validateDescription = (value: string, lang: Language) => {
if (!value) {
- return translate({ id: 'required', lang })
+ return intl.formatMessage({
+ defaultMessage: 'Required',
+ description: '',
+ })
} else if (value.length > 200) {
return intl.formatMessage(
{
@@ -143,7 +141,12 @@ const EditProfileDialogContent: React.FC = ({
new CustomEvent(ADD_TOAST, {
detail: {
color: 'green',
- content: ,
+ content: (
+
+ ),
},
})
)
@@ -158,7 +161,11 @@ const EditProfileDialogContent: React.FC = ({
if (code === 'DISPLAYNAME_INVALID') {
setFieldError(
'displayName',
- translate({ id: 'hintDisplayName', lang })
+ intl.formatMessage({
+ defaultMessage:
+ 'Must be between 2-20 characters long. Chinese characters, letters, numbers and underscores are allowed.',
+ description: '',
+ })
)
} else {
setFieldError('description', messages[code])
@@ -184,7 +191,10 @@ const EditProfileDialogContent: React.FC = ({
/>
-
+
@@ -204,15 +214,22 @@ const EditProfileDialogContent: React.FC = ({
)}
}
+ label={
+
+ }
type="text"
name="displayName"
required
- placeholder={translate({
- id: 'enterDisplayName',
- lang,
+ placeholder={intl.formatMessage({
+ defaultMessage: 'Enter Display Name',
+ description: '',
})}
- hint={}
+ hint={
+
+ }
value={values.displayName}
error={touched.displayName && errors.displayName}
onBlur={handleBlur}
@@ -220,14 +237,19 @@ const EditProfileDialogContent: React.FC = ({
/>
}
+ label={}
name="description"
required
- placeholder={translate({
- id: 'enterUserDescription',
- lang,
+ placeholder={intl.formatMessage({
+ defaultMessage: 'Enter Bio',
+ description: '',
})}
- hint={}
+ hint={
+
+ }
value={values.description}
error={touched.description && errors.description}
onBlur={handleBlur}
@@ -243,7 +265,7 @@ const EditProfileDialogContent: React.FC = ({
type="submit"
form={formId}
disabled={!isValid || isSubmitting}
- text={}
+ text={}
loading={isSubmitting}
/>
)
diff --git a/src/views/Circle/CircleDetailTabs/index.tsx b/src/views/Circle/CircleDetailTabs/index.tsx
index f047b35bd5..40dbf41c88 100644
--- a/src/views/Circle/CircleDetailTabs/index.tsx
+++ b/src/views/Circle/CircleDetailTabs/index.tsx
@@ -1,5 +1,7 @@
+import { FormattedMessage } from 'react-intl'
+
import { toPath } from '~/common/utils'
-import { Tabs, Translate, useRoute } from '~/components'
+import { Tabs, useRoute } from '~/components'
const CircleDetailTabs = () => {
const { isInPath, getQuery } = useRoute()
@@ -21,21 +23,21 @@ const CircleDetailTabs = () => {
return (
-
+
-
+
-
+
)
diff --git a/src/views/Circle/Profile/AddCircleArticle/Button.tsx b/src/views/Circle/Profile/AddCircleArticle/Button.tsx
index b8badd6228..42162d7574 100644
--- a/src/views/Circle/Profile/AddCircleArticle/Button.tsx
+++ b/src/views/Circle/Profile/AddCircleArticle/Button.tsx
@@ -1,4 +1,6 @@
-import { Button, IconPen16, TextIcon, Translate } from '~/components'
+import { FormattedMessage } from 'react-intl'
+
+import { Button, IconPen16, TextIcon } from '~/components'
import AddCircleArticleDialog from './Dialog'
@@ -22,10 +24,9 @@ const AddArticlesButton = ({ circle }: AddArticlesButtonProps) => {
aria-haspopup="dialog"
>
} weight="md" size="md-s">
-
diff --git a/src/views/Circle/Profile/AddCircleArticle/Dialog/ConfirmContent.tsx b/src/views/Circle/Profile/AddCircleArticle/Dialog/ConfirmContent.tsx
index 12dc0dc0f2..2a70be6123 100644
--- a/src/views/Circle/Profile/AddCircleArticle/Dialog/ConfirmContent.tsx
+++ b/src/views/Circle/Profile/AddCircleArticle/Dialog/ConfirmContent.tsx
@@ -1,6 +1,7 @@
import { useState } from 'react'
+import { FormattedMessage } from 'react-intl'
-import { Dialog, Translate } from '~/components'
+import { Dialog } from '~/components'
import SelectLicense from '~/components/Editor/ToggleAccess/SelectLicense'
import { ArticleLicenseType } from '~/gql/graphql'
@@ -29,7 +30,7 @@ const ConfirmContent: React.FC = ({
onClick={() =>
onConfirm(license === ArticleLicenseType.Arr, license)
}
- text={}
+ text={}
loading={loading}
/>
}
diff --git a/src/views/Circle/Profile/AddCircleArticle/Dialog/index.tsx b/src/views/Circle/Profile/AddCircleArticle/Dialog/index.tsx
index d68a1ae0a2..6fc212ec08 100644
--- a/src/views/Circle/Profile/AddCircleArticle/Dialog/index.tsx
+++ b/src/views/Circle/Profile/AddCircleArticle/Dialog/index.tsx
@@ -1,5 +1,6 @@
import dynamic from 'next/dynamic'
import { useContext, useState } from 'react'
+import { FormattedMessage } from 'react-intl'
import { ADD_TOAST, REFETCH_CIRCLE_DETAIL_ARTICLES } from '~/common/enums'
import { translate } from '~/common/utils'
@@ -7,7 +8,6 @@ import {
Dialog,
LanguageContext,
Spinner,
- Translate,
useDialogSwitch,
useMutation,
useStep,
@@ -117,7 +117,9 @@ const AddCircleArticleDialog = ({
onSave={onSaveArticles}
nodes={articles}
saving={loading}
- headerRightButtonText={}
+ headerRightButtonText={
+
+ }
closeDialog={closeDialog}
/>
)}
diff --git a/src/views/Circle/Profile/DropdownActions/index.tsx b/src/views/Circle/Profile/DropdownActions/index.tsx
index 832dd79769..cba10d0ff9 100644
--- a/src/views/Circle/Profile/DropdownActions/index.tsx
+++ b/src/views/Circle/Profile/DropdownActions/index.tsx
@@ -1,8 +1,9 @@
import _isEmpty from 'lodash/isEmpty'
import _pickBy from 'lodash/pickBy'
import { useContext } from 'react'
+import { FormattedMessage, useIntl } from 'react-intl'
-import { toPath, translate } from '~/common/utils'
+import { toPath } from '~/common/utils'
import {
Button,
DropdownDialog,
@@ -11,10 +12,8 @@ import {
IconLogout24,
IconMore32,
IconSettings32,
- LanguageContext,
Menu,
TextIcon,
- Translate,
UnsubscribeCircleDialog,
ViewerContext,
} from '~/components'
@@ -51,14 +50,16 @@ const BaseDropdownActions = ({
openUnsubscribeCircleDialog,
}: BaseDropdownActionsProps) => {
- const { lang } = useContext(LanguageContext)
-
+ const intl = useIntl()
const Content = ({ isInDropdown }: { isInDropdown?: boolean }) => (