diff --git a/android/build.gradle b/android/build.gradle index 9b631f70..158b5453 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -6,14 +6,10 @@ buildscript { minSdkVersion = 21 compileSdkVersion = 31 targetSdkVersion = 31 - kotlinVersion = '1.6.10' + if (System.properties['os.arch'] == "aarch64") { // For M1 Users we need to use the NDK 24 which added support for aarch64 ndkVersion = "24.0.8215888" - } else if (Os.isFamily(Os.FAMILY_WINDOWS)) { - // For Android Users, we need to use NDK 23, otherwise the build will - // fail due to paths longer than the OS limit - ndkVersion = "23.1.7779620" } else { // Otherwise we default to the side-by-side NDK version from AGP. ndkVersion = "21.4.7075529" diff --git a/ios/Podfile.lock b/ios/Podfile.lock index fa4ec811..ff0c72b6 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -127,38 +127,38 @@ PODS: - GoogleUtilities/Environment (~> 7.7) - nanopb (< 2.30910.0, >= 2.30908.0) - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities (7.8.0): - - GoogleUtilities/AppDelegateSwizzler (= 7.8.0) - - GoogleUtilities/Environment (= 7.8.0) - - GoogleUtilities/ISASwizzler (= 7.8.0) - - GoogleUtilities/Logger (= 7.8.0) - - GoogleUtilities/MethodSwizzler (= 7.8.0) - - GoogleUtilities/Network (= 7.8.0) - - "GoogleUtilities/NSData+zlib (= 7.8.0)" - - GoogleUtilities/Reachability (= 7.8.0) - - GoogleUtilities/SwizzlerTestHelpers (= 7.8.0) - - GoogleUtilities/UserDefaults (= 7.8.0) - - GoogleUtilities/AppDelegateSwizzler (7.8.0): + - GoogleUtilities (7.10.0): + - GoogleUtilities/AppDelegateSwizzler (= 7.10.0) + - GoogleUtilities/Environment (= 7.10.0) + - GoogleUtilities/ISASwizzler (= 7.10.0) + - GoogleUtilities/Logger (= 7.10.0) + - GoogleUtilities/MethodSwizzler (= 7.10.0) + - GoogleUtilities/Network (= 7.10.0) + - "GoogleUtilities/NSData+zlib (= 7.10.0)" + - GoogleUtilities/Reachability (= 7.10.0) + - GoogleUtilities/SwizzlerTestHelpers (= 7.10.0) + - GoogleUtilities/UserDefaults (= 7.10.0) + - GoogleUtilities/AppDelegateSwizzler (7.10.0): - GoogleUtilities/Environment - GoogleUtilities/Logger - GoogleUtilities/Network - - GoogleUtilities/Environment (7.8.0): + - GoogleUtilities/Environment (7.10.0): - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/ISASwizzler (7.8.0) - - GoogleUtilities/Logger (7.8.0): + - GoogleUtilities/ISASwizzler (7.10.0) + - GoogleUtilities/Logger (7.10.0): - GoogleUtilities/Environment - - GoogleUtilities/MethodSwizzler (7.8.0): + - GoogleUtilities/MethodSwizzler (7.10.0): - GoogleUtilities/Logger - - GoogleUtilities/Network (7.8.0): + - GoogleUtilities/Network (7.10.0): - GoogleUtilities/Logger - "GoogleUtilities/NSData+zlib" - GoogleUtilities/Reachability - - "GoogleUtilities/NSData+zlib (7.8.0)" - - GoogleUtilities/Reachability (7.8.0): + - "GoogleUtilities/NSData+zlib (7.10.0)" + - GoogleUtilities/Reachability (7.10.0): - GoogleUtilities/Logger - - GoogleUtilities/SwizzlerTestHelpers (7.8.0): + - GoogleUtilities/SwizzlerTestHelpers (7.10.0): - GoogleUtilities/MethodSwizzler - - GoogleUtilities/UserDefaults (7.8.0): + - GoogleUtilities/UserDefaults (7.10.0): - GoogleUtilities/Logger - hermes-engine (0.70.5) - libevent (2.1.12) @@ -504,7 +504,7 @@ PODS: - React-Core - RNFastImage (8.6.3): - React-Core - - SDWebImage (~> 5.14.1) + - SDWebImage (~> 5.14.2) - SDWebImageWebPCoder (~> 0.9.1) - RNGestureHandler (2.8.0): - React-Core @@ -545,9 +545,9 @@ PODS: - React - RNSVG (13.5.0): - React-Core - - SDWebImage (5.14.1): - - SDWebImage/Core (= 5.14.1) - - SDWebImage/Core (5.14.1) + - SDWebImage (5.14.2): + - SDWebImage/Core (= 5.14.2) + - SDWebImage/Core (5.14.2) - SDWebImageWebPCoder (0.9.1): - libwebp (~> 1.0) - SDWebImage/Core (~> 5.13) @@ -855,7 +855,7 @@ SPEC CHECKSUMS: glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b GoogleAppMeasurement: 6ee231473fbd75c11221dfce489894334024eead GoogleDataTransport: 1c8145da7117bd68bbbed00cf304edb6a24de00f - GoogleUtilities: 1d20a6ad97ef46f67bbdec158ce00563a671ebb7 + GoogleUtilities: bad72cb363809015b1f7f19beb1f1cd23c589f95 hermes-engine: 7fe5fc6ef707b7fdcb161b63898ec500e285653d libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 libwebp: f62cb61d0a484ba548448a4bd52aabf150ff6eef @@ -902,14 +902,14 @@ SPEC CHECKSUMS: ReactCommon: c9246996e73bf75a2c6c3ff15f1e16707cdc2da9 RNCAsyncStorage: 8616bd5a58af409453ea4e1b246521bb76578d60 RNCClipboard: 2834e1c4af68697089cdd455ee4a4cdd198fa7dd - RNFastImage: 0211f5ebb561956cbb14d822606a6dce9d88e9c7 + RNFastImage: c5dd1b551779c5826fe43b7d36788385da2021e2 RNGestureHandler: 62232ba8f562f7dea5ba1b3383494eb5bf97a4d3 RNReanimated: 2a91e85fcd343f8af3c58d3425b99fdd285590a5 RNScreens: 34cc502acf1b916c582c60003dc3089fa01dc66d RNSentry: db7fd7b66efda28885e4e904a8b5e7349aec61c1 RNShareMenu: cb9dac548c8bf147d06f0bf07296ad51ea9f5fc3 RNSVG: 38ca962c970dbce1ca38991a5aebf26d163f9efb - SDWebImage: e1b3c38f170c6100130fce6856e423ed9e5f4fce + SDWebImage: b9a731e1d6307f44ca703b3976d18c24ca561e84 SDWebImageWebPCoder: 18503de6621dd2c420d680e33d46bf8e1d5169b0 Sentry: 4272663eb0eda312024d795ca3f5a562a8ce5e18 Swime: d7b2c277503b6cea317774aedc2dce05613f8b0b diff --git a/patches/react-native-fast-image+8.6.3.patch b/patches/react-native-fast-image+8.6.3.patch index 5fca2078..d41473e1 100644 --- a/patches/react-native-fast-image+8.6.3.patch +++ b/patches/react-native-fast-image+8.6.3.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/react-native-fast-image/RNFastImage.podspec b/node_modules/react-native-fast-image/RNFastImage.podspec -index db0fada..a752393 100644 +index db0fada..b23cd91 100644 --- a/node_modules/react-native-fast-image/RNFastImage.podspec +++ b/node_modules/react-native-fast-image/RNFastImage.podspec @@ -16,6 +16,6 @@ Pod::Spec.new do |s| @@ -8,7 +8,7 @@ index db0fada..a752393 100644 s.dependency 'React-Core' - s.dependency 'SDWebImage', '~> 5.11.1' - s.dependency 'SDWebImageWebPCoder', '~> 0.8.4' -+ s.dependency 'SDWebImage', '~> 5.14.1' ++ s.dependency 'SDWebImage', '~> 5.14.2' + s.dependency 'SDWebImageWebPCoder', '~> 0.9.1' end diff --git a/node_modules/react-native-fast-image/android/build.gradle b/node_modules/react-native-fast-image/android/build.gradle diff --git a/src/i18n/de/components/timeline.json b/src/i18n/de/components/timeline.json index c745c04a..fc0103ff 100644 --- a/src/i18n/de/components/timeline.json +++ b/src/i18n/de/components/timeline.json @@ -88,7 +88,7 @@ "content": { "expandHint": "Ausgeblendeter Inhalt" }, - "filtered": "Ausgeblendet", + "filtered": "", "fullConversation": "Unterhaltung anzeigen", "translate": { "default": "Übersetzen", diff --git a/src/i18n/es/common.json b/src/i18n/es/common.json new file mode 100644 index 00000000..d17849b2 --- /dev/null +++ b/src/i18n/es/common.json @@ -0,0 +1,22 @@ +{ + "buttons": { + "OK": "", + "apply": "", + "cancel": "" + }, + "customEmoji": { + "accessibilityLabel": "" + }, + "message": { + "success": { + "message": "" + }, + "warning": { + "message": "" + }, + "error": { + "message": "" + } + }, + "separator": "" +} \ No newline at end of file diff --git a/src/i18n/es/components/contextMenu.json b/src/i18n/es/components/contextMenu.json new file mode 100644 index 00000000..ba398d8a --- /dev/null +++ b/src/i18n/es/components/contextMenu.json @@ -0,0 +1,76 @@ +{ + "accessibilityHint": "", + "account": { + "title": "", + "mute": { + "action_false": "", + "action_true": "" + }, + "block": { + "action_false": "", + "action_true": "" + }, + "reports": { + "action": "" + } + }, + "copy": { + "action": "", + "succeed": "" + }, + "instance": { + "title": "", + "block": { + "action": "", + "alert": { + "title": "", + "message": "", + "buttons": { + "confirm": "" + } + } + } + }, + "share": { + "status": { + "action": "" + }, + "account": { + "action": "" + } + }, + "status": { + "title": "", + "edit": { + "action": "" + }, + "delete": { + "action": "", + "alert": { + "title": "", + "message": "", + "buttons": { + "confirm": "" + } + } + }, + "deleteEdit": { + "action": "", + "alert": { + "title": "", + "message": "", + "buttons": { + "confirm": "" + } + } + }, + "mute": { + "action_false": "", + "action_true": "" + }, + "pin": { + "action_false": "", + "action_true": "" + } + } +} \ No newline at end of file diff --git a/src/i18n/es/components/emojis.json b/src/i18n/es/components/emojis.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/src/i18n/es/components/emojis.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/i18n/es/components/instance.json b/src/i18n/es/components/instance.json new file mode 100644 index 00000000..3f2cd6e8 --- /dev/null +++ b/src/i18n/es/components/instance.json @@ -0,0 +1,30 @@ +{ + "server": { + "textInput": { + "placeholder": "" + }, + "button": "", + "information": { + "name": "", + "accounts": "", + "statuses": "", + "domains": "" + }, + "disclaimer": { + "base": "" + }, + "terms": { + "base": "" + } + }, + "update": { + "alert": { + "title": "", + "message": "", + "buttons": { + "cancel": "", + "continue": "" + } + } + } +} \ No newline at end of file diff --git a/src/i18n/es/components/mediaSelector.json b/src/i18n/es/components/mediaSelector.json new file mode 100644 index 00000000..afd894e4 --- /dev/null +++ b/src/i18n/es/components/mediaSelector.json @@ -0,0 +1,10 @@ +{ + "title": "", + "message": "", + "options": { + "image": "", + "image_max": "", + "video": "", + "video_max": "" + } +} \ No newline at end of file diff --git a/src/i18n/es/components/parse.json b/src/i18n/es/components/parse.json new file mode 100644 index 00000000..c2dc48a6 --- /dev/null +++ b/src/i18n/es/components/parse.json @@ -0,0 +1,8 @@ +{ + "HTML": { + "accessibilityHint": "", + "expanded": "", + "moreLines": "", + "defaultHint": "" + } +} \ No newline at end of file diff --git a/src/i18n/es/components/relationship.json b/src/i18n/es/components/relationship.json new file mode 100644 index 00000000..ccf2aa7b --- /dev/null +++ b/src/i18n/es/components/relationship.json @@ -0,0 +1,16 @@ +{ + "follow": { + "function": "" + }, + "block": { + "function": "" + }, + "button": { + "error": "", + "blocked_by": "", + "blocking": "", + "following": "", + "requested": "", + "default": "" + } +} \ No newline at end of file diff --git a/src/i18n/es/components/timeline.json b/src/i18n/es/components/timeline.json new file mode 100644 index 00000000..4ed9c372 --- /dev/null +++ b/src/i18n/es/components/timeline.json @@ -0,0 +1,152 @@ +{ + "empty": { + "error": { + "message": "", + "button": "" + }, + "success": { + "message": "" + } + }, + "end": { + "message": "" + }, + "lookback": { + "message": "" + }, + "refresh": { + "fetchPreviousPage": "", + "refetch": "" + }, + "shared": { + "actioned": { + "pinned": "", + "favourite": "", + "status": "", + "follow": "", + "follow_request": "", + "poll": "", + "reblog": { + "default": "", + "notification": "" + }, + "update": "" + }, + "actions": { + "reply": { + "accessibilityLabel": "" + }, + "reblogged": { + "accessibilityLabel": "", + "function": "", + "options": { + "title": "", + "public": "", + "unlisted": "" + } + }, + "favourited": { + "accessibilityLabel": "", + "function": "" + }, + "bookmarked": { + "accessibilityLabel": "", + "function": "" + } + }, + "actionsUsers": { + "reblogged_by": { + "accessibilityLabel": "", + "accessibilityHint": "", + "text": "" + }, + "favourited_by": { + "accessibilityLabel": "", + "accessibilityHint": "", + "text": "" + }, + "history": { + "accessibilityLabel": "", + "accessibilityHint": "", + "text_one": "", + "text_other": "" + } + }, + "attachment": { + "sensitive": { + "button": "" + }, + "unsupported": { + "text": "", + "button": "" + } + }, + "avatar": { + "accessibilityLabel": "", + "accessibilityHint": "" + }, + "content": { + "expandHint": "" + }, + "filtered": "", + "fullConversation": "", + "translate": { + "default": "", + "succeed": "", + "failed": "", + "source_not_supported": "", + "target_not_supported": "" + }, + "header": { + "shared": { + "account": { + "name": { + "accessibilityHint": "" + }, + "account": { + "accessibilityHint": "" + } + }, + "application": "", + "edited": { + "accessibilityLabel": "" + }, + "muted": { + "accessibilityLabel": "" + }, + "visibility": { + "direct": { + "accessibilityLabel": "" + }, + "private": { + "accessibilityLabel": "" + } + } + }, + "conversation": { + "withAccounts": "", + "delete": { + "function": "" + } + } + }, + "poll": { + "meta": { + "button": { + "vote": "", + "refresh": "" + }, + "count": { + "voters_one": "", + "voters_other": "", + "votes_one": "", + "votes_other": "" + }, + "expiration": { + "expired": "", + "until": "" + } + } + } + } +} \ No newline at end of file diff --git a/src/i18n/es/screens.json b/src/i18n/es/screens.json new file mode 100644 index 00000000..59b67261 --- /dev/null +++ b/src/i18n/es/screens.json @@ -0,0 +1,18 @@ +{ + "screenshot": { + "title": "", + "message": "", + "button": "" + }, + "localCorrupt": { + "message": "" + }, + "pushError": { + "message": "", + "description": "" + }, + "shareError": { + "imageNotSupported": "", + "videoNotSupported": "" + } +} \ No newline at end of file diff --git a/src/i18n/es/screens/accountSelection.json b/src/i18n/es/screens/accountSelection.json new file mode 100644 index 00000000..b16795a6 --- /dev/null +++ b/src/i18n/es/screens/accountSelection.json @@ -0,0 +1,6 @@ +{ + "heading": "", + "content": { + "select_account": "" + } +} \ No newline at end of file diff --git a/src/i18n/es/screens/actions.json b/src/i18n/es/screens/actions.json new file mode 100644 index 00000000..55e9959c --- /dev/null +++ b/src/i18n/es/screens/actions.json @@ -0,0 +1,20 @@ +{ + "content": { + "altText": { + "heading": "" + }, + "notificationsFilter": { + "heading": "", + "content": { + "follow": "", + "follow_request": "", + "favourite": "", + "reblog": "", + "mention": "", + "poll": "", + "status": "", + "update": "" + } + } + } +} \ No newline at end of file diff --git a/src/i18n/es/screens/announcements.json b/src/i18n/es/screens/announcements.json new file mode 100644 index 00000000..95737a45 --- /dev/null +++ b/src/i18n/es/screens/announcements.json @@ -0,0 +1,10 @@ +{ + "heading": "", + "content": { + "published": "", + "button": { + "read": "", + "unread": "" + } + } +} \ No newline at end of file diff --git a/src/i18n/es/screens/compose.json b/src/i18n/es/screens/compose.json new file mode 100644 index 00000000..ceb1afd4 --- /dev/null +++ b/src/i18n/es/screens/compose.json @@ -0,0 +1,179 @@ +{ + "heading": { + "left": { + "button": "", + "alert": { + "title": "", + "buttons": { + "save": "", + "delete": "", + "cancel": "" + } + } + }, + "right": { + "button": { + "default": "", + "conversation": "", + "reply": "", + "deleteEdit": "", + "edit": "", + "share": "" + }, + "alert": { + "default": { + "title": "", + "button": "" + }, + "removeReply": { + "title": "", + "description": "", + "cancel": "", + "confirm": "" + } + } + } + }, + "content": { + "root": { + "header": { + "postingAs": "", + "spoilerInput": { + "placeholder": "" + }, + "textInput": { + "placeholder": "", + "keyboardImage": { + "exceedMaximum": { + "title": "", + "OK": "" + } + } + } + }, + "footer": { + "attachments": { + "sensitive": "", + "remove": { + "accessibilityLabel": "" + }, + "edit": { + "accessibilityLabel": "" + }, + "upload": { + "accessibilityLabel": "" + } + }, + "emojis": { + "accessibilityHint": "" + }, + "poll": { + "option": { + "placeholder": { + "accessibilityLabel": "", + "single": "", + "multiple": "" + } + }, + "quantity": { + "reduce": { + "accessibilityLabel": "", + "accessibilityHint": "" + }, + "increase": { + "accessibilityLabel": "", + "accessibilityHint": "" + } + }, + "multiple": { + "heading": "", + "options": { + "single": "", + "multiple": "", + "cancel": "" + } + }, + "expiration": { + "heading": "", + "options": { + "300": "", + "1800": "", + "3600": "", + "21600": "", + "86400": "", + "259200": "", + "604800": "", + "cancel": "" + } + } + } + }, + "actions": { + "attachment": { + "accessibilityLabel": "", + "accessibilityHint": "", + "failed": { + "alert": { + "title": "", + "button": "" + } + } + }, + "poll": { + "accessibilityLabel": "", + "accessibilityHint": "" + }, + "visibility": { + "accessibilityLabel": "", + "title": "", + "options": { + "public": "", + "unlisted": "", + "private": "", + "direct": "", + "cancel": "" + } + }, + "spoiler": { + "accessibilityLabel": "" + }, + "emoji": { + "accessibilityLabel": "", + "accessibilityHint": "" + } + }, + "drafts_one": "", + "drafts_other": "" + }, + "editAttachment": { + "header": { + "title": "", + "right": { + "accessibilityLabel": "", + "failed": { + "title": "", + "button": "" + } + } + }, + "content": { + "altText": { + "heading": "", + "placeholder": "" + }, + "imageFocus": "" + } + }, + "draftsList": { + "header": { + "title": "" + }, + "warning": "", + "content": { + "accessibilityHint": "", + "textEmpty": "" + }, + "checkAttachment": "" + } + } +} \ No newline at end of file diff --git a/src/i18n/es/screens/imageViewer.json b/src/i18n/es/screens/imageViewer.json new file mode 100644 index 00000000..ad2b495c --- /dev/null +++ b/src/i18n/es/screens/imageViewer.json @@ -0,0 +1,17 @@ +{ + "content": { + "actions": { + "accessibilityLabel": "", + "accessibilityHint": "" + }, + "options": { + "save": "", + "share": "", + "cancel": "" + }, + "save": { + "succeed": "", + "failed": "" + } + } +} \ No newline at end of file diff --git a/src/i18n/es/screens/tabs.json b/src/i18n/es/screens/tabs.json new file mode 100644 index 00000000..5a8188c4 --- /dev/null +++ b/src/i18n/es/screens/tabs.json @@ -0,0 +1,354 @@ +{ + "tabs": { + "local": { + "name": "" + }, + "public": { + "name": "", + "segments": { + "left": "", + "right": "" + } + }, + "notifications": { + "name": "" + }, + "me": { + "name": "" + } + }, + "common": { + "search": { + "accessibilityLabel": "", + "accessibilityHint": "" + } + }, + "notifications": { + "filter": { + "accessibilityLabel": "", + "accessibilityHint": "" + } + }, + "me": { + "stacks": { + "bookmarks": { + "name": "" + }, + "conversations": { + "name": "" + }, + "favourites": { + "name": "" + }, + "fontSize": { + "name": "" + }, + "language": { + "name": "" + }, + "lists": { + "name": "" + }, + "list": { + "name": "" + }, + "push": { + "name": "" + }, + "profile": { + "name": "" + }, + "profileName": { + "name": "" + }, + "profileNote": { + "name": "" + }, + "profileFields": { + "name": "" + }, + "settings": { + "name": "" + }, + "webSettings": { + "name": "" + }, + "switch": { + "name": "" + } + }, + "fontSize": { + "demo": "", + "sizes": { + "S": "", + "M": "", + "L": "", + "XL": "", + "XXL": "" + } + }, + "profile": { + "cancellation": { + "title": "", + "message": "", + "buttons": { + "cancel": "", + "discard": "" + } + }, + "feedback": { + "succeed": "", + "failed": "" + }, + "root": { + "name": { + "title": "" + }, + "avatar": { + "title": "", + "description": "" + }, + "header": { + "title": "", + "description": "" + }, + "note": { + "title": "" + }, + "fields": { + "title": "", + "total_one": "", + "total_other": "" + }, + "visibility": { + "title": "", + "options": { + "public": "", + "unlisted": "", + "private": "", + "cancel": "" + } + }, + "sensitive": { + "title": "" + }, + "lock": { + "title": "", + "description": "" + }, + "bot": { + "title": "", + "description": "" + } + }, + "fields": { + "group": "", + "label": "", + "content": "" + }, + "mediaSelectionFailed": "" + }, + "push": { + "notAvailable": "", + "enable": { + "direct": "", + "settings": "" + }, + "global": { + "heading": "", + "description": "" + }, + "decode": { + "heading": "", + "description": "" + }, + "default": { + "heading": "" + }, + "follow": { + "heading": "" + }, + "follow_request": { + "heading": "" + }, + "favourite": { + "heading": "" + }, + "reblog": { + "heading": "" + }, + "mention": { + "heading": "" + }, + "poll": { + "heading": "" + }, + "status": { + "heading": "" + }, + "howitworks": "" + }, + "root": { + "announcements": { + "content": { + "unread": "", + "read": "", + "empty": "" + } + }, + "push": { + "content": { + "enabled": "", + "disabled": "" + } + }, + "update": { + "title": "" + }, + "logout": { + "button": "", + "alert": { + "title": "", + "message": "", + "buttons": { + "logout": "", + "cancel": "" + } + } + } + }, + "settings": { + "fontsize": { + "heading": "", + "content": { + "S": "", + "M": "", + "L": "", + "XL": "", + "XXL": "" + } + }, + "language": { + "heading": "", + "options": { + "cancel": "" + } + }, + "theme": { + "heading": "", + "options": { + "auto": "", + "light": "", + "dark": "", + "cancel": "" + } + }, + "darkTheme": { + "heading": "", + "options": { + "lighter": "", + "darker": "", + "cancel": "" + } + }, + "browser": { + "heading": "", + "options": { + "internal": "", + "external": "", + "cancel": "" + } + }, + "staticEmoji": { + "heading": "", + "description": "" + }, + "feedback": { + "heading": "" + }, + "support": { + "heading": "" + }, + "review": { + "heading": "" + }, + "contact": { + "heading": "" + }, + "analytics": { + "heading": "", + "description": "" + }, + "version": "", + "instanceVersion": "" + }, + "switch": { + "existing": "", + "new": "" + } + }, + "shared": { + "account": { + "actions": { + "accessibilityLabel": "", + "accessibilityHint": "" + }, + "followed_by": "", + "moved": "", + "created_at": "", + "summary": { + "statuses_count": "", + "following_count": "", + "followers_count": "" + }, + "toots": { + "default": "", + "all": "" + }, + "suspended": "" + }, + "attachments": { + "name": "" + }, + "search": { + "header": { + "prefix": "", + "placeholder": "" + }, + "empty": { + "general": "", + "advanced": { + "header": "", + "example": { + "account": "", + "hashtag": "", + "statusLink": "", + "accountLink": "" + } + } + }, + "sections": { + "accounts": "", + "hashtags": "", + "statuses": "" + }, + "notFound": "" + }, + "toot": { + "name": "" + }, + "users": { + "accounts": { + "following": "", + "followers": "" + }, + "statuses": { + "reblogged_by": "", + "favourited_by": "" + } + }, + "history": { + "name": "" + } + } +} \ No newline at end of file diff --git a/src/i18n/fr/components/contextMenu.json b/src/i18n/fr/components/contextMenu.json index 9b161385..d81e64c8 100644 --- a/src/i18n/fr/components/contextMenu.json +++ b/src/i18n/fr/components/contextMenu.json @@ -1,5 +1,5 @@ { - "accessibilityHint": "Actions pour ce toot, telles que son utilisateur affiché, le toot lui-même", + "accessibilityHint": "Actions pour ce Pouet, telles que son utilisateur affiché, le Pouet lui-même", "account": { "title": "Actions de l'utilisateur", "mute": { @@ -15,7 +15,7 @@ } }, "copy": { - "action": "Copier le pouet", + "action": "Copier le Pouet", "succeed": "Copié" }, "instance": { @@ -55,7 +55,7 @@ } }, "deleteEdit": { - "action": "Supprimer le pouet et le repost", + "action": "Supprimer le pouet et le republié", "alert": { "title": "Confirmer la suppression et le repost ?", "message": "Tous les boosts et favoris seront effacés, y compris toutes les réponses.", diff --git a/src/i18n/fr/components/timeline.json b/src/i18n/fr/components/timeline.json index d3dd81f8..35064fb0 100644 --- a/src/i18n/fr/components/timeline.json +++ b/src/i18n/fr/components/timeline.json @@ -88,7 +88,7 @@ "content": { "expandHint": "Contenu masqué" }, - "filtered": "Filtré", + "filtered": "Filtré: {{phrase}}.", "fullConversation": "Conversations lues", "translate": { "default": "Traduire", diff --git a/src/i18n/it/components/timeline.json b/src/i18n/it/components/timeline.json index d8881f6e..590b3815 100644 --- a/src/i18n/it/components/timeline.json +++ b/src/i18n/it/components/timeline.json @@ -88,7 +88,7 @@ "content": { "expandHint": "Contenuto nascosto" }, - "filtered": "Filtrato", + "filtered": "", "fullConversation": "Leggi la conversazione", "translate": { "default": "Traduci", diff --git a/src/i18n/ja/components/mediaSelector.json b/src/i18n/ja/components/mediaSelector.json index 5fbbf341..4d7724db 100644 --- a/src/i18n/ja/components/mediaSelector.json +++ b/src/i18n/ja/components/mediaSelector.json @@ -1,6 +1,6 @@ { "title": "メディアソースを選択", - "message": "", + "message": "メディアの EXIF データはアップロードされません", "options": { "image": "写真をアップロード", "image_max": "写真をアップロード (最大{{max}}枚)", diff --git a/src/i18n/ja/components/parse.json b/src/i18n/ja/components/parse.json index 1db0ec63..a4a40114 100644 --- a/src/i18n/ja/components/parse.json +++ b/src/i18n/ja/components/parse.json @@ -2,7 +2,7 @@ "HTML": { "accessibilityHint": "タップして内容を展開または折りたたむ", "expanded": "{{hint}}{{moreLines}}", - "moreLines": "", + "moreLines": " ({{count}} 行以上)", "defaultHint": "長いトゥート" } } \ No newline at end of file diff --git a/src/i18n/ja/components/timeline.json b/src/i18n/ja/components/timeline.json index afb8fc0c..f7ae3da2 100644 --- a/src/i18n/ja/components/timeline.json +++ b/src/i18n/ja/components/timeline.json @@ -40,9 +40,9 @@ "accessibilityLabel": "このトゥートをブーストしますか?", "function": "トゥートをブースト", "options": { - "title": "", - "public": "", - "unlisted": "" + "title": "ブーストの可視性を選択", + "public": "公開ブースト", + "unlisted": "未収載ブースト" } }, "favourited": { @@ -88,7 +88,7 @@ "content": { "expandHint": "内容を非表示にする" }, - "filtered": "フィルター済み", + "filtered": "フィルター: {{phrase}}.", "fullConversation": "スレッドを読む", "translate": { "default": "翻訳", diff --git a/src/i18n/ja/screens.json b/src/i18n/ja/screens.json index 59dc7caf..bf9acc39 100644 --- a/src/i18n/ja/screens.json +++ b/src/i18n/ja/screens.json @@ -2,10 +2,10 @@ "screenshot": { "title": "プライバシー保護", "message": "ユーザー名やアバターなど、他のユーザーを特定する情報は公開しないでください。", - "button": "確定" + "button": "確認" }, "localCorrupt": { - "message": "ログイン期限が切れました。もう一度ログインしてください。" + "message": "ログインの有効期限が切れました。もう一度ログインしてください。" }, "pushError": { "message": "プッシュサービスのエラー", diff --git a/src/i18n/ja/screens/tabs.json b/src/i18n/ja/screens/tabs.json index f4368302..52b6c8a2 100644 --- a/src/i18n/ja/screens/tabs.json +++ b/src/i18n/ja/screens/tabs.json @@ -305,7 +305,7 @@ "default": "投稿", "all": "投稿と返信" }, - "suspended": "" + "suspended": "あなたのサーバーのモデレーターによって、アカウントは停止されました" }, "attachments": { "name": "<0 /><1>\" のメディア" diff --git a/src/i18n/ko/components/timeline.json b/src/i18n/ko/components/timeline.json index 8d2216ab..04059381 100644 --- a/src/i18n/ko/components/timeline.json +++ b/src/i18n/ko/components/timeline.json @@ -88,7 +88,7 @@ "content": { "expandHint": "숨겨진 콘텐츠" }, - "filtered": "필터됨", + "filtered": "", "fullConversation": "대화 보기", "translate": { "default": "번역", diff --git a/src/i18n/pl/common.json b/src/i18n/pl/common.json new file mode 100644 index 00000000..304fea54 --- /dev/null +++ b/src/i18n/pl/common.json @@ -0,0 +1,22 @@ +{ + "buttons": { + "OK": "Ok", + "apply": "Zastosuj", + "cancel": "Anuluj" + }, + "customEmoji": { + "accessibilityLabel": "Własne emoji {{emoji}}" + }, + "message": { + "success": { + "message": "{{function}} pomyślnie" + }, + "warning": { + "message": "" + }, + "error": { + "message": "{{function}} nie powiodło się, spróbuj ponownie" + } + }, + "separator": ", " +} \ No newline at end of file diff --git a/src/i18n/pl/components/contextMenu.json b/src/i18n/pl/components/contextMenu.json new file mode 100644 index 00000000..ba398d8a --- /dev/null +++ b/src/i18n/pl/components/contextMenu.json @@ -0,0 +1,76 @@ +{ + "accessibilityHint": "", + "account": { + "title": "", + "mute": { + "action_false": "", + "action_true": "" + }, + "block": { + "action_false": "", + "action_true": "" + }, + "reports": { + "action": "" + } + }, + "copy": { + "action": "", + "succeed": "" + }, + "instance": { + "title": "", + "block": { + "action": "", + "alert": { + "title": "", + "message": "", + "buttons": { + "confirm": "" + } + } + } + }, + "share": { + "status": { + "action": "" + }, + "account": { + "action": "" + } + }, + "status": { + "title": "", + "edit": { + "action": "" + }, + "delete": { + "action": "", + "alert": { + "title": "", + "message": "", + "buttons": { + "confirm": "" + } + } + }, + "deleteEdit": { + "action": "", + "alert": { + "title": "", + "message": "", + "buttons": { + "confirm": "" + } + } + }, + "mute": { + "action_false": "", + "action_true": "" + }, + "pin": { + "action_false": "", + "action_true": "" + } + } +} \ No newline at end of file diff --git a/src/i18n/pl/components/emojis.json b/src/i18n/pl/components/emojis.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/src/i18n/pl/components/emojis.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/i18n/pl/components/instance.json b/src/i18n/pl/components/instance.json new file mode 100644 index 00000000..3f2cd6e8 --- /dev/null +++ b/src/i18n/pl/components/instance.json @@ -0,0 +1,30 @@ +{ + "server": { + "textInput": { + "placeholder": "" + }, + "button": "", + "information": { + "name": "", + "accounts": "", + "statuses": "", + "domains": "" + }, + "disclaimer": { + "base": "" + }, + "terms": { + "base": "" + } + }, + "update": { + "alert": { + "title": "", + "message": "", + "buttons": { + "cancel": "", + "continue": "" + } + } + } +} \ No newline at end of file diff --git a/src/i18n/pl/components/mediaSelector.json b/src/i18n/pl/components/mediaSelector.json new file mode 100644 index 00000000..afd894e4 --- /dev/null +++ b/src/i18n/pl/components/mediaSelector.json @@ -0,0 +1,10 @@ +{ + "title": "", + "message": "", + "options": { + "image": "", + "image_max": "", + "video": "", + "video_max": "" + } +} \ No newline at end of file diff --git a/src/i18n/pl/components/parse.json b/src/i18n/pl/components/parse.json new file mode 100644 index 00000000..c2dc48a6 --- /dev/null +++ b/src/i18n/pl/components/parse.json @@ -0,0 +1,8 @@ +{ + "HTML": { + "accessibilityHint": "", + "expanded": "", + "moreLines": "", + "defaultHint": "" + } +} \ No newline at end of file diff --git a/src/i18n/pl/components/relationship.json b/src/i18n/pl/components/relationship.json new file mode 100644 index 00000000..ccf2aa7b --- /dev/null +++ b/src/i18n/pl/components/relationship.json @@ -0,0 +1,16 @@ +{ + "follow": { + "function": "" + }, + "block": { + "function": "" + }, + "button": { + "error": "", + "blocked_by": "", + "blocking": "", + "following": "", + "requested": "", + "default": "" + } +} \ No newline at end of file diff --git a/src/i18n/pl/components/timeline.json b/src/i18n/pl/components/timeline.json new file mode 100644 index 00000000..50d15c09 --- /dev/null +++ b/src/i18n/pl/components/timeline.json @@ -0,0 +1,152 @@ +{ + "empty": { + "error": { + "message": "Błąd wczytania", + "button": "Spróbuj ponownie" + }, + "success": { + "message": "Oś czasu pusta" + } + }, + "end": { + "message": "" + }, + "lookback": { + "message": "" + }, + "refresh": { + "fetchPreviousPage": "", + "refetch": "" + }, + "shared": { + "actioned": { + "pinned": "", + "favourite": "", + "status": "", + "follow": "", + "follow_request": "", + "poll": "", + "reblog": { + "default": "", + "notification": "" + }, + "update": "" + }, + "actions": { + "reply": { + "accessibilityLabel": "" + }, + "reblogged": { + "accessibilityLabel": "", + "function": "", + "options": { + "title": "", + "public": "", + "unlisted": "" + } + }, + "favourited": { + "accessibilityLabel": "", + "function": "" + }, + "bookmarked": { + "accessibilityLabel": "", + "function": "" + } + }, + "actionsUsers": { + "reblogged_by": { + "accessibilityLabel": "", + "accessibilityHint": "", + "text": "" + }, + "favourited_by": { + "accessibilityLabel": "", + "accessibilityHint": "", + "text": "" + }, + "history": { + "accessibilityLabel": "", + "accessibilityHint": "", + "text_one": "", + "text_other": "" + } + }, + "attachment": { + "sensitive": { + "button": "" + }, + "unsupported": { + "text": "", + "button": "" + } + }, + "avatar": { + "accessibilityLabel": "", + "accessibilityHint": "" + }, + "content": { + "expandHint": "" + }, + "filtered": "", + "fullConversation": "", + "translate": { + "default": "", + "succeed": "", + "failed": "", + "source_not_supported": "", + "target_not_supported": "" + }, + "header": { + "shared": { + "account": { + "name": { + "accessibilityHint": "" + }, + "account": { + "accessibilityHint": "" + } + }, + "application": "", + "edited": { + "accessibilityLabel": "" + }, + "muted": { + "accessibilityLabel": "" + }, + "visibility": { + "direct": { + "accessibilityLabel": "" + }, + "private": { + "accessibilityLabel": "" + } + } + }, + "conversation": { + "withAccounts": "", + "delete": { + "function": "" + } + } + }, + "poll": { + "meta": { + "button": { + "vote": "", + "refresh": "" + }, + "count": { + "voters_one": "", + "voters_other": "", + "votes_one": "", + "votes_other": "" + }, + "expiration": { + "expired": "", + "until": "" + } + } + } + } +} \ No newline at end of file diff --git a/src/i18n/pl/screens.json b/src/i18n/pl/screens.json new file mode 100644 index 00000000..59b67261 --- /dev/null +++ b/src/i18n/pl/screens.json @@ -0,0 +1,18 @@ +{ + "screenshot": { + "title": "", + "message": "", + "button": "" + }, + "localCorrupt": { + "message": "" + }, + "pushError": { + "message": "", + "description": "" + }, + "shareError": { + "imageNotSupported": "", + "videoNotSupported": "" + } +} \ No newline at end of file diff --git a/src/i18n/pl/screens/accountSelection.json b/src/i18n/pl/screens/accountSelection.json new file mode 100644 index 00000000..b16795a6 --- /dev/null +++ b/src/i18n/pl/screens/accountSelection.json @@ -0,0 +1,6 @@ +{ + "heading": "", + "content": { + "select_account": "" + } +} \ No newline at end of file diff --git a/src/i18n/pl/screens/actions.json b/src/i18n/pl/screens/actions.json new file mode 100644 index 00000000..55e9959c --- /dev/null +++ b/src/i18n/pl/screens/actions.json @@ -0,0 +1,20 @@ +{ + "content": { + "altText": { + "heading": "" + }, + "notificationsFilter": { + "heading": "", + "content": { + "follow": "", + "follow_request": "", + "favourite": "", + "reblog": "", + "mention": "", + "poll": "", + "status": "", + "update": "" + } + } + } +} \ No newline at end of file diff --git a/src/i18n/pl/screens/announcements.json b/src/i18n/pl/screens/announcements.json new file mode 100644 index 00000000..95737a45 --- /dev/null +++ b/src/i18n/pl/screens/announcements.json @@ -0,0 +1,10 @@ +{ + "heading": "", + "content": { + "published": "", + "button": { + "read": "", + "unread": "" + } + } +} \ No newline at end of file diff --git a/src/i18n/pl/screens/compose.json b/src/i18n/pl/screens/compose.json new file mode 100644 index 00000000..ceb1afd4 --- /dev/null +++ b/src/i18n/pl/screens/compose.json @@ -0,0 +1,179 @@ +{ + "heading": { + "left": { + "button": "", + "alert": { + "title": "", + "buttons": { + "save": "", + "delete": "", + "cancel": "" + } + } + }, + "right": { + "button": { + "default": "", + "conversation": "", + "reply": "", + "deleteEdit": "", + "edit": "", + "share": "" + }, + "alert": { + "default": { + "title": "", + "button": "" + }, + "removeReply": { + "title": "", + "description": "", + "cancel": "", + "confirm": "" + } + } + } + }, + "content": { + "root": { + "header": { + "postingAs": "", + "spoilerInput": { + "placeholder": "" + }, + "textInput": { + "placeholder": "", + "keyboardImage": { + "exceedMaximum": { + "title": "", + "OK": "" + } + } + } + }, + "footer": { + "attachments": { + "sensitive": "", + "remove": { + "accessibilityLabel": "" + }, + "edit": { + "accessibilityLabel": "" + }, + "upload": { + "accessibilityLabel": "" + } + }, + "emojis": { + "accessibilityHint": "" + }, + "poll": { + "option": { + "placeholder": { + "accessibilityLabel": "", + "single": "", + "multiple": "" + } + }, + "quantity": { + "reduce": { + "accessibilityLabel": "", + "accessibilityHint": "" + }, + "increase": { + "accessibilityLabel": "", + "accessibilityHint": "" + } + }, + "multiple": { + "heading": "", + "options": { + "single": "", + "multiple": "", + "cancel": "" + } + }, + "expiration": { + "heading": "", + "options": { + "300": "", + "1800": "", + "3600": "", + "21600": "", + "86400": "", + "259200": "", + "604800": "", + "cancel": "" + } + } + } + }, + "actions": { + "attachment": { + "accessibilityLabel": "", + "accessibilityHint": "", + "failed": { + "alert": { + "title": "", + "button": "" + } + } + }, + "poll": { + "accessibilityLabel": "", + "accessibilityHint": "" + }, + "visibility": { + "accessibilityLabel": "", + "title": "", + "options": { + "public": "", + "unlisted": "", + "private": "", + "direct": "", + "cancel": "" + } + }, + "spoiler": { + "accessibilityLabel": "" + }, + "emoji": { + "accessibilityLabel": "", + "accessibilityHint": "" + } + }, + "drafts_one": "", + "drafts_other": "" + }, + "editAttachment": { + "header": { + "title": "", + "right": { + "accessibilityLabel": "", + "failed": { + "title": "", + "button": "" + } + } + }, + "content": { + "altText": { + "heading": "", + "placeholder": "" + }, + "imageFocus": "" + } + }, + "draftsList": { + "header": { + "title": "" + }, + "warning": "", + "content": { + "accessibilityHint": "", + "textEmpty": "" + }, + "checkAttachment": "" + } + } +} \ No newline at end of file diff --git a/src/i18n/pl/screens/imageViewer.json b/src/i18n/pl/screens/imageViewer.json new file mode 100644 index 00000000..ad2b495c --- /dev/null +++ b/src/i18n/pl/screens/imageViewer.json @@ -0,0 +1,17 @@ +{ + "content": { + "actions": { + "accessibilityLabel": "", + "accessibilityHint": "" + }, + "options": { + "save": "", + "share": "", + "cancel": "" + }, + "save": { + "succeed": "", + "failed": "" + } + } +} \ No newline at end of file diff --git a/src/i18n/pl/screens/tabs.json b/src/i18n/pl/screens/tabs.json new file mode 100644 index 00000000..5a8188c4 --- /dev/null +++ b/src/i18n/pl/screens/tabs.json @@ -0,0 +1,354 @@ +{ + "tabs": { + "local": { + "name": "" + }, + "public": { + "name": "", + "segments": { + "left": "", + "right": "" + } + }, + "notifications": { + "name": "" + }, + "me": { + "name": "" + } + }, + "common": { + "search": { + "accessibilityLabel": "", + "accessibilityHint": "" + } + }, + "notifications": { + "filter": { + "accessibilityLabel": "", + "accessibilityHint": "" + } + }, + "me": { + "stacks": { + "bookmarks": { + "name": "" + }, + "conversations": { + "name": "" + }, + "favourites": { + "name": "" + }, + "fontSize": { + "name": "" + }, + "language": { + "name": "" + }, + "lists": { + "name": "" + }, + "list": { + "name": "" + }, + "push": { + "name": "" + }, + "profile": { + "name": "" + }, + "profileName": { + "name": "" + }, + "profileNote": { + "name": "" + }, + "profileFields": { + "name": "" + }, + "settings": { + "name": "" + }, + "webSettings": { + "name": "" + }, + "switch": { + "name": "" + } + }, + "fontSize": { + "demo": "", + "sizes": { + "S": "", + "M": "", + "L": "", + "XL": "", + "XXL": "" + } + }, + "profile": { + "cancellation": { + "title": "", + "message": "", + "buttons": { + "cancel": "", + "discard": "" + } + }, + "feedback": { + "succeed": "", + "failed": "" + }, + "root": { + "name": { + "title": "" + }, + "avatar": { + "title": "", + "description": "" + }, + "header": { + "title": "", + "description": "" + }, + "note": { + "title": "" + }, + "fields": { + "title": "", + "total_one": "", + "total_other": "" + }, + "visibility": { + "title": "", + "options": { + "public": "", + "unlisted": "", + "private": "", + "cancel": "" + } + }, + "sensitive": { + "title": "" + }, + "lock": { + "title": "", + "description": "" + }, + "bot": { + "title": "", + "description": "" + } + }, + "fields": { + "group": "", + "label": "", + "content": "" + }, + "mediaSelectionFailed": "" + }, + "push": { + "notAvailable": "", + "enable": { + "direct": "", + "settings": "" + }, + "global": { + "heading": "", + "description": "" + }, + "decode": { + "heading": "", + "description": "" + }, + "default": { + "heading": "" + }, + "follow": { + "heading": "" + }, + "follow_request": { + "heading": "" + }, + "favourite": { + "heading": "" + }, + "reblog": { + "heading": "" + }, + "mention": { + "heading": "" + }, + "poll": { + "heading": "" + }, + "status": { + "heading": "" + }, + "howitworks": "" + }, + "root": { + "announcements": { + "content": { + "unread": "", + "read": "", + "empty": "" + } + }, + "push": { + "content": { + "enabled": "", + "disabled": "" + } + }, + "update": { + "title": "" + }, + "logout": { + "button": "", + "alert": { + "title": "", + "message": "", + "buttons": { + "logout": "", + "cancel": "" + } + } + } + }, + "settings": { + "fontsize": { + "heading": "", + "content": { + "S": "", + "M": "", + "L": "", + "XL": "", + "XXL": "" + } + }, + "language": { + "heading": "", + "options": { + "cancel": "" + } + }, + "theme": { + "heading": "", + "options": { + "auto": "", + "light": "", + "dark": "", + "cancel": "" + } + }, + "darkTheme": { + "heading": "", + "options": { + "lighter": "", + "darker": "", + "cancel": "" + } + }, + "browser": { + "heading": "", + "options": { + "internal": "", + "external": "", + "cancel": "" + } + }, + "staticEmoji": { + "heading": "", + "description": "" + }, + "feedback": { + "heading": "" + }, + "support": { + "heading": "" + }, + "review": { + "heading": "" + }, + "contact": { + "heading": "" + }, + "analytics": { + "heading": "", + "description": "" + }, + "version": "", + "instanceVersion": "" + }, + "switch": { + "existing": "", + "new": "" + } + }, + "shared": { + "account": { + "actions": { + "accessibilityLabel": "", + "accessibilityHint": "" + }, + "followed_by": "", + "moved": "", + "created_at": "", + "summary": { + "statuses_count": "", + "following_count": "", + "followers_count": "" + }, + "toots": { + "default": "", + "all": "" + }, + "suspended": "" + }, + "attachments": { + "name": "" + }, + "search": { + "header": { + "prefix": "", + "placeholder": "" + }, + "empty": { + "general": "", + "advanced": { + "header": "", + "example": { + "account": "", + "hashtag": "", + "statusLink": "", + "accountLink": "" + } + } + }, + "sections": { + "accounts": "", + "hashtags": "", + "statuses": "" + }, + "notFound": "" + }, + "toot": { + "name": "" + }, + "users": { + "accounts": { + "following": "", + "followers": "" + }, + "statuses": { + "reblogged_by": "", + "favourited_by": "" + } + }, + "history": { + "name": "" + } + } +} \ No newline at end of file diff --git a/src/i18n/pt_BR/components/timeline.json b/src/i18n/pt_BR/components/timeline.json index aa7d0e1c..7a3061c5 100644 --- a/src/i18n/pt_BR/components/timeline.json +++ b/src/i18n/pt_BR/components/timeline.json @@ -88,7 +88,7 @@ "content": { "expandHint": "Conteúdo oculto" }, - "filtered": "Filtrado", + "filtered": "", "fullConversation": "Ler conversas", "translate": { "default": "Traduzir", diff --git a/src/i18n/vi/components/timeline.json b/src/i18n/vi/components/timeline.json index 236e157f..3dba5244 100644 --- a/src/i18n/vi/components/timeline.json +++ b/src/i18n/vi/components/timeline.json @@ -88,7 +88,7 @@ "content": { "expandHint": "Nội dung ẩn" }, - "filtered": "Đã lọc", + "filtered": "Đã lọc: {{phrase}}.", "fullConversation": "Xem thêm", "translate": { "default": "Dịch", diff --git a/src/i18n/vi/screens/tabs.json b/src/i18n/vi/screens/tabs.json index 61f5329b..fdb93752 100644 --- a/src/i18n/vi/screens/tabs.json +++ b/src/i18n/vi/screens/tabs.json @@ -305,7 +305,7 @@ "default": "Tút", "all": "Lượt trả lời" }, - "suspended": "" + "suspended": "Người này đã bị vô hiệu hóa" }, "attachments": { "name": "<0 /><1>'s media" diff --git a/src/i18n/zh-Hans/components/timeline.json b/src/i18n/zh-Hans/components/timeline.json index 1e2617d9..4b80a605 100644 --- a/src/i18n/zh-Hans/components/timeline.json +++ b/src/i18n/zh-Hans/components/timeline.json @@ -88,7 +88,7 @@ "content": { "expandHint": "隐藏内容" }, - "filtered": "已过滤", + "filtered": "已过滤:{{phrase}}。", "fullConversation": "阅读全部对话", "translate": { "default": "翻译", diff --git a/src/i18n/zh-Hant/components/timeline.json b/src/i18n/zh-Hant/components/timeline.json index a1bf4529..fb9e558c 100644 --- a/src/i18n/zh-Hant/components/timeline.json +++ b/src/i18n/zh-Hant/components/timeline.json @@ -88,7 +88,7 @@ "content": { "expandHint": "隱藏內容" }, - "filtered": "已過濾", + "filtered": "", "fullConversation": "閱讀全部對話", "translate": { "default": "翻譯", diff --git a/src/screens/Tabs/Local.tsx b/src/screens/Tabs/Local.tsx index c20e9270..acc03b1a 100644 --- a/src/screens/Tabs/Local.tsx +++ b/src/screens/Tabs/Local.tsx @@ -4,6 +4,7 @@ import Timeline from '@components/Timeline' import TimelineDefault from '@components/Timeline/Default' import { createNativeStackNavigator } from '@react-navigation/native-stack' import { ScreenTabsScreenProps, TabLocalStackParamList } from '@utils/navigation/navigators' +import usePopToTop from '@utils/navigation/usePopToTop' import { useListsQuery } from '@utils/queryHooks/lists' import { QueryKeyTimeline } from '@utils/queryHooks/timeline' import layoutAnimation from '@utils/styles/layoutAnimation' @@ -26,6 +27,8 @@ const TabLocal = React.memo( const [queryKey, setQueryKey] = useState(['Timeline', { page: 'Following' }]) + usePopToTop() + return ( ({ title: t('tabs.notifications.name'), ...(Platform.OS === 'android' && { - headerCenter: () => ( - - ) + headerCenter: () => }), headerRight: () => ( p.title)} selectedIndex={segment} - onChange={({ nativeEvent }) => - setSegment(nativeEvent.selectedSegmentIndex) - } - style={styles.segmentsContainer} + onChange={({ nativeEvent }) => setSegment(nativeEvent.selectedSegmentIndex)} + style={{ flexBasis: '65%' }} /> ), headerRight: () => ( @@ -84,9 +80,7 @@ const TabPublic = React.memo( queryKey={queryKey} lookback={page} customProps={{ - renderItem: ({ item }: any) => ( - - ) + renderItem: ({ item }: any) => }} /> ) @@ -108,13 +102,11 @@ const TabPublic = React.memo( [segment] ) + usePopToTop() + return ( - + {TabSharedRoot({ Stack })} ) @@ -122,10 +114,4 @@ const TabPublic = React.memo( () => true ) -const styles = StyleSheet.create({ - segmentsContainer: { - flexBasis: '65%' - } -}) - export default TabPublic diff --git a/src/utils/navigation/navigators.ts b/src/utils/navigation/navigators.ts index a6a28d9f..ba77c50e 100644 --- a/src/utils/navigation/navigators.ts +++ b/src/utils/navigation/navigators.ts @@ -3,7 +3,6 @@ import { NavigatorScreenParams } from '@react-navigation/native' import { NativeStackScreenProps } from '@react-navigation/native-stack' import { StackNavigationProp } from '@react-navigation/stack' import { QueryKeyTimeline } from '@utils/queryHooks/timeline' -import React from 'react' export type RootStackParamList = { 'Screen-Tabs': NavigatorScreenParams diff --git a/src/utils/navigation/usePopToTop.ts b/src/utils/navigation/usePopToTop.ts new file mode 100644 index 00000000..71d8c74e --- /dev/null +++ b/src/utils/navigation/usePopToTop.ts @@ -0,0 +1,17 @@ +import { StackActions, useNavigation } from '@react-navigation/native' +import { getInstanceActive } from '@utils/slices/instancesSlice' +import { useEffect } from 'react' +import { useSelector } from 'react-redux' + +// Mostly used when switching account and sub pages were still querying the old instance + +const usePopToTop = () => { + const navigation = useNavigation() + const instanceActive = useSelector(getInstanceActive) + + return useEffect(() => { + navigation.dispatch(StackActions.popToTop()) + }, [instanceActive]) +} + +export default usePopToTop diff --git a/src/utils/push/useConnect.ts b/src/utils/push/useConnect.ts index a5cd8f45..342a77f2 100644 --- a/src/utils/push/useConnect.ts +++ b/src/utils/push/useConnect.ts @@ -3,6 +3,7 @@ import apiTooot from '@api/tooot' import { displayMessage } from '@components/Message' import navigationRef from '@helpers/navigationRef' import { useAppDispatch } from '@root/store' +import * as Sentry from '@sentry/react-native' import { InstanceLatest } from '@utils/migrations/instances/migration' import { getExpoToken, retrieveExpoToken } from '@utils/slices/appSlice' import { disableAllPushes } from '@utils/slices/instancesSlice' @@ -33,6 +34,12 @@ const pushUseConnect = ({ t, instances }: Params) => { url: `push/connect/${expoToken}`, sentry: true }).catch(error => { + Sentry.setExtras({ + API: 'tooot', + ...(error?.response && { response: error.response }), + ...(error?.request && { request: error.request }) + }) + Sentry.captureException(error) Notifications.setBadgeCountAsync(0) if (error?.status == 404) { displayMessage({ diff --git a/src/utils/slices/contextsSlice.ts b/src/utils/slices/contextsSlice.ts index e274ad75..27a4235f 100644 --- a/src/utils/slices/contextsSlice.ts +++ b/src/utils/slices/contextsSlice.ts @@ -18,9 +18,9 @@ export type ContextsState = { } export const contextsInitialState = { - // After 3 successful postings + // After 10 successful postings storeReview: { - context: 3, + context: 10, current: 0, shown: false },