Bluesky app fork with some witchin' additions 💫
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'main' of github.com:bluesky-social/social-app into main

+1911 -1146
+1 -1
bskyweb/templates/base.html
··· 33 33 } 34 34 35 35 html { 36 - scroll-behavior: smooth; 37 36 /* Prevent text size change on orientation change https://gist.github.com/tfausak/2222823#file-ios-8-web-app-html-L138 */ 38 37 -webkit-text-size-adjust: 100%; 39 38 height: calc(100% + env(safe-area-inset-top)); 39 + scrollbar-gutter: stable both-edges; 40 40 } 41 41 42 42 /* Remove autofill styles on Webkit */
+1
package.json
··· 206 206 "@types/lodash.shuffle": "^4.2.7", 207 207 "@types/psl": "^1.1.1", 208 208 "@types/react-avatar-editor": "^13.0.0", 209 + "@types/react-dom": "^18.2.18", 209 210 "@types/react-responsive": "^8.0.5", 210 211 "@types/react-test-renderer": "^17.0.1", 211 212 "@typescript-eslint/eslint-plugin": "^5.48.2",
+4 -1
src/Navigation.tsx
··· 39 39 setEmailConfirmationRequested, 40 40 } from './state/shell/reminders' 41 41 import {init as initAnalytics} from './lib/analytics/analytics' 42 + import {useWebScrollRestoration} from './lib/hooks/useWebScrollRestoration' 42 43 43 44 import {HomeScreen} from './view/screens/Home' 44 45 import {SearchScreen} from './view/screens/Search' ··· 413 414 const FlatNavigator = () => { 414 415 const pal = usePalette('default') 415 416 const numUnread = useUnreadNotifications() 416 - 417 + const screenListeners = useWebScrollRestoration() 417 418 const title = (page: MessageDescriptor) => bskyTitle(i18n._(page), numUnread) 419 + 418 420 return ( 419 421 <Flat.Navigator 422 + screenListeners={screenListeners} 420 423 screenOptions={{ 421 424 gestureEnabled: true, 422 425 fullScreenGestureEnabled: true,
-1
src/lib/batchedUpdates.web.ts
··· 1 - // @ts-ignore 2 1 export {unstable_batchedUpdates as batchedUpdates} from 'react-dom'
+5 -2
src/lib/country-codes.ts
··· 91 91 {code2: 'DE', name: 'Germany (+49)'}, 92 92 {code2: 'GH', name: 'Ghana (+233)'}, 93 93 {code2: 'GI', name: 'Gibraltar (+350)'}, 94 - {code2: 'GB', name: 'Great Britain (+44)'}, 95 94 {code2: 'GR', name: 'Greece (+30)'}, 96 95 {code2: 'GL', name: 'Greenland (+299)'}, 97 96 {code2: 'GD', name: 'Grenada (+1)'}, ··· 237 236 {code2: 'UG', name: 'Uganda (+256)'}, 238 237 {code2: 'UA', name: 'Ukraine (+380)'}, 239 238 {code2: 'AE', name: 'United Arab Emirates (+971)'}, 239 + { 240 + code2: 'GB', 241 + name: 'United Kingdom of Great Britain and Northern Ireland (+44)', 242 + }, 240 243 {code2: 'US', name: 'United States of America (+1)'}, 241 244 {code2: 'UY', name: 'Uruguay (+598)'}, 242 245 {code2: 'UZ', name: 'Uzbekistan (+998)'}, 243 246 {code2: 'VU', name: 'Vanuatu (+678)'}, 244 247 {code2: 'VE', name: 'Venezuela (Bolivarian Republic of) (+58)'}, 245 248 {code2: 'VN', name: 'Viet Nam (+84)'}, 246 - {code2: 'VI', name: 'Virgin Islands (+1)'}, 247 249 {code2: 'VG', name: 'Virgin Islands (British) (+1)'}, 250 + {code2: 'VI', name: 'Virgin Islands (U.S.) (+1)'}, 248 251 {code2: 'WF', name: 'Wallis and Futuna (+681)'}, 249 252 {code2: 'EH', name: 'Western Sahara (+212)'}, 250 253 {code2: 'YE', name: 'Yemen (+967)'},
+28
src/lib/hooks/useWebBodyScrollLock.ts
··· 1 + import {useEffect} from 'react' 2 + import {isWeb} from '#/platform/detection' 3 + 4 + let refCount = 0 5 + 6 + function incrementRefCount() { 7 + if (refCount === 0) { 8 + document.body.style.overflow = 'hidden' 9 + } 10 + refCount++ 11 + } 12 + 13 + function decrementRefCount() { 14 + refCount-- 15 + if (refCount === 0) { 16 + document.body.style.overflow = '' 17 + } 18 + } 19 + 20 + export function useWebBodyScrollLock(isLockActive: boolean) { 21 + useEffect(() => { 22 + if (!isWeb || !isLockActive) { 23 + return 24 + } 25 + incrementRefCount() 26 + return () => decrementRefCount() 27 + }) 28 + }
+3
src/lib/hooks/useWebScrollRestoration.native.ts
··· 1 + export function useWebScrollRestoration() { 2 + return undefined 3 + }
+52
src/lib/hooks/useWebScrollRestoration.ts
··· 1 + import {useMemo, useState, useEffect} from 'react' 2 + import {EventArg, useNavigation} from '@react-navigation/core' 3 + 4 + if ('scrollRestoration' in history) { 5 + // Tell the brower not to mess with the scroll. 6 + // We're doing that manually below. 7 + history.scrollRestoration = 'manual' 8 + } 9 + 10 + function createInitialScrollState() { 11 + return { 12 + scrollYs: new Map(), 13 + focusedKey: null as string | null, 14 + } 15 + } 16 + 17 + export function useWebScrollRestoration() { 18 + const [state] = useState(createInitialScrollState) 19 + const navigation = useNavigation() 20 + 21 + useEffect(() => { 22 + function onDispatch() { 23 + if (state.focusedKey) { 24 + // Remember where we were for later. 25 + state.scrollYs.set(state.focusedKey, window.scrollY) 26 + // TODO: Strictly speaking, this is a leak. We never clean up. 27 + // This is because I'm not sure when it's appropriate to clean it up. 28 + // It doesn't seem like popstate is enough because it can still Forward-Back again. 29 + // Maybe we should use sessionStorage. Or check what Next.js is doing? 30 + } 31 + } 32 + // We want to intercept any push/pop/replace *before* the re-render. 33 + // There is no official way to do this yet, but this works okay for now. 34 + // https://twitter.com/satya164/status/1737301243519725803 35 + navigation.addListener('__unsafe_action__' as any, onDispatch) 36 + return () => { 37 + navigation.removeListener('__unsafe_action__' as any, onDispatch) 38 + } 39 + }, [state, navigation]) 40 + 41 + const screenListeners = useMemo( 42 + () => ({ 43 + focus(e: EventArg<'focus', boolean | undefined, unknown>) { 44 + const scrollY = state.scrollYs.get(e.target) ?? 0 45 + window.scrollTo(0, scrollY) 46 + state.focusedKey = e.target ?? null 47 + }, 48 + }), 49 + [state], 50 + ) 51 + return screenListeners 52 + }
+2 -2
src/lib/styles.ts
··· 1 1 import {Dimensions, StyleProp, StyleSheet, TextStyle} from 'react-native' 2 2 import {Theme, TypographyVariant} from './ThemeContext' 3 - import {isMobileWeb} from 'platform/detection' 3 + import {isWeb} from 'platform/detection' 4 4 5 5 // 1 is lightest, 2 is light, 3 is mid, 4 is dark, 5 is darkest 6 6 export const colors = { ··· 175 175 // dimensions 176 176 w100pct: {width: '100%'}, 177 177 h100pct: {height: '100%'}, 178 - hContentRegion: isMobileWeb ? {flex: 1} : {height: '100%'}, 178 + hContentRegion: isWeb ? {minHeight: '100%'} : {height: '100%'}, 179 179 window: { 180 180 width: Dimensions.get('window').width, 181 181 height: Dimensions.get('window').height,
+397 -397
src/locale/locales/ja/messages.po
··· 15 15 16 16 #: src/view/com/modals/VerifyEmail.tsx:142 17 17 msgid "(no email)" 18 - msgstr "" 18 + msgstr "メールがありません" 19 19 20 20 #: src/view/shell/desktop/RightNav.tsx:168 21 21 msgid "{0, plural, one {# invite code available} other {# invite codes available}}" ··· 32 32 33 33 #: src/view/com/profile/ProfileHeader.tsx:632 34 34 msgid "{following} following" 35 - msgstr "" 35 + msgstr "{following}人をフォロー中" 36 36 37 37 #: src/view/shell/desktop/RightNav.tsx:151 38 38 msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}" ··· 54 54 55 55 #: src/view/shell/Drawer.tsx:443 56 56 msgid "{numUnreadNotifications} unread" 57 - msgstr "" 57 + msgstr "{numUnreadNotifications}件の未読" 58 58 59 59 #: src/Navigation.tsx:147 60 60 #~ msgid "@{0}" 61 - #~ msgstr "" 61 + #~ msgstr "@{0}" 62 62 63 63 #: src/view/com/threadgate/WhoCanReply.tsx:158 64 64 msgid "<0/> members" ··· 66 66 67 67 #: src/view/com/profile/ProfileHeader.tsx:634 68 68 msgid "<0>{following} </0><1>following</1>" 69 - msgstr "" 69 + msgstr "<0>{following}</0><1>人をフォロー中</1>" 70 70 71 71 #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30 72 72 msgid "<0>Choose your</0><1>Recommended</1><2>Feeds</2>" ··· 78 78 79 79 #: src/view/com/auth/onboarding/WelcomeDesktop.tsx:21 80 80 msgid "<0>Welcome to</0><1>Bluesky</1>" 81 - msgstr "" 81 + msgstr "<1>Bluesky</1><0>へようこそ</0>" 82 82 83 83 #: src/view/com/profile/ProfileHeader.tsx:597 84 84 msgid "⚠Invalid Handle" 85 - msgstr "" 85 + msgstr "⚠不正なハンドル" 86 86 87 87 #: src/view/com/util/moderation/LabelInfo.tsx:45 88 88 msgid "A content warning has been applied to this {0}." 89 - msgstr "" 89 + msgstr "この{0}にコンテンツの警告が適用されています。" 90 90 91 91 #: src/lib/hooks/useOTAUpdate.ts:16 92 92 msgid "A new version of the app is available. Please update to continue using the app." ··· 95 95 #: src/view/com/util/ViewHeader.tsx:83 96 96 #: src/view/screens/Search/Search.tsx:545 97 97 msgid "Access navigation links and settings" 98 - msgstr "" 98 + msgstr "ナビゲーションリンクと設定にアクセス" 99 99 100 100 #: src/view/com/pager/FeedsTabBarMobile.tsx:83 101 101 msgid "Access profile and other navigation links" 102 - msgstr "" 102 + msgstr "プロフィールと他のナビゲーションリンクにアクセス" 103 103 104 104 #: src/view/com/modals/EditImage.tsx:299 105 105 #: src/view/screens/Settings.tsx:445 ··· 113 113 114 114 #: src/view/com/profile/ProfileHeader.tsx:293 115 115 msgid "Account blocked" 116 - msgstr "" 116 + msgstr "アカウントをブロックしました" 117 117 118 118 #: src/view/com/profile/ProfileHeader.tsx:260 119 119 msgid "Account muted" 120 - msgstr "" 120 + msgstr "アカウントをミュートしました" 121 121 122 122 #: src/view/com/modals/ModerationDetails.tsx:86 123 123 msgid "Account Muted" 124 - msgstr "" 124 + msgstr "ミュート中のアカウント" 125 125 126 126 #: src/view/com/modals/ModerationDetails.tsx:72 127 127 msgid "Account Muted by List" 128 - msgstr "" 128 + msgstr "リストによってミュート中のアカウント" 129 129 130 130 #: src/view/com/util/AccountDropdownBtn.tsx:41 131 131 msgid "Account options" ··· 133 133 134 134 #: src/view/com/util/AccountDropdownBtn.tsx:25 135 135 msgid "Account removed from quick access" 136 - msgstr "" 136 + msgstr "クイックアクセスからアカウントを解除" 137 137 138 138 #: src/view/com/profile/ProfileHeader.tsx:315 139 139 msgid "Account unblocked" 140 - msgstr "" 140 + msgstr "アカウントのブロックを解除しました" 141 141 142 142 #: src/view/com/profile/ProfileHeader.tsx:273 143 143 msgid "Account unmuted" 144 - msgstr "" 144 + msgstr "アカウントのミュートを解除しました" 145 145 146 146 #: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150 147 147 #: src/view/com/modals/ListAddRemoveUsers.tsx:264 ··· 173 173 #: src/view/screens/AppPasswords.tsx:143 174 174 #: src/view/screens/AppPasswords.tsx:156 175 175 msgid "Add App Password" 176 - msgstr "" 176 + msgstr "アプリパスワードを追加" 177 177 178 178 #: src/view/com/modals/report/InputIssueDetails.tsx:41 179 179 #: src/view/com/modals/report/Modal.tsx:191 ··· 207 207 208 208 #: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:139 209 209 msgid "Added" 210 - msgstr "" 210 + msgstr "追加済み" 211 211 212 212 #: src/view/com/modals/ListAddRemoveUsers.tsx:191 213 213 #: src/view/com/modals/UserAddRemoveLists.tsx:128 ··· 216 216 217 217 #: src/view/com/feeds/FeedSourceCard.tsx:125 218 218 msgid "Added to my feeds" 219 - msgstr "" 219 + msgstr "マイフィードに追加" 220 220 221 221 #: src/view/screens/PreferencesHomeFeed.tsx:173 222 222 msgid "Adjust the number of likes a reply must have to be shown in your feed." ··· 228 228 229 229 #: src/view/com/modals/ContentFilteringSettings.tsx:137 230 230 msgid "Adult content can only be enabled via the Web at <0/>." 231 - msgstr "" 231 + msgstr "成人向けコンテンツを有効にするには、ウェブで<0/>にアクセスする必要があります。" 232 232 233 233 #: src/view/screens/Settings.tsx:630 234 234 msgid "Advanced" ··· 236 236 237 237 #: src/view/com/auth/login/ChooseAccountForm.tsx:98 238 238 msgid "Already signed in as @{0}" 239 - msgstr "" 239 + msgstr "@{0}としてすでにサインイン済み" 240 240 241 241 #: src/view/com/composer/photos/Gallery.tsx:130 242 242 msgid "ALT" ··· 261 261 #: src/view/com/profile/FollowButton.tsx:30 262 262 #: src/view/com/profile/FollowButton.tsx:40 263 263 msgid "An issue occurred, please try again." 264 - msgstr "" 264 + msgstr "問題が発生しました。もう一度お試しください。" 265 265 266 266 #: src/view/com/notifications/FeedItem.tsx:240 267 267 #: src/view/com/threadgate/WhoCanReply.tsx:178 ··· 274 274 275 275 #: src/view/screens/AppPasswords.tsx:228 276 276 msgid "App password deleted" 277 - msgstr "" 277 + msgstr "アプリパスワードを削除しました" 278 278 279 279 #: src/view/com/modals/AddAppPasswords.tsx:133 280 280 msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores." 281 - msgstr "" 281 + msgstr "アプリパスワードの名前には、英数字、スペース、ハイフン、アンダースコアのみが使用可能です。" 282 282 283 283 #: src/view/com/modals/AddAppPasswords.tsx:98 284 284 msgid "App Password names must be at least 4 characters long." 285 - msgstr "" 285 + msgstr "アプリパスワードの名前は長さが4文字以上である必要があります。" 286 286 287 287 #: src/view/screens/Settings.tsx:641 288 288 msgid "App password settings" 289 - msgstr "" 289 + msgstr "アプリパスワードの設定" 290 290 291 291 #: src/view/screens/Settings.tsx:650 292 292 msgid "App passwords" ··· 299 299 300 300 #: src/view/com/util/forms/PostDropdownBtn.tsx:248 301 301 msgid "Appeal content warning" 302 - msgstr "" 302 + msgstr "コンテンツの警告に異議を申し立てる" 303 303 304 304 #: src/view/com/modals/AppealLabel.tsx:65 305 305 msgid "Appeal Content Warning" 306 - msgstr "" 306 + msgstr "コンテンツの警告に異議を申し立てる" 307 307 308 308 #: src/view/com/modals/AppealLabel.tsx:65 309 309 #~ msgid "Appeal Decision" 310 - #~ msgstr "判断に異議" 310 + #~ msgstr "判断に異議を申し立てる" 311 311 312 312 #: src/view/com/util/moderation/LabelInfo.tsx:52 313 313 msgid "Appeal this decision" ··· 323 323 324 324 #: src/view/screens/AppPasswords.tsx:224 325 325 msgid "Are you sure you want to delete the app password \"{name}\"?" 326 - msgstr "本当にアプリパスワード「{name}」を削除しますか?" 326 + msgstr "アプリパスワード「{name}」を本当に削除しますか?" 327 327 328 328 #: src/view/com/composer/Composer.tsx:143 329 329 msgid "Are you sure you'd like to discard this draft?" ··· 339 339 340 340 #: src/view/com/composer/select-language/SuggestedLanguage.tsx:65 341 341 msgid "Are you writing in <0>{0}</0>?" 342 - msgstr "" 342 + msgstr "<0>{0}</0>で書かれた投稿ですか?" 343 343 344 344 #: src/view/com/modals/SelfLabel.tsx:123 345 345 msgid "Artistic or non-erotic nudity." ··· 362 362 #: src/view/com/post-thread/PostThread.tsx:400 363 363 msgctxt "action" 364 364 msgid "Back" 365 - msgstr "" 365 + msgstr "戻る" 366 366 367 367 #: src/view/screens/Settings.tsx:489 368 368 msgid "Basics" ··· 396 396 397 397 #: src/view/screens/ProfileList.tsx:319 398 398 msgid "Block this List" 399 - msgstr "" 399 + msgstr "このリストをブロック" 400 400 401 401 #: src/view/com/lists/ListCard.tsx:109 402 402 #: src/view/com/util/post-embeds/QuoteEmbed.tsx:60 403 403 msgid "Blocked" 404 - msgstr "" 404 + msgstr "ブロックされています" 405 405 406 406 #: src/view/screens/Moderation.tsx:123 407 407 msgid "Blocked accounts" ··· 473 473 474 474 #: src/view/com/modals/ServerInput.tsx:115 475 475 msgid "Button disabled. Input custom domain to proceed." 476 - msgstr "" 476 + msgstr "ボタンは無効です。続けるためにはカスタムドメインを入力してください。" 477 477 478 478 #: src/view/com/profile/ProfileSubpageHeader.tsx:157 479 479 msgid "by —" 480 - msgstr "" 480 + msgstr "作成者:-" 481 481 482 482 #: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:100 483 483 msgid "by {0}" 484 - msgstr "" 484 + msgstr "作成者:{0}" 485 485 486 486 #: src/view/com/profile/ProfileSubpageHeader.tsx:161 487 487 msgid "by <0/>" 488 - msgstr "" 488 + msgstr "作成者:<0/>" 489 489 490 490 #: src/view/com/profile/ProfileSubpageHeader.tsx:159 491 491 msgid "by you" 492 - msgstr "" 492 + msgstr "作成者:あなた" 493 493 494 494 #: src/view/com/composer/photos/OpenCameraBtn.tsx:60 495 495 #: src/view/com/util/UserAvatar.tsx:221 ··· 499 499 500 500 #: src/view/com/modals/AddAppPasswords.tsx:218 501 501 msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long." 502 - msgstr "文字、数字、スペース、ハイフン、およびアンダースコアのみが使用可能です。長さは4文字以上32文字以下である必要があります。" 502 + msgstr "英数字、スペース、ハイフン、アンダースコアのみが使用可能です。長さは4文字以上32文字以下である必要があります。" 503 503 504 504 #: src/components/Prompt.tsx:92 505 505 #: src/view/com/composer/Composer.tsx:300 ··· 527 527 #: src/view/com/modals/DeleteAccount.tsx:230 528 528 msgctxt "action" 529 529 msgid "Cancel" 530 - msgstr "" 530 + msgstr "キャンセル" 531 531 532 532 #: src/view/com/modals/DeleteAccount.tsx:148 533 533 #: src/view/com/modals/DeleteAccount.tsx:226 ··· 566 566 #: src/view/screens/Settings.tsx:334 567 567 msgctxt "action" 568 568 msgid "Change" 569 - msgstr "" 569 + msgstr "変更" 570 570 571 571 #: src/view/screens/Settings.tsx:306 572 572 #~ msgid "Change" ··· 587 587 588 588 #: src/view/com/composer/select-language/SuggestedLanguage.tsx:78 589 589 msgid "Change post language to {0}" 590 - msgstr "" 590 + msgstr "投稿の言語を{0}に変更します" 591 591 592 592 #: src/view/com/modals/ChangeEmail.tsx:109 593 593 msgid "Change Your Email" ··· 607 607 608 608 #: src/view/com/modals/Threadgate.tsx:72 609 609 msgid "Choose \"Everybody\" or \"Nobody\"" 610 - msgstr "「全員」と「返信不可」のどちらかを選択" 610 + msgstr "「全員」か「返信不可」のどちらかを選択" 611 611 612 612 #: src/view/screens/Settings.tsx:663 613 613 msgid "Choose a new Bluesky username or create" 614 - msgstr "" 614 + msgstr "Blueskyの別のユーザー名を選択するか、新規に作成します" 615 615 616 616 #: src/view/com/modals/ServerInput.tsx:38 617 617 msgid "Choose Service" ··· 651 651 652 652 #: src/view/screens/Support.tsx:40 653 653 msgid "click here" 654 - msgstr "" 654 + msgstr "こちらをクリック" 655 655 656 656 #: src/components/Dialog/index.web.tsx:78 657 657 msgid "Close active dialog" 658 - msgstr "" 658 + msgstr "アクティブなダイアログを閉じる" 659 659 660 660 #: src/view/com/auth/login/PasswordUpdatedForm.tsx:38 661 661 msgid "Close alert" ··· 679 679 680 680 #: src/view/shell/index.web.tsx:52 681 681 msgid "Closes bottom navigation bar" 682 - msgstr "" 682 + msgstr "下部のナビゲーションバーを閉じる" 683 683 684 684 #: src/view/com/auth/login/PasswordUpdatedForm.tsx:39 685 685 msgid "Closes password update alert" 686 - msgstr "" 686 + msgstr "パスワード更新アラートを閉じる" 687 687 688 688 #: src/view/com/composer/Composer.tsx:302 689 689 msgid "Closes post composer and discards post draft" 690 - msgstr "" 690 + msgstr "投稿の編集画面を閉じ、下書きを削除する" 691 691 692 692 #: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27 693 693 msgid "Closes viewer for header image" 694 - msgstr "" 694 + msgstr "ヘッダー画像のビューワーを閉じる" 695 695 696 696 #: src/view/com/notifications/FeedItem.tsx:321 697 697 msgid "Collapses list of users for a given notification" 698 - msgstr "" 698 + msgstr "指定した通知のユーザーリストを折りたたむ" 699 699 700 700 #: src/Navigation.tsx:227 701 701 #: src/view/screens/CommunityGuidelines.tsx:32 ··· 704 704 705 705 #: src/view/com/composer/Composer.tsx:417 706 706 msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length" 707 - msgstr "" 707 + msgstr "{MAX_GRAPHEME_LENGTH}文字までの投稿を作成" 708 708 709 709 #: src/view/com/composer/Prompt.tsx:24 710 710 msgid "Compose reply" ··· 724 724 #: src/view/com/modals/Confirm.tsx:78 725 725 msgctxt "action" 726 726 msgid "Confirm" 727 - msgstr "" 727 + msgstr "確認" 728 728 729 729 #: src/view/com/modals/ChangeEmail.tsx:193 730 730 #: src/view/com/modals/ChangeEmail.tsx:195 ··· 741 741 742 742 #: src/view/com/modals/ContentFilteringSettings.tsx:151 743 743 msgid "Confirm your age to enable adult content." 744 - msgstr "" 744 + msgstr "成人向けコンテンツを有効にするために年齢を確認してください。" 745 745 746 746 #: src/view/com/modals/ChangeEmail.tsx:157 747 747 #: src/view/com/modals/DeleteAccount.tsx:178 ··· 751 751 752 752 #: src/view/com/modals/Waitlist.tsx:120 753 753 msgid "Confirms signing up {email} to the waitlist" 754 - msgstr "" 754 + msgstr "{email}のWaitlistへの登録を確認" 755 755 756 756 #: src/view/com/auth/create/CreateAccount.tsx:175 757 757 #: src/view/com/auth/login/LoginForm.tsx:275 ··· 760 760 761 761 #: src/view/com/auth/create/CreateAccount.tsx:195 762 762 msgid "Contact support" 763 - msgstr "" 763 + msgstr "サポートに連絡" 764 764 765 765 #: src/view/screens/Moderation.tsx:81 766 766 msgid "Content filtering" ··· 777 777 778 778 #: src/view/com/modals/ModerationDetails.tsx:65 779 779 msgid "Content Not Available" 780 - msgstr "" 780 + msgstr "コンテンツはありません" 781 781 782 782 #: src/view/com/modals/ModerationDetails.tsx:33 783 783 #: src/view/com/util/moderation/ScreenHider.tsx:78 ··· 800 800 801 801 #: src/view/screens/Settings.tsx:243 802 802 msgid "Copied build version to clipboard" 803 - msgstr "" 803 + msgstr "ビルドバージョンをクリップボードにコピーしました" 804 804 805 805 #: src/view/com/modals/AddAppPasswords.tsx:75 806 806 #: src/view/com/modals/InviteCodes.tsx:152 807 807 #: src/view/com/util/forms/PostDropdownBtn.tsx:110 808 808 msgid "Copied to clipboard" 809 - msgstr "" 809 + msgstr "クリップボードにコピーしました" 810 810 811 811 #: src/view/com/modals/AddAppPasswords.tsx:191 812 812 msgid "Copies app password" 813 - msgstr "" 813 + msgstr "アプリパスワードをコピーします" 814 814 815 815 #: src/view/com/modals/AddAppPasswords.tsx:190 816 816 msgid "Copy" ··· 847 847 848 848 #: src/view/com/auth/create/Step2.tsx:89 849 849 msgid "Country" 850 - msgstr "" 850 + msgstr "国" 851 851 852 852 #: src/view/com/auth/HomeLoggedOutCTA.tsx:62 853 853 #: src/view/com/auth/SplashScreen.tsx:46 ··· 857 857 858 858 #: src/view/screens/Settings.tsx:384 859 859 msgid "Create a new Bluesky account" 860 - msgstr "" 860 + msgstr "新しいBlueskyアカウントを作成" 861 861 862 862 #: src/view/com/auth/create/CreateAccount.tsx:122 863 863 msgid "Create Account" ··· 865 865 866 866 #: src/view/com/modals/AddAppPasswords.tsx:228 867 867 msgid "Create App Password" 868 - msgstr "" 868 + msgstr "アプリパスワードを作成" 869 869 870 870 #: src/view/com/auth/HomeLoggedOutCTA.tsx:54 871 871 #: src/view/com/auth/SplashScreen.tsx:43 ··· 874 874 875 875 #: src/view/screens/AppPasswords.tsx:249 876 876 msgid "Created {0}" 877 - msgstr "作成済み {0}" 877 + msgstr "{0}を作成済み" 878 878 879 879 #: src/view/screens/ProfileFeed.tsx:625 880 880 msgid "Created by <0/>" 881 - msgstr "" 881 + msgstr "作成者:<0/>" 882 882 883 883 #: src/view/screens/ProfileFeed.tsx:623 884 884 msgid "Created by you" 885 - msgstr "" 885 + msgstr "作成者:あなた" 886 886 887 887 #: src/view/com/composer/Composer.tsx:448 888 888 msgid "Creates a card with a thumbnail. The card links to {url}" 889 - msgstr "" 889 + msgstr "サムネイル付きのカードを作成します。そのカードは次のアドレスへリンクします:{url}" 890 890 891 891 #: src/view/com/modals/ChangeHandle.tsx:389 892 892 #: src/view/com/modals/ServerInput.tsx:102 ··· 895 895 896 896 #: src/view/screens/PreferencesExternalEmbeds.tsx:55 897 897 msgid "Customize media from external sites." 898 - msgstr "" 898 + msgstr "外部サイトのメディアをカスタマイズします。" 899 899 900 900 #: src/view/screens/Settings.tsx:687 901 901 msgid "Danger Zone" ··· 903 903 904 904 #: src/view/screens/Settings.tsx:479 905 905 msgid "Dark" 906 - msgstr "" 906 + msgstr "ダーク" 907 907 908 908 #: src/view/screens/Debug.tsx:63 909 909 msgid "Dark mode" 910 - msgstr "" 910 + msgstr "ダークモード" 911 911 912 912 #: src/Navigation.tsx:204 913 913 #~ msgid "Debug" 914 - #~ msgstr "" 914 + #~ msgstr "デバッグ" 915 915 916 916 #: src/view/screens/Debug.tsx:83 917 917 msgid "Debug panel" 918 - msgstr "" 918 + msgstr "デバッグパネル" 919 919 920 920 #: src/view/screens/Settings.tsx:694 921 921 msgid "Delete account" ··· 953 953 954 954 #: src/view/com/util/post-embeds/QuoteEmbed.tsx:69 955 955 msgid "Deleted" 956 - msgstr "" 956 + msgstr "削除されています" 957 957 958 958 #: src/view/com/post-thread/PostThread.tsx:246 959 959 msgid "Deleted post." ··· 976 976 977 977 #: src/view/com/composer/Composer.tsx:211 978 978 msgid "Did you want to say anything?" 979 - msgstr "" 979 + msgstr "なにか言いたいことはあった?" 980 980 981 981 #: src/view/com/composer/Composer.tsx:144 982 982 msgid "Discard" ··· 993 993 #: src/view/com/posts/FollowingEmptyState.tsx:74 994 994 #: src/view/com/posts/FollowingEndOfFeed.tsx:75 995 995 msgid "Discover new custom feeds" 996 - msgstr "" 996 + msgstr "新しいカスタムフィードを見つける" 997 997 998 998 #: src/view/screens/Feeds.tsx:409 999 999 msgid "Discover new feeds" ··· 1013 1013 1014 1014 #: src/view/com/auth/create/Step1.tsx:114 1015 1015 msgid "Don't have an invite code?" 1016 - msgstr "" 1016 + msgstr "招待コードをお持ちでない場合" 1017 1017 1018 1018 #: src/view/com/auth/onboarding/RecommendedFollows.tsx:86 1019 1019 #: src/view/com/modals/EditImage.tsx:333 ··· 1026 1026 #: src/view/screens/PreferencesThreads.tsx:162 1027 1027 msgctxt "action" 1028 1028 msgid "Done" 1029 - msgstr "" 1029 + msgstr "完了" 1030 1030 1031 1031 #: src/view/com/modals/AddAppPasswords.tsx:228 1032 1032 #: src/view/com/modals/AltImage.tsx:115 ··· 1046 1046 1047 1047 #: src/view/com/auth/login/ChooseAccountForm.tsx:45 1048 1048 msgid "Double tap to sign in" 1049 - msgstr "" 1049 + msgstr "ダブルタップでサインイン" 1050 1050 1051 1051 #: src/view/com/modals/EditProfile.tsx:185 1052 1052 msgid "e.g. Alice Roberts" 1053 - msgstr "" 1053 + msgstr "例:山田 太郎" 1054 1054 1055 1055 #: src/view/com/modals/EditProfile.tsx:203 1056 1056 msgid "e.g. Artist, dog-lover, and avid reader." 1057 - msgstr "" 1057 + msgstr "例:アーティスト、犬好き、熱烈な読書愛好家。" 1058 1058 1059 1059 #: src/view/com/modals/CreateOrEditList.tsx:223 1060 1060 msgid "e.g. Great Posters" 1061 - msgstr "" 1061 + msgstr "例:重要な投稿をするユーザー" 1062 1062 1063 1063 #: src/view/com/modals/CreateOrEditList.tsx:224 1064 1064 msgid "e.g. Spammers" 1065 - msgstr "" 1065 + msgstr "例:スパム" 1066 1066 1067 1067 #: src/view/com/modals/CreateOrEditList.tsx:244 1068 1068 msgid "e.g. The posters who never miss." 1069 - msgstr "" 1069 + msgstr "例:絶対に投稿を見逃してはならないユーザー。" 1070 1070 1071 1071 #: src/view/com/modals/CreateOrEditList.tsx:245 1072 1072 msgid "e.g. Users that repeatedly reply with ads." 1073 - msgstr "" 1073 + msgstr "例:返信として広告を繰り返し送ってくるユーザー。" 1074 1074 1075 1075 #: src/view/com/modals/InviteCodes.tsx:96 1076 1076 msgid "Each code works once. You'll receive more invite codes periodically." ··· 1079 1079 #: src/view/com/lists/ListMembers.tsx:149 1080 1080 msgctxt "action" 1081 1081 msgid "Edit" 1082 - msgstr "" 1082 + msgstr "編集" 1083 1083 1084 1084 #: src/view/com/composer/photos/Gallery.tsx:144 1085 1085 #: src/view/com/modals/EditImage.tsx:207 ··· 1092 1092 1093 1093 #: src/view/com/modals/CreateOrEditList.tsx:192 1094 1094 msgid "Edit Moderation List" 1095 - msgstr "" 1095 + msgstr "モデレーションリストを編集" 1096 1096 1097 1097 #: src/Navigation.tsx:242 1098 1098 #: src/view/screens/Feeds.tsx:371 ··· 1118 1118 1119 1119 #: src/view/com/modals/CreateOrEditList.tsx:187 1120 1120 msgid "Edit User List" 1121 - msgstr "" 1121 + msgstr "ユーザーリストを編集" 1122 1122 1123 1123 #: src/view/com/modals/EditProfile.tsx:193 1124 1124 msgid "Edit your display name" 1125 - msgstr "" 1125 + msgstr "あなたの表示名を編集します" 1126 1126 1127 1127 #: src/view/com/modals/EditProfile.tsx:211 1128 1128 msgid "Edit your profile description" 1129 - msgstr "" 1129 + msgstr "あなたのプロフィールの説明を編集します" 1130 1130 1131 1131 #: src/view/com/auth/create/Step1.tsx:143 1132 1132 #: src/view/com/auth/create/Step2.tsx:192 ··· 1145 1145 #: src/view/com/modals/ChangeEmail.tsx:56 1146 1146 #: src/view/com/modals/ChangeEmail.tsx:88 1147 1147 msgid "Email updated" 1148 - msgstr "" 1148 + msgstr "メールアドレスは更新されました" 1149 1149 1150 1150 #: src/view/com/modals/ChangeEmail.tsx:111 1151 1151 msgid "Email Updated" 1152 - msgstr "メールアドレスを更新" 1152 + msgstr "メールアドレスは更新されました" 1153 1153 1154 1154 #: src/view/com/modals/VerifyEmail.tsx:78 1155 1155 msgid "Email verified" 1156 - msgstr "" 1156 + msgstr "メールアドレスは認証されました" 1157 1157 1158 1158 #: src/view/screens/Settings.tsx:312 1159 1159 msgid "Email:" ··· 1161 1161 1162 1162 #: src/view/com/modals/EmbedConsent.tsx:113 1163 1163 msgid "Enable {0} only" 1164 - msgstr "" 1164 + msgstr "{0}のみ有効にする" 1165 1165 1166 1166 #: src/view/com/modals/ContentFilteringSettings.tsx:162 1167 1167 msgid "Enable Adult Content" 1168 - msgstr "" 1168 + msgstr "成人向けコンテンツを有効にする" 1169 1169 1170 1170 #: src/view/com/modals/EmbedConsent.tsx:97 1171 1171 msgid "Enable External Media" 1172 - msgstr "" 1172 + msgstr "外部メディアを有効にする" 1173 1173 1174 1174 #: src/view/screens/PreferencesExternalEmbeds.tsx:75 1175 1175 msgid "Enable media players for" 1176 - msgstr "" 1176 + msgstr "有効にするメディアプレイヤー" 1177 1177 1178 1178 #: src/view/screens/PreferencesHomeFeed.tsx:147 1179 1179 msgid "Enable this setting to only see replies between people you follow." ··· 1185 1185 1186 1186 #: src/view/com/modals/AddAppPasswords.tsx:165 1187 1187 msgid "Enter a name for this App Password" 1188 - msgstr "" 1188 + msgstr "このアプリパスワードの名前を入力" 1189 1189 1190 1190 #: src/view/com/modals/VerifyEmail.tsx:105 1191 1191 msgid "Enter Confirmation Code" 1192 - msgstr "" 1192 + msgstr "確認コードを入力してください" 1193 1193 1194 1194 #: src/view/com/auth/create/Step1.tsx:71 1195 1195 #~ msgid "Enter the address of your provider:" ··· 1206 1206 #: src/view/com/auth/create/Step1.tsx:195 1207 1207 #: src/view/com/modals/BirthDateSettings.tsx:74 1208 1208 msgid "Enter your birth date" 1209 - msgstr "" 1209 + msgstr "誕生日を入力してください" 1210 1210 1211 1211 #: src/view/com/modals/Waitlist.tsx:78 1212 1212 msgid "Enter your email" 1213 - msgstr "" 1213 + msgstr "メールアドレスを入力してください" 1214 1214 1215 1215 #: src/view/com/auth/create/Step1.tsx:139 1216 1216 msgid "Enter your email address" ··· 1218 1218 1219 1219 #: src/view/com/modals/ChangeEmail.tsx:41 1220 1220 msgid "Enter your new email above" 1221 - msgstr "" 1221 + msgstr "上記に新しいメールアドレスを入力してください" 1222 1222 1223 1223 #: src/view/com/modals/ChangeEmail.tsx:117 1224 1224 msgid "Enter your new email address below." ··· 1226 1226 1227 1227 #: src/view/com/auth/create/Step2.tsx:186 1228 1228 msgid "Enter your phone number" 1229 - msgstr "" 1229 + msgstr "電話番号を入力" 1230 1230 1231 1231 #: src/view/com/auth/login/Login.tsx:99 1232 1232 msgid "Enter your username and password" 1233 - msgstr "ユーザー名とパスワードを入力" 1233 + msgstr "ユーザー名とパスワードを入力してください" 1234 1234 1235 1235 #: src/view/screens/Search/Search.tsx:107 1236 1236 msgid "Error:" ··· 1242 1242 1243 1243 #: src/view/com/modals/ChangeHandle.tsx:150 1244 1244 msgid "Exits handle change process" 1245 - msgstr "" 1245 + msgstr "ハンドルの変更を終了" 1246 1246 1247 1247 #: src/view/com/lightbox/Lightbox.web.tsx:113 1248 1248 msgid "Exits image view" 1249 - msgstr "" 1249 + msgstr "画像表示を終了" 1250 1250 1251 1251 #: src/view/com/modals/ListAddRemoveUsers.tsx:88 1252 1252 #: src/view/shell/desktop/Search.tsx:235 1253 1253 msgid "Exits inputting search query" 1254 - msgstr "" 1254 + msgstr "検索クエリの入力を終了" 1255 1255 1256 1256 #: src/view/com/modals/Waitlist.tsx:138 1257 1257 msgid "Exits signing up for waitlist with {email}" 1258 - msgstr "" 1258 + msgstr "{email}でWaitlistへの登録を終了" 1259 1259 1260 1260 #: src/view/com/lightbox/Lightbox.web.tsx:156 1261 1261 msgid "Expand alt text" ··· 1264 1264 #: src/view/com/composer/ComposerReplyTo.tsx:81 1265 1265 #: src/view/com/composer/ComposerReplyTo.tsx:84 1266 1266 msgid "Expand or collapse the full post you are replying to" 1267 - msgstr "" 1267 + msgstr "返信する投稿全体を展開または折りたたむ" 1268 1268 1269 1269 #: src/view/com/modals/EmbedConsent.tsx:64 1270 1270 msgid "External Media" 1271 - msgstr "" 1271 + msgstr "外部メディア" 1272 1272 1273 1273 #: src/view/com/modals/EmbedConsent.tsx:75 1274 1274 #: src/view/screens/PreferencesExternalEmbeds.tsx:66 1275 1275 msgid "External media may allow websites to collect information about you and your device. No information is sent or requested until you press the \"play\" button." 1276 - msgstr "" 1276 + msgstr "外部メディアを有効にすると、それらのメディアのウェブサイトがあなたやお使いのデバイスに関する情報を収集する場合があります。その場合でも、あなたが「再生」ボタンを押すまで情報は送信されず、要求もされません。" 1277 1277 1278 1278 #: src/Navigation.tsx:258 1279 1279 #: src/view/screens/PreferencesExternalEmbeds.tsx:52 1280 1280 #: src/view/screens/Settings.tsx:623 1281 1281 msgid "External Media Preferences" 1282 - msgstr "" 1282 + msgstr "外部メディアの設定" 1283 1283 1284 1284 #: src/view/screens/Settings.tsx:614 1285 1285 msgid "External media settings" 1286 - msgstr "" 1286 + msgstr "外部メディアの設定" 1287 1287 1288 1288 #: src/view/com/modals/AddAppPasswords.tsx:114 1289 1289 #: src/view/com/modals/AddAppPasswords.tsx:118 1290 1290 msgid "Failed to create app password." 1291 - msgstr "" 1291 + msgstr "アプリパスワードの作成に失敗しました。" 1292 1292 1293 1293 #: src/view/com/modals/CreateOrEditList.tsx:148 1294 1294 msgid "Failed to create the list. Check your internet connection and try again." 1295 - msgstr "" 1295 + msgstr "リストの作成に失敗しました。インターネットへの接続を確認の上、もう一度お試しください。" 1296 1296 1297 1297 #: src/view/com/util/forms/PostDropdownBtn.tsx:86 1298 1298 msgid "Failed to delete post, please try again" 1299 - msgstr "" 1299 + msgstr "投稿の削除に失敗しました。もう一度お試しください。" 1300 1300 1301 1301 #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:109 1302 1302 #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:141 ··· 1305 1305 1306 1306 #: src/Navigation.tsx:192 1307 1307 msgid "Feed" 1308 - msgstr "" 1308 + msgstr "フィード" 1309 1309 1310 1310 #: src/view/com/feeds/FeedSourceCard.tsx:229 1311 1311 msgid "Feed by {0}" 1312 - msgstr "" 1312 + msgstr "{0}によるフィード" 1313 1313 1314 1314 #: src/view/screens/Feeds.tsx:560 1315 1315 msgid "Feed offline" ··· 1346 1346 #: src/view/com/posts/FollowingEmptyState.tsx:57 1347 1347 #: src/view/com/posts/FollowingEndOfFeed.tsx:58 1348 1348 msgid "Find accounts to follow" 1349 - msgstr "" 1349 + msgstr "フォローするアカウントを探す" 1350 1350 1351 1351 #: src/view/screens/Search/Search.tsx:429 1352 1352 msgid "Find users on Bluesky" ··· 1370 1370 1371 1371 #: src/view/com/modals/EditImage.tsx:115 1372 1372 msgid "Flip horizontal" 1373 - msgstr "" 1373 + msgstr "水平方向に反転" 1374 1374 1375 1375 #: src/view/com/modals/EditImage.tsx:120 1376 1376 #: src/view/com/modals/EditImage.tsx:287 1377 1377 msgid "Flip vertically" 1378 - msgstr "" 1378 + msgstr "垂直方向に反転" 1379 1379 1380 1380 #: src/view/com/profile/FollowButton.tsx:64 1381 1381 msgctxt "action" 1382 1382 msgid "Follow" 1383 - msgstr "" 1383 + msgstr "フォロー" 1384 1384 1385 1385 #: src/view/com/profile/ProfileHeader.tsx:552 1386 1386 msgid "Follow" ··· 1388 1388 1389 1389 #: src/view/com/profile/ProfileHeader.tsx:543 1390 1390 msgid "Follow {0}" 1391 - msgstr "" 1391 + msgstr "{0}をフォロー" 1392 1392 1393 1393 #: src/view/com/auth/onboarding/RecommendedFollows.tsx:64 1394 1394 msgid "Follow some users to get started. We can recommend you more users based on who you find interesting." ··· 1396 1396 1397 1397 #: src/view/com/profile/ProfileCard.tsx:194 1398 1398 msgid "Followed by {0}" 1399 - msgstr "" 1399 + msgstr "{0}がフォロー中" 1400 1400 1401 1401 #: src/view/com/modals/Threadgate.tsx:98 1402 1402 msgid "Followed users" ··· 1408 1408 1409 1409 #: src/view/com/notifications/FeedItem.tsx:166 1410 1410 msgid "followed you" 1411 - msgstr "" 1411 + msgstr "あなたをフォローしました" 1412 1412 1413 1413 #: src/view/screens/ProfileFollowers.tsx:25 1414 1414 msgid "Followers" ··· 1425 1425 1426 1426 #: src/view/com/profile/ProfileHeader.tsx:196 1427 1427 msgid "Following {0}" 1428 - msgstr "" 1428 + msgstr "{0}をフォローしています" 1429 1429 1430 1430 #: src/view/com/profile/ProfileHeader.tsx:585 1431 1431 msgid "Follows you" ··· 1433 1433 1434 1434 #: src/view/com/profile/ProfileCard.tsx:141 1435 1435 msgid "Follows You" 1436 - msgstr "" 1436 + msgstr "あなたをフォロー" 1437 1437 1438 1438 #: src/view/com/modals/DeleteAccount.tsx:107 1439 1439 msgid "For security reasons, we'll need to send a confirmation code to your email address." 1440 - msgstr "セキュリティ上の理由から、メールアドレスに確認コードを送信する必要があります。" 1440 + msgstr "セキュリティ上の理由から、あなたのメールアドレスに確認コードを送信する必要があります。" 1441 1441 1442 1442 #: src/view/com/modals/AddAppPasswords.tsx:211 1443 1443 msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one." ··· 1459 1459 #: src/view/com/posts/FeedItem.tsx:188 1460 1460 msgctxt "from-feed" 1461 1461 msgid "From <0/>" 1462 - msgstr "" 1462 + msgstr "<0/>から" 1463 1463 1464 1464 #: src/view/com/composer/photos/SelectPhotoBtn.tsx:43 1465 1465 msgid "Gallery" ··· 1487 1487 #: src/view/screens/Search/Search.tsx:640 1488 1488 #: src/view/shell/desktop/Search.tsx:262 1489 1489 msgid "Go to @{queryMaybeHandle}" 1490 - msgstr "" 1490 + msgstr "@{queryMaybeHandle}へ" 1491 1491 1492 1492 #: src/view/com/auth/login/ForgotPasswordForm.tsx:185 1493 1493 #: src/view/com/auth/login/LoginForm.tsx:285 ··· 1501 1501 1502 1502 #: src/view/com/auth/create/CreateAccount.tsx:190 1503 1503 msgid "Having trouble?" 1504 - msgstr "" 1504 + msgstr "何か問題が発生しましたか?" 1505 1505 1506 1506 #: src/view/shell/desktop/RightNav.tsx:102 1507 1507 #: src/view/shell/Drawer.tsx:324 ··· 1516 1516 #: src/view/com/notifications/FeedItem.tsx:329 1517 1517 msgctxt "action" 1518 1518 msgid "Hide" 1519 - msgstr "" 1519 + msgstr "非表示" 1520 1520 1521 1521 #: src/view/com/modals/ContentFilteringSettings.tsx:246 1522 1522 #: src/view/com/util/moderation/ContentHider.tsx:105 ··· 1526 1526 1527 1527 #: src/view/com/util/forms/PostDropdownBtn.tsx:185 1528 1528 msgid "Hide post" 1529 - msgstr "投稿を非表示にする" 1529 + msgstr "投稿を非表示" 1530 1530 1531 1531 #: src/view/com/util/moderation/ContentHider.tsx:67 1532 1532 #: src/view/com/util/moderation/PostHider.tsx:61 1533 1533 msgid "Hide the content" 1534 - msgstr "" 1534 + msgstr "コンテンツを非表示" 1535 1535 1536 1536 #: src/view/com/util/forms/PostDropdownBtn.tsx:189 1537 1537 msgid "Hide this post?" ··· 1543 1543 1544 1544 #: src/view/com/profile/ProfileHeader.tsx:526 1545 1545 msgid "Hides posts from {0} in your feed" 1546 - msgstr "" 1546 + msgstr "{0}の投稿をあなたのフィードで非表示にします" 1547 1547 1548 1548 #: src/view/com/posts/FeedErrorMessage.tsx:111 1549 1549 msgid "Hmm, some kind of issue occurred when contacting the feed server. Please let the feed owner know about this issue." ··· 1591 1591 1592 1592 #: src/view/com/modals/InAppBrowserConsent.tsx:44 1593 1593 msgid "How should we open this link?" 1594 - msgstr "" 1594 + msgstr "このリンクをどのように開きますか?" 1595 1595 1596 1596 #: src/view/com/modals/VerifyEmail.tsx:214 1597 1597 msgid "I have a code" ··· 1599 1599 1600 1600 #: src/view/com/modals/VerifyEmail.tsx:216 1601 1601 msgid "I have a confirmation code" 1602 - msgstr "" 1602 + msgstr "確認コードを持っています" 1603 1603 1604 1604 #: src/view/com/modals/ChangeHandle.tsx:283 1605 1605 msgid "I have my own domain" ··· 1607 1607 1608 1608 #: src/view/com/lightbox/Lightbox.web.tsx:158 1609 1609 msgid "If alt text is long, toggles alt text expanded state" 1610 - msgstr "" 1610 + msgstr "ALTテキストが長い場合、ALTテキストの展開状態を切り替える" 1611 1611 1612 1612 #: src/view/com/modals/SelfLabel.tsx:127 1613 1613 msgid "If none are selected, suitable for all ages." ··· 1615 1615 1616 1616 #: src/view/com/util/images/Gallery.tsx:37 1617 1617 msgid "Image" 1618 - msgstr "" 1618 + msgstr "画像" 1619 1619 1620 1620 #: src/view/com/modals/AltImage.tsx:97 1621 1621 msgid "Image alt text" ··· 1628 1628 1629 1629 #: src/view/com/auth/login/SetNewPasswordForm.tsx:110 1630 1630 msgid "Input code sent to your email for password reset" 1631 - msgstr "" 1631 + msgstr "パスワードをリセットするためにあなたのメールアドレスに送られたコードを入力" 1632 1632 1633 1633 #: src/view/com/modals/DeleteAccount.tsx:180 1634 1634 msgid "Input confirmation code for account deletion" 1635 - msgstr "" 1635 + msgstr "アカウント削除のために確認コードを入力" 1636 1636 1637 1637 #: src/view/com/auth/create/Step1.tsx:144 1638 1638 msgid "Input email for Bluesky account" 1639 - msgstr "" 1639 + msgstr "Blueskyアカウント用のメールアドレスを入力してください" 1640 1640 1641 1641 #: src/view/com/auth/create/Step2.tsx:109 1642 1642 #~ msgid "Input email for Bluesky waitlist" 1643 - #~ msgstr "" 1643 + #~ msgstr "BlueskyのWaitlistのためのメールアドレスを入力" 1644 1644 1645 1645 #: src/view/com/auth/create/Step1.tsx:80 1646 1646 #~ msgid "Input hosting provider address" 1647 - #~ msgstr "" 1647 + #~ msgstr "ホスティングプロバイダーのアドレスを入力" 1648 1648 1649 1649 #: src/view/com/auth/create/Step1.tsx:102 1650 1650 msgid "Input invite code to proceed" 1651 - msgstr "" 1651 + msgstr "招待コードを入力して次に進む" 1652 1652 1653 1653 #: src/view/com/modals/AddAppPasswords.tsx:182 1654 1654 msgid "Input name for app password" 1655 - msgstr "" 1655 + msgstr "アプリパスワードの名前を入力" 1656 1656 1657 1657 #: src/view/com/auth/login/SetNewPasswordForm.tsx:133 1658 1658 msgid "Input new password" 1659 - msgstr "" 1659 + msgstr "新しいパスワードを入力" 1660 1660 1661 1661 #: src/view/com/modals/DeleteAccount.tsx:199 1662 1662 msgid "Input password for account deletion" 1663 - msgstr "" 1663 + msgstr "アカウント削除のためにパスワードを入力" 1664 1664 1665 1665 #: src/view/com/auth/create/Step2.tsx:194 1666 1666 msgid "Input phone number for SMS verification" 1667 - msgstr "" 1667 + msgstr "SMS認証に用いる電話番号を入力" 1668 1668 1669 1669 #: src/view/com/auth/login/LoginForm.tsx:227 1670 1670 msgid "Input the password tied to {identifier}" 1671 - msgstr "" 1671 + msgstr "{identifier}に紐づくパスワードを入力" 1672 1672 1673 1673 #: src/view/com/auth/login/LoginForm.tsx:194 1674 1674 msgid "Input the username or email address you used at signup" 1675 - msgstr "" 1675 + msgstr "サインアップ時に使用したユーザー名またはメールアドレスを入力" 1676 1676 1677 1677 #: src/view/com/auth/create/Step2.tsx:268 1678 1678 msgid "Input the verification code we have texted to you" 1679 - msgstr "" 1679 + msgstr "テキストメッセージで送られてきた認証コードを入力してください" 1680 1680 1681 1681 #: src/view/com/modals/Waitlist.tsx:90 1682 1682 msgid "Input your email to get on the Bluesky waitlist" 1683 - msgstr "" 1683 + msgstr "BlueskyのWaitlistに登録するメールアドレスを入力" 1684 1684 1685 1685 #: src/view/com/auth/login/LoginForm.tsx:226 1686 1686 msgid "Input your password" 1687 - msgstr "" 1687 + msgstr "あなたのパスワードを入力" 1688 1688 1689 1689 #: src/view/com/auth/create/Step3.tsx:39 1690 1690 msgid "Input your user handle" 1691 - msgstr "" 1691 + msgstr "あなたのユーザーハンドルを入力" 1692 1692 1693 1693 #: src/view/com/post-thread/PostThreadItem.tsx:229 1694 1694 msgid "Invalid or unsupported post record" 1695 - msgstr "" 1695 + msgstr "無効またはサポートされていない投稿のレコード" 1696 1696 1697 1697 #: src/view/com/auth/login/LoginForm.tsx:115 1698 1698 msgid "Invalid username or password" ··· 1718 1718 1719 1719 #: src/view/com/modals/InviteCodes.tsx:170 1720 1720 msgid "Invite codes: {0} available" 1721 - msgstr "" 1721 + msgstr "招待コード:{0}個使用可能" 1722 1722 1723 1723 #: src/view/shell/Drawer.tsx:645 1724 1724 msgid "Invite codes: {invitesAvailable} available" ··· 1726 1726 1727 1727 #: src/view/com/modals/InviteCodes.tsx:169 1728 1728 msgid "Invite codes: 1 available" 1729 - msgstr "" 1729 + msgstr "招待コード:1個使用可能" 1730 1730 1731 1731 #: src/view/com/auth/HomeLoggedOutCTA.tsx:99 1732 1732 msgid "Jobs" ··· 1751 1751 1752 1752 #: src/view/screens/Settings.tsx:560 1753 1753 msgid "Language settings" 1754 - msgstr "" 1754 + msgstr "言語の設定" 1755 1755 1756 1756 #: src/Navigation.tsx:139 1757 1757 #: src/view/screens/LanguageSettings.tsx:89 ··· 1764 1764 1765 1765 #: src/view/com/auth/create/StepHeader.tsx:20 1766 1766 msgid "Last step!" 1767 - msgstr "" 1767 + msgstr "最後のステップ!" 1768 1768 1769 1769 #: src/view/com/util/moderation/ContentHider.tsx:103 1770 1770 msgid "Learn more" ··· 1798 1798 1799 1799 #: src/view/screens/Settings.tsx:280 1800 1800 msgid "Legacy storage cleared, you need to restart the app now." 1801 - msgstr "" 1801 + msgstr "レガシーストレージがクリアされたため、今すぐアプリを再起動する必要があります。" 1802 1802 1803 1803 #: src/view/com/auth/login/Login.tsx:128 1804 1804 #: src/view/com/auth/login/Login.tsx:144 ··· 1812 1812 1813 1813 #: src/view/screens/Settings.tsx:473 1814 1814 msgid "Light" 1815 - msgstr "" 1815 + msgstr "ライト" 1816 1816 1817 1817 #: src/view/com/util/post-ctrls/PostCtrls.tsx:189 1818 1818 msgid "Like" 1819 - msgstr "" 1819 + msgstr "いいね" 1820 1820 1821 1821 #: src/view/screens/ProfileFeed.tsx:600 1822 1822 msgid "Like this feed" ··· 1830 1830 1831 1831 #: src/view/com/feeds/FeedSourceCard.tsx:277 1832 1832 msgid "Liked by {0} {1}" 1833 - msgstr "" 1833 + msgstr "{0} {1}にいいねされました" 1834 1834 1835 1835 #: src/view/screens/ProfileFeed.tsx:615 1836 1836 msgid "Liked by {likeCount} {0}" 1837 - msgstr "" 1837 + msgstr "いいねしたユーザー:{likeCount}人" 1838 1838 1839 1839 #: src/view/com/notifications/FeedItem.tsx:171 1840 1840 msgid "liked your custom feed{0}" 1841 - msgstr "" 1841 + msgstr "{0}にあなたのカスタムフィールドがいいねされました" 1842 1842 1843 1843 #: src/view/com/notifications/FeedItem.tsx:155 1844 1844 msgid "liked your post" 1845 - msgstr "" 1845 + msgstr "あなたの投稿がいいねされました" 1846 1846 1847 1847 #: src/view/screens/Profile.tsx:164 1848 1848 msgid "Likes" ··· 1850 1850 1851 1851 #: src/view/com/post-thread/PostThreadItem.tsx:184 1852 1852 msgid "Likes on this post" 1853 - msgstr "" 1853 + msgstr "この投稿をいいねする" 1854 1854 1855 1855 #: src/view/screens/Moderation.tsx:203 1856 1856 #~ msgid "Limit the visibility of my account to logged-out users" ··· 1858 1858 1859 1859 #: src/Navigation.tsx:166 1860 1860 msgid "List" 1861 - msgstr "" 1861 + msgstr "リスト" 1862 1862 1863 1863 #: src/view/com/modals/CreateOrEditList.tsx:203 1864 1864 msgid "List Avatar" ··· 1866 1866 1867 1867 #: src/view/screens/ProfileList.tsx:323 1868 1868 msgid "List blocked" 1869 - msgstr "" 1869 + msgstr "リストをブロックしました" 1870 1870 1871 1871 #: src/view/com/feeds/FeedSourceCard.tsx:231 1872 1872 msgid "List by {0}" 1873 - msgstr "" 1873 + msgstr "{0}によるリスト" 1874 1874 1875 1875 #: src/view/screens/ProfileList.tsx:367 1876 1876 msgid "List deleted" 1877 - msgstr "" 1877 + msgstr "リストを削除しました" 1878 1878 1879 1879 #: src/view/screens/ProfileList.tsx:282 1880 1880 msgid "List muted" 1881 - msgstr "" 1881 + msgstr "リストをミュートしました" 1882 1882 1883 1883 #: src/view/com/modals/CreateOrEditList.tsx:216 1884 1884 msgid "List Name" ··· 1886 1886 1887 1887 #: src/view/screens/ProfileList.tsx:342 1888 1888 msgid "List unblocked" 1889 - msgstr "" 1889 + msgstr "リストのブロックを解除しました" 1890 1890 1891 1891 #: src/view/screens/ProfileList.tsx:301 1892 1892 msgid "List unmuted" 1893 - msgstr "" 1893 + msgstr "リストのミュートを解除しました" 1894 1894 1895 1895 #: src/Navigation.tsx:109 1896 1896 #: src/view/screens/Profile.tsx:166 ··· 1926 1926 1927 1927 #: src/Navigation.tsx:207 1928 1928 msgid "Log" 1929 - msgstr "" 1929 + msgstr "ログ" 1930 1930 1931 1931 #: src/view/screens/Moderation.tsx:134 1932 1932 #~ msgid "Logged-out users" ··· 1971 1971 1972 1972 #: src/view/com/posts/FeedErrorMessage.tsx:197 1973 1973 msgid "Message from server: {0}" 1974 - msgstr "" 1974 + msgstr "サーバーからのメッセージ:{0}" 1975 1975 1976 1976 #: src/Navigation.tsx:114 1977 1977 #: src/view/screens/Moderation.tsx:64 ··· 1985 1985 #: src/view/com/lists/ListCard.tsx:92 1986 1986 #: src/view/com/modals/UserAddRemoveLists.tsx:190 1987 1987 msgid "Moderation list by {0}" 1988 - msgstr "" 1988 + msgstr "{0}の作成したモデレーションリスト" 1989 1989 1990 1990 #: src/view/screens/ProfileList.tsx:753 1991 1991 msgid "Moderation list by <0/>" 1992 - msgstr "" 1992 + msgstr "<0/>の作成したモデレーションリスト" 1993 1993 1994 1994 #: src/view/com/lists/ListCard.tsx:90 1995 1995 #: src/view/com/modals/UserAddRemoveLists.tsx:188 1996 1996 #: src/view/screens/ProfileList.tsx:751 1997 1997 msgid "Moderation list by you" 1998 - msgstr "" 1998 + msgstr "あなたの作成したモデレーションリスト" 1999 1999 2000 2000 #: src/view/com/modals/CreateOrEditList.tsx:139 2001 2001 msgid "Moderation list created" 2002 - msgstr "" 2002 + msgstr "モデレーションリストを作成しました" 2003 2003 2004 2004 #: src/view/com/modals/CreateOrEditList.tsx:126 2005 2005 msgid "Moderation list updated" 2006 - msgstr "" 2006 + msgstr "モデレーションリストを更新しました" 2007 2007 2008 2008 #: src/view/screens/Moderation.tsx:95 2009 2009 msgid "Moderation lists" ··· 2016 2016 2017 2017 #: src/view/screens/Settings.tsx:585 2018 2018 msgid "Moderation settings" 2019 - msgstr "" 2019 + msgstr "モデレーションの設定" 2020 2020 2021 2021 #: src/view/com/modals/ModerationDetails.tsx:35 2022 2022 msgid "Moderator has chosen to set a general warning on the content." 2023 - msgstr "" 2023 + msgstr "モデレーターはその投稿に一般的な警告の設定を選択しました。" 2024 2024 2025 2025 #: src/view/shell/desktop/Feeds.tsx:53 2026 2026 msgid "More feeds" ··· 2034 2034 2035 2035 #: src/view/com/util/forms/PostDropdownBtn.tsx:268 2036 2036 msgid "More post options" 2037 - msgstr "" 2037 + msgstr "そのほかの投稿のオプション" 2038 2038 2039 2039 #: src/view/screens/PreferencesThreads.tsx:82 2040 2040 msgid "Most-liked replies first" ··· 2058 2058 2059 2059 #: src/view/screens/ProfileList.tsx:278 2060 2060 msgid "Mute this List" 2061 - msgstr "" 2061 + msgstr "このリストをミュート" 2062 2062 2063 2063 #: src/view/com/util/forms/PostDropdownBtn.tsx:169 2064 2064 msgid "Mute thread" ··· 2066 2066 2067 2067 #: src/view/com/lists/ListCard.tsx:101 2068 2068 msgid "Muted" 2069 - msgstr "" 2069 + msgstr "ミュートされています" 2070 2070 2071 2071 #: src/view/screens/Moderation.tsx:109 2072 2072 msgid "Muted accounts" ··· 2108 2108 2109 2109 #: src/view/com/modals/CreateOrEditList.tsx:108 2110 2110 msgid "Name is required" 2111 - msgstr "" 2111 + msgstr "名前は必須です" 2112 2112 2113 2113 #: src/view/com/auth/login/ForgotPasswordForm.tsx:186 2114 2114 #: src/view/com/auth/login/LoginForm.tsx:286 2115 2115 #: src/view/com/auth/login/SetNewPasswordForm.tsx:166 2116 2116 msgid "Navigates to the next screen" 2117 - msgstr "" 2117 + msgstr "次の画面に移動します" 2118 2118 2119 2119 #: src/view/shell/Drawer.tsx:73 2120 2120 msgid "Navigates to your profile" 2121 - msgstr "" 2121 + msgstr "あなたのプロフィールに移動します" 2122 2122 2123 2123 #: src/view/com/modals/EmbedConsent.tsx:107 2124 2124 #: src/view/com/modals/EmbedConsent.tsx:123 2125 2125 msgid "Never load embeds from {0}" 2126 - msgstr "" 2126 + msgstr "{0}からの埋め込みを表示しない" 2127 2127 2128 2128 #: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72 2129 2129 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:72 ··· 2133 2133 #: src/view/screens/Lists.tsx:76 2134 2134 msgctxt "action" 2135 2135 msgid "New" 2136 - msgstr "" 2136 + msgstr "新規" 2137 2137 2138 2138 #: src/view/screens/ModerationModlists.tsx:78 2139 2139 msgid "New" ··· 2141 2141 2142 2142 #: src/view/com/modals/CreateOrEditList.tsx:194 2143 2143 msgid "New Moderation List" 2144 - msgstr "" 2144 + msgstr "新しいモデレーションリスト" 2145 2145 2146 2146 #: src/view/com/auth/login/SetNewPasswordForm.tsx:122 2147 2147 msgid "New password" 2148 - msgstr "" 2148 + msgstr "新しいパスワード" 2149 2149 2150 2150 #: src/view/com/feeds/FeedPage.tsx:201 2151 2151 msgctxt "action" 2152 2152 msgid "New post" 2153 - msgstr "" 2153 + msgstr "新しい投稿" 2154 2154 2155 2155 #: src/view/screens/Feeds.tsx:511 2156 2156 #: src/view/screens/Profile.tsx:354 ··· 2164 2164 #: src/view/shell/desktop/LeftNav.tsx:258 2165 2165 msgctxt "action" 2166 2166 msgid "New Post" 2167 - msgstr "" 2167 + msgstr "新しい投稿" 2168 2168 2169 2169 #: src/view/shell/desktop/LeftNav.tsx:258 2170 2170 #~ msgid "New Post" ··· 2172 2172 2173 2173 #: src/view/com/modals/CreateOrEditList.tsx:189 2174 2174 msgid "New User List" 2175 - msgstr "" 2175 + msgstr "新しいユーザーリスト" 2176 2176 2177 2177 #: src/view/screens/PreferencesThreads.tsx:79 2178 2178 msgid "Newest replies first" ··· 2191 2191 #: src/view/com/auth/onboarding/WelcomeDesktop.tsx:103 2192 2192 msgctxt "action" 2193 2193 msgid "Next" 2194 - msgstr "" 2194 + msgstr "次へ" 2195 2195 2196 2196 #: src/view/com/lightbox/Lightbox.web.tsx:142 2197 2197 msgid "Next image" ··· 2213 2213 2214 2214 #: src/view/com/profile/ProfileHeader.tsx:217 2215 2215 msgid "No longer following {0}" 2216 - msgstr "" 2216 + msgstr "{0}のフォローを解除しました" 2217 2217 2218 2218 #: src/view/com/notifications/Feed.tsx:107 2219 2219 msgid "No notifications yet!" 2220 - msgstr "" 2220 + msgstr "お知らせはありません!" 2221 2221 2222 2222 #: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97 2223 2223 #: src/view/com/composer/text-input/web/Autocomplete.tsx:191 ··· 2236 2236 2237 2237 #: src/view/com/modals/EmbedConsent.tsx:129 2238 2238 msgid "No thanks" 2239 - msgstr "" 2239 + msgstr "結構です" 2240 2240 2241 2241 #: src/view/com/modals/Threadgate.tsx:82 2242 2242 msgid "Nobody" ··· 2248 2248 2249 2249 #: src/Navigation.tsx:104 2250 2250 msgid "Not Found" 2251 - msgstr "" 2251 + msgstr "見つかりません" 2252 2252 2253 2253 #: src/view/com/modals/VerifyEmail.tsx:246 2254 2254 #: src/view/com/modals/VerifyEmail.tsx:252 2255 2255 msgid "Not right now" 2256 - msgstr "" 2256 + msgstr "今すぐにではない" 2257 2257 2258 2258 #: src/view/screens/Moderation.tsx:227 2259 2259 #~ msgid "Note: Bluesky is an open and public network, and enabling this will not make your profile private or limit the ability of logged in users to see your posts. This setting only limits the visibility of posts on the Bluesky app and website; third-party apps that display Bluesky content may not respect this setting, and could show your content to logged-out users." ··· 2275 2275 2276 2276 #: src/view/com/modals/SelfLabel.tsx:103 2277 2277 msgid "Nudity" 2278 - msgstr "" 2278 + msgstr "ヌード" 2279 2279 2280 2280 #: src/view/com/util/ErrorBoundary.tsx:35 2281 2281 msgid "Oh no!" ··· 2291 2291 2292 2292 #: src/view/screens/Settings.tsx:236 2293 2293 msgid "Onboarding reset" 2294 - msgstr "" 2294 + msgstr "オンボーディングのリセット" 2295 2295 2296 2296 #: src/view/com/composer/Composer.tsx:375 2297 2297 msgid "One or more images is missing alt text." ··· 2305 2305 #: src/view/com/modals/ProfilePreview.tsx:61 2306 2306 #: src/view/screens/AppPasswords.tsx:65 2307 2307 msgid "Oops!" 2308 - msgstr "" 2308 + msgstr "おっと!" 2309 2309 2310 2310 #: src/view/com/composer/Composer.tsx:470 2311 2311 #: src/view/com/composer/Composer.tsx:471 ··· 2314 2314 2315 2315 #: src/view/screens/Settings.tsx:678 2316 2316 msgid "Open links with in-app browser" 2317 - msgstr "" 2317 + msgstr "アプリ内ブラウザーでリンクを開く" 2318 2318 2319 2319 #: src/view/com/pager/FeedsTabBarMobile.tsx:81 2320 2320 msgid "Open navigation" ··· 2322 2322 2323 2323 #: src/view/screens/Settings.tsx:737 2324 2324 msgid "Open storybook page" 2325 - msgstr "" 2325 + msgstr "絵本のページを開く" 2326 2326 2327 2327 #: src/view/com/util/forms/DropdownButton.tsx:147 2328 2328 msgid "Opens {numItems} options" 2329 - msgstr "" 2329 + msgstr "{numItems}個のオプションを開く" 2330 2330 2331 2331 #: src/view/screens/Log.tsx:54 2332 2332 msgid "Opens additional details for a debug entry" 2333 - msgstr "" 2333 + msgstr "デバッグエントリーの追加詳細を開く" 2334 2334 2335 2335 #: src/view/com/notifications/FeedItem.tsx:352 2336 2336 msgid "Opens an expanded list of users in this notification" 2337 - msgstr "" 2337 + msgstr "この通知内のユーザーの拡張リストを開く" 2338 2338 2339 2339 #: src/view/com/composer/photos/OpenCameraBtn.tsx:61 2340 2340 msgid "Opens camera on device" 2341 - msgstr "" 2341 + msgstr "デバイスのカメラを開く" 2342 2342 2343 2343 #: src/view/com/composer/Prompt.tsx:25 2344 2344 msgid "Opens composer" 2345 - msgstr "" 2345 + msgstr "編集画面を開く" 2346 2346 2347 2347 #: src/view/screens/Settings.tsx:561 2348 2348 msgid "Opens configurable language settings" ··· 2350 2350 2351 2351 #: src/view/com/composer/photos/SelectPhotoBtn.tsx:44 2352 2352 msgid "Opens device photo gallery" 2353 - msgstr "" 2353 + msgstr "デバイスのフォトギャラリーを開く" 2354 2354 2355 2355 #: src/view/com/profile/ProfileHeader.tsx:459 2356 2356 msgid "Opens editor for profile display name, avatar, background image, and description" 2357 - msgstr "" 2357 + msgstr "プロフィールの表示名、アバター、背景画像、説明文のエディタを開く" 2358 2358 2359 2359 #: src/view/screens/Settings.tsx:615 2360 2360 msgid "Opens external embeds settings" 2361 - msgstr "" 2361 + msgstr "外部コンテンツの埋め込みの設定を開く" 2362 2362 2363 2363 #: src/view/com/profile/ProfileHeader.tsx:614 2364 2364 msgid "Opens followers list" 2365 - msgstr "" 2365 + msgstr "フォロワーのリストを開きます" 2366 2366 2367 2367 #: src/view/com/profile/ProfileHeader.tsx:633 2368 2368 msgid "Opens following list" 2369 - msgstr "" 2369 + msgstr "フォロー中のリストを開きます" 2370 2370 2371 2371 #: src/view/screens/Settings.tsx:412 2372 2372 msgid "Opens invite code list" 2373 - msgstr "" 2373 + msgstr "招待コードのリストを開く" 2374 2374 2375 2375 #: src/view/com/modals/InviteCodes.tsx:172 2376 2376 #: src/view/shell/desktop/RightNav.tsx:156 ··· 2380 2380 2381 2381 #: src/view/screens/Settings.tsx:696 2382 2382 msgid "Opens modal for account deletion confirmation. Requires email code." 2383 - msgstr "" 2383 + msgstr "アカウントの削除確認用の表示を開きます。メールアドレスのコードが必要です。" 2384 2384 2385 2385 #: src/view/com/modals/ChangeHandle.tsx:281 2386 2386 msgid "Opens modal for using custom domain" ··· 2392 2392 2393 2393 #: src/view/com/auth/login/LoginForm.tsx:236 2394 2394 msgid "Opens password reset form" 2395 - msgstr "" 2395 + msgstr "パスワードリセットのフォームを開く" 2396 2396 2397 2397 #: src/view/screens/Feeds.tsx:335 2398 2398 msgid "Opens screen to edit Saved Feeds" 2399 - msgstr "" 2399 + msgstr "保存されたフィードの編集画面を開く" 2400 2400 2401 2401 #: src/view/screens/Settings.tsx:542 2402 2402 msgid "Opens screen with all saved feeds" ··· 2404 2404 2405 2405 #: src/view/screens/Settings.tsx:642 2406 2406 msgid "Opens the app password settings page" 2407 - msgstr "アプリパスワード設定ページを開く" 2407 + msgstr "アプリパスワードの設定ページを開く" 2408 2408 2409 2409 #: src/view/screens/Settings.tsx:501 2410 2410 msgid "Opens the home feed preferences" ··· 2424 2424 2425 2425 #: src/view/com/util/forms/DropdownButton.tsx:254 2426 2426 msgid "Option {0} of {numItems}" 2427 - msgstr "" 2427 + msgstr "{numItems}個中{0}目のオプション" 2428 2428 2429 2429 #: src/view/com/modals/Threadgate.tsx:89 2430 2430 msgid "Or combine these options:" ··· 2465 2465 2466 2466 #: src/Navigation.tsx:160 2467 2467 msgid "People followed by @{0}" 2468 - msgstr "" 2468 + msgstr "@{0}がフォロー中のユーザー" 2469 2469 2470 2470 #: src/Navigation.tsx:153 2471 2471 msgid "People following @{0}" 2472 - msgstr "" 2472 + msgstr "@{0}をフォロー中のユーザー" 2473 2473 2474 2474 #: src/view/com/lightbox/Lightbox.tsx:66 2475 2475 msgid "Permission to access camera roll is required." 2476 - msgstr "" 2476 + msgstr "カメラへのアクセス権限が必要です。" 2477 2477 2478 2478 #: src/view/com/lightbox/Lightbox.tsx:72 2479 2479 msgid "Permission to access camera roll was denied. Please enable it in your system settings." 2480 - msgstr "" 2480 + msgstr "カメラへのアクセスが拒否されました。システムの設定で有効にしてください。" 2481 2481 2482 2482 #: src/view/com/auth/create/Step2.tsx:181 2483 2483 msgid "Phone number" 2484 - msgstr "" 2484 + msgstr "電話番号" 2485 2485 2486 2486 #: src/view/com/modals/SelfLabel.tsx:121 2487 2487 msgid "Pictures meant for adults." ··· 2490 2490 #: src/view/screens/ProfileFeed.tsx:362 2491 2491 #: src/view/screens/ProfileList.tsx:559 2492 2492 msgid "Pin to home" 2493 - msgstr "" 2493 + msgstr "ホームにピン留め" 2494 2494 2495 2495 #: src/view/screens/SavedFeeds.tsx:88 2496 2496 msgid "Pinned Feeds" ··· 2498 2498 2499 2499 #: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:111 2500 2500 msgid "Play {0}" 2501 - msgstr "" 2501 + msgstr "{0}を再生" 2502 2502 2503 2503 #: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:54 2504 2504 #: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:55 2505 2505 msgid "Play Video" 2506 - msgstr "" 2506 + msgstr "動画を再生" 2507 2507 2508 2508 #: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:110 2509 2509 msgid "Plays the GIF" 2510 - msgstr "" 2510 + msgstr "GIFを再生" 2511 2511 2512 2512 #: src/view/com/auth/create/state.ts:177 2513 2513 msgid "Please choose your handle." ··· 2523 2523 2524 2524 #: src/view/com/modals/AddAppPasswords.tsx:89 2525 2525 msgid "Please enter a name for your app password. All spaces is not allowed." 2526 - msgstr "" 2526 + msgstr "アプリパスワードにつける名前を入力してください。すべてスペースとしてはいけません。" 2527 2527 2528 2528 #: src/view/com/auth/create/Step2.tsx:204 2529 2529 msgid "Please enter a phone number that can receive SMS text messages." 2530 - msgstr "" 2530 + msgstr "SMSでテキストメッセージを受け取れる電話番号を入力してください。" 2531 2531 2532 2532 #: src/view/com/modals/AddAppPasswords.tsx:144 2533 2533 msgid "Please enter a unique name for this App Password or use our randomly generated one." ··· 2535 2535 2536 2536 #: src/view/com/auth/create/state.ts:170 2537 2537 msgid "Please enter the code you received by SMS." 2538 - msgstr "" 2538 + msgstr "SMSで受け取ったコードを入力してください。" 2539 2539 2540 2540 #: src/view/com/auth/create/Step2.tsx:279 2541 2541 msgid "Please enter the verification code sent to {phoneNumberFormatted}." 2542 - msgstr "" 2542 + msgstr "{phoneNumberFormatted}に送った認証コードを入力してください。" 2543 2543 2544 2544 #: src/view/com/auth/create/state.ts:146 2545 2545 msgid "Please enter your email." ··· 2552 2552 #: src/view/com/modals/AppealLabel.tsx:72 2553 2553 #: src/view/com/modals/AppealLabel.tsx:75 2554 2554 msgid "Please tell us why you think this content warning was incorrectly applied!" 2555 - msgstr "" 2555 + msgstr "このコンテンツに対する警告が誤って適用されたと思われる理由を教えてください!" 2556 2556 2557 2557 #: src/view/com/modals/AppealLabel.tsx:72 2558 2558 #: src/view/com/modals/AppealLabel.tsx:75 ··· 2561 2561 2562 2562 #: src/view/com/modals/VerifyEmail.tsx:101 2563 2563 msgid "Please Verify Your Email" 2564 - msgstr "" 2564 + msgstr "メールアドレスを確認してください" 2565 2565 2566 2566 #: src/view/com/composer/Composer.tsx:215 2567 2567 msgid "Please wait for your link card to finish loading" ··· 2569 2569 2570 2570 #: src/view/com/modals/SelfLabel.tsx:111 2571 2571 msgid "Porn" 2572 - msgstr "" 2572 + msgstr "ポルノ" 2573 2573 2574 2574 #: src/view/com/composer/Composer.tsx:350 2575 2575 #: src/view/com/composer/Composer.tsx:358 2576 2576 msgctxt "action" 2577 2577 msgid "Post" 2578 - msgstr "" 2578 + msgstr "投稿" 2579 2579 2580 2580 #: src/view/com/post-thread/PostThread.tsx:227 2581 2581 #: src/view/screens/PostThread.tsx:82 2582 2582 msgctxt "description" 2583 2583 msgid "Post" 2584 - msgstr "" 2584 + msgstr "投稿" 2585 2585 2586 2586 #: src/view/com/composer/Composer.tsx:346 2587 2587 #: src/view/com/post-thread/PostThread.tsx:225 ··· 2591 2591 2592 2592 #: src/view/com/post-thread/PostThreadItem.tsx:176 2593 2593 msgid "Post by {0}" 2594 - msgstr "" 2594 + msgstr "{0}による投稿" 2595 2595 2596 2596 #: src/Navigation.tsx:172 2597 2597 #: src/Navigation.tsx:179 2598 2598 #: src/Navigation.tsx:186 2599 2599 msgid "Post by @{0}" 2600 - msgstr "" 2600 + msgstr "@{0}による投稿" 2601 2601 2602 2602 #: src/view/com/util/forms/PostDropdownBtn.tsx:82 2603 2603 msgid "Post deleted" 2604 - msgstr "" 2604 + msgstr "投稿を削除" 2605 2605 2606 2606 #: src/view/com/post-thread/PostThread.tsx:382 2607 2607 msgid "Post hidden" ··· 2625 2625 2626 2626 #: src/view/com/posts/FeedErrorMessage.tsx:64 2627 2627 msgid "Posts hidden" 2628 - msgstr "" 2628 + msgstr "非表示の投稿" 2629 2629 2630 2630 #: src/view/com/modals/LinkWarning.tsx:46 2631 2631 msgid "Potentially Misleading Link" ··· 2669 2669 2670 2670 #: src/view/com/modals/EditProfile.tsx:128 2671 2671 msgid "Profile updated" 2672 - msgstr "" 2672 + msgstr "プロフィールを更新しました" 2673 2673 2674 2674 #: src/view/screens/Settings.tsx:882 2675 2675 msgid "Protect your account by verifying your email." ··· 2685 2685 2686 2686 #: src/view/com/composer/Composer.tsx:335 2687 2687 msgid "Publish post" 2688 - msgstr "" 2688 + msgstr "投稿を公開" 2689 2689 2690 2690 #: src/view/com/composer/Composer.tsx:335 2691 2691 msgid "Publish reply" 2692 - msgstr "" 2692 + msgstr "返信を公開" 2693 2693 2694 2694 #: src/view/com/modals/Repost.tsx:65 2695 2695 msgctxt "action" 2696 2696 msgid "Quote post" 2697 - msgstr "" 2697 + msgstr "引用" 2698 2698 2699 2699 #: src/view/com/util/post-ctrls/RepostButton.web.tsx:58 2700 2700 msgid "Quote post" ··· 2703 2703 #: src/view/com/modals/Repost.tsx:70 2704 2704 msgctxt "action" 2705 2705 msgid "Quote Post" 2706 - msgstr "" 2706 + msgstr "引用" 2707 2707 2708 2708 #: src/view/com/modals/Repost.tsx:56 2709 2709 #~ msgid "Quote Post" ··· 2764 2764 2765 2765 #: src/view/com/modals/Repost.tsx:47 2766 2766 msgid "Remove repost" 2767 - msgstr "" 2767 + msgstr "リポストを削除" 2768 2768 2769 2769 #: src/view/com/feeds/FeedSourceCard.tsx:173 2770 2770 msgid "Remove this feed from my feeds?" ··· 2782 2782 #: src/view/com/feeds/FeedSourceCard.tsx:111 2783 2783 #: src/view/com/feeds/FeedSourceCard.tsx:178 2784 2784 msgid "Removed from my feeds" 2785 - msgstr "" 2785 + msgstr "フィードから削除しました" 2786 2786 2787 2787 #: src/view/com/composer/ExternalEmbed.tsx:71 2788 2788 msgid "Removes default thumbnail from {0}" 2789 - msgstr "" 2789 + msgstr "{0}からデフォルトのサムネイルを削除" 2790 2790 2791 2791 #: src/view/screens/Profile.tsx:162 2792 2792 msgid "Replies" ··· 2799 2799 #: src/view/com/composer/Composer.tsx:348 2800 2800 msgctxt "action" 2801 2801 msgid "Reply" 2802 - msgstr "" 2802 + msgstr "返信" 2803 2803 2804 2804 #: src/view/screens/PreferencesHomeFeed.tsx:144 2805 2805 msgid "Reply Filters" ··· 2809 2809 #: src/view/com/posts/FeedItem.tsx:286 2810 2810 msgctxt "description" 2811 2811 msgid "Reply to <0/>" 2812 - msgstr "" 2812 + msgstr "<0/>に返信" 2813 2813 2814 2814 #: src/view/com/modals/report/Modal.tsx:166 2815 2815 msgid "Report {collectionName}" ··· 2838 2838 #: src/view/com/util/post-ctrls/RepostButton.tsx:61 2839 2839 msgctxt "action" 2840 2840 msgid "Repost" 2841 - msgstr "" 2841 + msgstr "リポスト" 2842 2842 2843 2843 #: src/view/com/util/post-ctrls/RepostButton.web.tsx:48 2844 2844 msgid "Repost" ··· 2855 2855 2856 2856 #: src/view/com/posts/FeedItem.tsx:206 2857 2857 msgid "Reposted by {0})" 2858 - msgstr "" 2858 + msgstr "{0}によるリポスト" 2859 2859 2860 2860 #: src/view/com/posts/FeedItem.tsx:223 2861 2861 msgid "Reposted by <0/>" 2862 - msgstr "" 2862 + msgstr "<0/>によるリポスト" 2863 2863 2864 2864 #: src/view/com/notifications/FeedItem.tsx:162 2865 2865 msgid "reposted your post" 2866 - msgstr "" 2866 + msgstr "あなたの投稿はリポストされました" 2867 2867 2868 2868 #: src/view/com/post-thread/PostThreadItem.tsx:189 2869 2869 msgid "Reposts of this post" 2870 - msgstr "" 2870 + msgstr "この投稿をリポスト" 2871 2871 2872 2872 #: src/view/com/modals/ChangeEmail.tsx:181 2873 2873 #: src/view/com/modals/ChangeEmail.tsx:183 ··· 2876 2876 2877 2877 #: src/view/com/auth/create/Step2.tsx:217 2878 2878 msgid "Request code" 2879 - msgstr "" 2879 + msgstr "コードをリクエスト" 2880 2880 2881 2881 #: src/view/screens/Settings.tsx:450 2882 2882 msgid "Require alt text before posting" ··· 2893 2893 2894 2894 #: src/view/screens/Settings.tsx:757 2895 2895 msgid "Reset onboarding" 2896 - msgstr "" 2896 + msgstr "オンボーディングの状態をリセット" 2897 2897 2898 2898 #: src/view/screens/Settings.tsx:760 2899 2899 msgid "Reset onboarding state" ··· 2905 2905 2906 2906 #: src/view/screens/Settings.tsx:747 2907 2907 msgid "Reset preferences" 2908 - msgstr "" 2908 + msgstr "設定をリセット" 2909 2909 2910 2910 #: src/view/screens/Settings.tsx:750 2911 2911 msgid "Reset preferences state" ··· 2913 2913 2914 2914 #: src/view/screens/Settings.tsx:758 2915 2915 msgid "Resets the onboarding state" 2916 - msgstr "オンボーディングの状態をリセット" 2916 + msgstr "オンボーディングの状態をリセットします" 2917 2917 2918 2918 #: src/view/screens/Settings.tsx:748 2919 2919 msgid "Resets the preferences state" 2920 - msgstr "設定の状態をリセット" 2920 + msgstr "設定の状態をリセットします" 2921 2921 2922 2922 #: src/view/com/auth/login/LoginForm.tsx:266 2923 2923 msgid "Retries login" 2924 - msgstr "" 2924 + msgstr "ログインをやり直す" 2925 2925 2926 2926 #: src/view/com/util/error/ErrorMessage.tsx:57 2927 2927 #: src/view/com/util/error/ErrorScreen.tsx:67 2928 2928 msgid "Retries the last action, which errored out" 2929 - msgstr "" 2929 + msgstr "エラーになった最後のアクションをやり直す" 2930 2930 2931 2931 #: src/view/com/auth/create/CreateAccount.tsx:164 2932 2932 #: src/view/com/auth/create/CreateAccount.tsx:168 ··· 2940 2940 2941 2941 #: src/view/com/auth/create/Step2.tsx:245 2942 2942 msgid "Retry." 2943 - msgstr "" 2943 + msgstr "再試行" 2944 2944 2945 2945 #: src/view/screens/ProfileList.tsx:877 2946 2946 msgid "Return to previous page" 2947 - msgstr "" 2947 + msgstr "前のページに戻る" 2948 2948 2949 2949 #: src/view/shell/desktop/RightNav.tsx:59 2950 2950 msgid "SANDBOX. Posts and accounts are not permanent." 2951 - msgstr "" 2951 + msgstr "サンドボックス。投稿とアカウントは永久的なものではありません。" 2952 2952 2953 2953 #: src/view/com/lightbox/Lightbox.tsx:129 2954 2954 #: src/view/com/modals/CreateOrEditList.tsx:276 2955 2955 msgctxt "action" 2956 2956 msgid "Save" 2957 - msgstr "" 2957 + msgstr "保存" 2958 2958 2959 2959 #: src/view/com/modals/BirthDateSettings.tsx:94 2960 2960 #: src/view/com/modals/BirthDateSettings.tsx:97 ··· 2987 2987 2988 2988 #: src/view/com/modals/EditProfile.tsx:225 2989 2989 msgid "Saves any changes to your profile" 2990 - msgstr "" 2990 + msgstr "プロフィールに加えた変更を保存します" 2991 2991 2992 2992 #: src/view/com/modals/ChangeHandle.tsx:171 2993 2993 msgid "Saves handle change to {handle}" 2994 - msgstr "" 2994 + msgstr "{handle}へのハンドルの変更を保存" 2995 2995 2996 2996 #: src/view/screens/ProfileList.tsx:833 2997 2997 msgid "Scroll to top" 2998 - msgstr "" 2998 + msgstr "一番上までスクロール" 2999 2999 3000 3000 #: src/Navigation.tsx:435 3001 3001 #: src/view/com/auth/LoggedOut.tsx:122 ··· 3017 3017 #: src/view/screens/Search/Search.tsx:628 3018 3018 #: src/view/shell/desktop/Search.tsx:255 3019 3019 msgid "Search for \"{query}\"" 3020 - msgstr "" 3020 + msgstr "「{query}」を検索" 3021 3021 3022 3022 #: src/view/screens/Search/Search.tsx:390 3023 3023 #~ msgid "Search for posts and users." ··· 3035 3035 3036 3036 #: src/view/screens/SavedFeeds.tsx:163 3037 3037 msgid "See this guide" 3038 - msgstr "" 3038 + msgstr "ガイドを見る" 3039 3039 3040 3040 #: src/view/com/auth/HomeLoggedOutCTA.tsx:39 3041 3041 msgid "See what's next" ··· 3043 3043 3044 3044 #: src/view/com/util/Selector.tsx:106 3045 3045 msgid "Select {item}" 3046 - msgstr "" 3046 + msgstr "{item}を選択" 3047 3047 3048 3048 #: src/view/com/modals/ServerInput.tsx:75 3049 3049 msgid "Select Bluesky Social" ··· 3055 3055 3056 3056 #: src/view/com/util/Selector.tsx:107 3057 3057 msgid "Select option {i} of {numItems}" 3058 - msgstr "" 3058 + msgstr "{numItems}個中{i}個目のオプションを選択" 3059 3059 3060 3060 #: src/view/com/auth/create/Step1.tsx:77 3061 3061 #: src/view/com/auth/login/LoginForm.tsx:147 ··· 3072 3072 3073 3073 #: src/view/com/auth/create/Step2.tsx:153 3074 3074 msgid "Select your phone's country" 3075 - msgstr "" 3075 + msgstr "電話番号が登録されている国を選択" 3076 3076 3077 3077 #: src/view/screens/LanguageSettings.tsx:190 3078 3078 msgid "Select your preferred language for translations in your feed." ··· 3090 3090 #: src/view/com/modals/DeleteAccount.tsx:140 3091 3091 msgctxt "action" 3092 3092 msgid "Send Email" 3093 - msgstr "" 3093 + msgstr "メールを送信" 3094 3094 3095 3095 #: src/view/com/modals/DeleteAccount.tsx:138 3096 3096 #~ msgid "Send Email" ··· 3107 3107 3108 3108 #: src/view/com/modals/DeleteAccount.tsx:129 3109 3109 msgid "Sends email with confirmation code for account deletion" 3110 - msgstr "" 3110 + msgstr "アカウントの削除の確認コードをメールに送信" 3111 3111 3112 3112 #: src/view/com/modals/ContentFilteringSettings.tsx:306 3113 3113 msgid "Set {value} for {labelGroup} content moderation policy" 3114 - msgstr "" 3114 + msgstr "{labelGroup}コンテンツのモデレーションポリシーを{value}に設定します" 3115 3115 3116 3116 #: src/view/com/modals/ContentFilteringSettings.tsx:155 3117 3117 #: src/view/com/modals/ContentFilteringSettings.tsx:174 3118 3118 msgctxt "action" 3119 3119 msgid "Set Age" 3120 - msgstr "" 3120 + msgstr "年齢を設定" 3121 3121 3122 3122 #: src/view/screens/Settings.tsx:482 3123 3123 msgid "Set color theme to dark" 3124 - msgstr "" 3124 + msgstr "カラーテーマをダークに設定します" 3125 3125 3126 3126 #: src/view/screens/Settings.tsx:475 3127 3127 msgid "Set color theme to light" 3128 - msgstr "" 3128 + msgstr "カラーテーマをライトに設定します" 3129 3129 3130 3130 #: src/view/screens/Settings.tsx:469 3131 3131 msgid "Set color theme to system setting" 3132 - msgstr "" 3132 + msgstr "システム設定のカラーテーマを使用するように設定します" 3133 3133 3134 3134 #: src/view/com/auth/login/SetNewPasswordForm.tsx:78 3135 3135 msgid "Set new password" ··· 3137 3137 3138 3138 #: src/view/com/auth/create/Step1.tsx:169 3139 3139 msgid "Set password" 3140 - msgstr "" 3140 + msgstr "パスワードを設定" 3141 3141 3142 3142 #: src/view/screens/PreferencesHomeFeed.tsx:225 3143 3143 msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible." ··· 3161 3161 3162 3162 #: src/view/com/modals/ChangeHandle.tsx:266 3163 3163 msgid "Sets Bluesky username" 3164 - msgstr "" 3164 + msgstr "Blueskyのユーザーネームを設定" 3165 3165 3166 3166 #: src/view/com/auth/login/ForgotPasswordForm.tsx:153 3167 3167 msgid "Sets email for password reset" 3168 - msgstr "" 3168 + msgstr "パスワードをリセットするためのメールアドレスを入力" 3169 3169 3170 3170 #: src/view/com/auth/login/ForgotPasswordForm.tsx:118 3171 3171 msgid "Sets hosting provider for password reset" 3172 - msgstr "" 3172 + msgstr "パスワードをリセットするためのホスティングプロバイダーを入力" 3173 3173 3174 3174 #: src/view/com/auth/create/Step1.tsx:143 3175 3175 #~ msgid "Sets hosting provider to {label}" 3176 - #~ msgstr "" 3176 + #~ msgstr "ホスティングプロバイダーを{label}に設定" 3177 3177 3178 3178 #: src/view/com/auth/create/Step1.tsx:78 3179 3179 #: src/view/com/auth/login/LoginForm.tsx:148 3180 3180 msgid "Sets server for the Bluesky client" 3181 - msgstr "" 3181 + msgstr "Blueskyのクライアントのサーバーを設定" 3182 3182 3183 3183 #: src/Navigation.tsx:134 3184 3184 #: src/view/screens/Settings.tsx:294 ··· 3195 3195 #: src/view/com/lightbox/Lightbox.tsx:138 3196 3196 msgctxt "action" 3197 3197 msgid "Share" 3198 - msgstr "" 3198 + msgstr "共有" 3199 3199 3200 3200 #: src/view/com/profile/ProfileHeader.tsx:342 3201 3201 #: src/view/com/util/forms/PostDropdownBtn.tsx:151 ··· 3216 3216 3217 3217 #: src/view/screens/PreferencesHomeFeed.tsx:68 3218 3218 msgid "Show all replies" 3219 - msgstr "" 3219 + msgstr "すべての返信を表示" 3220 3220 3221 3221 #: src/view/com/util/moderation/ScreenHider.tsx:132 3222 3222 msgid "Show anyway" ··· 3224 3224 3225 3225 #: src/view/com/modals/EmbedConsent.tsx:87 3226 3226 msgid "Show embeds from {0}" 3227 - msgstr "" 3227 + msgstr "{0}による埋め込みを表示" 3228 3228 3229 3229 #: src/view/com/profile/ProfileHeader.tsx:498 3230 3230 msgid "Show follows similar to {0}" 3231 - msgstr "" 3231 + msgstr "{0}に似たおすすめのフォロー候補を表示" 3232 3232 3233 3233 #: src/view/com/post-thread/PostThreadItem.tsx:569 3234 3234 #: src/view/com/post/Post.tsx:196 3235 3235 #: src/view/com/posts/FeedItem.tsx:362 3236 3236 msgid "Show More" 3237 - msgstr "" 3237 + msgstr "さらに表示" 3238 3238 3239 3239 #: src/view/screens/PreferencesHomeFeed.tsx:258 3240 3240 msgid "Show Posts from My Feeds" ··· 3254 3254 3255 3255 #: src/view/screens/PreferencesHomeFeed.tsx:70 3256 3256 msgid "Show replies with at least {value} {0}" 3257 - msgstr "" 3257 + msgstr "{value}個以上の{0}がついた返信を表示" 3258 3258 3259 3259 #: src/view/screens/PreferencesHomeFeed.tsx:188 3260 3260 msgid "Show Reposts" ··· 3263 3263 #: src/view/com/util/moderation/ContentHider.tsx:67 3264 3264 #: src/view/com/util/moderation/PostHider.tsx:61 3265 3265 msgid "Show the content" 3266 - msgstr "" 3266 + msgstr "コンテンツを表示" 3267 3267 3268 3268 #: src/view/com/notifications/FeedItem.tsx:350 3269 3269 msgid "Show users" ··· 3271 3271 3272 3272 #: src/view/com/profile/ProfileHeader.tsx:501 3273 3273 msgid "Shows a list of users similar to this user." 3274 - msgstr "" 3274 + msgstr "このユーザーに似たユーザーのリストを表示します。" 3275 3275 3276 3276 #: src/view/com/profile/ProfileHeader.tsx:545 3277 3277 msgid "Shows posts from {0} in your feed" 3278 - msgstr "" 3278 + msgstr "マイフィード内の{0}からの投稿を表示します" 3279 3279 3280 3280 #: src/view/com/auth/HomeLoggedOutCTA.tsx:70 3281 3281 #: src/view/com/auth/login/Login.tsx:98 ··· 3343 3343 3344 3344 #: src/view/com/auth/login/ChooseAccountForm.tsx:103 3345 3345 msgid "Signed in as @{0}" 3346 - msgstr "" 3346 + msgstr "@{0}でサインイン" 3347 3347 3348 3348 #: src/view/com/modals/SwitchAccount.tsx:66 3349 3349 msgid "Signs {0} out of Bluesky" 3350 - msgstr "" 3350 + msgstr "Blueskyから{0}をサインアウト" 3351 3351 3352 3352 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:33 3353 3353 msgid "Skip" ··· 3355 3355 3356 3356 #: src/view/com/auth/create/Step2.tsx:80 3357 3357 msgid "SMS verification" 3358 - msgstr "" 3358 + msgstr "SMS認証" 3359 3359 3360 3360 #: src/view/com/modals/ProfilePreview.tsx:62 3361 3361 msgid "Something went wrong and we're not sure what." 3362 - msgstr "" 3362 + msgstr "何かの問題が起きましたが、それが何なのかわかりません。" 3363 3363 3364 3364 #: src/view/com/modals/Waitlist.tsx:51 3365 3365 msgid "Something went wrong. Check your email and try again." 3366 - msgstr "" 3366 + msgstr "なんらかの問題が発生しました。メールアドレスを確認し、もう一度お試しください。" 3367 3367 3368 3368 #: src/App.native.tsx:62 3369 3369 msgid "Sorry! Your session expired. Please log in again." 3370 - msgstr "" 3370 + msgstr "申し訳ありません!セッションの有効期限が切れました。もう一度ログインしてください。" 3371 3371 3372 3372 #: src/view/screens/PreferencesThreads.tsx:69 3373 3373 msgid "Sort Replies" ··· 3391 3391 3392 3392 #: src/view/com/auth/create/StepHeader.tsx:22 3393 3393 msgid "Step {0} of {numSteps}" 3394 - msgstr "" 3394 + msgstr "{numSteps}個中{0}個目のステップ" 3395 3395 3396 3396 #: src/view/com/auth/create/StepHeader.tsx:15 3397 3397 #~ msgid "Step {step} of 3" 3398 - #~ msgstr "" 3398 + #~ msgstr "3個中{step}個目のステップ" 3399 3399 3400 3400 #: src/view/screens/Settings.tsx:276 3401 3401 msgid "Storage cleared, you need to restart the app now." 3402 - msgstr "" 3402 + msgstr "ストレージがクリアされたため、今すぐアプリを再起動する必要があります。" 3403 3403 3404 3404 #: src/Navigation.tsx:202 3405 3405 #: src/view/screens/Settings.tsx:740 ··· 3420 3420 3421 3421 #: src/view/com/lists/ListCard.tsx:101 3422 3422 #~ msgid "Subscribed" 3423 - #~ msgstr "" 3423 + #~ msgstr "登録済み" 3424 3424 3425 3425 #: src/view/screens/Search/Search.tsx:364 3426 3426 msgid "Suggested Follows" ··· 3428 3428 3429 3429 #: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64 3430 3430 msgid "Suggested for you" 3431 - msgstr "" 3431 + msgstr "あなたへのおすすめ" 3432 3432 3433 3433 #: src/view/com/modals/SelfLabel.tsx:95 3434 3434 msgid "Suggestive" 3435 - msgstr "" 3435 + msgstr "提案" 3436 3436 3437 3437 #: src/Navigation.tsx:212 3438 3438 #: src/view/screens/Support.tsx:30 ··· 3442 3442 3443 3443 #: src/view/com/modals/ProfilePreview.tsx:110 3444 3444 msgid "Swipe up to see more" 3445 - msgstr "" 3445 + msgstr "上にスワイプしてさらに表示" 3446 3446 3447 3447 #: src/view/com/modals/SwitchAccount.tsx:117 3448 3448 msgid "Switch Account" ··· 3451 3451 #: src/view/com/modals/SwitchAccount.tsx:97 3452 3452 #: src/view/screens/Settings.tsx:137 3453 3453 msgid "Switch to {0}" 3454 - msgstr "" 3454 + msgstr "{0}に切り替え" 3455 3455 3456 3456 #: src/view/com/modals/SwitchAccount.tsx:98 3457 3457 #: src/view/screens/Settings.tsx:138 3458 3458 msgid "Switches the account you are logged in to" 3459 - msgstr "" 3459 + msgstr "ログインしているアカウントを切り替えます" 3460 3460 3461 3461 #: src/view/screens/Settings.tsx:466 3462 3462 msgid "System" 3463 - msgstr "" 3463 + msgstr "システム" 3464 3464 3465 3465 #: src/view/screens/Settings.tsx:720 3466 3466 msgid "System log" ··· 3472 3472 3473 3473 #: src/view/com/util/images/AutoSizedImage.tsx:70 3474 3474 msgid "Tap to view fully" 3475 - msgstr "" 3475 + msgstr "タップして全体を表示" 3476 3476 3477 3477 #: src/view/shell/desktop/RightNav.tsx:93 3478 3478 msgid "Terms" ··· 3496 3496 3497 3497 #: src/view/screens/CommunityGuidelines.tsx:36 3498 3498 msgid "The Community Guidelines have been moved to <0/>" 3499 - msgstr "コミュニティガイドラインは<0/>に移動されました" 3499 + msgstr "コミュニティガイドラインは<0/>に移動しました" 3500 3500 3501 3501 #: src/view/screens/CopyrightPolicy.tsx:33 3502 3502 msgid "The Copyright Policy has been moved to <0/>" 3503 - msgstr "著作権ポリシーが<0/>に移動されました" 3503 + msgstr "著作権ポリシーは<0/>に移動しました" 3504 3504 3505 3505 #: src/view/com/post-thread/PostThread.tsx:437 3506 3506 msgid "The post may have been deleted." ··· 3508 3508 3509 3509 #: src/view/screens/PrivacyPolicy.tsx:33 3510 3510 msgid "The Privacy Policy has been moved to <0/>" 3511 - msgstr "プライバシーポリシーが<0/>に移動されました" 3511 + msgstr "プライバシーポリシーは<0/>に移動しました" 3512 3512 3513 3513 #: src/view/screens/Support.tsx:36 3514 3514 msgid "The support form has been moved. If you need help, please <0/> or visit {HELP_DESK_URL} to get in touch with us." 3515 - msgstr "" 3515 + msgstr "サポートフォームは移動しました。サポートが必要な場合は、<0/>、または{HELP_DESK_URL}にアクセスしてご連絡ください。" 3516 3516 3517 3517 #: src/view/screens/Support.tsx:36 3518 3518 #~ msgid "The support form has been moved. If you need help, please<0/> or visit {HELP_DESK_URL} to get in touch with us." 3519 - #~ msgstr "サポートフォームが移動しました。サポートが必要な場合は、<0/>または{HELP_DESK_URL}にアクセスしてご連絡ください。" 3519 + #~ msgstr "サポートフォームは移動しました。サポートが必要な場合は、<0/>、または{HELP_DESK_URL}にアクセスしてご連絡ください。" 3520 3520 3521 3521 #: src/view/screens/TermsOfService.tsx:33 3522 3522 msgid "The Terms of Service have been moved to" 3523 - msgstr "サービス規約が移動されました" 3523 + msgstr "サービス規約は移動しました" 3524 3524 3525 3525 #: src/view/screens/ProfileFeed.tsx:558 3526 3526 msgid "There was an an issue contacting the server, please check your internet connection and try again." 3527 - msgstr "" 3527 + msgstr "サーバーへの問い合わせ中に問題が発生しました。インターネットへの接続を確認の上、もう一度お試しください。" 3528 3528 3529 3529 #: src/view/com/posts/FeedErrorMessage.tsx:139 3530 3530 msgid "There was an an issue removing this feed. Please check your internet connection and try again." 3531 - msgstr "" 3531 + msgstr "フィードの削除中に問題が発生しました。インターネットへの接続を確認の上、もう一度お試しください。" 3532 3532 3533 3533 #: src/view/screens/ProfileFeed.tsx:218 3534 3534 msgid "There was an an issue updating your feeds, please check your internet connection and try again." 3535 - msgstr "" 3535 + msgstr "フィードの更新中に問題が発生しました。インターネットへの接続を確認の上、もう一度お試しください。" 3536 3536 3537 3537 #: src/view/screens/ProfileFeed.tsx:245 3538 3538 #: src/view/screens/ProfileList.tsx:266 ··· 3540 3540 #: src/view/screens/SavedFeeds.tsx:231 3541 3541 #: src/view/screens/SavedFeeds.tsx:252 3542 3542 msgid "There was an issue contacting the server" 3543 - msgstr "" 3543 + msgstr "サーバーへの問い合わせ中に問題が発生しました" 3544 3544 3545 3545 #: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:57 3546 3546 #: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:66 ··· 3548 3548 #: src/view/com/feeds/FeedSourceCard.tsx:127 3549 3549 #: src/view/com/feeds/FeedSourceCard.tsx:181 3550 3550 msgid "There was an issue contacting your server" 3551 - msgstr "" 3551 + msgstr "サーバーへの問い合わせ中に問題が発生しました" 3552 3552 3553 3553 #: src/view/com/notifications/Feed.tsx:115 3554 3554 msgid "There was an issue fetching notifications. Tap here to try again." 3555 - msgstr "" 3555 + msgstr "通知の取得中に問題が発生しました。もう一度試すにはこちらをタップしてください。" 3556 3556 3557 3557 #: src/view/com/posts/Feed.tsx:263 3558 3558 msgid "There was an issue fetching posts. Tap here to try again." 3559 - msgstr "" 3559 + msgstr "投稿の取得中に問題が発生しました。もう一度試すにはこちらをタップしてください。" 3560 3560 3561 3561 #: src/view/com/lists/ListMembers.tsx:172 3562 3562 msgid "There was an issue fetching the list. Tap here to try again." 3563 - msgstr "" 3563 + msgstr "リストの取得中に問題が発生しました。もう一度試すにはこちらをタップしてください。" 3564 3564 3565 3565 #: src/view/com/feeds/ProfileFeedgens.tsx:148 3566 3566 #: src/view/com/lists/ProfileLists.tsx:155 3567 3567 msgid "There was an issue fetching your lists. Tap here to try again." 3568 - msgstr "" 3568 + msgstr "リストの取得中に問題が発生しました。もう一度試すにはこちらをタップしてください。" 3569 3569 3570 3570 #: src/view/com/modals/ContentFilteringSettings.tsx:126 3571 3571 msgid "There was an issue syncing your preferences with the server" 3572 - msgstr "" 3572 + msgstr "設定をサーバーと同期中に問題が発生しました" 3573 3573 3574 3574 #: src/view/screens/AppPasswords.tsx:66 3575 3575 msgid "There was an issue with fetching your app passwords" 3576 - msgstr "" 3576 + msgstr "アプリパスワードの取得中に問題が発生しました" 3577 3577 3578 3578 #: src/view/com/profile/ProfileHeader.tsx:204 3579 3579 #: src/view/com/profile/ProfileHeader.tsx:225 ··· 3582 3582 #: src/view/com/profile/ProfileHeader.tsx:297 3583 3583 #: src/view/com/profile/ProfileHeader.tsx:319 3584 3584 msgid "There was an issue! {0}" 3585 - msgstr "" 3585 + msgstr "問題が発生しました!{0}" 3586 3586 3587 3587 #: src/view/screens/ProfileList.tsx:287 3588 3588 #: src/view/screens/ProfileList.tsx:306 3589 3589 #: src/view/screens/ProfileList.tsx:328 3590 3590 #: src/view/screens/ProfileList.tsx:347 3591 3591 msgid "There was an issue. Please check your internet connection and try again." 3592 - msgstr "" 3592 + msgstr "問題が発生しました。インターネットへの接続を確認の上、もう一度お試しください。" 3593 3593 3594 3594 #: src/view/com/util/ErrorBoundary.tsx:36 3595 3595 msgid "There was an unexpected issue in the application. Please let us know if this happened to you!" 3596 - msgstr "アプリケーションに予期しない問題が発生しました。このようなことがありましたらお知らせください!" 3596 + msgstr "アプリケーションに予期しない問題が発生しました。このようなことが繰り返した場合はサポートへお知らせください!" 3597 3597 3598 3598 #: src/view/com/auth/create/Step2.tsx:53 3599 3599 msgid "There's something wrong with this number. Please choose your country and enter your full phone number!" 3600 - msgstr "" 3600 + msgstr "この電話番号は正しくありません。登録されている国を選択し、電話番号を省略せずに入力してください!" 3601 3601 3602 3602 #: src/view/com/util/moderation/LabelInfo.tsx:45 3603 3603 #~ msgid "This {0} has been labeled." ··· 3613 3613 3614 3614 #: src/view/com/modals/EmbedConsent.tsx:68 3615 3615 msgid "This content is hosted by {0}. Do you want to enable external media?" 3616 - msgstr "" 3616 + msgstr "このコンテンツは{0}によってホストされています。外部メディアを有効にしますか?" 3617 3617 3618 3618 #: src/view/com/modals/ModerationDetails.tsx:67 3619 3619 msgid "This content is not available because one of the users involved has blocked the other." 3620 - msgstr "" 3620 + msgstr "このコンテンツは関係するユーザーの一方が他方をブロックしているため、利用できません。" 3621 3621 3622 3622 #: src/view/com/posts/FeedErrorMessage.tsx:108 3623 3623 msgid "This content is not viewable without a Bluesky account." ··· 3631 3631 #: src/view/screens/ProfileFeed.tsx:484 3632 3632 #: src/view/screens/ProfileList.tsx:639 3633 3633 msgid "This feed is empty!" 3634 - msgstr "" 3634 + msgstr "このフィードは空です!" 3635 3635 3636 3636 #: src/view/com/posts/CustomFeedEmptyState.tsx:37 3637 3637 msgid "This feed is empty! You may need to follow more users or tune your language settings." 3638 - msgstr "" 3638 + msgstr "このフィードは空です!もっと多くのユーザーをフォローするか、言語の設定を調整する必要があるかもしれません。" 3639 3639 3640 3640 #: src/view/com/modals/BirthDateSettings.tsx:61 3641 3641 msgid "This information is not shared with other users." ··· 3655 3655 3656 3656 #: src/view/screens/ProfileList.tsx:813 3657 3657 msgid "This list is empty!" 3658 - msgstr "" 3658 + msgstr "このリストは空です!" 3659 3659 3660 3660 #: src/view/com/modals/AddAppPasswords.tsx:105 3661 3661 msgid "This name is already in use" 3662 - msgstr "" 3662 + msgstr "この名前はすでに使用中です" 3663 3663 3664 3664 #: src/view/com/post-thread/PostThreadItem.tsx:123 3665 3665 msgid "This post has been deleted." ··· 3667 3667 3668 3668 #: src/view/com/modals/ModerationDetails.tsx:62 3669 3669 msgid "This user has blocked you. You cannot view their content." 3670 - msgstr "" 3670 + msgstr "このユーザーはあなたをブロックしているため、あなたはこのユーザーのコンテンツを閲覧できません。" 3671 3671 3672 3672 #: src/view/com/modals/ModerationDetails.tsx:42 3673 3673 msgid "This user is included in the <0/> list which you have blocked." 3674 - msgstr "" 3674 + msgstr "このユーザーは、あなたがブロックした<0/>リストに含まれています。" 3675 3675 3676 3676 #: src/view/com/modals/ModerationDetails.tsx:74 3677 3677 msgid "This user is included the <0/> list which you have muted." 3678 - msgstr "" 3678 + msgstr "このユーザーは、あなたがミュートした<0/>リストに含まれています。" 3679 3679 3680 3680 #: src/view/com/modals/SelfLabel.tsx:137 3681 3681 msgid "This warning is only available for posts with media attached." ··· 3696 3696 3697 3697 #: src/Navigation.tsx:252 3698 3698 msgid "Threads Preferences" 3699 - msgstr "" 3699 + msgstr "スレッドの設定" 3700 3700 3701 3701 #: src/view/com/util/forms/DropdownButton.tsx:234 3702 3702 msgid "Toggle dropdown" ··· 3715 3715 #: src/view/com/util/error/ErrorScreen.tsx:75 3716 3716 msgctxt "action" 3717 3717 msgid "Try again" 3718 - msgstr "" 3718 + msgstr "再試行" 3719 3719 3720 3720 #: src/view/com/util/error/ErrorScreen.tsx:73 3721 3721 #~ msgid "Try again" ··· 3744 3744 #: src/view/com/profile/ProfileHeader.tsx:475 3745 3745 msgctxt "action" 3746 3746 msgid "Unblock" 3747 - msgstr "" 3747 + msgstr "ブロックを解除" 3748 3748 3749 3749 #: src/view/com/profile/ProfileHeader.tsx:308 3750 3750 #: src/view/com/profile/ProfileHeader.tsx:392 ··· 3761 3761 #: src/view/com/profile/FollowButton.tsx:55 3762 3762 msgctxt "action" 3763 3763 msgid "Unfollow" 3764 - msgstr "" 3764 + msgstr "フォローをやめる" 3765 3765 3766 3766 #: src/view/com/profile/ProfileHeader.tsx:524 3767 3767 msgid "Unfollow {0}" 3768 - msgstr "" 3768 + msgstr "{0}のフォローを解除" 3769 3769 3770 3770 #: src/view/com/auth/create/state.ts:298 3771 3771 msgid "Unfortunately, you do not meet the requirements to create an account." ··· 3773 3773 3774 3774 #: src/view/com/util/post-ctrls/PostCtrls.tsx:189 3775 3775 msgid "Unlike" 3776 - msgstr "" 3776 + msgstr "いいねを外す" 3777 3777 3778 3778 #: src/view/screens/ProfileList.tsx:575 3779 3779 msgid "Unmute" 3780 - msgstr "" 3780 + msgstr "ミュートを解除" 3781 3781 3782 3782 #: src/view/com/profile/ProfileHeader.tsx:373 3783 3783 msgid "Unmute Account" ··· 3790 3790 #: src/view/screens/ProfileFeed.tsx:362 3791 3791 #: src/view/screens/ProfileList.tsx:559 3792 3792 msgid "Unpin" 3793 - msgstr "" 3793 + msgstr "ピン留めを解除" 3794 3794 3795 3795 #: src/view/screens/ProfileList.tsx:452 3796 3796 msgid "Unpin moderation list" ··· 3798 3798 3799 3799 #: src/view/screens/ProfileFeed.tsx:354 3800 3800 msgid "Unsave" 3801 - msgstr "" 3801 + msgstr "保存を解除" 3802 3802 3803 3803 #: src/view/com/modals/UserAddRemoveLists.tsx:54 3804 3804 msgid "Update {displayName} in Lists" ··· 3818 3818 3819 3819 #: src/view/screens/AppPasswords.tsx:195 3820 3820 msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password." 3821 - msgstr "他のBlueskyクライアントにアカウントやパスワードにフルアクセスする権限を与えずに、アプリパスワードを使ってログインします。" 3821 + msgstr "他のBlueskyクライアントにアカウントやパスワードに完全にアクセスする権限を与えずに、アプリパスワードを使ってログインします。" 3822 3822 3823 3823 #: src/view/com/modals/ChangeHandle.tsx:515 3824 3824 msgid "Use default provider" ··· 3827 3827 #: src/view/com/modals/InAppBrowserConsent.tsx:56 3828 3828 #: src/view/com/modals/InAppBrowserConsent.tsx:58 3829 3829 msgid "Use in-app browser" 3830 - msgstr "" 3830 + msgstr "アプリ内ブラウザーを使用" 3831 3831 3832 3832 #: src/view/com/modals/InAppBrowserConsent.tsx:66 3833 3833 #: src/view/com/modals/InAppBrowserConsent.tsx:68 3834 3834 msgid "Use my default browser" 3835 - msgstr "" 3835 + msgstr "デフォルトのブラウザーを使用" 3836 3836 3837 3837 #: src/view/com/modals/AddAppPasswords.tsx:154 3838 3838 msgid "Use this to sign into the other app along with your handle." 3839 - msgstr "これとハンドルを使って他のアプリにサインインします。" 3839 + msgstr "このアプリパスワードとハンドルを使って他のアプリにサインインします。" 3840 3840 3841 3841 #: src/view/com/modals/ServerInput.tsx:105 3842 3842 msgid "Use your domain as your Bluesky client service provider" 3843 - msgstr "" 3843 + msgstr "あなたのドメインをBlueskyのクライアントサービスプロバイダーとして使用" 3844 3844 3845 3845 #: src/view/com/modals/InviteCodes.tsx:200 3846 3846 msgid "Used by:" ··· 3848 3848 3849 3849 #: src/view/com/modals/ModerationDetails.tsx:54 3850 3850 msgid "User Blocked" 3851 - msgstr "" 3851 + msgstr "ブロック中のユーザー" 3852 3852 3853 3853 #: src/view/com/modals/ModerationDetails.tsx:40 3854 3854 msgid "User Blocked by List" 3855 - msgstr "" 3855 + msgstr "リストによってブロック中のユーザー" 3856 3856 3857 3857 #: src/view/com/modals/ModerationDetails.tsx:60 3858 3858 msgid "User Blocks You" 3859 - msgstr "" 3859 + msgstr "あなたをブロックしているユーザー" 3860 3860 3861 3861 #: src/view/com/auth/create/Step3.tsx:38 3862 3862 msgid "User handle" ··· 3865 3865 #: src/view/com/lists/ListCard.tsx:84 3866 3866 #: src/view/com/modals/UserAddRemoveLists.tsx:182 3867 3867 msgid "User list by {0}" 3868 - msgstr "" 3868 + msgstr "<0/>の作成したユーザーリスト" 3869 3869 3870 3870 #: src/view/screens/ProfileList.tsx:741 3871 3871 msgid "User list by <0/>" 3872 - msgstr "" 3872 + msgstr "<0/>の作成したユーザーリスト" 3873 3873 3874 3874 #: src/view/com/lists/ListCard.tsx:82 3875 3875 #: src/view/com/modals/UserAddRemoveLists.tsx:180 3876 3876 #: src/view/screens/ProfileList.tsx:739 3877 3877 msgid "User list by you" 3878 - msgstr "" 3878 + msgstr "あなたの作成したユーザーリスト" 3879 3879 3880 3880 #: src/view/com/modals/CreateOrEditList.tsx:138 3881 3881 msgid "User list created" 3882 - msgstr "" 3882 + msgstr "ユーザーリストを作成しました" 3883 3883 3884 3884 #: src/view/com/modals/CreateOrEditList.tsx:125 3885 3885 msgid "User list updated" 3886 - msgstr "" 3886 + msgstr "ユーザーリストを更新しました" 3887 3887 3888 3888 #: src/view/screens/Lists.tsx:58 3889 3889 msgid "User Lists" ··· 3908 3908 3909 3909 #: src/view/com/auth/create/Step2.tsx:241 3910 3910 msgid "Verification code" 3911 - msgstr "" 3911 + msgstr "認証コード" 3912 3912 3913 3913 #: src/view/screens/Settings.tsx:843 3914 3914 msgid "Verify email" ··· 3929 3929 3930 3930 #: src/view/com/modals/VerifyEmail.tsx:103 3931 3931 msgid "Verify Your Email" 3932 - msgstr "" 3932 + msgstr "メールアドレスを確認" 3933 3933 3934 3934 #: src/view/com/profile/ProfileHeader.tsx:701 3935 3935 msgid "View {0}'s avatar" 3936 - msgstr "" 3936 + msgstr "{0}のアバターを表示" 3937 3937 3938 3938 #: src/view/screens/Log.tsx:52 3939 3939 msgid "View debug entry" 3940 - msgstr "欠陥事項を表示" 3940 + msgstr "デバッグエントリーを表示" 3941 3941 3942 3942 #: src/view/com/posts/FeedSlice.tsx:103 3943 3943 msgid "View full thread" 3944 - msgstr "" 3944 + msgstr "スレッドをすべて表示" 3945 3945 3946 3946 #: src/view/com/posts/FeedErrorMessage.tsx:172 3947 3947 msgid "View profile" 3948 - msgstr "" 3948 + msgstr "プロフィールを表示" 3949 3949 3950 3950 #: src/view/com/profile/ProfileSubpageHeader.tsx:128 3951 3951 msgid "View the avatar" ··· 3957 3957 3958 3958 #: src/view/com/modals/ContentFilteringSettings.tsx:254 3959 3959 msgid "Warn" 3960 - msgstr "" 3960 + msgstr "警告" 3961 3961 3962 3962 #: src/view/com/posts/DiscoverFallbackHeader.tsx:29 3963 3963 #~ msgid "We ran out of posts from your follows. Here's the latest from" 3964 - #~ msgstr "" 3964 + #~ msgstr "あなたのフォロー中のユーザーの投稿を読み終わりました。以下のフィード内の最新の投稿を表示します:" 3965 3965 3966 3966 #: src/view/com/posts/DiscoverFallbackHeader.tsx:29 3967 3967 msgid "We ran out of posts from your follows. Here's the latest from <0/>." 3968 - msgstr "" 3968 + msgstr "あなたのフォロー中のユーザーの投稿を読み終わりました。フィード<0/>内の最新の投稿を表示します。" 3969 3969 3970 3970 #: src/view/com/modals/AppealLabel.tsx:48 3971 3971 msgid "We'll look into your appeal promptly." 3972 - msgstr "" 3972 + msgstr "私たちはあなたの申し立てを迅速に調査します。" 3973 3973 3974 3974 #: src/view/com/auth/create/CreateAccount.tsx:123 3975 3975 msgid "We're so excited to have you join us!" ··· 3977 3977 3978 3978 #: src/view/screens/ProfileList.tsx:83 3979 3979 msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}." 3980 - msgstr "" 3980 + msgstr "大変申し訳ありませんが、このリストを解決できませんでした。それでもこの問題が解決しない場合は、作成者の@{handleOrDid}までお問い合わせください。" 3981 3981 3982 3982 #: src/view/screens/Search/Search.tsx:245 3983 3983 msgid "We're sorry, but your search could not be completed. Please try again in a few minutes." ··· 4028 4028 4029 4029 #: src/view/com/auth/create/Step2.tsx:260 4030 4030 msgid "XXXXXX" 4031 - msgstr "" 4031 + msgstr "XXXXXX" 4032 4032 4033 4033 #: src/view/com/composer/select-language/SuggestedLanguage.tsx:82 4034 4034 #: src/view/screens/PreferencesHomeFeed.tsx:129 ··· 4043 4043 #: src/view/com/posts/FollowingEmptyState.tsx:67 4044 4044 #: src/view/com/posts/FollowingEndOfFeed.tsx:68 4045 4045 msgid "You can also discover new Custom Feeds to follow." 4046 - msgstr "" 4046 + msgstr "また、あなたはフォローすべき新しいカスタムフィードを発見できます。" 4047 4047 4048 4048 #: src/view/com/auth/create/Step1.tsx:106 4049 4049 #~ msgid "You can change hosting providers at any time." ··· 4076 4076 4077 4077 #: src/view/com/modals/ModerationDetails.tsx:56 4078 4078 msgid "You have blocked this user. You cannot view their content." 4079 - msgstr "" 4079 + msgstr "あなたはこのユーザーをブロックしているため、コンテンツを閲覧できません。" 4080 4080 4081 4081 #: src/view/com/modals/ModerationDetails.tsx:87 4082 4082 msgid "You have muted this user." 4083 - msgstr "" 4083 + msgstr "あなたはこのユーザーをミュートしています。" 4084 4084 4085 4085 #: src/view/com/feeds/ProfileFeedgens.tsx:136 4086 4086 msgid "You have no feeds." ··· 4105 4105 4106 4106 #: src/view/com/modals/ContentFilteringSettings.tsx:170 4107 4107 msgid "You must be 18 or older to enable adult content." 4108 - msgstr "" 4108 + msgstr "成人向けコンテンツを有効にするには、18歳以上である必要があります。" 4109 4109 4110 4110 #: src/view/com/util/forms/PostDropdownBtn.tsx:96 4111 4111 msgid "You will no longer receive notifications for this thread" 4112 - msgstr "" 4112 + msgstr "これ以降、このスレッドに関する通知を受け取ることはできなくなります" 4113 4113 4114 4114 #: src/view/com/util/forms/PostDropdownBtn.tsx:99 4115 4115 msgid "You will now receive notifications for this thread" 4116 - msgstr "" 4116 + msgstr "これ以降、このスレッドに関する通知を受け取ることができます" 4117 4117 4118 4118 #: src/view/com/auth/login/SetNewPasswordForm.tsx:81 4119 4119 msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password." ··· 4121 4121 4122 4122 #: src/view/com/posts/FollowingEndOfFeed.tsx:48 4123 4123 msgid "You've reached the end of your feed! Find some more accounts to follow." 4124 - msgstr "" 4124 + msgstr "フィードはここまでです!もっとフォローするアカウントを見つけましょう。" 4125 4125 4126 4126 #: src/view/com/auth/create/Step1.tsx:67 4127 4127 msgid "Your account" ··· 4129 4129 4130 4130 #: src/view/com/modals/DeleteAccount.tsx:65 4131 4131 msgid "Your account has been deleted" 4132 - msgstr "" 4132 + msgstr "あなたのアカウントは削除されました" 4133 4133 4134 4134 #: src/view/com/auth/create/Step1.tsx:182 4135 4135 msgid "Your birth date" ··· 4137 4137 4138 4138 #: src/view/com/modals/InAppBrowserConsent.tsx:47 4139 4139 msgid "Your choice will be saved, but can be changed later in settings." 4140 - msgstr "" 4140 + msgstr "ここで選択した内容は保存されますが、後から設定で変更できます。" 4141 4141 4142 4142 #: src/view/com/auth/create/state.ts:153 4143 4143 #: src/view/com/auth/login/ForgotPasswordForm.tsx:70 ··· 4158 4158 4159 4159 #: src/view/com/posts/FollowingEmptyState.tsx:47 4160 4160 msgid "Your following feed is empty! Follow more users to see what's happening." 4161 - msgstr "" 4161 + msgstr "フォローフィードは空です!もっと多くのユーザーをフォローして、近況を確認しましょう。" 4162 4162 4163 4163 #: src/view/com/auth/create/Step3.tsx:42 4164 4164 msgid "Your full handle will be" ··· 4166 4166 4167 4167 #: src/view/com/modals/ChangeHandle.tsx:270 4168 4168 msgid "Your full handle will be <0>@{0}</0>" 4169 - msgstr "" 4169 + msgstr "フルハンドルは<0>@{0}</0>になります" 4170 4170 4171 4171 #: src/view/com/auth/create/Step1.tsx:53 4172 4172 #~ msgid "Your hosting provider" ··· 4180 4180 4181 4181 #: src/view/com/composer/Composer.tsx:267 4182 4182 msgid "Your post has been published" 4183 - msgstr "" 4183 + msgstr "投稿を公開しました" 4184 4184 4185 4185 #: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59 4186 4186 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:59 ··· 4198 4198 4199 4199 #: src/view/com/composer/Composer.tsx:266 4200 4200 msgid "Your reply has been published" 4201 - msgstr "" 4201 + msgstr "返信を公開しました" 4202 4202 4203 4203 #: src/view/com/auth/create/Step3.tsx:28 4204 4204 msgid "Your user handle"
+655 -643
src/locale/locales/pt-BR/messages.po
··· 8 8 "Language: pt-BR\n" 9 9 "Project-Id-Version: \n" 10 10 "Report-Msgid-Bugs-To: \n" 11 - "PO-Revision-Date: 2024-01-05 17:00\n" 12 - "Last-Translator: Maison da Silva\n" 13 - "Language-Team: maisondasilva\n" 11 + "PO-Revision-Date: 2024-01-22 12:00\n" 12 + "Last-Translator: gildaswise\n" 13 + "Language-Team: maisondasilva, gildaswise, gleydson, faeriarum\n" 14 14 "Plural-Forms: nplurals=2; plural=(n != 1);\n" 15 15 16 - #: src/view/screens/Profile.tsx:214 17 - #~ msgid "- end of feed -" 18 - #~ msgstr "" 19 - 20 - #: src/view/com/modals/SelfLabel.tsx:138 21 - #~ msgid ". This warning is only available for posts with media attached." 22 - #~ msgstr "" 23 - 24 16 #: src/view/com/modals/VerifyEmail.tsx:142 25 17 msgid "(no email)" 26 - msgstr "" 18 + msgstr "(sem email)" 27 19 28 20 #: src/view/shell/desktop/RightNav.tsx:168 29 21 msgid "{0, plural, one {# invite code available} other {# invite codes available}}" ··· 40 32 41 33 #: src/view/com/profile/ProfileHeader.tsx:632 42 34 msgid "{following} following" 43 - msgstr "" 35 + msgstr "{following} seguindo" 44 36 45 37 #: src/view/shell/desktop/RightNav.tsx:151 46 38 msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}" 47 - msgstr "{invitesAvailable, plural, one {Códigos de convite: # disponível} other {Códigos de convite: # disponíveis}}" 39 + msgstr "{invitesAvailable, plural, one {Convites: # disponível} other {Convites: # disponíveis}}" 48 40 49 41 #: src/view/screens/Settings.tsx:435 50 42 #: src/view/shell/Drawer.tsx:664 51 43 msgid "{invitesAvailable} invite code available" 52 - msgstr "Código de convite {invitesAvailable} disponível" 44 + msgstr "{invitesAvailable} convite disponível" 53 45 54 46 #: src/view/screens/Settings.tsx:437 55 47 #: src/view/shell/Drawer.tsx:666 56 48 msgid "{invitesAvailable} invite codes available" 57 - msgstr "Códigos de convite {invitesAvailable} disponíveis" 49 + msgstr "{invitesAvailable} convites disponíveis" 58 50 59 51 #: src/view/screens/Search/Search.tsx:87 60 52 #~ msgid "{message}" ··· 62 54 63 55 #: src/view/shell/Drawer.tsx:443 64 56 msgid "{numUnreadNotifications} unread" 65 - msgstr "" 57 + msgstr "{numUnreadNotifications} não lidas" 66 58 67 59 #: src/Navigation.tsx:147 68 60 #~ msgid "@{0}" 69 - #~ msgstr "" 61 + #~ msgstr "@{0}" 70 62 71 63 #: src/view/com/threadgate/WhoCanReply.tsx:158 72 64 msgid "<0/> members" ··· 74 66 75 67 #: src/view/com/profile/ProfileHeader.tsx:634 76 68 msgid "<0>{following} </0><1>following</1>" 77 - msgstr "" 69 + msgstr "<0>{seguindo} </0><1>seguindo</1>" 78 70 79 71 #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30 80 72 msgid "<0>Choose your</0><1>Recommended</1><2>Feeds</2>" 81 - msgstr "<0>Escolha seu</0><1>Recomendado</1><2>Feeds</2>" 73 + msgstr "<0>Escolha seus</0><2>Feeds</2><1>recomendados</1>" 82 74 83 75 #: src/view/com/auth/onboarding/RecommendedFollows.tsx:37 84 76 msgid "<0>Follow some</0><1>Recommended</1><2>Users</2>" 85 - msgstr "<0>Seguir alguns</0><1>Recomendado</1><2>Usuários</2>" 86 - 87 - #: src/view/com/modals/AddAppPasswords.tsx:132 88 - #~ msgid "<0>Here is your app password.</0> Use this to sign into the other app along with your handle." 89 - #~ msgstr "" 90 - 91 - #: src/view/screens/Moderation.tsx:212 92 - #~ msgid "<0>Note: This setting may not be respected by third-party apps that display Bluesky content.</0>" 93 - #~ msgstr "" 94 - 95 - #: src/view/screens/Moderation.tsx:212 96 - #~ msgid "<0>Note: Your profile and posts will remain publicly available. Third-party apps that display Bluesky content may not respect this setting.</0>" 97 - #~ msgstr "" 77 + msgstr "<0>Siga alguns</0><2>Usuários</2><1>recomendados</1>" 98 78 99 79 #: src/view/com/auth/onboarding/WelcomeDesktop.tsx:21 100 80 msgid "<0>Welcome to</0><1>Bluesky</1>" 101 - msgstr "" 81 + msgstr "<0>Bem-vindo ao</0><1>Bluesky</1>" 102 82 103 83 #: src/view/com/profile/ProfileHeader.tsx:597 104 84 msgid "⚠Invalid Handle" 105 - msgstr "" 85 + msgstr "⚠Usuário Inválido" 106 86 107 87 #: src/view/com/util/moderation/LabelInfo.tsx:45 108 88 msgid "A content warning has been applied to this {0}." ··· 115 95 #: src/view/com/util/ViewHeader.tsx:83 116 96 #: src/view/screens/Search/Search.tsx:545 117 97 msgid "Access navigation links and settings" 118 - msgstr "" 98 + msgstr "Acessar links de navegação e configurações" 119 99 120 100 #: src/view/com/pager/FeedsTabBarMobile.tsx:83 121 101 msgid "Access profile and other navigation links" 122 - msgstr "" 102 + msgstr "Acessar perfil e outros links de navegação" 123 103 124 104 #: src/view/com/modals/EditImage.tsx:299 125 105 #: src/view/screens/Settings.tsx:445 ··· 133 113 134 114 #: src/view/com/profile/ProfileHeader.tsx:293 135 115 msgid "Account blocked" 136 - msgstr "" 116 + msgstr "Conta bloqueada" 137 117 138 118 #: src/view/com/profile/ProfileHeader.tsx:260 139 119 msgid "Account muted" 140 - msgstr "" 120 + msgstr "Conta silenciada" 141 121 142 122 #: src/view/com/modals/ModerationDetails.tsx:86 143 123 msgid "Account Muted" 144 - msgstr "" 124 + msgstr "Conta Silenciada" 145 125 146 126 #: src/view/com/modals/ModerationDetails.tsx:72 147 127 msgid "Account Muted by List" 148 - msgstr "" 128 + msgstr "Conta Silenciada por Lista" 149 129 150 130 #: src/view/com/util/AccountDropdownBtn.tsx:41 151 131 msgid "Account options" 152 - msgstr "Opções da conta" 132 + msgstr "Configurações da conta" 153 133 154 134 #: src/view/com/util/AccountDropdownBtn.tsx:25 155 135 msgid "Account removed from quick access" 156 - msgstr "" 136 + msgstr "Conta removida do acesso rápido" 157 137 158 138 #: src/view/com/profile/ProfileHeader.tsx:315 159 139 msgid "Account unblocked" 160 - msgstr "" 140 + msgstr "Conta desbloqueada" 161 141 162 142 #: src/view/com/profile/ProfileHeader.tsx:273 163 143 msgid "Account unmuted" 164 - msgstr "" 144 + msgstr "Conta dessilenciada" 165 145 166 146 #: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150 167 147 #: src/view/com/modals/ListAddRemoveUsers.tsx:264 ··· 193 173 #: src/view/screens/AppPasswords.tsx:143 194 174 #: src/view/screens/AppPasswords.tsx:156 195 175 msgid "Add App Password" 196 - msgstr "" 176 + msgstr "Adicionar Senha de Aplicativo" 197 177 198 178 #: src/view/com/modals/report/InputIssueDetails.tsx:41 199 179 #: src/view/com/modals/report/Modal.tsx:191 ··· 202 182 203 183 #: src/view/com/modals/report/Modal.tsx:194 204 184 msgid "Add details to report" 205 - msgstr "Adicionar detalhes ao relatório" 185 + msgstr "Adicionar detalhes à denúncia" 206 186 207 187 #: src/view/com/composer/Composer.tsx:446 208 188 msgid "Add link card" 209 - msgstr "Adicionar cartão de link" 189 + msgstr "Adicionar prévia de link" 210 190 211 191 #: src/view/com/composer/Composer.tsx:451 212 192 msgid "Add link card:" 213 - msgstr "Adicionar cartão de link:" 193 + msgstr "Adicionar prévia de link:" 214 194 215 195 #: src/view/com/modals/ChangeHandle.tsx:417 216 196 msgid "Add the following DNS record to your domain:" ··· 227 207 228 208 #: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:139 229 209 msgid "Added" 230 - msgstr "" 210 + msgstr "Adicionado" 231 211 232 212 #: src/view/com/modals/ListAddRemoveUsers.tsx:191 233 213 #: src/view/com/modals/UserAddRemoveLists.tsx:128 ··· 236 216 237 217 #: src/view/com/feeds/FeedSourceCard.tsx:125 238 218 msgid "Added to my feeds" 239 - msgstr "" 219 + msgstr "Adicionado aos meus feeds" 240 220 241 221 #: src/view/screens/PreferencesHomeFeed.tsx:173 242 222 msgid "Adjust the number of likes a reply must have to be shown in your feed." 243 - msgstr "Ajuste o número de curtidas que uma resposta deve ser mostrada no seu feed." 223 + msgstr "Ajuste o número de curtidas para que uma resposta apareça no seu feed." 244 224 245 225 #: src/view/com/modals/SelfLabel.tsx:75 246 226 msgid "Adult Content" ··· 248 228 249 229 #: src/view/com/modals/ContentFilteringSettings.tsx:137 250 230 msgid "Adult content can only be enabled via the Web at <0/>." 251 - msgstr "" 231 + msgstr "Conteúdo adulto só pode ser habilitado no site: <0/>." 252 232 253 233 #: src/view/screens/Settings.tsx:630 254 234 msgid "Advanced" ··· 256 236 257 237 #: src/view/com/auth/login/ChooseAccountForm.tsx:98 258 238 msgid "Already signed in as @{0}" 259 - msgstr "" 239 + msgstr "Já logado como @{0}" 260 240 261 241 #: src/view/com/composer/photos/Gallery.tsx:130 262 242 msgid "ALT" ··· 268 248 269 249 #: src/view/com/composer/photos/Gallery.tsx:209 270 250 msgid "Alt text describes images for blind and low-vision users, and helps give context to everyone." 271 - msgstr "O texto alternativo descreve imagens para usuários cegos e com baixa visão e ajuda a dar contexto a todos." 251 + msgstr "O texto alternativo descreve imagens para usuários cegos e com baixa visão, além de dar contexto a todos." 272 252 273 253 #: src/view/com/modals/VerifyEmail.tsx:124 274 254 msgid "An email has been sent to {0}. It includes a confirmation code which you can enter below." ··· 276 256 277 257 #: src/view/com/modals/ChangeEmail.tsx:119 278 258 msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below." 279 - msgstr "Um email foi enviado para seu endereço anterior, {0}. Ele inclui um código de confirmação que você pode inserir abaixo." 259 + msgstr "Um email foi enviado para seu email anterior, {0}. Ele inclui um código de confirmação que você pode inserir abaixo." 280 260 281 261 #: src/view/com/profile/FollowButton.tsx:30 282 262 #: src/view/com/profile/FollowButton.tsx:40 283 263 msgid "An issue occurred, please try again." 284 - msgstr "" 264 + msgstr "Ocorreu um problema, por favor tente novamente." 285 265 286 266 #: src/view/com/notifications/FeedItem.tsx:240 287 267 #: src/view/com/threadgate/WhoCanReply.tsx:178 ··· 294 274 295 275 #: src/view/screens/AppPasswords.tsx:228 296 276 msgid "App password deleted" 297 - msgstr "" 277 + msgstr "Senha de Aplicativo excluída" 298 278 299 279 #: src/view/com/modals/AddAppPasswords.tsx:133 300 280 msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores." 301 - msgstr "" 281 + msgstr "O nome da Senha de Aplicativo só pode conter letras, números, traços e sublinhados." 302 282 303 283 #: src/view/com/modals/AddAppPasswords.tsx:98 304 284 msgid "App Password names must be at least 4 characters long." 305 - msgstr "" 285 + msgstr "O nome da Senha de Aplicativo precisa ter no mínimo 4 caracteres." 306 286 307 287 #: src/view/screens/Settings.tsx:641 308 288 msgid "App password settings" 309 - msgstr "" 289 + msgstr "Configurações de Senha de Aplicativo" 310 290 311 291 #: src/view/screens/Settings.tsx:650 312 292 msgid "App passwords" ··· 319 299 320 300 #: src/view/com/util/forms/PostDropdownBtn.tsx:248 321 301 msgid "Appeal content warning" 322 - msgstr "Aviso de conteúdo de apelação" 302 + msgstr "Contestar aviso de conteúdo" 323 303 324 304 #: src/view/com/modals/AppealLabel.tsx:65 325 305 msgid "Appeal Content Warning" 326 - msgstr "Aviso de Conteúdo de Apelação" 327 - 328 - #: src/view/com/modals/AppealLabel.tsx:65 329 - #~ msgid "Appeal Decision" 330 - #~ msgstr "" 306 + msgstr "Contestar aviso de conteúdo" 331 307 332 308 #: src/view/com/util/moderation/LabelInfo.tsx:52 333 309 msgid "Appeal this decision" 334 - msgstr "Apelar a esta decisão" 310 + msgstr "Contestar esta decisão" 335 311 336 312 #: src/view/com/util/moderation/LabelInfo.tsx:56 337 313 msgid "Appeal this decision." 338 - msgstr "Apelar a esta decisão." 314 + msgstr "Contestar esta decisão." 339 315 340 316 #: src/view/screens/Settings.tsx:460 341 317 msgid "Appearance" ··· 343 319 344 320 #: src/view/screens/Moderation.tsx:206 345 321 #~ msgid "Apps that respect this setting, including the official Bluesky app and bsky.app website, won't show your content to logged out users." 346 - #~ msgstr "" 322 + #~ msgstr "Aplicativos que respeitam esta configuração, incluindo os aplicativos oficiais do Bluesky e o site, não mostrarão seu conteúdo para usuários deslogados." 347 323 348 324 #: src/view/screens/AppPasswords.tsx:224 349 325 msgid "Are you sure you want to delete the app password \"{name}\"?" ··· 363 339 364 340 #: src/view/com/composer/select-language/SuggestedLanguage.tsx:65 365 341 msgid "Are you writing in <0>{0}</0>?" 366 - msgstr "" 342 + msgstr "Você está escrevendo em <0>{0}</0>?" 367 343 368 344 #: src/view/com/modals/SelfLabel.tsx:123 369 345 msgid "Artistic or non-erotic nudity." ··· 371 347 372 348 #: src/view/screens/Moderation.tsx:189 373 349 #~ msgid "Ask apps to limit the visibility of my account" 374 - #~ msgstr "" 350 + #~ msgstr "Exigir visibilidade limitada da minha conta" 375 351 376 352 #: src/view/com/auth/create/CreateAccount.tsx:142 377 353 #: src/view/com/auth/login/ChooseAccountForm.tsx:151 ··· 390 366 #: src/view/com/post-thread/PostThread.tsx:400 391 367 msgctxt "action" 392 368 msgid "Back" 393 - msgstr "" 369 + msgstr "Voltar" 394 370 395 371 #: src/view/screens/Settings.tsx:489 396 372 msgid "Basics" ··· 420 396 421 397 #: src/view/screens/ProfileList.tsx:315 422 398 msgid "Block these accounts?" 423 - msgstr "Bloquear esta conta?" 399 + msgstr "Bloquear estas contas?" 424 400 425 401 #: src/view/screens/ProfileList.tsx:319 426 402 msgid "Block this List" 427 - msgstr "" 403 + msgstr "Bloquear esta Lista" 428 404 429 405 #: src/view/com/lists/ListCard.tsx:109 430 406 #: src/view/com/util/post-embeds/QuoteEmbed.tsx:60 431 407 msgid "Blocked" 432 - msgstr "" 408 + msgstr "Bloqueado" 433 409 434 410 #: src/view/screens/Moderation.tsx:123 435 411 msgid "Blocked accounts" ··· 442 418 443 419 #: src/view/com/profile/ProfileHeader.tsx:288 444 420 msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you." 445 - msgstr "Contas bloqueadas não podem responder em seus tópicos, mencioná-lo ou interagir com você." 421 + msgstr "Contas bloqueadas não podem te responder, mencionar ou interagir com você." 446 422 447 423 #: src/view/screens/ModerationBlockedAccounts.tsx:115 448 424 msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you. You will not see their content and they will be prevented from seeing yours." 449 - msgstr "Contas bloqueadas não podem responder em seus tópicos, mencioná-lo ou interagir com você. Você não verá o seu conteúdo e eles serão impedidos de ver o seu." 425 + msgstr "Contas bloqueadas não podem te responder, mencionar ou interagir com você. Você não verá o conteúdo deles e eles serão impedidos de ver o seu." 450 426 451 427 #: src/view/com/post-thread/PostThread.tsx:254 452 428 msgid "Blocked post." ··· 454 430 455 431 #: src/view/screens/ProfileList.tsx:317 456 432 msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you." 457 - msgstr "Bloquear é público. Contas bloqueadas não podem responder em seus tópicos, mencioná-lo ou interagir com você." 433 + msgstr "Bloqueios são públicos. Contas bloqueadas não podem te responder, mencionar ou interagir com você." 458 434 459 435 #: src/view/com/auth/HomeLoggedOutCTA.tsx:93 460 436 msgid "Blog" ··· 472 448 #: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69 473 449 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:69 474 450 msgid "Bluesky is open." 475 - msgstr "Bluesky está aberto." 451 + msgstr "Bluesky é aberto." 476 452 477 453 #: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56 478 454 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:56 ··· 481 457 482 458 #: src/view/com/modals/Waitlist.tsx:70 483 459 msgid "Bluesky uses invites to build a healthier community. If you don't know anybody with an invite, you can sign up for the waitlist and we'll send one soon." 484 - msgstr "O Bluesky usa convites para criar uma comunidade mais saudável. Se você não conhece ninguém com um convite, você pode se inscrever na lista de espera e nós enviaremos um em breve." 460 + msgstr "O Bluesky usa convites para criar uma comunidade mais saudável. Se você não conhece ninguém que tenha um convite, inscreva-se na lista de espera e em breve enviaremos um para você." 485 461 486 462 #: src/view/screens/Moderation.tsx:225 487 463 msgid "Bluesky will not show your profile and posts to logged-out users. Other apps may not honor this request. This does not make your account private." 488 - msgstr "O Bluesky não mostrará seu perfil e publicações para usuários desconectados. Outros aplicativos não podem honrar esta solicitação. Isso não torna a sua conta privada." 464 + msgstr "O Bluesky não mostrará seu perfil e publicações para usuários desconectados. Outros aplicativos podem não honrar esta solicitação. Isso não torna a sua conta privada." 489 465 490 466 #: src/view/com/modals/ServerInput.tsx:78 491 467 msgid "Bluesky.Social" ··· 493 469 494 470 #: src/view/screens/Settings.tsx:792 495 471 msgid "Build version {0} {1}" 496 - msgstr "Versão da compilação {0} {1}" 472 + msgstr "Versão {0} {1}" 497 473 498 474 #: src/view/com/auth/HomeLoggedOutCTA.tsx:87 499 475 msgid "Business" 500 - msgstr "Negócios" 476 + msgstr "Empresarial" 501 477 502 478 #: src/view/com/modals/ServerInput.tsx:115 503 479 msgid "Button disabled. Input custom domain to proceed." 504 - msgstr "" 480 + msgstr "Botão desabilitado. Utilize um domínio personalizado para continuar." 505 481 506 482 #: src/view/com/profile/ProfileSubpageHeader.tsx:157 507 483 msgid "by —" 508 - msgstr "" 484 + msgstr "por -" 509 485 510 486 #: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:100 511 487 msgid "by {0}" 512 - msgstr "" 488 + msgstr "por {0}" 513 489 514 490 #: src/view/com/profile/ProfileSubpageHeader.tsx:161 515 491 msgid "by <0/>" 516 - msgstr "" 492 + msgstr "por <0/>" 517 493 518 494 #: src/view/com/profile/ProfileSubpageHeader.tsx:159 519 495 msgid "by you" 520 - msgstr "" 496 + msgstr "por você" 521 497 522 498 #: src/view/com/composer/photos/OpenCameraBtn.tsx:60 523 - #: src/view/com/util/UserAvatar.tsx:221 499 + #: src/view/com/util/UserAvatar.tsx:221 524 500 #: src/view/com/util/UserBanner.tsx:38 525 501 msgid "Camera" 526 502 msgstr "Câmera" ··· 555 531 #: src/view/com/modals/DeleteAccount.tsx:230 556 532 msgctxt "action" 557 533 msgid "Cancel" 558 - msgstr "" 534 + msgstr "Cancelar" 559 535 560 536 #: src/view/com/modals/DeleteAccount.tsx:148 561 537 #: src/view/com/modals/DeleteAccount.tsx:226 562 538 msgid "Cancel account deletion" 563 539 msgstr "Cancelar exclusão da conta" 564 540 565 - #: src/view/com/modals/AltImage.tsx:123 566 - #~ msgid "Cancel add image alt text" 567 - #~ msgstr "Cancelar adição de texto alternativo da imagem" 568 - 569 541 #: src/view/com/modals/ChangeHandle.tsx:149 570 542 msgid "Cancel change handle" 571 - msgstr "Cancelar alteração de identificador" 543 + msgstr "Cancelar alteração de usuário" 572 544 573 545 #: src/view/com/modals/crop-image/CropImage.web.tsx:134 574 546 msgid "Cancel image crop" ··· 580 552 581 553 #: src/view/com/modals/Repost.tsx:78 582 554 msgid "Cancel quote post" 583 - msgstr "Cancelar citação de um post" 555 + msgstr "Cancelar citação" 584 556 585 557 #: src/view/com/modals/ListAddRemoveUsers.tsx:87 586 558 #: src/view/shell/desktop/Search.tsx:234 ··· 594 566 #: src/view/screens/Settings.tsx:334 595 567 msgctxt "action" 596 568 msgid "Change" 597 - msgstr "" 569 + msgstr "Alterar" 598 570 599 571 #: src/view/screens/Settings.tsx:306 600 572 #~ msgid "Change" ··· 603 575 #: src/view/screens/Settings.tsx:662 604 576 #: src/view/screens/Settings.tsx:671 605 577 msgid "Change handle" 606 - msgstr "Alterar Identificador" 578 + msgstr "Alterar usuário" 607 579 608 580 #: src/view/com/modals/ChangeHandle.tsx:161 609 581 msgid "Change Handle" 610 - msgstr "Alterar Identificador" 582 + msgstr "Alterar Usuário" 611 583 612 584 #: src/view/com/modals/VerifyEmail.tsx:147 613 585 msgid "Change my email" ··· 615 587 616 588 #: src/view/com/composer/select-language/SuggestedLanguage.tsx:78 617 589 msgid "Change post language to {0}" 618 - msgstr "" 590 + msgstr "Trocar idioma do post para {0}" 619 591 620 592 #: src/view/com/modals/ChangeEmail.tsx:109 621 593 msgid "Change Your Email" ··· 623 595 624 596 #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:121 625 597 msgid "Check out some recommended feeds. Tap + to add them to your list of pinned feeds." 626 - msgstr "Confira alguns feeds recomendados. Toque em + para adicioná-los a sua lista de feeds fixados." 598 + msgstr "Confira alguns feeds recomendados. Toque em + para adicioná-los à sua lista de feeds fixados." 627 599 628 600 #: src/view/com/auth/onboarding/RecommendedFollows.tsx:185 629 601 msgid "Check out some recommended users. Follow them to see similar users." ··· 631 603 632 604 #: src/view/com/modals/DeleteAccount.tsx:165 633 605 msgid "Check your inbox for an email with the confirmation code to enter below:" 634 - msgstr "Verifique sua caixa de entrada para um email com o código de confirmação abaixo:" 606 + msgstr "Verifique em sua caixa de entrada um e-mail com o código de confirmação abaixo:" 635 607 636 608 #: src/view/com/modals/Threadgate.tsx:72 637 609 msgid "Choose \"Everybody\" or \"Nobody\"" 638 - msgstr "Escolha \"Everybody\" ou \"Nobody\"" 610 + msgstr "Escolha \"Todos\" ou \"Ninguém\"" 639 611 640 612 #: src/view/screens/Settings.tsx:663 641 613 msgid "Choose a new Bluesky username or create" 642 - msgstr "" 614 + msgstr "Crie ou escolha um novo usuário no Bluesky" 643 615 644 616 #: src/view/com/modals/ServerInput.tsx:38 645 617 msgid "Choose Service" 646 - msgstr "Escolher o Serviço" 618 + msgstr "Escolher Serviço" 647 619 648 620 #: src/view/com/auth/onboarding/WelcomeDesktop.tsx:83 649 621 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:83 650 622 msgid "Choose the algorithms that power your experience with custom feeds." 651 - msgstr "Escolha os algoritmos que alimentam a sua experiência com feeds personalizados." 652 - 653 - #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:65 654 - #~ msgid "Choose your" 655 - #~ msgstr "" 623 + msgstr "Escolha os algoritmos que fazem sentido para você com os feeds personalizados." 656 624 657 625 #: src/view/com/auth/create/Step1.tsx:163 658 626 msgid "Choose your password" ··· 665 633 666 634 #: src/view/screens/Settings.tsx:770 667 635 msgid "Clear all legacy storage data (restart after this)" 668 - msgstr "Limpar todos os dados de armazenamento legados (reinicie após isso)" 636 + msgstr "Limpar todos os dados de armazenamento legados (reinicie em seguida)" 669 637 670 638 #: src/view/screens/Settings.tsx:779 671 639 #: src/view/screens/Settings.tsx:780 ··· 674 642 675 643 #: src/view/screens/Settings.tsx:782 676 644 msgid "Clear all storage data (restart after this)" 677 - msgstr "Limpar todos os dados de armazenamento (reiniciar após isso)" 645 + msgstr "Limpar todos os dados de armazenamento (reinicie em seguida)" 678 646 679 647 #: src/view/com/util/forms/SearchInput.tsx:74 680 648 #: src/view/screens/Search/Search.tsx:590 681 649 msgid "Clear search query" 682 - msgstr "Limpar consulta de busca" 650 + msgstr "Limpar busca" 683 651 684 652 #: src/view/screens/Support.tsx:40 685 653 msgid "click here" 686 - msgstr "" 654 + msgstr "clique aqui" 687 655 688 656 #: src/components/Dialog/index.web.tsx:78 689 657 msgid "Close active dialog" 690 - msgstr "" 658 + msgstr "Fechar janela ativa" 691 659 692 660 #: src/view/com/auth/login/PasswordUpdatedForm.tsx:38 693 661 msgid "Close alert" ··· 695 663 696 664 #: src/view/com/util/BottomSheetCustomBackdrop.tsx:33 697 665 msgid "Close bottom drawer" 698 - msgstr "Fechar gaveta inferior" 666 + msgstr "Fechar parte inferior" 699 667 700 668 #: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:26 701 669 msgid "Close image" ··· 707 675 708 676 #: src/view/shell/index.web.tsx:51 709 677 msgid "Close navigation footer" 710 - msgstr "Feche o painel de navegação" 678 + msgstr "Fechar o painel de navegação" 711 679 712 680 #: src/view/shell/index.web.tsx:52 713 681 msgid "Closes bottom navigation bar" 714 - msgstr "" 682 + msgstr "Fecha barra de navegação inferior" 715 683 716 684 #: src/view/com/auth/login/PasswordUpdatedForm.tsx:39 717 685 msgid "Closes password update alert" 718 - msgstr "" 686 + msgstr "Fecha alerta de troca de senha" 719 687 720 688 #: src/view/com/composer/Composer.tsx:302 721 689 msgid "Closes post composer and discards post draft" 722 - msgstr "" 690 + msgstr "Fecha o editor de post e descarta o rascunho" 723 691 724 692 #: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27 725 693 msgid "Closes viewer for header image" 726 - msgstr "" 694 + msgstr "Fechar o visualizador de banner" 727 695 728 696 #: src/view/com/notifications/FeedItem.tsx:321 729 697 msgid "Collapses list of users for a given notification" 730 - msgstr "" 698 + msgstr "Fecha lista de usuários da notificação" 731 699 732 700 #: src/Navigation.tsx:227 733 701 #: src/view/screens/CommunityGuidelines.tsx:32 ··· 736 704 737 705 #: src/view/com/composer/Composer.tsx:417 738 706 msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length" 739 - msgstr "" 707 + msgstr "Escreva posts de até {MAX_GRAPHEME_LENGTH} caracteres" 740 708 741 709 #: src/view/com/composer/Prompt.tsx:24 742 710 msgid "Compose reply" ··· 750 718 #: src/view/screens/PreferencesHomeFeed.tsx:308 751 719 #: src/view/screens/PreferencesThreads.tsx:159 752 720 msgid "Confirm" 753 - msgstr "Confirme" 721 + msgstr "Confirmar" 754 722 755 723 #: src/view/com/modals/Confirm.tsx:75 756 724 #: src/view/com/modals/Confirm.tsx:78 757 725 msgctxt "action" 758 726 msgid "Confirm" 759 - msgstr "" 727 + msgstr "Confirmar" 728 + 729 + #: src/view/com/modals/Confirm.tsx:75 730 + #: src/view/com/modals/Confirm.tsx:78 731 + msgctxt "action" 732 + msgid "Confirm" 733 + msgstr "Confirmar" 760 734 761 735 #: src/view/com/modals/ChangeEmail.tsx:193 762 736 #: src/view/com/modals/ChangeEmail.tsx:195 ··· 773 747 774 748 #: src/view/com/modals/ContentFilteringSettings.tsx:151 775 749 msgid "Confirm your age to enable adult content." 776 - msgstr "" 750 + msgstr "Confirme sua idade para habilitar conteúdo adulto." 777 751 778 752 #: src/view/com/modals/ChangeEmail.tsx:157 779 753 #: src/view/com/modals/DeleteAccount.tsx:178 ··· 783 757 784 758 #: src/view/com/modals/Waitlist.tsx:120 785 759 msgid "Confirms signing up {email} to the waitlist" 786 - msgstr "" 760 + msgstr "Confirma adição de {email} à lista de espera" 787 761 788 762 #: src/view/com/auth/create/CreateAccount.tsx:175 789 763 #: src/view/com/auth/login/LoginForm.tsx:275 ··· 792 766 793 767 #: src/view/com/auth/create/CreateAccount.tsx:195 794 768 msgid "Contact support" 795 - msgstr "" 769 + msgstr "Contatar suporte" 796 770 797 771 #: src/view/screens/Moderation.tsx:81 798 772 msgid "Content filtering" 799 - msgstr "Filtragem de conteúdo" 773 + msgstr "Filtragem do conteúdo" 800 774 801 775 #: src/view/com/modals/ContentFilteringSettings.tsx:44 802 776 msgid "Content Filtering" 803 - msgstr "Filtragem de Conteúdo" 777 + msgstr "Filtragem do Conteúdo" 804 778 805 779 #: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74 806 780 #: src/view/screens/LanguageSettings.tsx:278 807 781 msgid "Content Languages" 808 - msgstr "Idiomas de Conteúdo" 782 + msgstr "Idiomas do Conteúdo" 809 783 810 784 #: src/view/com/modals/ModerationDetails.tsx:65 811 785 msgid "Content Not Available" 812 - msgstr "" 786 + msgstr "Conteúdo Indisponível" 813 787 814 788 #: src/view/com/modals/ModerationDetails.tsx:33 815 789 #: src/view/com/util/moderation/ScreenHider.tsx:78 ··· 832 806 833 807 #: src/view/screens/Settings.tsx:243 834 808 msgid "Copied build version to clipboard" 835 - msgstr "" 809 + msgstr "Versão do aplicativo copiada" 836 810 837 811 #: src/view/com/modals/AddAppPasswords.tsx:75 838 812 #: src/view/com/modals/InviteCodes.tsx:152 839 813 #: src/view/com/util/forms/PostDropdownBtn.tsx:110 840 814 msgid "Copied to clipboard" 841 - msgstr "" 815 + msgstr "Copiado" 842 816 843 817 #: src/view/com/modals/AddAppPasswords.tsx:191 844 818 msgid "Copies app password" 845 - msgstr "" 819 + msgstr "Copia senha de aplicativo" 846 820 847 821 #: src/view/com/modals/AddAppPasswords.tsx:190 848 822 msgid "Copy" ··· 854 828 855 829 #: src/view/com/util/forms/PostDropdownBtn.tsx:151 856 830 msgid "Copy link to post" 857 - msgstr "Copiar link para postar" 831 + msgstr "Copiar link do post" 858 832 859 833 #: src/view/com/profile/ProfileHeader.tsx:342 860 834 msgid "Copy link to profile" ··· 862 836 863 837 #: src/view/com/util/forms/PostDropdownBtn.tsx:137 864 838 msgid "Copy post text" 865 - msgstr "Copiar texto da postagem" 839 + msgstr "Copiar texto do post" 866 840 867 841 #: src/Navigation.tsx:232 868 842 #: src/view/screens/CopyrightPolicy.tsx:29 ··· 879 853 880 854 #: src/view/com/auth/create/Step2.tsx:89 881 855 msgid "Country" 882 - msgstr "" 856 + msgstr "País" 883 857 884 858 #: src/view/com/auth/HomeLoggedOutCTA.tsx:62 885 859 #: src/view/com/auth/SplashScreen.tsx:46 ··· 889 863 890 864 #: src/view/screens/Settings.tsx:384 891 865 msgid "Create a new Bluesky account" 892 - msgstr "" 866 + msgstr "Criar uma nova conta do Bluesky" 893 867 894 868 #: src/view/com/auth/create/CreateAccount.tsx:122 895 869 msgid "Create Account" ··· 897 871 898 872 #: src/view/com/modals/AddAppPasswords.tsx:228 899 873 msgid "Create App Password" 900 - msgstr "" 874 + msgstr "Criar Senha de Aplicativo" 901 875 902 876 #: src/view/com/auth/HomeLoggedOutCTA.tsx:54 903 877 #: src/view/com/auth/SplashScreen.tsx:43 ··· 906 880 907 881 #: src/view/screens/AppPasswords.tsx:249 908 882 msgid "Created {0}" 909 - msgstr "Criado {0}" 883 + msgstr "{0} criada" 910 884 911 885 #: src/view/screens/ProfileFeed.tsx:625 912 886 msgid "Created by <0/>" 913 - msgstr "" 887 + msgstr "Criado por <0/>" 914 888 915 889 #: src/view/screens/ProfileFeed.tsx:623 916 890 msgid "Created by you" 917 - msgstr "" 891 + msgstr "Criado por você" 918 892 919 893 #: src/view/com/composer/Composer.tsx:448 920 894 msgid "Creates a card with a thumbnail. The card links to {url}" 921 - msgstr "" 895 + msgstr "Cria uma prévia com miniatura. A prévia faz um link para {url}" 922 896 923 897 #: src/view/com/modals/ChangeHandle.tsx:389 924 898 #: src/view/com/modals/ServerInput.tsx:102 ··· 927 901 928 902 #: src/view/screens/PreferencesExternalEmbeds.tsx:55 929 903 msgid "Customize media from external sites." 930 - msgstr "Personalize a mídia de sites externos." 904 + msgstr "Configurar mídia de sites externos." 931 905 932 906 #: src/view/screens/Settings.tsx:687 933 907 msgid "Danger Zone" 934 - msgstr "Zona de Perigo" 908 + msgstr "Zona Perigosa" 935 909 936 910 #: src/view/screens/Settings.tsx:479 937 911 msgid "Dark" 938 - msgstr "" 912 + msgstr "Escuro" 939 913 940 914 #: src/view/screens/Debug.tsx:63 941 915 msgid "Dark mode" 942 - msgstr "" 916 + msgstr "Modo escuro" 943 917 944 918 #: src/Navigation.tsx:204 945 919 #~ msgid "Debug" 946 - #~ msgstr "" 920 + #~ msgstr "Depuração" 947 921 948 922 #: src/view/screens/Debug.tsx:83 949 923 msgid "Debug panel" 950 - msgstr "" 924 + msgstr "Painel de depuração" 951 925 952 926 #: src/view/screens/Settings.tsx:694 953 927 msgid "Delete account" ··· 960 934 #: src/view/screens/AppPasswords.tsx:222 961 935 #: src/view/screens/AppPasswords.tsx:242 962 936 msgid "Delete app password" 963 - msgstr "Excluir senha do aplicativo" 937 + msgstr "Excluir senha de aplicativo" 964 938 965 939 #: src/view/screens/ProfileList.tsx:363 966 940 #: src/view/screens/ProfileList.tsx:423 ··· 985 959 986 960 #: src/view/com/util/post-embeds/QuoteEmbed.tsx:69 987 961 msgid "Deleted" 988 - msgstr "" 962 + msgstr "Excluído" 989 963 990 964 #: src/view/com/post-thread/PostThread.tsx:246 991 965 msgid "Deleted post." ··· 1004 978 1005 979 #: src/view/screens/Settings.tsx:711 1006 980 msgid "Developer Tools" 1007 - msgstr "Ferramentas do Desenvolvedor" 981 + msgstr "Ferramentas de Desenvolvedor" 1008 982 1009 983 #: src/view/com/composer/Composer.tsx:211 1010 984 msgid "Did you want to say anything?" ··· 1020 994 1021 995 #: src/view/screens/Moderation.tsx:207 1022 996 msgid "Discourage apps from showing my account to logged-out users" 1023 - msgstr "Desencorajar aplicativos de mostrar minha conta para usuários desconectados" 997 + msgstr "Desencorajar aplicativos a mostrar minha conta para usuários deslogados" 1024 998 1025 999 #: src/view/com/posts/FollowingEmptyState.tsx:74 1026 1000 #: src/view/com/posts/FollowingEndOfFeed.tsx:75 1027 1001 msgid "Discover new custom feeds" 1028 - msgstr "" 1002 + msgstr "Descubra novos feeds" 1029 1003 1030 1004 #: src/view/screens/Feeds.tsx:409 1031 1005 msgid "Discover new feeds" ··· 1045 1019 1046 1020 #: src/view/com/auth/create/Step1.tsx:114 1047 1021 msgid "Don't have an invite code?" 1048 - msgstr "" 1022 + msgstr "Não possui um convite?" 1049 1023 1050 1024 #: src/view/com/auth/onboarding/RecommendedFollows.tsx:86 1051 1025 #: src/view/com/modals/EditImage.tsx:333 ··· 1058 1032 #: src/view/screens/PreferencesThreads.tsx:162 1059 1033 msgctxt "action" 1060 1034 msgid "Done" 1061 - msgstr "" 1035 + msgstr "Feito" 1062 1036 1063 1037 #: src/view/com/modals/AddAppPasswords.tsx:228 1064 1038 #: src/view/com/modals/AltImage.tsx:115 ··· 1078 1052 1079 1053 #: src/view/com/auth/login/ChooseAccountForm.tsx:45 1080 1054 msgid "Double tap to sign in" 1081 - msgstr "" 1055 + msgstr "Toque duas vezes para logar" 1082 1056 1083 1057 #: src/view/com/modals/EditProfile.tsx:185 1084 1058 msgid "e.g. Alice Roberts" 1085 - msgstr "" 1059 + msgstr "ex. Alice Roberts" 1086 1060 1087 1061 #: src/view/com/modals/EditProfile.tsx:203 1088 1062 msgid "e.g. Artist, dog-lover, and avid reader." 1089 - msgstr "" 1063 + msgstr "ex. Artista, amo cachorros, leitora ávida." 1090 1064 1091 1065 #: src/view/com/modals/CreateOrEditList.tsx:223 1092 1066 msgid "e.g. Great Posters" 1093 - msgstr "" 1067 + msgstr "ex. Perfis Legais" 1094 1068 1095 1069 #: src/view/com/modals/CreateOrEditList.tsx:224 1096 1070 msgid "e.g. Spammers" 1097 - msgstr "" 1071 + msgstr "ex. Chatos" 1098 1072 1099 1073 #: src/view/com/modals/CreateOrEditList.tsx:244 1100 1074 msgid "e.g. The posters who never miss." 1101 - msgstr "" 1075 + msgstr "ex. Os perfis que eu mais gosto." 1102 1076 1103 1077 #: src/view/com/modals/CreateOrEditList.tsx:245 1104 1078 msgid "e.g. Users that repeatedly reply with ads." 1105 - msgstr "" 1079 + msgstr "ex. Perfis que enchem o saco." 1106 1080 1107 1081 #: src/view/com/modals/InviteCodes.tsx:96 1108 1082 msgid "Each code works once. You'll receive more invite codes periodically." 1109 - msgstr "Cada código só funciona uma vez. Você receberá mais códigos de convite periodicamente." 1083 + msgstr "Cada convite só funciona uma vez. Você receberá mais convites periodicamente." 1110 1084 1111 1085 #: src/view/com/lists/ListMembers.tsx:149 1112 1086 msgctxt "action" 1113 1087 msgid "Edit" 1114 - msgstr "" 1088 + msgstr "Editar" 1115 1089 1116 1090 #: src/view/com/composer/photos/Gallery.tsx:144 1117 1091 #: src/view/com/modals/EditImage.tsx:207 ··· 1124 1098 1125 1099 #: src/view/com/modals/CreateOrEditList.tsx:192 1126 1100 msgid "Edit Moderation List" 1127 - msgstr "" 1101 + msgstr "Editar lista de moderação" 1128 1102 1129 1103 #: src/Navigation.tsx:242 1130 1104 #: src/view/screens/Feeds.tsx:371 ··· 1150 1124 1151 1125 #: src/view/com/modals/CreateOrEditList.tsx:187 1152 1126 msgid "Edit User List" 1153 - msgstr "" 1127 + msgstr "Editar lista de usuários" 1154 1128 1155 1129 #: src/view/com/modals/EditProfile.tsx:193 1156 1130 msgid "Edit your display name" 1157 - msgstr "" 1131 + msgstr "Editar seu nome" 1158 1132 1159 1133 #: src/view/com/modals/EditProfile.tsx:211 1160 1134 msgid "Edit your profile description" 1161 - msgstr "" 1135 + msgstr "Editar sua descrição" 1162 1136 1163 1137 #: src/view/com/auth/create/Step1.tsx:143 1164 1138 #: src/view/com/auth/create/Step2.tsx:192 ··· 1167 1141 #: src/view/com/modals/ChangeEmail.tsx:141 1168 1142 #: src/view/com/modals/Waitlist.tsx:88 1169 1143 msgid "Email" 1170 - msgstr "Email" 1144 + msgstr "E-mail" 1171 1145 1172 1146 #: src/view/com/auth/create/Step1.tsx:134 1173 1147 #: src/view/com/auth/login/ForgotPasswordForm.tsx:143 1174 1148 msgid "Email address" 1175 - msgstr "Endereço de email" 1149 + msgstr "Endereço de e-mail" 1176 1150 1177 1151 #: src/view/com/modals/ChangeEmail.tsx:56 1178 1152 #: src/view/com/modals/ChangeEmail.tsx:88 1179 1153 msgid "Email updated" 1180 - msgstr "" 1154 + msgstr "E-mail atualizado" 1181 1155 1182 1156 #: src/view/com/modals/ChangeEmail.tsx:111 1183 1157 msgid "Email Updated" 1184 - msgstr "Email Atualizado" 1158 + msgstr "E-mail Atualizado" 1185 1159 1186 1160 #: src/view/com/modals/VerifyEmail.tsx:78 1187 1161 msgid "Email verified" 1188 - msgstr "" 1162 + msgstr "E-mail verificado" 1189 1163 1190 1164 #: src/view/screens/Settings.tsx:312 1191 1165 msgid "Email:" 1192 - msgstr "Email:" 1166 + msgstr "E-mail:" 1193 1167 1194 1168 #: src/view/com/modals/EmbedConsent.tsx:113 1195 1169 msgid "Enable {0} only" 1196 - msgstr "Ativar {0} somente" 1170 + msgstr "Habilitar somente {0}" 1197 1171 1198 1172 #: src/view/com/modals/ContentFilteringSettings.tsx:162 1199 1173 msgid "Enable Adult Content" 1200 - msgstr "" 1174 + msgstr "Habilitar Conteúdo Adulto" 1201 1175 1202 1176 #: src/view/com/modals/EmbedConsent.tsx:97 1203 1177 msgid "Enable External Media" 1204 - msgstr "Ativar Mídia Externa" 1178 + msgstr "Habilitar Mídia Externa" 1205 1179 1206 1180 #: src/view/screens/PreferencesExternalEmbeds.tsx:75 1207 1181 msgid "Enable media players for" 1208 - msgstr "" 1182 + msgstr "Habilitar mídia para" 1209 1183 1210 1184 #: src/view/screens/PreferencesHomeFeed.tsx:147 1211 1185 msgid "Enable this setting to only see replies between people you follow." 1212 - msgstr "Ative esta configuração para ver apenas as respostas entre as pessoas que você segue." 1186 + msgstr "Ative esta configuração para ver respostas apenas entre as pessoas que você segue." 1213 1187 1214 1188 #: src/view/screens/Profile.tsx:427 1215 1189 msgid "End of feed" ··· 1217 1191 1218 1192 #: src/view/com/modals/AddAppPasswords.tsx:165 1219 1193 msgid "Enter a name for this App Password" 1220 - msgstr "" 1194 + msgstr "Insira um nome para esta Senha de Aplicativo" 1221 1195 1222 1196 #: src/view/com/modals/VerifyEmail.tsx:105 1223 1197 msgid "Enter Confirmation Code" 1224 - msgstr "" 1198 + msgstr "Insira o código de confirmação" 1225 1199 1226 1200 #: src/view/com/auth/create/Step1.tsx:71 1227 1201 #~ msgid "Enter the address of your provider:" ··· 1233 1207 1234 1208 #: src/view/com/auth/login/ForgotPasswordForm.tsx:103 1235 1209 msgid "Enter the email you used to create your account. We'll send you a \"reset code\" so you can set a new password." 1236 - msgstr "Digite o email que você usou para criar a sua conta. Nós lhe enviaremos um \"código de redefinição\" para que você possa definir uma nova senha." 1210 + msgstr "Digite o e-mail que você usou para criar a sua conta. Nós lhe enviaremos um \"código de redefinição\" para que você possa definir uma nova senha." 1237 1211 1238 1212 #: src/view/com/auth/create/Step1.tsx:195 1239 1213 #: src/view/com/modals/BirthDateSettings.tsx:74 1240 1214 msgid "Enter your birth date" 1241 - msgstr "" 1215 + msgstr "Insira seu aniversário" 1242 1216 1243 1217 #: src/view/com/modals/Waitlist.tsx:78 1244 1218 msgid "Enter your email" 1245 - msgstr "" 1219 + msgstr "Digite seu e-mail" 1246 1220 1247 1221 #: src/view/com/auth/create/Step1.tsx:139 1248 1222 msgid "Enter your email address" 1249 - msgstr "Digite seu endereço de email" 1223 + msgstr "Digite seu endereço de e-mail" 1250 1224 1251 1225 #: src/view/com/modals/ChangeEmail.tsx:41 1252 1226 msgid "Enter your new email above" 1253 - msgstr "" 1227 + msgstr "Digite o novo e-mail acima" 1254 1228 1255 1229 #: src/view/com/modals/ChangeEmail.tsx:117 1256 1230 msgid "Enter your new email address below." 1257 - msgstr "Digite seu novo endereço de email abaixo." 1231 + msgstr "Digite seu novo endereço de e-mail abaixo." 1258 1232 1259 1233 #: src/view/com/auth/create/Step2.tsx:186 1260 1234 msgid "Enter your phone number" 1261 - msgstr "" 1235 + msgstr "Digite seu número de telefone" 1262 1236 1263 1237 #: src/view/com/auth/login/Login.tsx:99 1264 1238 msgid "Enter your username and password" ··· 1274 1248 1275 1249 #: src/view/com/modals/ChangeHandle.tsx:150 1276 1250 msgid "Exits handle change process" 1277 - msgstr "" 1251 + msgstr "Sair do processo de trocar usuário" 1278 1252 1279 1253 #: src/view/com/lightbox/Lightbox.web.tsx:113 1280 1254 msgid "Exits image view" 1281 - msgstr "" 1255 + msgstr "Sair do visualizador de imagem" 1282 1256 1283 1257 #: src/view/com/modals/ListAddRemoveUsers.tsx:88 1284 1258 #: src/view/shell/desktop/Search.tsx:235 1285 1259 msgid "Exits inputting search query" 1286 - msgstr "" 1260 + msgstr "Sair da busca" 1287 1261 1288 1262 #: src/view/com/modals/Waitlist.tsx:138 1289 1263 msgid "Exits signing up for waitlist with {email}" 1290 - msgstr "" 1264 + msgstr "Desistir de entrar na lista de espera" 1291 1265 1292 1266 #: src/view/com/lightbox/Lightbox.web.tsx:156 1293 1267 msgid "Expand alt text" ··· 1296 1270 #: src/view/com/composer/ComposerReplyTo.tsx:81 1297 1271 #: src/view/com/composer/ComposerReplyTo.tsx:84 1298 1272 msgid "Expand or collapse the full post you are replying to" 1299 - msgstr "" 1273 + msgstr "Mostrar ou esconder o post a que você está respondendo" 1300 1274 1301 1275 #: src/view/com/modals/EmbedConsent.tsx:64 1302 1276 msgid "External Media" ··· 1305 1279 #: src/view/com/modals/EmbedConsent.tsx:75 1306 1280 #: src/view/screens/PreferencesExternalEmbeds.tsx:66 1307 1281 msgid "External media may allow websites to collect information about you and your device. No information is sent or requested until you press the \"play\" button." 1308 - msgstr "A mídia externa pode permitir que os sites coletem informações sobre você e seu dispositivo. Nenhuma informação é enviada ou solicitada até que você pressione o botão \"play\"." 1282 + msgstr "Mídias externas podem permitir que sites coletem informações sobre você e seu dispositivo. Nenhuma informação é enviada ou solicitada até que você pressione o botão de \"play\"." 1309 1283 1310 1284 #: src/Navigation.tsx:258 1311 1285 #: src/view/screens/PreferencesExternalEmbeds.tsx:52 ··· 1315 1289 1316 1290 #: src/view/screens/Settings.tsx:614 1317 1291 msgid "External media settings" 1318 - msgstr "" 1292 + msgstr "Preferências de mídia externa" 1319 1293 1320 1294 #: src/view/com/modals/AddAppPasswords.tsx:114 1321 1295 #: src/view/com/modals/AddAppPasswords.tsx:118 1322 1296 msgid "Failed to create app password." 1323 - msgstr "" 1297 + msgstr "Não foi possível criar senha de aplicativo." 1324 1298 1325 1299 #: src/view/com/modals/CreateOrEditList.tsx:148 1326 1300 msgid "Failed to create the list. Check your internet connection and try again." 1327 - msgstr "" 1301 + msgstr "Não foi possível criar a lista. Por favor tente novamente." 1328 1302 1329 1303 #: src/view/com/util/forms/PostDropdownBtn.tsx:86 1330 1304 msgid "Failed to delete post, please try again" 1331 - msgstr "" 1305 + msgstr "Não foi possível excluir o post, por favor tente novamente." 1332 1306 1333 1307 #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:109 1334 1308 #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:141 ··· 1337 1311 1338 1312 #: src/Navigation.tsx:192 1339 1313 msgid "Feed" 1340 - msgstr "" 1314 + msgstr "Feed" 1341 1315 1342 1316 #: src/view/com/feeds/FeedSourceCard.tsx:229 1343 1317 msgid "Feed by {0}" 1344 - msgstr "" 1318 + msgstr "Feed por {0}" 1345 1319 1346 1320 #: src/view/screens/Feeds.tsx:560 1347 1321 msgid "Feed offline" ··· 1349 1323 1350 1324 #: src/view/com/feeds/FeedPage.tsx:143 1351 1325 msgid "Feed Preferences" 1352 - msgstr "Preferências de Feed" 1326 + msgstr "Preferências de Feeds" 1353 1327 1354 1328 #: src/view/shell/desktop/RightNav.tsx:73 1355 1329 #: src/view/shell/Drawer.tsx:314 ··· 1372 1346 1373 1347 #: src/view/screens/SavedFeeds.tsx:156 1374 1348 msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information." 1375 - msgstr "Os feeds são algoritmos personalizados que os usuários criam com um pouco de experiência em condificação. <0/> para mais informações." 1349 + msgstr "Os feeds são algoritmos personalizados que os usuários com um pouco de experiência em programação podem criar. <0/> para mais informações." 1376 1350 1377 1351 #: src/view/com/posts/CustomFeedEmptyState.tsx:47 1378 1352 #: src/view/com/posts/FollowingEmptyState.tsx:57 1379 1353 #: src/view/com/posts/FollowingEndOfFeed.tsx:58 1380 1354 msgid "Find accounts to follow" 1381 - msgstr "" 1355 + msgstr "Encontre contas para seguir" 1382 1356 1383 1357 #: src/view/screens/Search/Search.tsx:429 1384 1358 msgid "Find users on Bluesky" ··· 1398 1372 1399 1373 #: src/view/screens/PreferencesThreads.tsx:60 1400 1374 msgid "Fine-tune the discussion threads." 1401 - msgstr "Ajuste os tópicos de discussão." 1375 + msgstr "Ajuste as threads." 1402 1376 1403 1377 #: src/view/com/modals/EditImage.tsx:115 1404 1378 msgid "Flip horizontal" 1405 - msgstr "" 1379 + msgstr "Virar horizontalmente" 1406 1380 1407 1381 #: src/view/com/modals/EditImage.tsx:120 1408 1382 #: src/view/com/modals/EditImage.tsx:287 1409 1383 msgid "Flip vertically" 1410 - msgstr "" 1384 + msgstr "Virar verticalmente" 1411 1385 1412 1386 #: src/view/com/profile/FollowButton.tsx:64 1413 1387 msgctxt "action" 1414 1388 msgid "Follow" 1415 - msgstr "" 1389 + msgstr "Seguir" 1416 1390 1417 1391 #: src/view/com/profile/ProfileHeader.tsx:552 1418 1392 msgid "Follow" ··· 1420 1394 1421 1395 #: src/view/com/profile/ProfileHeader.tsx:543 1422 1396 msgid "Follow {0}" 1423 - msgstr "" 1397 + msgstr "Seguir {0}" 1424 1398 1425 1399 #: src/view/com/auth/onboarding/RecommendedFollows.tsx:42 1426 1400 #~ msgid "Follow some" 1427 - #~ msgstr "" 1401 + #~ msgstr "Siga alguns" 1428 1402 1429 1403 #: src/view/com/auth/onboarding/RecommendedFollows.tsx:64 1430 1404 msgid "Follow some users to get started. We can recommend you more users based on who you find interesting." 1431 - msgstr "Seguir alguns usuários para começar. Nós podemos recomendar mais usuários com base em quem você acha interessante." 1405 + msgstr "Comece seguindo alguns usuários. Mais usuários podem ser recomendados com base em quem você acha interessante." 1432 1406 1433 1407 #: src/view/com/profile/ProfileCard.tsx:194 1434 1408 msgid "Followed by {0}" 1435 - msgstr "" 1409 + msgstr "Seguido por {0}" 1436 1410 1437 1411 #: src/view/com/modals/Threadgate.tsx:98 1438 1412 msgid "Followed users" ··· 1444 1418 1445 1419 #: src/view/com/notifications/FeedItem.tsx:166 1446 1420 msgid "followed you" 1447 - msgstr "" 1421 + msgstr "seguiu você" 1448 1422 1449 1423 #: src/view/screens/ProfileFollowers.tsx:25 1450 1424 msgid "Followers" ··· 1461 1435 1462 1436 #: src/view/com/profile/ProfileHeader.tsx:196 1463 1437 msgid "Following {0}" 1464 - msgstr "" 1438 + msgstr "Seguindo {0}" 1465 1439 1466 1440 #: src/view/com/profile/ProfileHeader.tsx:585 1467 1441 msgid "Follows you" ··· 1469 1443 1470 1444 #: src/view/com/profile/ProfileCard.tsx:141 1471 1445 msgid "Follows You" 1472 - msgstr "" 1446 + msgstr "Segue Você" 1473 1447 1474 1448 #: src/view/com/modals/DeleteAccount.tsx:107 1475 1449 msgid "For security reasons, we'll need to send a confirmation code to your email address." 1476 - msgstr "Por motivos de segurança, precisamos enviar um código de confirmação para seu endereço de email." 1450 + msgstr "Por motivos de segurança, precisamos enviar um código de confirmação para seu endereço de e-mail." 1477 1451 1478 1452 #: src/view/com/modals/AddAppPasswords.tsx:211 1479 1453 msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one." 1480 - msgstr "Por motivos de segurança, você não poderá ver isto novamente. Se você perder esta senha, precisará gerar uma nova." 1454 + msgstr "Por motivos de segurança, você não poderá ver esta senha novamente. Se você perder esta senha, terá que gerar uma nova." 1481 1455 1482 1456 #: src/view/com/auth/login/LoginForm.tsx:238 1483 1457 msgid "Forgot" 1484 - msgstr "Esqueceu" 1458 + msgstr "Esqueci" 1485 1459 1486 1460 #: src/view/com/auth/login/LoginForm.tsx:235 1487 1461 msgid "Forgot password" 1488 1462 msgstr "Esqueci a senha" 1489 1463 1490 - #: src/view/com/auth/login/Login.tsx:127 1464 + #: src/view/com/auth/login/Login.tsx:127 1491 1465 #: src/view/com/auth/login/Login.tsx:143 1492 1466 msgid "Forgot Password" 1493 1467 msgstr "Esqueci a Senha" ··· 1495 1469 #: src/view/com/posts/FeedItem.tsx:188 1496 1470 msgctxt "from-feed" 1497 1471 msgid "From <0/>" 1498 - msgstr "" 1472 + msgstr "Por <0/>" 1499 1473 1500 1474 #: src/view/com/composer/photos/SelectPhotoBtn.tsx:43 1501 1475 msgid "Gallery" ··· 1506 1480 msgid "Get Started" 1507 1481 msgstr "Vamos começar" 1508 1482 1509 - #: src/view/com/auth/LoggedOut.tsx:81 1483 + #: src/view/com/auth/LoggedOut.tsx:81 1510 1484 #: src/view/com/auth/LoggedOut.tsx:82 1511 1485 #: src/view/com/util/moderation/ScreenHider.tsx:123 1512 1486 #: src/view/shell/desktop/LeftNav.tsx:104 1513 1487 msgid "Go back" 1514 - msgstr "Voltar atrás" 1488 + msgstr "Voltar" 1515 1489 1516 1490 #: src/view/screens/ProfileFeed.tsx:104 1517 1491 #: src/view/screens/ProfileFeed.tsx:109 1518 1492 #: src/view/screens/ProfileList.tsx:876 1519 1493 #: src/view/screens/ProfileList.tsx:881 1520 1494 msgid "Go Back" 1521 - msgstr "Voltar Atrás" 1495 + msgstr "Voltar" 1522 1496 1523 1497 #: src/view/screens/Search/Search.tsx:640 1524 1498 #: src/view/shell/desktop/Search.tsx:262 1525 1499 msgid "Go to @{queryMaybeHandle}" 1526 - msgstr "" 1500 + msgstr "Ir para @{queryMaybleHandle}" 1527 1501 1528 1502 #: src/view/com/auth/login/ForgotPasswordForm.tsx:185 1529 1503 #: src/view/com/auth/login/LoginForm.tsx:285 1530 1504 #: src/view/com/auth/login/SetNewPasswordForm.tsx:165 1531 1505 msgid "Go to next" 1532 - msgstr "Ir para o próximo" 1506 + msgstr "Próximo" 1533 1507 1534 1508 #: src/view/com/modals/ChangeHandle.tsx:265 1535 1509 msgid "Handle" 1536 - msgstr "Identificador" 1510 + msgstr "Usuário" 1537 1511 1538 1512 #: src/view/com/auth/create/CreateAccount.tsx:190 1539 1513 msgid "Having trouble?" 1540 - msgstr "" 1514 + msgstr "Precisa de ajuda?" 1541 1515 1542 1516 #: src/view/shell/desktop/RightNav.tsx:102 1543 1517 #: src/view/shell/Drawer.tsx:324 ··· 1546 1520 1547 1521 #: src/view/com/modals/AddAppPasswords.tsx:152 1548 1522 msgid "Here is your app password." 1549 - msgstr "Aqui está a sua senha do aplicativo." 1523 + msgstr "Aqui está a sua senha de aplicativo." 1550 1524 1551 1525 #: src/view/com/modals/ContentFilteringSettings.tsx:219 1552 1526 #: src/view/com/notifications/FeedItem.tsx:329 1553 1527 msgctxt "action" 1554 1528 msgid "Hide" 1555 - msgstr "" 1529 + msgstr "Esconder" 1556 1530 1557 1531 #: src/view/com/modals/ContentFilteringSettings.tsx:246 1558 1532 #: src/view/com/util/moderation/ContentHider.tsx:105 ··· 1567 1541 #: src/view/com/util/moderation/ContentHider.tsx:67 1568 1542 #: src/view/com/util/moderation/PostHider.tsx:61 1569 1543 msgid "Hide the content" 1570 - msgstr "" 1544 + msgstr "Esconder o conteúdo" 1571 1545 1572 1546 #: src/view/com/util/forms/PostDropdownBtn.tsx:189 1573 1547 msgid "Hide this post?" ··· 1579 1553 1580 1554 #: src/view/com/profile/ProfileHeader.tsx:526 1581 1555 msgid "Hides posts from {0} in your feed" 1582 - msgstr "" 1556 + msgstr "Esconder posts de {0} no seu feed" 1583 1557 1584 1558 #: src/view/com/posts/FeedErrorMessage.tsx:102 1585 1559 #~ msgid "Hmm, some kind of issue occured when contacting the feed server. Please let the feed owner know about this issue." 1586 - #~ msgstr "" 1560 + #~ msgstr "Hmm, ocorreu algum problema ao entrar em contato com o servidor deste feed. Por favor, avise o criador do feed sobre este problema." 1587 1561 1588 1562 #: src/view/com/posts/FeedErrorMessage.tsx:111 1589 1563 msgid "Hmm, some kind of issue occurred when contacting the feed server. Please let the feed owner know about this issue." 1590 - msgstr "Hmm, ocorreu algum tipo de problema ao entrar em contato com o servidor do feed. Por favor, avise o proprietário do feed sobre este problema." 1564 + msgstr "Hmm, ocorreu algum problema ao entrar em contato com o servidor deste feed. Por favor, avise o criador do feed sobre este problema." 1591 1565 1592 1566 #: src/view/com/posts/FeedErrorMessage.tsx:99 1593 1567 msgid "Hmm, the feed server appears to be misconfigured. Please let the feed owner know about this issue." 1594 - msgstr "Hmm, o servidor de feed parece estar mal configurado. Por favor, deixe o proprietário do feed saber sobre este problema." 1568 + msgstr "Hmm, o servidor do feed parece estar mal configurado. Por favor, avise o criador do feed sobre este problema." 1595 1569 1596 1570 #: src/view/com/posts/FeedErrorMessage.tsx:105 1597 1571 msgid "Hmm, the feed server appears to be offline. Please let the feed owner know about this issue." 1598 - msgstr "Hmm, o servidor de feed parece estar offline. Por favor, avise o autor do feed sobre este problema." 1572 + msgstr "Hmm, o servidor do feed parece estar offline. Por favor, avise o criador do feed sobre este problema." 1599 1573 1600 1574 #: src/view/com/posts/FeedErrorMessage.tsx:102 1601 1575 msgid "Hmm, the feed server gave a bad response. Please let the feed owner know about this issue." 1602 - msgstr "Hmm, o servidor de feed deu uma má resposta. Por favor, avise o autor do feed sobre este problema." 1576 + msgstr "Hmm, o servidor do feed teve algum problema. Por favor, avise o criador do feed sobre este problema." 1603 1577 1604 1578 #: src/view/com/posts/FeedErrorMessage.tsx:96 1605 1579 msgid "Hmm, we're having trouble finding this feed. It may have been deleted." ··· 1607 1581 1608 1582 #: src/view/com/posts/FeedErrorMessage.tsx:87 1609 1583 #~ msgid "Hmmm, we're having trouble finding this feed. It may have been deleted." 1610 - #~ msgstr "" 1584 + #~ msgstr "Hmm, estamos com problemas para encontrar este feed. Ele pode ter sido excluído." 1611 1585 1612 1586 #: src/Navigation.tsx:430 1613 1587 #: src/view/shell/bottom-bar/BottomBar.tsx:137 ··· 1622 1596 #: src/view/screens/PreferencesHomeFeed.tsx:104 1623 1597 #: src/view/screens/Settings.tsx:509 1624 1598 msgid "Home Feed Preferences" 1625 - msgstr "Preferências do Feed Inicial" 1599 + msgstr "Preferências da Página Inicial" 1626 1600 1627 1601 #: src/view/com/auth/login/ForgotPasswordForm.tsx:116 1628 1602 msgid "Hosting provider" 1629 1603 msgstr "Provedor de hospedagem" 1630 1604 1631 - #: src/view/com/auth/create/Step1.tsx:76 1605 + #: src/view/com/auth/create/Step1.tsx:76 1632 1606 #: src/view/com/auth/create/Step1.tsx:81 1633 1607 #~ msgid "Hosting provider address" 1634 1608 #~ msgstr "Endereço do provedor de hospedagem" 1635 1609 1636 1610 #: src/view/com/modals/InAppBrowserConsent.tsx:44 1637 1611 msgid "How should we open this link?" 1638 - msgstr "" 1612 + msgstr "Como devemos abrir este link?" 1639 1613 1640 1614 #: src/view/com/modals/VerifyEmail.tsx:214 1641 1615 msgid "I have a code" ··· 1643 1617 1644 1618 #: src/view/com/modals/VerifyEmail.tsx:216 1645 1619 msgid "I have a confirmation code" 1646 - msgstr "" 1620 + msgstr "Eu tenho um código" 1647 1621 1648 1622 #: src/view/com/modals/ChangeHandle.tsx:283 1649 1623 msgid "I have my own domain" ··· 1651 1625 1652 1626 #: src/view/com/lightbox/Lightbox.web.tsx:158 1653 1627 msgid "If alt text is long, toggles alt text expanded state" 1654 - msgstr "" 1628 + msgstr "Se o texto alternativo é longo, mostra o texto completo" 1655 1629 1656 1630 #: src/view/com/modals/SelfLabel.tsx:127 1657 1631 msgid "If none are selected, suitable for all ages." ··· 1659 1633 1660 1634 #: src/view/com/util/images/Gallery.tsx:37 1661 1635 msgid "Image" 1662 - msgstr "" 1636 + msgstr "Imagem" 1663 1637 1664 1638 #: src/view/com/modals/AltImage.tsx:97 1665 1639 msgid "Image alt text" 1666 1640 msgstr "Texto alternativo da imagem" 1667 1641 1668 - #: src/view/com/util/UserAvatar.tsx:308 1642 + #: src/view/com/util/UserAvatar.tsx:308 1669 1643 #: src/view/com/util/UserBanner.tsx:116 1670 1644 msgid "Image options" 1671 1645 msgstr "Opções de imagem" ··· 1673 1647 #: src/view/com/search/Suggestions.tsx:104 1674 1648 #: src/view/com/search/Suggestions.tsx:115 1675 1649 #~ msgid "In Your Network" 1676 - #~ msgstr "" 1650 + #~ msgstr "Na sua rede" 1677 1651 1678 1652 #: src/view/com/auth/login/SetNewPasswordForm.tsx:110 1679 1653 msgid "Input code sent to your email for password reset" 1680 - msgstr "" 1654 + msgstr "Insira o código enviado para o seu e-mail para redefinir sua senha" 1681 1655 1682 1656 #: src/view/com/modals/DeleteAccount.tsx:180 1683 1657 msgid "Input confirmation code for account deletion" 1684 - msgstr "" 1658 + msgstr "Insira o código de confirmação para excluir sua conta" 1685 1659 1686 1660 #: src/view/com/auth/create/Step1.tsx:144 1687 1661 msgid "Input email for Bluesky account" 1688 - msgstr "" 1662 + msgstr "Insira o e-mail para a sua conta do Bluesky" 1689 1663 1690 1664 #: src/view/com/auth/create/Step2.tsx:109 1691 1665 #~ msgid "Input email for Bluesky waitlist" 1692 - #~ msgstr "" 1666 + #~ msgstr "Insira o e-mail para entrar na lista de espera do Bluesky" 1693 1667 1694 1668 #: src/view/com/auth/create/Step1.tsx:80 1695 1669 #~ msgid "Input hosting provider address" 1696 - #~ msgstr "" 1670 + #~ msgstr "Insira o endereço do provedor de hospedagem" 1697 1671 1698 1672 #: src/view/com/auth/create/Step1.tsx:102 1699 1673 msgid "Input invite code to proceed" 1700 - msgstr "" 1674 + msgstr "Insira o convite para continuar" 1701 1675 1702 1676 #: src/view/com/modals/AddAppPasswords.tsx:182 1703 1677 msgid "Input name for app password" 1704 - msgstr "" 1678 + msgstr "Insira um nome para a senha de aplicativo" 1705 1679 1706 1680 #: src/view/com/auth/login/SetNewPasswordForm.tsx:133 1707 1681 msgid "Input new password" 1708 - msgstr "" 1682 + msgstr "Insira a nova senha" 1709 1683 1710 1684 #: src/view/com/modals/DeleteAccount.tsx:199 1711 1685 msgid "Input password for account deletion" 1712 - msgstr "" 1686 + msgstr "Insira a senha para excluir a conta" 1713 1687 1714 1688 #: src/view/com/auth/create/Step2.tsx:194 1715 1689 msgid "Input phone number for SMS verification" 1716 - msgstr "" 1690 + msgstr "Insira o número de telefone para verificação via SMS" 1717 1691 1718 1692 #: src/view/com/auth/login/LoginForm.tsx:227 1719 1693 msgid "Input the password tied to {identifier}" 1720 - msgstr "" 1694 + msgstr "Insira a senha da conta {identifier}" 1721 1695 1722 1696 #: src/view/com/auth/login/LoginForm.tsx:194 1723 1697 msgid "Input the username or email address you used at signup" 1724 - msgstr "" 1698 + msgstr "Insira o usuário ou e-mail que você cadastrou" 1725 1699 1726 1700 #: src/view/com/auth/create/Step2.tsx:268 1727 1701 msgid "Input the verification code we have texted to you" 1728 - msgstr "" 1702 + msgstr "Insira o código de verificação que enviamos para você" 1729 1703 1730 1704 #: src/view/com/modals/Waitlist.tsx:90 1731 1705 msgid "Input your email to get on the Bluesky waitlist" 1732 - msgstr "" 1706 + msgstr "Insira seu e-mail para entrar na lista de espera do Bluesky" 1733 1707 1734 1708 #: src/view/com/auth/login/LoginForm.tsx:226 1735 1709 msgid "Input your password" 1736 - msgstr "" 1710 + msgstr "Insira sua senha" 1737 1711 1738 1712 #: src/view/com/auth/create/Step3.tsx:39 1739 1713 msgid "Input your user handle" 1740 - msgstr "" 1714 + msgstr "Insira o usuário" 1741 1715 1742 1716 #: src/view/com/post-thread/PostThreadItem.tsx:229 1743 1717 msgid "Invalid or unsupported post record" 1744 - msgstr "" 1718 + msgstr "Post inválido" 1745 1719 1746 1720 #: src/view/com/auth/login/LoginForm.tsx:115 1747 1721 msgid "Invalid username or password" 1748 - msgstr "Nome de usuário ou senha inválido" 1722 + msgstr "Credenciais inválidas" 1749 1723 1750 1724 #: src/view/screens/Settings.tsx:411 1751 1725 msgid "Invite" 1752 - msgstr "Convite" 1726 + msgstr "Convidar" 1753 1727 1754 1728 #: src/view/com/modals/InviteCodes.tsx:93 1755 1729 #: src/view/screens/Settings.tsx:399 ··· 1759 1733 #: src/view/com/auth/create/Step1.tsx:92 1760 1734 #: src/view/com/auth/create/Step1.tsx:101 1761 1735 msgid "Invite code" 1762 - msgstr "Código de convite" 1736 + msgstr "Convite" 1763 1737 1764 1738 #: src/view/com/auth/create/state.ts:199 1765 1739 msgid "Invite code not accepted. Check that you input it correctly and try again." 1766 - msgstr "Código de convite não aceito. Verifique se você o inseriu corretamente e tente novamente." 1740 + msgstr "Convite inválido. Verifique se você o inseriu corretamente e tente novamente." 1767 1741 1768 1742 #: src/view/com/modals/InviteCodes.tsx:170 1769 1743 msgid "Invite codes: {0} available" 1770 - msgstr "" 1744 + msgstr "Convites: {0} disponíveis" 1771 1745 1772 1746 #: src/view/shell/Drawer.tsx:645 1773 1747 msgid "Invite codes: {invitesAvailable} available" 1774 - msgstr "Códigos de convite: {invitesAvailable} disponível" 1748 + msgstr "Convites: {invitesAvailable} disponível" 1775 1749 1776 1750 #: src/view/com/modals/InviteCodes.tsx:169 1777 1751 msgid "Invite codes: 1 available" 1778 - msgstr "" 1752 + msgstr "Convites: 1 disponível" 1779 1753 1780 1754 #: src/view/com/auth/HomeLoggedOutCTA.tsx:99 1781 1755 msgid "Jobs" 1782 - msgstr "Empregos" 1756 + msgstr "Carreiras" 1783 1757 1784 1758 #: src/view/com/modals/Waitlist.tsx:67 1785 1759 msgid "Join the waitlist" ··· 1800 1774 1801 1775 #: src/view/screens/Settings.tsx:560 1802 1776 msgid "Language settings" 1803 - msgstr "" 1777 + msgstr "Configuração de Idioma" 1804 1778 1805 1779 #: src/Navigation.tsx:139 1806 1780 #: src/view/screens/LanguageSettings.tsx:89 ··· 1813 1787 1814 1788 #: src/view/com/auth/create/StepHeader.tsx:20 1815 1789 msgid "Last step!" 1816 - msgstr "" 1790 + msgstr "Último passo!" 1817 1791 1818 1792 #: src/view/com/util/moderation/ContentHider.tsx:103 1819 1793 msgid "Learn more" ··· 1847 1821 1848 1822 #: src/view/screens/Settings.tsx:280 1849 1823 msgid "Legacy storage cleared, you need to restart the app now." 1850 - msgstr "" 1824 + msgstr "Armazenamento limpo, você precisa reiniciar o app agora." 1851 1825 1852 1826 #: src/view/com/auth/login/Login.tsx:128 1853 1827 #: src/view/com/auth/login/Login.tsx:144 1854 1828 msgid "Let's get your password reset!" 1855 1829 msgstr "Vamos redefinir sua senha!" 1856 1830 1857 - #: src/view/com/util/UserAvatar.tsx:245 1831 + #: src/view/com/util/UserAvatar.tsx:24 1858 1832 #: src/view/com/util/UserBanner.tsx:60 1859 1833 msgid "Library" 1860 1834 msgstr "Biblioteca" 1861 1835 1862 1836 #: src/view/screens/Settings.tsx:473 1863 1837 msgid "Light" 1864 - msgstr "" 1838 + msgstr "Claro" 1865 1839 1866 1840 #: src/view/com/util/post-ctrls/PostCtrls.tsx:189 1867 1841 msgid "Like" 1868 - msgstr "" 1842 + msgstr "Curtir" 1869 1843 1870 1844 #: src/view/screens/ProfileFeed.tsx:600 1871 1845 msgid "Like this feed" ··· 1879 1853 1880 1854 #: src/view/com/feeds/FeedSourceCard.tsx:277 1881 1855 msgid "Liked by {0} {1}" 1882 - msgstr "" 1856 + msgstr "Curtido por {0} {1}" 1883 1857 1884 1858 #: src/view/screens/ProfileFeed.tsx:615 1885 1859 msgid "Liked by {likeCount} {0}" 1886 - msgstr "" 1860 + msgstr "Curtido por {likeCount} {0}" 1887 1861 1888 1862 #: src/view/com/notifications/FeedItem.tsx:171 1889 1863 msgid "liked your custom feed{0}" 1890 - msgstr "" 1864 + msgstr "curtiu seu feed" 1891 1865 1892 1866 #: src/view/com/notifications/FeedItem.tsx:155 1893 1867 msgid "liked your post" 1894 - msgstr "" 1868 + msgstr "curtiu seu post" 1895 1869 1896 1870 #: src/view/screens/Profile.tsx:164 1897 1871 msgid "Likes" ··· 1899 1873 1900 1874 #: src/view/com/post-thread/PostThreadItem.tsx:184 1901 1875 msgid "Likes on this post" 1902 - msgstr "" 1876 + msgstr "Curtidas neste post" 1903 1877 1904 1878 #: src/view/screens/Moderation.tsx:203 1905 1879 #~ msgid "Limit the visibility of my account" 1906 - #~ msgstr "" 1880 + #~ msgstr "Limitar a visibilidade do meu perfil" 1907 1881 1908 1882 #: src/view/screens/Moderation.tsx:203 1909 1883 #~ msgid "Limit the visibility of my account to logged-out users" 1910 - #~ msgstr "" 1884 + #~ msgstr "Limitar a visibilidade do meu perfil para usuários deslogados" 1911 1885 1912 1886 #: src/Navigation.tsx:166 1913 1887 msgid "List" 1914 - msgstr "" 1888 + msgstr "Lista" 1915 1889 1916 1890 #: src/view/com/modals/CreateOrEditList.tsx:203 1917 1891 msgid "List Avatar" 1918 - msgstr "Listar Avatar" 1892 + msgstr "Avatar da lista" 1919 1893 1920 1894 #: src/view/screens/ProfileList.tsx:323 1921 1895 msgid "List blocked" 1922 - msgstr "" 1896 + msgstr "Lista bloqueada" 1923 1897 1924 1898 #: src/view/com/feeds/FeedSourceCard.tsx:231 1925 1899 msgid "List by {0}" 1926 - msgstr "" 1900 + msgstr "Lista por {0}" 1927 1901 1928 1902 #: src/view/screens/ProfileList.tsx:367 1929 1903 msgid "List deleted" 1930 - msgstr "" 1904 + msgstr "Lista excluída" 1931 1905 1932 1906 #: src/view/screens/ProfileList.tsx:282 1933 1907 msgid "List muted" 1934 - msgstr "" 1908 + msgstr "Lista silenciada" 1935 1909 1936 1910 #: src/view/com/modals/CreateOrEditList.tsx:216 1937 1911 msgid "List Name" 1938 - msgstr "Lista de Nomes" 1912 + msgstr "Nome da lista" 1939 1913 1940 1914 #: src/view/screens/ProfileList.tsx:342 1941 1915 msgid "List unblocked" 1942 - msgstr "" 1916 + msgstr "Lista desbloqueada" 1943 1917 1944 1918 #: src/view/screens/ProfileList.tsx:301 1945 1919 msgid "List unmuted" 1946 - msgstr "" 1920 + msgstr "Lista dessilenciada" 1947 1921 1948 1922 #: src/Navigation.tsx:109 1949 1923 #: src/view/screens/Profile.tsx:166 ··· 1979 1953 1980 1954 #: src/Navigation.tsx:207 1981 1955 msgid "Log" 1982 - msgstr "" 1956 + msgstr "Registros" 1983 1957 1984 1958 #: src/view/screens/Moderation.tsx:134 1985 1959 #~ msgid "Logged-out users" 1986 - #~ msgstr "" 1960 + #~ msgstr "Visibilidade do seu perfil" 1987 1961 1988 1962 #: src/view/screens/Moderation.tsx:136 1989 1963 msgid "Logged-out visibility" 1990 - msgstr "Visibilidade desconectada" 1964 + msgstr "Visibilidade do seu perfil" 1991 1965 1992 1966 #: src/view/com/auth/login/ChooseAccountForm.tsx:133 1993 1967 msgid "Login to account that is not listed" ··· 1995 1969 1996 1970 #: src/view/screens/ProfileFeed.tsx:472 1997 1971 #~ msgid "Looks like this feed is only available to users with a Bluesky account. Please sign up or sign in to view this feed!" 1998 - #~ msgstr "" 1972 + #~ msgstr "Parece que este feed só está disponível para usuários com uma conta do Bluesky. Por favor, cadastre-se ou entre para ver este feed!" 1999 1973 2000 1974 #: src/view/com/modals/LinkWarning.tsx:65 2001 1975 msgid "Make sure this is where you intend to go!" 2002 - msgstr "Certifique-se de que é para lá que você pretende ir!" 1976 + msgstr "Certifique-se de onde está indo!" 2003 1977 2004 1978 #: src/view/screens/Profile.tsx:163 2005 1979 msgid "Media" ··· 2024 1998 2025 1999 #: src/view/com/posts/FeedErrorMessage.tsx:197 2026 2000 msgid "Message from server: {0}" 2027 - msgstr "" 2001 + msgstr "Mensagem do servidor: {0}" 2028 2002 2029 2003 #: src/Navigation.tsx:114 2030 2004 #: src/view/screens/Moderation.tsx:64 ··· 2038 2012 #: src/view/com/lists/ListCard.tsx:92 2039 2013 #: src/view/com/modals/UserAddRemoveLists.tsx:190 2040 2014 msgid "Moderation list by {0}" 2041 - msgstr "" 2015 + msgstr "Lista de moderação por {0}" 2042 2016 2043 2017 #: src/view/screens/ProfileList.tsx:753 2044 2018 msgid "Moderation list by <0/>" 2045 - msgstr "" 2019 + msgstr "Lista de moderação por <0/>" 2046 2020 2047 2021 #: src/view/com/lists/ListCard.tsx:90 2048 2022 #: src/view/com/modals/UserAddRemoveLists.tsx:188 2049 2023 #: src/view/screens/ProfileList.tsx:751 2050 2024 msgid "Moderation list by you" 2051 - msgstr "" 2025 + msgstr "Lista de moderação por você" 2052 2026 2053 2027 #: src/view/com/modals/CreateOrEditList.tsx:139 2054 2028 msgid "Moderation list created" 2055 - msgstr "" 2029 + msgstr "Lista de moderação criada" 2056 2030 2057 2031 #: src/view/com/modals/CreateOrEditList.tsx:126 2058 2032 msgid "Moderation list updated" 2059 - msgstr "" 2033 + msgstr "Lista de moderação criada" 2060 2034 2061 2035 #: src/view/screens/Moderation.tsx:95 2062 2036 msgid "Moderation lists" ··· 2069 2043 2070 2044 #: src/view/screens/Settings.tsx:585 2071 2045 msgid "Moderation settings" 2072 - msgstr "" 2046 + msgstr "Moderação" 2073 2047 2074 2048 #: src/view/com/modals/ModerationDetails.tsx:35 2075 2049 msgid "Moderator has chosen to set a general warning on the content." 2076 - msgstr "" 2050 + msgstr "O moderador escolheu um aviso geral neste conteúdo." 2077 2051 2078 2052 #: src/view/shell/desktop/Feeds.tsx:53 2079 2053 msgid "More feeds" ··· 2087 2061 2088 2062 #: src/view/com/util/forms/PostDropdownBtn.tsx:268 2089 2063 msgid "More post options" 2090 - msgstr "" 2064 + msgstr "Mais opções do post" 2091 2065 2092 2066 #: src/view/screens/PreferencesThreads.tsx:82 2093 2067 msgid "Most-liked replies first" ··· 2103 2077 2104 2078 #: src/view/screens/ProfileList.tsx:469 2105 2079 msgid "Mute list" 2106 - msgstr "Lista de silenciados" 2080 + msgstr "Lista de moderação" 2107 2081 2108 2082 #: src/view/screens/ProfileList.tsx:274 2109 2083 msgid "Mute these accounts?" 2110 - msgstr "Silenciar essas contas?" 2084 + msgstr "Silenciar estas contas?" 2111 2085 2112 2086 #: src/view/screens/ProfileList.tsx:278 2113 2087 msgid "Mute this List" 2114 - msgstr "" 2088 + msgstr "Silenciar esta lista" 2115 2089 2116 2090 #: src/view/com/util/forms/PostDropdownBtn.tsx:169 2117 2091 msgid "Mute thread" 2118 - msgstr "Silenciar tópico" 2092 + msgstr "Silenciar thread" 2119 2093 2120 2094 #: src/view/com/lists/ListCard.tsx:101 2121 2095 msgid "Muted" 2122 - msgstr "" 2096 + msgstr "Silenciada" 2097 + 2098 + #: src/view/com/lists/ListCard.tsx:101 2099 + msgid "Muted" 2100 + msgstr "Silenciada" 2123 2101 2124 2102 #: src/view/screens/Moderation.tsx:109 2125 2103 msgid "Muted accounts" ··· 2132 2110 2133 2111 #: src/view/screens/ModerationMutedAccounts.tsx:115 2134 2112 msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private." 2135 - msgstr "Contas silenciadas tem seus posts removidos do seu feed e das suas notificações. Os silenciamentos são completamente privados." 2113 + msgstr "Contas silenciadas não aparecem no seu feed ou nas suas notificações. Suas contas silenciadas são completamente privadas." 2136 2114 2137 2115 #: src/view/screens/ProfileList.tsx:276 2138 2116 msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them." 2139 2117 msgstr "Silenciar é privado. Contas silenciadas podem interagir com você, mas você não verá postagens ou receber notificações delas." 2140 2118 2141 - #: src/view/screens/Moderation.tsx:134 2142 - #~ msgid "My Account" 2143 - #~ msgstr "" 2144 - 2145 2119 #: src/view/com/modals/BirthDateSettings.tsx:56 2146 2120 msgid "My Birthday" 2147 2121 msgstr "Meu Aniversário" ··· 2165 2139 2166 2140 #: src/view/com/modals/CreateOrEditList.tsx:108 2167 2141 msgid "Name is required" 2168 - msgstr "" 2142 + msgstr "Nome é obrigatório" 2169 2143 2170 2144 #: src/view/com/auth/login/ForgotPasswordForm.tsx:186 2171 2145 #: src/view/com/auth/login/LoginForm.tsx:286 2172 2146 #: src/view/com/auth/login/SetNewPasswordForm.tsx:166 2173 2147 msgid "Navigates to the next screen" 2174 - msgstr "" 2148 + msgstr "Navega para próxima tela" 2175 2149 2176 2150 #: src/view/shell/Drawer.tsx:73 2177 2151 msgid "Navigates to your profile" 2178 - msgstr "" 2152 + msgstr "Navega para seu perfil" 2179 2153 2180 2154 #: src/view/com/modals/EmbedConsent.tsx:107 2181 2155 #: src/view/com/modals/EmbedConsent.tsx:123 2182 2156 msgid "Never load embeds from {0}" 2183 - msgstr "Nunca carregue incorporações de {0}" 2157 + msgstr "Nunca carregar anexos de {0}" 2184 2158 2185 2159 #: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72 2186 2160 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:72 ··· 2190 2164 #: src/view/screens/Lists.tsx:76 2191 2165 msgctxt "action" 2192 2166 msgid "New" 2193 - msgstr "" 2167 + msgstr "Novo" 2194 2168 2195 2169 #: src/view/screens/ModerationModlists.tsx:78 2196 2170 msgid "New" ··· 2198 2172 2199 2173 #: src/view/com/modals/CreateOrEditList.tsx:194 2200 2174 msgid "New Moderation List" 2201 - msgstr "" 2175 + msgstr "Nova lista de moderação" 2202 2176 2203 2177 #: src/view/com/auth/login/SetNewPasswordForm.tsx:122 2204 2178 msgid "New password" 2205 - msgstr "" 2179 + msgstr "Nova senha" 2206 2180 2207 2181 #: src/view/com/feeds/FeedPage.tsx:201 2208 2182 msgctxt "action" 2209 2183 msgid "New post" 2210 - msgstr "" 2184 + msgstr "Novo post" 2211 2185 2212 2186 #: src/view/screens/Feeds.tsx:511 2213 2187 #: src/view/screens/Profile.tsx:354 ··· 2221 2195 #: src/view/shell/desktop/LeftNav.tsx:258 2222 2196 msgctxt "action" 2223 2197 msgid "New Post" 2224 - msgstr "" 2198 + msgstr "Novo Post" 2225 2199 2226 2200 #: src/view/shell/desktop/LeftNav.tsx:258 2227 2201 #~ msgid "New Post" ··· 2229 2203 2230 2204 #: src/view/com/modals/CreateOrEditList.tsx:189 2231 2205 msgid "New User List" 2232 - msgstr "" 2206 + msgstr "Nova lista de usuários" 2233 2207 2234 2208 #: src/view/screens/PreferencesThreads.tsx:79 2235 2209 msgid "Newest replies first" ··· 2248 2222 #: src/view/com/auth/onboarding/WelcomeDesktop.tsx:103 2249 2223 msgctxt "action" 2250 2224 msgid "Next" 2251 - msgstr "" 2225 + msgstr "Próximo" 2252 2226 2253 2227 #: src/view/com/lightbox/Lightbox.web.tsx:142 2254 2228 msgid "Next image" ··· 2270 2244 2271 2245 #: src/view/com/profile/ProfileHeader.tsx:217 2272 2246 msgid "No longer following {0}" 2273 - msgstr "" 2247 + msgstr "Você não está mais seguindo {0}" 2274 2248 2275 2249 #: src/view/com/notifications/Feed.tsx:107 2276 2250 msgid "No notifications yet!" 2277 - msgstr "" 2251 + msgstr "Nenhuma notificação!" 2278 2252 2279 2253 #: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97 2280 2254 #: src/view/com/composer/text-input/web/Autocomplete.tsx:191 ··· 2285 2259 msgid "No results found for \"{query}\"" 2286 2260 msgstr "Nenhum resultado encontrado para \"{query}\"" 2287 2261 2288 - #: src/view/com/modals/ListAddUser.tsx:142 2289 - #: src/view/shell/desktop/Search.tsx:112 2290 - #~ msgid "No results found for {0}" 2291 - #~ msgstr "" 2292 - 2293 2262 #: src/view/com/modals/ListAddRemoveUsers.tsx:127 2294 2263 #: src/view/screens/Search/Search.tsx:272 2295 2264 #: src/view/screens/Search/Search.tsx:300 ··· 2304 2273 msgid "Nobody" 2305 2274 msgstr "Ninguém" 2306 2275 2307 - #: src/view/com/modals/SelfLabel.tsx:136 2308 - #~ msgid "Not Applicable" 2309 - #~ msgstr "" 2310 - 2311 2276 #: src/view/com/modals/SelfLabel.tsx:135 2312 2277 msgid "Not Applicable." 2313 2278 msgstr "Não Aplicável." 2314 2279 2315 2280 #: src/Navigation.tsx:104 2316 2281 msgid "Not Found" 2317 - msgstr "" 2282 + msgstr "Não encontrado" 2318 2283 2319 2284 #: src/view/com/modals/VerifyEmail.tsx:246 2320 2285 #: src/view/com/modals/VerifyEmail.tsx:252 2321 2286 msgid "Not right now" 2322 - msgstr "" 2287 + msgstr "Agora não" 2323 2288 2324 2289 #: src/view/screens/Moderation.tsx:227 2325 2290 #~ msgid "Note: Bluesky is an open and public network, and enabling this will not make your profile private or limit the ability of logged in users to see your posts. This setting only limits the visibility of posts on the Bluesky app and website; third-party apps that display Bluesky content may not respect this setting, and could show your content to logged-out users." 2326 - #~ msgstr "" 2291 + #~ msgstr "Nota: o Bluesky é uma rede aberta e pública. Habilitar esta configuração não tornará seu perfil privado nem impedirá os usuários logados de verem os seus posts. Esta configuração só limita a visibilidade dos posts nos apps oficiais do Bluesky; aplicativos de terceiros podem não respeitá-la e poderão mostrar seu conteúdo para usuários deslogados." 2327 2292 2328 2293 #: src/view/screens/Moderation.tsx:232 2329 2294 msgid "Note: Bluesky is an open and public network. This setting only limits the visibility of your content on the Bluesky app and website, and other apps may not respect this setting. Your content may still be shown to logged-out users by other apps and websites." 2330 - msgstr "Nota: o Bluesky é uma rede aberta e pública. Essa configuração limita somente a visibilidade do seu conteúdo no site e aplicativo do Bluesky, e outros aplicativos podem não respeitar essa configuração. Seu conteúdo ainda pode ser exibido para usuários desconectados por outros aplicativos e sites." 2331 - 2332 - #: src/view/screens/Moderation.tsx:227 2333 - #~ msgid "Note: Third-party apps that display Bluesky content may not respect this setting." 2334 - #~ msgstr "" 2295 + msgstr "Nota: o Bluesky é uma rede aberta e pública. Esta configuração limita somente a visibilidade do seu conteúdo no site e aplicativo do Bluesky, e outros aplicativos podem não respeitar esta configuração. Seu conteúdo ainda poderá ser exibido para usuários deslogados por outros aplicativos e sites." 2335 2296 2336 2297 #: src/Navigation.tsx:445 2337 2298 #: src/view/screens/Notifications.tsx:113 ··· 2345 2306 2346 2307 #: src/view/com/modals/SelfLabel.tsx:103 2347 2308 msgid "Nudity" 2348 - msgstr "" 2309 + msgstr "Nudez" 2349 2310 2350 2311 #: src/view/com/util/ErrorBoundary.tsx:35 2351 2312 msgid "Oh no!" 2352 - msgstr "Oh, não!" 2313 + msgstr "Opa!" 2353 2314 2354 2315 #: src/view/com/auth/login/PasswordUpdatedForm.tsx:41 2355 2316 msgid "Okay" ··· 2361 2322 2362 2323 #: src/view/screens/Settings.tsx:236 2363 2324 msgid "Onboarding reset" 2364 - msgstr "" 2325 + msgstr "Resetar tutoriais" 2365 2326 2366 2327 #: src/view/com/composer/Composer.tsx:375 2367 2328 msgid "One or more images is missing alt text." ··· 2375 2336 #: src/view/com/modals/ProfilePreview.tsx:61 2376 2337 #: src/view/screens/AppPasswords.tsx:65 2377 2338 msgid "Oops!" 2378 - msgstr "" 2339 + msgstr "Opa!" 2379 2340 2380 2341 #: src/view/com/composer/Composer.tsx:470 2381 2342 #: src/view/com/composer/Composer.tsx:471 ··· 2384 2345 2385 2346 #: src/view/screens/Settings.tsx:678 2386 2347 msgid "Open links with in-app browser" 2387 - msgstr "" 2348 + msgstr "Abrir links no navegador interno" 2388 2349 2389 2350 #: src/view/com/pager/FeedsTabBarMobile.tsx:81 2390 2351 msgid "Open navigation" ··· 2392 2353 2393 2354 #: src/view/screens/Settings.tsx:737 2394 2355 msgid "Open storybook page" 2395 - msgstr "" 2356 + msgstr "Abre o storybook" 2396 2357 2397 2358 #: src/view/com/util/forms/DropdownButton.tsx:147 2398 2359 msgid "Opens {numItems} options" 2399 - msgstr "" 2360 + msgstr "Abre {numItems} opções" 2400 2361 2401 2362 #: src/view/screens/Log.tsx:54 2402 2363 msgid "Opens additional details for a debug entry" 2403 - msgstr "" 2364 + msgstr "Abre detalhes adicionais para um registro de depuração" 2404 2365 2405 2366 #: src/view/com/notifications/FeedItem.tsx:352 2406 2367 msgid "Opens an expanded list of users in this notification" 2407 - msgstr "" 2368 + msgstr "Abre a lista de usuários nesta notificação" 2408 2369 2409 2370 #: src/view/com/composer/photos/OpenCameraBtn.tsx:61 2410 2371 msgid "Opens camera on device" 2411 - msgstr "" 2372 + msgstr "Abre a câmera do dispositivo" 2412 2373 2413 2374 #: src/view/com/composer/Prompt.tsx:25 2414 2375 msgid "Opens composer" 2415 - msgstr "" 2376 + msgstr "Abre o editor de post" 2416 2377 2417 2378 #: src/view/screens/Settings.tsx:561 2418 2379 msgid "Opens configurable language settings" ··· 2420 2381 2421 2382 #: src/view/com/composer/photos/SelectPhotoBtn.tsx:44 2422 2383 msgid "Opens device photo gallery" 2423 - msgstr "" 2384 + msgstr "Abre a galeria de fotos do dispositivo" 2424 2385 2425 2386 #: src/view/com/profile/ProfileHeader.tsx:459 2426 2387 msgid "Opens editor for profile display name, avatar, background image, and description" 2427 - msgstr "" 2388 + msgstr "Abre o editor de nome, avatar, banner e descrição do perfil" 2428 2389 2429 2390 #: src/view/screens/Settings.tsx:615 2430 2391 msgid "Opens external embeds settings" 2431 - msgstr "Abre as configurações de incorporações externas" 2392 + msgstr "Abre as configurações de anexos externos" 2432 2393 2433 2394 #: src/view/com/profile/ProfileHeader.tsx:614 2434 2395 msgid "Opens followers list" 2435 - msgstr "" 2396 + msgstr "Abre lista de seguidores" 2436 2397 2437 2398 #: src/view/com/profile/ProfileHeader.tsx:633 2438 2399 msgid "Opens following list" 2439 - msgstr "" 2400 + msgstr "Abre lista de seguidos" 2440 2401 2441 2402 #: src/view/screens/Settings.tsx:412 2442 2403 msgid "Opens invite code list" 2443 - msgstr "" 2404 + msgstr "Abre lista de convites" 2444 2405 2445 2406 #: src/view/com/modals/InviteCodes.tsx:172 2446 2407 #: src/view/shell/desktop/RightNav.tsx:156 ··· 2450 2411 2451 2412 #: src/view/screens/Settings.tsx:696 2452 2413 msgid "Opens modal for account deletion confirmation. Requires email code." 2453 - msgstr "" 2414 + msgstr "Abre modal para confirmar exclusão de conta. Requer código de verificação." 2454 2415 2455 2416 #: src/view/com/modals/ChangeHandle.tsx:281 2456 2417 msgid "Opens modal for using custom domain" ··· 2462 2423 2463 2424 #: src/view/com/auth/login/LoginForm.tsx:236 2464 2425 msgid "Opens password reset form" 2465 - msgstr "" 2426 + msgstr "Abre o formulário de redefinição de senha" 2466 2427 2467 2428 #: src/view/screens/Feeds.tsx:335 2468 2429 msgid "Opens screen to edit Saved Feeds" 2469 - msgstr "" 2430 + msgstr "Abre a tela para editar feeds salvos" 2470 2431 2471 2432 #: src/view/screens/Settings.tsx:542 2472 2433 msgid "Opens screen with all saved feeds" ··· 2490 2451 2491 2452 #: src/view/screens/Settings.tsx:522 2492 2453 msgid "Opens the threads preferences" 2493 - msgstr "Abrir as preferências dos tópicos" 2454 + msgstr "Abre as preferências de threads" 2494 2455 2495 2456 #: src/view/com/util/forms/DropdownButton.tsx:254 2496 2457 msgid "Option {0} of {numItems}" 2497 - msgstr "" 2458 + msgstr "Opção {0} de {numItems}" 2498 2459 2499 2460 #: src/view/com/modals/Threadgate.tsx:89 2500 2461 msgid "Or combine these options:" ··· 2512 2473 msgid "Other..." 2513 2474 msgstr "Outro..." 2514 2475 2515 - #: src/view/screens/NotFound.tsx:42 2476 + #: src/view/screens/NotFound.tsx:42 2516 2477 #: src/view/screens/NotFound.tsx:45 2517 2478 msgid "Page not found" 2518 2479 msgstr "Página não encontrada" ··· 2535 2496 2536 2497 #: src/Navigation.tsx:160 2537 2498 msgid "People followed by @{0}" 2538 - msgstr "" 2499 + msgstr "Pessoas seguidas por @{0}" 2539 2500 2540 2501 #: src/Navigation.tsx:153 2541 2502 msgid "People following @{0}" 2542 - msgstr "" 2503 + msgstr "Pessoas seguindo @{0}" 2543 2504 2544 2505 #: src/view/com/lightbox/Lightbox.tsx:66 2545 2506 msgid "Permission to access camera roll is required." 2546 - msgstr "" 2507 + msgstr "A permissão de galeria é obrigatória." 2547 2508 2548 2509 #: src/view/com/lightbox/Lightbox.tsx:72 2549 2510 msgid "Permission to access camera roll was denied. Please enable it in your system settings." 2550 - msgstr "" 2511 + msgstr "A permissão de galeria foi recusada. Por favor, habilite-a nas configurações do dispositivo." 2551 2512 2552 2513 #: src/view/com/auth/create/Step2.tsx:181 2553 2514 msgid "Phone number" 2554 - msgstr "" 2515 + msgstr "Número de telefone" 2555 2516 2556 2517 #: src/view/com/modals/SelfLabel.tsx:121 2557 2518 msgid "Pictures meant for adults." ··· 2560 2521 #: src/view/screens/ProfileFeed.tsx:362 2561 2522 #: src/view/screens/ProfileList.tsx:559 2562 2523 msgid "Pin to home" 2563 - msgstr "" 2524 + msgstr "Fixar na tela inicial" 2564 2525 2565 2526 #: src/view/screens/SavedFeeds.tsx:88 2566 2527 msgid "Pinned Feeds" ··· 2581 2542 2582 2543 #: src/view/com/auth/create/state.ts:177 2583 2544 msgid "Please choose your handle." 2584 - msgstr "Por favor, escolha o seu identificador." 2545 + msgstr "Por favor, escolha seu usuário." 2585 2546 2586 2547 #: src/view/com/auth/create/state.ts:160 2587 2548 msgid "Please choose your password." ··· 2589 2550 2590 2551 #: src/view/com/modals/ChangeEmail.tsx:67 2591 2552 msgid "Please confirm your email before changing it. This is a temporary requirement while email-updating tools are added, and it will soon be removed." 2592 - msgstr "Por favor, confirme seu email antes de alterá-lo. Este é um requisito temporário enquanto ferramentas de atualização de email são adicionadas, e em breve serão removidos." 2553 + msgstr "Por favor, confirme seu e-mail antes de alterá-lo. Este é um requisito temporário enquanto ferramentas de atualização de e-mail são adicionadas, e em breve será removido." 2593 2554 2594 2555 #: src/view/com/modals/AddAppPasswords.tsx:89 2595 2556 msgid "Please enter a name for your app password. All spaces is not allowed." 2596 - msgstr "" 2557 + msgstr "Por favor, insira um nome para a sua Senha de Aplicativo." 2597 2558 2598 2559 #: src/view/com/auth/create/Step2.tsx:204 2599 2560 msgid "Please enter a phone number that can receive SMS text messages." 2600 - msgstr "" 2561 + msgstr "Por favor, insira um número de telefone que possa receber mensagens SMS." 2601 2562 2602 2563 #: src/view/com/modals/AddAppPasswords.tsx:144 2603 2564 msgid "Please enter a unique name for this App Password or use our randomly generated one." 2604 - msgstr "Por favor, insira um nome único para esta Senha do Aplicativo ou use nossa senha gerada aleatoriamente." 2565 + msgstr "Por favor, insira um nome único para esta Senha de Aplicativo ou use nosso nome gerado automaticamente." 2605 2566 2606 2567 #: src/view/com/auth/create/state.ts:170 2607 2568 msgid "Please enter the code you received by SMS." 2608 - msgstr "" 2569 + msgstr "Por favor, digite o código recebido via SMS." 2609 2570 2610 2571 #: src/view/com/auth/create/Step2.tsx:279 2611 2572 msgid "Please enter the verification code sent to {phoneNumberFormatted}." 2612 - msgstr "" 2573 + msgstr "Por favor, digite o código de verificação enviado para {phoneNumberFormatted}." 2613 2574 2614 2575 #: src/view/com/auth/create/state.ts:146 2615 2576 msgid "Please enter your email." 2616 - msgstr "Por favor, digite o seu email." 2577 + msgstr "Por favor, digite o seu e-mail." 2617 2578 2618 2579 #: src/view/com/modals/DeleteAccount.tsx:187 2619 2580 msgid "Please enter your password as well:" ··· 2627 2588 #: src/view/com/modals/AppealLabel.tsx:72 2628 2589 #: src/view/com/modals/AppealLabel.tsx:75 2629 2590 #~ msgid "Please tell us why you think this decision was incorrect." 2630 - #~ msgstr "" 2591 + #~ msgstr "Por favor, conte-nos por que achou que esta decisão está incorreta." 2631 2592 2632 2593 #: src/view/com/modals/VerifyEmail.tsx:101 2633 2594 msgid "Please Verify Your Email" 2634 - msgstr "" 2595 + msgstr "Por favor, verifique seu e-mail" 2635 2596 2636 2597 #: src/view/com/composer/Composer.tsx:215 2637 2598 msgid "Please wait for your link card to finish loading" 2638 - msgstr "Aguarde até que o cartão de link termine de carregar" 2599 + msgstr "Aguarde até que a prévia de link termine de carregar" 2639 2600 2640 2601 #: src/view/com/modals/SelfLabel.tsx:111 2641 2602 msgid "Porn" 2642 - msgstr "" 2603 + msgstr "Pornografia" 2643 2604 2644 2605 #: src/view/com/composer/Composer.tsx:350 2645 2606 #: src/view/com/composer/Composer.tsx:358 2646 2607 msgctxt "action" 2647 2608 msgid "Post" 2648 - msgstr "" 2609 + msgstr "Postar" 2649 2610 2650 2611 #: src/view/com/post-thread/PostThread.tsx:227 2651 2612 #: src/view/screens/PostThread.tsx:82 2652 2613 msgctxt "description" 2653 2614 msgid "Post" 2654 - msgstr "" 2615 + msgstr "Post" 2655 2616 2656 2617 #: src/view/com/composer/Composer.tsx:346 2657 2618 #: src/view/com/post-thread/PostThread.tsx:225 ··· 2661 2622 2662 2623 #: src/view/com/post-thread/PostThreadItem.tsx:176 2663 2624 msgid "Post by {0}" 2664 - msgstr "" 2625 + msgstr "Post por {0}" 2665 2626 2666 2627 #: src/Navigation.tsx:172 2667 2628 #: src/Navigation.tsx:179 2668 2629 #: src/Navigation.tsx:186 2669 2630 msgid "Post by @{0}" 2670 - msgstr "" 2631 + msgstr "Post por @{0}" 2671 2632 2672 2633 #: src/view/com/util/forms/PostDropdownBtn.tsx:82 2673 2634 msgid "Post deleted" 2674 - msgstr "" 2635 + msgstr "Post excluído" 2675 2636 2676 2637 #: src/view/com/post-thread/PostThread.tsx:382 2677 2638 msgid "Post hidden" ··· 2683 2644 2684 2645 #: src/view/com/modals/lang-settings/PostLanguagesSettings.tsx:75 2685 2646 msgid "Post Languages" 2686 - msgstr "Idioma do Post" 2647 + msgstr "Idiomas do Post" 2687 2648 2688 2649 #: src/view/com/post-thread/PostThread.tsx:434 2689 2650 msgid "Post not found" ··· 2695 2656 2696 2657 #: src/view/com/posts/FeedErrorMessage.tsx:64 2697 2658 msgid "Posts hidden" 2698 - msgstr "" 2659 + msgstr "Posts ocultados" 2699 2660 2700 2661 #: src/view/com/modals/LinkWarning.tsx:46 2701 2662 msgid "Potentially Misleading Link" ··· 2739 2700 2740 2701 #: src/view/com/modals/EditProfile.tsx:128 2741 2702 msgid "Profile updated" 2742 - msgstr "" 2703 + msgstr "Perfil atualizado" 2743 2704 2744 2705 #: src/view/screens/Settings.tsx:882 2745 2706 msgid "Protect your account by verifying your email." 2746 - msgstr "Proteja a sua conta verificando o seu email." 2707 + msgstr "Proteja a sua conta verificando o seu e-mail." 2747 2708 2748 2709 #: src/view/screens/ModerationModlists.tsx:61 2749 2710 msgid "Public, shareable lists of users to mute or block in bulk." 2750 - msgstr "Listas públicas e compartilháveis de usuários para silenciar ou bloquear em massa." 2711 + msgstr "Listas públicas e compartilháveis para silenciar ou bloquear usuários em massa." 2751 2712 2752 2713 #: src/view/screens/Lists.tsx:61 2753 2714 msgid "Public, shareable lists which can drive feeds." 2754 - msgstr "Listas públicas e compartilháveis que podem gerar feeds." 2715 + msgstr "Listas públicas e compartilháveis que geram feeds." 2755 2716 2756 2717 #: src/view/com/composer/Composer.tsx:335 2757 2718 msgid "Publish post" 2758 - msgstr "" 2719 + msgstr "Publicar post" 2759 2720 2760 2721 #: src/view/com/composer/Composer.tsx:335 2761 2722 msgid "Publish reply" 2762 - msgstr "" 2723 + msgstr "Publicar resposta" 2763 2724 2764 2725 #: src/view/com/modals/Repost.tsx:65 2765 2726 msgctxt "action" 2766 2727 msgid "Quote post" 2767 - msgstr "" 2728 + msgstr "Citar post" 2768 2729 2769 2730 #: src/view/com/util/post-ctrls/RepostButton.web.tsx:58 2770 2731 msgid "Quote post" ··· 2773 2734 #: src/view/com/modals/Repost.tsx:70 2774 2735 msgctxt "action" 2775 2736 msgid "Quote Post" 2776 - msgstr "" 2737 + msgstr "Citar Post" 2777 2738 2778 2739 #: src/view/com/modals/Repost.tsx:56 2779 2740 #~ msgid "Quote Post" ··· 2781 2742 2782 2743 #: src/view/screens/PreferencesThreads.tsx:86 2783 2744 msgid "Random (aka \"Poster's Roulette\")" 2784 - msgstr "Aleatório (também conhecido como \"Poster's Roulette\")" 2745 + msgstr "Aleatório" 2785 2746 2786 2747 #: src/view/com/modals/EditImage.tsx:236 2787 2748 msgid "Ratios" 2788 2749 msgstr "Índices" 2789 2750 2790 - #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:73 2791 - #: src/view/com/auth/onboarding/RecommendedFollows.tsx:50 2792 - #~ msgid "Recommended" 2793 - #~ msgstr "" 2794 - 2795 2751 #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116 2796 2752 msgid "Recommended Feeds" 2797 2753 msgstr "Feeds Recomendados" ··· 2839 2795 2840 2796 #: src/view/com/modals/Repost.tsx:47 2841 2797 msgid "Remove repost" 2842 - msgstr "" 2798 + msgstr "Desfazer repost" 2843 2799 2844 2800 #: src/view/com/feeds/FeedSourceCard.tsx:173 2845 2801 msgid "Remove this feed from my feeds?" ··· 2847 2803 2848 2804 #: src/view/com/posts/FeedErrorMessage.tsx:132 2849 2805 msgid "Remove this feed from your saved feeds?" 2850 - msgstr "Remover esse feed de seus feeds salvos?" 2806 + msgstr "Remover este feed dos feeds salvos?" 2851 2807 2852 2808 #: src/view/com/modals/ListAddRemoveUsers.tsx:199 2853 2809 #: src/view/com/modals/UserAddRemoveLists.tsx:136 ··· 2857 2813 #: src/view/com/feeds/FeedSourceCard.tsx:111 2858 2814 #: src/view/com/feeds/FeedSourceCard.tsx:178 2859 2815 msgid "Removed from my feeds" 2860 - msgstr "" 2816 + msgstr "Remover dos meus feeds" 2861 2817 2862 2818 #: src/view/com/composer/ExternalEmbed.tsx:71 2863 2819 msgid "Removes default thumbnail from {0}" 2864 - msgstr "" 2820 + msgstr "Remover miniatura de {0}" 2865 2821 2866 2822 #: src/view/screens/Profile.tsx:162 2867 2823 msgid "Replies" ··· 2869 2825 2870 2826 #: src/view/com/threadgate/WhoCanReply.tsx:98 2871 2827 msgid "Replies to this thread are disabled" 2872 - msgstr "Respostas para este tópico estão desativadas" 2828 + msgstr "Respostas para esta thread estão desativadas" 2873 2829 2874 2830 #: src/view/com/composer/Composer.tsx:348 2875 2831 msgctxt "action" 2876 2832 msgid "Reply" 2877 - msgstr "" 2833 + msgstr "Responder" 2878 2834 2879 2835 #: src/view/screens/PreferencesHomeFeed.tsx:144 2880 2836 msgid "Reply Filters" ··· 2884 2840 #: src/view/com/posts/FeedItem.tsx:286 2885 2841 msgctxt "description" 2886 2842 msgid "Reply to <0/>" 2887 - msgstr "" 2843 + msgstr "Responder <0/>" 2888 2844 2889 2845 #: src/view/com/modals/report/Modal.tsx:166 2890 2846 msgid "Report {collectionName}" ··· 2913 2869 #: src/view/com/util/post-ctrls/RepostButton.tsx:61 2914 2870 msgctxt "action" 2915 2871 msgid "Repost" 2916 - msgstr "" 2872 + msgstr "Repostar" 2917 2873 2918 2874 #: src/view/com/util/post-ctrls/RepostButton.web.tsx:48 2919 2875 msgid "Repost" ··· 2922 2878 #: src/view/com/util/post-ctrls/RepostButton.web.tsx:94 2923 2879 #: src/view/com/util/post-ctrls/RepostButton.web.tsx:105 2924 2880 msgid "Repost or quote post" 2925 - msgstr "Repostar ou citar uma post" 2881 + msgstr "Repostar ou citar um post" 2926 2882 2927 2883 #: src/view/screens/PostRepostedBy.tsx:27 2928 2884 msgid "Reposted by" ··· 2930 2886 2931 2887 #: src/view/com/posts/FeedItem.tsx:206 2932 2888 msgid "Reposted by {0})" 2933 - msgstr "" 2889 + msgstr "Repostado por {0})" 2934 2890 2935 2891 #: src/view/com/posts/FeedItem.tsx:223 2936 2892 msgid "Reposted by <0/>" 2937 - msgstr "" 2893 + msgstr "Repostado por <0/>" 2938 2894 2939 2895 #: src/view/com/notifications/FeedItem.tsx:162 2940 2896 msgid "reposted your post" 2941 - msgstr "" 2897 + msgstr "repostou seu post" 2942 2898 2943 2899 #: src/view/com/post-thread/PostThreadItem.tsx:189 2944 2900 msgid "Reposts of this post" 2945 - msgstr "" 2901 + msgstr "Reposts" 2946 2902 2947 2903 #: src/view/com/modals/ChangeEmail.tsx:181 2948 2904 #: src/view/com/modals/ChangeEmail.tsx:183 ··· 2951 2907 2952 2908 #: src/view/com/auth/create/Step2.tsx:217 2953 2909 msgid "Request code" 2954 - msgstr "" 2910 + msgstr "Solicitar código" 2955 2911 2956 2912 #: src/view/screens/Moderation.tsx:188 2957 2913 #~ msgid "Request to limit the visibility of my account" 2958 - #~ msgstr "" 2914 + #~ msgstr "Exigir limitação de visibilidade da minha conta" 2959 2915 2960 2916 #: src/view/screens/Settings.tsx:450 2961 2917 msgid "Require alt text before posting" ··· 2972 2928 2973 2929 #: src/view/screens/Settings.tsx:757 2974 2930 msgid "Reset onboarding" 2975 - msgstr "" 2931 + msgstr "Redefinir tutoriais" 2976 2932 2977 2933 #: src/view/screens/Settings.tsx:760 2978 2934 msgid "Reset onboarding state" 2979 - msgstr "Redefinir estado de integração" 2935 + msgstr "Redefinir tutoriais" 2980 2936 2981 2937 #: src/view/com/auth/login/ForgotPasswordForm.tsx:100 2982 2938 msgid "Reset password" ··· 2984 2940 2985 2941 #: src/view/screens/Settings.tsx:747 2986 2942 msgid "Reset preferences" 2987 - msgstr "" 2943 + msgstr "Redefinir configurações" 2988 2944 2989 2945 #: src/view/screens/Settings.tsx:750 2990 2946 msgid "Reset preferences state" 2991 - msgstr "Redefinir estado das preferências" 2947 + msgstr "Redefinir configurações" 2992 2948 2993 2949 #: src/view/screens/Settings.tsx:758 2994 2950 msgid "Resets the onboarding state" 2995 - msgstr "Redefine o estado de integração" 2951 + msgstr "Redefine tutoriais" 2996 2952 2997 2953 #: src/view/screens/Settings.tsx:748 2998 2954 msgid "Resets the preferences state" 2999 - msgstr "Redefine o estado das preferências" 2955 + msgstr "Redefine as configurações" 3000 2956 3001 2957 #: src/view/com/auth/login/LoginForm.tsx:266 3002 2958 msgid "Retries login" 3003 - msgstr "" 2959 + msgstr "Tenta entrar novamente" 3004 2960 3005 2961 #: src/view/com/util/error/ErrorMessage.tsx:57 3006 2962 #: src/view/com/util/error/ErrorScreen.tsx:67 3007 2963 msgid "Retries the last action, which errored out" 3008 - msgstr "" 2964 + msgstr "Tenta a última ação, que deu erro" 3009 2965 3010 2966 #: src/view/com/auth/create/CreateAccount.tsx:164 3011 2967 #: src/view/com/auth/create/CreateAccount.tsx:168 ··· 3019 2975 3020 2976 #: src/view/com/modals/ChangeHandle.tsx:169 3021 2977 #~ msgid "Retry change handle" 3022 - #~ msgstr "" 2978 + #~ msgstr "Tentar troca de usuário novamente" 3023 2979 3024 2980 #: src/view/com/auth/create/Step2.tsx:245 3025 2981 msgid "Retry." 3026 - msgstr "" 2982 + msgstr "Tentar novamente." 3027 2983 3028 2984 #: src/view/screens/ProfileList.tsx:877 3029 2985 msgid "Return to previous page" 3030 - msgstr "" 2986 + msgstr "Voltar para página anterior" 3031 2987 3032 2988 #: src/view/shell/desktop/RightNav.tsx:59 3033 2989 msgid "SANDBOX. Posts and accounts are not permanent." 3034 - msgstr "" 2990 + msgstr "SANDBOX. Posts e contas não são permanentes." 3035 2991 3036 2992 #: src/view/com/lightbox/Lightbox.tsx:129 3037 2993 #: src/view/com/modals/CreateOrEditList.tsx:276 3038 2994 msgctxt "action" 3039 2995 msgid "Save" 3040 - msgstr "" 2996 + msgstr "Salvar" 3041 2997 3042 2998 #: src/view/com/modals/BirthDateSettings.tsx:94 3043 2999 #: src/view/com/modals/BirthDateSettings.tsx:97 ··· 3054 3010 3055 3011 #: src/view/com/modals/UserAddRemoveLists.tsx:212 3056 3012 #~ msgid "Save changes" 3057 - #~ msgstr "" 3013 + #~ msgstr "Salvar alterações" 3058 3014 3059 3015 #: src/view/com/modals/EditProfile.tsx:232 3060 3016 msgid "Save Changes" ··· 3062 3018 3063 3019 #: src/view/com/modals/ChangeHandle.tsx:170 3064 3020 msgid "Save handle change" 3065 - msgstr "Salvar identificador alterado" 3021 + msgstr "Salvar usuário" 3066 3022 3067 3023 #: src/view/com/modals/crop-image/CropImage.web.tsx:144 3068 3024 msgid "Save image crop" ··· 3074 3030 3075 3031 #: src/view/com/modals/EditProfile.tsx:225 3076 3032 msgid "Saves any changes to your profile" 3077 - msgstr "" 3033 + msgstr "Salva todas as alterações" 3078 3034 3079 3035 #: src/view/com/modals/ChangeHandle.tsx:171 3080 3036 msgid "Saves handle change to {handle}" 3081 - msgstr "" 3037 + msgstr "Salva mudança de usuário para {handle}" 3082 3038 3083 3039 #: src/view/screens/ProfileList.tsx:833 3084 3040 msgid "Scroll to top" 3085 - msgstr "" 3041 + msgstr "Ir para o topo" 3086 3042 3087 3043 #: src/Navigation.tsx:435 3088 3044 #: src/view/com/auth/LoggedOut.tsx:122 ··· 3104 3060 #: src/view/screens/Search/Search.tsx:628 3105 3061 #: src/view/shell/desktop/Search.tsx:255 3106 3062 msgid "Search for \"{query}\"" 3107 - msgstr "" 3063 + msgstr "Pesquisar por \"{query}\"" 3108 3064 3109 3065 #: src/view/screens/Search/Search.tsx:390 3110 3066 #~ msgid "Search for posts and users." 3111 - #~ msgstr "" 3067 + #~ msgstr "Buscar por posts e usuários." 3112 3068 3113 3069 #: src/view/com/auth/LoggedOut.tsx:104 3114 3070 #: src/view/com/auth/LoggedOut.tsx:105 3115 3071 #: src/view/com/modals/ListAddRemoveUsers.tsx:70 3116 3072 msgid "Search for users" 3117 - msgstr "Buscar por usuários" 3073 + msgstr "Buscar usuários" 3118 3074 3119 3075 #: src/view/com/modals/ChangeEmail.tsx:110 3120 3076 msgid "Security Step Required" ··· 3122 3078 3123 3079 #: src/view/screens/SavedFeeds.tsx:163 3124 3080 msgid "See this guide" 3125 - msgstr "" 3081 + msgstr "Veja o guia" 3126 3082 3127 3083 #: src/view/com/auth/HomeLoggedOutCTA.tsx:39 3128 3084 msgid "See what's next" 3129 - msgstr "Veja o que vem a seguir" 3085 + msgstr "Veja o que vem por aí" 3130 3086 3131 3087 #: src/view/com/util/Selector.tsx:106 3132 3088 msgid "Select {item}" 3133 - msgstr "" 3089 + msgstr "Selecionar {item}" 3134 3090 3135 3091 #: src/view/com/modals/ServerInput.tsx:75 3136 3092 msgid "Select Bluesky Social" 3137 - msgstr "Selecione Bluesky Social" 3093 + msgstr "Selecionar Bluesky Social" 3138 3094 3139 3095 #: src/view/com/auth/login/Login.tsx:117 3140 3096 msgid "Select from an existing account" 3141 - msgstr "Selecione em uma conta existente" 3097 + msgstr "Selecionar de uma conta existente" 3142 3098 3143 3099 #: src/view/com/util/Selector.tsx:107 3144 3100 msgid "Select option {i} of {numItems}" 3145 - msgstr "" 3101 + msgstr "Seleciona opção {i} de {numItems}" 3146 3102 3147 3103 #: src/view/com/auth/create/Step1.tsx:77 3148 3104 #: src/view/com/auth/login/LoginForm.tsx:147 3149 3105 msgid "Select service" 3150 - msgstr "Selecione o serviço" 3106 + msgstr "Selecionar serviço" 3151 3107 3152 3108 #: src/view/screens/LanguageSettings.tsx:281 3153 3109 msgid "Select which languages you want your subscribed feeds to include. If none are selected, all languages will be shown." 3154 - msgstr "Selecione quais idiomas você deseja que seus feeds subscritos incluam. Se nenhum for selecionado, todas as línguas serão exibidas." 3110 + msgstr "Selecione quais idiomas você deseja ver nos seus feeds. Se nenhum for selecionado, todos os idiomas serão exibidos." 3155 3111 3156 3112 #: src/view/screens/LanguageSettings.tsx:98 3157 3113 msgid "Select your app language for the default text to display in the app" 3158 - msgstr "Selecione o idioma do seu aplicativo para o texto padrão a ser exibido no aplicativo" 3114 + msgstr "Selecione o idioma do seu aplicativo" 3159 3115 3160 3116 #: src/view/com/auth/create/Step2.tsx:153 3161 3117 msgid "Select your phone's country" 3162 - msgstr "" 3118 + msgstr "Selecione o país do número de telefone" 3163 3119 3164 3120 #: src/view/screens/LanguageSettings.tsx:190 3165 3121 msgid "Select your preferred language for translations in your feed." 3166 - msgstr "Selecione seu idioma preferido para as traduções do seu feed." 3122 + msgstr "Selecione seu idioma preferido para as traduções no seu feed." 3167 3123 3168 3124 #: src/view/com/modals/VerifyEmail.tsx:202 3169 3125 #: src/view/com/modals/VerifyEmail.tsx:204 3170 3126 msgid "Send Confirmation Email" 3171 - msgstr "Enviar Email de Confirmação" 3127 + msgstr "Enviar E-mail de Confirmação" 3172 3128 3173 3129 #: src/view/com/modals/DeleteAccount.tsx:127 3174 3130 msgid "Send email" 3175 - msgstr "Enviar email" 3131 + msgstr "Enviar e-mail" 3176 3132 3177 3133 #: src/view/com/modals/DeleteAccount.tsx:140 3178 3134 msgctxt "action" 3179 3135 msgid "Send Email" 3180 - msgstr "" 3136 + msgstr "Enviar E-mail" 3181 3137 3182 3138 #: src/view/com/modals/DeleteAccount.tsx:138 3183 3139 #~ msgid "Send Email" ··· 3190 3146 3191 3147 #: src/view/com/modals/report/SendReportButton.tsx:45 3192 3148 msgid "Send Report" 3193 - msgstr "Enviar um Relatório" 3149 + msgstr "Denunciar" 3194 3150 3195 3151 #: src/view/com/modals/DeleteAccount.tsx:129 3196 3152 msgid "Sends email with confirmation code for account deletion" 3197 - msgstr "" 3153 + msgstr "Envia o e-mail com o código de confirmação para excluir a conta" 3198 3154 3199 3155 #: src/view/com/modals/ContentFilteringSettings.tsx:306 3200 3156 msgid "Set {value} for {labelGroup} content moderation policy" 3201 - msgstr "" 3157 + msgstr "Definir {value} para o filtro de moderação {labelGroup}" 3202 3158 3203 3159 #: src/view/com/modals/ContentFilteringSettings.tsx:155 3204 3160 #: src/view/com/modals/ContentFilteringSettings.tsx:174 3205 3161 msgctxt "action" 3206 3162 msgid "Set Age" 3207 - msgstr "" 3163 + msgstr "Definir Idade" 3208 3164 3209 3165 #: src/view/screens/Settings.tsx:482 3210 3166 msgid "Set color theme to dark" 3211 - msgstr "" 3167 + msgstr "Definir o tema de cor para escuro" 3212 3168 3213 3169 #: src/view/screens/Settings.tsx:475 3214 3170 msgid "Set color theme to light" 3215 - msgstr "" 3171 + msgstr "Definir o tema de cor para claro" 3216 3172 3217 3173 #: src/view/screens/Settings.tsx:469 3218 3174 msgid "Set color theme to system setting" 3219 - msgstr "" 3175 + msgstr "Definir o tema para acompanhar o sistema" 3220 3176 3221 3177 #: src/view/com/auth/login/SetNewPasswordForm.tsx:78 3222 3178 msgid "Set new password" 3223 - msgstr "Defina uma nova senha" 3179 + msgstr "Definir uma nova senha" 3224 3180 3225 3181 #: src/view/com/auth/create/Step1.tsx:169 3226 3182 msgid "Set password" 3227 - msgstr "" 3183 + msgstr "Definir senha" 3228 3184 3229 3185 #: src/view/screens/PreferencesHomeFeed.tsx:225 3230 3186 msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible." 3231 - msgstr "Defina esta configuração como \"Não\" para ocultar todos os posts citados do seu feed. Repostagens ainda serão visíveis." 3187 + msgstr "Defina esta configuração como \"Não\" para ocultar todas as citações do seu feed. Reposts ainda serão visíveis." 3232 3188 3233 3189 #: src/view/screens/PreferencesHomeFeed.tsx:122 3234 3190 msgid "Set this setting to \"No\" to hide all replies from your feed." 3235 - msgstr "Defina essa configuração como \"Não\" para ocultar todas as respostas do seu feed." 3191 + msgstr "Defina esta configuração como \"Não\" para ocultar todas as respostas do seu feed." 3236 3192 3237 3193 #: src/view/screens/PreferencesHomeFeed.tsx:191 3238 3194 msgid "Set this setting to \"No\" to hide all reposts from your feed." 3239 - msgstr "Defina essa configuração como \"Não\" para ocultar todas as repostagens do seu feed." 3195 + msgstr "Defina esta configuração como \"Não\" para ocultar todos os reposts do seu feed." 3240 3196 3241 3197 #: src/view/screens/PreferencesThreads.tsx:122 3242 3198 msgid "Set this setting to \"Yes\" to show replies in a threaded view. This is an experimental feature." 3243 - msgstr "Defina esta configuração como \"Sim\" para mostrar respostas em uma visualização thread. Este é um recurso experimental." 3199 + msgstr "Defina esta configuração como \"Sim\" para mostrar respostas em uma visualização de thread. Este é um recurso experimental." 3244 3200 3245 3201 #: src/view/screens/PreferencesHomeFeed.tsx:261 3246 3202 msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your following feed. This is an experimental feature." 3247 - msgstr "Defina essa configuração como \"Sim\" para mostrar amostras de seus feeds salvos no seu seguinte feed. Este é um recurso experimental." 3203 + msgstr "Defina esta configuração como \"Sim\" para mostrar amostras de seus feeds salvos na sua página inicial. Este é um recurso experimental." 3248 3204 3249 3205 #: src/view/com/modals/ChangeHandle.tsx:266 3250 3206 msgid "Sets Bluesky username" 3251 - msgstr "" 3207 + msgstr "Configura o usuário no Bluesky" 3252 3208 3253 3209 #: src/view/com/auth/login/ForgotPasswordForm.tsx:153 3254 3210 msgid "Sets email for password reset" 3255 - msgstr "" 3211 + msgstr "Configura o e-mail para recuperação de senha" 3256 3212 3257 3213 #: src/view/com/auth/login/ForgotPasswordForm.tsx:118 3258 3214 msgid "Sets hosting provider for password reset" 3259 - msgstr "" 3215 + msgstr "Configura o provedor de hospedagem para recuperação de senha" 3260 3216 3261 3217 #: src/view/com/auth/create/Step1.tsx:143 3262 3218 #~ msgid "Sets hosting provider to {label}" 3263 - #~ msgstr "" 3219 + #~ msgstr "Configura o provedor de hospedagem para {label}" 3264 3220 3265 3221 #: src/view/com/auth/create/Step1.tsx:78 3266 3222 #: src/view/com/auth/login/LoginForm.tsx:148 3267 3223 msgid "Sets server for the Bluesky client" 3268 - msgstr "" 3224 + msgstr "Configura o servidor para o cliente do Bluesky" 3269 3225 3270 3226 #: src/Navigation.tsx:134 3271 3227 #: src/view/screens/Settings.tsx:294 ··· 3282 3238 #: src/view/com/lightbox/Lightbox.tsx:138 3283 3239 msgctxt "action" 3284 3240 msgid "Share" 3285 - msgstr "" 3241 + msgstr "Compartilhar" 3286 3242 3287 3243 #: src/view/com/profile/ProfileHeader.tsx:342 3288 3244 #: src/view/com/util/forms/PostDropdownBtn.tsx:151 ··· 3296 3252 3297 3253 #: src/view/screens/ProfileFeed.tsx:276 3298 3254 #~ msgid "Share link" 3299 - #~ msgstr "" 3255 + #~ msgstr "Compartilhar link" 3300 3256 3301 3257 #: src/view/com/modals/ContentFilteringSettings.tsx:261 3302 3258 #: src/view/com/util/moderation/ContentHider.tsx:107 ··· 3307 3263 3308 3264 #: src/view/screens/PreferencesHomeFeed.tsx:68 3309 3265 msgid "Show all replies" 3310 - msgstr "" 3266 + msgstr "Mostrar todas as respostas" 3311 3267 3312 3268 #: src/view/com/util/moderation/ScreenHider.tsx:132 3313 3269 msgid "Show anyway" ··· 3315 3271 3316 3272 #: src/view/com/modals/EmbedConsent.tsx:87 3317 3273 msgid "Show embeds from {0}" 3318 - msgstr "Mostrar incorporações de {0}" 3274 + msgstr "Mostrar anexos de {0}" 3319 3275 3320 3276 #: src/view/com/profile/ProfileHeader.tsx:498 3321 3277 msgid "Show follows similar to {0}" 3322 - msgstr "" 3278 + msgstr "Mostrar usuários parecidos com {0}" 3323 3279 3324 3280 #: src/view/com/post-thread/PostThreadItem.tsx:569 3325 3281 #: src/view/com/post/Post.tsx:196 3326 3282 #: src/view/com/posts/FeedItem.tsx:362 3327 3283 msgid "Show More" 3328 - msgstr "" 3284 + msgstr "Mostrar Mais" 3329 3285 3330 3286 #: src/view/screens/PreferencesHomeFeed.tsx:258 3331 3287 msgid "Show Posts from My Feeds" 3332 - msgstr "Mostrar Posts dos meus Feeds" 3288 + msgstr "Mostrar Posts dos Meus Feeds" 3333 3289 3334 3290 #: src/view/screens/PreferencesHomeFeed.tsx:222 3335 3291 msgid "Show Quote Posts" 3336 - msgstr "Mostrar Posts de Citações" 3292 + msgstr "Mostrar Citações" 3337 3293 3338 3294 #: src/view/screens/PreferencesHomeFeed.tsx:119 3339 3295 msgid "Show Replies" ··· 3345 3301 3346 3302 #: src/view/screens/PreferencesHomeFeed.tsx:70 3347 3303 msgid "Show replies with at least {value} {0}" 3348 - msgstr "" 3304 + msgstr "Mostrar respostas com ao menos {0} {value}" 3349 3305 3350 3306 #: src/view/screens/PreferencesHomeFeed.tsx:188 3351 3307 msgid "Show Reposts" 3352 - msgstr "Mostrar Repostagens" 3308 + msgstr "Mostrar Reposts" 3353 3309 3354 3310 #: src/view/com/util/moderation/ContentHider.tsx:67 3355 3311 #: src/view/com/util/moderation/PostHider.tsx:61 3356 3312 msgid "Show the content" 3357 - msgstr "" 3313 + msgstr "Mostrar conteúdo" 3358 3314 3359 3315 #: src/view/com/notifications/FeedItem.tsx:350 3360 3316 msgid "Show users" ··· 3362 3318 3363 3319 #: src/view/com/profile/ProfileHeader.tsx:501 3364 3320 msgid "Shows a list of users similar to this user." 3365 - msgstr "" 3321 + msgstr "Mostra uma lista de usuários parecidos com este" 3366 3322 3367 3323 #: src/view/com/profile/ProfileHeader.tsx:545 3368 3324 msgid "Shows posts from {0} in your feed" 3369 - msgstr "" 3325 + msgstr "Mostra posts de {0} no seu feed" 3370 3326 3371 3327 #: src/view/com/auth/HomeLoggedOutCTA.tsx:70 3372 - #: src/view/com/auth/login/Login.tsx:98 3328 + #: src/view/com/auth/login/Login.tsx:98 3373 3329 #: src/view/com/auth/SplashScreen.tsx:54 3374 3330 #: src/view/shell/bottom-bar/BottomBar.tsx:285 3375 3331 #: src/view/shell/bottom-bar/BottomBar.tsx:286 ··· 3414 3370 #: src/view/shell/bottom-bar/BottomBarWeb.tsx:167 3415 3371 #: src/view/shell/bottom-bar/BottomBarWeb.tsx:168 3416 3372 #: src/view/shell/bottom-bar/BottomBarWeb.tsx:170 3417 - #: src/view/shell/NavSignupCard.tsx:49 3373 + #: src/view/shell/NavSignupCard.tsx:49 3418 3374 #: src/view/shell/NavSignupCard.tsx:50 3419 3375 #: src/view/shell/NavSignupCard.tsx:52 3420 3376 msgid "Sign up" ··· 3434 3390 3435 3391 #: src/view/com/auth/login/ChooseAccountForm.tsx:103 3436 3392 msgid "Signed in as @{0}" 3437 - msgstr "" 3393 + msgstr "Logado como @{0}" 3438 3394 3439 3395 #: src/view/com/modals/SwitchAccount.tsx:66 3440 3396 msgid "Signs {0} out of Bluesky" 3441 - msgstr "" 3397 + msgstr "Desloga a conta {0}" 3442 3398 3443 3399 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:33 3444 3400 msgid "Skip" ··· 3446 3402 3447 3403 #: src/view/com/auth/create/Step2.tsx:80 3448 3404 msgid "SMS verification" 3449 - msgstr "" 3405 + msgstr "Verificação por SMS" 3450 3406 3451 3407 #: src/view/com/modals/ProfilePreview.tsx:62 3452 3408 msgid "Something went wrong and we're not sure what." 3453 - msgstr "" 3409 + msgstr "Algo deu errado e meio que não sabemos o que houve." 3454 3410 3455 3411 #: src/view/com/modals/Waitlist.tsx:51 3456 3412 msgid "Something went wrong. Check your email and try again." 3457 - msgstr "" 3413 + msgstr "Algo deu errado. Verifique seu e-mail e tente novamente." 3458 3414 3459 3415 #: src/App.native.tsx:62 3460 3416 msgid "Sorry! Your session expired. Please log in again." 3461 - msgstr "" 3417 + msgstr "Opa! Sua sessão expirou. Por favor, entre novamente." 3462 3418 3463 3419 #: src/view/screens/PreferencesThreads.tsx:69 3464 3420 msgid "Sort Replies" ··· 3466 3422 3467 3423 #: src/view/screens/PreferencesThreads.tsx:72 3468 3424 msgid "Sort replies to the same post by:" 3469 - msgstr "Classificar respostas para o mesmo post por:" 3425 + msgstr "Classificar respostas de um post por:" 3470 3426 3471 3427 #: src/view/com/modals/crop-image/CropImage.web.tsx:122 3472 3428 msgid "Square" ··· 3474 3430 3475 3431 #: src/view/com/modals/ServerInput.tsx:62 3476 3432 msgid "Staging" 3477 - msgstr "Encenação" 3433 + msgstr "Staging" 3478 3434 3479 3435 #: src/view/screens/Settings.tsx:804 3480 3436 msgid "Status page" ··· 3482 3438 3483 3439 #: src/view/com/auth/create/StepHeader.tsx:22 3484 3440 msgid "Step {0} of {numSteps}" 3485 - msgstr "" 3441 + msgstr "Passo {0} de {numSteps}" 3486 3442 3487 3443 #: src/view/com/auth/create/StepHeader.tsx:15 3488 3444 #~ msgid "Step {step} of 3" 3489 - #~ msgstr "" 3445 + #~ msgstr "Passo {step} de 3" 3490 3446 3491 3447 #: src/view/screens/Settings.tsx:276 3492 3448 msgid "Storage cleared, you need to restart the app now." 3493 - msgstr "" 3449 + msgstr "Armazenamento limpo, você precisa reiniciar o app agora." 3494 3450 3495 3451 #: src/Navigation.tsx:202 3496 3452 #: src/view/screens/Settings.tsx:740 ··· 3503 3459 3504 3460 #: src/view/screens/ProfileList.tsx:586 3505 3461 msgid "Subscribe" 3506 - msgstr "Assinar" 3462 + msgstr "Inscrever-se" 3507 3463 3508 3464 #: src/view/screens/ProfileList.tsx:582 3509 3465 msgid "Subscribe to this list" 3510 - msgstr "Assinar esta lista" 3466 + msgstr "Inscreva-se nesta lista" 3511 3467 3512 3468 #: src/view/com/lists/ListCard.tsx:101 3513 3469 #~ msgid "Subscribed" 3514 - #~ msgstr "" 3470 + #~ msgstr "Inscrito" 3515 3471 3516 3472 #: src/view/screens/Search/Search.tsx:364 3517 3473 msgid "Suggested Follows" 3518 - msgstr "Seguidores Sugeridos" 3474 + msgstr "Sugestões de Seguidores" 3519 3475 3520 3476 #: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64 3521 3477 msgid "Suggested for you" 3522 - msgstr "" 3478 + msgstr "Sugeridos para você" 3523 3479 3524 3480 #: src/view/com/modals/SelfLabel.tsx:95 3525 3481 msgid "Suggestive" 3526 - msgstr "" 3482 + msgstr "Sugestivo" 3527 3483 3528 3484 #: src/Navigation.tsx:212 3529 3485 #: src/view/screens/Support.tsx:30 ··· 3533 3489 3534 3490 #: src/view/com/modals/ProfilePreview.tsx:110 3535 3491 msgid "Swipe up to see more" 3536 - msgstr "" 3492 + msgstr "Deslize para cima para ver mais" 3537 3493 3538 3494 #: src/view/com/modals/SwitchAccount.tsx:117 3539 3495 msgid "Switch Account" ··· 3542 3498 #: src/view/com/modals/SwitchAccount.tsx:97 3543 3499 #: src/view/screens/Settings.tsx:137 3544 3500 msgid "Switch to {0}" 3545 - msgstr "" 3501 + msgstr "Trocar para {0}" 3546 3502 3547 3503 #: src/view/com/modals/SwitchAccount.tsx:98 3548 3504 #: src/view/screens/Settings.tsx:138 3549 3505 msgid "Switches the account you are logged in to" 3550 - msgstr "" 3506 + msgstr "Troca a conta que você está logado" 3551 3507 3552 3508 #: src/view/screens/Settings.tsx:466 3553 3509 msgid "System" 3554 - msgstr "" 3510 + msgstr "Sistema" 3555 3511 3556 3512 #: src/view/screens/Settings.tsx:720 3557 3513 msgid "System log" ··· 3563 3519 3564 3520 #: src/view/com/util/images/AutoSizedImage.tsx:70 3565 3521 msgid "Tap to view fully" 3566 - msgstr "" 3522 + msgstr "Toque para ver tudo" 3567 3523 3568 3524 #: src/view/shell/desktop/RightNav.tsx:93 3569 3525 msgid "Terms" ··· 3603 3559 3604 3560 #: src/view/screens/Support.tsx:36 3605 3561 msgid "The support form has been moved. If you need help, please <0/> or visit {HELP_DESK_URL} to get in touch with us." 3606 - msgstr "" 3562 + msgstr "O formulário de suporte foi movido. Se precisar de ajuda, <0/> ou visite {HELP_DESK_URL} para entrar em contato conosco." 3607 3563 3608 3564 #: src/view/screens/Support.tsx:36 3609 3565 #~ msgid "The support form has been moved. If you need help, please<0/> or visit {HELP_DESK_URL} to get in touch with us." ··· 3615 3571 3616 3572 #: src/view/screens/ProfileFeed.tsx:558 3617 3573 msgid "There was an an issue contacting the server, please check your internet connection and try again." 3618 - msgstr "" 3574 + msgstr "Tivemos um problema ao contatar o servidor, por favor verifique sua conexão com a internet e tente novamente." 3619 3575 3620 3576 #: src/view/com/posts/FeedErrorMessage.tsx:139 3621 3577 msgid "There was an an issue removing this feed. Please check your internet connection and try again." 3622 - msgstr "" 3578 + msgstr "Tivemos um problema ao remover este feed, por favor verifique sua conexão com a internet e tente novamente." 3623 3579 3624 3580 #: src/view/screens/ProfileFeed.tsx:218 3625 3581 msgid "There was an an issue updating your feeds, please check your internet connection and try again." 3626 - msgstr "" 3582 + msgstr "Tivemos um problema ao atualizar seus feeds, por favor verifique sua conexão com a internet e tente novamente." 3627 3583 3628 3584 #: src/view/screens/ProfileFeed.tsx:245 3629 3585 #: src/view/screens/ProfileList.tsx:266 ··· 3631 3587 #: src/view/screens/SavedFeeds.tsx:231 3632 3588 #: src/view/screens/SavedFeeds.tsx:252 3633 3589 msgid "There was an issue contacting the server" 3634 - msgstr "" 3590 + msgstr "Tivemos um problema ao contatar o servidor deste feed" 3635 3591 3636 3592 #: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:57 3637 3593 #: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:66 ··· 3639 3595 #: src/view/com/feeds/FeedSourceCard.tsx:127 3640 3596 #: src/view/com/feeds/FeedSourceCard.tsx:181 3641 3597 msgid "There was an issue contacting your server" 3642 - msgstr "" 3598 + msgstr "Tivemos um problema ao contatar o servidor deste feed" 3643 3599 3644 3600 #: src/view/com/notifications/Feed.tsx:115 3645 3601 msgid "There was an issue fetching notifications. Tap here to try again." 3646 - msgstr "" 3602 + msgstr "Tivemos um problema ao carregar notificações. Toque aqui para tentar de novo." 3647 3603 3648 3604 #: src/view/com/posts/Feed.tsx:263 3649 3605 msgid "There was an issue fetching posts. Tap here to try again." 3650 - msgstr "" 3606 + msgstr "Tivemos um problema ao carregar posts. Toque aqui para tentar de novo." 3651 3607 3652 3608 #: src/view/com/lists/ListMembers.tsx:172 3653 3609 msgid "There was an issue fetching the list. Tap here to try again." 3654 - msgstr "" 3610 + msgstr "Tivemos um problema ao carregar esta lista. Toque aqui para tentar de novo." 3655 3611 3656 3612 #: src/view/com/feeds/ProfileFeedgens.tsx:148 3657 3613 #: src/view/com/lists/ProfileLists.tsx:155 3658 3614 msgid "There was an issue fetching your lists. Tap here to try again." 3659 - msgstr "" 3615 + msgstr "Tivemos um problema ao carregar suas listas. Toque aqui para tentar de novo." 3660 3616 3661 3617 #: src/view/com/modals/ContentFilteringSettings.tsx:126 3662 3618 msgid "There was an issue syncing your preferences with the server" 3663 - msgstr "" 3619 + msgstr "Tivemos um problema ao sincronizar suas configurações" 3664 3620 3665 3621 #: src/view/screens/AppPasswords.tsx:66 3666 3622 msgid "There was an issue with fetching your app passwords" 3667 - msgstr "" 3623 + msgstr "Tivemos um problema ao carregar suas senhas de app." 3668 3624 3669 3625 #: src/view/com/profile/ProfileHeader.tsx:204 3670 3626 #: src/view/com/profile/ProfileHeader.tsx:225 ··· 3673 3629 #: src/view/com/profile/ProfileHeader.tsx:297 3674 3630 #: src/view/com/profile/ProfileHeader.tsx:319 3675 3631 msgid "There was an issue! {0}" 3676 - msgstr "" 3632 + msgstr "Tivemos um problema! {0}" 3677 3633 3678 3634 #: src/view/screens/ProfileList.tsx:287 3679 3635 #: src/view/screens/ProfileList.tsx:306 3680 3636 #: src/view/screens/ProfileList.tsx:328 3681 3637 #: src/view/screens/ProfileList.tsx:347 3682 3638 msgid "There was an issue. Please check your internet connection and try again." 3683 - msgstr "" 3639 + msgstr "Tivemos algum problema. Por favor verifique sua conexão com a internet e tente novamente." 3684 3640 3685 3641 #: src/view/com/util/ErrorBoundary.tsx:36 3686 3642 msgid "There was an unexpected issue in the application. Please let us know if this happened to you!" ··· 3688 3644 3689 3645 #: src/view/com/auth/create/Step2.tsx:53 3690 3646 msgid "There's something wrong with this number. Please choose your country and enter your full phone number!" 3691 - msgstr "" 3647 + msgstr "Houve um problema com este número. Por favor, escolha um país e digite seu número de telefone completo!" 3692 3648 3693 3649 #: src/view/com/util/moderation/LabelInfo.tsx:45 3694 3650 #~ msgid "This {0} has been labeled." 3695 - #~ msgstr "" 3651 + #~ msgstr "Este {screenDescription} foi reportado." 3696 3652 3697 3653 #: src/view/com/util/moderation/ScreenHider.tsx:88 3698 3654 msgid "This {screenDescription} has been flagged:" 3699 - msgstr "Este {screenDescription} foi sinalizado:" 3655 + msgstr "Este {screenDescription} foi reportado:" 3700 3656 3701 3657 #: src/view/com/util/moderation/ScreenHider.tsx:83 3702 3658 msgid "This account has requested that users sign in to view their profile." 3703 - msgstr "Esta conta solicitou que os usuários fizessem login para visualizar seus perfis." 3659 + msgstr "Esta conta solicitou que os usuários fizessem login para visualizar seu perfil." 3704 3660 3705 3661 #: src/view/com/modals/EmbedConsent.tsx:68 3706 3662 msgid "This content is hosted by {0}. Do you want to enable external media?" ··· 3708 3664 3709 3665 #: src/view/com/modals/ModerationDetails.tsx:67 3710 3666 msgid "This content is not available because one of the users involved has blocked the other." 3711 - msgstr "" 3667 + msgstr "Este conteúdo não está disponível porque um dos usuários bloqueou o outro." 3712 3668 3713 3669 #: src/view/com/posts/FeedErrorMessage.tsx:108 3714 3670 msgid "This content is not viewable without a Bluesky account." 3715 - msgstr "Este conteúdo não está visível sem uma conta Bluesky." 3671 + msgstr "Este conteúdo não é visível sem uma conta do Bluesky." 3716 3672 3717 3673 #: src/view/com/posts/FeedErrorMessage.tsx:114 3718 3674 msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later." 3719 - msgstr "Este feed está recebendo alto tráfego e está temporariamente indisponível. Por favor, tente novamente mais tarde." 3675 + msgstr "Este feed está recebendo muito tráfego e está temporariamente indisponível. Por favor, tente novamente mais tarde." 3720 3676 3721 3677 #: src/view/screens/Profile.tsx:392 3722 3678 #: src/view/screens/ProfileFeed.tsx:484 3723 3679 #: src/view/screens/ProfileList.tsx:639 3724 3680 msgid "This feed is empty!" 3725 - msgstr "" 3681 + msgstr "Este feed está vazio!" 3726 3682 3727 3683 #: src/view/com/posts/CustomFeedEmptyState.tsx:37 3728 3684 msgid "This feed is empty! You may need to follow more users or tune your language settings." 3729 - msgstr "" 3685 + msgstr "Este feed está vazio! Talvez você precise seguir mais usuários ou configurar os idiomas filtrados." 3730 3686 3731 3687 #: src/view/com/modals/BirthDateSettings.tsx:61 3732 3688 msgid "This information is not shared with other users." ··· 3734 3690 3735 3691 #: src/view/com/modals/VerifyEmail.tsx:119 3736 3692 msgid "This is important in case you ever need to change your email or reset your password." 3737 - msgstr "Isso é importante caso você precise alterar seu email ou redefinir sua senha." 3693 + msgstr "Isso é importante caso você precise alterar seu e-mail ou redefinir sua senha." 3738 3694 3739 3695 #: src/view/com/auth/create/Step1.tsx:55 3740 3696 #~ msgid "This is the service that keeps you online." ··· 3742 3698 3743 3699 #: src/view/com/modals/LinkWarning.tsx:58 3744 3700 msgid "This link is taking you to the following website:" 3745 - msgstr "Esse link está levando você ao seguinte site:" 3701 + msgstr "Este link está levando você ao seguinte site:" 3746 3702 3747 3703 #: src/view/screens/ProfileList.tsx:813 3748 3704 msgid "This list is empty!" 3749 - msgstr "" 3705 + msgstr "Esta lista está vazia!" 3750 3706 3751 3707 #: src/view/com/modals/AddAppPasswords.tsx:105 3752 3708 msgid "This name is already in use" 3753 - msgstr "" 3709 + msgstr "Você já tem uma senha com esse nome" 3754 3710 3755 3711 #: src/view/com/post-thread/PostThreadItem.tsx:123 3756 3712 msgid "This post has been deleted." ··· 3758 3714 3759 3715 #: src/view/com/modals/ModerationDetails.tsx:62 3760 3716 msgid "This user has blocked you. You cannot view their content." 3761 - msgstr "" 3717 + msgstr "Este usuário te bloqueou. Você não pode ver este conteúdo." 3762 3718 3763 3719 #: src/view/com/modals/ModerationDetails.tsx:42 3764 3720 msgid "This user is included in the <0/> list which you have blocked." 3765 - msgstr "" 3721 + msgstr "Este usuário está incluído na lista <0/>, que você bloqueou." 3766 3722 3767 3723 #: src/view/com/modals/ModerationDetails.tsx:74 3768 3724 msgid "This user is included the <0/> list which you have muted." 3769 - msgstr "" 3725 + msgstr "Este usuário está incluído na lista <0/>, que você silenciou." 3770 3726 3771 3727 #: src/view/com/modals/SelfLabel.tsx:137 3772 3728 msgid "This warning is only available for posts with media attached." ··· 3774 3730 3775 3731 #: src/view/com/util/forms/PostDropdownBtn.tsx:190 3776 3732 msgid "This will hide this post from your feeds." 3777 - msgstr "Isso ocultará esse post de seus feeds." 3733 + msgstr "Isso ocultará este post de seus feeds." 3778 3734 3779 3735 #: src/view/screens/PreferencesThreads.tsx:53 3780 3736 #: src/view/screens/Settings.tsx:531 3781 3737 msgid "Thread Preferences" 3782 - msgstr "Preferências de Tópico" 3738 + msgstr "Preferências das Threads" 3783 3739 3784 3740 #: src/view/screens/PreferencesThreads.tsx:119 3785 3741 msgid "Threaded Mode" 3786 - msgstr "Modo Tópico" 3742 + msgstr "Visualização de Threads" 3787 3743 3788 3744 #: src/Navigation.tsx:252 3789 3745 msgid "Threads Preferences" 3790 - msgstr "" 3746 + msgstr "Preferências das Threads" 3791 3747 3792 3748 #: src/view/com/util/forms/DropdownButton.tsx:234 3793 3749 msgid "Toggle dropdown" ··· 3806 3762 #: src/view/com/util/error/ErrorScreen.tsx:75 3807 3763 msgctxt "action" 3808 3764 msgid "Try again" 3809 - msgstr "" 3765 + msgstr "Tentar novamente" 3810 3766 3811 3767 #: src/view/com/util/error/ErrorScreen.tsx:73 3812 3768 #~ msgid "Try again" ··· 3814 3770 3815 3771 #: src/view/screens/ProfileList.tsx:484 3816 3772 msgid "Un-block list" 3817 - msgstr "Lista de desbloqueio" 3773 + msgstr "Desbloquear lista" 3818 3774 3819 3775 #: src/view/screens/ProfileList.tsx:469 3820 3776 msgid "Un-mute list" 3821 - msgstr "Lista de não silenciados" 3777 + msgstr "Dessilenciar lista" 3822 3778 3823 3779 #: src/view/com/auth/create/CreateAccount.tsx:66 3824 3780 #: src/view/com/auth/login/ForgotPasswordForm.tsx:87 ··· 3835 3791 #: src/view/com/profile/ProfileHeader.tsx:475 3836 3792 msgctxt "action" 3837 3793 msgid "Unblock" 3838 - msgstr "" 3794 + msgstr "Desbloquear" 3839 3795 3840 3796 #: src/view/com/profile/ProfileHeader.tsx:308 3841 3797 #: src/view/com/profile/ProfileHeader.tsx:392 ··· 3852 3808 #: src/view/com/profile/FollowButton.tsx:55 3853 3809 msgctxt "action" 3854 3810 msgid "Unfollow" 3855 - msgstr "" 3811 + msgstr "Deixar de seguir" 3856 3812 3857 3813 #: src/view/com/profile/ProfileHeader.tsx:524 3858 3814 msgid "Unfollow {0}" 3859 - msgstr "" 3815 + msgstr "Deixar de seguir {0}" 3860 3816 3861 3817 #: src/view/com/auth/create/state.ts:298 3862 3818 msgid "Unfortunately, you do not meet the requirements to create an account." ··· 3864 3820 3865 3821 #: src/view/com/util/post-ctrls/PostCtrls.tsx:189 3866 3822 msgid "Unlike" 3867 - msgstr "" 3823 + msgstr "Descurtir" 3868 3824 3869 3825 #: src/view/screens/ProfileList.tsx:575 3870 3826 msgid "Unmute" 3871 - msgstr "" 3827 + msgstr "Dessilenciar" 3872 3828 3873 3829 #: src/view/com/profile/ProfileHeader.tsx:373 3874 3830 msgid "Unmute Account" 3875 - msgstr "Não Silenciar Conta" 3831 + msgstr "Dessilenciar conta" 3876 3832 3877 3833 #: src/view/com/util/forms/PostDropdownBtn.tsx:169 3878 3834 msgid "Unmute thread" 3879 - msgstr "Não silenciar o tópico" 3835 + msgstr "Dessilenciar thread" 3880 3836 3881 3837 #: src/view/screens/ProfileFeed.tsx:362 3882 3838 #: src/view/screens/ProfileList.tsx:559 3883 3839 msgid "Unpin" 3884 - msgstr "" 3840 + msgstr "Desafixar" 3885 3841 3886 3842 #: src/view/screens/ProfileList.tsx:452 3887 3843 msgid "Unpin moderation list" ··· 3889 3845 3890 3846 #: src/view/screens/ProfileFeed.tsx:354 3891 3847 msgid "Unsave" 3892 - msgstr "" 3848 + msgstr "Remover" 3893 3849 3894 3850 #: src/view/com/modals/UserAddRemoveLists.tsx:54 3895 3851 msgid "Update {displayName} in Lists" ··· 3909 3865 3910 3866 #: src/view/screens/AppPasswords.tsx:195 3911 3867 msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password." 3912 - msgstr "Use as senhas de aplicativos para fazer login em outros clientes Bluesky sem dar acesso total à sua conta ou senha." 3868 + msgstr "Use as senhas de aplicativos para fazer login em outros clientes do Bluesky sem dar acesso total à sua conta ou senha." 3913 3869 3914 3870 #: src/view/com/modals/ChangeHandle.tsx:515 3915 3871 msgid "Use default provider" ··· 3918 3874 #: src/view/com/modals/InAppBrowserConsent.tsx:56 3919 3875 #: src/view/com/modals/InAppBrowserConsent.tsx:58 3920 3876 msgid "Use in-app browser" 3921 - msgstr "" 3877 + msgstr "Usar o navegador interno" 3922 3878 3923 3879 #: src/view/com/modals/InAppBrowserConsent.tsx:66 3924 3880 #: src/view/com/modals/InAppBrowserConsent.tsx:68 3925 3881 msgid "Use my default browser" 3926 - msgstr "" 3882 + msgstr "Usar o meu navegador padrão" 3927 3883 3928 3884 #: src/view/com/modals/AddAppPasswords.tsx:154 3929 3885 msgid "Use this to sign into the other app along with your handle." 3930 - msgstr "Use isto para entrar no outro aplicativo juntamente com seu identificador." 3886 + msgstr "Use esta senha para entrar no outro aplicativo juntamente com seu identificador." 3931 3887 3932 3888 #: src/view/com/modals/ServerInput.tsx:105 3933 3889 msgid "Use your domain as your Bluesky client service provider" 3934 - msgstr "" 3890 + msgstr "Use seu domínio como o provedor de serviço do Bluesky" 3935 3891 3936 3892 #: src/view/com/modals/InviteCodes.tsx:200 3937 3893 msgid "Used by:" ··· 3939 3895 3940 3896 #: src/view/com/modals/ModerationDetails.tsx:54 3941 3897 msgid "User Blocked" 3942 - msgstr "" 3898 + msgstr "Usuário Bloqueado" 3943 3899 3944 3900 #: src/view/com/modals/ModerationDetails.tsx:40 3945 3901 msgid "User Blocked by List" 3946 - msgstr "" 3902 + msgstr "Usuário Bloqueado Por Lista" 3947 3903 3948 3904 #: src/view/com/modals/ModerationDetails.tsx:60 3949 3905 msgid "User Blocks You" 3950 - msgstr "" 3906 + msgstr "Este Usuário Te Bloqueou" 3951 3907 3952 3908 #: src/view/com/auth/create/Step3.tsx:38 3953 3909 msgid "User handle" 3954 - msgstr "Identificador de usuário" 3910 + msgstr "Usuário" 3955 3911 3956 3912 #: src/view/com/lists/ListCard.tsx:84 3957 3913 #: src/view/com/modals/UserAddRemoveLists.tsx:182 3958 3914 msgid "User list by {0}" 3959 - msgstr "" 3915 + msgstr "Lista de usuários por {0}" 3960 3916 3961 3917 #: src/view/screens/ProfileList.tsx:741 3962 3918 msgid "User list by <0/>" 3963 - msgstr "" 3919 + msgstr "Lista de usuários por <0/>" 3964 3920 3965 3921 #: src/view/com/lists/ListCard.tsx:82 3966 3922 #: src/view/com/modals/UserAddRemoveLists.tsx:180 3967 3923 #: src/view/screens/ProfileList.tsx:739 3968 3924 msgid "User list by you" 3969 - msgstr "" 3925 + msgstr "Sua lista de usuários" 3970 3926 3971 3927 #: src/view/com/modals/CreateOrEditList.tsx:138 3972 3928 msgid "User list created" 3973 - msgstr "" 3929 + msgstr "Lista de usuários criada" 3974 3930 3975 3931 #: src/view/com/modals/CreateOrEditList.tsx:125 3976 3932 msgid "User list updated" 3977 - msgstr "" 3933 + msgstr "Lista de usuários atualizada" 3978 3934 3979 3935 #: src/view/screens/Lists.tsx:58 3980 3936 msgid "User Lists" ··· 3983 3939 #: src/view/com/auth/login/LoginForm.tsx:174 3984 3940 #: src/view/com/auth/login/LoginForm.tsx:192 3985 3941 msgid "Username or email address" 3986 - msgstr "Nome de usuário ou endereço de email" 3942 + msgstr "Nome de usuário ou endereço de e-mail" 3987 3943 3988 3944 #: src/view/screens/ProfileList.tsx:775 3989 3945 msgid "Users" ··· 3993 3949 msgid "users followed by <0/>" 3994 3950 msgstr "usuários seguidos por <0/>" 3995 3951 3996 - #: src/view/com/threadgate/WhoCanReply.tsx:115 3997 - #~ msgid "Users followed by <0/>" 3998 - #~ msgstr "" 3999 - 4000 3952 #: src/view/com/modals/Threadgate.tsx:106 4001 3953 msgid "Users in \"{0}\"" 4002 3954 msgstr "Usuários em \"{0}\"" 4003 3955 4004 3956 #: src/view/com/auth/create/Step2.tsx:241 4005 3957 msgid "Verification code" 4006 - msgstr "" 3958 + msgstr "Código de verificação" 4007 3959 4008 3960 #: src/view/screens/Settings.tsx:843 4009 3961 msgid "Verify email" 4010 - msgstr "Verificar email" 3962 + msgstr "Verificar e-mail" 4011 3963 4012 3964 #: src/view/screens/Settings.tsx:868 4013 3965 msgid "Verify my email" 4014 - msgstr "Verificar meu email" 3966 + msgstr "Verificar meu e-mail" 4015 3967 4016 3968 #: src/view/screens/Settings.tsx:877 4017 3969 msgid "Verify My Email" ··· 4020 3972 #: src/view/com/modals/ChangeEmail.tsx:205 4021 3973 #: src/view/com/modals/ChangeEmail.tsx:207 4022 3974 msgid "Verify New Email" 4023 - msgstr "Verificar Novo Email" 3975 + msgstr "Verificar Novo E-mail" 4024 3976 4025 3977 #: src/view/com/modals/VerifyEmail.tsx:103 4026 3978 msgid "Verify Your Email" 4027 - msgstr "" 3979 + msgstr "Verificar Seu E-mail" 4028 3980 4029 3981 #: src/view/com/profile/ProfileHeader.tsx:701 4030 3982 msgid "View {0}'s avatar" 4031 - msgstr "" 3983 + msgstr "Ver o avatar de {0}" 4032 3984 4033 3985 #: src/view/screens/Log.tsx:52 4034 3986 msgid "View debug entry" 4035 - msgstr "Ver entrada de depuração" 3987 + msgstr "Ver depuração" 4036 3988 4037 3989 #: src/view/com/posts/FeedSlice.tsx:103 4038 3990 msgid "View full thread" 4039 - msgstr "" 3991 + msgstr "Ver thread completa" 4040 3992 4041 3993 #: src/view/com/posts/FeedErrorMessage.tsx:172 4042 3994 msgid "View profile" 4043 - msgstr "" 3995 + msgstr "Ver perfil" 4044 3996 4045 3997 #: src/view/com/profile/ProfileSubpageHeader.tsx:128 4046 3998 msgid "View the avatar" ··· 4052 4004 4053 4005 #: src/view/com/modals/ContentFilteringSettings.tsx:254 4054 4006 msgid "Warn" 4055 - msgstr "" 4007 + msgstr "Avisar" 4056 4008 4057 4009 #: src/view/com/posts/DiscoverFallbackHeader.tsx:29 4058 4010 #~ msgid "We ran out of posts from your follows. Here's the latest from" 4059 - #~ msgstr "" 4011 + #~ msgstr "Não temos mais posts de quem você segue. Aqui estão os mais novos de" 4060 4012 4061 4013 #: src/view/com/posts/DiscoverFallbackHeader.tsx:29 4062 4014 msgid "We ran out of posts from your follows. Here's the latest from <0/>." 4063 - msgstr "" 4015 + msgstr "Não temos mais posts de quem você segue. Aqui estão os mais novos de <0/>." 4064 4016 4065 4017 #: src/view/com/modals/AppealLabel.tsx:48 4066 4018 msgid "We'll look into your appeal promptly." 4067 - msgstr "" 4019 + msgstr "Avaliaremos sua contestação o quanto antes." 4068 4020 4069 4021 #: src/view/com/auth/create/CreateAccount.tsx:123 4070 4022 msgid "We're so excited to have you join us!" 4071 - msgstr "Estamos muito felizes por você se juntar a nós!" 4072 - 4073 - #: src/view/com/posts/FeedErrorMessage.tsx:99 4074 - #~ msgid "We're sorry, but this content is not viewable without a Bluesky account." 4075 - #~ msgstr "" 4076 - 4077 - #: src/view/com/posts/FeedErrorMessage.tsx:105 4078 - #~ msgid "We're sorry, but this feed is currently receiving high traffic and is temporarily unavailable. Please try again later." 4079 - #~ msgstr "" 4023 + msgstr "Estamos muito felizes em recebê-lo!" 4080 4024 4081 4025 #: src/view/screens/ProfileList.tsx:83 4082 4026 msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}." 4083 - msgstr "" 4027 + msgstr "Tivemos um problema ao exibir esta lista. Se continuar acontecendo, contate o criador da lista: @{handleOrDid}." 4084 4028 4085 4029 #: src/view/screens/Search/Search.tsx:245 4086 4030 msgid "We're sorry, but your search could not be completed. Please try again in a few minutes." ··· 4101 4045 #: src/view/com/auth/SplashScreen.tsx:34 4102 4046 #: src/view/com/composer/Composer.tsx:279 4103 4047 msgid "What's up?" 4104 - msgstr "Que há de novo?" 4048 + msgstr "E aí?" 4105 4049 4106 4050 #: src/view/com/modals/lang-settings/PostLanguagesSettings.tsx:78 4107 4051 msgid "Which languages are used in this post?" ··· 4109 4053 4110 4054 #: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:77 4111 4055 msgid "Which languages would you like to see in your algorithmic feeds?" 4112 - msgstr "Quais idiomas você gostaria de ver nos seus feeds algoritmo?" 4056 + msgstr "Quais idiomas você gostaria de ver nos seus feeds?" 4113 4057 4114 4058 #: src/view/com/composer/threadgate/ThreadgateBtn.tsx:47 4115 4059 #: src/view/com/modals/Threadgate.tsx:66 4116 4060 msgid "Who can reply" 4117 4061 msgstr "Quem pode responder" 4118 4062 4119 - #: src/view/com/threadgate/WhoCanReply.tsx:79 4120 - #~ msgid "Who can reply?" 4121 - #~ msgstr "" 4122 - 4123 4063 #: src/view/com/modals/crop-image/CropImage.web.tsx:102 4124 4064 msgid "Wide" 4125 4065 msgstr "Largo" ··· 4135 4075 4136 4076 #: src/view/com/auth/create/Step2.tsx:260 4137 4077 msgid "XXXXXX" 4138 - msgstr "" 4078 + msgstr "XXXXXX" 4139 4079 4140 4080 #: src/view/com/composer/select-language/SuggestedLanguage.tsx:82 4141 4081 #: src/view/screens/PreferencesHomeFeed.tsx:129 ··· 4150 4090 #: src/view/com/posts/FollowingEmptyState.tsx:67 4151 4091 #: src/view/com/posts/FollowingEndOfFeed.tsx:68 4152 4092 msgid "You can also discover new Custom Feeds to follow." 4153 - msgstr "" 4093 + msgstr "Você também pode descobrir novos feeds para seguir." 4154 4094 4155 4095 #: src/view/com/auth/create/Step1.tsx:106 4156 4096 #~ msgid "You can change hosting providers at any time." ··· 4163 4103 4164 4104 #: src/view/com/modals/InviteCodes.tsx:66 4165 4105 msgid "You don't have any invite codes yet! We'll send you some when you've been on Bluesky for a little longer." 4166 - msgstr "Você ainda não tem nenhum código de convite! Nós lhe enviaremos alguns quando você estiver no Bluesky por mais um pouco de tempo." 4106 + msgstr "Você ainda não tem nenhum convite! Nós lhe enviaremos alguns quando você estiver há mais tempo no Bluesky." 4167 4107 4168 4108 #: src/view/screens/SavedFeeds.tsx:102 4169 4109 msgid "You don't have any pinned feeds." ··· 4179 4119 4180 4120 #: src/view/com/post-thread/PostThread.tsx:385 4181 4121 msgid "You have blocked the author or you have been blocked by the author." 4182 - msgstr "Você bloqueou o autor ou foi bloqueado pelo autor." 4122 + msgstr "Você bloqueou esta conta ou foi bloqueado por ela." 4183 4123 4184 4124 #: src/view/com/modals/ModerationDetails.tsx:56 4185 4125 msgid "You have blocked this user. You cannot view their content." 4186 - msgstr "" 4126 + msgstr "Você bloqueou este usuário. Você não pode ver este conteúdo." 4187 4127 4188 4128 #: src/view/com/modals/ModerationDetails.tsx:87 4189 4129 msgid "You have muted this user." 4190 - msgstr "" 4130 + msgstr "Você silenciou este usuário." 4191 4131 4192 4132 #: src/view/com/feeds/ProfileFeedgens.tsx:136 4193 4133 msgid "You have no feeds." ··· 4200 4140 4201 4141 #: src/view/screens/ModerationBlockedAccounts.tsx:132 4202 4142 msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account." 4203 - msgstr "Você ainda não bloqueou nenhuma conta. Para bloquear uma conta, acesse o perfil e selecione \"Bloquear conta\" no menu da conta." 4143 + msgstr "Você ainda não bloqueou nenhuma conta. Para bloquear uma conta, acesse um perfil e selecione \"Bloquear conta\" no menu." 4204 4144 4205 4145 #: src/view/screens/AppPasswords.tsx:87 4206 4146 msgid "You have not created any app passwords yet. You can create one by pressing the button below." 4207 - msgstr "Você ainda não criou nenhuma senha do aplicativo. Você pode criar uma pressionando o botão abaixo." 4147 + msgstr "Você ainda não criou nenhuma senha de aplicativo. Você pode criar uma pressionando o botão abaixo." 4208 4148 4209 4149 #: src/view/screens/ModerationMutedAccounts.tsx:131 4210 4150 msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account." 4211 - msgstr "Você ainda não silenciou nenhuma conta. Para silenciar uma conta, vá ao perfil deles e selecione \"Silenciar conta\" no menu em sua conta." 4151 + msgstr "Você ainda não silenciou nenhuma conta. Para silenciar uma conta, acesse um perfil e selecione \"Silenciar conta\" no menu." 4212 4152 4213 4153 #: src/view/com/modals/ContentFilteringSettings.tsx:170 4214 4154 msgid "You must be 18 or older to enable adult content." 4215 - msgstr "" 4155 + msgstr "Você precisa ser maior de idade para habilitar conteúdo adulto." 4216 4156 4217 4157 #: src/view/com/util/forms/PostDropdownBtn.tsx:96 4218 4158 msgid "You will no longer receive notifications for this thread" 4219 - msgstr "" 4159 + msgstr "Você não vai mais receber notificações desta thread" 4220 4160 4221 4161 #: src/view/com/util/forms/PostDropdownBtn.tsx:99 4222 4162 msgid "You will now receive notifications for this thread" 4223 - msgstr "" 4163 + msgstr "Você vai receber notificações desta thread" 4224 4164 4225 4165 #: src/view/com/auth/login/SetNewPasswordForm.tsx:81 4226 4166 msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password." 4227 - msgstr "Você receberá um email com um \"código de redefinição\". Digite esse código aqui, e então digite sua nova senha." 4167 + msgstr "Você receberá um e-mail com um \"código de redefinição\". Digite esse código aqui, e então digite sua nova senha." 4228 4168 4229 4169 #: src/view/com/posts/FollowingEndOfFeed.tsx:48 4230 4170 msgid "You've reached the end of your feed! Find some more accounts to follow." 4231 - msgstr "" 4171 + msgstr "Você chegou ao fim do seu feed! Encontre novas contas para seguir." 4232 4172 4233 4173 #: src/view/com/auth/create/Step1.tsx:67 4234 4174 msgid "Your account" ··· 4236 4176 4237 4177 #: src/view/com/modals/DeleteAccount.tsx:65 4238 4178 msgid "Your account has been deleted" 4239 - msgstr "" 4179 + msgstr "Sua conta foi excluída" 4240 4180 4241 4181 #: src/view/com/auth/create/Step1.tsx:182 4242 4182 msgid "Your birth date" ··· 4244 4184 4245 4185 #: src/view/com/modals/InAppBrowserConsent.tsx:47 4246 4186 msgid "Your choice will be saved, but can be changed later in settings." 4247 - msgstr "" 4187 + msgstr "Sua escolha será salva, mas você pode trocá-la nas configurações depois" 4248 4188 4249 4189 #: src/view/com/auth/create/state.ts:153 4250 4190 #: src/view/com/auth/login/ForgotPasswordForm.tsx:70 4251 4191 msgid "Your email appears to be invalid." 4252 - msgstr "Seu email parece ser inválido." 4192 + msgstr "Seu e-mail parece ser inválido." 4253 4193 4254 4194 #: src/view/com/modals/Waitlist.tsx:109 4255 4195 msgid "Your email has been saved! We'll be in touch soon." 4256 - msgstr "Seu email foi salvo! Entraremos em contato em breve." 4196 + msgstr "Seu e-mail foi salvo! Logo entraremos em contato." 4257 4197 4258 4198 #: src/view/com/modals/ChangeEmail.tsx:125 4259 4199 msgid "Your email has been updated but not verified. As a next step, please verify your new email." 4260 - msgstr "Seu email foi atualizado mas não foi verificado. Como próximo passo, por favor verifique seu novo email." 4200 + msgstr "Seu e-mail foi atualizado mas não foi verificado. Como próximo passo, por favor verifique seu novo e-mail." 4261 4201 4262 4202 #: src/view/com/modals/VerifyEmail.tsx:114 4263 4203 msgid "Your email has not yet been verified. This is an important security step which we recommend." 4264 - msgstr "Seu email ainda não foi verificado. Esta é uma etapa de segurança importante que recomendamos." 4204 + msgstr "Seu e-mail ainda não foi verificado. Esta é uma etapa importante de segurança que recomendamos." 4265 4205 4266 4206 #: src/view/com/posts/FollowingEmptyState.tsx:47 4267 4207 msgid "Your following feed is empty! Follow more users to see what's happening." 4268 - msgstr "" 4208 + msgstr "Seu feed inicial está vazio! Siga mais usuários para acompanhar o que está acontecendo." 4269 4209 4270 4210 #: src/view/com/auth/create/Step3.tsx:42 4271 4211 msgid "Your full handle will be" ··· 4273 4213 4274 4214 #: src/view/com/modals/ChangeHandle.tsx:270 4275 4215 msgid "Your full handle will be <0>@{0}</0>" 4276 - msgstr "" 4216 + msgstr "Seu usuário completo será <0>@{0}</0>" 4277 4217 4278 4218 #: src/view/com/auth/create/Step1.tsx:53 4279 4219 #~ msgid "Your hosting provider" ··· 4287 4227 4288 4228 #: src/view/com/composer/Composer.tsx:267 4289 4229 msgid "Your post has been published" 4290 - msgstr "" 4230 + msgstr "Seu post foi publicado" 4291 4231 4292 4232 #: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59 4293 4233 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:59 4294 4234 msgid "Your posts, likes, and blocks are public. Mutes are private." 4295 - msgstr "Suas postagens, curtidas e blocos são públicos. Mudos são privados." 4235 + msgstr "Suas postagens, curtidas e bloqueios são públicos. Silenciamentos são privados." 4296 4236 4297 4237 #: src/view/com/modals/SwitchAccount.tsx:84 4298 4238 #: src/view/screens/Settings.tsx:125 4299 4239 msgid "Your profile" 4300 4240 msgstr "Seu perfil" 4301 4241 4242 + #: src/view/com/auth/create/Step3.tsx:28 4243 + msgid "Your user handle" 4244 + msgstr "Seu usuário" 4245 + 4246 + #: src/view/com/composer/Composer.tsx:266 4247 + msgid "Your reply has been published" 4248 + msgstr "Sua resposta foi publicada" 4249 + 4250 + #: src/view/com/auth/create/Step3.tsx:28 4251 + msgid "Your user handle" 4252 + msgstr "Seu identificador de usuário" 4253 + 4302 4254 #: src/view/screens/Moderation.tsx:205 4303 4255 #~ msgid "Your profile and account will not be visible to anyone visiting the Bluesky app without an account, or to account holders who are not logged in. Enabling this will not make your profile private." 4304 - #~ msgstr "" 4256 + #~ msgstr "Seu perfil e conta não serão visíveis para pessoas utilizando o app Bluesky sem uma conta, ou para pessoas que têm conta mas estão deslogadas. Habilitar esta opção não torna a sua conta privada." 4305 4257 4306 4258 #: src/view/screens/Moderation.tsx:220 4307 4259 #~ msgid "Your profile and content will not be visible to anyone visiting the Bluesky app without an account. Enabling this will not make your profile private." 4308 - #~ msgstr "" 4260 + #~ msgstr "Seu perfil e seu conteúdo não serão visíveis para pessoas utilizando o app Bluesky sem uma conta. Habilitar esta opção não torna a sua conta privada." 4309 4261 4310 4262 #: src/view/screens/Moderation.tsx:220 4311 4263 #~ msgid "Your profile and posts will not be visible to people visiting the Bluesky app or website without having an account and being logged in." 4312 - #~ msgstr "" 4264 + #~ msgstr "Seu perfil e posts não serão visíveis para pessoas utilizando o app ou site do Bluesky sem uma conta logada." 4265 + 4266 + #: src/view/screens/Moderation.tsx:227 4267 + #~ msgid "Note: Third-party apps that display Bluesky content may not respect this setting." 4268 + #~ msgstr "Nota: Aplicativos de terceiros que mostram conteúdo do Bluesky podem não respeitar esta opção." 4269 + 4270 + #: src/view/com/modals/SelfLabel.tsx:136 4271 + #~ msgid "Not Applicable" 4272 + #~ msgstr "Não Aplicável" 4273 + 4274 + #: src/view/com/posts/FeedErrorMessage.tsx:99 4275 + #~ msgid "We're sorry, but this content is not viewable without a Bluesky account." 4276 + #~ msgstr "Desculpe, mas este conteúdo não é visível sem uma conta do Bluesky." 4277 + 4278 + #: src/view/com/posts/FeedErrorMessage.tsx:105 4279 + #~ msgid "We're sorry, but this feed is currently receiving high traffic and is temporarily unavailable. Please try again later." 4280 + #~ msgstr "Desculpe, mas este feed está recebendo muito tráfego e está temporariamente indisponível. Por favor, tente novamente mais tarde." 4281 + 4282 + #: src/view/com/threadgate/WhoCanReply.tsx:115 4283 + #~ msgid "Users followed by <0/>" 4284 + #~ msgstr "Usuários seguidos por <0/>" 4285 + 4286 + #: src/view/com/util/moderation/LabelInfo.tsx:45 4287 + #~ msgid "This {0} has been labeled." 4288 + #~ msgstr "Este {0} foi reportado." 4289 + 4290 + #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:73 4291 + #: src/view/com/auth/onboarding/RecommendedFollows.tsx:50 4292 + #~ msgid "Recommended" 4293 + #~ msgstr "Recomendados" 4294 + 4295 + #: src/view/screens/Moderation.tsx:134 4296 + #~ msgid "My Account" 4297 + #~ msgstr "Minha Conta" 4313 4298 4314 - #: src/view/com/composer/Composer.tsx:266 4315 - msgid "Your reply has been published" 4316 - msgstr "" 4299 + #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:65 4300 + #~ msgid "Choose your" 4301 + #~ msgstr "Escolha seu" 4317 4302 4318 - #: src/view/com/auth/create/Step3.tsx:28 4319 - msgid "Your user handle" 4320 - msgstr "Seu identificador de usuário" 4303 + #: src/view/com/modals/AltImage.tsx:123 4304 + #~ msgid "Cancel add image alt text" 4305 + #~ msgstr "Cancelar adição de texto alternativo da imagem" 4306 + 4307 + #: src/view/com/modals/AppealLabel.tsx:65 4308 + #~ msgid "Appeal Decision" 4309 + #~ msgstr "Contestar Decisão" 4310 + 4311 + #: src/view/com/modals/ListAddUser.tsx:142 4312 + #: src/view/shell/desktop/Search.tsx:112 4313 + #~ msgid "No results found for {0}" 4314 + #~ msgstr "Nenhum resultado encontrado para {0}" 4315 + 4316 + #: src/view/com/modals/AddAppPasswords.tsx:132 4317 + #~ msgid "<0>Here is your app password.</0> Use this to sign into the other app along with your handle." 4318 + #~ msgstr "<0>Aqui está sua senha de aplicativo.</0> Use-a com seu usuário para logar em outro aplicativo." 4319 + 4320 + #: src/view/screens/Moderation.tsx:212 4321 + #~ msgid "<0>Note: This setting may not be respected by third-party apps that display Bluesky content.</0>" 4322 + #~ msgstr "<0>Nota: Esta opção pode não ser respeitada por aplicativos de terceiro que mostram conteúdo do Bluesky.</0>" 4323 + 4324 + #: src/view/screens/Moderation.tsx:212 4325 + #~ msgid "<0>Note: Your profile and posts will remain publicly available. Third-party apps that display Bluesky content may not respect this setting.</0>" 4326 + #~ msgstr "<0>Nota: Seu perfil e posts continuarão públicos. Aplicativos de terceiros que mostram conteúdo do Bluesky podem não respeitar esta opção." 4327 + 4328 + #~ msgid "- end of feed -" 4329 + #~ msgstr "- fim do feed -" 4330 + 4331 + #~ msgid ". This warning is only available for posts with media attached." 4332 + #~ msgstr ". Este aviso só aparece em posts com imagens."
+2 -1
src/view/com/composer/text-input/web/EmojiPicker.web.tsx
··· 121 121 122 122 const styles = StyleSheet.create({ 123 123 mask: { 124 - position: 'absolute', 124 + // @ts-ignore web ony 125 + position: 'fixed', 125 126 top: 0, 126 127 left: 0, 127 128 right: 0,
+1 -10
src/view/com/feeds/FeedPage.tsx
··· 210 210 const {isDesktop, isTablet} = useWebMediaQueries() 211 211 const {fontScale} = useWindowDimensions() 212 212 const {hasSession} = useSession() 213 - 214 - if (isDesktop) { 213 + if (isDesktop || isTablet) { 215 214 return 0 216 215 } 217 - if (isTablet) { 218 - if (hasSession) { 219 - return 50 220 - } else { 221 - return 0 222 - } 223 - } 224 - 225 216 if (hasSession) { 226 217 const navBarPad = 16 227 218 const navBarText = 21 * fontScale
+14 -6
src/view/com/lightbox/Lightbox.web.tsx
··· 1 1 import React, {useCallback, useEffect, useState} from 'react' 2 2 import { 3 3 Image, 4 + ImageStyle, 4 5 TouchableOpacity, 5 6 TouchableWithoutFeedback, 6 7 StyleSheet, 7 8 View, 8 9 Pressable, 9 10 } from 'react-native' 10 - import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 11 + import { 12 + FontAwesomeIcon, 13 + FontAwesomeIconStyle, 14 + } from '@fortawesome/react-native-fontawesome' 11 15 import {colors, s} from 'lib/styles' 12 16 import ImageDefaultHeader from './ImageViewing/components/ImageDefaultHeader' 13 17 import {Text} from '../util/text/Text' ··· 19 23 ImagesLightbox, 20 24 ProfileImageLightbox, 21 25 } from '#/state/lightbox' 26 + import {useWebBodyScrollLock} from '#/lib/hooks/useWebBodyScrollLock' 22 27 23 28 interface Img { 24 29 uri: string ··· 28 33 export function Lightbox() { 29 34 const {activeLightbox} = useLightbox() 30 35 const {closeLightbox} = useLightboxControls() 36 + const isActive = !!activeLightbox 37 + useWebBodyScrollLock(isActive) 31 38 32 - if (!activeLightbox) { 39 + if (!isActive) { 33 40 return null 34 41 } 35 42 ··· 116 123 <Image 117 124 accessibilityIgnoresInvertColors 118 125 source={imgs[index]} 119 - style={styles.image} 126 + style={styles.image as ImageStyle} 120 127 accessibilityLabel={imgs[index].alt} 121 128 accessibilityHint="" 122 129 /> ··· 129 136 accessibilityHint=""> 130 137 <FontAwesomeIcon 131 138 icon="angle-left" 132 - style={styles.icon} 139 + style={styles.icon as FontAwesomeIconStyle} 133 140 size={40} 134 141 /> 135 142 </TouchableOpacity> ··· 143 150 accessibilityHint=""> 144 151 <FontAwesomeIcon 145 152 icon="angle-right" 146 - style={styles.icon} 153 + style={styles.icon as FontAwesomeIconStyle} 147 154 size={40} 148 155 /> 149 156 </TouchableOpacity> ··· 178 185 179 186 const styles = StyleSheet.create({ 180 187 mask: { 181 - position: 'absolute', 188 + // @ts-ignore 189 + position: 'fixed', 182 190 top: 0, 183 191 left: 0, 184 192 width: '100%',
+4 -1
src/view/com/modals/Modal.web.tsx
··· 3 3 import Animated, {FadeIn, FadeOut} from 'react-native-reanimated' 4 4 import {usePalette} from 'lib/hooks/usePalette' 5 5 import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' 6 + import {useWebBodyScrollLock} from '#/lib/hooks/useWebBodyScrollLock' 6 7 7 8 import {useModals, useModalControls} from '#/state/modals' 8 9 import type {Modal as ModalIface} from '#/state/modals' ··· 38 39 39 40 export function ModalsContainer() { 40 41 const {isModalActive, activeModals} = useModals() 42 + useWebBodyScrollLock(isModalActive) 41 43 42 44 if (!isModalActive) { 43 45 return null ··· 166 168 167 169 const styles = StyleSheet.create({ 168 170 mask: { 169 - position: 'absolute', 171 + // @ts-ignore 172 + position: 'fixed', 170 173 top: 0, 171 174 left: 0, 172 175 width: '100%',
+3 -5
src/view/com/notifications/FeedItem.tsx
··· 167 167 icon = 'user-plus' 168 168 iconStyle = [s.blue3 as FontAwesomeIconStyle] 169 169 } else if (item.type === 'feedgen-like') { 170 - action = _( 171 - msg`liked your custom feed${ 172 - item.subjectUri ? ` '${new AtUri(item.subjectUri).rkey}'` : '' 173 - }`, 174 - ) 170 + action = item.subjectUri 171 + ? _(msg`liked your custom feed '${new AtUri(item.subjectUri).rkey}'`) 172 + : _(msg`liked your custom feed`) 175 173 icon = 'HeartIconSolid' 176 174 iconStyle = [ 177 175 s.likeColor as FontAwesomeIconStyle,
+7 -4
src/view/com/pager/FeedsTabBar.web.tsx
··· 117 117 return ( 118 118 // @ts-ignore the type signature for transform wrong here, translateX and translateY need to be in separate objects -prf 119 119 <Animated.View 120 - style={[pal.view, styles.tabBar, headerMinimalShellTransform]} 120 + style={[pal.view, pal.border, styles.tabBar, headerMinimalShellTransform]} 121 121 onLayout={e => { 122 122 headerHeight.value = e.nativeEvent.layout.height 123 123 }}> ··· 134 134 135 135 const styles = StyleSheet.create({ 136 136 tabBar: { 137 - position: 'absolute', 137 + // @ts-ignore Web only 138 + position: 'sticky', 138 139 zIndex: 1, 139 140 // @ts-ignore Web only -prf 140 - left: 'calc(50% - 299px)', 141 - width: 598, 141 + left: 'calc(50% - 300px)', 142 + width: 600, 142 143 top: 0, 143 144 flexDirection: 'row', 144 145 alignItems: 'center', 146 + borderLeftWidth: 1, 147 + borderRightWidth: 1, 145 148 }, 146 149 })
+2 -1
src/view/com/pager/FeedsTabBarMobile.tsx
··· 142 142 143 143 const styles = StyleSheet.create({ 144 144 tabBar: { 145 - position: 'absolute', 145 + // @ts-ignore web-only 146 + position: isWeb ? 'fixed' : 'absolute', 146 147 zIndex: 1, 147 148 left: 0, 148 149 right: 0,
+1
src/view/com/pager/Pager.tsx
··· 17 17 export interface RenderTabBarFnProps { 18 18 selectedPage: number 19 19 onSelect?: (index: number) => void 20 + tabBarAnchor?: JSX.Element | null | undefined // Ignored on native. 20 21 } 21 22 export type RenderTabBarFn = (props: RenderTabBarFnProps) => JSX.Element 22 23
+35 -16
src/view/com/pager/Pager.web.tsx
··· 1 1 import React from 'react' 2 + import {flushSync} from 'react-dom' 2 3 import {View} from 'react-native' 3 4 import {s} from 'lib/styles' 4 5 5 6 export interface RenderTabBarFnProps { 6 7 selectedPage: number 7 8 onSelect?: (index: number) => void 9 + tabBarAnchor?: JSX.Element 8 10 } 9 11 export type RenderTabBarFn = (props: RenderTabBarFnProps) => JSX.Element 10 12 ··· 27 29 ref, 28 30 ) { 29 31 const [selectedPage, setSelectedPage] = React.useState(initialPage) 32 + const scrollYs = React.useRef<Array<number | null>>([]) 33 + const anchorRef = React.useRef(null) 30 34 31 35 React.useImperativeHandle(ref, () => ({ 32 36 setPage: (index: number) => setSelectedPage(index), ··· 34 38 35 39 const onTabBarSelect = React.useCallback( 36 40 (index: number) => { 37 - setSelectedPage(index) 38 - onPageSelected?.(index) 39 - onPageSelecting?.(index) 41 + const scrollY = window.scrollY 42 + // We want to determine if the tabbar is already "sticking" at the top (in which 43 + // case we should preserve and restore scroll), or if it is somewhere below in the 44 + // viewport (in which case a scroll jump would be jarring). We determine this by 45 + // measuring where the "anchor" element is (which we place just above the tabbar). 46 + let anchorTop = anchorRef.current 47 + ? (anchorRef.current as Element).getBoundingClientRect().top 48 + : -scrollY // If there's no anchor, treat the top of the page as one. 49 + const isSticking = anchorTop <= 5 // This would be 0 if browser scrollTo() was reliable. 50 + 51 + if (isSticking) { 52 + scrollYs.current[selectedPage] = window.scrollY 53 + } else { 54 + scrollYs.current[selectedPage] = null 55 + } 56 + flushSync(() => { 57 + setSelectedPage(index) 58 + onPageSelected?.(index) 59 + onPageSelecting?.(index) 60 + }) 61 + if (isSticking) { 62 + const restoredScrollY = scrollYs.current[index] 63 + if (restoredScrollY != null) { 64 + window.scrollTo(0, restoredScrollY) 65 + } else { 66 + window.scrollTo(0, scrollY + anchorTop) 67 + } 68 + } 40 69 }, 41 - [setSelectedPage, onPageSelected, onPageSelecting], 70 + [selectedPage, setSelectedPage, onPageSelected, onPageSelecting], 42 71 ) 43 72 44 73 return ( ··· 46 75 {tabBarPosition === 'top' && 47 76 renderTabBar({ 48 77 selectedPage, 78 + tabBarAnchor: <View ref={anchorRef} />, 49 79 onSelect: onTabBarSelect, 50 80 })} 51 81 {React.Children.map(children, (child, i) => ( 52 - <View 53 - style={ 54 - selectedPage === i 55 - ? s.flex1 56 - : { 57 - position: 'absolute', 58 - pointerEvents: 'none', 59 - // @ts-ignore web-only 60 - visibility: 'hidden', 61 - } 62 - } 63 - key={`page-${i}`}> 82 + <View style={selectedPage === i ? s.flex1 : s.hidden} key={`page-${i}`}> 64 83 {child} 65 84 </View> 66 85 ))}
+1 -14
src/view/com/pager/PagerWithHeader.tsx
··· 18 18 } from 'react-native-reanimated' 19 19 import {Pager, PagerRef, RenderTabBarFnProps} from 'view/com/pager/Pager' 20 20 import {TabBar} from './TabBar' 21 - import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' 22 21 import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback' 23 22 import {ListMethods} from '../util/List' 24 23 import {ScrollProvider} from '#/lib/ScrollContext' ··· 235 234 onCurrentPageSelected?: (index: number) => void 236 235 onSelect?: (index: number) => void 237 236 }): React.ReactNode => { 238 - const {isMobile} = useWebMediaQueries() 239 237 const headerTransform = useAnimatedStyle(() => ({ 240 238 transform: [ 241 239 { ··· 246 244 return ( 247 245 <Animated.View 248 246 pointerEvents="box-none" 249 - style={[ 250 - isMobile ? styles.tabBarMobile : styles.tabBarDesktop, 251 - headerTransform, 252 - ]}> 247 + style={[styles.tabBarMobile, headerTransform]}> 253 248 <View onLayout={onHeaderOnlyLayout} pointerEvents="box-none"> 254 249 {renderHeader?.()} 255 250 </View> ··· 324 319 top: 0, 325 320 left: 0, 326 321 width: '100%', 327 - }, 328 - tabBarDesktop: { 329 - position: 'absolute', 330 - zIndex: 1, 331 - top: 0, 332 - // @ts-ignore Web only -prf 333 - left: 'calc(50% - 299px)', 334 - width: 598, 335 322 }, 336 323 }) 337 324
+194
src/view/com/pager/PagerWithHeader.web.tsx
··· 1 + import * as React from 'react' 2 + import {FlatList, ScrollView, StyleSheet, View} from 'react-native' 3 + import {useAnimatedRef} from 'react-native-reanimated' 4 + import {Pager, PagerRef, RenderTabBarFnProps} from 'view/com/pager/Pager' 5 + import {TabBar} from './TabBar' 6 + import {usePalette} from '#/lib/hooks/usePalette' 7 + import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries' 8 + import {ListMethods} from '../util/List' 9 + 10 + export interface PagerWithHeaderChildParams { 11 + headerHeight: number 12 + isFocused: boolean 13 + scrollElRef: React.MutableRefObject<FlatList<any> | ScrollView | null> 14 + } 15 + 16 + export interface PagerWithHeaderProps { 17 + testID?: string 18 + children: 19 + | (((props: PagerWithHeaderChildParams) => JSX.Element) | null)[] 20 + | ((props: PagerWithHeaderChildParams) => JSX.Element) 21 + items: string[] 22 + isHeaderReady: boolean 23 + renderHeader?: () => JSX.Element 24 + initialPage?: number 25 + onPageSelected?: (index: number) => void 26 + onCurrentPageSelected?: (index: number) => void 27 + } 28 + export const PagerWithHeader = React.forwardRef<PagerRef, PagerWithHeaderProps>( 29 + function PageWithHeaderImpl( 30 + { 31 + children, 32 + testID, 33 + items, 34 + renderHeader, 35 + initialPage, 36 + onPageSelected, 37 + onCurrentPageSelected, 38 + }: PagerWithHeaderProps, 39 + ref, 40 + ) { 41 + const [currentPage, setCurrentPage] = React.useState(0) 42 + 43 + const renderTabBar = React.useCallback( 44 + (props: RenderTabBarFnProps) => { 45 + return ( 46 + <PagerTabBar 47 + items={items} 48 + renderHeader={renderHeader} 49 + currentPage={currentPage} 50 + onCurrentPageSelected={onCurrentPageSelected} 51 + onSelect={props.onSelect} 52 + tabBarAnchor={props.tabBarAnchor} 53 + testID={testID} 54 + /> 55 + ) 56 + }, 57 + [items, renderHeader, currentPage, onCurrentPageSelected, testID], 58 + ) 59 + 60 + const onPageSelectedInner = React.useCallback( 61 + (index: number) => { 62 + setCurrentPage(index) 63 + onPageSelected?.(index) 64 + }, 65 + [onPageSelected, setCurrentPage], 66 + ) 67 + 68 + const onPageSelecting = React.useCallback((index: number) => { 69 + setCurrentPage(index) 70 + }, []) 71 + 72 + return ( 73 + <Pager 74 + ref={ref} 75 + testID={testID} 76 + initialPage={initialPage} 77 + onPageSelected={onPageSelectedInner} 78 + onPageSelecting={onPageSelecting} 79 + renderTabBar={renderTabBar} 80 + tabBarPosition="top"> 81 + {toArray(children) 82 + .filter(Boolean) 83 + .map((child, i) => { 84 + return ( 85 + <View key={i} collapsable={false}> 86 + <PagerItem isFocused={i === currentPage} renderTab={child} /> 87 + </View> 88 + ) 89 + })} 90 + </Pager> 91 + ) 92 + }, 93 + ) 94 + 95 + let PagerTabBar = ({ 96 + currentPage, 97 + items, 98 + testID, 99 + renderHeader, 100 + onCurrentPageSelected, 101 + onSelect, 102 + tabBarAnchor, 103 + }: { 104 + currentPage: number 105 + items: string[] 106 + testID?: string 107 + renderHeader?: () => JSX.Element 108 + onCurrentPageSelected?: (index: number) => void 109 + onSelect?: (index: number) => void 110 + tabBarAnchor?: JSX.Element | null | undefined 111 + }): React.ReactNode => { 112 + const pal = usePalette('default') 113 + const {isMobile} = useWebMediaQueries() 114 + return ( 115 + <> 116 + <View style={[!isMobile && styles.headerContainerDesktop, pal.border]}> 117 + {renderHeader?.()} 118 + </View> 119 + {tabBarAnchor} 120 + <View 121 + style={[ 122 + styles.tabBarContainer, 123 + isMobile 124 + ? styles.tabBarContainerMobile 125 + : styles.tabBarContainerDesktop, 126 + pal.border, 127 + ]}> 128 + <TabBar 129 + testID={testID} 130 + items={items} 131 + selectedPage={currentPage} 132 + onSelect={onSelect} 133 + onPressSelected={onCurrentPageSelected} 134 + /> 135 + </View> 136 + </> 137 + ) 138 + } 139 + PagerTabBar = React.memo(PagerTabBar) 140 + 141 + function PagerItem({ 142 + isFocused, 143 + renderTab, 144 + }: { 145 + isFocused: boolean 146 + renderTab: ((props: PagerWithHeaderChildParams) => JSX.Element) | null 147 + }) { 148 + const scrollElRef = useAnimatedRef() 149 + if (renderTab == null) { 150 + return null 151 + } 152 + return renderTab({ 153 + headerHeight: 0, 154 + isFocused, 155 + scrollElRef: scrollElRef as React.MutableRefObject< 156 + ListMethods | ScrollView | null 157 + >, 158 + }) 159 + } 160 + 161 + const styles = StyleSheet.create({ 162 + headerContainerDesktop: { 163 + marginLeft: 'auto', 164 + marginRight: 'auto', 165 + width: 600, 166 + borderLeftWidth: 1, 167 + borderRightWidth: 1, 168 + }, 169 + tabBarContainer: { 170 + // @ts-ignore web-only 171 + position: 'sticky', 172 + overflow: 'hidden', 173 + top: 0, 174 + zIndex: 1, 175 + }, 176 + tabBarContainerDesktop: { 177 + marginLeft: 'auto', 178 + marginRight: 'auto', 179 + width: 600, 180 + borderLeftWidth: 1, 181 + borderRightWidth: 1, 182 + }, 183 + tabBarContainerMobile: { 184 + paddingLeft: 14, 185 + paddingRight: 14, 186 + }, 187 + }) 188 + 189 + function toArray<T>(v: T | T[]): T[] { 190 + if (Array.isArray(v)) { 191 + return v 192 + } 193 + return [v] 194 + }
+28 -10
src/view/com/post-thread/PostThread.tsx
··· 139 139 const {hasSession} = useSession() 140 140 const {_} = useLingui() 141 141 const pal = usePalette('default') 142 - const {isTablet, isDesktop} = useWebMediaQueries() 142 + const {isTablet, isDesktop, isTabletOrMobile} = useWebMediaQueries() 143 143 const ref = useRef<ListMethods>(null) 144 144 const highlightedPostRef = useRef<View | null>(null) 145 145 const needsScrollAdjustment = useRef<boolean>( ··· 197 197 198 198 // wait for loading to finish 199 199 if (thread.type === 'post' && !!thread.parent) { 200 - highlightedPostRef.current?.measure( 201 - (_x, _y, _width, _height, _pageX, pageY) => { 202 - ref.current?.scrollToOffset({ 203 - animated: false, 204 - offset: pageY - (isDesktop ? 0 : 50), 205 - }) 206 - }, 207 - ) 200 + function onMeasure(pageY: number) { 201 + let spinnerHeight = 0 202 + if (isDesktop) { 203 + spinnerHeight = 40 204 + } else if (isTabletOrMobile) { 205 + spinnerHeight = 82 206 + } 207 + ref.current?.scrollToOffset({ 208 + animated: false, 209 + offset: pageY - spinnerHeight, 210 + }) 211 + } 212 + if (isNative) { 213 + highlightedPostRef.current?.measure( 214 + (_x, _y, _width, _height, _pageX, pageY) => { 215 + onMeasure(pageY) 216 + }, 217 + ) 218 + } else { 219 + // Measure synchronously to avoid a layout jump. 220 + const domNode = highlightedPostRef.current 221 + if (domNode) { 222 + const pageY = (domNode as any as Element).getBoundingClientRect().top 223 + onMeasure(pageY) 224 + } 225 + } 208 226 needsScrollAdjustment.current = false 209 227 } 210 - }, [thread, isDesktop]) 228 + }, [thread, isDesktop, isTabletOrMobile]) 211 229 212 230 const onPTR = React.useCallback(async () => { 213 231 setIsPTRing(true)
+1 -1
src/view/com/post-thread/PostThreadItem.tsx
··· 706 706 <Text style={pal.textLight}>{niceDate(post.indexedAt)}</Text> 707 707 {needsTranslation && ( 708 708 <> 709 - <Text style={[pal.textLight, s.ml5, s.mr5]}>•</Text> 709 + <Text style={pal.textLight}> &middot; </Text> 710 710 <Link href={translatorUrl} title={_(msg`Translate`)}> 711 711 <Text style={pal.link}> 712 712 <Trans>Translate</Trans>
+1 -1
src/view/com/posts/FeedItem.tsx
··· 205 205 title={_( 206 206 msg`Reposted by ${sanitizeDisplayName( 207 207 reason.by.displayName || reason.by.handle, 208 - )})`, 208 + )}`, 209 209 )}> 210 210 <FontAwesomeIcon 211 211 icon="retweet"
+2 -4
src/view/com/util/List.tsx
··· 1 - import React, {memo, startTransition} from 'react' 1 + import React, {memo} from 'react' 2 2 import {FlatListProps, RefreshControl} from 'react-native' 3 3 import {FlatList_INTERNAL} from './Views' 4 4 import {addStyle} from 'lib/styles' ··· 39 39 const pal = usePalette('default') 40 40 41 41 function handleScrolledDownChange(didScrollDown: boolean) { 42 - startTransition(() => { 43 - onScrolledDownChange?.(didScrollDown) 44 - }) 42 + onScrolledDownChange?.(didScrollDown) 45 43 } 46 44 47 45 const scrollHandler = useAnimatedScrollHandler({
+341
src/view/com/util/List.web.tsx
··· 1 + import React, {isValidElement, memo, useRef, startTransition} from 'react' 2 + import {FlatListProps, StyleSheet, View, ViewProps} from 'react-native' 3 + import {addStyle} from 'lib/styles' 4 + import {usePalette} from 'lib/hooks/usePalette' 5 + import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' 6 + import {useScrollHandlers} from '#/lib/ScrollContext' 7 + import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback' 8 + import {batchedUpdates} from '#/lib/batchedUpdates' 9 + 10 + export type ListMethods = any // TODO: Better types. 11 + export type ListProps<ItemT> = Omit< 12 + FlatListProps<ItemT>, 13 + | 'onScroll' // Use ScrollContext instead. 14 + | 'refreshControl' // Pass refreshing and/or onRefresh instead. 15 + | 'contentOffset' // Pass headerOffset instead. 16 + > & { 17 + onScrolledDownChange?: (isScrolledDown: boolean) => void 18 + headerOffset?: number 19 + refreshing?: boolean 20 + onRefresh?: () => void 21 + desktopFixedHeight: any // TODO: Better types. 22 + } 23 + export type ListRef = React.MutableRefObject<any | null> // TODO: Better types. 24 + 25 + function ListImpl<ItemT>( 26 + { 27 + ListHeaderComponent, 28 + ListFooterComponent, 29 + contentContainerStyle, 30 + data, 31 + desktopFixedHeight, 32 + headerOffset, 33 + keyExtractor, 34 + refreshing: _unsupportedRefreshing, 35 + onEndReached, 36 + onEndReachedThreshold = 0, 37 + onRefresh: _unsupportedOnRefresh, 38 + onScrolledDownChange, 39 + onContentSizeChange, 40 + renderItem, 41 + extraData, 42 + style, 43 + ...props 44 + }: ListProps<ItemT>, 45 + ref: React.Ref<ListMethods>, 46 + ) { 47 + const contextScrollHandlers = useScrollHandlers() 48 + const pal = usePalette('default') 49 + const {isMobile} = useWebMediaQueries() 50 + if (!isMobile) { 51 + contentContainerStyle = addStyle( 52 + contentContainerStyle, 53 + styles.containerScroll, 54 + ) 55 + } 56 + 57 + let header: JSX.Element | null = null 58 + if (ListHeaderComponent != null) { 59 + if (isValidElement(ListHeaderComponent)) { 60 + header = ListHeaderComponent 61 + } else { 62 + // @ts-ignore Nah it's fine. 63 + header = <ListHeaderComponent /> 64 + } 65 + } 66 + 67 + let footer: JSX.Element | null = null 68 + if (ListFooterComponent != null) { 69 + if (isValidElement(ListFooterComponent)) { 70 + footer = ListFooterComponent 71 + } else { 72 + // @ts-ignore Nah it's fine. 73 + footer = <ListFooterComponent /> 74 + } 75 + } 76 + 77 + if (headerOffset != null) { 78 + style = addStyle(style, { 79 + paddingTop: headerOffset, 80 + }) 81 + } 82 + 83 + const nativeRef = React.useRef(null) 84 + React.useImperativeHandle( 85 + ref, 86 + () => 87 + ({ 88 + scrollToTop() { 89 + window.scrollTo({top: 0}) 90 + }, 91 + scrollToOffset({ 92 + animated, 93 + offset, 94 + }: { 95 + animated: boolean 96 + offset: number 97 + }) { 98 + window.scrollTo({ 99 + left: 0, 100 + top: offset, 101 + behavior: animated ? 'smooth' : 'instant', 102 + }) 103 + }, 104 + } as any), // TODO: Better types. 105 + [], 106 + ) 107 + 108 + // --- onContentSizeChange --- 109 + const containerRef = useRef(null) 110 + useResizeObserver(containerRef, onContentSizeChange) 111 + 112 + // --- onScroll --- 113 + const [isInsideVisibleTree, setIsInsideVisibleTree] = React.useState(false) 114 + const handleWindowScroll = useNonReactiveCallback(() => { 115 + if (isInsideVisibleTree) { 116 + contextScrollHandlers.onScroll?.( 117 + { 118 + contentOffset: { 119 + x: Math.max(0, window.scrollX), 120 + y: Math.max(0, window.scrollY), 121 + }, 122 + } as any, // TODO: Better types. 123 + null as any, 124 + ) 125 + } 126 + }) 127 + React.useEffect(() => { 128 + if (!isInsideVisibleTree) { 129 + // Prevents hidden tabs from firing scroll events. 130 + // Only one list is expected to be firing these at a time. 131 + return 132 + } 133 + window.addEventListener('scroll', handleWindowScroll) 134 + return () => { 135 + window.removeEventListener('scroll', handleWindowScroll) 136 + } 137 + }, [isInsideVisibleTree, handleWindowScroll]) 138 + 139 + // --- onScrolledDownChange --- 140 + const isScrolledDown = useRef(false) 141 + function handleAboveTheFoldVisibleChange(isAboveTheFold: boolean) { 142 + const didScrollDown = !isAboveTheFold 143 + if (isScrolledDown.current !== didScrollDown) { 144 + isScrolledDown.current = didScrollDown 145 + startTransition(() => { 146 + onScrolledDownChange?.(didScrollDown) 147 + }) 148 + } 149 + } 150 + 151 + // --- onEndReached --- 152 + const onTailVisibilityChange = useNonReactiveCallback( 153 + (isTailVisible: boolean) => { 154 + if (isTailVisible) { 155 + onEndReached?.({ 156 + distanceFromEnd: onEndReachedThreshold || 0, 157 + }) 158 + } 159 + }, 160 + ) 161 + 162 + return ( 163 + <View {...props} style={style} ref={nativeRef}> 164 + <Visibility 165 + onVisibleChange={setIsInsideVisibleTree} 166 + style={ 167 + // This has position: fixed, so it should always report as visible 168 + // unless we're within a display: none tree (like a hidden tab). 169 + styles.parentTreeVisibilityDetector 170 + } 171 + /> 172 + <View 173 + ref={containerRef} 174 + style={[ 175 + styles.contentContainer, 176 + contentContainerStyle, 177 + desktopFixedHeight ? styles.minHeightViewport : null, 178 + pal.border, 179 + ]}> 180 + <Visibility 181 + onVisibleChange={handleAboveTheFoldVisibleChange} 182 + style={[styles.aboveTheFoldDetector, {height: headerOffset}]} 183 + /> 184 + {header} 185 + {(data as Array<ItemT>).map((item, index) => ( 186 + <Row<ItemT> 187 + key={keyExtractor!(item, index)} 188 + item={item} 189 + index={index} 190 + renderItem={renderItem} 191 + extraData={extraData} 192 + /> 193 + ))} 194 + {onEndReached && ( 195 + <Visibility 196 + topMargin={(onEndReachedThreshold ?? 0) * 100 + '%'} 197 + onVisibleChange={onTailVisibilityChange} 198 + /> 199 + )} 200 + {footer} 201 + </View> 202 + </View> 203 + ) 204 + } 205 + 206 + function useResizeObserver( 207 + ref: React.RefObject<Element>, 208 + onResize: undefined | ((w: number, h: number) => void), 209 + ) { 210 + const handleResize = useNonReactiveCallback(onResize ?? (() => {})) 211 + const isActive = !!onResize 212 + React.useEffect(() => { 213 + if (!isActive) { 214 + return 215 + } 216 + const resizeObserver = new ResizeObserver(entries => { 217 + batchedUpdates(() => { 218 + for (let entry of entries) { 219 + const rect = entry.contentRect 220 + handleResize(rect.width, rect.height) 221 + } 222 + }) 223 + }) 224 + const node = ref.current! 225 + resizeObserver.observe(node) 226 + return () => { 227 + resizeObserver.unobserve(node) 228 + } 229 + }, [handleResize, isActive, ref]) 230 + } 231 + 232 + let Row = function RowImpl<ItemT>({ 233 + item, 234 + index, 235 + renderItem, 236 + extraData: _unused, 237 + }: { 238 + item: ItemT 239 + index: number 240 + renderItem: 241 + | null 242 + | undefined 243 + | ((data: {index: number; item: any; separators: any}) => React.ReactNode) 244 + extraData: any 245 + }): React.ReactNode { 246 + if (!renderItem) { 247 + return null 248 + } 249 + return ( 250 + <View style={styles.row}> 251 + {renderItem({item, index, separators: null as any})} 252 + </View> 253 + ) 254 + } 255 + Row = React.memo(Row) 256 + 257 + let Visibility = ({ 258 + topMargin = '0px', 259 + onVisibleChange, 260 + style, 261 + }: { 262 + topMargin?: string 263 + onVisibleChange: (isVisible: boolean) => void 264 + style?: ViewProps['style'] 265 + }): React.ReactNode => { 266 + const tailRef = React.useRef(null) 267 + const isIntersecting = React.useRef(false) 268 + 269 + const handleIntersection = useNonReactiveCallback( 270 + (entries: IntersectionObserverEntry[]) => { 271 + batchedUpdates(() => { 272 + entries.forEach(entry => { 273 + if (entry.isIntersecting !== isIntersecting.current) { 274 + isIntersecting.current = entry.isIntersecting 275 + onVisibleChange(entry.isIntersecting) 276 + } 277 + }) 278 + }) 279 + }, 280 + ) 281 + 282 + React.useEffect(() => { 283 + const observer = new IntersectionObserver(handleIntersection, { 284 + rootMargin: `${topMargin} 0px 0px 0px`, 285 + }) 286 + const tail: Element | null = tailRef.current! 287 + observer.observe(tail) 288 + return () => { 289 + observer.unobserve(tail) 290 + } 291 + }, [handleIntersection, topMargin]) 292 + 293 + return ( 294 + <View ref={tailRef} style={addStyle(styles.visibilityDetector, style)} /> 295 + ) 296 + } 297 + Visibility = React.memo(Visibility) 298 + 299 + export const List = memo(React.forwardRef(ListImpl)) as <ItemT>( 300 + props: ListProps<ItemT> & {ref?: React.Ref<ListMethods>}, 301 + ) => React.ReactElement 302 + 303 + const styles = StyleSheet.create({ 304 + contentContainer: { 305 + borderLeftWidth: 1, 306 + borderRightWidth: 1, 307 + }, 308 + containerScroll: { 309 + width: '100%', 310 + maxWidth: 600, 311 + marginLeft: 'auto', 312 + marginRight: 'auto', 313 + }, 314 + row: { 315 + // @ts-ignore web only 316 + contentVisibility: 'auto', 317 + }, 318 + minHeightViewport: { 319 + // @ts-ignore web only 320 + minHeight: '100vh', 321 + }, 322 + parentTreeVisibilityDetector: { 323 + // @ts-ignore web only 324 + position: 'fixed', 325 + top: 0, 326 + left: 0, 327 + right: 0, 328 + bottom: 0, 329 + }, 330 + aboveTheFoldDetector: { 331 + position: 'absolute', 332 + top: 0, 333 + left: 0, 334 + right: 0, 335 + // Bottom is dynamic. 336 + }, 337 + visibilityDetector: { 338 + pointerEvents: 'none', 339 + zIndex: -1, 340 + }, 341 + })
+35 -2
src/view/com/util/MainScrollProvider.tsx
··· 1 - import React, {useCallback} from 'react' 1 + import React, {useCallback, useEffect} from 'react' 2 + import EventEmitter from 'eventemitter3' 2 3 import {ScrollProvider} from '#/lib/ScrollContext' 3 4 import {NativeScrollEvent} from 'react-native' 4 5 import {useSetMinimalShellMode, useMinimalShellMode} from '#/state/shell' 5 6 import {useShellLayout} from '#/state/shell/shell-layout' 6 - import {isNative} from 'platform/detection' 7 + import {isNative, isWeb} from 'platform/detection' 7 8 import {useSharedValue, interpolate} from 'react-native-reanimated' 8 9 9 10 const WEB_HIDE_SHELL_THRESHOLD = 200 ··· 19 20 const setMode = useSetMinimalShellMode() 20 21 const startDragOffset = useSharedValue<number | null>(null) 21 22 const startMode = useSharedValue<number | null>(null) 23 + 24 + useEffect(() => { 25 + if (isWeb) { 26 + return listenToForcedWindowScroll(() => { 27 + startDragOffset.value = null 28 + startMode.value = null 29 + }) 30 + } 31 + }) 22 32 23 33 const onBeginDrag = useCallback( 24 34 (e: NativeScrollEvent) => { ··· 100 110 </ScrollProvider> 101 111 ) 102 112 } 113 + 114 + const emitter = new EventEmitter() 115 + 116 + if (isWeb) { 117 + const originalScroll = window.scroll 118 + window.scroll = function () { 119 + emitter.emit('forced-scroll') 120 + return originalScroll.apply(this, arguments as any) 121 + } 122 + 123 + const originalScrollTo = window.scrollTo 124 + window.scrollTo = function () { 125 + emitter.emit('forced-scroll') 126 + return originalScrollTo.apply(this, arguments as any) 127 + } 128 + } 129 + 130 + function listenToForcedWindowScroll(listener: () => void) { 131 + emitter.addListener('forced-scroll', listener) 132 + return () => { 133 + emitter.removeListener('forced-scroll', listener) 134 + } 135 + }
+15 -1
src/view/com/util/SimpleViewHeader.tsx
··· 14 14 import {useAnalytics} from 'lib/analytics/analytics' 15 15 import {NavigationProp} from 'lib/routes/types' 16 16 import {useSetDrawerOpen} from '#/state/shell' 17 + import {isWeb} from '#/platform/detection' 17 18 18 19 const BACK_HITSLOP = {left: 20, top: 20, right: 50, bottom: 20} 19 20 ··· 47 48 48 49 const Container = isMobile ? View : CenteredView 49 50 return ( 50 - <Container style={[styles.header, isMobile && styles.headerMobile, style]}> 51 + <Container 52 + style={[ 53 + styles.header, 54 + isMobile && styles.headerMobile, 55 + isWeb && styles.headerWeb, 56 + pal.view, 57 + style, 58 + ]}> 51 59 {showBackButton ? ( 52 60 <TouchableOpacity 53 61 testID="viewHeaderDrawerBtn" ··· 88 96 headerMobile: { 89 97 paddingHorizontal: 12, 90 98 paddingVertical: 10, 99 + }, 100 + headerWeb: { 101 + // @ts-ignore web-only 102 + position: 'sticky', 103 + top: 0, 104 + zIndex: 1, 91 105 }, 92 106 backBtn: { 93 107 width: 30,
+2 -1
src/view/com/util/Toast.web.tsx
··· 64 64 65 65 const styles = StyleSheet.create({ 66 66 container: { 67 - position: 'absolute', 67 + // @ts-ignore web only 68 + position: 'fixed', 68 69 left: 20, 69 70 bottom: 20, 70 71 // @ts-ignore web only
+3 -1
src/view/com/util/fab/FABInner.tsx
··· 6 6 import {useSafeAreaInsets} from 'react-native-safe-area-context' 7 7 import {clamp} from 'lib/numbers' 8 8 import {useMinimalShellMode} from 'lib/hooks/useMinimalShellMode' 9 + import {isWeb} from '#/platform/detection' 9 10 import Animated from 'react-native-reanimated' 10 11 11 12 export interface FABProps ··· 64 65 borderRadius: 35, 65 66 }, 66 67 outer: { 67 - position: 'absolute', 68 + // @ts-ignore web-only 69 + position: isWeb ? 'fixed' : 'absolute', 68 70 zIndex: 1, 69 71 }, 70 72 inner: {
+3 -1
src/view/screens/PostThread.tsx
··· 25 25 import {CenteredView} from '../com/util/Views' 26 26 import {useComposerControls} from '#/state/shell/composer' 27 27 import {useSession} from '#/state/session' 28 + import {isWeb} from '#/platform/detection' 28 29 29 30 type Props = NativeStackScreenProps<CommonNavigatorParams, 'PostThread'> 30 31 export function PostThreadScreen({route}: Props) { ··· 112 113 113 114 const styles = StyleSheet.create({ 114 115 prompt: { 115 - position: 'absolute', 116 + // @ts-ignore web-only 117 + position: isWeb ? 'fixed' : 'absolute', 116 118 left: 0, 117 119 right: 0, 118 120 },
+32 -3
src/view/screens/Search/Search.tsx
··· 334 334 tabBarPosition="top" 335 335 onPageSelected={onPageSelected} 336 336 renderTabBar={props => ( 337 - <CenteredView sideBorders style={pal.border}> 337 + <CenteredView 338 + sideBorders 339 + style={[pal.border, pal.view, styles.tabBarContainer]}> 338 340 <TabBar items={SECTIONS_LOGGEDIN} {...props} /> 339 341 </CenteredView> 340 342 )} ··· 375 377 tabBarPosition="top" 376 378 onPageSelected={onPageSelected} 377 379 renderTabBar={props => ( 378 - <CenteredView sideBorders style={pal.border}> 380 + <CenteredView 381 + sideBorders 382 + style={[pal.border, pal.view, styles.tabBarContainer]}> 379 383 <TabBar items={SECTIONS_LOGGEDOUT} {...props} /> 380 384 </CenteredView> 381 385 )} ··· 466 470 setDrawerOpen(true) 467 471 }, [track, setDrawerOpen]) 468 472 const onPressCancelSearch = React.useCallback(() => { 473 + scrollToTopWeb() 469 474 textInput.current?.blur() 470 475 setQuery('') 471 476 setShowAutocompleteResults(false) ··· 473 478 clearTimeout(searchDebounceTimeout.current) 474 479 }, [textInput]) 475 480 const onPressClearQuery = React.useCallback(() => { 481 + scrollToTopWeb() 476 482 setQuery('') 477 483 setShowAutocompleteResults(false) 478 484 }, [setQuery]) 479 485 const onChangeText = React.useCallback( 480 486 async (text: string) => { 487 + scrollToTopWeb() 481 488 setQuery(text) 482 489 483 490 if (text.length > 0) { ··· 506 513 [setQuery, search, setSearchResults], 507 514 ) 508 515 const onSubmit = React.useCallback(() => { 516 + scrollToTopWeb() 509 517 setShowAutocompleteResults(false) 510 518 }, [setShowAutocompleteResults]) 511 519 512 520 const onSoftReset = React.useCallback(() => { 521 + scrollToTopWeb() 513 522 onPressCancelSearch() 514 523 }, [onPressCancelSearch]) 515 524 ··· 526 535 ) 527 536 528 537 return ( 529 - <View style={{flex: 1}}> 538 + <View style={isWeb ? null : {flex: 1}}> 530 539 <CenteredView 531 540 style={[ 532 541 styles.header, 533 542 pal.border, 543 + pal.view, 534 544 isTabletOrDesktop && {paddingTop: 10}, 535 545 ]} 536 546 sideBorders={isTabletOrDesktop}> ··· 661 671 ) 662 672 } 663 673 674 + function scrollToTopWeb() { 675 + if (isWeb) { 676 + window.scrollTo(0, 0) 677 + } 678 + } 679 + 680 + const HEADER_HEIGHT = 50 681 + 664 682 const styles = StyleSheet.create({ 665 683 header: { 666 684 flexDirection: 'row', 667 685 alignItems: 'center', 668 686 paddingHorizontal: 12, 669 687 paddingVertical: 4, 688 + height: HEADER_HEIGHT, 689 + // @ts-ignore web only 690 + position: isWeb ? 'sticky' : '', 691 + top: 0, 692 + zIndex: 1, 670 693 }, 671 694 headerMenuBtn: { 672 695 width: 30, ··· 695 718 }, 696 719 headerCancelBtn: { 697 720 paddingLeft: 10, 721 + }, 722 + tabBarContainer: { 723 + // @ts-ignore web only 724 + position: isWeb ? 'sticky' : '', 725 + top: isWeb ? HEADER_HEIGHT : 0, 726 + zIndex: 1, 698 727 }, 699 728 })
+6 -2
src/view/shell/Composer.web.tsx
··· 5 5 import {useComposerState} from 'state/shell/composer' 6 6 import {usePalette} from 'lib/hooks/usePalette' 7 7 import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' 8 + import {useWebBodyScrollLock} from '#/lib/hooks/useWebBodyScrollLock' 8 9 import { 9 10 EmojiPicker, 10 11 EmojiPickerState, ··· 16 17 const pal = usePalette('default') 17 18 const {isMobile} = useWebMediaQueries() 18 19 const state = useComposerState() 20 + const isActive = !!state 21 + useWebBodyScrollLock(isActive) 19 22 20 23 const [pickerState, setPickerState] = React.useState<EmojiPickerState>({ 21 24 isOpen: false, ··· 40 43 // rendering 41 44 // = 42 45 43 - if (!state) { 46 + if (!isActive) { 44 47 return <View /> 45 48 } 46 49 ··· 75 78 76 79 const styles = StyleSheet.create({ 77 80 mask: { 78 - position: 'absolute', 81 + // @ts-ignore 82 + position: 'fixed', 79 83 top: 0, 80 84 left: 0, 81 85 width: '100%',
+4
src/view/shell/bottom-bar/BottomBarStyles.tsx
··· 12 12 paddingLeft: 5, 13 13 paddingRight: 10, 14 14 }, 15 + bottomBarWeb: { 16 + // @ts-ignore web-only 17 + position: 'fixed', 18 + }, 15 19 ctrl: { 16 20 flex: 1, 17 21 paddingTop: 13,
+1
src/view/shell/bottom-bar/BottomBarWeb.tsx
··· 57 57 <Animated.View 58 58 style={[ 59 59 styles.bottomBar, 60 + styles.bottomBarWeb, 60 61 pal.view, 61 62 pal.border, 62 63 {paddingBottom: clamp(safeAreaInsets.bottom, 15, 30)},
+3 -2
src/view/shell/desktop/LeftNav.tsx
··· 442 442 443 443 const styles = StyleSheet.create({ 444 444 leftNav: { 445 - position: 'absolute', 445 + // @ts-ignore web only 446 + position: 'fixed', 446 447 top: 10, 447 448 // @ts-ignore web only 448 - right: 'calc(50vw + 312px)', 449 + left: 'calc(50vw - 300px - 220px - 20px)', 449 450 width: 220, 450 451 // @ts-ignore web only 451 452 maxHeight: 'calc(100vh - 10px)',
+3 -2
src/view/shell/desktop/RightNav.tsx
··· 177 177 178 178 const styles = StyleSheet.create({ 179 179 rightNav: { 180 - position: 'absolute', 180 + // @ts-ignore web only 181 + position: 'fixed', 181 182 // @ts-ignore web only 182 - left: 'calc(50vw + 320px)', 183 + left: 'calc(50vw + 300px + 20px)', 183 184 width: 300, 184 185 maxHeight: '100%', 185 186 overflowY: 'auto',
+11 -9
src/view/shell/index.web.tsx
··· 15 15 import {t} from '@lingui/macro' 16 16 import {useIsDrawerOpen, useSetDrawerOpen} from '#/state/shell' 17 17 import {useCloseAllActiveElements} from '#/state/util' 18 + import {useWebBodyScrollLock} from '#/lib/hooks/useWebBodyScrollLock' 18 19 import {Outlet as PortalOutlet} from '#/components/Portal' 19 20 20 21 function ShellInner() { ··· 24 25 const navigator = useNavigation<NavigationProp>() 25 26 const closeAllActiveElements = useCloseAllActiveElements() 26 27 28 + useWebBodyScrollLock(isDrawerOpen) 27 29 useAuxClick() 28 30 29 31 useEffect(() => { ··· 34 36 }, [navigator, closeAllActiveElements]) 35 37 36 38 return ( 37 - <View style={[s.hContentRegion, {overflow: 'hidden'}]}> 38 - <View style={s.hContentRegion}> 39 - <ErrorBoundary> 40 - <FlatNavigator /> 41 - </ErrorBoundary> 42 - </View> 39 + <> 40 + <ErrorBoundary> 41 + <FlatNavigator /> 42 + </ErrorBoundary> 43 43 <Composer winHeight={0} /> 44 44 <ModalsContainer /> 45 45 <PortalOutlet /> ··· 55 55 </View> 56 56 </TouchableOpacity> 57 57 )} 58 - </View> 58 + </> 59 59 ) 60 60 } 61 61 ··· 78 78 backgroundColor: colors.black, // TODO 79 79 }, 80 80 drawerMask: { 81 - position: 'absolute', 81 + // @ts-ignore web only 82 + position: 'fixed', 82 83 width: '100%', 83 84 height: '100%', 84 85 top: 0, ··· 87 88 }, 88 89 drawerContainer: { 89 90 display: 'flex', 90 - position: 'absolute', 91 + // @ts-ignore web only 92 + position: 'fixed', 91 93 top: 0, 92 94 left: 0, 93 95 height: '100%',
+1 -1
web/index.html
··· 37 37 } 38 38 39 39 html { 40 - scroll-behavior: smooth; 41 40 /* Prevent text size change on orientation change https://gist.github.com/tfausak/2222823#file-ios-8-web-app-html-L138 */ 42 41 -webkit-text-size-adjust: 100%; 43 42 height: calc(100% + env(safe-area-inset-top)); 43 + scrollbar-gutter: stable; 44 44 } 45 45 46 46 /* Remove autofill styles on Webkit */
+7
yarn.lock
··· 7525 7525 dependencies: 7526 7526 "@types/react" "*" 7527 7527 7528 + "@types/react-dom@^18.2.18": 7529 + version "18.2.18" 7530 + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.18.tgz#16946e6cd43971256d874bc3d0a72074bb8571dd" 7531 + integrity sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw== 7532 + dependencies: 7533 + "@types/react" "*" 7534 + 7528 7535 "@types/react-responsive@^8.0.5": 7529 7536 version "8.0.5" 7530 7537 resolved "https://registry.yarnpkg.com/@types/react-responsive/-/react-responsive-8.0.5.tgz#77769862d2a0711434feb972be08e3e6c334440a"