diff --git a/assets/screens/meRoot/welcome.png b/assets/images/welcome.png similarity index 100% rename from assets/screens/meRoot/welcome.png rename to assets/images/welcome.png diff --git a/src/App.tsx b/src/App.tsx index 0ef71933..399cf6ea 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -88,7 +88,8 @@ const App: React.FC = () => { log('log', 'App', 'bootstrapped') if (bootstrapped) { log('log', 'App', 'loading actual app :)') - i18n.changeLanguage(getSettingsLanguage(store.getState())) + const language = getSettingsLanguage(store.getState()) + i18n.changeLanguage(language) return ( diff --git a/src/Screens.tsx b/src/Screens.tsx index 7aa01265..83bfade6 100644 --- a/src/Screens.tsx +++ b/src/Screens.tsx @@ -35,7 +35,7 @@ export interface Props { } const Screens: React.FC = ({ localCorrupt }) => { - const { t } = useTranslation('common') + const { t } = useTranslation('screens') const dispatch = useDispatch() const instanceActive = useSelector(getInstanceActive) const { mode, theme } = useTheme() @@ -92,7 +92,7 @@ const Screens: React.FC = ({ localCorrupt }) => { const showLocalCorrect = () => { if (localCorrupt) { displayMessage({ - message: t('index.localCorrupt'), + message: t('localCorrupt.message'), description: localCorrupt.length ? localCorrupt : undefined, type: 'error', mode diff --git a/src/components/Instance.tsx b/src/components/Instance.tsx index deba3c5d..e7dfee70 100644 --- a/src/components/Instance.tsx +++ b/src/components/Instance.tsx @@ -131,7 +131,7 @@ const ComponentInstance: React.FC = ({ {!disableHeaderImage ? ( diff --git a/src/components/Relationship/Incoming.tsx b/src/components/Relationship/Incoming.tsx index 0f5306a2..d8d8f14f 100644 --- a/src/components/Relationship/Incoming.tsx +++ b/src/components/Relationship/Incoming.tsx @@ -41,7 +41,7 @@ const RelationshipIncoming: React.FC = ({ id }) => { displayMessage({ type: 'error', mode, - message: t('common:toastMessage.error.message', { + message: t('common:message.error.message', { function: t(`relationship:${type}.function`) }), ...(err.status && diff --git a/src/components/Relationship/Outgoing.tsx b/src/components/Relationship/Outgoing.tsx index 230639d1..783e3951 100644 --- a/src/components/Relationship/Outgoing.tsx +++ b/src/components/Relationship/Outgoing.tsx @@ -42,7 +42,7 @@ const RelationshipOutgoing = React.memo( displayMessage({ mode, type: 'error', - message: t('common:toastMessage.error.message', { + message: t('common:message.error.message', { function: t(`${action}.function`) }), ...(err.status && diff --git a/src/components/Timeline/Shared/Actions.tsx b/src/components/Timeline/Shared/Actions.tsx index 11323b4c..9c6b540b 100644 --- a/src/components/Timeline/Shared/Actions.tsx +++ b/src/components/Timeline/Shared/Actions.tsx @@ -85,7 +85,7 @@ const TimelineActions: React.FC = ({ displayMessage({ mode, type: 'error', - message: t('common:toastMessage.error.message', { + message: t('common:message.error.message', { function: t( `shared.actions.${correctParam.payload.property}.function` ) diff --git a/src/components/Timeline/Shared/HeaderConversation.tsx b/src/components/Timeline/Shared/HeaderConversation.tsx index f1227c01..440cc850 100644 --- a/src/components/Timeline/Shared/HeaderConversation.tsx +++ b/src/components/Timeline/Shared/HeaderConversation.tsx @@ -59,7 +59,7 @@ const HeaderConversation = React.memo( displayMessage({ mode, type: 'error', - message: t('common:toastMessage.error.message', { + message: t('common:message.error.message', { function: t(`shared.header.conversation.delete.function`) }), ...(err.status && diff --git a/src/components/Timeline/Shared/Poll.tsx b/src/components/Timeline/Shared/Poll.tsx index 2f6ec37a..8a76be92 100644 --- a/src/components/Timeline/Shared/Poll.tsx +++ b/src/components/Timeline/Shared/Poll.tsx @@ -63,7 +63,7 @@ const TimelinePoll: React.FC = ({ displayMessage({ mode, type: 'error', - message: t('common:toastMessage.error.message', { + message: t('common:message.error.message', { // @ts-ignore function: t(`shared.poll.meta.button.${theParams.payload.type}`) }), @@ -269,12 +269,14 @@ const TimelinePoll: React.FC = ({ return ( {t('shared.poll.meta.count.voters', { count: poll.voters_count })} + {' • '} ) } else if (poll.votes_count !== null) { return ( {t('shared.poll.meta.count.votes', { count: poll.votes_count })} + {' • '} ) } diff --git a/src/i18n/en/_all.ts b/src/i18n/en/_all.ts index 7ae4e778..d326e4a7 100644 --- a/src/i18n/en/_all.ts +++ b/src/i18n/en/_all.ts @@ -1,37 +1,16 @@ export default { common: require('./common'), - local: require('./screens/local'), - - public: require('./screens/public'), - - notifications: require('./screens/notifications'), - - meRoot: require('./screens/meRoot'), - meConversations: require('./screens/meConversations'), - meBookmarks: require('./screens/meBookmarks'), - meFavourites: require('./screens/meFavourites'), - meLists: require('./screens/meLists'), - meListsList: require('./screens/meListsList'), - meSettings: require('./screens/meSettings'), - meSettingsFontsize: require('./screens/meSettingsFontsize'), - meSettingsPush: require('./screens/meSettingsPush'), - meSwitch: require('./screens/meSwitch'), - - sharedAccount: require('./screens/sharedAccount'), - sharedAnnouncements: require('./screens/sharedAnnouncements'), - sharedAttachments: require('./screens/sharedAttachments'), - sharedCompose: require('./screens/sharedCompose'), - sharedSearch: require('./screens/sharedSearch'), - sharedToot: require('./screens/sharedToot'), - sharedUsers: require('./screens/sharedUsers'), + screens: require('./screens'), + screenActions: require('./screens/actions'), + screenAnnouncements: require('./screens/announcements'), + screenCompose: require('./screens/compose'), + screenImageViewer: require('./screens/imageViewer'), + screenTabs: require('./screens/tabs'), componentInstance: require('./components/instance'), componentParse: require('./components/parse'), componentRelationship: require('./components/relationship'), componentRelativeTime: require('./components/relativeTime'), - componentTimeline: require('./components/timeline'), - - screenActions: require('./screens/screenActions'), - screenImageViewer: require('./screens/screenImageViewer') + componentTimeline: require('./components/timeline') } diff --git a/src/i18n/en/common.json b/src/i18n/en/common.json index 51ce2106..3f98ec1e 100644 --- a/src/i18n/en/common.json +++ b/src/i18n/en/common.json @@ -1,23 +1,9 @@ { - "network": { - "disconnected": { - "message": "Lost network connection", - "description": "Please check your phone's network setting" - } - }, - "screenshot": { - "title": "Privacy Protection", - "message": "Please do not disclose other user's identity, such as username, avatar, etc. Thank you!", - "button": "Confirm" - }, - "index": { - "localCorrupt": "Login expired, please login again" - }, "buttons": { "apply": "Apply", "cancel": "Cancel" }, - "toastMessage": { + "message": { "success": { "message": "{{function}} succeed" }, diff --git a/src/i18n/en/components/relativeTime.json b/src/i18n/en/components/relativeTime.json index 41d18170..2e3a2056 100644 --- a/src/i18n/en/components/relativeTime.json +++ b/src/i18n/en/components/relativeTime.json @@ -1,9 +1,9 @@ { "strings": { - "prefixAgo": null, - "prefixFromNow": null, + "prefixAgo": "", + "prefixFromNow": "", "suffixAgo": "ago", - "suffixFromNow": null, + "suffixFromNow": "", "seconds": "%d seconds", "minute": "about a minute", "minutes": "%d minutes", diff --git a/src/i18n/en/components/timeline.json b/src/i18n/en/components/timeline.json index 6874f0c0..8a744b25 100644 --- a/src/i18n/en/components/timeline.json +++ b/src/i18n/en/components/timeline.json @@ -149,10 +149,10 @@ "refresh": "Refresh" }, "count": { - "voters": "{{count}} user voted • ", - "voters_plural": "{{count}} users voted • ", - "votes": "{{count}} vote • ", - "votes_plural": "{{count}} votes • " + "voters": "{{count}} user voted", + "voters_plural": "{{count}} users voted", + "votes": "{{count}} vote", + "votes_plural": "{{count}} votes" }, "expiration": { "expired": "Vote expired", diff --git a/src/i18n/en/screens.json b/src/i18n/en/screens.json new file mode 100644 index 00000000..80cbdaa8 --- /dev/null +++ b/src/i18n/en/screens.json @@ -0,0 +1,20 @@ +{ + "network": { + "disconnected": { + "message": "Lost network connection", + "description": "Please check your phone's network setting" + } + }, + "screenshot": { + "title": "Privacy Protection", + "message": "Please do not disclose other user's identity, such as username, avatar, etc. Thank you!", + "button": "Confirm" + }, + "localCorrupt": { + "message": "Login expired, please login again" + }, + "pushError": { + "message": "Push service error", + "description": "Please re-enable push notification in settings" + } +} \ No newline at end of file diff --git a/src/i18n/en/screens/screenActions.json b/src/i18n/en/screens/actions.json similarity index 100% rename from src/i18n/en/screens/screenActions.json rename to src/i18n/en/screens/actions.json diff --git a/src/i18n/en/screens/sharedAnnouncements.json b/src/i18n/en/screens/announcements.json similarity index 80% rename from src/i18n/en/screens/sharedAnnouncements.json rename to src/i18n/en/screens/announcements.json index 5352fea2..eb0cfa5f 100644 --- a/src/i18n/en/screens/sharedAnnouncements.json +++ b/src/i18n/en/screens/announcements.json @@ -4,7 +4,7 @@ "published": "Published <0 />", "button": { "read": "Read", - "unread": "Mark read" + "unread": "Mark as read" } } } \ No newline at end of file diff --git a/src/i18n/en/screens/sharedCompose.json b/src/i18n/en/screens/compose.json similarity index 100% rename from src/i18n/en/screens/sharedCompose.json rename to src/i18n/en/screens/compose.json diff --git a/src/i18n/en/screens/screenImageViewer.json b/src/i18n/en/screens/imageViewer.json similarity index 100% rename from src/i18n/en/screens/screenImageViewer.json rename to src/i18n/en/screens/imageViewer.json diff --git a/src/i18n/en/screens/local.json b/src/i18n/en/screens/local.json deleted file mode 100644 index 10c6bb61..00000000 --- a/src/i18n/en/screens/local.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "heading": "Following" -} \ No newline at end of file diff --git a/src/i18n/en/screens/meBookmarks.json b/src/i18n/en/screens/meBookmarks.json deleted file mode 100644 index eccc46ec..00000000 --- a/src/i18n/en/screens/meBookmarks.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "heading": "Bookmarks" -} \ No newline at end of file diff --git a/src/i18n/en/screens/meConversations.json b/src/i18n/en/screens/meConversations.json deleted file mode 100644 index 8cb0e552..00000000 --- a/src/i18n/en/screens/meConversations.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "heading": "Direct Messages" -} \ No newline at end of file diff --git a/src/i18n/en/screens/meFavourites.json b/src/i18n/en/screens/meFavourites.json deleted file mode 100644 index 724f5655..00000000 --- a/src/i18n/en/screens/meFavourites.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "heading": "Favourites" -} \ No newline at end of file diff --git a/src/i18n/en/screens/meLists.json b/src/i18n/en/screens/meLists.json deleted file mode 100644 index 119451ed..00000000 --- a/src/i18n/en/screens/meLists.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "heading": "Lists" -} \ No newline at end of file diff --git a/src/i18n/en/screens/meListsList.json b/src/i18n/en/screens/meListsList.json deleted file mode 100644 index 9b98fa76..00000000 --- a/src/i18n/en/screens/meListsList.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "heading": "List: {{list}}" -} \ No newline at end of file diff --git a/src/i18n/en/screens/meRoot.json b/src/i18n/en/screens/meRoot.json deleted file mode 100644 index 83a2d6c7..00000000 --- a/src/i18n/en/screens/meRoot.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "content": { - "collections": { - "conversations": "$t(meConversations:heading)", - "bookmarks": "$t(meBookmarks:heading)", - "favourites": "$t(meFavourites:heading)", - "lists": "$t(meLists:heading)", - "announcements": { - "heading": "$t(sharedAnnouncements:heading)", - "content": { - "unread": "{{amount}} unread", - "read": "All read", - "empty": "None" - } - } - }, - "accountSettings": "Account Settings", - "appSettings": "$t(meSettings:heading)", - "logout": { - "button": "Log out", - "alert": { - "title": "Logging out?", - "message": "After logging out, you need to log in again", - "buttons": { - "logout": "Logout", - "cancel": "$t(common:buttons.cancel)" - } - } - } - } -} \ No newline at end of file diff --git a/src/i18n/en/screens/meSettings.json b/src/i18n/en/screens/meSettings.json deleted file mode 100644 index e2fcd8aa..00000000 --- a/src/i18n/en/screens/meSettings.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "heading": "Settings", - "content": { - "push": { - "heading": "$t(meSettingsPush:heading)", - "content": { - "enabled": "Enabled", - "disabled": "Disabled" - } - }, - "fontsize": { - "heading": "$t(meSettingsFontsize:heading)", - "content": { - "S": "$t(meSettingsFontsize:content.sizes.S)", - "M": "$t(meSettingsFontsize:content.sizes.M)", - "L": "$t(meSettingsFontsize:content.sizes.L)", - "XL": "$t(meSettingsFontsize:content.sizes.XL)", - "XXL": "$t(meSettingsFontsize:content.sizes.XXL)" - } - }, - "language": { - "heading": "Language", - "options": { - "en": "English", - "zh-Hans": "简体中文", - "cancel": "$t(common:buttons.cancel)" - } - }, - "theme": { - "heading": "Appearance", - "options": { - "auto": "As system", - "light": "Light mode", - "dark": "Dark mode", - "cancel": "$t(common:buttons.cancel)" - } - }, - "browser": { - "heading": "Opening link", - "options": { - "internal": "Inside app", - "external": "Use system browser", - "cancel": "$t(common:buttons.cancel)" - } - }, - "cache": { - "heading": "Clear cache", - "empty": "Cache empty" - }, - "support": { - "heading": "Support tooot" - }, - "review": { - "heading": "Review tooot" - }, - "contact": { - "heading": "Contact tooot" - }, - "analytics": { - "heading": "Help us improve", - "description": "Collecting only non-user relative usage" - }, - "version": "Version v{{version}}" - } -} \ No newline at end of file diff --git a/src/i18n/en/screens/meSettingsFontsize.json b/src/i18n/en/screens/meSettingsFontsize.json deleted file mode 100644 index a811d3b1..00000000 --- a/src/i18n/en/screens/meSettingsFontsize.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "heading": "Toot Font Size", - "content": { - "showcase": "Example toot", - "demo": "

This is a demo toot😊. You can choose from several options from below.

This setting only affects the main content of toots, but not other font sizes.

", - "availableSizes": "Available sizes", - "sizes": { - "S": "S", - "M": "M - Default", - "L": "L", - "XL": "XL", - "XXL": "XXL" - } - } -} \ No newline at end of file diff --git a/src/i18n/en/screens/meSettingsPush.json b/src/i18n/en/screens/meSettingsPush.json deleted file mode 100644 index 346de88b..00000000 --- a/src/i18n/en/screens/meSettingsPush.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "heading": "Push Notification", - "content": { - "enable": { - "direct": "Enable push notification", - "settings": "Enable in settings" - }, - "global": { - "heading": "Enable push notification", - "description": "Messages are routed through tooot's server" - }, - "decode": { - "heading": "Show message details", - "description": "Messages routed through tooot's server are encrypted, but you can choose to decode the message on the server. Our server source code is open source, and no log policy." - }, - "default": { - "heading": "Default" - }, - "follow": { - "heading": "New follower" - }, - "favourite": { - "heading": "Favourited" - }, - "reblog": { - "heading": "Boosted" - }, - "mention": { - "heading": "Mentioned you" - }, - "poll": { - "heading": "Poll updates" - }, - "howitworks": "Learn how routing works" - }, - "error": { - "message": "Push service error", - "description": "Please re-enable push notification in settings" - } -} \ No newline at end of file diff --git a/src/i18n/en/screens/meSwitch.json b/src/i18n/en/screens/meSwitch.json deleted file mode 100644 index 27790e18..00000000 --- a/src/i18n/en/screens/meSwitch.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "heading": "Switch Account", - "content": { - "existing": "Choose from logged in", - "new": "Log in to instance" - } -} \ No newline at end of file diff --git a/src/i18n/en/screens/notifications.json b/src/i18n/en/screens/notifications.json deleted file mode 100644 index dab801e4..00000000 --- a/src/i18n/en/screens/notifications.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "heading": "Notifications" -} \ No newline at end of file diff --git a/src/i18n/en/screens/public.json b/src/i18n/en/screens/public.json deleted file mode 100644 index 68a1593e..00000000 --- a/src/i18n/en/screens/public.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "heading": { - "segments": { - "left": "Federated", - "right": "Local" - } - } -} \ No newline at end of file diff --git a/src/i18n/en/screens/sharedAccount.json b/src/i18n/en/screens/sharedAccount.json deleted file mode 100644 index d43530d2..00000000 --- a/src/i18n/en/screens/sharedAccount.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "content": { - "moved": "User moved", - "created_at": "Registered: {{date}}", - "summary": { - "statuses_count": "{{count}} toots", - "following_count": "$t(sharedUsers:heading.accounts.following)", - "followers_count": "$t(sharedUsers:heading.accounts.followers)" - } - } -} \ No newline at end of file diff --git a/src/i18n/en/screens/sharedAttachments.json b/src/i18n/en/screens/sharedAttachments.json deleted file mode 100644 index 37256a16..00000000 --- a/src/i18n/en/screens/sharedAttachments.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "heading": "<0 />\"s <1>media" -} \ No newline at end of file diff --git a/src/i18n/en/screens/sharedSearch.json b/src/i18n/en/screens/sharedSearch.json deleted file mode 100644 index 014fe3e5..00000000 --- a/src/i18n/en/screens/sharedSearch.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "content": { - "header": { - "prefix": "Search", - "placeholder": "for..." - }, - "empty": { - "general": "Enter keyword to search for $t(sharedSearch:content.sections.accounts)$t(sharedSearch:content.sections.hashtags) or $t(sharedSearch:content.sections.statuses)", - "advanced": { - "header": "Advanced search", - "example": { - "account": "$t(sharedSearch:content.header.prefix)$t(sharedSearch:content.sections.accounts)", - "hashtag": "$t(sharedSearch:content.header.prefix)$t(sharedSearch:content.sections.hashtags)", - "statusLink": "$t(sharedSearch:content.header.prefix)$t(sharedSearch:content.sections.statuses)", - "accountLink": "$t(sharedSearch:content.header.prefix)$t(sharedSearch:content.sections.accounts)" - } - } - }, - "sections": { - "accounts": "User", - "hashtags": "Hashtag", - "statuses": "Toot" - }, - "notFound": "Cannot find {{searchTerm}} related {{type}}" - } -} \ No newline at end of file diff --git a/src/i18n/en/screens/sharedToot.json b/src/i18n/en/screens/sharedToot.json deleted file mode 100644 index 4f784340..00000000 --- a/src/i18n/en/screens/sharedToot.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "heading": "Discussions" -} \ No newline at end of file diff --git a/src/i18n/en/screens/sharedUsers.json b/src/i18n/en/screens/sharedUsers.json deleted file mode 100644 index 56cdd349..00000000 --- a/src/i18n/en/screens/sharedUsers.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "heading": { - "accounts": { - "following": "Following {{count}}", - "followers": "{{count}} followers" - }, - "statuses": { - "reblogged_by": "{{count}} boosted", - "favourited_by": "{{count}} favourited" - } - } -} \ No newline at end of file diff --git a/src/i18n/en/screens/tabs.json b/src/i18n/en/screens/tabs.json new file mode 100644 index 00000000..085c0e1a --- /dev/null +++ b/src/i18n/en/screens/tabs.json @@ -0,0 +1,233 @@ +{ + "tabs": { + "local": { + "name": "Following" + }, + "public": { + "name": "", + "segments": { + "left": "Federated", + "right": "Local" + } + }, + "notifications": { + "name": "Notifications" + }, + "me": { + "name": "About me" + } + }, + "me": { + "stacks": { + "bookmarks": { + "name": "Bookmarks" + }, + "conversations": { + "name": "Direct Messages" + }, + "favourites": { + "name": "Favourites" + }, + "fontSize": { + "name": "Toot Font Size" + }, + "lists": { + "name": "Lists" + }, + "list": { + "name": "List: {{list}}" + }, + "push": { + "name": "Push Notification" + }, + "settings": { + "name": "Settings" + }, + "switch": { + "name": "Switch Account" + } + }, + "fontSize": { + "showcase": "Example toot", + "demo": "

This is a demo toot😊. You can choose from several options from below.

This setting only affects the main content of toots, but not other font sizes.

", + "availableSizes": "Available sizes", + "sizes": { + "S": "S", + "M": "M - Default", + "L": "L", + "XL": "XL", + "XXL": "XXL" + } + }, + "push": { + "enable": { + "direct": "Enable push notification", + "settings": "Enable in settings" + }, + "global": { + "heading": "Enable push notification", + "description": "Messages are routed through tooot's server" + }, + "decode": { + "heading": "Show message details", + "description": "Messages routed through tooot's server are encrypted, but you can choose to decode the message on the server. Our server source code is open source, and no log policy." + }, + "default": { + "heading": "Default" + }, + "follow": { + "heading": "New follower" + }, + "favourite": { + "heading": "Favourited" + }, + "reblog": { + "heading": "Boosted" + }, + "mention": { + "heading": "Mentioned you" + }, + "poll": { + "heading": "Poll updates" + }, + "howitworks": "Learn how routing works" + }, + "root": { + "announcements": { + "content": { + "unread": "{{amount}} unread", + "read": "All read", + "empty": "None" + } + }, + "logout": { + "button": "Log out", + "alert": { + "title": "Logging out?", + "message": "After logging out, you need to log in again", + "buttons": { + "logout": "Logout", + "cancel": "$t(common:buttons.cancel)" + } + } + } + }, + "settings": { + "push": { + "heading": "$t(me.stacks.push.name)", + "content": { + "enabled": "Enabled", + "disabled": "Disabled" + } + }, + "fontsize": { + "heading": "$t(me.stacks.fontSize.name)", + "content": { + "S": "$t(me.fontSize.sizes.S)", + "M": "$t(me.fontSize.sizes.M)", + "L": "$t(me.fontSize.sizes.L)", + "XL": "$t(me.fontSize.sizes.XL)", + "XXL": "$t(me.fontSize.sizes.XXL)" + } + }, + "language": { + "heading": "Language", + "options": { + "en": "English", + "zh-Hans": "简体中文", + "cancel": "$t(common:buttons.cancel)" + } + }, + "theme": { + "heading": "Appearance", + "options": { + "auto": "As system", + "light": "Light mode", + "dark": "Dark mode", + "cancel": "$t(common:buttons.cancel)" + } + }, + "browser": { + "heading": "Opening link", + "options": { + "internal": "Inside app", + "external": "Use system browser", + "cancel": "$t(common:buttons.cancel)" + } + }, + "cache": { + "heading": "Clear cache", + "empty": "Cache empty" + }, + "support": { + "heading": "Support tooot" + }, + "review": { + "heading": "Review tooot" + }, + "contact": { + "heading": "Contact tooot" + }, + "analytics": { + "heading": "Help us improve", + "description": "Collecting only non-user relative usage" + }, + "version": "Version v{{version}}" + }, + "switch": { + "existing": "Choose from logged in", + "new": "Log in to instance" + } + }, + "shared": { + "account": { + "moved": "User moved", + "created_at": "Registered on: {{date}}", + "summary": { + "statuses_count": "{{count}} toots", + "following_count": "$t(shared.users.accounts.following)", + "followers_count": "$t(shared.users.accounts.followers)" + } + }, + "attachments": { + "name": "<0 /><1>\"s media" + }, + "search": { + "header": { + "prefix": "Searching", + "placeholder": "for..." + }, + "empty": { + "general": "Enter keyword to search for $t(screenTabs:shared.search.sections.accounts)$t(screenTabs:shared.search.sections.hashtags) or $t(screenTabs:shared.search.sections.statuses)", + "advanced": { + "header": "Advanced search", + "example": { + "account": "$t(shared.search.header.prefix) $t(shared.search.sections.accounts)", + "hashtag": "$t(shared.search.header.prefix) $t(shared.search.sections.hashtags)", + "statusLink": "$t(shared.search.header.prefix) $t(shared.search.sections.statuses)", + "accountLink": "$t(shared.search.header.prefix) $t(shared.search.sections.accounts)" + } + } + }, + "sections": { + "accounts": "User", + "hashtags": "Hashtag", + "statuses": "Toot" + }, + "notFound": "Cannot find {{searchTerm}} related {{type}}" + }, + "toot": { + "name": "Discussions" + }, + "users": { + "accounts": { + "following": "Following {{count}}", + "followers": "{{count}} followers" + }, + "statuses": { + "reblogged_by": "{{count}} boosted", + "favourited_by": "{{count}} favourited" + } + } + } +} \ No newline at end of file diff --git a/src/i18n/locales.ts b/src/i18n/locales.ts new file mode 100644 index 00000000..532f37a6 --- /dev/null +++ b/src/i18n/locales.ts @@ -0,0 +1,6 @@ +const LOCALES = { + en: 'English', + 'zh-Hans': '简体中文' +} as {en: string} + +export { LOCALES } diff --git a/src/i18n/zh-Hans/_all.ts b/src/i18n/zh-Hans/_all.ts index 7ae4e778..d326e4a7 100644 --- a/src/i18n/zh-Hans/_all.ts +++ b/src/i18n/zh-Hans/_all.ts @@ -1,37 +1,16 @@ export default { common: require('./common'), - local: require('./screens/local'), - - public: require('./screens/public'), - - notifications: require('./screens/notifications'), - - meRoot: require('./screens/meRoot'), - meConversations: require('./screens/meConversations'), - meBookmarks: require('./screens/meBookmarks'), - meFavourites: require('./screens/meFavourites'), - meLists: require('./screens/meLists'), - meListsList: require('./screens/meListsList'), - meSettings: require('./screens/meSettings'), - meSettingsFontsize: require('./screens/meSettingsFontsize'), - meSettingsPush: require('./screens/meSettingsPush'), - meSwitch: require('./screens/meSwitch'), - - sharedAccount: require('./screens/sharedAccount'), - sharedAnnouncements: require('./screens/sharedAnnouncements'), - sharedAttachments: require('./screens/sharedAttachments'), - sharedCompose: require('./screens/sharedCompose'), - sharedSearch: require('./screens/sharedSearch'), - sharedToot: require('./screens/sharedToot'), - sharedUsers: require('./screens/sharedUsers'), + screens: require('./screens'), + screenActions: require('./screens/actions'), + screenAnnouncements: require('./screens/announcements'), + screenCompose: require('./screens/compose'), + screenImageViewer: require('./screens/imageViewer'), + screenTabs: require('./screens/tabs'), componentInstance: require('./components/instance'), componentParse: require('./components/parse'), componentRelationship: require('./components/relationship'), componentRelativeTime: require('./components/relativeTime'), - componentTimeline: require('./components/timeline'), - - screenActions: require('./screens/screenActions'), - screenImageViewer: require('./screens/screenImageViewer') + componentTimeline: require('./components/timeline') } diff --git a/src/i18n/zh-Hans/common.json b/src/i18n/zh-Hans/common.json deleted file mode 100644 index c18b7ba7..00000000 --- a/src/i18n/zh-Hans/common.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "network": { - "disconnected": { - "message": "无法连接到网络", - "description": "请检查手机设置里的网络连接" - } - }, - "screenshot": { - "title": "隐私保护", - "message": "请确保不要泄露其它用户的敏感信息,例如用户名、头像等,谢谢!", - "button": "好的" - }, - "index": { - "localCorrupt": "登录已过期,请重新登录" - }, - "buttons": { - "apply": "应用", - "cancel": "取消" - }, - "toastMessage": { - "success": { - "message": "{{function}}成功" - }, - "warning": { - "message": "" - }, - "error": { - "message": "{{function}}失败,请重试" - } - }, - "separator": "," -} \ No newline at end of file diff --git a/src/i18n/zh-Hans/components/instance.json b/src/i18n/zh-Hans/components/instance.json deleted file mode 100644 index 1ac79f8f..00000000 --- a/src/i18n/zh-Hans/components/instance.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "server": { - "textInput": { - "placeholder": "输入社区服务器地址" - }, - "button": "登录", - "information": { - "name": "社区名称", - "accounts": "用户总数", - "statuses": "嘟文总数", - "domains": "连结总数" - }, - "disclaimer": { - "base": "登录过程将使用系统浏览器,你的账号登录信息tooot应用无法读取。详见 ", - "privacy": "隐私条款" - } - }, - "update": { - "alert": { - "title": "此社区已登录", - "message": "你可以登录同个社区的另一个账号,不影响已登录的账号", - "buttons": { - "cancel": "$t(common:buttons.cancel)", - "continue": "继续" - } - } - } -} \ No newline at end of file diff --git a/src/i18n/zh-Hans/components/parse.json b/src/i18n/zh-Hans/components/parse.json deleted file mode 100644 index f141f891..00000000 --- a/src/i18n/zh-Hans/components/parse.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "HTML": { - "expanded": { - "true": "折叠{{hint}}", - "false": "展开{{hint}}" - }, - "defaultHint": "全文" - } -} \ No newline at end of file diff --git a/src/i18n/zh-Hans/components/relationship.json b/src/i18n/zh-Hans/components/relationship.json deleted file mode 100644 index 6f6b7e2d..00000000 --- a/src/i18n/zh-Hans/components/relationship.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "follow": { - "function": "关注" - }, - "block": { - "function": "屏蔽" - }, - "button": { - "error": "读取错误", - "blocked_by": "被用户屏蔽", - "blocking": "取消屏蔽", - "following": "取消关注", - "requested": "取消关注请求", - "default": "关注" - } -} \ No newline at end of file diff --git a/src/i18n/zh-Hans/components/relativeTime.json b/src/i18n/zh-Hans/components/relativeTime.json deleted file mode 100644 index 1286722b..00000000 --- a/src/i18n/zh-Hans/components/relativeTime.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "strings": { - "prefixAgo": null, - "prefixFromNow": null, - "suffixAgo": "前", - "suffixFromNow": "后", - "seconds": "%d秒", - "minute": "1分钟", - "minutes": "%d分钟", - "hour": "1小时", - "hours": "%d小时", - "day": "1天", - "days": "%d天", - "month": "1个月", - "months": "%d月", - "year": "大约1年", - "years": "%d年", - "wordSeparator": "" - } -} \ No newline at end of file diff --git a/src/i18n/zh-Hans/components/timeline.json b/src/i18n/zh-Hans/components/timeline.json deleted file mode 100644 index aaa08d09..00000000 --- a/src/i18n/zh-Hans/components/timeline.json +++ /dev/null @@ -1,162 +0,0 @@ -{ - "empty": { - "error": { - "message": "加载错误", - "button": "重试" - }, - "success": { - "message": "空无一物" - } - }, - "end": { - "message": "居然刷到底了,喝杯 <0 /> 吧" - }, - "refresh": { - "fetchPreviousPage": "较新于此的嘟嘟", - "refetch": "最新的嘟嘟" - }, - "shared": { - "actioned": { - "pinned": "置顶", - "favourite": "{{name}} 喜欢了你的嘟文", - "status": "{{name}} 刚刚发嘟", - "follow": "{{name}} 开始关注你", - "follow_request": "{{name}} 请求关注你", - "poll": "你参与的投票已结束", - "reblog": { - "default": "{{name}} 转嘟了", - "notification": "{{name}} 转嘟了你的嘟文" - } - }, - "actions": { - "favourited": { - "function": "喜欢嘟文" - }, - "reblogged": { - "function": "转嘟" - }, - "bookmarked": { - "function": "喜欢嘟文" - } - }, - "actionsUsers": { - "reblogged_by": "$t(sharedUsers:heading.statuses.reblogged_by)", - "favourited_by": "$t(sharedUsers:heading.statuses.favourited_by)" - }, - "attachment": { - "sensitive": { - "button": "显示敏感内容" - }, - "unsupported": { - "text": "附件读取错误", - "button": "尝试远程链接" - } - }, - "content": { - "expandHint": "隐藏内容" - }, - "fullConversation": "阅读全部对话", - "header": { - "shared": { - "application": "发自于 {{application}}" - }, - "conversation": { - "withAccounts": "与", - "delete": { - "function": "删除私信" - } - }, - "actions": { - "account": { - "heading": "关于用户", - "mute": { - "function": "隐藏 @{{acct}} 的嘟文", - "button": "隐藏 @{{acct}} 的嘟文" - }, - "block": { - "function": "屏蔽 @{{acct}}", - "button": "屏蔽 @{{acct}}" - }, - "reports": { - "function": "举报 @{{acct}}", - "button": "举报 @{{acct}}" - } - }, - "domain": { - "heading": "关于社区", - "block": { - "function": "屏蔽社区", - "button": "屏蔽社区 {{domain}}" - }, - "alert": { - "title": "确定要屏蔽 {{domain}} 吗?", - "message": "多数情况下,隐藏或屏蔽特定用户即可。\n\n屏蔽之后,来自此社区的所有内容将不再出现在你的时间轴里。同时,来自该社区的关注者将被移除。请谨慎使用。", - "buttons": { - "confirm": "确定屏蔽整个社区", - "cancel": "$t(common:buttons.cancel)" - } - } - }, - "share": { - "status": { - "heading": "分享嘟文", - "button": "分享此条嘟文的链接" - }, - "account": { - "heading": "分享用户", - "button": "分享此用户的链接" - } - }, - "status": { - "heading": "关于嘟文", - "delete": { - "function": "删除", - "button": "删除此条嘟文" - }, - "edit": { - "function": "删除", - "button": "删除并重新编辑此条嘟文", - "alert": { - "title": "确认删除嘟文?", - "message": "确定要删除这条嘟文并重新编辑它吗?所有相关的转嘟和喜欢都会被清除,回复将会失去关联。", - "buttons": { - "confirm": "删除并重新编辑", - "cancel": "$t(common:buttons.cancel)" - } - } - }, - "mute": { - "function": "静音", - "button": { - "positive": "静音此条嘟文及对话", - "negative": "取消静音此条嘟文及对话" - } - }, - "pin": { - "function": "置顶", - "button": { - "positive": "置顶此条嘟文", - "negative": "取消置顶此条嘟文" - } - } - } - } - }, - "poll": { - "meta": { - "button": { - "vote": "投票", - "refresh": "刷新" - }, - "count": { - "voters": "已投{{count}}人 • ", - "votes": "已投{{count}}票 • " - }, - "expiration": { - "expired": "投票已结束", - "until": "<0 />截止" - } - } - } - } -} \ No newline at end of file diff --git a/src/i18n/zh-Hans/screens/local.json b/src/i18n/zh-Hans/screens/local.json deleted file mode 100644 index d65a5ad8..00000000 --- a/src/i18n/zh-Hans/screens/local.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "heading": "我的关注" -} \ No newline at end of file diff --git a/src/i18n/zh-Hans/screens/meBookmarks.json b/src/i18n/zh-Hans/screens/meBookmarks.json deleted file mode 100644 index 56c1f4e7..00000000 --- a/src/i18n/zh-Hans/screens/meBookmarks.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "heading": "书签", - "content": {} -} diff --git a/src/i18n/zh-Hans/screens/meConversations.json b/src/i18n/zh-Hans/screens/meConversations.json deleted file mode 100644 index 29e5f961..00000000 --- a/src/i18n/zh-Hans/screens/meConversations.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "heading": "私信", - "content": {} -} diff --git a/src/i18n/zh-Hans/screens/meFavourites.json b/src/i18n/zh-Hans/screens/meFavourites.json deleted file mode 100644 index c9bfa7e8..00000000 --- a/src/i18n/zh-Hans/screens/meFavourites.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "heading": "喜欢", - "content": {} -} diff --git a/src/i18n/zh-Hans/screens/meLists.json b/src/i18n/zh-Hans/screens/meLists.json deleted file mode 100644 index 9453604b..00000000 --- a/src/i18n/zh-Hans/screens/meLists.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "heading": "列表", - "content": {} -} diff --git a/src/i18n/zh-Hans/screens/meListsList.json b/src/i18n/zh-Hans/screens/meListsList.json deleted file mode 100644 index f7b435c4..00000000 --- a/src/i18n/zh-Hans/screens/meListsList.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "heading": "列表:{{list}}", - "content": {} -} \ No newline at end of file diff --git a/src/i18n/zh-Hans/screens/meRoot.json b/src/i18n/zh-Hans/screens/meRoot.json deleted file mode 100644 index 07813ddc..00000000 --- a/src/i18n/zh-Hans/screens/meRoot.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "content": { - "collections": { - "conversations": "$t(meConversations:heading)", - "bookmarks": "$t(meBookmarks:heading)", - "favourites": "$t(meFavourites:heading)", - "lists": "$t(meLists:heading)", - "announcements": { - "heading": "$t(sharedAnnouncements:heading)", - "content": { - "unread": "{{amount}} 条未读公告", - "read": "无未读公告", - "empty": "无公告" - } - } - }, - "accountSettings": "账户设置", - "appSettings": "$t(meSettings:heading)", - "logout": { - "button": "退出当前账号", - "alert": { - "title": "确认退出登录?", - "message": "退出登录后,需要重新认证账号", - "buttons": { - "logout": "退出登录", - "cancel": "$t(common:buttons.cancel)" - } - } - } - } -} \ No newline at end of file diff --git a/src/i18n/zh-Hans/screens/meSettings.json b/src/i18n/zh-Hans/screens/meSettings.json deleted file mode 100644 index 264baa0f..00000000 --- a/src/i18n/zh-Hans/screens/meSettings.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "heading": "设置", - "content": { - "push": { - "heading": "$t(meSettingsPush:heading)", - "content": { - "enabled": "已开启", - "disabled": "已关闭" - } - }, - "fontsize": { - "heading": "$t(meSettingsFontsize:heading)", - "content": { - "S": "$t(meSettingsFontsize:content.sizes.S)", - "M": "$t(meSettingsFontsize:content.sizes.M)", - "L": "$t(meSettingsFontsize:content.sizes.L)", - "XL": "$t(meSettingsFontsize:content.sizes.XL)", - "XXL": "$t(meSettingsFontsize:content.sizes.XXL)" - } - }, - "language": { - "heading": "切换语言", - "options": { - "en": "English", - "zh-Hans": "简体中文", - "cancel": "$t(common:buttons.cancel)" - } - }, - "theme": { - "heading": "应用外观", - "options": { - "auto": "跟随系统", - "light": "浅色模式", - "dark": "深色模式", - "cancel": "$t(common:buttons.cancel)" - } - }, - "browser": { - "heading": "外部链接", - "options": { - "internal": "应用内打开", - "external": "浏览器打开", - "cancel": "$t(common:buttons.cancel)" - } - }, - "cache": { - "heading": "清空缓存", - "empty": "暂无缓存" - }, - "support": { - "heading": "赞助 tooot 开发" - }, - "review": { - "heading": "给 tooot 打分" - }, - "contact": { - "heading": "联系 tooot" - }, - "analytics": { - "heading": "帮助我们改进", - "description": "收集不与用户相关联的使用信息" - }, - "version": "版本 v{{version}}" - } -} \ No newline at end of file diff --git a/src/i18n/zh-Hans/screens/meSettingsFontsize.json b/src/i18n/zh-Hans/screens/meSettingsFontsize.json deleted file mode 100644 index 77bf04d5..00000000 --- a/src/i18n/zh-Hans/screens/meSettingsFontsize.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "heading": "嘟文字号", - "content": { - "showcase": "嘟文示例", - "demo": - "

这是一条测试用的嘟文😊。以下是可供选择的字号,从小号至超大号。

这个设置仅会调整嘟文的正文字号,不影响其它字号。

", - "availableSizes": "可选字号", - "sizes": { "S": "小号", "M": "默认", "L": "大号", "XL": "特大号", "XXL": "超大号" } - } -} diff --git a/src/i18n/zh-Hans/screens/meSettingsPush.json b/src/i18n/zh-Hans/screens/meSettingsPush.json deleted file mode 100644 index 12cac018..00000000 --- a/src/i18n/zh-Hans/screens/meSettingsPush.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "heading": "推送通知", - "content": { - "enable": { - "direct": "启用tooot推送通知", - "settings": "去系统设置启用" - }, - "global": { - "heading": "启用通知", - "description": "通知消息将经由tooot服务器转发" - }, - "decode": { - "heading": "显示通知内容", - "description": "经由tooot服务器中转的通知消息已被加密,但可以允许tooot服务器解密并转发消息。tooot消息服务器源码开源,且不留存任何日志。" - }, - "default": { - "heading": "默认通知" - }, - "follow": { - "heading": "新关注者" - }, - "favourite": { - "heading": "嘟文被喜欢" - }, - "reblog": { - "heading": "嘟文被转嘟" - }, - "mention": { - "heading": "嘟文提及你" - }, - "poll": { - "heading": "投票更新" - }, - "howitworks": "了解通知消息转发如何工作" - }, - "error": { - "message": "推送服务错误", - "description": "请在设置中重新尝试启用推送通知" - } -} \ No newline at end of file diff --git a/src/i18n/zh-Hans/screens/meSwitch.json b/src/i18n/zh-Hans/screens/meSwitch.json deleted file mode 100644 index 57b08a69..00000000 --- a/src/i18n/zh-Hans/screens/meSwitch.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "heading": "切换账号", - "content": { - "existing": "选择已登录的账号", - "new": "登录新社区" - } -} diff --git a/src/i18n/zh-Hans/screens/notifications.json b/src/i18n/zh-Hans/screens/notifications.json deleted file mode 100644 index b381e116..00000000 --- a/src/i18n/zh-Hans/screens/notifications.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "heading": "通知" -} diff --git a/src/i18n/zh-Hans/screens/public.json b/src/i18n/zh-Hans/screens/public.json deleted file mode 100644 index a386891f..00000000 --- a/src/i18n/zh-Hans/screens/public.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "heading": { - "segments": { - "left": "跨站嘟嘟", - "right": "本站嘟嘟" - } - } -} diff --git a/src/i18n/zh-Hans/screens/screenActions.json b/src/i18n/zh-Hans/screens/screenActions.json deleted file mode 100644 index 89116dfb..00000000 --- a/src/i18n/zh-Hans/screens/screenActions.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "content": { - "button": { - "apply": "$t(common:buttons.apply)", - "cancel": "$t(common:buttons.cancel)" - }, - "notificationsFilter": { - "heading": "显示通知", - "content": { - "follow": "$t(meSettingsPush:content.follow.heading)", - "favourite": "$t(meSettingsPush:content.favourite.heading)", - "reblog": "$t(meSettingsPush:content.reblog.heading)", - "mention": "$t(meSettingsPush:content.mention.heading)", - "poll": "$t(meSettingsPush:content.poll.heading)", - "follow_request": "关注请求" - } - } - } -} \ No newline at end of file diff --git a/src/i18n/zh-Hans/screens/screenImageViewer.json b/src/i18n/zh-Hans/screens/screenImageViewer.json deleted file mode 100644 index 3181927a..00000000 --- a/src/i18n/zh-Hans/screens/screenImageViewer.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "content": { - "options": { - "save": "保存图片", - "share": "分享图片", - "cancel": "$t(common:buttons.cancel)" - }, - "save": { - "function": "保存图片", - "success": "图片保存成功" - } - } -} \ No newline at end of file diff --git a/src/i18n/zh-Hans/screens/sharedAccount.json b/src/i18n/zh-Hans/screens/sharedAccount.json deleted file mode 100644 index e85c9117..00000000 --- a/src/i18n/zh-Hans/screens/sharedAccount.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "content": { - "moved": "账户已迁移", - "created_at": "注册时间:{{date}}", - "summary": { - "statuses_count": "{{count}} 条嘟文", - "following_count": "$t(sharedUsers:heading.accounts.following)", - "followers_count": "$t(sharedUsers:heading.accounts.followers)" - } - } -} \ No newline at end of file diff --git a/src/i18n/zh-Hans/screens/sharedAnnouncements.json b/src/i18n/zh-Hans/screens/sharedAnnouncements.json deleted file mode 100644 index bb404265..00000000 --- a/src/i18n/zh-Hans/screens/sharedAnnouncements.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "heading": "公告", - "content": { - "published": "发布于 <0 />", - "button": { - "read": "已读", - "unread": "标记已读" - } - } -} \ No newline at end of file diff --git a/src/i18n/zh-Hans/screens/sharedAttachments.json b/src/i18n/zh-Hans/screens/sharedAttachments.json deleted file mode 100644 index 7e0b66bf..00000000 --- a/src/i18n/zh-Hans/screens/sharedAttachments.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "heading": "<0 /> <1>的媒体" -} \ No newline at end of file diff --git a/src/i18n/zh-Hans/screens/sharedCompose.json b/src/i18n/zh-Hans/screens/sharedCompose.json deleted file mode 100644 index f5d056ea..00000000 --- a/src/i18n/zh-Hans/screens/sharedCompose.json +++ /dev/null @@ -1,156 +0,0 @@ -{ - "heading": { - "left": { - "button": "退出编辑", - "alert": { - "title": "确认退出编辑?", - "buttons": { - "save": "保存草稿", - "delete": "删除草稿", - "cancel": "继续编辑" - } - } - }, - "right": { - "button": { - "default": "发嘟嘟", - "conversation": "发私信", - "reply": "发布回复", - "edit": "发嘟嘟" - }, - "alert": { - "default": { - "title": "发布失败", - "button": "返回重试" - }, - "removeReply": { - "title": "回复的嘟文不存在", - "description": "回复的嘟文可能已被删除。确认移除回复嘟文的关联?", - "cancel": "$t(common:buttons.cancel)", - "confirm": "移除关联" - } - } - } - }, - "content": { - "root": { - "header": { - "postingAs": "以 @{{acct}}@{{domain}} 发嘟", - "spoilerInput": { - "placeholder": "折叠部分的警告信息" - }, - "textInput": { - "placeholder": "想说点什么呢" - } - }, - "footer": { - "attachments": { - "sensitive": "标记附件为敏感内容" - }, - "poll": { - "option": { - "placeholder": { - "single": "单选项", - "multiple": "多选项" - } - }, - "multiple": { - "heading": "可选项", - "options": { - "single": "单选", - "multiple": "多选", - "cancel": "$t(common:buttons.cancel)" - } - }, - "expiration": { - "heading": "有效期", - "options": { - "300": "5分钟", - "1800": "30分钟", - "3600": "1小时", - "21600": "6小时", - "86400": "1天", - "259200": "3天", - "604800": "7天", - "cancel": "$t(common:buttons.cancel)" - } - } - } - }, - "actions": { - "attachment": { - "actions": { - "options": { - "library": "从相册上传", - "photo": "拍摄上传", - "cancel": "$t(common:buttons.cancel)" - }, - "library": { - "alert": { - "title": "无读取权限", - "message": "需要读取相册权限才能上传附件", - "buttons": { - "settings": "去更新设置", - "cancel": "取消上传" - } - } - }, - "photo": { - "alert": { - "title": "无拍照权限", - "message": "需要使用相机权限才能上传附件", - "buttons": { - "settings": "去更新设置", - "cancel": "取消上传" - } - } - } - }, - "failed": { - "alert": { - "title": "上传失败", - "button": "返回重试" - } - } - }, - "visibility": { - "title": "嘟文可见范围", - "options": { - "public": "公开", - "unlisted": "不公开", - "private": "仅关注者", - "direct": "私信", - "cancel": "$t(common:buttons.cancel)" - } - } - }, - "drafts": "草稿 ({{count}})" - }, - "editAttachment": { - "header": { - "title": "编辑附件", - "right": { - "failed": { - "title": "编辑失败", - "button": "返回重试" - } - } - }, - "content": { - "altText": { - "heading": "为附件添加文字说明", - "placeholder": "你可以为附件添加文字说明,以便更多人可以查看他们(包括视力障碍或视力受损人士)。\n\n优质的描述应该简洁明了,但要准确地描述照片中的内容,以便用户理解其含义。" - }, - "imageFocus": "在预览图上拖动圆圈,以选择缩略图的焦点" - } - }, - "draftsList": { - "header": { - "title": "草稿" - }, - "content": { - "textEmpty": "无正文内容" - } - } - } -} \ No newline at end of file diff --git a/src/i18n/zh-Hans/screens/sharedSearch.json b/src/i18n/zh-Hans/screens/sharedSearch.json deleted file mode 100644 index 87caa26b..00000000 --- a/src/i18n/zh-Hans/screens/sharedSearch.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "content": { - "header": { - "prefix": "搜索", - "placeholder": "什么呢" - }, - "empty": { - "general": "输入关键词搜索$t(sharedSearch:content.sections.accounts)$t(sharedSearch:content.sections.hashtags)或者$t(sharedSearch:content.sections.statuses)", - "advanced": { - "header": "高级搜索格式", - "example": { - "account": "$t(sharedSearch:content.header.prefix)$t(sharedSearch:content.sections.accounts)", - "hashtag": "$t(sharedSearch:content.header.prefix)$t(sharedSearch:content.sections.hashtags)", - "statusLink": "$t(sharedSearch:content.header.prefix)指定$t(sharedSearch:content.sections.statuses)", - "accountLink": "$t(sharedSearch:content.header.prefix)$t(sharedSearch:content.sections.accounts)" - } - } - }, - "sections": { - "accounts": "用户", - "hashtags": "话题标签", - "statuses": "嘟文" - }, - "notFound": "找不到 {{searchTerm}} 相关的 {{type}}" - } -} \ No newline at end of file diff --git a/src/i18n/zh-Hans/screens/sharedToot.json b/src/i18n/zh-Hans/screens/sharedToot.json deleted file mode 100644 index 098cf270..00000000 --- a/src/i18n/zh-Hans/screens/sharedToot.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "heading": "对话" -} \ No newline at end of file diff --git a/src/i18n/zh-Hans/screens/sharedUsers.json b/src/i18n/zh-Hans/screens/sharedUsers.json deleted file mode 100644 index 5e17a9ee..00000000 --- a/src/i18n/zh-Hans/screens/sharedUsers.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "heading": { - "accounts": { - "following": "关注 {{count}} 人", - "followers": "被 {{count}} 人关注" - }, - "statuses": { - "reblogged_by": "{{count}} 人转嘟", - "favourited_by": "{{count}} 人喜欢" - } - } -} \ No newline at end of file diff --git a/src/screens/Actions/Account.tsx b/src/screens/Actions/Account.tsx index efadbd0d..df3f1df9 100644 --- a/src/screens/Actions/Account.tsx +++ b/src/screens/Actions/Account.tsx @@ -34,7 +34,7 @@ const ActionsAccount: React.FC = ({ displayMessage({ mode, type: 'success', - message: t('common:toastMessage.success.message', { + message: t('common:message.success.message', { function: t( `shared.header.actions.account.${theParams.payload.property}.function`, { @@ -49,7 +49,7 @@ const ActionsAccount: React.FC = ({ displayMessage({ mode, type: 'error', - message: t('common:toastMessage.error.message', { + message: t('common:message.error.message', { function: t( `shared.header.actions.account.${theParams.payload.property}.function` ) diff --git a/src/screens/Actions/Domain.tsx b/src/screens/Actions/Domain.tsx index be10477b..61a9ba2b 100644 --- a/src/screens/Actions/Domain.tsx +++ b/src/screens/Actions/Domain.tsx @@ -34,7 +34,7 @@ const ActionsDomain: React.FC = ({ displayMessage({ mode, type: 'success', - message: t('common:toastMessage.success.message', { + message: t('common:message.success.message', { function: t(`shared.header.actions.domain.block.function`) }) }) diff --git a/src/screens/Actions/Status.tsx b/src/screens/Actions/Status.tsx index 64d189ff..e65b41d3 100644 --- a/src/screens/Actions/Status.tsx +++ b/src/screens/Actions/Status.tsx @@ -43,7 +43,7 @@ const ActionsStatus: React.FC = ({ displayMessage({ mode, type: 'error', - message: t('common:toastMessage.error.message', { + message: t('common:message.error.message', { function: t(`shared.header.actions.status.${theFunction}.function`) }), ...(err.status && diff --git a/src/screens/Announcements.tsx b/src/screens/Announcements.tsx index b25b952d..111d4a00 100644 --- a/src/screens/Announcements.tsx +++ b/src/screens/Announcements.tsx @@ -35,7 +35,7 @@ const ScreenAnnouncements: React.FC = ({ const { reduceMotionEnabled } = useAccessibility() const { mode, theme } = useTheme() const [index, setIndex] = useState(0) - const { t } = useTranslation('sharedAnnouncements') + const { t } = useTranslation('screenAnnouncements') const query = useAnnouncementQuery({ showAll, @@ -77,7 +77,7 @@ const ScreenAnnouncements: React.FC = ({ > ]} /> @@ -223,7 +223,7 @@ const ScreenAnnouncements: React.FC = ({ native={false} onPress={() => navigation.goBack()} /> - + = ({ route: { params }, navigation }) => { - const { t } = useTranslation('sharedCompose') + const { t } = useTranslation('screenCompose') const { theme } = useTheme() const queryClient = useQueryClient() diff --git a/src/screens/Compose/DraftsList.tsx b/src/screens/Compose/DraftsList.tsx index 415d5367..d7c2ee8c 100644 --- a/src/screens/Compose/DraftsList.tsx +++ b/src/screens/Compose/DraftsList.tsx @@ -19,7 +19,7 @@ const ComposeDraftsList: React.FC = ({ }, navigation }) => { - const { t } = useTranslation('sharedCompose') + const { t } = useTranslation('screenCompose') const children = useCallback( () => , diff --git a/src/screens/Compose/DraftsList/Root.tsx b/src/screens/Compose/DraftsList/Root.tsx index 23bf5acb..c689d75c 100644 --- a/src/screens/Compose/DraftsList/Root.tsx +++ b/src/screens/Compose/DraftsList/Root.tsx @@ -34,7 +34,7 @@ export interface Props { const ComposeDraftsListRoot: React.FC = ({ timestamp }) => { const { composeDispatch } = useContext(ComposeContext) - const { t } = useTranslation('sharedCompose') + const { t } = useTranslation('screenCompose') const navigation = useNavigation() const dispatch = useDispatch() const { mode, theme } = useTheme() diff --git a/src/screens/Compose/EditAttachment.tsx b/src/screens/Compose/EditAttachment.tsx index eb66fe2c..1dc94d87 100644 --- a/src/screens/Compose/EditAttachment.tsx +++ b/src/screens/Compose/EditAttachment.tsx @@ -22,7 +22,7 @@ const ComposeEditAttachment: React.FC = ({ navigation }) => { console.log('rendering') - const { t } = useTranslation('sharedCompose') + const { t } = useTranslation('screenCompose') const headerLeft = useCallback( () => ( diff --git a/src/screens/Compose/EditAttachment/Image.tsx b/src/screens/Compose/EditAttachment/Image.tsx index eeb6ac1c..20dbc60a 100644 --- a/src/screens/Compose/EditAttachment/Image.tsx +++ b/src/screens/Compose/EditAttachment/Image.tsx @@ -20,7 +20,7 @@ export interface Props { } const ComposeEditAttachmentImage: React.FC = ({ index }) => { - const { t } = useTranslation('sharedCompose') + const { t } = useTranslation('screenCompose') const { theme } = useTheme() const { composeState, composeDispatch } = useContext(ComposeContext) diff --git a/src/screens/Compose/EditAttachment/Root.tsx b/src/screens/Compose/EditAttachment/Root.tsx index 51f31c35..73e3d946 100644 --- a/src/screens/Compose/EditAttachment/Root.tsx +++ b/src/screens/Compose/EditAttachment/Root.tsx @@ -12,7 +12,7 @@ export interface Props { } const ComposeEditAttachmentRoot: React.FC = ({ index }) => { - const { t } = useTranslation('sharedCompose') + const { t } = useTranslation('screenCompose') const { mode, theme } = useTheme() const { composeState, composeDispatch } = useContext(ComposeContext) const theAttachment = composeState.attachments.uploads[index].remote! diff --git a/src/screens/Compose/EditAttachment/Submit.tsx b/src/screens/Compose/EditAttachment/Submit.tsx index e6c901e0..479a72eb 100644 --- a/src/screens/Compose/EditAttachment/Submit.tsx +++ b/src/screens/Compose/EditAttachment/Submit.tsx @@ -16,7 +16,7 @@ const ComposeEditAttachmentSubmit: React.FC = ({ index }) => { const { composeState } = useContext(ComposeContext) const navigation = useNavigation() const [isSubmitting, setIsSubmitting] = useState(false) - const { t } = useTranslation('sharedCompose') + const { t } = useTranslation('screenCompose') const theAttachment = composeState.attachments.uploads[index].remote! diff --git a/src/screens/Compose/Root/Actions.tsx b/src/screens/Compose/Root/Actions.tsx index b1a9a9d3..1a8d8b54 100644 --- a/src/screens/Compose/Root/Actions.tsx +++ b/src/screens/Compose/Root/Actions.tsx @@ -13,7 +13,7 @@ import addAttachment from './Footer/addAttachment' const ComposeActions: React.FC = () => { const { showActionSheetWithOptions } = useActionSheet() const { composeState, composeDispatch } = useContext(ComposeContext) - const { t } = useTranslation('sharedCompose') + const { t } = useTranslation('screenCompose') const { theme } = useTheme() const attachmentColor = useMemo(() => { diff --git a/src/screens/Compose/Root/Drafts.tsx b/src/screens/Compose/Root/Drafts.tsx index 14d4962f..1ade2507 100644 --- a/src/screens/Compose/Root/Drafts.tsx +++ b/src/screens/Compose/Root/Drafts.tsx @@ -10,7 +10,7 @@ import { useSelector } from 'react-redux' import ComposeContext from '../utils/createContext' const ComposeDrafts: React.FC = () => { - const { t } = useTranslation('sharedCompose') + const { t } = useTranslation('screenCompose') const navigation = useNavigation() const { composeState } = useContext(ComposeContext) const instanceDrafts = useSelector(getInstanceDrafts)?.filter( diff --git a/src/screens/Compose/Root/Footer/Attachments.tsx b/src/screens/Compose/Root/Footer/Attachments.tsx index 48445836..c3b03eb9 100644 --- a/src/screens/Compose/Root/Footer/Attachments.tsx +++ b/src/screens/Compose/Root/Footer/Attachments.tsx @@ -33,7 +33,7 @@ const DEFAULT_HEIGHT = 200 const ComposeAttachments: React.FC = () => { const { showActionSheetWithOptions } = useActionSheet() const { composeState, composeDispatch } = useContext(ComposeContext) - const { t } = useTranslation('sharedCompose') + const { t } = useTranslation('screenCompose') const { theme } = useTheme() const navigation = useNavigation() diff --git a/src/screens/Compose/Root/Footer/Poll.tsx b/src/screens/Compose/Root/Footer/Poll.tsx index 37bf9359..014b1b5a 100644 --- a/src/screens/Compose/Root/Footer/Poll.tsx +++ b/src/screens/Compose/Root/Footer/Poll.tsx @@ -18,7 +18,7 @@ const ComposePoll: React.FC = () => { }, composeDispatch } = useContext(ComposeContext) - const { t } = useTranslation('sharedCompose') + const { t } = useTranslation('screenCompose') const { mode, theme } = useTheme() const [firstRender, setFirstRender] = useState(true) diff --git a/src/screens/Compose/Root/Footer/addAttachment.ts b/src/screens/Compose/Root/Footer/addAttachment.ts index 709407c0..392d7576 100644 --- a/src/screens/Compose/Root/Footer/addAttachment.ts +++ b/src/screens/Compose/Root/Footer/addAttachment.ts @@ -84,13 +84,13 @@ const addAttachment = async ({ }) Alert.alert( i18next.t( - 'sharedCompose:content.root.actions.attachment.failed.alert.title' + 'screenCompose:content.root.actions.attachment.failed.alert.title' ), undefined, [ { text: i18next.t( - 'sharedCompose:content.root.actions.attachment.failed.alert.button' + 'screenCompose:content.root.actions.attachment.failed.alert.button' ), onPress: () => {} } @@ -130,13 +130,13 @@ const addAttachment = async ({ { options: [ i18next.t( - 'sharedCompose:content.root.actions.attachment.actions.options.library' + 'screenCompose:content.root.actions.attachment.actions.options.library' ), i18next.t( - 'sharedCompose:content.root.actions.attachment.actions.options.photo' + 'screenCompose:content.root.actions.attachment.actions.options.photo' ), i18next.t( - 'sharedCompose:content.root.actions.attachment.actions.options.cancel' + 'screenCompose:content.root.actions.attachment.actions.options.cancel' ) ], cancelButtonIndex: 2 @@ -149,15 +149,15 @@ const addAttachment = async ({ if (status !== 'granted') { Alert.alert( i18next.t( - 'sharedCompose:content.root.actions.attachment.actions.library.alert.title' + 'screenCompose:content.root.actions.attachment.actions.library.alert.title' ), i18next.t( - 'sharedCompose:content.root.actions.attachment.actions.library.alert.message' + 'screenCompose:content.root.actions.attachment.actions.library.alert.message' ), [ { text: i18next.t( - 'sharedCompose:content.root.actions.attachment.actions.library.alert.buttons.cancel' + 'screenCompose:content.root.actions.attachment.actions.library.alert.buttons.cancel' ), style: 'cancel', onPress: () => { @@ -168,7 +168,7 @@ const addAttachment = async ({ }, { text: i18next.t( - 'sharedCompose:content.root.actions.attachment.actions.library.alert.buttons.settings' + 'screenCompose:content.root.actions.attachment.actions.library.alert.buttons.settings' ), style: 'default', onPress: () => { @@ -195,15 +195,15 @@ const addAttachment = async ({ if (status !== 'granted') { Alert.alert( i18next.t( - 'sharedCompose:content.root.actions.attachment.actions.photo.alert.title' + 'screenCompose:content.root.actions.attachment.actions.photo.alert.title' ), i18next.t( - 'sharedCompose:content.root.actions.attachment.actions.photo.alert.message' + 'screenCompose:content.root.actions.attachment.actions.photo.alert.message' ), [ { text: i18next.t( - 'sharedCompose:content.root.actions.attachment.actions.photo.alert.buttons.cancel' + 'screenCompose:content.root.actions.attachment.actions.photo.alert.buttons.cancel' ), style: 'cancel', onPress: () => { @@ -214,7 +214,7 @@ const addAttachment = async ({ }, { text: i18next.t( - 'sharedCompose:content.root.actions.attachment.actions.photo.alert.buttons.settings' + 'screenCompose:content.root.actions.attachment.actions.photo.alert.buttons.settings' ), style: 'default', onPress: () => { diff --git a/src/screens/Compose/Root/Header/PostingAs.tsx b/src/screens/Compose/Root/Header/PostingAs.tsx index ffe051b5..0eeca67e 100644 --- a/src/screens/Compose/Root/Header/PostingAs.tsx +++ b/src/screens/Compose/Root/Header/PostingAs.tsx @@ -11,7 +11,7 @@ import { useSelector } from 'react-redux' const ComposePostingAs = React.memo( () => { - const { t } = useTranslation('sharedCompose') + const { t } = useTranslation('screenCompose') const { theme } = useTheme() const instanceAccount = useSelector( diff --git a/src/screens/Compose/Root/Header/SpoilerInput.tsx b/src/screens/Compose/Root/Header/SpoilerInput.tsx index 9853dc61..210ccd46 100644 --- a/src/screens/Compose/Root/Header/SpoilerInput.tsx +++ b/src/screens/Compose/Root/Header/SpoilerInput.tsx @@ -8,7 +8,7 @@ import ComposeContext from '../../utils/createContext' const ComposeSpoilerInput: React.FC = () => { const { composeState, composeDispatch } = useContext(ComposeContext) - const { t } = useTranslation('sharedCompose') + const { t } = useTranslation('screenCompose') const { mode, theme } = useTheme() return ( diff --git a/src/screens/Compose/Root/Header/TextInput.tsx b/src/screens/Compose/Root/Header/TextInput.tsx index 78ac6246..8e9d3049 100644 --- a/src/screens/Compose/Root/Header/TextInput.tsx +++ b/src/screens/Compose/Root/Header/TextInput.tsx @@ -8,7 +8,7 @@ import ComposeContext from '../../utils/createContext' const ComposeTextInput: React.FC = () => { const { composeState, composeDispatch } = useContext(ComposeContext) - const { t } = useTranslation('sharedCompose') + const { t } = useTranslation('screenCompose') const { mode, theme } = useTheme() return ( diff --git a/src/screens/Tabs/Local.tsx b/src/screens/Tabs/Local.tsx index a8b2dd64..5e886e6b 100644 --- a/src/screens/Tabs/Local.tsx +++ b/src/screens/Tabs/Local.tsx @@ -20,7 +20,7 @@ const Stack = createNativeStackNavigator() const TabLocal = React.memo( ({ navigation }: TabLocalProp) => { - const { t, i18n } = useTranslation('local') + const { t, i18n } = useTranslation('screenTabs') const screenOptions = useMemo( () => ({ @@ -31,9 +31,9 @@ const TabLocal = React.memo( ) const screenOptionsRoot = useMemo( () => ({ - headerTitle: t('heading'), + headerTitle: t('tabs.local.name'), ...(Platform.OS === 'android' && { - headerCenter: () => + headerCenter: () => }), headerRight: () => ( () const TabMe = React.memo( () => { - const { t } = useTranslation() + const { t } = useTranslation('screenTabs') return ( ({ - headerTitle: t('meBookmarks:heading'), + headerTitle: t('me.stacks.bookmarks.name'), ...(Platform.OS === 'android' && { headerCenter: () => ( - + ) }), headerLeft: () => navigation.pop(1)} /> @@ -51,10 +51,10 @@ const TabMe = React.memo( name='Tab-Me-Conversations' component={ScreenMeConversations} options={({ navigation }: any) => ({ - headerTitle: t('meConversations:heading'), + headerTitle: t('me.stacks.conversations.name'), ...(Platform.OS === 'android' && { headerCenter: () => ( - + ) }), headerLeft: () => navigation.pop(1)} /> @@ -64,10 +64,10 @@ const TabMe = React.memo( name='Tab-Me-Favourites' component={ScreenMeFavourites} options={({ navigation }: any) => ({ - headerTitle: t('meFavourites:heading'), + headerTitle: t('me.stacks.favourites.name'), ...(Platform.OS === 'android' && { headerCenter: () => ( - + ) }), headerLeft: () => navigation.pop(1)} /> @@ -77,10 +77,10 @@ const TabMe = React.memo( name='Tab-Me-Lists' component={ScreenMeLists} options={({ navigation }: any) => ({ - headerTitle: t('meLists:heading'), + headerTitle: t('me.stacks.lists.name'), ...(Platform.OS === 'android' && { headerCenter: () => ( - + ) }), headerLeft: () => navigation.pop(1)} /> @@ -90,11 +90,11 @@ const TabMe = React.memo( name='Tab-Me-Lists-List' component={ScreenMeListsList} options={({ route, navigation }: any) => ({ - headerTitle: t('meListsList:heading', { list: route.params.title }), + headerTitle: t('me.stacks.list.name', { list: route.params.title }), ...(Platform.OS === 'android' && { headerCenter: () => ( @@ -107,10 +107,10 @@ const TabMe = React.memo( name='Tab-Me-Settings' component={ScreenMeSettings} options={({ navigation }: any) => ({ - headerTitle: t('meSettings:heading'), + headerTitle: t('me.stacks.settings.name'), ...(Platform.OS === 'android' && { headerCenter: () => ( - + ) }), headerLeft: () => navigation.pop(1)} /> @@ -120,10 +120,10 @@ const TabMe = React.memo( name='Tab-Me-Settings-Fontsize' component={ScreenMeSettingsFontsize} options={({ navigation }: any) => ({ - headerTitle: t('meSettingsFontsize:heading'), + headerTitle: t('me.stacks.fontSize.name'), ...(Platform.OS === 'android' && { headerCenter: () => ( - + ) }), headerLeft: () => navigation.pop(1)} /> @@ -133,10 +133,10 @@ const TabMe = React.memo( name='Tab-Me-Settings-Push' component={ScreenMeSettingsPush} options={({ navigation }: any) => ({ - headerTitle: t('meSettingsPush:heading'), + headerTitle: t('me.stacks.push.name'), ...(Platform.OS === 'android' && { headerCenter: () => ( - + ) }), headerLeft: () => navigation.pop(1)} /> diff --git a/src/screens/Tabs/Me/Fontsize.tsx b/src/screens/Tabs/Me/Fontsize.tsx index 93c36601..ecccb9f9 100644 --- a/src/screens/Tabs/Me/Fontsize.tsx +++ b/src/screens/Tabs/Me/Fontsize.tsx @@ -37,7 +37,7 @@ const ScreenMeSettingsFontsize: React.FC> = () => { const { mode, theme } = useTheme() - const { t } = useTranslation('meSettingsFontsize') + const { t } = useTranslation('screenTabs') const initialSize = useSelector(getSettingsFontsize) const dispatch = useDispatch() @@ -54,7 +54,7 @@ const ScreenMeSettingsFontsize: React.FC - {t(`content.sizes.${mapFontsizeToName(size)}`)} + {t(`me.fontSize.sizes.${mapFontsizeToName(size)}`)} ))} @@ -107,7 +107,7 @@ const ScreenMeSettingsFontsize: React.FC - {t('content.showcase')} + {t('me.fontSize.showcase')} - {t('content.availableSizes')} + {t('me.fontSize.availableSizes')} {sizesDemo} diff --git a/src/screens/Tabs/Me/Push.tsx b/src/screens/Tabs/Me/Push.tsx index 5e49be1b..e33c82cd 100644 --- a/src/screens/Tabs/Me/Push.tsx +++ b/src/screens/Tabs/Me/Push.tsx @@ -15,7 +15,7 @@ import { StyleConstants } from '@utils/styles/constants' import { AppState, Linking } from 'react-native' const ScreenMeSettingsPush: React.FC = () => { - const { t } = useTranslation('meSettingsPush') + const { t } = useTranslation('screenTabs') const dispatch = useDispatch() const instancePush = useSelector(getInstancePush) @@ -53,7 +53,7 @@ const ScreenMeSettingsPush: React.FC = () => { ]).map(alert => ( { type='text' content={ pushCanAskAgain - ? t('content.enable.direct') - : t('content.enable.settings') + ? t('me.push.enable.direct') + : t('me.push.enable.settings') } style={{ marginTop: StyleConstants.Spacing.Global.PagePadding, @@ -106,8 +106,8 @@ const ScreenMeSettingsPush: React.FC = () => { ) : null} { { } /> WebBrowser.openBrowserAsync('https://tooot.app/how-push-works') diff --git a/src/screens/Tabs/Me/Root/Collections.tsx b/src/screens/Tabs/Me/Root/Collections.tsx index ad80ddb9..ecabbf7c 100644 --- a/src/screens/Tabs/Me/Root/Collections.tsx +++ b/src/screens/Tabs/Me/Root/Collections.tsx @@ -6,7 +6,7 @@ import React, { useMemo } from 'react' import { useTranslation } from 'react-i18next' const Collections: React.FC = () => { - const { t, i18n } = useTranslation('meRoot') + const { t, i18n } = useTranslation('screenTabs') const navigation = useNavigation() const listsQuery = useListsQuery({ @@ -20,7 +20,7 @@ const Collections: React.FC = () => { navigation.navigate('Tab-Me-Lists')} /> ) @@ -44,13 +44,13 @@ const Collections: React.FC = () => { navigation.navigate('Screen-Announcements', { showAll: true }) @@ -67,19 +67,19 @@ const Collections: React.FC = () => { navigation.navigate('Tab-Me-Conversations')} /> navigation.navigate('Tab-Me-Bookmarks')} /> navigation.navigate('Tab-Me-Favourites')} /> {rowLists} diff --git a/src/screens/Tabs/Me/Root/Logout.tsx b/src/screens/Tabs/Me/Root/Logout.tsx index 2f4f91c5..b0415ff8 100644 --- a/src/screens/Tabs/Me/Root/Logout.tsx +++ b/src/screens/Tabs/Me/Root/Logout.tsx @@ -10,7 +10,7 @@ import { useQueryClient } from 'react-query' import { useDispatch, useSelector } from 'react-redux' const Logout: React.FC = () => { - const { t } = useTranslation('meRoot') + const { t } = useTranslation('screenTabs') const dispatch = useDispatch() const queryClient = useQueryClient() const instance = useSelector(getInstance) @@ -18,7 +18,7 @@ const Logout: React.FC = () => { return (