diff --git a/bskyweb/templates/base.html b/bskyweb/templates/base.html index 50dbaa24..228c3d89 100644 --- a/bskyweb/templates/base.html +++ b/bskyweb/templates/base.html @@ -33,10 +33,10 @@ } html { - scroll-behavior: smooth; /* Prevent text size change on orientation change https://gist.github.com/tfausak/2222823#file-ios-8-web-app-html-L138 */ -webkit-text-size-adjust: 100%; height: calc(100% + env(safe-area-inset-top)); + scrollbar-gutter: stable both-edges; } /* Remove autofill styles on Webkit */ diff --git a/package.json b/package.json index 40e2a19f..17677fb9 100644 --- a/package.json +++ b/package.json @@ -206,6 +206,7 @@ "@types/lodash.shuffle": "^4.2.7", "@types/psl": "^1.1.1", "@types/react-avatar-editor": "^13.0.0", + "@types/react-dom": "^18.2.18", "@types/react-responsive": "^8.0.5", "@types/react-test-renderer": "^17.0.1", "@typescript-eslint/eslint-plugin": "^5.48.2", diff --git a/src/Navigation.tsx b/src/Navigation.tsx index 3689cfc9..35d8dff7 100644 --- a/src/Navigation.tsx +++ b/src/Navigation.tsx @@ -39,6 +39,7 @@ import { setEmailConfirmationRequested, } from './state/shell/reminders' import {init as initAnalytics} from './lib/analytics/analytics' +import {useWebScrollRestoration} from './lib/hooks/useWebScrollRestoration' import {HomeScreen} from './view/screens/Home' import {SearchScreen} from './view/screens/Search' @@ -413,10 +414,12 @@ function MyProfileTabNavigator() { const FlatNavigator = () => { const pal = usePalette('default') const numUnread = useUnreadNotifications() - + const screenListeners = useWebScrollRestoration() const title = (page: MessageDescriptor) => bskyTitle(i18n._(page), numUnread) + return ( { + if (!isWeb || !isLockActive) { + return + } + incrementRefCount() + return () => decrementRefCount() + }) +} diff --git a/src/lib/hooks/useWebScrollRestoration.native.ts b/src/lib/hooks/useWebScrollRestoration.native.ts new file mode 100644 index 00000000..c7d96607 --- /dev/null +++ b/src/lib/hooks/useWebScrollRestoration.native.ts @@ -0,0 +1,3 @@ +export function useWebScrollRestoration() { + return undefined +} diff --git a/src/lib/hooks/useWebScrollRestoration.ts b/src/lib/hooks/useWebScrollRestoration.ts new file mode 100644 index 00000000..f68fbf0f --- /dev/null +++ b/src/lib/hooks/useWebScrollRestoration.ts @@ -0,0 +1,52 @@ +import {useMemo, useState, useEffect} from 'react' +import {EventArg, useNavigation} from '@react-navigation/core' + +if ('scrollRestoration' in history) { + // Tell the brower not to mess with the scroll. + // We're doing that manually below. + history.scrollRestoration = 'manual' +} + +function createInitialScrollState() { + return { + scrollYs: new Map(), + focusedKey: null as string | null, + } +} + +export function useWebScrollRestoration() { + const [state] = useState(createInitialScrollState) + const navigation = useNavigation() + + useEffect(() => { + function onDispatch() { + if (state.focusedKey) { + // Remember where we were for later. + state.scrollYs.set(state.focusedKey, window.scrollY) + // TODO: Strictly speaking, this is a leak. We never clean up. + // This is because I'm not sure when it's appropriate to clean it up. + // It doesn't seem like popstate is enough because it can still Forward-Back again. + // Maybe we should use sessionStorage. Or check what Next.js is doing? + } + } + // We want to intercept any push/pop/replace *before* the re-render. + // There is no official way to do this yet, but this works okay for now. + // https://twitter.com/satya164/status/1737301243519725803 + navigation.addListener('__unsafe_action__' as any, onDispatch) + return () => { + navigation.removeListener('__unsafe_action__' as any, onDispatch) + } + }, [state, navigation]) + + const screenListeners = useMemo( + () => ({ + focus(e: EventArg<'focus', boolean | undefined, unknown>) { + const scrollY = state.scrollYs.get(e.target) ?? 0 + window.scrollTo(0, scrollY) + state.focusedKey = e.target ?? null + }, + }), + [state], + ) + return screenListeners +} diff --git a/src/lib/styles.ts b/src/lib/styles.ts index 5a10fea8..df9b4926 100644 --- a/src/lib/styles.ts +++ b/src/lib/styles.ts @@ -1,6 +1,6 @@ import {Dimensions, StyleProp, StyleSheet, TextStyle} from 'react-native' import {Theme, TypographyVariant} from './ThemeContext' -import {isMobileWeb} from 'platform/detection' +import {isWeb} from 'platform/detection' // 1 is lightest, 2 is light, 3 is mid, 4 is dark, 5 is darkest export const colors = { @@ -175,7 +175,7 @@ export const s = StyleSheet.create({ // dimensions w100pct: {width: '100%'}, h100pct: {height: '100%'}, - hContentRegion: isMobileWeb ? {flex: 1} : {height: '100%'}, + hContentRegion: isWeb ? {minHeight: '100%'} : {height: '100%'}, window: { width: Dimensions.get('window').width, height: Dimensions.get('window').height, diff --git a/src/locale/locales/ja/messages.po b/src/locale/locales/ja/messages.po index 0c27d80d..96dd51ed 100644 --- a/src/locale/locales/ja/messages.po +++ b/src/locale/locales/ja/messages.po @@ -15,7 +15,7 @@ msgstr "" #: src/view/com/modals/VerifyEmail.tsx:142 msgid "(no email)" -msgstr "" +msgstr "メールがありません" #: src/view/shell/desktop/RightNav.tsx:168 msgid "{0, plural, one {# invite code available} other {# invite codes available}}" @@ -32,7 +32,7 @@ msgstr "{0, plural, other {# 個の招待コードが利用可能}}" #: src/view/com/profile/ProfileHeader.tsx:632 msgid "{following} following" -msgstr "" +msgstr "{following}人をフォロー中" #: src/view/shell/desktop/RightNav.tsx:151 msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}" @@ -54,11 +54,11 @@ msgstr "{invitesAvailable}個の招待コードが利用可能" #: src/view/shell/Drawer.tsx:443 msgid "{numUnreadNotifications} unread" -msgstr "" +msgstr "{numUnreadNotifications}件の未読" #: src/Navigation.tsx:147 #~ msgid "@{0}" -#~ msgstr "" +#~ msgstr "@{0}" #: src/view/com/threadgate/WhoCanReply.tsx:158 msgid "<0/> members" @@ -66,7 +66,7 @@ msgstr "<0/>のメンバー" #: src/view/com/profile/ProfileHeader.tsx:634 msgid "<0>{following} <1>following" -msgstr "" +msgstr "<0>{following}<1>人をフォロー中" #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30 msgid "<0>Choose your<1>Recommended<2>Feeds" @@ -78,15 +78,15 @@ msgstr "<1>おすすめの<2>ユーザー<0>をフォロー" #: src/view/com/auth/onboarding/WelcomeDesktop.tsx:21 msgid "<0>Welcome to<1>Bluesky" -msgstr "" +msgstr "<1>Bluesky<0>へようこそ" #: src/view/com/profile/ProfileHeader.tsx:597 msgid "⚠Invalid Handle" -msgstr "" +msgstr "⚠不正なハンドル" #: src/view/com/util/moderation/LabelInfo.tsx:45 msgid "A content warning has been applied to this {0}." -msgstr "" +msgstr "この{0}にコンテンツの警告が適用されています。" #: src/lib/hooks/useOTAUpdate.ts:16 msgid "A new version of the app is available. Please update to continue using the app." @@ -95,11 +95,11 @@ msgstr "新しいバージョンのアプリが利用可能です。継続して #: src/view/com/util/ViewHeader.tsx:83 #: src/view/screens/Search/Search.tsx:545 msgid "Access navigation links and settings" -msgstr "" +msgstr "ナビゲーションリンクと設定にアクセス" #: src/view/com/pager/FeedsTabBarMobile.tsx:83 msgid "Access profile and other navigation links" -msgstr "" +msgstr "プロフィールと他のナビゲーションリンクにアクセス" #: src/view/com/modals/EditImage.tsx:299 #: src/view/screens/Settings.tsx:445 @@ -113,19 +113,19 @@ msgstr "アカウント" #: src/view/com/profile/ProfileHeader.tsx:293 msgid "Account blocked" -msgstr "" +msgstr "アカウントをブロックしました" #: src/view/com/profile/ProfileHeader.tsx:260 msgid "Account muted" -msgstr "" +msgstr "アカウントをミュートしました" #: src/view/com/modals/ModerationDetails.tsx:86 msgid "Account Muted" -msgstr "" +msgstr "ミュート中のアカウント" #: src/view/com/modals/ModerationDetails.tsx:72 msgid "Account Muted by List" -msgstr "" +msgstr "リストによってミュート中のアカウント" #: src/view/com/util/AccountDropdownBtn.tsx:41 msgid "Account options" @@ -133,15 +133,15 @@ msgstr "アカウントオプション" #: src/view/com/util/AccountDropdownBtn.tsx:25 msgid "Account removed from quick access" -msgstr "" +msgstr "クイックアクセスからアカウントを解除" #: src/view/com/profile/ProfileHeader.tsx:315 msgid "Account unblocked" -msgstr "" +msgstr "アカウントのブロックを解除しました" #: src/view/com/profile/ProfileHeader.tsx:273 msgid "Account unmuted" -msgstr "" +msgstr "アカウントのミュートを解除しました" #: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150 #: src/view/com/modals/ListAddRemoveUsers.tsx:264 @@ -173,7 +173,7 @@ msgstr "ALTテキストを追加" #: src/view/screens/AppPasswords.tsx:143 #: src/view/screens/AppPasswords.tsx:156 msgid "Add App Password" -msgstr "" +msgstr "アプリパスワードを追加" #: src/view/com/modals/report/InputIssueDetails.tsx:41 #: src/view/com/modals/report/Modal.tsx:191 @@ -207,7 +207,7 @@ msgstr "マイフィードに追加" #: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:139 msgid "Added" -msgstr "" +msgstr "追加済み" #: src/view/com/modals/ListAddRemoveUsers.tsx:191 #: src/view/com/modals/UserAddRemoveLists.tsx:128 @@ -216,7 +216,7 @@ msgstr "リストに追加" #: src/view/com/feeds/FeedSourceCard.tsx:125 msgid "Added to my feeds" -msgstr "" +msgstr "マイフィードに追加" #: src/view/screens/PreferencesHomeFeed.tsx:173 msgid "Adjust the number of likes a reply must have to be shown in your feed." @@ -228,7 +228,7 @@ msgstr "成人向けコンテンツ" #: src/view/com/modals/ContentFilteringSettings.tsx:137 msgid "Adult content can only be enabled via the Web at <0/>." -msgstr "" +msgstr "成人向けコンテンツを有効にするには、ウェブで<0/>にアクセスする必要があります。" #: src/view/screens/Settings.tsx:630 msgid "Advanced" @@ -236,7 +236,7 @@ msgstr "高度な設定" #: src/view/com/auth/login/ChooseAccountForm.tsx:98 msgid "Already signed in as @{0}" -msgstr "" +msgstr "@{0}としてすでにサインイン済み" #: src/view/com/composer/photos/Gallery.tsx:130 msgid "ALT" @@ -261,7 +261,7 @@ msgstr "以前のメールアドレス{0}にメールが送信されました。 #: src/view/com/profile/FollowButton.tsx:30 #: src/view/com/profile/FollowButton.tsx:40 msgid "An issue occurred, please try again." -msgstr "" +msgstr "問題が発生しました。もう一度お試しください。" #: src/view/com/notifications/FeedItem.tsx:240 #: src/view/com/threadgate/WhoCanReply.tsx:178 @@ -274,19 +274,19 @@ msgstr "アプリの言語" #: src/view/screens/AppPasswords.tsx:228 msgid "App password deleted" -msgstr "" +msgstr "アプリパスワードを削除しました" #: src/view/com/modals/AddAppPasswords.tsx:133 msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores." -msgstr "" +msgstr "アプリパスワードの名前には、英数字、スペース、ハイフン、アンダースコアのみが使用可能です。" #: src/view/com/modals/AddAppPasswords.tsx:98 msgid "App Password names must be at least 4 characters long." -msgstr "" +msgstr "アプリパスワードの名前は長さが4文字以上である必要があります。" #: src/view/screens/Settings.tsx:641 msgid "App password settings" -msgstr "" +msgstr "アプリパスワードの設定" #: src/view/screens/Settings.tsx:650 msgid "App passwords" @@ -299,15 +299,15 @@ msgstr "アプリパスワード" #: src/view/com/util/forms/PostDropdownBtn.tsx:248 msgid "Appeal content warning" -msgstr "" +msgstr "コンテンツの警告に異議を申し立てる" #: src/view/com/modals/AppealLabel.tsx:65 msgid "Appeal Content Warning" -msgstr "" +msgstr "コンテンツの警告に異議を申し立てる" #: src/view/com/modals/AppealLabel.tsx:65 #~ msgid "Appeal Decision" -#~ msgstr "判断に異議" +#~ msgstr "判断に異議を申し立てる" #: src/view/com/util/moderation/LabelInfo.tsx:52 msgid "Appeal this decision" @@ -323,7 +323,7 @@ msgstr "外観" #: src/view/screens/AppPasswords.tsx:224 msgid "Are you sure you want to delete the app password \"{name}\"?" -msgstr "本当にアプリパスワード「{name}」を削除しますか?" +msgstr "アプリパスワード「{name}」を本当に削除しますか?" #: src/view/com/composer/Composer.tsx:143 msgid "Are you sure you'd like to discard this draft?" @@ -339,7 +339,7 @@ msgstr "本当によろしいですか?これは元に戻せません。" #: src/view/com/composer/select-language/SuggestedLanguage.tsx:65 msgid "Are you writing in <0>{0}?" -msgstr "" +msgstr "<0>{0}で書かれた投稿ですか?" #: src/view/com/modals/SelfLabel.tsx:123 msgid "Artistic or non-erotic nudity." @@ -362,7 +362,7 @@ msgstr "戻る" #: src/view/com/post-thread/PostThread.tsx:400 msgctxt "action" msgid "Back" -msgstr "" +msgstr "戻る" #: src/view/screens/Settings.tsx:489 msgid "Basics" @@ -396,12 +396,12 @@ msgstr "これらのアカウントをブロックしますか?" #: src/view/screens/ProfileList.tsx:319 msgid "Block this List" -msgstr "" +msgstr "このリストをブロック" #: src/view/com/lists/ListCard.tsx:109 #: src/view/com/util/post-embeds/QuoteEmbed.tsx:60 msgid "Blocked" -msgstr "" +msgstr "ブロックされています" #: src/view/screens/Moderation.tsx:123 msgid "Blocked accounts" @@ -473,23 +473,23 @@ msgstr "ビジネス" #: src/view/com/modals/ServerInput.tsx:115 msgid "Button disabled. Input custom domain to proceed." -msgstr "" +msgstr "ボタンは無効です。続けるためにはカスタムドメインを入力してください。" #: src/view/com/profile/ProfileSubpageHeader.tsx:157 msgid "by —" -msgstr "" +msgstr "作成者:-" #: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:100 msgid "by {0}" -msgstr "" +msgstr "作成者:{0}" #: src/view/com/profile/ProfileSubpageHeader.tsx:161 msgid "by <0/>" -msgstr "" +msgstr "作成者:<0/>" #: src/view/com/profile/ProfileSubpageHeader.tsx:159 msgid "by you" -msgstr "" +msgstr "作成者:あなた" #: src/view/com/composer/photos/OpenCameraBtn.tsx:60 #: src/view/com/util/UserAvatar.tsx:221 @@ -499,7 +499,7 @@ msgstr "カメラ" #: src/view/com/modals/AddAppPasswords.tsx:218 msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long." -msgstr "文字、数字、スペース、ハイフン、およびアンダースコアのみが使用可能です。長さは4文字以上32文字以下である必要があります。" +msgstr "英数字、スペース、ハイフン、アンダースコアのみが使用可能です。長さは4文字以上32文字以下である必要があります。" #: src/components/Prompt.tsx:92 #: src/view/com/composer/Composer.tsx:300 @@ -527,7 +527,7 @@ msgstr "キャンセル" #: src/view/com/modals/DeleteAccount.tsx:230 msgctxt "action" msgid "Cancel" -msgstr "" +msgstr "キャンセル" #: src/view/com/modals/DeleteAccount.tsx:148 #: src/view/com/modals/DeleteAccount.tsx:226 @@ -566,7 +566,7 @@ msgstr "Waitlistの登録をキャンセル" #: src/view/screens/Settings.tsx:334 msgctxt "action" msgid "Change" -msgstr "" +msgstr "変更" #: src/view/screens/Settings.tsx:306 #~ msgid "Change" @@ -587,7 +587,7 @@ msgstr "メールアドレスを変更" #: src/view/com/composer/select-language/SuggestedLanguage.tsx:78 msgid "Change post language to {0}" -msgstr "" +msgstr "投稿の言語を{0}に変更します" #: src/view/com/modals/ChangeEmail.tsx:109 msgid "Change Your Email" @@ -607,11 +607,11 @@ msgstr "入力したメールアドレスの受信トレイを確認して、以 #: src/view/com/modals/Threadgate.tsx:72 msgid "Choose \"Everybody\" or \"Nobody\"" -msgstr "「全員」と「返信不可」のどちらかを選択" +msgstr "「全員」か「返信不可」のどちらかを選択" #: src/view/screens/Settings.tsx:663 msgid "Choose a new Bluesky username or create" -msgstr "" +msgstr "Blueskyの別のユーザー名を選択するか、新規に作成します" #: src/view/com/modals/ServerInput.tsx:38 msgid "Choose Service" @@ -651,11 +651,11 @@ msgstr "検索クエリをクリア" #: src/view/screens/Support.tsx:40 msgid "click here" -msgstr "" +msgstr "こちらをクリック" #: src/components/Dialog/index.web.tsx:78 msgid "Close active dialog" -msgstr "" +msgstr "アクティブなダイアログを閉じる" #: src/view/com/auth/login/PasswordUpdatedForm.tsx:38 msgid "Close alert" @@ -679,23 +679,23 @@ msgstr "ナビゲーションフッターを閉じる" #: src/view/shell/index.web.tsx:52 msgid "Closes bottom navigation bar" -msgstr "" +msgstr "下部のナビゲーションバーを閉じる" #: src/view/com/auth/login/PasswordUpdatedForm.tsx:39 msgid "Closes password update alert" -msgstr "" +msgstr "パスワード更新アラートを閉じる" #: src/view/com/composer/Composer.tsx:302 msgid "Closes post composer and discards post draft" -msgstr "" +msgstr "投稿の編集画面を閉じ、下書きを削除する" #: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27 msgid "Closes viewer for header image" -msgstr "" +msgstr "ヘッダー画像のビューワーを閉じる" #: src/view/com/notifications/FeedItem.tsx:321 msgid "Collapses list of users for a given notification" -msgstr "" +msgstr "指定した通知のユーザーリストを折りたたむ" #: src/Navigation.tsx:227 #: src/view/screens/CommunityGuidelines.tsx:32 @@ -704,7 +704,7 @@ msgstr "コミュニティガイドライン" #: src/view/com/composer/Composer.tsx:417 msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length" -msgstr "" +msgstr "{MAX_GRAPHEME_LENGTH}文字までの投稿を作成" #: src/view/com/composer/Prompt.tsx:24 msgid "Compose reply" @@ -724,7 +724,7 @@ msgstr "確認" #: src/view/com/modals/Confirm.tsx:78 msgctxt "action" msgid "Confirm" -msgstr "" +msgstr "確認" #: src/view/com/modals/ChangeEmail.tsx:193 #: src/view/com/modals/ChangeEmail.tsx:195 @@ -741,7 +741,7 @@ msgstr "アカウントの削除を確認" #: src/view/com/modals/ContentFilteringSettings.tsx:151 msgid "Confirm your age to enable adult content." -msgstr "" +msgstr "成人向けコンテンツを有効にするために年齢を確認してください。" #: src/view/com/modals/ChangeEmail.tsx:157 #: src/view/com/modals/DeleteAccount.tsx:178 @@ -751,7 +751,7 @@ msgstr "確認コード" #: src/view/com/modals/Waitlist.tsx:120 msgid "Confirms signing up {email} to the waitlist" -msgstr "" +msgstr "{email}のWaitlistへの登録を確認" #: src/view/com/auth/create/CreateAccount.tsx:175 #: src/view/com/auth/login/LoginForm.tsx:275 @@ -760,7 +760,7 @@ msgstr "接続中..." #: src/view/com/auth/create/CreateAccount.tsx:195 msgid "Contact support" -msgstr "" +msgstr "サポートに連絡" #: src/view/screens/Moderation.tsx:81 msgid "Content filtering" @@ -777,7 +777,7 @@ msgstr "コンテンツの言語" #: src/view/com/modals/ModerationDetails.tsx:65 msgid "Content Not Available" -msgstr "" +msgstr "コンテンツはありません" #: src/view/com/modals/ModerationDetails.tsx:33 #: src/view/com/util/moderation/ScreenHider.tsx:78 @@ -800,17 +800,17 @@ msgstr "コピーしました" #: src/view/screens/Settings.tsx:243 msgid "Copied build version to clipboard" -msgstr "" +msgstr "ビルドバージョンをクリップボードにコピーしました" #: src/view/com/modals/AddAppPasswords.tsx:75 #: src/view/com/modals/InviteCodes.tsx:152 #: src/view/com/util/forms/PostDropdownBtn.tsx:110 msgid "Copied to clipboard" -msgstr "" +msgstr "クリップボードにコピーしました" #: src/view/com/modals/AddAppPasswords.tsx:191 msgid "Copies app password" -msgstr "" +msgstr "アプリパスワードをコピーします" #: src/view/com/modals/AddAppPasswords.tsx:190 msgid "Copy" @@ -847,7 +847,7 @@ msgstr "リストのロードに失敗しました" #: src/view/com/auth/create/Step2.tsx:89 msgid "Country" -msgstr "" +msgstr "国" #: src/view/com/auth/HomeLoggedOutCTA.tsx:62 #: src/view/com/auth/SplashScreen.tsx:46 @@ -857,7 +857,7 @@ msgstr "新しいアカウントを作成" #: src/view/screens/Settings.tsx:384 msgid "Create a new Bluesky account" -msgstr "" +msgstr "新しいBlueskyアカウントを作成" #: src/view/com/auth/create/CreateAccount.tsx:122 msgid "Create Account" @@ -865,7 +865,7 @@ msgstr "アカウントを作成" #: src/view/com/modals/AddAppPasswords.tsx:228 msgid "Create App Password" -msgstr "" +msgstr "アプリパスワードを作成" #: src/view/com/auth/HomeLoggedOutCTA.tsx:54 #: src/view/com/auth/SplashScreen.tsx:43 @@ -874,19 +874,19 @@ msgstr "新しいアカウントを作成" #: src/view/screens/AppPasswords.tsx:249 msgid "Created {0}" -msgstr "作成済み {0}" +msgstr "{0}を作成済み" #: src/view/screens/ProfileFeed.tsx:625 msgid "Created by <0/>" -msgstr "" +msgstr "作成者:<0/>" #: src/view/screens/ProfileFeed.tsx:623 msgid "Created by you" -msgstr "" +msgstr "作成者:あなた" #: src/view/com/composer/Composer.tsx:448 msgid "Creates a card with a thumbnail. The card links to {url}" -msgstr "" +msgstr "サムネイル付きのカードを作成します。そのカードは次のアドレスへリンクします:{url}" #: src/view/com/modals/ChangeHandle.tsx:389 #: src/view/com/modals/ServerInput.tsx:102 @@ -895,7 +895,7 @@ msgstr "カスタムドメイン" #: src/view/screens/PreferencesExternalEmbeds.tsx:55 msgid "Customize media from external sites." -msgstr "" +msgstr "外部サイトのメディアをカスタマイズします。" #: src/view/screens/Settings.tsx:687 msgid "Danger Zone" @@ -903,19 +903,19 @@ msgstr "危険地帯" #: src/view/screens/Settings.tsx:479 msgid "Dark" -msgstr "" +msgstr "ダーク" #: src/view/screens/Debug.tsx:63 msgid "Dark mode" -msgstr "" +msgstr "ダークモード" #: src/Navigation.tsx:204 #~ msgid "Debug" -#~ msgstr "" +#~ msgstr "デバッグ" #: src/view/screens/Debug.tsx:83 msgid "Debug panel" -msgstr "" +msgstr "デバッグパネル" #: src/view/screens/Settings.tsx:694 msgid "Delete account" @@ -953,7 +953,7 @@ msgstr "この投稿を削除しますか?" #: src/view/com/util/post-embeds/QuoteEmbed.tsx:69 msgid "Deleted" -msgstr "" +msgstr "削除されています" #: src/view/com/post-thread/PostThread.tsx:246 msgid "Deleted post." @@ -976,7 +976,7 @@ msgstr "開発者ツール" #: src/view/com/composer/Composer.tsx:211 msgid "Did you want to say anything?" -msgstr "" +msgstr "なにか言いたいことはあった?" #: src/view/com/composer/Composer.tsx:144 msgid "Discard" @@ -993,7 +993,7 @@ msgstr "アプリがログアウトしたユーザーに自分のアカウント #: src/view/com/posts/FollowingEmptyState.tsx:74 #: src/view/com/posts/FollowingEndOfFeed.tsx:75 msgid "Discover new custom feeds" -msgstr "" +msgstr "新しいカスタムフィードを見つける" #: src/view/screens/Feeds.tsx:409 msgid "Discover new feeds" @@ -1013,7 +1013,7 @@ msgstr "ドメインを確認しました!" #: src/view/com/auth/create/Step1.tsx:114 msgid "Don't have an invite code?" -msgstr "" +msgstr "招待コードをお持ちでない場合" #: src/view/com/auth/onboarding/RecommendedFollows.tsx:86 #: src/view/com/modals/EditImage.tsx:333 @@ -1026,7 +1026,7 @@ msgstr "" #: src/view/screens/PreferencesThreads.tsx:162 msgctxt "action" msgid "Done" -msgstr "" +msgstr "完了" #: src/view/com/modals/AddAppPasswords.tsx:228 #: src/view/com/modals/AltImage.tsx:115 @@ -1046,31 +1046,31 @@ msgstr "完了{extraText}" #: src/view/com/auth/login/ChooseAccountForm.tsx:45 msgid "Double tap to sign in" -msgstr "" +msgstr "ダブルタップでサインイン" #: src/view/com/modals/EditProfile.tsx:185 msgid "e.g. Alice Roberts" -msgstr "" +msgstr "例:山田 太郎" #: src/view/com/modals/EditProfile.tsx:203 msgid "e.g. Artist, dog-lover, and avid reader." -msgstr "" +msgstr "例:アーティスト、犬好き、熱烈な読書愛好家。" #: src/view/com/modals/CreateOrEditList.tsx:223 msgid "e.g. Great Posters" -msgstr "" +msgstr "例:重要な投稿をするユーザー" #: src/view/com/modals/CreateOrEditList.tsx:224 msgid "e.g. Spammers" -msgstr "" +msgstr "例:スパム" #: src/view/com/modals/CreateOrEditList.tsx:244 msgid "e.g. The posters who never miss." -msgstr "" +msgstr "例:絶対に投稿を見逃してはならないユーザー。" #: src/view/com/modals/CreateOrEditList.tsx:245 msgid "e.g. Users that repeatedly reply with ads." -msgstr "" +msgstr "例:返信として広告を繰り返し送ってくるユーザー。" #: src/view/com/modals/InviteCodes.tsx:96 msgid "Each code works once. You'll receive more invite codes periodically." @@ -1079,7 +1079,7 @@ msgstr "それぞれのコードは一度ずつ動作します。定期的に招 #: src/view/com/lists/ListMembers.tsx:149 msgctxt "action" msgid "Edit" -msgstr "" +msgstr "編集" #: src/view/com/composer/photos/Gallery.tsx:144 #: src/view/com/modals/EditImage.tsx:207 @@ -1092,7 +1092,7 @@ msgstr "リストの詳細を編集" #: src/view/com/modals/CreateOrEditList.tsx:192 msgid "Edit Moderation List" -msgstr "" +msgstr "モデレーションリストを編集" #: src/Navigation.tsx:242 #: src/view/screens/Feeds.tsx:371 @@ -1118,15 +1118,15 @@ msgstr "保存されたフィードを編集" #: src/view/com/modals/CreateOrEditList.tsx:187 msgid "Edit User List" -msgstr "" +msgstr "ユーザーリストを編集" #: src/view/com/modals/EditProfile.tsx:193 msgid "Edit your display name" -msgstr "" +msgstr "あなたの表示名を編集します" #: src/view/com/modals/EditProfile.tsx:211 msgid "Edit your profile description" -msgstr "" +msgstr "あなたのプロフィールの説明を編集します" #: src/view/com/auth/create/Step1.tsx:143 #: src/view/com/auth/create/Step2.tsx:192 @@ -1145,15 +1145,15 @@ msgstr "メールアドレス" #: src/view/com/modals/ChangeEmail.tsx:56 #: src/view/com/modals/ChangeEmail.tsx:88 msgid "Email updated" -msgstr "" +msgstr "メールアドレスは更新されました" #: src/view/com/modals/ChangeEmail.tsx:111 msgid "Email Updated" -msgstr "メールアドレスを更新" +msgstr "メールアドレスは更新されました" #: src/view/com/modals/VerifyEmail.tsx:78 msgid "Email verified" -msgstr "" +msgstr "メールアドレスは認証されました" #: src/view/screens/Settings.tsx:312 msgid "Email:" @@ -1161,19 +1161,19 @@ msgstr "メールアドレス:" #: src/view/com/modals/EmbedConsent.tsx:113 msgid "Enable {0} only" -msgstr "" +msgstr "{0}のみ有効にする" #: src/view/com/modals/ContentFilteringSettings.tsx:162 msgid "Enable Adult Content" -msgstr "" +msgstr "成人向けコンテンツを有効にする" #: src/view/com/modals/EmbedConsent.tsx:97 msgid "Enable External Media" -msgstr "" +msgstr "外部メディアを有効にする" #: src/view/screens/PreferencesExternalEmbeds.tsx:75 msgid "Enable media players for" -msgstr "" +msgstr "有効にするメディアプレイヤー" #: src/view/screens/PreferencesHomeFeed.tsx:147 msgid "Enable this setting to only see replies between people you follow." @@ -1185,11 +1185,11 @@ msgstr "フィードの終わり" #: src/view/com/modals/AddAppPasswords.tsx:165 msgid "Enter a name for this App Password" -msgstr "" +msgstr "このアプリパスワードの名前を入力" #: src/view/com/modals/VerifyEmail.tsx:105 msgid "Enter Confirmation Code" -msgstr "" +msgstr "確認コードを入力してください" #: src/view/com/auth/create/Step1.tsx:71 #~ msgid "Enter the address of your provider:" @@ -1206,11 +1206,11 @@ msgstr "アカウントの作成に使用したメールアドレスを入力し #: src/view/com/auth/create/Step1.tsx:195 #: src/view/com/modals/BirthDateSettings.tsx:74 msgid "Enter your birth date" -msgstr "" +msgstr "誕生日を入力してください" #: src/view/com/modals/Waitlist.tsx:78 msgid "Enter your email" -msgstr "" +msgstr "メールアドレスを入力してください" #: src/view/com/auth/create/Step1.tsx:139 msgid "Enter your email address" @@ -1218,7 +1218,7 @@ msgstr "メールアドレスを入力してください" #: src/view/com/modals/ChangeEmail.tsx:41 msgid "Enter your new email above" -msgstr "" +msgstr "上記に新しいメールアドレスを入力してください" #: src/view/com/modals/ChangeEmail.tsx:117 msgid "Enter your new email address below." @@ -1226,11 +1226,11 @@ msgstr "以下に新しいメールアドレスを入力してください。" #: src/view/com/auth/create/Step2.tsx:186 msgid "Enter your phone number" -msgstr "" +msgstr "電話番号を入力" #: src/view/com/auth/login/Login.tsx:99 msgid "Enter your username and password" -msgstr "ユーザー名とパスワードを入力" +msgstr "ユーザー名とパスワードを入力してください" #: src/view/screens/Search/Search.tsx:107 msgid "Error:" @@ -1242,20 +1242,20 @@ msgstr "全員" #: src/view/com/modals/ChangeHandle.tsx:150 msgid "Exits handle change process" -msgstr "" +msgstr "ハンドルの変更を終了" #: src/view/com/lightbox/Lightbox.web.tsx:113 msgid "Exits image view" -msgstr "" +msgstr "画像表示を終了" #: src/view/com/modals/ListAddRemoveUsers.tsx:88 #: src/view/shell/desktop/Search.tsx:235 msgid "Exits inputting search query" -msgstr "" +msgstr "検索クエリの入力を終了" #: src/view/com/modals/Waitlist.tsx:138 msgid "Exits signing up for waitlist with {email}" -msgstr "" +msgstr "{email}でWaitlistへの登録を終了" #: src/view/com/lightbox/Lightbox.web.tsx:156 msgid "Expand alt text" @@ -1264,39 +1264,39 @@ msgstr "ALTテキストを展開" #: src/view/com/composer/ComposerReplyTo.tsx:81 #: src/view/com/composer/ComposerReplyTo.tsx:84 msgid "Expand or collapse the full post you are replying to" -msgstr "" +msgstr "返信する投稿全体を展開または折りたたむ" #: src/view/com/modals/EmbedConsent.tsx:64 msgid "External Media" -msgstr "" +msgstr "外部メディア" #: src/view/com/modals/EmbedConsent.tsx:75 #: src/view/screens/PreferencesExternalEmbeds.tsx:66 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." -msgstr "" +msgstr "外部メディアを有効にすると、それらのメディアのウェブサイトがあなたやお使いのデバイスに関する情報を収集する場合があります。その場合でも、あなたが「再生」ボタンを押すまで情報は送信されず、要求もされません。" #: src/Navigation.tsx:258 #: src/view/screens/PreferencesExternalEmbeds.tsx:52 #: src/view/screens/Settings.tsx:623 msgid "External Media Preferences" -msgstr "" +msgstr "外部メディアの設定" #: src/view/screens/Settings.tsx:614 msgid "External media settings" -msgstr "" +msgstr "外部メディアの設定" #: src/view/com/modals/AddAppPasswords.tsx:114 #: src/view/com/modals/AddAppPasswords.tsx:118 msgid "Failed to create app password." -msgstr "" +msgstr "アプリパスワードの作成に失敗しました。" #: src/view/com/modals/CreateOrEditList.tsx:148 msgid "Failed to create the list. Check your internet connection and try again." -msgstr "" +msgstr "リストの作成に失敗しました。インターネットへの接続を確認の上、もう一度お試しください。" #: src/view/com/util/forms/PostDropdownBtn.tsx:86 msgid "Failed to delete post, please try again" -msgstr "" +msgstr "投稿の削除に失敗しました。もう一度お試しください。" #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:109 #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:141 @@ -1305,11 +1305,11 @@ msgstr "おすすめのフィードのロードに失敗しました" #: src/Navigation.tsx:192 msgid "Feed" -msgstr "" +msgstr "フィード" #: src/view/com/feeds/FeedSourceCard.tsx:229 msgid "Feed by {0}" -msgstr "" +msgstr "{0}によるフィード" #: src/view/screens/Feeds.tsx:560 msgid "Feed offline" @@ -1346,7 +1346,7 @@ msgstr "フィードはユーザーがプログラミングの専門知識を持 #: src/view/com/posts/FollowingEmptyState.tsx:57 #: src/view/com/posts/FollowingEndOfFeed.tsx:58 msgid "Find accounts to follow" -msgstr "" +msgstr "フォローするアカウントを探す" #: src/view/screens/Search/Search.tsx:429 msgid "Find users on Bluesky" @@ -1370,17 +1370,17 @@ msgstr "ディスカッションスレッドを微調整します。" #: src/view/com/modals/EditImage.tsx:115 msgid "Flip horizontal" -msgstr "" +msgstr "水平方向に反転" #: src/view/com/modals/EditImage.tsx:120 #: src/view/com/modals/EditImage.tsx:287 msgid "Flip vertically" -msgstr "" +msgstr "垂直方向に反転" #: src/view/com/profile/FollowButton.tsx:64 msgctxt "action" msgid "Follow" -msgstr "" +msgstr "フォロー" #: src/view/com/profile/ProfileHeader.tsx:552 msgid "Follow" @@ -1388,7 +1388,7 @@ msgstr "フォロー" #: src/view/com/profile/ProfileHeader.tsx:543 msgid "Follow {0}" -msgstr "" +msgstr "{0}をフォロー" #: src/view/com/auth/onboarding/RecommendedFollows.tsx:64 msgid "Follow some users to get started. We can recommend you more users based on who you find interesting." @@ -1396,7 +1396,7 @@ msgstr "何人かのユーザーをフォローして開始します。興味を #: src/view/com/profile/ProfileCard.tsx:194 msgid "Followed by {0}" -msgstr "" +msgstr "{0}がフォロー中" #: src/view/com/modals/Threadgate.tsx:98 msgid "Followed users" @@ -1408,7 +1408,7 @@ msgstr "自分がフォローしているユーザーのみ" #: src/view/com/notifications/FeedItem.tsx:166 msgid "followed you" -msgstr "" +msgstr "あなたをフォローしました" #: src/view/screens/ProfileFollowers.tsx:25 msgid "Followers" @@ -1425,7 +1425,7 @@ msgstr "フォロー中" #: src/view/com/profile/ProfileHeader.tsx:196 msgid "Following {0}" -msgstr "" +msgstr "{0}をフォローしています" #: src/view/com/profile/ProfileHeader.tsx:585 msgid "Follows you" @@ -1433,11 +1433,11 @@ msgstr "あなたをフォロー" #: src/view/com/profile/ProfileCard.tsx:141 msgid "Follows You" -msgstr "" +msgstr "あなたをフォロー" #: src/view/com/modals/DeleteAccount.tsx:107 msgid "For security reasons, we'll need to send a confirmation code to your email address." -msgstr "セキュリティ上の理由から、メールアドレスに確認コードを送信する必要があります。" +msgstr "セキュリティ上の理由から、あなたのメールアドレスに確認コードを送信する必要があります。" #: src/view/com/modals/AddAppPasswords.tsx:211 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,7 +1459,7 @@ msgstr "パスワードを忘れた" #: src/view/com/posts/FeedItem.tsx:188 msgctxt "from-feed" msgid "From <0/>" -msgstr "" +msgstr "<0/>から" #: src/view/com/composer/photos/SelectPhotoBtn.tsx:43 msgid "Gallery" @@ -1487,7 +1487,7 @@ msgstr "戻る" #: src/view/screens/Search/Search.tsx:640 #: src/view/shell/desktop/Search.tsx:262 msgid "Go to @{queryMaybeHandle}" -msgstr "" +msgstr "@{queryMaybeHandle}へ" #: src/view/com/auth/login/ForgotPasswordForm.tsx:185 #: src/view/com/auth/login/LoginForm.tsx:285 @@ -1501,7 +1501,7 @@ msgstr "ハンドル" #: src/view/com/auth/create/CreateAccount.tsx:190 msgid "Having trouble?" -msgstr "" +msgstr "何か問題が発生しましたか?" #: src/view/shell/desktop/RightNav.tsx:102 #: src/view/shell/Drawer.tsx:324 @@ -1516,7 +1516,7 @@ msgstr "アプリパスワードをお知らせします。" #: src/view/com/notifications/FeedItem.tsx:329 msgctxt "action" msgid "Hide" -msgstr "" +msgstr "非表示" #: src/view/com/modals/ContentFilteringSettings.tsx:246 #: src/view/com/util/moderation/ContentHider.tsx:105 @@ -1526,12 +1526,12 @@ msgstr "非表示" #: src/view/com/util/forms/PostDropdownBtn.tsx:185 msgid "Hide post" -msgstr "投稿を非表示にする" +msgstr "投稿を非表示" #: src/view/com/util/moderation/ContentHider.tsx:67 #: src/view/com/util/moderation/PostHider.tsx:61 msgid "Hide the content" -msgstr "" +msgstr "コンテンツを非表示" #: src/view/com/util/forms/PostDropdownBtn.tsx:189 msgid "Hide this post?" @@ -1543,7 +1543,7 @@ msgstr "ユーザーリストを非表示" #: src/view/com/profile/ProfileHeader.tsx:526 msgid "Hides posts from {0} in your feed" -msgstr "" +msgstr "{0}の投稿をあなたのフィードで非表示にします" #: src/view/com/posts/FeedErrorMessage.tsx:111 msgid "Hmm, some kind of issue occurred when contacting the feed server. Please let the feed owner know about this issue." @@ -1591,7 +1591,7 @@ msgstr "ホスティングプロバイダー" #: src/view/com/modals/InAppBrowserConsent.tsx:44 msgid "How should we open this link?" -msgstr "" +msgstr "このリンクをどのように開きますか?" #: src/view/com/modals/VerifyEmail.tsx:214 msgid "I have a code" @@ -1599,7 +1599,7 @@ msgstr "コードを持っています" #: src/view/com/modals/VerifyEmail.tsx:216 msgid "I have a confirmation code" -msgstr "" +msgstr "確認コードを持っています" #: src/view/com/modals/ChangeHandle.tsx:283 msgid "I have my own domain" @@ -1607,7 +1607,7 @@ msgstr "自分のドメインを持っています" #: src/view/com/lightbox/Lightbox.web.tsx:158 msgid "If alt text is long, toggles alt text expanded state" -msgstr "" +msgstr "ALTテキストが長い場合、ALTテキストの展開状態を切り替える" #: src/view/com/modals/SelfLabel.tsx:127 msgid "If none are selected, suitable for all ages." @@ -1615,7 +1615,7 @@ msgstr "選択されていない場合は、すべての年齢に適していま #: src/view/com/util/images/Gallery.tsx:37 msgid "Image" -msgstr "" +msgstr "画像" #: src/view/com/modals/AltImage.tsx:97 msgid "Image alt text" @@ -1628,71 +1628,71 @@ msgstr "画像のオプション" #: src/view/com/auth/login/SetNewPasswordForm.tsx:110 msgid "Input code sent to your email for password reset" -msgstr "" +msgstr "パスワードをリセットするためにあなたのメールアドレスに送られたコードを入力" #: src/view/com/modals/DeleteAccount.tsx:180 msgid "Input confirmation code for account deletion" -msgstr "" +msgstr "アカウント削除のために確認コードを入力" #: src/view/com/auth/create/Step1.tsx:144 msgid "Input email for Bluesky account" -msgstr "" +msgstr "Blueskyアカウント用のメールアドレスを入力してください" #: src/view/com/auth/create/Step2.tsx:109 #~ msgid "Input email for Bluesky waitlist" -#~ msgstr "" +#~ msgstr "BlueskyのWaitlistのためのメールアドレスを入力" #: src/view/com/auth/create/Step1.tsx:80 #~ msgid "Input hosting provider address" -#~ msgstr "" +#~ msgstr "ホスティングプロバイダーのアドレスを入力" #: src/view/com/auth/create/Step1.tsx:102 msgid "Input invite code to proceed" -msgstr "" +msgstr "招待コードを入力して次に進む" #: src/view/com/modals/AddAppPasswords.tsx:182 msgid "Input name for app password" -msgstr "" +msgstr "アプリパスワードの名前を入力" #: src/view/com/auth/login/SetNewPasswordForm.tsx:133 msgid "Input new password" -msgstr "" +msgstr "新しいパスワードを入力" #: src/view/com/modals/DeleteAccount.tsx:199 msgid "Input password for account deletion" -msgstr "" +msgstr "アカウント削除のためにパスワードを入力" #: src/view/com/auth/create/Step2.tsx:194 msgid "Input phone number for SMS verification" -msgstr "" +msgstr "SMS認証に用いる電話番号を入力" #: src/view/com/auth/login/LoginForm.tsx:227 msgid "Input the password tied to {identifier}" -msgstr "" +msgstr "{identifier}に紐づくパスワードを入力" #: src/view/com/auth/login/LoginForm.tsx:194 msgid "Input the username or email address you used at signup" -msgstr "" +msgstr "サインアップ時に使用したユーザー名またはメールアドレスを入力" #: src/view/com/auth/create/Step2.tsx:268 msgid "Input the verification code we have texted to you" -msgstr "" +msgstr "テキストメッセージで送られてきた認証コードを入力してください" #: src/view/com/modals/Waitlist.tsx:90 msgid "Input your email to get on the Bluesky waitlist" -msgstr "" +msgstr "BlueskyのWaitlistに登録するメールアドレスを入力" #: src/view/com/auth/login/LoginForm.tsx:226 msgid "Input your password" -msgstr "" +msgstr "あなたのパスワードを入力" #: src/view/com/auth/create/Step3.tsx:39 msgid "Input your user handle" -msgstr "" +msgstr "あなたのユーザーハンドルを入力" #: src/view/com/post-thread/PostThreadItem.tsx:229 msgid "Invalid or unsupported post record" -msgstr "" +msgstr "無効またはサポートされていない投稿のレコード" #: src/view/com/auth/login/LoginForm.tsx:115 msgid "Invalid username or password" @@ -1718,7 +1718,7 @@ msgstr "招待コードが確認できません。正しく入力されている #: src/view/com/modals/InviteCodes.tsx:170 msgid "Invite codes: {0} available" -msgstr "" +msgstr "招待コード:{0}個使用可能" #: src/view/shell/Drawer.tsx:645 msgid "Invite codes: {invitesAvailable} available" @@ -1726,7 +1726,7 @@ msgstr "使用可能な招待コード: {invitesAvailable} 個" #: src/view/com/modals/InviteCodes.tsx:169 msgid "Invite codes: 1 available" -msgstr "" +msgstr "招待コード:1個使用可能" #: src/view/com/auth/HomeLoggedOutCTA.tsx:99 msgid "Jobs" @@ -1751,7 +1751,7 @@ msgstr "言語の選択" #: src/view/screens/Settings.tsx:560 msgid "Language settings" -msgstr "" +msgstr "言語の設定" #: src/Navigation.tsx:139 #: src/view/screens/LanguageSettings.tsx:89 @@ -1764,7 +1764,7 @@ msgstr "言語" #: src/view/com/auth/create/StepHeader.tsx:20 msgid "Last step!" -msgstr "" +msgstr "最後のステップ!" #: src/view/com/util/moderation/ContentHider.tsx:103 msgid "Learn more" @@ -1798,7 +1798,7 @@ msgstr "Blueskyから離れる" #: src/view/screens/Settings.tsx:280 msgid "Legacy storage cleared, you need to restart the app now." -msgstr "" +msgstr "レガシーストレージがクリアされたため、今すぐアプリを再起動する必要があります。" #: src/view/com/auth/login/Login.tsx:128 #: src/view/com/auth/login/Login.tsx:144 @@ -1812,11 +1812,11 @@ msgstr "ライブラリー" #: src/view/screens/Settings.tsx:473 msgid "Light" -msgstr "" +msgstr "ライト" #: src/view/com/util/post-ctrls/PostCtrls.tsx:189 msgid "Like" -msgstr "" +msgstr "いいね" #: src/view/screens/ProfileFeed.tsx:600 msgid "Like this feed" @@ -1830,19 +1830,19 @@ msgstr "いいねしたユーザー" #: src/view/com/feeds/FeedSourceCard.tsx:277 msgid "Liked by {0} {1}" -msgstr "" +msgstr "{0} {1}にいいねされました" #: src/view/screens/ProfileFeed.tsx:615 msgid "Liked by {likeCount} {0}" -msgstr "" +msgstr "いいねしたユーザー:{likeCount}人" #: src/view/com/notifications/FeedItem.tsx:171 msgid "liked your custom feed{0}" -msgstr "" +msgstr "{0}にあなたのカスタムフィールドがいいねされました" #: src/view/com/notifications/FeedItem.tsx:155 msgid "liked your post" -msgstr "" +msgstr "あなたの投稿がいいねされました" #: src/view/screens/Profile.tsx:164 msgid "Likes" @@ -1850,7 +1850,7 @@ msgstr "いいね" #: src/view/com/post-thread/PostThreadItem.tsx:184 msgid "Likes on this post" -msgstr "" +msgstr "この投稿をいいねする" #: src/view/screens/Moderation.tsx:203 #~ msgid "Limit the visibility of my account to logged-out users" @@ -1858,7 +1858,7 @@ msgstr "" #: src/Navigation.tsx:166 msgid "List" -msgstr "" +msgstr "リスト" #: src/view/com/modals/CreateOrEditList.tsx:203 msgid "List Avatar" @@ -1866,19 +1866,19 @@ msgstr "リストのアバター" #: src/view/screens/ProfileList.tsx:323 msgid "List blocked" -msgstr "" +msgstr "リストをブロックしました" #: src/view/com/feeds/FeedSourceCard.tsx:231 msgid "List by {0}" -msgstr "" +msgstr "{0}によるリスト" #: src/view/screens/ProfileList.tsx:367 msgid "List deleted" -msgstr "" +msgstr "リストを削除しました" #: src/view/screens/ProfileList.tsx:282 msgid "List muted" -msgstr "" +msgstr "リストをミュートしました" #: src/view/com/modals/CreateOrEditList.tsx:216 msgid "List Name" @@ -1886,11 +1886,11 @@ msgstr "リストの名前" #: src/view/screens/ProfileList.tsx:342 msgid "List unblocked" -msgstr "" +msgstr "リストのブロックを解除しました" #: src/view/screens/ProfileList.tsx:301 msgid "List unmuted" -msgstr "" +msgstr "リストのミュートを解除しました" #: src/Navigation.tsx:109 #: src/view/screens/Profile.tsx:166 @@ -1926,7 +1926,7 @@ msgstr "ローカル開発者サーバー" #: src/Navigation.tsx:207 msgid "Log" -msgstr "" +msgstr "ログ" #: src/view/screens/Moderation.tsx:134 #~ msgid "Logged-out users" @@ -1971,7 +1971,7 @@ msgstr "メニュー" #: src/view/com/posts/FeedErrorMessage.tsx:197 msgid "Message from server: {0}" -msgstr "" +msgstr "サーバーからのメッセージ:{0}" #: src/Navigation.tsx:114 #: src/view/screens/Moderation.tsx:64 @@ -1985,25 +1985,25 @@ msgstr "モデレーション" #: src/view/com/lists/ListCard.tsx:92 #: src/view/com/modals/UserAddRemoveLists.tsx:190 msgid "Moderation list by {0}" -msgstr "" +msgstr "{0}の作成したモデレーションリスト" #: src/view/screens/ProfileList.tsx:753 msgid "Moderation list by <0/>" -msgstr "" +msgstr "<0/>の作成したモデレーションリスト" #: src/view/com/lists/ListCard.tsx:90 #: src/view/com/modals/UserAddRemoveLists.tsx:188 #: src/view/screens/ProfileList.tsx:751 msgid "Moderation list by you" -msgstr "" +msgstr "あなたの作成したモデレーションリスト" #: src/view/com/modals/CreateOrEditList.tsx:139 msgid "Moderation list created" -msgstr "" +msgstr "モデレーションリストを作成しました" #: src/view/com/modals/CreateOrEditList.tsx:126 msgid "Moderation list updated" -msgstr "" +msgstr "モデレーションリストを更新しました" #: src/view/screens/Moderation.tsx:95 msgid "Moderation lists" @@ -2016,11 +2016,11 @@ msgstr "モデレーションリスト" #: src/view/screens/Settings.tsx:585 msgid "Moderation settings" -msgstr "" +msgstr "モデレーションの設定" #: src/view/com/modals/ModerationDetails.tsx:35 msgid "Moderator has chosen to set a general warning on the content." -msgstr "" +msgstr "モデレーターはその投稿に一般的な警告の設定を選択しました。" #: src/view/shell/desktop/Feeds.tsx:53 msgid "More feeds" @@ -2034,7 +2034,7 @@ msgstr "その他のオプション" #: src/view/com/util/forms/PostDropdownBtn.tsx:268 msgid "More post options" -msgstr "" +msgstr "そのほかの投稿のオプション" #: src/view/screens/PreferencesThreads.tsx:82 msgid "Most-liked replies first" @@ -2058,7 +2058,7 @@ msgstr "これらのアカウントをミュートしますか?" #: src/view/screens/ProfileList.tsx:278 msgid "Mute this List" -msgstr "" +msgstr "このリストをミュート" #: src/view/com/util/forms/PostDropdownBtn.tsx:169 msgid "Mute thread" @@ -2066,7 +2066,7 @@ msgstr "スレッドをミュート" #: src/view/com/lists/ListCard.tsx:101 msgid "Muted" -msgstr "" +msgstr "ミュートされています" #: src/view/screens/Moderation.tsx:109 msgid "Muted accounts" @@ -2108,22 +2108,22 @@ msgstr "名前" #: src/view/com/modals/CreateOrEditList.tsx:108 msgid "Name is required" -msgstr "" +msgstr "名前は必須です" #: src/view/com/auth/login/ForgotPasswordForm.tsx:186 #: src/view/com/auth/login/LoginForm.tsx:286 #: src/view/com/auth/login/SetNewPasswordForm.tsx:166 msgid "Navigates to the next screen" -msgstr "" +msgstr "次の画面に移動します" #: src/view/shell/Drawer.tsx:73 msgid "Navigates to your profile" -msgstr "" +msgstr "あなたのプロフィールに移動します" #: src/view/com/modals/EmbedConsent.tsx:107 #: src/view/com/modals/EmbedConsent.tsx:123 msgid "Never load embeds from {0}" -msgstr "" +msgstr "{0}からの埋め込みを表示しない" #: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:72 @@ -2133,7 +2133,7 @@ msgstr "フォロワーやデータへのアクセスを失うことはありま #: src/view/screens/Lists.tsx:76 msgctxt "action" msgid "New" -msgstr "" +msgstr "新規" #: src/view/screens/ModerationModlists.tsx:78 msgid "New" @@ -2141,16 +2141,16 @@ msgstr "新規" #: src/view/com/modals/CreateOrEditList.tsx:194 msgid "New Moderation List" -msgstr "" +msgstr "新しいモデレーションリスト" #: src/view/com/auth/login/SetNewPasswordForm.tsx:122 msgid "New password" -msgstr "" +msgstr "新しいパスワード" #: src/view/com/feeds/FeedPage.tsx:201 msgctxt "action" msgid "New post" -msgstr "" +msgstr "新しい投稿" #: src/view/screens/Feeds.tsx:511 #: src/view/screens/Profile.tsx:354 @@ -2164,7 +2164,7 @@ msgstr "新しい投稿" #: src/view/shell/desktop/LeftNav.tsx:258 msgctxt "action" msgid "New Post" -msgstr "" +msgstr "新しい投稿" #: src/view/shell/desktop/LeftNav.tsx:258 #~ msgid "New Post" @@ -2172,7 +2172,7 @@ msgstr "" #: src/view/com/modals/CreateOrEditList.tsx:189 msgid "New User List" -msgstr "" +msgstr "新しいユーザーリスト" #: src/view/screens/PreferencesThreads.tsx:79 msgid "Newest replies first" @@ -2191,7 +2191,7 @@ msgstr "次へ" #: src/view/com/auth/onboarding/WelcomeDesktop.tsx:103 msgctxt "action" msgid "Next" -msgstr "" +msgstr "次へ" #: src/view/com/lightbox/Lightbox.web.tsx:142 msgid "Next image" @@ -2213,11 +2213,11 @@ msgstr "説明はありません" #: src/view/com/profile/ProfileHeader.tsx:217 msgid "No longer following {0}" -msgstr "" +msgstr "{0}のフォローを解除しました" #: src/view/com/notifications/Feed.tsx:107 msgid "No notifications yet!" -msgstr "" +msgstr "お知らせはありません!" #: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97 #: src/view/com/composer/text-input/web/Autocomplete.tsx:191 @@ -2236,7 +2236,7 @@ msgstr "「{query}」の検索結果はありません" #: src/view/com/modals/EmbedConsent.tsx:129 msgid "No thanks" -msgstr "" +msgstr "結構です" #: src/view/com/modals/Threadgate.tsx:82 msgid "Nobody" @@ -2248,12 +2248,12 @@ msgstr "該当なし。" #: src/Navigation.tsx:104 msgid "Not Found" -msgstr "" +msgstr "見つかりません" #: src/view/com/modals/VerifyEmail.tsx:246 #: src/view/com/modals/VerifyEmail.tsx:252 msgid "Not right now" -msgstr "" +msgstr "今すぐにではない" #: src/view/screens/Moderation.tsx:227 #~ 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,7 +2275,7 @@ msgstr "通知" #: src/view/com/modals/SelfLabel.tsx:103 msgid "Nudity" -msgstr "" +msgstr "ヌード" #: src/view/com/util/ErrorBoundary.tsx:35 msgid "Oh no!" @@ -2291,7 +2291,7 @@ msgstr "古い順に返信を表示" #: src/view/screens/Settings.tsx:236 msgid "Onboarding reset" -msgstr "" +msgstr "オンボーディングのリセット" #: src/view/com/composer/Composer.tsx:375 msgid "One or more images is missing alt text." @@ -2305,7 +2305,7 @@ msgstr "{0}のみ返信可能" #: src/view/com/modals/ProfilePreview.tsx:61 #: src/view/screens/AppPasswords.tsx:65 msgid "Oops!" -msgstr "" +msgstr "おっと!" #: src/view/com/composer/Composer.tsx:470 #: src/view/com/composer/Composer.tsx:471 @@ -2314,7 +2314,7 @@ msgstr "絵文字を入力" #: src/view/screens/Settings.tsx:678 msgid "Open links with in-app browser" -msgstr "" +msgstr "アプリ内ブラウザーでリンクを開く" #: src/view/com/pager/FeedsTabBarMobile.tsx:81 msgid "Open navigation" @@ -2322,27 +2322,27 @@ msgstr "ナビゲーションを開く" #: src/view/screens/Settings.tsx:737 msgid "Open storybook page" -msgstr "" +msgstr "絵本のページを開く" #: src/view/com/util/forms/DropdownButton.tsx:147 msgid "Opens {numItems} options" -msgstr "" +msgstr "{numItems}個のオプションを開く" #: src/view/screens/Log.tsx:54 msgid "Opens additional details for a debug entry" -msgstr "" +msgstr "デバッグエントリーの追加詳細を開く" #: src/view/com/notifications/FeedItem.tsx:352 msgid "Opens an expanded list of users in this notification" -msgstr "" +msgstr "この通知内のユーザーの拡張リストを開く" #: src/view/com/composer/photos/OpenCameraBtn.tsx:61 msgid "Opens camera on device" -msgstr "" +msgstr "デバイスのカメラを開く" #: src/view/com/composer/Prompt.tsx:25 msgid "Opens composer" -msgstr "" +msgstr "編集画面を開く" #: src/view/screens/Settings.tsx:561 msgid "Opens configurable language settings" @@ -2350,27 +2350,27 @@ msgstr "構成可能な言語設定を開く" #: src/view/com/composer/photos/SelectPhotoBtn.tsx:44 msgid "Opens device photo gallery" -msgstr "" +msgstr "デバイスのフォトギャラリーを開く" #: src/view/com/profile/ProfileHeader.tsx:459 msgid "Opens editor for profile display name, avatar, background image, and description" -msgstr "" +msgstr "プロフィールの表示名、アバター、背景画像、説明文のエディタを開く" #: src/view/screens/Settings.tsx:615 msgid "Opens external embeds settings" -msgstr "" +msgstr "外部コンテンツの埋め込みの設定を開く" #: src/view/com/profile/ProfileHeader.tsx:614 msgid "Opens followers list" -msgstr "" +msgstr "フォロワーのリストを開きます" #: src/view/com/profile/ProfileHeader.tsx:633 msgid "Opens following list" -msgstr "" +msgstr "フォロー中のリストを開きます" #: src/view/screens/Settings.tsx:412 msgid "Opens invite code list" -msgstr "" +msgstr "招待コードのリストを開く" #: src/view/com/modals/InviteCodes.tsx:172 #: src/view/shell/desktop/RightNav.tsx:156 @@ -2380,7 +2380,7 @@ msgstr "招待コードのリストを開く" #: src/view/screens/Settings.tsx:696 msgid "Opens modal for account deletion confirmation. Requires email code." -msgstr "" +msgstr "アカウントの削除確認用の表示を開きます。メールアドレスのコードが必要です。" #: src/view/com/modals/ChangeHandle.tsx:281 msgid "Opens modal for using custom domain" @@ -2392,11 +2392,11 @@ msgstr "モデレーションの設定を開く" #: src/view/com/auth/login/LoginForm.tsx:236 msgid "Opens password reset form" -msgstr "" +msgstr "パスワードリセットのフォームを開く" #: src/view/screens/Feeds.tsx:335 msgid "Opens screen to edit Saved Feeds" -msgstr "" +msgstr "保存されたフィードの編集画面を開く" #: src/view/screens/Settings.tsx:542 msgid "Opens screen with all saved feeds" @@ -2404,7 +2404,7 @@ msgstr "保存されたすべてのフィードで画面を開く" #: src/view/screens/Settings.tsx:642 msgid "Opens the app password settings page" -msgstr "アプリパスワード設定ページを開く" +msgstr "アプリパスワードの設定ページを開く" #: src/view/screens/Settings.tsx:501 msgid "Opens the home feed preferences" @@ -2424,7 +2424,7 @@ msgstr "スレッドの設定を開く" #: src/view/com/util/forms/DropdownButton.tsx:254 msgid "Option {0} of {numItems}" -msgstr "" +msgstr "{numItems}個中{0}目のオプション" #: src/view/com/modals/Threadgate.tsx:89 msgid "Or combine these options:" @@ -2465,23 +2465,23 @@ msgstr "パスワードが更新されました!" #: src/Navigation.tsx:160 msgid "People followed by @{0}" -msgstr "" +msgstr "@{0}がフォロー中のユーザー" #: src/Navigation.tsx:153 msgid "People following @{0}" -msgstr "" +msgstr "@{0}をフォロー中のユーザー" #: src/view/com/lightbox/Lightbox.tsx:66 msgid "Permission to access camera roll is required." -msgstr "" +msgstr "カメラへのアクセス権限が必要です。" #: src/view/com/lightbox/Lightbox.tsx:72 msgid "Permission to access camera roll was denied. Please enable it in your system settings." -msgstr "" +msgstr "カメラへのアクセスが拒否されました。システムの設定で有効にしてください。" #: src/view/com/auth/create/Step2.tsx:181 msgid "Phone number" -msgstr "" +msgstr "電話番号" #: src/view/com/modals/SelfLabel.tsx:121 msgid "Pictures meant for adults." @@ -2490,7 +2490,7 @@ msgstr "成人向けの写真です。" #: src/view/screens/ProfileFeed.tsx:362 #: src/view/screens/ProfileList.tsx:559 msgid "Pin to home" -msgstr "" +msgstr "ホームにピン留め" #: src/view/screens/SavedFeeds.tsx:88 msgid "Pinned Feeds" @@ -2498,16 +2498,16 @@ msgstr "ピン留めされたフィード" #: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:111 msgid "Play {0}" -msgstr "" +msgstr "{0}を再生" #: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:54 #: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:55 msgid "Play Video" -msgstr "" +msgstr "動画を再生" #: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:110 msgid "Plays the GIF" -msgstr "" +msgstr "GIFを再生" #: src/view/com/auth/create/state.ts:177 msgid "Please choose your handle." @@ -2523,11 +2523,11 @@ msgstr "変更する前にメールを確認してください。これは、メ #: src/view/com/modals/AddAppPasswords.tsx:89 msgid "Please enter a name for your app password. All spaces is not allowed." -msgstr "" +msgstr "アプリパスワードにつける名前を入力してください。すべてスペースとしてはいけません。" #: src/view/com/auth/create/Step2.tsx:204 msgid "Please enter a phone number that can receive SMS text messages." -msgstr "" +msgstr "SMSでテキストメッセージを受け取れる電話番号を入力してください。" #: src/view/com/modals/AddAppPasswords.tsx:144 msgid "Please enter a unique name for this App Password or use our randomly generated one." @@ -2535,11 +2535,11 @@ msgstr "このアプリパスワードに固有の名前を入力するか、ラ #: src/view/com/auth/create/state.ts:170 msgid "Please enter the code you received by SMS." -msgstr "" +msgstr "SMSで受け取ったコードを入力してください。" #: src/view/com/auth/create/Step2.tsx:279 msgid "Please enter the verification code sent to {phoneNumberFormatted}." -msgstr "" +msgstr "{phoneNumberFormatted}に送った認証コードを入力してください。" #: src/view/com/auth/create/state.ts:146 msgid "Please enter your email." @@ -2552,7 +2552,7 @@ msgstr "パスワードも入力してください:" #: src/view/com/modals/AppealLabel.tsx:72 #: src/view/com/modals/AppealLabel.tsx:75 msgid "Please tell us why you think this content warning was incorrectly applied!" -msgstr "" +msgstr "このコンテンツに対する警告が誤って適用されたと思われる理由を教えてください!" #: src/view/com/modals/AppealLabel.tsx:72 #: src/view/com/modals/AppealLabel.tsx:75 @@ -2561,7 +2561,7 @@ msgstr "" #: src/view/com/modals/VerifyEmail.tsx:101 msgid "Please Verify Your Email" -msgstr "" +msgstr "メールアドレスを確認してください" #: src/view/com/composer/Composer.tsx:215 msgid "Please wait for your link card to finish loading" @@ -2569,19 +2569,19 @@ msgstr "リンクカードがロードされるまでお待ちください" #: src/view/com/modals/SelfLabel.tsx:111 msgid "Porn" -msgstr "" +msgstr "ポルノ" #: src/view/com/composer/Composer.tsx:350 #: src/view/com/composer/Composer.tsx:358 msgctxt "action" msgid "Post" -msgstr "" +msgstr "投稿" #: src/view/com/post-thread/PostThread.tsx:227 #: src/view/screens/PostThread.tsx:82 msgctxt "description" msgid "Post" -msgstr "" +msgstr "投稿" #: src/view/com/composer/Composer.tsx:346 #: src/view/com/post-thread/PostThread.tsx:225 @@ -2591,17 +2591,17 @@ msgstr "" #: src/view/com/post-thread/PostThreadItem.tsx:176 msgid "Post by {0}" -msgstr "" +msgstr "{0}による投稿" #: src/Navigation.tsx:172 #: src/Navigation.tsx:179 #: src/Navigation.tsx:186 msgid "Post by @{0}" -msgstr "" +msgstr "@{0}による投稿" #: src/view/com/util/forms/PostDropdownBtn.tsx:82 msgid "Post deleted" -msgstr "" +msgstr "投稿を削除" #: src/view/com/post-thread/PostThread.tsx:382 msgid "Post hidden" @@ -2625,7 +2625,7 @@ msgstr "投稿" #: src/view/com/posts/FeedErrorMessage.tsx:64 msgid "Posts hidden" -msgstr "" +msgstr "非表示の投稿" #: src/view/com/modals/LinkWarning.tsx:46 msgid "Potentially Misleading Link" @@ -2669,7 +2669,7 @@ msgstr "プロフィール" #: src/view/com/modals/EditProfile.tsx:128 msgid "Profile updated" -msgstr "" +msgstr "プロフィールを更新しました" #: src/view/screens/Settings.tsx:882 msgid "Protect your account by verifying your email." @@ -2685,16 +2685,16 @@ msgstr "フィードとして利用できる、公開された共有可能なリ #: src/view/com/composer/Composer.tsx:335 msgid "Publish post" -msgstr "" +msgstr "投稿を公開" #: src/view/com/composer/Composer.tsx:335 msgid "Publish reply" -msgstr "" +msgstr "返信を公開" #: src/view/com/modals/Repost.tsx:65 msgctxt "action" msgid "Quote post" -msgstr "" +msgstr "引用" #: src/view/com/util/post-ctrls/RepostButton.web.tsx:58 msgid "Quote post" @@ -2703,7 +2703,7 @@ msgstr "引用" #: src/view/com/modals/Repost.tsx:70 msgctxt "action" msgid "Quote Post" -msgstr "" +msgstr "引用" #: src/view/com/modals/Repost.tsx:56 #~ msgid "Quote Post" @@ -2764,7 +2764,7 @@ msgstr "イメージプレビューを削除" #: src/view/com/modals/Repost.tsx:47 msgid "Remove repost" -msgstr "" +msgstr "リポストを削除" #: src/view/com/feeds/FeedSourceCard.tsx:173 msgid "Remove this feed from my feeds?" @@ -2782,11 +2782,11 @@ msgstr "リストから削除されました" #: src/view/com/feeds/FeedSourceCard.tsx:111 #: src/view/com/feeds/FeedSourceCard.tsx:178 msgid "Removed from my feeds" -msgstr "" +msgstr "フィードから削除しました" #: src/view/com/composer/ExternalEmbed.tsx:71 msgid "Removes default thumbnail from {0}" -msgstr "" +msgstr "{0}からデフォルトのサムネイルを削除" #: src/view/screens/Profile.tsx:162 msgid "Replies" @@ -2799,7 +2799,7 @@ msgstr "このスレッドへの返信はできません" #: src/view/com/composer/Composer.tsx:348 msgctxt "action" msgid "Reply" -msgstr "" +msgstr "返信" #: src/view/screens/PreferencesHomeFeed.tsx:144 msgid "Reply Filters" @@ -2809,7 +2809,7 @@ msgstr "返信のフィルター" #: src/view/com/posts/FeedItem.tsx:286 msgctxt "description" msgid "Reply to <0/>" -msgstr "" +msgstr "<0/>に返信" #: src/view/com/modals/report/Modal.tsx:166 msgid "Report {collectionName}" @@ -2838,7 +2838,7 @@ msgstr "投稿を報告" #: src/view/com/util/post-ctrls/RepostButton.tsx:61 msgctxt "action" msgid "Repost" -msgstr "" +msgstr "リポスト" #: src/view/com/util/post-ctrls/RepostButton.web.tsx:48 msgid "Repost" @@ -2855,19 +2855,19 @@ msgstr "リポストしたユーザー" #: src/view/com/posts/FeedItem.tsx:206 msgid "Reposted by {0})" -msgstr "" +msgstr "{0}によるリポスト" #: src/view/com/posts/FeedItem.tsx:223 msgid "Reposted by <0/>" -msgstr "" +msgstr "<0/>によるリポスト" #: src/view/com/notifications/FeedItem.tsx:162 msgid "reposted your post" -msgstr "" +msgstr "あなたの投稿はリポストされました" #: src/view/com/post-thread/PostThreadItem.tsx:189 msgid "Reposts of this post" -msgstr "" +msgstr "この投稿をリポスト" #: src/view/com/modals/ChangeEmail.tsx:181 #: src/view/com/modals/ChangeEmail.tsx:183 @@ -2876,7 +2876,7 @@ msgstr "変更を要求" #: src/view/com/auth/create/Step2.tsx:217 msgid "Request code" -msgstr "" +msgstr "コードをリクエスト" #: src/view/screens/Settings.tsx:450 msgid "Require alt text before posting" @@ -2893,7 +2893,7 @@ msgstr "コードをリセット" #: src/view/screens/Settings.tsx:757 msgid "Reset onboarding" -msgstr "" +msgstr "オンボーディングの状態をリセット" #: src/view/screens/Settings.tsx:760 msgid "Reset onboarding state" @@ -2905,7 +2905,7 @@ msgstr "パスワードをリセット" #: src/view/screens/Settings.tsx:747 msgid "Reset preferences" -msgstr "" +msgstr "設定をリセット" #: src/view/screens/Settings.tsx:750 msgid "Reset preferences state" @@ -2913,20 +2913,20 @@ msgstr "設定をリセット" #: src/view/screens/Settings.tsx:758 msgid "Resets the onboarding state" -msgstr "オンボーディングの状態をリセット" +msgstr "オンボーディングの状態をリセットします" #: src/view/screens/Settings.tsx:748 msgid "Resets the preferences state" -msgstr "設定の状態をリセット" +msgstr "設定の状態をリセットします" #: src/view/com/auth/login/LoginForm.tsx:266 msgid "Retries login" -msgstr "" +msgstr "ログインをやり直す" #: src/view/com/util/error/ErrorMessage.tsx:57 #: src/view/com/util/error/ErrorScreen.tsx:67 msgid "Retries the last action, which errored out" -msgstr "" +msgstr "エラーになった最後のアクションをやり直す" #: src/view/com/auth/create/CreateAccount.tsx:164 #: src/view/com/auth/create/CreateAccount.tsx:168 @@ -2940,21 +2940,21 @@ msgstr "再試行" #: src/view/com/auth/create/Step2.tsx:245 msgid "Retry." -msgstr "" +msgstr "再試行" #: src/view/screens/ProfileList.tsx:877 msgid "Return to previous page" -msgstr "" +msgstr "前のページに戻る" #: src/view/shell/desktop/RightNav.tsx:59 msgid "SANDBOX. Posts and accounts are not permanent." -msgstr "" +msgstr "サンドボックス。投稿とアカウントは永久的なものではありません。" #: src/view/com/lightbox/Lightbox.tsx:129 #: src/view/com/modals/CreateOrEditList.tsx:276 msgctxt "action" msgid "Save" -msgstr "" +msgstr "保存" #: src/view/com/modals/BirthDateSettings.tsx:94 #: src/view/com/modals/BirthDateSettings.tsx:97 @@ -2987,15 +2987,15 @@ msgstr "保存されたフィード" #: src/view/com/modals/EditProfile.tsx:225 msgid "Saves any changes to your profile" -msgstr "" +msgstr "プロフィールに加えた変更を保存します" #: src/view/com/modals/ChangeHandle.tsx:171 msgid "Saves handle change to {handle}" -msgstr "" +msgstr "{handle}へのハンドルの変更を保存" #: src/view/screens/ProfileList.tsx:833 msgid "Scroll to top" -msgstr "" +msgstr "一番上までスクロール" #: src/Navigation.tsx:435 #: src/view/com/auth/LoggedOut.tsx:122 @@ -3017,7 +3017,7 @@ msgstr "検索" #: src/view/screens/Search/Search.tsx:628 #: src/view/shell/desktop/Search.tsx:255 msgid "Search for \"{query}\"" -msgstr "" +msgstr "「{query}」を検索" #: src/view/screens/Search/Search.tsx:390 #~ msgid "Search for posts and users." @@ -3035,7 +3035,7 @@ msgstr "必要なセキュリティの手順" #: src/view/screens/SavedFeeds.tsx:163 msgid "See this guide" -msgstr "" +msgstr "ガイドを見る" #: src/view/com/auth/HomeLoggedOutCTA.tsx:39 msgid "See what's next" @@ -3043,7 +3043,7 @@ msgstr "次を見る" #: src/view/com/util/Selector.tsx:106 msgid "Select {item}" -msgstr "" +msgstr "{item}を選択" #: src/view/com/modals/ServerInput.tsx:75 msgid "Select Bluesky Social" @@ -3055,7 +3055,7 @@ msgstr "既存のアカウントから選択" #: src/view/com/util/Selector.tsx:107 msgid "Select option {i} of {numItems}" -msgstr "" +msgstr "{numItems}個中{i}個目のオプションを選択" #: src/view/com/auth/create/Step1.tsx:77 #: src/view/com/auth/login/LoginForm.tsx:147 @@ -3072,7 +3072,7 @@ msgstr "アプリに表示されるデフォルトのテキストの言語を選 #: src/view/com/auth/create/Step2.tsx:153 msgid "Select your phone's country" -msgstr "" +msgstr "電話番号が登録されている国を選択" #: src/view/screens/LanguageSettings.tsx:190 msgid "Select your preferred language for translations in your feed." @@ -3090,7 +3090,7 @@ msgstr "メールを送信" #: src/view/com/modals/DeleteAccount.tsx:140 msgctxt "action" msgid "Send Email" -msgstr "" +msgstr "メールを送信" #: src/view/com/modals/DeleteAccount.tsx:138 #~ msgid "Send Email" @@ -3107,29 +3107,29 @@ msgstr "報告を送信" #: src/view/com/modals/DeleteAccount.tsx:129 msgid "Sends email with confirmation code for account deletion" -msgstr "" +msgstr "アカウントの削除の確認コードをメールに送信" #: src/view/com/modals/ContentFilteringSettings.tsx:306 msgid "Set {value} for {labelGroup} content moderation policy" -msgstr "" +msgstr "{labelGroup}コンテンツのモデレーションポリシーを{value}に設定します" #: src/view/com/modals/ContentFilteringSettings.tsx:155 #: src/view/com/modals/ContentFilteringSettings.tsx:174 msgctxt "action" msgid "Set Age" -msgstr "" +msgstr "年齢を設定" #: src/view/screens/Settings.tsx:482 msgid "Set color theme to dark" -msgstr "" +msgstr "カラーテーマをダークに設定します" #: src/view/screens/Settings.tsx:475 msgid "Set color theme to light" -msgstr "" +msgstr "カラーテーマをライトに設定します" #: src/view/screens/Settings.tsx:469 msgid "Set color theme to system setting" -msgstr "" +msgstr "システム設定のカラーテーマを使用するように設定します" #: src/view/com/auth/login/SetNewPasswordForm.tsx:78 msgid "Set new password" @@ -3137,7 +3137,7 @@ msgstr "新しいパスワードを設定" #: src/view/com/auth/create/Step1.tsx:169 msgid "Set password" -msgstr "" +msgstr "パスワードを設定" #: src/view/screens/PreferencesHomeFeed.tsx:225 msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible." @@ -3161,24 +3161,24 @@ msgstr "保存されたフィードから投稿を抽出して「Following」フ #: src/view/com/modals/ChangeHandle.tsx:266 msgid "Sets Bluesky username" -msgstr "" +msgstr "Blueskyのユーザーネームを設定" #: src/view/com/auth/login/ForgotPasswordForm.tsx:153 msgid "Sets email for password reset" -msgstr "" +msgstr "パスワードをリセットするためのメールアドレスを入力" #: src/view/com/auth/login/ForgotPasswordForm.tsx:118 msgid "Sets hosting provider for password reset" -msgstr "" +msgstr "パスワードをリセットするためのホスティングプロバイダーを入力" #: src/view/com/auth/create/Step1.tsx:143 #~ msgid "Sets hosting provider to {label}" -#~ msgstr "" +#~ msgstr "ホスティングプロバイダーを{label}に設定" #: src/view/com/auth/create/Step1.tsx:78 #: src/view/com/auth/login/LoginForm.tsx:148 msgid "Sets server for the Bluesky client" -msgstr "" +msgstr "Blueskyのクライアントのサーバーを設定" #: src/Navigation.tsx:134 #: src/view/screens/Settings.tsx:294 @@ -3195,7 +3195,7 @@ msgstr "性的行為または性的なヌード。" #: src/view/com/lightbox/Lightbox.tsx:138 msgctxt "action" msgid "Share" -msgstr "" +msgstr "共有" #: src/view/com/profile/ProfileHeader.tsx:342 #: src/view/com/util/forms/PostDropdownBtn.tsx:151 @@ -3216,7 +3216,7 @@ msgstr "表示" #: src/view/screens/PreferencesHomeFeed.tsx:68 msgid "Show all replies" -msgstr "" +msgstr "すべての返信を表示" #: src/view/com/util/moderation/ScreenHider.tsx:132 msgid "Show anyway" @@ -3224,17 +3224,17 @@ msgstr "とにかく表示" #: src/view/com/modals/EmbedConsent.tsx:87 msgid "Show embeds from {0}" -msgstr "" +msgstr "{0}による埋め込みを表示" #: src/view/com/profile/ProfileHeader.tsx:498 msgid "Show follows similar to {0}" -msgstr "" +msgstr "{0}に似たおすすめのフォロー候補を表示" #: src/view/com/post-thread/PostThreadItem.tsx:569 #: src/view/com/post/Post.tsx:196 #: src/view/com/posts/FeedItem.tsx:362 msgid "Show More" -msgstr "" +msgstr "さらに表示" #: src/view/screens/PreferencesHomeFeed.tsx:258 msgid "Show Posts from My Feeds" @@ -3254,7 +3254,7 @@ msgstr "自分がフォローしているユーザーからの返信を、他の #: src/view/screens/PreferencesHomeFeed.tsx:70 msgid "Show replies with at least {value} {0}" -msgstr "" +msgstr "{value}個以上の{0}がついた返信を表示" #: src/view/screens/PreferencesHomeFeed.tsx:188 msgid "Show Reposts" @@ -3263,7 +3263,7 @@ msgstr "リポストを表示" #: src/view/com/util/moderation/ContentHider.tsx:67 #: src/view/com/util/moderation/PostHider.tsx:61 msgid "Show the content" -msgstr "" +msgstr "コンテンツを表示" #: src/view/com/notifications/FeedItem.tsx:350 msgid "Show users" @@ -3271,11 +3271,11 @@ msgstr "ユーザーを表示" #: src/view/com/profile/ProfileHeader.tsx:501 msgid "Shows a list of users similar to this user." -msgstr "" +msgstr "このユーザーに似たユーザーのリストを表示します。" #: src/view/com/profile/ProfileHeader.tsx:545 msgid "Shows posts from {0} in your feed" -msgstr "" +msgstr "マイフィード内の{0}からの投稿を表示します" #: src/view/com/auth/HomeLoggedOutCTA.tsx:70 #: src/view/com/auth/login/Login.tsx:98 @@ -3343,11 +3343,11 @@ msgstr "サインイン済み" #: src/view/com/auth/login/ChooseAccountForm.tsx:103 msgid "Signed in as @{0}" -msgstr "" +msgstr "@{0}でサインイン" #: src/view/com/modals/SwitchAccount.tsx:66 msgid "Signs {0} out of Bluesky" -msgstr "" +msgstr "Blueskyから{0}をサインアウト" #: src/view/com/auth/onboarding/WelcomeMobile.tsx:33 msgid "Skip" @@ -3355,19 +3355,19 @@ msgstr "スキップ" #: src/view/com/auth/create/Step2.tsx:80 msgid "SMS verification" -msgstr "" +msgstr "SMS認証" #: src/view/com/modals/ProfilePreview.tsx:62 msgid "Something went wrong and we're not sure what." -msgstr "" +msgstr "何かの問題が起きましたが、それが何なのかわかりません。" #: src/view/com/modals/Waitlist.tsx:51 msgid "Something went wrong. Check your email and try again." -msgstr "" +msgstr "なんらかの問題が発生しました。メールアドレスを確認し、もう一度お試しください。" #: src/App.native.tsx:62 msgid "Sorry! Your session expired. Please log in again." -msgstr "" +msgstr "申し訳ありません!セッションの有効期限が切れました。もう一度ログインしてください。" #: src/view/screens/PreferencesThreads.tsx:69 msgid "Sort Replies" @@ -3391,15 +3391,15 @@ msgstr "ステータスページ" #: src/view/com/auth/create/StepHeader.tsx:22 msgid "Step {0} of {numSteps}" -msgstr "" +msgstr "{numSteps}個中{0}個目のステップ" #: src/view/com/auth/create/StepHeader.tsx:15 #~ msgid "Step {step} of 3" -#~ msgstr "" +#~ msgstr "3個中{step}個目のステップ" #: src/view/screens/Settings.tsx:276 msgid "Storage cleared, you need to restart the app now." -msgstr "" +msgstr "ストレージがクリアされたため、今すぐアプリを再起動する必要があります。" #: src/Navigation.tsx:202 #: src/view/screens/Settings.tsx:740 @@ -3420,7 +3420,7 @@ msgstr "このリストに登録" #: src/view/com/lists/ListCard.tsx:101 #~ msgid "Subscribed" -#~ msgstr "" +#~ msgstr "登録済み" #: src/view/screens/Search/Search.tsx:364 msgid "Suggested Follows" @@ -3428,11 +3428,11 @@ msgstr "おすすめのフォロー" #: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64 msgid "Suggested for you" -msgstr "" +msgstr "あなたへのおすすめ" #: src/view/com/modals/SelfLabel.tsx:95 msgid "Suggestive" -msgstr "" +msgstr "提案" #: src/Navigation.tsx:212 #: src/view/screens/Support.tsx:30 @@ -3442,7 +3442,7 @@ msgstr "サポート" #: src/view/com/modals/ProfilePreview.tsx:110 msgid "Swipe up to see more" -msgstr "" +msgstr "上にスワイプしてさらに表示" #: src/view/com/modals/SwitchAccount.tsx:117 msgid "Switch Account" @@ -3451,16 +3451,16 @@ msgstr "アカウントを切り替える" #: src/view/com/modals/SwitchAccount.tsx:97 #: src/view/screens/Settings.tsx:137 msgid "Switch to {0}" -msgstr "" +msgstr "{0}に切り替え" #: src/view/com/modals/SwitchAccount.tsx:98 #: src/view/screens/Settings.tsx:138 msgid "Switches the account you are logged in to" -msgstr "" +msgstr "ログインしているアカウントを切り替えます" #: src/view/screens/Settings.tsx:466 msgid "System" -msgstr "" +msgstr "システム" #: src/view/screens/Settings.tsx:720 msgid "System log" @@ -3472,7 +3472,7 @@ msgstr "トール" #: src/view/com/util/images/AutoSizedImage.tsx:70 msgid "Tap to view fully" -msgstr "" +msgstr "タップして全体を表示" #: src/view/shell/desktop/RightNav.tsx:93 msgid "Terms" @@ -3496,11 +3496,11 @@ msgstr "このアカウントは、ブロック解除後にあなたとやり取 #: src/view/screens/CommunityGuidelines.tsx:36 msgid "The Community Guidelines have been moved to <0/>" -msgstr "コミュニティガイドラインは<0/>に移動されました" +msgstr "コミュニティガイドラインは<0/>に移動しました" #: src/view/screens/CopyrightPolicy.tsx:33 msgid "The Copyright Policy has been moved to <0/>" -msgstr "著作権ポリシーが<0/>に移動されました" +msgstr "著作権ポリシーは<0/>に移動しました" #: src/view/com/post-thread/PostThread.tsx:437 msgid "The post may have been deleted." @@ -3508,31 +3508,31 @@ msgstr "投稿が削除された可能性があります。" #: src/view/screens/PrivacyPolicy.tsx:33 msgid "The Privacy Policy has been moved to <0/>" -msgstr "プライバシーポリシーが<0/>に移動されました" +msgstr "プライバシーポリシーは<0/>に移動しました" #: src/view/screens/Support.tsx:36 msgid "The support form has been moved. If you need help, please <0/> or visit {HELP_DESK_URL} to get in touch with us." -msgstr "" +msgstr "サポートフォームは移動しました。サポートが必要な場合は、<0/>、または{HELP_DESK_URL}にアクセスしてご連絡ください。" #: src/view/screens/Support.tsx:36 #~ msgid "The support form has been moved. If you need help, please<0/> or visit {HELP_DESK_URL} to get in touch with us." -#~ msgstr "サポートフォームが移動しました。サポートが必要な場合は、<0/>または{HELP_DESK_URL}にアクセスしてご連絡ください。" +#~ msgstr "サポートフォームは移動しました。サポートが必要な場合は、<0/>、または{HELP_DESK_URL}にアクセスしてご連絡ください。" #: src/view/screens/TermsOfService.tsx:33 msgid "The Terms of Service have been moved to" -msgstr "サービス規約が移動されました" +msgstr "サービス規約は移動しました" #: src/view/screens/ProfileFeed.tsx:558 msgid "There was an an issue contacting the server, please check your internet connection and try again." -msgstr "" +msgstr "サーバーへの問い合わせ中に問題が発生しました。インターネットへの接続を確認の上、もう一度お試しください。" #: src/view/com/posts/FeedErrorMessage.tsx:139 msgid "There was an an issue removing this feed. Please check your internet connection and try again." -msgstr "" +msgstr "フィードの削除中に問題が発生しました。インターネットへの接続を確認の上、もう一度お試しください。" #: src/view/screens/ProfileFeed.tsx:218 msgid "There was an an issue updating your feeds, please check your internet connection and try again." -msgstr "" +msgstr "フィードの更新中に問題が発生しました。インターネットへの接続を確認の上、もう一度お試しください。" #: src/view/screens/ProfileFeed.tsx:245 #: src/view/screens/ProfileList.tsx:266 @@ -3540,7 +3540,7 @@ msgstr "" #: src/view/screens/SavedFeeds.tsx:231 #: src/view/screens/SavedFeeds.tsx:252 msgid "There was an issue contacting the server" -msgstr "" +msgstr "サーバーへの問い合わせ中に問題が発生しました" #: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:57 #: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:66 @@ -3548,32 +3548,32 @@ msgstr "" #: src/view/com/feeds/FeedSourceCard.tsx:127 #: src/view/com/feeds/FeedSourceCard.tsx:181 msgid "There was an issue contacting your server" -msgstr "" +msgstr "サーバーへの問い合わせ中に問題が発生しました" #: src/view/com/notifications/Feed.tsx:115 msgid "There was an issue fetching notifications. Tap here to try again." -msgstr "" +msgstr "通知の取得中に問題が発生しました。もう一度試すにはこちらをタップしてください。" #: src/view/com/posts/Feed.tsx:263 msgid "There was an issue fetching posts. Tap here to try again." -msgstr "" +msgstr "投稿の取得中に問題が発生しました。もう一度試すにはこちらをタップしてください。" #: src/view/com/lists/ListMembers.tsx:172 msgid "There was an issue fetching the list. Tap here to try again." -msgstr "" +msgstr "リストの取得中に問題が発生しました。もう一度試すにはこちらをタップしてください。" #: src/view/com/feeds/ProfileFeedgens.tsx:148 #: src/view/com/lists/ProfileLists.tsx:155 msgid "There was an issue fetching your lists. Tap here to try again." -msgstr "" +msgstr "リストの取得中に問題が発生しました。もう一度試すにはこちらをタップしてください。" #: src/view/com/modals/ContentFilteringSettings.tsx:126 msgid "There was an issue syncing your preferences with the server" -msgstr "" +msgstr "設定をサーバーと同期中に問題が発生しました" #: src/view/screens/AppPasswords.tsx:66 msgid "There was an issue with fetching your app passwords" -msgstr "" +msgstr "アプリパスワードの取得中に問題が発生しました" #: src/view/com/profile/ProfileHeader.tsx:204 #: src/view/com/profile/ProfileHeader.tsx:225 @@ -3582,22 +3582,22 @@ msgstr "" #: src/view/com/profile/ProfileHeader.tsx:297 #: src/view/com/profile/ProfileHeader.tsx:319 msgid "There was an issue! {0}" -msgstr "" +msgstr "問題が発生しました!{0}" #: src/view/screens/ProfileList.tsx:287 #: src/view/screens/ProfileList.tsx:306 #: src/view/screens/ProfileList.tsx:328 #: src/view/screens/ProfileList.tsx:347 msgid "There was an issue. Please check your internet connection and try again." -msgstr "" +msgstr "問題が発生しました。インターネットへの接続を確認の上、もう一度お試しください。" #: src/view/com/util/ErrorBoundary.tsx:36 msgid "There was an unexpected issue in the application. Please let us know if this happened to you!" -msgstr "アプリケーションに予期しない問題が発生しました。このようなことがありましたらお知らせください!" +msgstr "アプリケーションに予期しない問題が発生しました。このようなことが繰り返した場合はサポートへお知らせください!" #: src/view/com/auth/create/Step2.tsx:53 msgid "There's something wrong with this number. Please choose your country and enter your full phone number!" -msgstr "" +msgstr "この電話番号は正しくありません。登録されている国を選択し、電話番号を省略せずに入力してください!" #: src/view/com/util/moderation/LabelInfo.tsx:45 #~ msgid "This {0} has been labeled." @@ -3613,11 +3613,11 @@ msgstr "このアカウントを閲覧するためにはサインインが必要 #: src/view/com/modals/EmbedConsent.tsx:68 msgid "This content is hosted by {0}. Do you want to enable external media?" -msgstr "" +msgstr "このコンテンツは{0}によってホストされています。外部メディアを有効にしますか?" #: src/view/com/modals/ModerationDetails.tsx:67 msgid "This content is not available because one of the users involved has blocked the other." -msgstr "" +msgstr "このコンテンツは関係するユーザーの一方が他方をブロックしているため、利用できません。" #: src/view/com/posts/FeedErrorMessage.tsx:108 msgid "This content is not viewable without a Bluesky account." @@ -3631,11 +3631,11 @@ msgstr "現在このフィードにはアクセスが集中しており、一時 #: src/view/screens/ProfileFeed.tsx:484 #: src/view/screens/ProfileList.tsx:639 msgid "This feed is empty!" -msgstr "" +msgstr "このフィードは空です!" #: src/view/com/posts/CustomFeedEmptyState.tsx:37 msgid "This feed is empty! You may need to follow more users or tune your language settings." -msgstr "" +msgstr "このフィードは空です!もっと多くのユーザーをフォローするか、言語の設定を調整する必要があるかもしれません。" #: src/view/com/modals/BirthDateSettings.tsx:61 msgid "This information is not shared with other users." @@ -3655,11 +3655,11 @@ msgstr "このリンクは次のウェブサイトへリンクしています: #: src/view/screens/ProfileList.tsx:813 msgid "This list is empty!" -msgstr "" +msgstr "このリストは空です!" #: src/view/com/modals/AddAppPasswords.tsx:105 msgid "This name is already in use" -msgstr "" +msgstr "この名前はすでに使用中です" #: src/view/com/post-thread/PostThreadItem.tsx:123 msgid "This post has been deleted." @@ -3667,15 +3667,15 @@ msgstr "この投稿は削除されました。" #: src/view/com/modals/ModerationDetails.tsx:62 msgid "This user has blocked you. You cannot view their content." -msgstr "" +msgstr "このユーザーはあなたをブロックしているため、あなたはこのユーザーのコンテンツを閲覧できません。" #: src/view/com/modals/ModerationDetails.tsx:42 msgid "This user is included in the <0/> list which you have blocked." -msgstr "" +msgstr "このユーザーは、あなたがブロックした<0/>リストに含まれています。" #: src/view/com/modals/ModerationDetails.tsx:74 msgid "This user is included the <0/> list which you have muted." -msgstr "" +msgstr "このユーザーは、あなたがミュートした<0/>リストに含まれています。" #: src/view/com/modals/SelfLabel.tsx:137 msgid "This warning is only available for posts with media attached." @@ -3696,7 +3696,7 @@ msgstr "スレッドモード" #: src/Navigation.tsx:252 msgid "Threads Preferences" -msgstr "" +msgstr "スレッドの設定" #: src/view/com/util/forms/DropdownButton.tsx:234 msgid "Toggle dropdown" @@ -3715,7 +3715,7 @@ msgstr "翻訳" #: src/view/com/util/error/ErrorScreen.tsx:75 msgctxt "action" msgid "Try again" -msgstr "" +msgstr "再試行" #: src/view/com/util/error/ErrorScreen.tsx:73 #~ msgid "Try again" @@ -3744,7 +3744,7 @@ msgstr "ブロックを解除" #: src/view/com/profile/ProfileHeader.tsx:475 msgctxt "action" msgid "Unblock" -msgstr "" +msgstr "ブロックを解除" #: src/view/com/profile/ProfileHeader.tsx:308 #: src/view/com/profile/ProfileHeader.tsx:392 @@ -3761,11 +3761,11 @@ msgstr "リポストを元に戻す" #: src/view/com/profile/FollowButton.tsx:55 msgctxt "action" msgid "Unfollow" -msgstr "" +msgstr "フォローをやめる" #: src/view/com/profile/ProfileHeader.tsx:524 msgid "Unfollow {0}" -msgstr "" +msgstr "{0}のフォローを解除" #: src/view/com/auth/create/state.ts:298 msgid "Unfortunately, you do not meet the requirements to create an account." @@ -3773,11 +3773,11 @@ msgstr "残念ながら、アカウントを作成するための要件を満た #: src/view/com/util/post-ctrls/PostCtrls.tsx:189 msgid "Unlike" -msgstr "" +msgstr "いいねを外す" #: src/view/screens/ProfileList.tsx:575 msgid "Unmute" -msgstr "" +msgstr "ミュートを解除" #: src/view/com/profile/ProfileHeader.tsx:373 msgid "Unmute Account" @@ -3790,7 +3790,7 @@ msgstr "スレッドのミュートを解除" #: src/view/screens/ProfileFeed.tsx:362 #: src/view/screens/ProfileList.tsx:559 msgid "Unpin" -msgstr "" +msgstr "ピン留めを解除" #: src/view/screens/ProfileList.tsx:452 msgid "Unpin moderation list" @@ -3798,7 +3798,7 @@ msgstr "モデレーションリストのピン留めを解除" #: src/view/screens/ProfileFeed.tsx:354 msgid "Unsave" -msgstr "" +msgstr "保存を解除" #: src/view/com/modals/UserAddRemoveLists.tsx:54 msgid "Update {displayName} in Lists" @@ -3818,7 +3818,7 @@ msgstr "テキストファイルのアップロード先:" #: src/view/screens/AppPasswords.tsx:195 msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password." -msgstr "他のBlueskyクライアントにアカウントやパスワードにフルアクセスする権限を与えずに、アプリパスワードを使ってログインします。" +msgstr "他のBlueskyクライアントにアカウントやパスワードに完全にアクセスする権限を与えずに、アプリパスワードを使ってログインします。" #: src/view/com/modals/ChangeHandle.tsx:515 msgid "Use default provider" @@ -3827,20 +3827,20 @@ msgstr "デフォルトプロバイダーを使用" #: src/view/com/modals/InAppBrowserConsent.tsx:56 #: src/view/com/modals/InAppBrowserConsent.tsx:58 msgid "Use in-app browser" -msgstr "" +msgstr "アプリ内ブラウザーを使用" #: src/view/com/modals/InAppBrowserConsent.tsx:66 #: src/view/com/modals/InAppBrowserConsent.tsx:68 msgid "Use my default browser" -msgstr "" +msgstr "デフォルトのブラウザーを使用" #: src/view/com/modals/AddAppPasswords.tsx:154 msgid "Use this to sign into the other app along with your handle." -msgstr "これとハンドルを使って他のアプリにサインインします。" +msgstr "このアプリパスワードとハンドルを使って他のアプリにサインインします。" #: src/view/com/modals/ServerInput.tsx:105 msgid "Use your domain as your Bluesky client service provider" -msgstr "" +msgstr "あなたのドメインをBlueskyのクライアントサービスプロバイダーとして使用" #: src/view/com/modals/InviteCodes.tsx:200 msgid "Used by:" @@ -3848,15 +3848,15 @@ msgstr "使用者:" #: src/view/com/modals/ModerationDetails.tsx:54 msgid "User Blocked" -msgstr "" +msgstr "ブロック中のユーザー" #: src/view/com/modals/ModerationDetails.tsx:40 msgid "User Blocked by List" -msgstr "" +msgstr "リストによってブロック中のユーザー" #: src/view/com/modals/ModerationDetails.tsx:60 msgid "User Blocks You" -msgstr "" +msgstr "あなたをブロックしているユーザー" #: src/view/com/auth/create/Step3.tsx:38 msgid "User handle" @@ -3865,25 +3865,25 @@ msgstr "ユーザーハンドル" #: src/view/com/lists/ListCard.tsx:84 #: src/view/com/modals/UserAddRemoveLists.tsx:182 msgid "User list by {0}" -msgstr "" +msgstr "<0/>の作成したユーザーリスト" #: src/view/screens/ProfileList.tsx:741 msgid "User list by <0/>" -msgstr "" +msgstr "<0/>の作成したユーザーリスト" #: src/view/com/lists/ListCard.tsx:82 #: src/view/com/modals/UserAddRemoveLists.tsx:180 #: src/view/screens/ProfileList.tsx:739 msgid "User list by you" -msgstr "" +msgstr "あなたの作成したユーザーリスト" #: src/view/com/modals/CreateOrEditList.tsx:138 msgid "User list created" -msgstr "" +msgstr "ユーザーリストを作成しました" #: src/view/com/modals/CreateOrEditList.tsx:125 msgid "User list updated" -msgstr "" +msgstr "ユーザーリストを更新しました" #: src/view/screens/Lists.tsx:58 msgid "User Lists" @@ -3908,7 +3908,7 @@ msgstr "{0}のユーザー" #: src/view/com/auth/create/Step2.tsx:241 msgid "Verification code" -msgstr "" +msgstr "認証コード" #: src/view/screens/Settings.tsx:843 msgid "Verify email" @@ -3929,23 +3929,23 @@ msgstr "新しいメールアドレスを確認" #: src/view/com/modals/VerifyEmail.tsx:103 msgid "Verify Your Email" -msgstr "" +msgstr "メールアドレスを確認" #: src/view/com/profile/ProfileHeader.tsx:701 msgid "View {0}'s avatar" -msgstr "" +msgstr "{0}のアバターを表示" #: src/view/screens/Log.tsx:52 msgid "View debug entry" -msgstr "欠陥事項を表示" +msgstr "デバッグエントリーを表示" #: src/view/com/posts/FeedSlice.tsx:103 msgid "View full thread" -msgstr "" +msgstr "スレッドをすべて表示" #: src/view/com/posts/FeedErrorMessage.tsx:172 msgid "View profile" -msgstr "" +msgstr "プロフィールを表示" #: src/view/com/profile/ProfileSubpageHeader.tsx:128 msgid "View the avatar" @@ -3957,19 +3957,19 @@ msgstr "サイトへアクセス" #: src/view/com/modals/ContentFilteringSettings.tsx:254 msgid "Warn" -msgstr "" +msgstr "警告" #: src/view/com/posts/DiscoverFallbackHeader.tsx:29 #~ msgid "We ran out of posts from your follows. Here's the latest from" -#~ msgstr "" +#~ msgstr "あなたのフォロー中のユーザーの投稿を読み終わりました。以下のフィード内の最新の投稿を表示します:" #: src/view/com/posts/DiscoverFallbackHeader.tsx:29 msgid "We ran out of posts from your follows. Here's the latest from <0/>." -msgstr "" +msgstr "あなたのフォロー中のユーザーの投稿を読み終わりました。フィード<0/>内の最新の投稿を表示します。" #: src/view/com/modals/AppealLabel.tsx:48 msgid "We'll look into your appeal promptly." -msgstr "" +msgstr "私たちはあなたの申し立てを迅速に調査します。" #: src/view/com/auth/create/CreateAccount.tsx:123 msgid "We're so excited to have you join us!" @@ -3977,7 +3977,7 @@ msgstr "私たちはあなたが参加してくれることをとても楽しみ #: src/view/screens/ProfileList.tsx:83 msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}." -msgstr "" +msgstr "大変申し訳ありませんが、このリストを解決できませんでした。それでもこの問題が解決しない場合は、作成者の@{handleOrDid}までお問い合わせください。" #: src/view/screens/Search/Search.tsx:245 msgid "We're sorry, but your search could not be completed. Please try again in a few minutes." @@ -4028,7 +4028,7 @@ msgstr "返信を書く" #: src/view/com/auth/create/Step2.tsx:260 msgid "XXXXXX" -msgstr "" +msgstr "XXXXXX" #: src/view/com/composer/select-language/SuggestedLanguage.tsx:82 #: src/view/screens/PreferencesHomeFeed.tsx:129 @@ -4043,7 +4043,7 @@ msgstr "はい" #: src/view/com/posts/FollowingEmptyState.tsx:67 #: src/view/com/posts/FollowingEndOfFeed.tsx:68 msgid "You can also discover new Custom Feeds to follow." -msgstr "" +msgstr "また、あなたはフォローすべき新しいカスタムフィードを発見できます。" #: src/view/com/auth/create/Step1.tsx:106 #~ msgid "You can change hosting providers at any time." @@ -4076,11 +4076,11 @@ msgstr "あなたが著者をブロックしているか、または著者によ #: src/view/com/modals/ModerationDetails.tsx:56 msgid "You have blocked this user. You cannot view their content." -msgstr "" +msgstr "あなたはこのユーザーをブロックしているため、コンテンツを閲覧できません。" #: src/view/com/modals/ModerationDetails.tsx:87 msgid "You have muted this user." -msgstr "" +msgstr "あなたはこのユーザーをミュートしています。" #: src/view/com/feeds/ProfileFeedgens.tsx:136 msgid "You have no feeds." @@ -4105,15 +4105,15 @@ msgstr "ミュートしているアカウントはまだありません。アカ #: src/view/com/modals/ContentFilteringSettings.tsx:170 msgid "You must be 18 or older to enable adult content." -msgstr "" +msgstr "成人向けコンテンツを有効にするには、18歳以上である必要があります。" #: src/view/com/util/forms/PostDropdownBtn.tsx:96 msgid "You will no longer receive notifications for this thread" -msgstr "" +msgstr "これ以降、このスレッドに関する通知を受け取ることはできなくなります" #: src/view/com/util/forms/PostDropdownBtn.tsx:99 msgid "You will now receive notifications for this thread" -msgstr "" +msgstr "これ以降、このスレッドに関する通知を受け取ることができます" #: src/view/com/auth/login/SetNewPasswordForm.tsx:81 msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password." @@ -4121,7 +4121,7 @@ msgstr "「リセットコード」が記載されたメールが届きます。 #: src/view/com/posts/FollowingEndOfFeed.tsx:48 msgid "You've reached the end of your feed! Find some more accounts to follow." -msgstr "" +msgstr "フィードはここまでです!もっとフォローするアカウントを見つけましょう。" #: src/view/com/auth/create/Step1.tsx:67 msgid "Your account" @@ -4129,7 +4129,7 @@ msgstr "あなたのアカウント" #: src/view/com/modals/DeleteAccount.tsx:65 msgid "Your account has been deleted" -msgstr "" +msgstr "あなたのアカウントは削除されました" #: src/view/com/auth/create/Step1.tsx:182 msgid "Your birth date" @@ -4137,7 +4137,7 @@ msgstr "生年月日" #: src/view/com/modals/InAppBrowserConsent.tsx:47 msgid "Your choice will be saved, but can be changed later in settings." -msgstr "" +msgstr "ここで選択した内容は保存されますが、後から設定で変更できます。" #: src/view/com/auth/create/state.ts:153 #: src/view/com/auth/login/ForgotPasswordForm.tsx:70 @@ -4158,7 +4158,7 @@ msgstr "メールアドレスはまだ確認されていません。これは、 #: src/view/com/posts/FollowingEmptyState.tsx:47 msgid "Your following feed is empty! Follow more users to see what's happening." -msgstr "" +msgstr "フォローフィードは空です!もっと多くのユーザーをフォローして、近況を確認しましょう。" #: src/view/com/auth/create/Step3.tsx:42 msgid "Your full handle will be" @@ -4166,7 +4166,7 @@ msgstr "フルハンドルは" #: src/view/com/modals/ChangeHandle.tsx:270 msgid "Your full handle will be <0>@{0}" -msgstr "" +msgstr "フルハンドルは<0>@{0}になります" #: src/view/com/auth/create/Step1.tsx:53 #~ msgid "Your hosting provider" @@ -4180,7 +4180,7 @@ msgstr "アプリパスワードを使用してログインすると、招待コ #: src/view/com/composer/Composer.tsx:267 msgid "Your post has been published" -msgstr "" +msgstr "投稿を公開しました" #: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:59 @@ -4198,7 +4198,7 @@ msgstr "あなたのプロフィール" #: src/view/com/composer/Composer.tsx:266 msgid "Your reply has been published" -msgstr "" +msgstr "返信を公開しました" #: src/view/com/auth/create/Step3.tsx:28 msgid "Your user handle" diff --git a/src/locale/locales/pt-BR/messages.po b/src/locale/locales/pt-BR/messages.po index 1b6c2905..57c72a6c 100644 --- a/src/locale/locales/pt-BR/messages.po +++ b/src/locale/locales/pt-BR/messages.po @@ -8,22 +8,14 @@ msgstr "" "Language: pt-BR\n" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-01-05 17:00\n" -"Last-Translator: Maison da Silva\n" -"Language-Team: maisondasilva\n" +"PO-Revision-Date: 2024-01-22 12:00\n" +"Last-Translator: gildaswise\n" +"Language-Team: maisondasilva, gildaswise, gleydson, faeriarum\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/view/screens/Profile.tsx:214 -#~ msgid "- end of feed -" -#~ msgstr "" - -#: src/view/com/modals/SelfLabel.tsx:138 -#~ msgid ". This warning is only available for posts with media attached." -#~ msgstr "" - #: src/view/com/modals/VerifyEmail.tsx:142 msgid "(no email)" -msgstr "" +msgstr "(sem email)" #: src/view/shell/desktop/RightNav.tsx:168 msgid "{0, plural, one {# invite code available} other {# invite codes available}}" @@ -40,21 +32,21 @@ msgstr "{0, plural, one {# convite disponível} other {# convites disponíveis}} #: src/view/com/profile/ProfileHeader.tsx:632 msgid "{following} following" -msgstr "" +msgstr "{following} seguindo" #: src/view/shell/desktop/RightNav.tsx:151 msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}" -msgstr "{invitesAvailable, plural, one {Códigos de convite: # disponível} other {Códigos de convite: # disponíveis}}" +msgstr "{invitesAvailable, plural, one {Convites: # disponível} other {Convites: # disponíveis}}" #: src/view/screens/Settings.tsx:435 #: src/view/shell/Drawer.tsx:664 msgid "{invitesAvailable} invite code available" -msgstr "Código de convite {invitesAvailable} disponível" +msgstr "{invitesAvailable} convite disponível" #: src/view/screens/Settings.tsx:437 #: src/view/shell/Drawer.tsx:666 msgid "{invitesAvailable} invite codes available" -msgstr "Códigos de convite {invitesAvailable} disponíveis" +msgstr "{invitesAvailable} convites disponíveis" #: src/view/screens/Search/Search.tsx:87 #~ msgid "{message}" @@ -62,11 +54,11 @@ msgstr "Códigos de convite {invitesAvailable} disponíveis" #: src/view/shell/Drawer.tsx:443 msgid "{numUnreadNotifications} unread" -msgstr "" +msgstr "{numUnreadNotifications} não lidas" #: src/Navigation.tsx:147 #~ msgid "@{0}" -#~ msgstr "" +#~ msgstr "@{0}" #: src/view/com/threadgate/WhoCanReply.tsx:158 msgid "<0/> members" @@ -74,35 +66,23 @@ msgstr "<0/> membros" #: src/view/com/profile/ProfileHeader.tsx:634 msgid "<0>{following} <1>following" -msgstr "" +msgstr "<0>{seguindo} <1>seguindo" #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30 msgid "<0>Choose your<1>Recommended<2>Feeds" -msgstr "<0>Escolha seu<1>Recomendado<2>Feeds" +msgstr "<0>Escolha seus<2>Feeds<1>recomendados" #: src/view/com/auth/onboarding/RecommendedFollows.tsx:37 msgid "<0>Follow some<1>Recommended<2>Users" -msgstr "<0>Seguir alguns<1>Recomendado<2>Usuários" - -#: src/view/com/modals/AddAppPasswords.tsx:132 -#~ msgid "<0>Here is your app password. Use this to sign into the other app along with your handle." -#~ msgstr "" - -#: src/view/screens/Moderation.tsx:212 -#~ msgid "<0>Note: This setting may not be respected by third-party apps that display Bluesky content." -#~ msgstr "" - -#: src/view/screens/Moderation.tsx:212 -#~ msgid "<0>Note: Your profile and posts will remain publicly available. Third-party apps that display Bluesky content may not respect this setting." -#~ msgstr "" +msgstr "<0>Siga alguns<2>Usuários<1>recomendados" #: src/view/com/auth/onboarding/WelcomeDesktop.tsx:21 msgid "<0>Welcome to<1>Bluesky" -msgstr "" +msgstr "<0>Bem-vindo ao<1>Bluesky" #: src/view/com/profile/ProfileHeader.tsx:597 msgid "⚠Invalid Handle" -msgstr "" +msgstr "⚠Usuário Inválido" #: src/view/com/util/moderation/LabelInfo.tsx:45 msgid "A content warning has been applied to this {0}." @@ -115,11 +95,11 @@ msgstr "Uma nova versão do aplicativo está disponível. Por favor, atualize pa #: src/view/com/util/ViewHeader.tsx:83 #: src/view/screens/Search/Search.tsx:545 msgid "Access navigation links and settings" -msgstr "" +msgstr "Acessar links de navegação e configurações" #: src/view/com/pager/FeedsTabBarMobile.tsx:83 msgid "Access profile and other navigation links" -msgstr "" +msgstr "Acessar perfil e outros links de navegação" #: src/view/com/modals/EditImage.tsx:299 #: src/view/screens/Settings.tsx:445 @@ -133,35 +113,35 @@ msgstr "Conta" #: src/view/com/profile/ProfileHeader.tsx:293 msgid "Account blocked" -msgstr "" +msgstr "Conta bloqueada" #: src/view/com/profile/ProfileHeader.tsx:260 msgid "Account muted" -msgstr "" +msgstr "Conta silenciada" #: src/view/com/modals/ModerationDetails.tsx:86 msgid "Account Muted" -msgstr "" +msgstr "Conta Silenciada" #: src/view/com/modals/ModerationDetails.tsx:72 msgid "Account Muted by List" -msgstr "" +msgstr "Conta Silenciada por Lista" #: src/view/com/util/AccountDropdownBtn.tsx:41 msgid "Account options" -msgstr "Opções da conta" +msgstr "Configurações da conta" #: src/view/com/util/AccountDropdownBtn.tsx:25 msgid "Account removed from quick access" -msgstr "" +msgstr "Conta removida do acesso rápido" #: src/view/com/profile/ProfileHeader.tsx:315 msgid "Account unblocked" -msgstr "" +msgstr "Conta desbloqueada" #: src/view/com/profile/ProfileHeader.tsx:273 msgid "Account unmuted" -msgstr "" +msgstr "Conta dessilenciada" #: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150 #: src/view/com/modals/ListAddRemoveUsers.tsx:264 @@ -193,7 +173,7 @@ msgstr "Adicionar texto alternativo" #: src/view/screens/AppPasswords.tsx:143 #: src/view/screens/AppPasswords.tsx:156 msgid "Add App Password" -msgstr "" +msgstr "Adicionar Senha de Aplicativo" #: src/view/com/modals/report/InputIssueDetails.tsx:41 #: src/view/com/modals/report/Modal.tsx:191 @@ -202,15 +182,15 @@ msgstr "Adicionar detalhes" #: src/view/com/modals/report/Modal.tsx:194 msgid "Add details to report" -msgstr "Adicionar detalhes ao relatório" +msgstr "Adicionar detalhes à denúncia" #: src/view/com/composer/Composer.tsx:446 msgid "Add link card" -msgstr "Adicionar cartão de link" +msgstr "Adicionar prévia de link" #: src/view/com/composer/Composer.tsx:451 msgid "Add link card:" -msgstr "Adicionar cartão de link:" +msgstr "Adicionar prévia de link:" #: src/view/com/modals/ChangeHandle.tsx:417 msgid "Add the following DNS record to your domain:" @@ -227,7 +207,7 @@ msgstr "Adicionar aos meus feeds" #: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:139 msgid "Added" -msgstr "" +msgstr "Adicionado" #: src/view/com/modals/ListAddRemoveUsers.tsx:191 #: src/view/com/modals/UserAddRemoveLists.tsx:128 @@ -236,11 +216,11 @@ msgstr "Adicionado à lista" #: src/view/com/feeds/FeedSourceCard.tsx:125 msgid "Added to my feeds" -msgstr "" +msgstr "Adicionado aos meus feeds" #: src/view/screens/PreferencesHomeFeed.tsx:173 msgid "Adjust the number of likes a reply must have to be shown in your feed." -msgstr "Ajuste o número de curtidas que uma resposta deve ser mostrada no seu feed." +msgstr "Ajuste o número de curtidas para que uma resposta apareça no seu feed." #: src/view/com/modals/SelfLabel.tsx:75 msgid "Adult Content" @@ -248,7 +228,7 @@ msgstr "Conteúdo Adulto" #: src/view/com/modals/ContentFilteringSettings.tsx:137 msgid "Adult content can only be enabled via the Web at <0/>." -msgstr "" +msgstr "Conteúdo adulto só pode ser habilitado no site: <0/>." #: src/view/screens/Settings.tsx:630 msgid "Advanced" @@ -256,7 +236,7 @@ msgstr "Avançado" #: src/view/com/auth/login/ChooseAccountForm.tsx:98 msgid "Already signed in as @{0}" -msgstr "" +msgstr "Já logado como @{0}" #: src/view/com/composer/photos/Gallery.tsx:130 msgid "ALT" @@ -268,7 +248,7 @@ msgstr "Texto alternativo" #: src/view/com/composer/photos/Gallery.tsx:209 msgid "Alt text describes images for blind and low-vision users, and helps give context to everyone." -msgstr "O texto alternativo descreve imagens para usuários cegos e com baixa visão e ajuda a dar contexto a todos." +msgstr "O texto alternativo descreve imagens para usuários cegos e com baixa visão, além de dar contexto a todos." #: src/view/com/modals/VerifyEmail.tsx:124 msgid "An email has been sent to {0}. It includes a confirmation code which you can enter below." @@ -276,12 +256,12 @@ msgstr "Um email foi enviado para {0}. Ele inclui um código de confirmação qu #: src/view/com/modals/ChangeEmail.tsx:119 msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below." -msgstr "Um email foi enviado para seu endereço anterior, {0}. Ele inclui um código de confirmação que você pode inserir abaixo." +msgstr "Um email foi enviado para seu email anterior, {0}. Ele inclui um código de confirmação que você pode inserir abaixo." #: src/view/com/profile/FollowButton.tsx:30 #: src/view/com/profile/FollowButton.tsx:40 msgid "An issue occurred, please try again." -msgstr "" +msgstr "Ocorreu um problema, por favor tente novamente." #: src/view/com/notifications/FeedItem.tsx:240 #: src/view/com/threadgate/WhoCanReply.tsx:178 @@ -294,19 +274,19 @@ msgstr "Idioma do aplicativo" #: src/view/screens/AppPasswords.tsx:228 msgid "App password deleted" -msgstr "" +msgstr "Senha de Aplicativo excluída" #: src/view/com/modals/AddAppPasswords.tsx:133 msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores." -msgstr "" +msgstr "O nome da Senha de Aplicativo só pode conter letras, números, traços e sublinhados." #: src/view/com/modals/AddAppPasswords.tsx:98 msgid "App Password names must be at least 4 characters long." -msgstr "" +msgstr "O nome da Senha de Aplicativo precisa ter no mínimo 4 caracteres." #: src/view/screens/Settings.tsx:641 msgid "App password settings" -msgstr "" +msgstr "Configurações de Senha de Aplicativo" #: src/view/screens/Settings.tsx:650 msgid "App passwords" @@ -319,23 +299,19 @@ msgstr "Senhas de Aplicativos" #: src/view/com/util/forms/PostDropdownBtn.tsx:248 msgid "Appeal content warning" -msgstr "Aviso de conteúdo de apelação" +msgstr "Contestar aviso de conteúdo" #: src/view/com/modals/AppealLabel.tsx:65 msgid "Appeal Content Warning" -msgstr "Aviso de Conteúdo de Apelação" - -#: src/view/com/modals/AppealLabel.tsx:65 -#~ msgid "Appeal Decision" -#~ msgstr "" +msgstr "Contestar aviso de conteúdo" #: src/view/com/util/moderation/LabelInfo.tsx:52 msgid "Appeal this decision" -msgstr "Apelar a esta decisão" +msgstr "Contestar esta decisão" #: src/view/com/util/moderation/LabelInfo.tsx:56 msgid "Appeal this decision." -msgstr "Apelar a esta decisão." +msgstr "Contestar esta decisão." #: src/view/screens/Settings.tsx:460 msgid "Appearance" @@ -343,7 +319,7 @@ msgstr "Aparência" #: src/view/screens/Moderation.tsx:206 #~ msgid "Apps that respect this setting, including the official Bluesky app and bsky.app website, won't show your content to logged out users." -#~ msgstr "" +#~ 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." #: src/view/screens/AppPasswords.tsx:224 msgid "Are you sure you want to delete the app password \"{name}\"?" @@ -363,7 +339,7 @@ msgstr "Tem certeza? Esta ação não poderá ser desfeita." #: src/view/com/composer/select-language/SuggestedLanguage.tsx:65 msgid "Are you writing in <0>{0}?" -msgstr "" +msgstr "Você está escrevendo em <0>{0}?" #: src/view/com/modals/SelfLabel.tsx:123 msgid "Artistic or non-erotic nudity." @@ -371,7 +347,7 @@ msgstr "Nudez artística ou não erótica." #: src/view/screens/Moderation.tsx:189 #~ msgid "Ask apps to limit the visibility of my account" -#~ msgstr "" +#~ msgstr "Exigir visibilidade limitada da minha conta" #: src/view/com/auth/create/CreateAccount.tsx:142 #: src/view/com/auth/login/ChooseAccountForm.tsx:151 @@ -390,7 +366,7 @@ msgstr "Voltar" #: src/view/com/post-thread/PostThread.tsx:400 msgctxt "action" msgid "Back" -msgstr "" +msgstr "Voltar" #: src/view/screens/Settings.tsx:489 msgid "Basics" @@ -420,16 +396,16 @@ msgstr "Lista de bloqueio" #: src/view/screens/ProfileList.tsx:315 msgid "Block these accounts?" -msgstr "Bloquear esta conta?" +msgstr "Bloquear estas contas?" #: src/view/screens/ProfileList.tsx:319 msgid "Block this List" -msgstr "" +msgstr "Bloquear esta Lista" #: src/view/com/lists/ListCard.tsx:109 #: src/view/com/util/post-embeds/QuoteEmbed.tsx:60 msgid "Blocked" -msgstr "" +msgstr "Bloqueado" #: src/view/screens/Moderation.tsx:123 msgid "Blocked accounts" @@ -442,11 +418,11 @@ msgstr "Contas Bloqueadas" #: src/view/com/profile/ProfileHeader.tsx:288 msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you." -msgstr "Contas bloqueadas não podem responder em seus tópicos, mencioná-lo ou interagir com você." +msgstr "Contas bloqueadas não podem te responder, mencionar ou interagir com você." #: src/view/screens/ModerationBlockedAccounts.tsx:115 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." -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." +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." #: src/view/com/post-thread/PostThread.tsx:254 msgid "Blocked post." @@ -454,7 +430,7 @@ msgstr "Post bloqueado." #: src/view/screens/ProfileList.tsx:317 msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you." -msgstr "Bloquear é público. Contas bloqueadas não podem responder em seus tópicos, mencioná-lo ou interagir com você." +msgstr "Bloqueios são públicos. Contas bloqueadas não podem te responder, mencionar ou interagir com você." #: src/view/com/auth/HomeLoggedOutCTA.tsx:93 msgid "Blog" @@ -472,7 +448,7 @@ msgstr "Bluesky é flexível." #: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:69 msgid "Bluesky is open." -msgstr "Bluesky está aberto." +msgstr "Bluesky é aberto." #: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:56 @@ -481,11 +457,11 @@ msgstr "Bluesky é público." #: src/view/com/modals/Waitlist.tsx:70 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." -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." +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ê." #: src/view/screens/Moderation.tsx:225 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." -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." +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." #: src/view/com/modals/ServerInput.tsx:78 msgid "Bluesky.Social" @@ -493,34 +469,34 @@ msgstr "Bluesky.Social" #: src/view/screens/Settings.tsx:792 msgid "Build version {0} {1}" -msgstr "Versão da compilação {0} {1}" +msgstr "Versão {0} {1}" #: src/view/com/auth/HomeLoggedOutCTA.tsx:87 msgid "Business" -msgstr "Negócios" +msgstr "Empresarial" #: src/view/com/modals/ServerInput.tsx:115 msgid "Button disabled. Input custom domain to proceed." -msgstr "" +msgstr "Botão desabilitado. Utilize um domínio personalizado para continuar." #: src/view/com/profile/ProfileSubpageHeader.tsx:157 msgid "by —" -msgstr "" +msgstr "por -" #: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:100 msgid "by {0}" -msgstr "" +msgstr "por {0}" #: src/view/com/profile/ProfileSubpageHeader.tsx:161 msgid "by <0/>" -msgstr "" +msgstr "por <0/>" #: src/view/com/profile/ProfileSubpageHeader.tsx:159 msgid "by you" -msgstr "" +msgstr "por você" #: src/view/com/composer/photos/OpenCameraBtn.tsx:60 -#: src/view/com/util/UserAvatar.tsx:221 +#: src/view/com/util/UserAvatar.tsx:221 #: src/view/com/util/UserBanner.tsx:38 msgid "Camera" msgstr "Câmera" @@ -555,20 +531,16 @@ msgstr "Cancelar" #: src/view/com/modals/DeleteAccount.tsx:230 msgctxt "action" msgid "Cancel" -msgstr "" +msgstr "Cancelar" #: src/view/com/modals/DeleteAccount.tsx:148 #: src/view/com/modals/DeleteAccount.tsx:226 msgid "Cancel account deletion" msgstr "Cancelar exclusão da conta" -#: src/view/com/modals/AltImage.tsx:123 -#~ msgid "Cancel add image alt text" -#~ msgstr "Cancelar adição de texto alternativo da imagem" - #: src/view/com/modals/ChangeHandle.tsx:149 msgid "Cancel change handle" -msgstr "Cancelar alteração de identificador" +msgstr "Cancelar alteração de usuário" #: src/view/com/modals/crop-image/CropImage.web.tsx:134 msgid "Cancel image crop" @@ -580,7 +552,7 @@ msgstr "Cancelar edição do perfil" #: src/view/com/modals/Repost.tsx:78 msgid "Cancel quote post" -msgstr "Cancelar citação de um post" +msgstr "Cancelar citação" #: src/view/com/modals/ListAddRemoveUsers.tsx:87 #: src/view/shell/desktop/Search.tsx:234 @@ -594,7 +566,7 @@ msgstr "Cancelar inscrição na lista de espera" #: src/view/screens/Settings.tsx:334 msgctxt "action" msgid "Change" -msgstr "" +msgstr "Alterar" #: src/view/screens/Settings.tsx:306 #~ msgid "Change" @@ -603,11 +575,11 @@ msgstr "" #: src/view/screens/Settings.tsx:662 #: src/view/screens/Settings.tsx:671 msgid "Change handle" -msgstr "Alterar Identificador" +msgstr "Alterar usuário" #: src/view/com/modals/ChangeHandle.tsx:161 msgid "Change Handle" -msgstr "Alterar Identificador" +msgstr "Alterar Usuário" #: src/view/com/modals/VerifyEmail.tsx:147 msgid "Change my email" @@ -615,7 +587,7 @@ msgstr "Alterar meu email" #: src/view/com/composer/select-language/SuggestedLanguage.tsx:78 msgid "Change post language to {0}" -msgstr "" +msgstr "Trocar idioma do post para {0}" #: src/view/com/modals/ChangeEmail.tsx:109 msgid "Change Your Email" @@ -623,7 +595,7 @@ msgstr "Altere o Seu Email" #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:121 msgid "Check out some recommended feeds. Tap + to add them to your list of pinned feeds." -msgstr "Confira alguns feeds recomendados. Toque em + para adicioná-los a sua lista de feeds fixados." +msgstr "Confira alguns feeds recomendados. Toque em + para adicioná-los à sua lista de feeds fixados." #: src/view/com/auth/onboarding/RecommendedFollows.tsx:185 msgid "Check out some recommended users. Follow them to see similar users." @@ -631,28 +603,24 @@ msgstr "Confira alguns usuários recomendados. Siga-os para ver usuários semelh #: src/view/com/modals/DeleteAccount.tsx:165 msgid "Check your inbox for an email with the confirmation code to enter below:" -msgstr "Verifique sua caixa de entrada para um email com o código de confirmação abaixo:" +msgstr "Verifique em sua caixa de entrada um e-mail com o código de confirmação abaixo:" #: src/view/com/modals/Threadgate.tsx:72 msgid "Choose \"Everybody\" or \"Nobody\"" -msgstr "Escolha \"Everybody\" ou \"Nobody\"" +msgstr "Escolha \"Todos\" ou \"Ninguém\"" #: src/view/screens/Settings.tsx:663 msgid "Choose a new Bluesky username or create" -msgstr "" +msgstr "Crie ou escolha um novo usuário no Bluesky" #: src/view/com/modals/ServerInput.tsx:38 msgid "Choose Service" -msgstr "Escolher o Serviço" +msgstr "Escolher Serviço" #: src/view/com/auth/onboarding/WelcomeDesktop.tsx:83 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:83 msgid "Choose the algorithms that power your experience with custom feeds." -msgstr "Escolha os algoritmos que alimentam a sua experiência com feeds personalizados." - -#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:65 -#~ msgid "Choose your" -#~ msgstr "" +msgstr "Escolha os algoritmos que fazem sentido para você com os feeds personalizados." #: src/view/com/auth/create/Step1.tsx:163 msgid "Choose your password" @@ -665,7 +633,7 @@ msgstr "Limpar todos os dados de armazenamento legados" #: src/view/screens/Settings.tsx:770 msgid "Clear all legacy storage data (restart after this)" -msgstr "Limpar todos os dados de armazenamento legados (reinicie após isso)" +msgstr "Limpar todos os dados de armazenamento legados (reinicie em seguida)" #: src/view/screens/Settings.tsx:779 #: src/view/screens/Settings.tsx:780 @@ -674,20 +642,20 @@ msgstr "Limpar todos os dados de armazenamento" #: src/view/screens/Settings.tsx:782 msgid "Clear all storage data (restart after this)" -msgstr "Limpar todos os dados de armazenamento (reiniciar após isso)" +msgstr "Limpar todos os dados de armazenamento (reinicie em seguida)" #: src/view/com/util/forms/SearchInput.tsx:74 #: src/view/screens/Search/Search.tsx:590 msgid "Clear search query" -msgstr "Limpar consulta de busca" +msgstr "Limpar busca" #: src/view/screens/Support.tsx:40 msgid "click here" -msgstr "" +msgstr "clique aqui" #: src/components/Dialog/index.web.tsx:78 msgid "Close active dialog" -msgstr "" +msgstr "Fechar janela ativa" #: src/view/com/auth/login/PasswordUpdatedForm.tsx:38 msgid "Close alert" @@ -695,7 +663,7 @@ msgstr "Fechar alerta" #: src/view/com/util/BottomSheetCustomBackdrop.tsx:33 msgid "Close bottom drawer" -msgstr "Fechar gaveta inferior" +msgstr "Fechar parte inferior" #: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:26 msgid "Close image" @@ -707,27 +675,27 @@ msgstr "Fechar visualizador de imagens" #: src/view/shell/index.web.tsx:51 msgid "Close navigation footer" -msgstr "Feche o painel de navegação" +msgstr "Fechar o painel de navegação" #: src/view/shell/index.web.tsx:52 msgid "Closes bottom navigation bar" -msgstr "" +msgstr "Fecha barra de navegação inferior" #: src/view/com/auth/login/PasswordUpdatedForm.tsx:39 msgid "Closes password update alert" -msgstr "" +msgstr "Fecha alerta de troca de senha" #: src/view/com/composer/Composer.tsx:302 msgid "Closes post composer and discards post draft" -msgstr "" +msgstr "Fecha o editor de post e descarta o rascunho" #: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27 msgid "Closes viewer for header image" -msgstr "" +msgstr "Fechar o visualizador de banner" #: src/view/com/notifications/FeedItem.tsx:321 msgid "Collapses list of users for a given notification" -msgstr "" +msgstr "Fecha lista de usuários da notificação" #: src/Navigation.tsx:227 #: src/view/screens/CommunityGuidelines.tsx:32 @@ -736,7 +704,7 @@ msgstr "Diretrizes da Comunidade" #: src/view/com/composer/Composer.tsx:417 msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length" -msgstr "" +msgstr "Escreva posts de até {MAX_GRAPHEME_LENGTH} caracteres" #: src/view/com/composer/Prompt.tsx:24 msgid "Compose reply" @@ -750,13 +718,19 @@ msgstr "Escrever resposta" #: src/view/screens/PreferencesHomeFeed.tsx:308 #: src/view/screens/PreferencesThreads.tsx:159 msgid "Confirm" -msgstr "Confirme" +msgstr "Confirmar" #: src/view/com/modals/Confirm.tsx:75 #: src/view/com/modals/Confirm.tsx:78 msgctxt "action" msgid "Confirm" -msgstr "" +msgstr "Confirmar" + +#: src/view/com/modals/Confirm.tsx:75 +#: src/view/com/modals/Confirm.tsx:78 +msgctxt "action" +msgid "Confirm" +msgstr "Confirmar" #: src/view/com/modals/ChangeEmail.tsx:193 #: src/view/com/modals/ChangeEmail.tsx:195 @@ -773,7 +747,7 @@ msgstr "Confirmar a exclusão da conta" #: src/view/com/modals/ContentFilteringSettings.tsx:151 msgid "Confirm your age to enable adult content." -msgstr "" +msgstr "Confirme sua idade para habilitar conteúdo adulto." #: src/view/com/modals/ChangeEmail.tsx:157 #: src/view/com/modals/DeleteAccount.tsx:178 @@ -783,7 +757,7 @@ msgstr "Código de confirmação" #: src/view/com/modals/Waitlist.tsx:120 msgid "Confirms signing up {email} to the waitlist" -msgstr "" +msgstr "Confirma adição de {email} à lista de espera" #: src/view/com/auth/create/CreateAccount.tsx:175 #: src/view/com/auth/login/LoginForm.tsx:275 @@ -792,24 +766,24 @@ msgstr "Conectando..." #: src/view/com/auth/create/CreateAccount.tsx:195 msgid "Contact support" -msgstr "" +msgstr "Contatar suporte" #: src/view/screens/Moderation.tsx:81 msgid "Content filtering" -msgstr "Filtragem de conteúdo" +msgstr "Filtragem do conteúdo" #: src/view/com/modals/ContentFilteringSettings.tsx:44 msgid "Content Filtering" -msgstr "Filtragem de Conteúdo" +msgstr "Filtragem do Conteúdo" #: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74 #: src/view/screens/LanguageSettings.tsx:278 msgid "Content Languages" -msgstr "Idiomas de Conteúdo" +msgstr "Idiomas do Conteúdo" #: src/view/com/modals/ModerationDetails.tsx:65 msgid "Content Not Available" -msgstr "" +msgstr "Conteúdo Indisponível" #: src/view/com/modals/ModerationDetails.tsx:33 #: src/view/com/util/moderation/ScreenHider.tsx:78 @@ -832,17 +806,17 @@ msgstr "Copiado" #: src/view/screens/Settings.tsx:243 msgid "Copied build version to clipboard" -msgstr "" +msgstr "Versão do aplicativo copiada" #: src/view/com/modals/AddAppPasswords.tsx:75 #: src/view/com/modals/InviteCodes.tsx:152 #: src/view/com/util/forms/PostDropdownBtn.tsx:110 msgid "Copied to clipboard" -msgstr "" +msgstr "Copiado" #: src/view/com/modals/AddAppPasswords.tsx:191 msgid "Copies app password" -msgstr "" +msgstr "Copia senha de aplicativo" #: src/view/com/modals/AddAppPasswords.tsx:190 msgid "Copy" @@ -854,7 +828,7 @@ msgstr "Copiar link da lista" #: src/view/com/util/forms/PostDropdownBtn.tsx:151 msgid "Copy link to post" -msgstr "Copiar link para postar" +msgstr "Copiar link do post" #: src/view/com/profile/ProfileHeader.tsx:342 msgid "Copy link to profile" @@ -862,7 +836,7 @@ msgstr "Copiar link do perfil" #: src/view/com/util/forms/PostDropdownBtn.tsx:137 msgid "Copy post text" -msgstr "Copiar texto da postagem" +msgstr "Copiar texto do post" #: src/Navigation.tsx:232 #: src/view/screens/CopyrightPolicy.tsx:29 @@ -879,7 +853,7 @@ msgstr "Não foi possível carregar a lista" #: src/view/com/auth/create/Step2.tsx:89 msgid "Country" -msgstr "" +msgstr "País" #: src/view/com/auth/HomeLoggedOutCTA.tsx:62 #: src/view/com/auth/SplashScreen.tsx:46 @@ -889,7 +863,7 @@ msgstr "Criar uma nova conta" #: src/view/screens/Settings.tsx:384 msgid "Create a new Bluesky account" -msgstr "" +msgstr "Criar uma nova conta do Bluesky" #: src/view/com/auth/create/CreateAccount.tsx:122 msgid "Create Account" @@ -897,7 +871,7 @@ msgstr "Criar Conta" #: src/view/com/modals/AddAppPasswords.tsx:228 msgid "Create App Password" -msgstr "" +msgstr "Criar Senha de Aplicativo" #: src/view/com/auth/HomeLoggedOutCTA.tsx:54 #: src/view/com/auth/SplashScreen.tsx:43 @@ -906,19 +880,19 @@ msgstr "Criar uma nova conta" #: src/view/screens/AppPasswords.tsx:249 msgid "Created {0}" -msgstr "Criado {0}" +msgstr "{0} criada" #: src/view/screens/ProfileFeed.tsx:625 msgid "Created by <0/>" -msgstr "" +msgstr "Criado por <0/>" #: src/view/screens/ProfileFeed.tsx:623 msgid "Created by you" -msgstr "" +msgstr "Criado por você" #: src/view/com/composer/Composer.tsx:448 msgid "Creates a card with a thumbnail. The card links to {url}" -msgstr "" +msgstr "Cria uma prévia com miniatura. A prévia faz um link para {url}" #: src/view/com/modals/ChangeHandle.tsx:389 #: src/view/com/modals/ServerInput.tsx:102 @@ -927,27 +901,27 @@ msgstr "Domínio personalizado" #: src/view/screens/PreferencesExternalEmbeds.tsx:55 msgid "Customize media from external sites." -msgstr "Personalize a mídia de sites externos." +msgstr "Configurar mídia de sites externos." #: src/view/screens/Settings.tsx:687 msgid "Danger Zone" -msgstr "Zona de Perigo" +msgstr "Zona Perigosa" #: src/view/screens/Settings.tsx:479 msgid "Dark" -msgstr "" +msgstr "Escuro" #: src/view/screens/Debug.tsx:63 msgid "Dark mode" -msgstr "" +msgstr "Modo escuro" #: src/Navigation.tsx:204 #~ msgid "Debug" -#~ msgstr "" +#~ msgstr "Depuração" #: src/view/screens/Debug.tsx:83 msgid "Debug panel" -msgstr "" +msgstr "Painel de depuração" #: src/view/screens/Settings.tsx:694 msgid "Delete account" @@ -960,7 +934,7 @@ msgstr "Excluir a Conta" #: src/view/screens/AppPasswords.tsx:222 #: src/view/screens/AppPasswords.tsx:242 msgid "Delete app password" -msgstr "Excluir senha do aplicativo" +msgstr "Excluir senha de aplicativo" #: src/view/screens/ProfileList.tsx:363 #: src/view/screens/ProfileList.tsx:423 @@ -985,7 +959,7 @@ msgstr "Excluir este post?" #: src/view/com/util/post-embeds/QuoteEmbed.tsx:69 msgid "Deleted" -msgstr "" +msgstr "Excluído" #: src/view/com/post-thread/PostThread.tsx:246 msgid "Deleted post." @@ -1004,7 +978,7 @@ msgstr "Descrição" #: src/view/screens/Settings.tsx:711 msgid "Developer Tools" -msgstr "Ferramentas do Desenvolvedor" +msgstr "Ferramentas de Desenvolvedor" #: src/view/com/composer/Composer.tsx:211 msgid "Did you want to say anything?" @@ -1020,12 +994,12 @@ msgstr "Descartar rascunho" #: src/view/screens/Moderation.tsx:207 msgid "Discourage apps from showing my account to logged-out users" -msgstr "Desencorajar aplicativos de mostrar minha conta para usuários desconectados" +msgstr "Desencorajar aplicativos a mostrar minha conta para usuários deslogados" #: src/view/com/posts/FollowingEmptyState.tsx:74 #: src/view/com/posts/FollowingEndOfFeed.tsx:75 msgid "Discover new custom feeds" -msgstr "" +msgstr "Descubra novos feeds" #: src/view/screens/Feeds.tsx:409 msgid "Discover new feeds" @@ -1045,7 +1019,7 @@ msgstr "Domínio verificado!" #: src/view/com/auth/create/Step1.tsx:114 msgid "Don't have an invite code?" -msgstr "" +msgstr "Não possui um convite?" #: src/view/com/auth/onboarding/RecommendedFollows.tsx:86 #: src/view/com/modals/EditImage.tsx:333 @@ -1058,7 +1032,7 @@ msgstr "" #: src/view/screens/PreferencesThreads.tsx:162 msgctxt "action" msgid "Done" -msgstr "" +msgstr "Feito" #: src/view/com/modals/AddAppPasswords.tsx:228 #: src/view/com/modals/AltImage.tsx:115 @@ -1078,40 +1052,40 @@ msgstr "Feito{extraText}" #: src/view/com/auth/login/ChooseAccountForm.tsx:45 msgid "Double tap to sign in" -msgstr "" +msgstr "Toque duas vezes para logar" #: src/view/com/modals/EditProfile.tsx:185 msgid "e.g. Alice Roberts" -msgstr "" +msgstr "ex. Alice Roberts" #: src/view/com/modals/EditProfile.tsx:203 msgid "e.g. Artist, dog-lover, and avid reader." -msgstr "" +msgstr "ex. Artista, amo cachorros, leitora ávida." #: src/view/com/modals/CreateOrEditList.tsx:223 msgid "e.g. Great Posters" -msgstr "" +msgstr "ex. Perfis Legais" #: src/view/com/modals/CreateOrEditList.tsx:224 msgid "e.g. Spammers" -msgstr "" +msgstr "ex. Chatos" #: src/view/com/modals/CreateOrEditList.tsx:244 msgid "e.g. The posters who never miss." -msgstr "" +msgstr "ex. Os perfis que eu mais gosto." #: src/view/com/modals/CreateOrEditList.tsx:245 msgid "e.g. Users that repeatedly reply with ads." -msgstr "" +msgstr "ex. Perfis que enchem o saco." #: src/view/com/modals/InviteCodes.tsx:96 msgid "Each code works once. You'll receive more invite codes periodically." -msgstr "Cada código só funciona uma vez. Você receberá mais códigos de convite periodicamente." +msgstr "Cada convite só funciona uma vez. Você receberá mais convites periodicamente." #: src/view/com/lists/ListMembers.tsx:149 msgctxt "action" msgid "Edit" -msgstr "" +msgstr "Editar" #: src/view/com/composer/photos/Gallery.tsx:144 #: src/view/com/modals/EditImage.tsx:207 @@ -1124,7 +1098,7 @@ msgstr "Editar detalhes da lista" #: src/view/com/modals/CreateOrEditList.tsx:192 msgid "Edit Moderation List" -msgstr "" +msgstr "Editar lista de moderação" #: src/Navigation.tsx:242 #: src/view/screens/Feeds.tsx:371 @@ -1150,15 +1124,15 @@ msgstr "Editar Feeds Salvos" #: src/view/com/modals/CreateOrEditList.tsx:187 msgid "Edit User List" -msgstr "" +msgstr "Editar lista de usuários" #: src/view/com/modals/EditProfile.tsx:193 msgid "Edit your display name" -msgstr "" +msgstr "Editar seu nome" #: src/view/com/modals/EditProfile.tsx:211 msgid "Edit your profile description" -msgstr "" +msgstr "Editar sua descrição" #: src/view/com/auth/create/Step1.tsx:143 #: src/view/com/auth/create/Step2.tsx:192 @@ -1167,49 +1141,49 @@ msgstr "" #: src/view/com/modals/ChangeEmail.tsx:141 #: src/view/com/modals/Waitlist.tsx:88 msgid "Email" -msgstr "Email" +msgstr "E-mail" #: src/view/com/auth/create/Step1.tsx:134 #: src/view/com/auth/login/ForgotPasswordForm.tsx:143 msgid "Email address" -msgstr "Endereço de email" +msgstr "Endereço de e-mail" #: src/view/com/modals/ChangeEmail.tsx:56 #: src/view/com/modals/ChangeEmail.tsx:88 msgid "Email updated" -msgstr "" +msgstr "E-mail atualizado" #: src/view/com/modals/ChangeEmail.tsx:111 msgid "Email Updated" -msgstr "Email Atualizado" +msgstr "E-mail Atualizado" #: src/view/com/modals/VerifyEmail.tsx:78 msgid "Email verified" -msgstr "" +msgstr "E-mail verificado" #: src/view/screens/Settings.tsx:312 msgid "Email:" -msgstr "Email:" +msgstr "E-mail:" #: src/view/com/modals/EmbedConsent.tsx:113 msgid "Enable {0} only" -msgstr "Ativar {0} somente" +msgstr "Habilitar somente {0}" #: src/view/com/modals/ContentFilteringSettings.tsx:162 msgid "Enable Adult Content" -msgstr "" +msgstr "Habilitar Conteúdo Adulto" #: src/view/com/modals/EmbedConsent.tsx:97 msgid "Enable External Media" -msgstr "Ativar Mídia Externa" +msgstr "Habilitar Mídia Externa" #: src/view/screens/PreferencesExternalEmbeds.tsx:75 msgid "Enable media players for" -msgstr "" +msgstr "Habilitar mídia para" #: src/view/screens/PreferencesHomeFeed.tsx:147 msgid "Enable this setting to only see replies between people you follow." -msgstr "Ative esta configuração para ver apenas as respostas entre as pessoas que você segue." +msgstr "Ative esta configuração para ver respostas apenas entre as pessoas que você segue." #: src/view/screens/Profile.tsx:427 msgid "End of feed" @@ -1217,11 +1191,11 @@ msgstr "Fim do feed" #: src/view/com/modals/AddAppPasswords.tsx:165 msgid "Enter a name for this App Password" -msgstr "" +msgstr "Insira um nome para esta Senha de Aplicativo" #: src/view/com/modals/VerifyEmail.tsx:105 msgid "Enter Confirmation Code" -msgstr "" +msgstr "Insira o código de confirmação" #: src/view/com/auth/create/Step1.tsx:71 #~ msgid "Enter the address of your provider:" @@ -1233,32 +1207,32 @@ msgstr "Digite o domínio que você deseja usar" #: src/view/com/auth/login/ForgotPasswordForm.tsx:103 msgid "Enter the email you used to create your account. We'll send you a \"reset code\" so you can set a new password." -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." +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." #: src/view/com/auth/create/Step1.tsx:195 #: src/view/com/modals/BirthDateSettings.tsx:74 msgid "Enter your birth date" -msgstr "" +msgstr "Insira seu aniversário" #: src/view/com/modals/Waitlist.tsx:78 msgid "Enter your email" -msgstr "" +msgstr "Digite seu e-mail" #: src/view/com/auth/create/Step1.tsx:139 msgid "Enter your email address" -msgstr "Digite seu endereço de email" +msgstr "Digite seu endereço de e-mail" #: src/view/com/modals/ChangeEmail.tsx:41 msgid "Enter your new email above" -msgstr "" +msgstr "Digite o novo e-mail acima" #: src/view/com/modals/ChangeEmail.tsx:117 msgid "Enter your new email address below." -msgstr "Digite seu novo endereço de email abaixo." +msgstr "Digite seu novo endereço de e-mail abaixo." #: src/view/com/auth/create/Step2.tsx:186 msgid "Enter your phone number" -msgstr "" +msgstr "Digite seu número de telefone" #: src/view/com/auth/login/Login.tsx:99 msgid "Enter your username and password" @@ -1274,20 +1248,20 @@ msgstr "Todos" #: src/view/com/modals/ChangeHandle.tsx:150 msgid "Exits handle change process" -msgstr "" +msgstr "Sair do processo de trocar usuário" #: src/view/com/lightbox/Lightbox.web.tsx:113 msgid "Exits image view" -msgstr "" +msgstr "Sair do visualizador de imagem" #: src/view/com/modals/ListAddRemoveUsers.tsx:88 #: src/view/shell/desktop/Search.tsx:235 msgid "Exits inputting search query" -msgstr "" +msgstr "Sair da busca" #: src/view/com/modals/Waitlist.tsx:138 msgid "Exits signing up for waitlist with {email}" -msgstr "" +msgstr "Desistir de entrar na lista de espera" #: src/view/com/lightbox/Lightbox.web.tsx:156 msgid "Expand alt text" @@ -1296,7 +1270,7 @@ msgstr "Expandir texto alternativo" #: src/view/com/composer/ComposerReplyTo.tsx:81 #: src/view/com/composer/ComposerReplyTo.tsx:84 msgid "Expand or collapse the full post you are replying to" -msgstr "" +msgstr "Mostrar ou esconder o post a que você está respondendo" #: src/view/com/modals/EmbedConsent.tsx:64 msgid "External Media" @@ -1305,7 +1279,7 @@ msgstr "Mídia Externa" #: src/view/com/modals/EmbedConsent.tsx:75 #: src/view/screens/PreferencesExternalEmbeds.tsx:66 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." -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\"." +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\"." #: src/Navigation.tsx:258 #: src/view/screens/PreferencesExternalEmbeds.tsx:52 @@ -1315,20 +1289,20 @@ msgstr "Preferências de Mídia Externa" #: src/view/screens/Settings.tsx:614 msgid "External media settings" -msgstr "" +msgstr "Preferências de mídia externa" #: src/view/com/modals/AddAppPasswords.tsx:114 #: src/view/com/modals/AddAppPasswords.tsx:118 msgid "Failed to create app password." -msgstr "" +msgstr "Não foi possível criar senha de aplicativo." #: src/view/com/modals/CreateOrEditList.tsx:148 msgid "Failed to create the list. Check your internet connection and try again." -msgstr "" +msgstr "Não foi possível criar a lista. Por favor tente novamente." #: src/view/com/util/forms/PostDropdownBtn.tsx:86 msgid "Failed to delete post, please try again" -msgstr "" +msgstr "Não foi possível excluir o post, por favor tente novamente." #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:109 #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:141 @@ -1337,11 +1311,11 @@ msgstr "Falha ao carregar feeds recomendados" #: src/Navigation.tsx:192 msgid "Feed" -msgstr "" +msgstr "Feed" #: src/view/com/feeds/FeedSourceCard.tsx:229 msgid "Feed by {0}" -msgstr "" +msgstr "Feed por {0}" #: src/view/screens/Feeds.tsx:560 msgid "Feed offline" @@ -1349,7 +1323,7 @@ msgstr "Feed offline" #: src/view/com/feeds/FeedPage.tsx:143 msgid "Feed Preferences" -msgstr "Preferências de Feed" +msgstr "Preferências de Feeds" #: src/view/shell/desktop/RightNav.tsx:73 #: src/view/shell/Drawer.tsx:314 @@ -1372,13 +1346,13 @@ msgstr "Os feeds são criados por usuários para curadoria de conteúdo. Escolha #: src/view/screens/SavedFeeds.tsx:156 msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information." -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." +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." #: src/view/com/posts/CustomFeedEmptyState.tsx:47 #: src/view/com/posts/FollowingEmptyState.tsx:57 #: src/view/com/posts/FollowingEndOfFeed.tsx:58 msgid "Find accounts to follow" -msgstr "" +msgstr "Encontre contas para seguir" #: src/view/screens/Search/Search.tsx:429 msgid "Find users on Bluesky" @@ -1398,21 +1372,21 @@ msgstr "Ajuste o conteúdo que você vê na sua tela inicial." #: src/view/screens/PreferencesThreads.tsx:60 msgid "Fine-tune the discussion threads." -msgstr "Ajuste os tópicos de discussão." +msgstr "Ajuste as threads." #: src/view/com/modals/EditImage.tsx:115 msgid "Flip horizontal" -msgstr "" +msgstr "Virar horizontalmente" #: src/view/com/modals/EditImage.tsx:120 #: src/view/com/modals/EditImage.tsx:287 msgid "Flip vertically" -msgstr "" +msgstr "Virar verticalmente" #: src/view/com/profile/FollowButton.tsx:64 msgctxt "action" msgid "Follow" -msgstr "" +msgstr "Seguir" #: src/view/com/profile/ProfileHeader.tsx:552 msgid "Follow" @@ -1420,19 +1394,19 @@ msgstr "Seguir" #: src/view/com/profile/ProfileHeader.tsx:543 msgid "Follow {0}" -msgstr "" +msgstr "Seguir {0}" #: src/view/com/auth/onboarding/RecommendedFollows.tsx:42 #~ msgid "Follow some" -#~ msgstr "" +#~ msgstr "Siga alguns" #: src/view/com/auth/onboarding/RecommendedFollows.tsx:64 msgid "Follow some users to get started. We can recommend you more users based on who you find interesting." -msgstr "Seguir alguns usuários para começar. Nós podemos recomendar mais usuários com base em quem você acha interessante." +msgstr "Comece seguindo alguns usuários. Mais usuários podem ser recomendados com base em quem você acha interessante." #: src/view/com/profile/ProfileCard.tsx:194 msgid "Followed by {0}" -msgstr "" +msgstr "Seguido por {0}" #: src/view/com/modals/Threadgate.tsx:98 msgid "Followed users" @@ -1444,7 +1418,7 @@ msgstr "Somente usuários seguidos" #: src/view/com/notifications/FeedItem.tsx:166 msgid "followed you" -msgstr "" +msgstr "seguiu você" #: src/view/screens/ProfileFollowers.tsx:25 msgid "Followers" @@ -1461,7 +1435,7 @@ msgstr "Seguindo" #: src/view/com/profile/ProfileHeader.tsx:196 msgid "Following {0}" -msgstr "" +msgstr "Seguindo {0}" #: src/view/com/profile/ProfileHeader.tsx:585 msgid "Follows you" @@ -1469,25 +1443,25 @@ msgstr "Segue você" #: src/view/com/profile/ProfileCard.tsx:141 msgid "Follows You" -msgstr "" +msgstr "Segue Você" #: src/view/com/modals/DeleteAccount.tsx:107 msgid "For security reasons, we'll need to send a confirmation code to your email address." -msgstr "Por motivos de segurança, precisamos enviar um código de confirmação para seu endereço de email." +msgstr "Por motivos de segurança, precisamos enviar um código de confirmação para seu endereço de e-mail." #: src/view/com/modals/AddAppPasswords.tsx:211 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." -msgstr "Por motivos de segurança, você não poderá ver isto novamente. Se você perder esta senha, precisará gerar uma nova." +msgstr "Por motivos de segurança, você não poderá ver esta senha novamente. Se você perder esta senha, terá que gerar uma nova." #: src/view/com/auth/login/LoginForm.tsx:238 msgid "Forgot" -msgstr "Esqueceu" +msgstr "Esqueci" #: src/view/com/auth/login/LoginForm.tsx:235 msgid "Forgot password" msgstr "Esqueci a senha" -#: src/view/com/auth/login/Login.tsx:127 +#: src/view/com/auth/login/Login.tsx:127 #: src/view/com/auth/login/Login.tsx:143 msgid "Forgot Password" msgstr "Esqueci a Senha" @@ -1495,7 +1469,7 @@ msgstr "Esqueci a Senha" #: src/view/com/posts/FeedItem.tsx:188 msgctxt "from-feed" msgid "From <0/>" -msgstr "" +msgstr "Por <0/>" #: src/view/com/composer/photos/SelectPhotoBtn.tsx:43 msgid "Gallery" @@ -1506,38 +1480,38 @@ msgstr "Galeria" msgid "Get Started" msgstr "Vamos começar" -#: src/view/com/auth/LoggedOut.tsx:81 +#: src/view/com/auth/LoggedOut.tsx:81 #: src/view/com/auth/LoggedOut.tsx:82 #: src/view/com/util/moderation/ScreenHider.tsx:123 #: src/view/shell/desktop/LeftNav.tsx:104 msgid "Go back" -msgstr "Voltar atrás" +msgstr "Voltar" #: src/view/screens/ProfileFeed.tsx:104 #: src/view/screens/ProfileFeed.tsx:109 #: src/view/screens/ProfileList.tsx:876 #: src/view/screens/ProfileList.tsx:881 msgid "Go Back" -msgstr "Voltar Atrás" +msgstr "Voltar" #: src/view/screens/Search/Search.tsx:640 #: src/view/shell/desktop/Search.tsx:262 msgid "Go to @{queryMaybeHandle}" -msgstr "" +msgstr "Ir para @{queryMaybleHandle}" #: src/view/com/auth/login/ForgotPasswordForm.tsx:185 #: src/view/com/auth/login/LoginForm.tsx:285 #: src/view/com/auth/login/SetNewPasswordForm.tsx:165 msgid "Go to next" -msgstr "Ir para o próximo" +msgstr "Próximo" #: src/view/com/modals/ChangeHandle.tsx:265 msgid "Handle" -msgstr "Identificador" +msgstr "Usuário" #: src/view/com/auth/create/CreateAccount.tsx:190 msgid "Having trouble?" -msgstr "" +msgstr "Precisa de ajuda?" #: src/view/shell/desktop/RightNav.tsx:102 #: src/view/shell/Drawer.tsx:324 @@ -1546,13 +1520,13 @@ msgstr "Ajuda" #: src/view/com/modals/AddAppPasswords.tsx:152 msgid "Here is your app password." -msgstr "Aqui está a sua senha do aplicativo." +msgstr "Aqui está a sua senha de aplicativo." #: src/view/com/modals/ContentFilteringSettings.tsx:219 #: src/view/com/notifications/FeedItem.tsx:329 msgctxt "action" msgid "Hide" -msgstr "" +msgstr "Esconder" #: src/view/com/modals/ContentFilteringSettings.tsx:246 #: src/view/com/util/moderation/ContentHider.tsx:105 @@ -1567,7 +1541,7 @@ msgstr "Ocultar post" #: src/view/com/util/moderation/ContentHider.tsx:67 #: src/view/com/util/moderation/PostHider.tsx:61 msgid "Hide the content" -msgstr "" +msgstr "Esconder o conteúdo" #: src/view/com/util/forms/PostDropdownBtn.tsx:189 msgid "Hide this post?" @@ -1579,27 +1553,27 @@ msgstr "Ocultar lista de usuários" #: src/view/com/profile/ProfileHeader.tsx:526 msgid "Hides posts from {0} in your feed" -msgstr "" +msgstr "Esconder posts de {0} no seu feed" #: src/view/com/posts/FeedErrorMessage.tsx:102 #~ msgid "Hmm, some kind of issue occured when contacting the feed server. Please let the feed owner know about this issue." -#~ msgstr "" +#~ msgstr "Hmm, ocorreu algum problema ao entrar em contato com o servidor deste feed. Por favor, avise o criador do feed sobre este problema." #: src/view/com/posts/FeedErrorMessage.tsx:111 msgid "Hmm, some kind of issue occurred when contacting the feed server. Please let the feed owner know about this issue." -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." +msgstr "Hmm, ocorreu algum problema ao entrar em contato com o servidor deste feed. Por favor, avise o criador do feed sobre este problema." #: src/view/com/posts/FeedErrorMessage.tsx:99 msgid "Hmm, the feed server appears to be misconfigured. Please let the feed owner know about this issue." -msgstr "Hmm, o servidor de feed parece estar mal configurado. Por favor, deixe o proprietário do feed saber sobre este problema." +msgstr "Hmm, o servidor do feed parece estar mal configurado. Por favor, avise o criador do feed sobre este problema." #: src/view/com/posts/FeedErrorMessage.tsx:105 msgid "Hmm, the feed server appears to be offline. Please let the feed owner know about this issue." -msgstr "Hmm, o servidor de feed parece estar offline. Por favor, avise o autor do feed sobre este problema." +msgstr "Hmm, o servidor do feed parece estar offline. Por favor, avise o criador do feed sobre este problema." #: src/view/com/posts/FeedErrorMessage.tsx:102 msgid "Hmm, the feed server gave a bad response. Please let the feed owner know about this issue." -msgstr "Hmm, o servidor de feed deu uma má resposta. Por favor, avise o autor do feed sobre este problema." +msgstr "Hmm, o servidor do feed teve algum problema. Por favor, avise o criador do feed sobre este problema." #: src/view/com/posts/FeedErrorMessage.tsx:96 msgid "Hmm, we're having trouble finding this feed. It may have been deleted." @@ -1607,7 +1581,7 @@ msgstr "Hmm, estamos com problemas para encontrar este feed. Ele pode ter sido e #: src/view/com/posts/FeedErrorMessage.tsx:87 #~ msgid "Hmmm, we're having trouble finding this feed. It may have been deleted." -#~ msgstr "" +#~ msgstr "Hmm, estamos com problemas para encontrar este feed. Ele pode ter sido excluído." #: src/Navigation.tsx:430 #: src/view/shell/bottom-bar/BottomBar.tsx:137 @@ -1622,20 +1596,20 @@ msgstr "Página Inicial" #: src/view/screens/PreferencesHomeFeed.tsx:104 #: src/view/screens/Settings.tsx:509 msgid "Home Feed Preferences" -msgstr "Preferências do Feed Inicial" +msgstr "Preferências da Página Inicial" #: src/view/com/auth/login/ForgotPasswordForm.tsx:116 msgid "Hosting provider" msgstr "Provedor de hospedagem" -#: src/view/com/auth/create/Step1.tsx:76 +#: src/view/com/auth/create/Step1.tsx:76 #: src/view/com/auth/create/Step1.tsx:81 #~ msgid "Hosting provider address" #~ msgstr "Endereço do provedor de hospedagem" #: src/view/com/modals/InAppBrowserConsent.tsx:44 msgid "How should we open this link?" -msgstr "" +msgstr "Como devemos abrir este link?" #: src/view/com/modals/VerifyEmail.tsx:214 msgid "I have a code" @@ -1643,7 +1617,7 @@ msgstr "Eu tenho um código" #: src/view/com/modals/VerifyEmail.tsx:216 msgid "I have a confirmation code" -msgstr "" +msgstr "Eu tenho um código" #: src/view/com/modals/ChangeHandle.tsx:283 msgid "I have my own domain" @@ -1651,7 +1625,7 @@ msgstr "Eu tenho meu próprio domínio" #: src/view/com/lightbox/Lightbox.web.tsx:158 msgid "If alt text is long, toggles alt text expanded state" -msgstr "" +msgstr "Se o texto alternativo é longo, mostra o texto completo" #: src/view/com/modals/SelfLabel.tsx:127 msgid "If none are selected, suitable for all ages." @@ -1659,13 +1633,13 @@ msgstr "Se nenhum for selecionado, adequado para todas as idades." #: src/view/com/util/images/Gallery.tsx:37 msgid "Image" -msgstr "" +msgstr "Imagem" #: src/view/com/modals/AltImage.tsx:97 msgid "Image alt text" msgstr "Texto alternativo da imagem" -#: src/view/com/util/UserAvatar.tsx:308 +#: src/view/com/util/UserAvatar.tsx:308 #: src/view/com/util/UserBanner.tsx:116 msgid "Image options" msgstr "Opções de imagem" @@ -1673,83 +1647,83 @@ msgstr "Opções de imagem" #: src/view/com/search/Suggestions.tsx:104 #: src/view/com/search/Suggestions.tsx:115 #~ msgid "In Your Network" -#~ msgstr "" +#~ msgstr "Na sua rede" #: src/view/com/auth/login/SetNewPasswordForm.tsx:110 msgid "Input code sent to your email for password reset" -msgstr "" +msgstr "Insira o código enviado para o seu e-mail para redefinir sua senha" #: src/view/com/modals/DeleteAccount.tsx:180 msgid "Input confirmation code for account deletion" -msgstr "" +msgstr "Insira o código de confirmação para excluir sua conta" #: src/view/com/auth/create/Step1.tsx:144 msgid "Input email for Bluesky account" -msgstr "" +msgstr "Insira o e-mail para a sua conta do Bluesky" #: src/view/com/auth/create/Step2.tsx:109 #~ msgid "Input email for Bluesky waitlist" -#~ msgstr "" +#~ msgstr "Insira o e-mail para entrar na lista de espera do Bluesky" #: src/view/com/auth/create/Step1.tsx:80 #~ msgid "Input hosting provider address" -#~ msgstr "" +#~ msgstr "Insira o endereço do provedor de hospedagem" #: src/view/com/auth/create/Step1.tsx:102 msgid "Input invite code to proceed" -msgstr "" +msgstr "Insira o convite para continuar" #: src/view/com/modals/AddAppPasswords.tsx:182 msgid "Input name for app password" -msgstr "" +msgstr "Insira um nome para a senha de aplicativo" #: src/view/com/auth/login/SetNewPasswordForm.tsx:133 msgid "Input new password" -msgstr "" +msgstr "Insira a nova senha" #: src/view/com/modals/DeleteAccount.tsx:199 msgid "Input password for account deletion" -msgstr "" +msgstr "Insira a senha para excluir a conta" #: src/view/com/auth/create/Step2.tsx:194 msgid "Input phone number for SMS verification" -msgstr "" +msgstr "Insira o número de telefone para verificação via SMS" #: src/view/com/auth/login/LoginForm.tsx:227 msgid "Input the password tied to {identifier}" -msgstr "" +msgstr "Insira a senha da conta {identifier}" #: src/view/com/auth/login/LoginForm.tsx:194 msgid "Input the username or email address you used at signup" -msgstr "" +msgstr "Insira o usuário ou e-mail que você cadastrou" #: src/view/com/auth/create/Step2.tsx:268 msgid "Input the verification code we have texted to you" -msgstr "" +msgstr "Insira o código de verificação que enviamos para você" #: src/view/com/modals/Waitlist.tsx:90 msgid "Input your email to get on the Bluesky waitlist" -msgstr "" +msgstr "Insira seu e-mail para entrar na lista de espera do Bluesky" #: src/view/com/auth/login/LoginForm.tsx:226 msgid "Input your password" -msgstr "" +msgstr "Insira sua senha" #: src/view/com/auth/create/Step3.tsx:39 msgid "Input your user handle" -msgstr "" +msgstr "Insira o usuário" #: src/view/com/post-thread/PostThreadItem.tsx:229 msgid "Invalid or unsupported post record" -msgstr "" +msgstr "Post inválido" #: src/view/com/auth/login/LoginForm.tsx:115 msgid "Invalid username or password" -msgstr "Nome de usuário ou senha inválido" +msgstr "Credenciais inválidas" #: src/view/screens/Settings.tsx:411 msgid "Invite" -msgstr "Convite" +msgstr "Convidar" #: src/view/com/modals/InviteCodes.tsx:93 #: src/view/screens/Settings.tsx:399 @@ -1759,27 +1733,27 @@ msgstr "Convide um Amigo" #: src/view/com/auth/create/Step1.tsx:92 #: src/view/com/auth/create/Step1.tsx:101 msgid "Invite code" -msgstr "Código de convite" +msgstr "Convite" #: src/view/com/auth/create/state.ts:199 msgid "Invite code not accepted. Check that you input it correctly and try again." -msgstr "Código de convite não aceito. Verifique se você o inseriu corretamente e tente novamente." +msgstr "Convite inválido. Verifique se você o inseriu corretamente e tente novamente." #: src/view/com/modals/InviteCodes.tsx:170 msgid "Invite codes: {0} available" -msgstr "" +msgstr "Convites: {0} disponíveis" #: src/view/shell/Drawer.tsx:645 msgid "Invite codes: {invitesAvailable} available" -msgstr "Códigos de convite: {invitesAvailable} disponível" +msgstr "Convites: {invitesAvailable} disponível" #: src/view/com/modals/InviteCodes.tsx:169 msgid "Invite codes: 1 available" -msgstr "" +msgstr "Convites: 1 disponível" #: src/view/com/auth/HomeLoggedOutCTA.tsx:99 msgid "Jobs" -msgstr "Empregos" +msgstr "Carreiras" #: src/view/com/modals/Waitlist.tsx:67 msgid "Join the waitlist" @@ -1800,7 +1774,7 @@ msgstr "Seleção de idioma" #: src/view/screens/Settings.tsx:560 msgid "Language settings" -msgstr "" +msgstr "Configuração de Idioma" #: src/Navigation.tsx:139 #: src/view/screens/LanguageSettings.tsx:89 @@ -1813,7 +1787,7 @@ msgstr "Idiomas" #: src/view/com/auth/create/StepHeader.tsx:20 msgid "Last step!" -msgstr "" +msgstr "Último passo!" #: src/view/com/util/moderation/ContentHider.tsx:103 msgid "Learn more" @@ -1847,25 +1821,25 @@ msgstr "Saindo do Bluesky" #: src/view/screens/Settings.tsx:280 msgid "Legacy storage cleared, you need to restart the app now." -msgstr "" +msgstr "Armazenamento limpo, você precisa reiniciar o app agora." #: src/view/com/auth/login/Login.tsx:128 #: src/view/com/auth/login/Login.tsx:144 msgid "Let's get your password reset!" msgstr "Vamos redefinir sua senha!" -#: src/view/com/util/UserAvatar.tsx:245 +#: src/view/com/util/UserAvatar.tsx:24 #: src/view/com/util/UserBanner.tsx:60 msgid "Library" msgstr "Biblioteca" #: src/view/screens/Settings.tsx:473 msgid "Light" -msgstr "" +msgstr "Claro" #: src/view/com/util/post-ctrls/PostCtrls.tsx:189 msgid "Like" -msgstr "" +msgstr "Curtir" #: src/view/screens/ProfileFeed.tsx:600 msgid "Like this feed" @@ -1879,19 +1853,19 @@ msgstr "Curtido por" #: src/view/com/feeds/FeedSourceCard.tsx:277 msgid "Liked by {0} {1}" -msgstr "" +msgstr "Curtido por {0} {1}" #: src/view/screens/ProfileFeed.tsx:615 msgid "Liked by {likeCount} {0}" -msgstr "" +msgstr "Curtido por {likeCount} {0}" #: src/view/com/notifications/FeedItem.tsx:171 msgid "liked your custom feed{0}" -msgstr "" +msgstr "curtiu seu feed" #: src/view/com/notifications/FeedItem.tsx:155 msgid "liked your post" -msgstr "" +msgstr "curtiu seu post" #: src/view/screens/Profile.tsx:164 msgid "Likes" @@ -1899,51 +1873,51 @@ msgstr "Curtidas" #: src/view/com/post-thread/PostThreadItem.tsx:184 msgid "Likes on this post" -msgstr "" +msgstr "Curtidas neste post" #: src/view/screens/Moderation.tsx:203 #~ msgid "Limit the visibility of my account" -#~ msgstr "" +#~ msgstr "Limitar a visibilidade do meu perfil" #: src/view/screens/Moderation.tsx:203 #~ msgid "Limit the visibility of my account to logged-out users" -#~ msgstr "" +#~ msgstr "Limitar a visibilidade do meu perfil para usuários deslogados" #: src/Navigation.tsx:166 msgid "List" -msgstr "" +msgstr "Lista" #: src/view/com/modals/CreateOrEditList.tsx:203 msgid "List Avatar" -msgstr "Listar Avatar" +msgstr "Avatar da lista" #: src/view/screens/ProfileList.tsx:323 msgid "List blocked" -msgstr "" +msgstr "Lista bloqueada" #: src/view/com/feeds/FeedSourceCard.tsx:231 msgid "List by {0}" -msgstr "" +msgstr "Lista por {0}" #: src/view/screens/ProfileList.tsx:367 msgid "List deleted" -msgstr "" +msgstr "Lista excluída" #: src/view/screens/ProfileList.tsx:282 msgid "List muted" -msgstr "" +msgstr "Lista silenciada" #: src/view/com/modals/CreateOrEditList.tsx:216 msgid "List Name" -msgstr "Lista de Nomes" +msgstr "Nome da lista" #: src/view/screens/ProfileList.tsx:342 msgid "List unblocked" -msgstr "" +msgstr "Lista desbloqueada" #: src/view/screens/ProfileList.tsx:301 msgid "List unmuted" -msgstr "" +msgstr "Lista dessilenciada" #: src/Navigation.tsx:109 #: src/view/screens/Profile.tsx:166 @@ -1979,15 +1953,15 @@ msgstr "Servidor de desenvolvimento local" #: src/Navigation.tsx:207 msgid "Log" -msgstr "" +msgstr "Registros" #: src/view/screens/Moderation.tsx:134 #~ msgid "Logged-out users" -#~ msgstr "" +#~ msgstr "Visibilidade do seu perfil" #: src/view/screens/Moderation.tsx:136 msgid "Logged-out visibility" -msgstr "Visibilidade desconectada" +msgstr "Visibilidade do seu perfil" #: src/view/com/auth/login/ChooseAccountForm.tsx:133 msgid "Login to account that is not listed" @@ -1995,11 +1969,11 @@ msgstr "Fazer login em uma conta que não está listada" #: src/view/screens/ProfileFeed.tsx:472 #~ msgid "Looks like this feed is only available to users with a Bluesky account. Please sign up or sign in to view this feed!" -#~ msgstr "" +#~ 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!" #: src/view/com/modals/LinkWarning.tsx:65 msgid "Make sure this is where you intend to go!" -msgstr "Certifique-se de que é para lá que você pretende ir!" +msgstr "Certifique-se de onde está indo!" #: src/view/screens/Profile.tsx:163 msgid "Media" @@ -2024,7 +1998,7 @@ msgstr "Menu" #: src/view/com/posts/FeedErrorMessage.tsx:197 msgid "Message from server: {0}" -msgstr "" +msgstr "Mensagem do servidor: {0}" #: src/Navigation.tsx:114 #: src/view/screens/Moderation.tsx:64 @@ -2038,25 +2012,25 @@ msgstr "Moderação" #: src/view/com/lists/ListCard.tsx:92 #: src/view/com/modals/UserAddRemoveLists.tsx:190 msgid "Moderation list by {0}" -msgstr "" +msgstr "Lista de moderação por {0}" #: src/view/screens/ProfileList.tsx:753 msgid "Moderation list by <0/>" -msgstr "" +msgstr "Lista de moderação por <0/>" #: src/view/com/lists/ListCard.tsx:90 #: src/view/com/modals/UserAddRemoveLists.tsx:188 #: src/view/screens/ProfileList.tsx:751 msgid "Moderation list by you" -msgstr "" +msgstr "Lista de moderação por você" #: src/view/com/modals/CreateOrEditList.tsx:139 msgid "Moderation list created" -msgstr "" +msgstr "Lista de moderação criada" #: src/view/com/modals/CreateOrEditList.tsx:126 msgid "Moderation list updated" -msgstr "" +msgstr "Lista de moderação criada" #: src/view/screens/Moderation.tsx:95 msgid "Moderation lists" @@ -2069,11 +2043,11 @@ msgstr "Listas de Moderação" #: src/view/screens/Settings.tsx:585 msgid "Moderation settings" -msgstr "" +msgstr "Moderação" #: src/view/com/modals/ModerationDetails.tsx:35 msgid "Moderator has chosen to set a general warning on the content." -msgstr "" +msgstr "O moderador escolheu um aviso geral neste conteúdo." #: src/view/shell/desktop/Feeds.tsx:53 msgid "More feeds" @@ -2087,7 +2061,7 @@ msgstr "Mais opções" #: src/view/com/util/forms/PostDropdownBtn.tsx:268 msgid "More post options" -msgstr "" +msgstr "Mais opções do post" #: src/view/screens/PreferencesThreads.tsx:82 msgid "Most-liked replies first" @@ -2103,23 +2077,27 @@ msgstr "Silenciar contas" #: src/view/screens/ProfileList.tsx:469 msgid "Mute list" -msgstr "Lista de silenciados" +msgstr "Lista de moderação" #: src/view/screens/ProfileList.tsx:274 msgid "Mute these accounts?" -msgstr "Silenciar essas contas?" +msgstr "Silenciar estas contas?" #: src/view/screens/ProfileList.tsx:278 msgid "Mute this List" -msgstr "" +msgstr "Silenciar esta lista" #: src/view/com/util/forms/PostDropdownBtn.tsx:169 msgid "Mute thread" -msgstr "Silenciar tópico" +msgstr "Silenciar thread" #: src/view/com/lists/ListCard.tsx:101 msgid "Muted" -msgstr "" +msgstr "Silenciada" + +#: src/view/com/lists/ListCard.tsx:101 +msgid "Muted" +msgstr "Silenciada" #: src/view/screens/Moderation.tsx:109 msgid "Muted accounts" @@ -2132,16 +2110,12 @@ msgstr "Contas Silenciadas" #: src/view/screens/ModerationMutedAccounts.tsx:115 msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private." -msgstr "Contas silenciadas tem seus posts removidos do seu feed e das suas notificações. Os silenciamentos são completamente privados." +msgstr "Contas silenciadas não aparecem no seu feed ou nas suas notificações. Suas contas silenciadas são completamente privadas." #: src/view/screens/ProfileList.tsx:276 msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them." msgstr "Silenciar é privado. Contas silenciadas podem interagir com você, mas você não verá postagens ou receber notificações delas." -#: src/view/screens/Moderation.tsx:134 -#~ msgid "My Account" -#~ msgstr "" - #: src/view/com/modals/BirthDateSettings.tsx:56 msgid "My Birthday" msgstr "Meu Aniversário" @@ -2165,22 +2139,22 @@ msgstr "Nome" #: src/view/com/modals/CreateOrEditList.tsx:108 msgid "Name is required" -msgstr "" +msgstr "Nome é obrigatório" #: src/view/com/auth/login/ForgotPasswordForm.tsx:186 #: src/view/com/auth/login/LoginForm.tsx:286 #: src/view/com/auth/login/SetNewPasswordForm.tsx:166 msgid "Navigates to the next screen" -msgstr "" +msgstr "Navega para próxima tela" #: src/view/shell/Drawer.tsx:73 msgid "Navigates to your profile" -msgstr "" +msgstr "Navega para seu perfil" #: src/view/com/modals/EmbedConsent.tsx:107 #: src/view/com/modals/EmbedConsent.tsx:123 msgid "Never load embeds from {0}" -msgstr "Nunca carregue incorporações de {0}" +msgstr "Nunca carregar anexos de {0}" #: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:72 @@ -2190,7 +2164,7 @@ msgstr "Nunca perca o acesso aos seus seguidores e dados." #: src/view/screens/Lists.tsx:76 msgctxt "action" msgid "New" -msgstr "" +msgstr "Novo" #: src/view/screens/ModerationModlists.tsx:78 msgid "New" @@ -2198,16 +2172,16 @@ msgstr "Novo" #: src/view/com/modals/CreateOrEditList.tsx:194 msgid "New Moderation List" -msgstr "" +msgstr "Nova lista de moderação" #: src/view/com/auth/login/SetNewPasswordForm.tsx:122 msgid "New password" -msgstr "" +msgstr "Nova senha" #: src/view/com/feeds/FeedPage.tsx:201 msgctxt "action" msgid "New post" -msgstr "" +msgstr "Novo post" #: src/view/screens/Feeds.tsx:511 #: src/view/screens/Profile.tsx:354 @@ -2221,7 +2195,7 @@ msgstr "Novo post" #: src/view/shell/desktop/LeftNav.tsx:258 msgctxt "action" msgid "New Post" -msgstr "" +msgstr "Novo Post" #: src/view/shell/desktop/LeftNav.tsx:258 #~ msgid "New Post" @@ -2229,7 +2203,7 @@ msgstr "" #: src/view/com/modals/CreateOrEditList.tsx:189 msgid "New User List" -msgstr "" +msgstr "Nova lista de usuários" #: src/view/screens/PreferencesThreads.tsx:79 msgid "Newest replies first" @@ -2248,7 +2222,7 @@ msgstr "Próximo" #: src/view/com/auth/onboarding/WelcomeDesktop.tsx:103 msgctxt "action" msgid "Next" -msgstr "" +msgstr "Próximo" #: src/view/com/lightbox/Lightbox.web.tsx:142 msgid "Next image" @@ -2270,11 +2244,11 @@ msgstr "Sem descrição" #: src/view/com/profile/ProfileHeader.tsx:217 msgid "No longer following {0}" -msgstr "" +msgstr "Você não está mais seguindo {0}" #: src/view/com/notifications/Feed.tsx:107 msgid "No notifications yet!" -msgstr "" +msgstr "Nenhuma notificação!" #: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97 #: src/view/com/composer/text-input/web/Autocomplete.tsx:191 @@ -2285,11 +2259,6 @@ msgstr "Nenhum resultado" msgid "No results found for \"{query}\"" msgstr "Nenhum resultado encontrado para \"{query}\"" -#: src/view/com/modals/ListAddUser.tsx:142 -#: src/view/shell/desktop/Search.tsx:112 -#~ msgid "No results found for {0}" -#~ msgstr "" - #: src/view/com/modals/ListAddRemoveUsers.tsx:127 #: src/view/screens/Search/Search.tsx:272 #: src/view/screens/Search/Search.tsx:300 @@ -2304,34 +2273,26 @@ msgstr "Não, obrigado" msgid "Nobody" msgstr "Ninguém" -#: src/view/com/modals/SelfLabel.tsx:136 -#~ msgid "Not Applicable" -#~ msgstr "" - #: src/view/com/modals/SelfLabel.tsx:135 msgid "Not Applicable." msgstr "Não Aplicável." #: src/Navigation.tsx:104 msgid "Not Found" -msgstr "" +msgstr "Não encontrado" #: src/view/com/modals/VerifyEmail.tsx:246 #: src/view/com/modals/VerifyEmail.tsx:252 msgid "Not right now" -msgstr "" +msgstr "Agora não" #: src/view/screens/Moderation.tsx:227 #~ 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." -#~ msgstr "" +#~ 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." #: src/view/screens/Moderation.tsx:232 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." -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." - -#: src/view/screens/Moderation.tsx:227 -#~ msgid "Note: Third-party apps that display Bluesky content may not respect this setting." -#~ msgstr "" +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." #: src/Navigation.tsx:445 #: src/view/screens/Notifications.tsx:113 @@ -2345,11 +2306,11 @@ msgstr "Notificações" #: src/view/com/modals/SelfLabel.tsx:103 msgid "Nudity" -msgstr "" +msgstr "Nudez" #: src/view/com/util/ErrorBoundary.tsx:35 msgid "Oh no!" -msgstr "Oh, não!" +msgstr "Opa!" #: src/view/com/auth/login/PasswordUpdatedForm.tsx:41 msgid "Okay" @@ -2361,7 +2322,7 @@ msgstr "Respostas mais antigas primeiro" #: src/view/screens/Settings.tsx:236 msgid "Onboarding reset" -msgstr "" +msgstr "Resetar tutoriais" #: src/view/com/composer/Composer.tsx:375 msgid "One or more images is missing alt text." @@ -2375,7 +2336,7 @@ msgstr "Apenas {0} pode responder." #: src/view/com/modals/ProfilePreview.tsx:61 #: src/view/screens/AppPasswords.tsx:65 msgid "Oops!" -msgstr "" +msgstr "Opa!" #: src/view/com/composer/Composer.tsx:470 #: src/view/com/composer/Composer.tsx:471 @@ -2384,7 +2345,7 @@ msgstr "Abrir seletor de emojis" #: src/view/screens/Settings.tsx:678 msgid "Open links with in-app browser" -msgstr "" +msgstr "Abrir links no navegador interno" #: src/view/com/pager/FeedsTabBarMobile.tsx:81 msgid "Open navigation" @@ -2392,27 +2353,27 @@ msgstr "Abrir navegação" #: src/view/screens/Settings.tsx:737 msgid "Open storybook page" -msgstr "" +msgstr "Abre o storybook" #: src/view/com/util/forms/DropdownButton.tsx:147 msgid "Opens {numItems} options" -msgstr "" +msgstr "Abre {numItems} opções" #: src/view/screens/Log.tsx:54 msgid "Opens additional details for a debug entry" -msgstr "" +msgstr "Abre detalhes adicionais para um registro de depuração" #: src/view/com/notifications/FeedItem.tsx:352 msgid "Opens an expanded list of users in this notification" -msgstr "" +msgstr "Abre a lista de usuários nesta notificação" #: src/view/com/composer/photos/OpenCameraBtn.tsx:61 msgid "Opens camera on device" -msgstr "" +msgstr "Abre a câmera do dispositivo" #: src/view/com/composer/Prompt.tsx:25 msgid "Opens composer" -msgstr "" +msgstr "Abre o editor de post" #: src/view/screens/Settings.tsx:561 msgid "Opens configurable language settings" @@ -2420,27 +2381,27 @@ msgstr "Abre definições de idioma configuráveis" #: src/view/com/composer/photos/SelectPhotoBtn.tsx:44 msgid "Opens device photo gallery" -msgstr "" +msgstr "Abre a galeria de fotos do dispositivo" #: src/view/com/profile/ProfileHeader.tsx:459 msgid "Opens editor for profile display name, avatar, background image, and description" -msgstr "" +msgstr "Abre o editor de nome, avatar, banner e descrição do perfil" #: src/view/screens/Settings.tsx:615 msgid "Opens external embeds settings" -msgstr "Abre as configurações de incorporações externas" +msgstr "Abre as configurações de anexos externos" #: src/view/com/profile/ProfileHeader.tsx:614 msgid "Opens followers list" -msgstr "" +msgstr "Abre lista de seguidores" #: src/view/com/profile/ProfileHeader.tsx:633 msgid "Opens following list" -msgstr "" +msgstr "Abre lista de seguidos" #: src/view/screens/Settings.tsx:412 msgid "Opens invite code list" -msgstr "" +msgstr "Abre lista de convites" #: src/view/com/modals/InviteCodes.tsx:172 #: src/view/shell/desktop/RightNav.tsx:156 @@ -2450,7 +2411,7 @@ msgstr "Abre a lista de códigos de convite" #: src/view/screens/Settings.tsx:696 msgid "Opens modal for account deletion confirmation. Requires email code." -msgstr "" +msgstr "Abre modal para confirmar exclusão de conta. Requer código de verificação." #: src/view/com/modals/ChangeHandle.tsx:281 msgid "Opens modal for using custom domain" @@ -2462,11 +2423,11 @@ msgstr "Abre configurações de moderação" #: src/view/com/auth/login/LoginForm.tsx:236 msgid "Opens password reset form" -msgstr "" +msgstr "Abre o formulário de redefinição de senha" #: src/view/screens/Feeds.tsx:335 msgid "Opens screen to edit Saved Feeds" -msgstr "" +msgstr "Abre a tela para editar feeds salvos" #: src/view/screens/Settings.tsx:542 msgid "Opens screen with all saved feeds" @@ -2490,11 +2451,11 @@ msgstr "Abre a página de log do sistema" #: src/view/screens/Settings.tsx:522 msgid "Opens the threads preferences" -msgstr "Abrir as preferências dos tópicos" +msgstr "Abre as preferências de threads" #: src/view/com/util/forms/DropdownButton.tsx:254 msgid "Option {0} of {numItems}" -msgstr "" +msgstr "Opção {0} de {numItems}" #: src/view/com/modals/Threadgate.tsx:89 msgid "Or combine these options:" @@ -2512,7 +2473,7 @@ msgstr "Outro serviço" msgid "Other..." msgstr "Outro..." -#: src/view/screens/NotFound.tsx:42 +#: src/view/screens/NotFound.tsx:42 #: src/view/screens/NotFound.tsx:45 msgid "Page not found" msgstr "Página não encontrada" @@ -2535,23 +2496,23 @@ msgstr "Senha atualizada!" #: src/Navigation.tsx:160 msgid "People followed by @{0}" -msgstr "" +msgstr "Pessoas seguidas por @{0}" #: src/Navigation.tsx:153 msgid "People following @{0}" -msgstr "" +msgstr "Pessoas seguindo @{0}" #: src/view/com/lightbox/Lightbox.tsx:66 msgid "Permission to access camera roll is required." -msgstr "" +msgstr "A permissão de galeria é obrigatória." #: src/view/com/lightbox/Lightbox.tsx:72 msgid "Permission to access camera roll was denied. Please enable it in your system settings." -msgstr "" +msgstr "A permissão de galeria foi recusada. Por favor, habilite-a nas configurações do dispositivo." #: src/view/com/auth/create/Step2.tsx:181 msgid "Phone number" -msgstr "" +msgstr "Número de telefone" #: src/view/com/modals/SelfLabel.tsx:121 msgid "Pictures meant for adults." @@ -2560,7 +2521,7 @@ msgstr "Imagens destinadas a adultos." #: src/view/screens/ProfileFeed.tsx:362 #: src/view/screens/ProfileList.tsx:559 msgid "Pin to home" -msgstr "" +msgstr "Fixar na tela inicial" #: src/view/screens/SavedFeeds.tsx:88 msgid "Pinned Feeds" @@ -2581,7 +2542,7 @@ msgstr "Reproduz o GIF" #: src/view/com/auth/create/state.ts:177 msgid "Please choose your handle." -msgstr "Por favor, escolha o seu identificador." +msgstr "Por favor, escolha seu usuário." #: src/view/com/auth/create/state.ts:160 msgid "Please choose your password." @@ -2589,31 +2550,31 @@ msgstr "Por favor, escolha sua senha." #: src/view/com/modals/ChangeEmail.tsx:67 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." -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." +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." #: src/view/com/modals/AddAppPasswords.tsx:89 msgid "Please enter a name for your app password. All spaces is not allowed." -msgstr "" +msgstr "Por favor, insira um nome para a sua Senha de Aplicativo." #: src/view/com/auth/create/Step2.tsx:204 msgid "Please enter a phone number that can receive SMS text messages." -msgstr "" +msgstr "Por favor, insira um número de telefone que possa receber mensagens SMS." #: src/view/com/modals/AddAppPasswords.tsx:144 msgid "Please enter a unique name for this App Password or use our randomly generated one." -msgstr "Por favor, insira um nome único para esta Senha do Aplicativo ou use nossa senha gerada aleatoriamente." +msgstr "Por favor, insira um nome único para esta Senha de Aplicativo ou use nosso nome gerado automaticamente." #: src/view/com/auth/create/state.ts:170 msgid "Please enter the code you received by SMS." -msgstr "" +msgstr "Por favor, digite o código recebido via SMS." #: src/view/com/auth/create/Step2.tsx:279 msgid "Please enter the verification code sent to {phoneNumberFormatted}." -msgstr "" +msgstr "Por favor, digite o código de verificação enviado para {phoneNumberFormatted}." #: src/view/com/auth/create/state.ts:146 msgid "Please enter your email." -msgstr "Por favor, digite o seu email." +msgstr "Por favor, digite o seu e-mail." #: src/view/com/modals/DeleteAccount.tsx:187 msgid "Please enter your password as well:" @@ -2627,31 +2588,31 @@ msgstr "Por favor, diga-nos por que você acha que este aviso de conteúdo foi a #: src/view/com/modals/AppealLabel.tsx:72 #: src/view/com/modals/AppealLabel.tsx:75 #~ msgid "Please tell us why you think this decision was incorrect." -#~ msgstr "" +#~ msgstr "Por favor, conte-nos por que achou que esta decisão está incorreta." #: src/view/com/modals/VerifyEmail.tsx:101 msgid "Please Verify Your Email" -msgstr "" +msgstr "Por favor, verifique seu e-mail" #: src/view/com/composer/Composer.tsx:215 msgid "Please wait for your link card to finish loading" -msgstr "Aguarde até que o cartão de link termine de carregar" +msgstr "Aguarde até que a prévia de link termine de carregar" #: src/view/com/modals/SelfLabel.tsx:111 msgid "Porn" -msgstr "" +msgstr "Pornografia" #: src/view/com/composer/Composer.tsx:350 #: src/view/com/composer/Composer.tsx:358 msgctxt "action" msgid "Post" -msgstr "" +msgstr "Postar" #: src/view/com/post-thread/PostThread.tsx:227 #: src/view/screens/PostThread.tsx:82 msgctxt "description" msgid "Post" -msgstr "" +msgstr "Post" #: src/view/com/composer/Composer.tsx:346 #: src/view/com/post-thread/PostThread.tsx:225 @@ -2661,17 +2622,17 @@ msgstr "" #: src/view/com/post-thread/PostThreadItem.tsx:176 msgid "Post by {0}" -msgstr "" +msgstr "Post por {0}" #: src/Navigation.tsx:172 #: src/Navigation.tsx:179 #: src/Navigation.tsx:186 msgid "Post by @{0}" -msgstr "" +msgstr "Post por @{0}" #: src/view/com/util/forms/PostDropdownBtn.tsx:82 msgid "Post deleted" -msgstr "" +msgstr "Post excluído" #: src/view/com/post-thread/PostThread.tsx:382 msgid "Post hidden" @@ -2683,7 +2644,7 @@ msgstr "Idioma do post" #: src/view/com/modals/lang-settings/PostLanguagesSettings.tsx:75 msgid "Post Languages" -msgstr "Idioma do Post" +msgstr "Idiomas do Post" #: src/view/com/post-thread/PostThread.tsx:434 msgid "Post not found" @@ -2695,7 +2656,7 @@ msgstr "Posts" #: src/view/com/posts/FeedErrorMessage.tsx:64 msgid "Posts hidden" -msgstr "" +msgstr "Posts ocultados" #: src/view/com/modals/LinkWarning.tsx:46 msgid "Potentially Misleading Link" @@ -2739,32 +2700,32 @@ msgstr "Perfil" #: src/view/com/modals/EditProfile.tsx:128 msgid "Profile updated" -msgstr "" +msgstr "Perfil atualizado" #: src/view/screens/Settings.tsx:882 msgid "Protect your account by verifying your email." -msgstr "Proteja a sua conta verificando o seu email." +msgstr "Proteja a sua conta verificando o seu e-mail." #: src/view/screens/ModerationModlists.tsx:61 msgid "Public, shareable lists of users to mute or block in bulk." -msgstr "Listas públicas e compartilháveis de usuários para silenciar ou bloquear em massa." +msgstr "Listas públicas e compartilháveis para silenciar ou bloquear usuários em massa." #: src/view/screens/Lists.tsx:61 msgid "Public, shareable lists which can drive feeds." -msgstr "Listas públicas e compartilháveis que podem gerar feeds." +msgstr "Listas públicas e compartilháveis que geram feeds." #: src/view/com/composer/Composer.tsx:335 msgid "Publish post" -msgstr "" +msgstr "Publicar post" #: src/view/com/composer/Composer.tsx:335 msgid "Publish reply" -msgstr "" +msgstr "Publicar resposta" #: src/view/com/modals/Repost.tsx:65 msgctxt "action" msgid "Quote post" -msgstr "" +msgstr "Citar post" #: src/view/com/util/post-ctrls/RepostButton.web.tsx:58 msgid "Quote post" @@ -2773,7 +2734,7 @@ msgstr "Citar post" #: src/view/com/modals/Repost.tsx:70 msgctxt "action" msgid "Quote Post" -msgstr "" +msgstr "Citar Post" #: src/view/com/modals/Repost.tsx:56 #~ msgid "Quote Post" @@ -2781,17 +2742,12 @@ msgstr "" #: src/view/screens/PreferencesThreads.tsx:86 msgid "Random (aka \"Poster's Roulette\")" -msgstr "Aleatório (também conhecido como \"Poster's Roulette\")" +msgstr "Aleatório" #: src/view/com/modals/EditImage.tsx:236 msgid "Ratios" msgstr "Índices" -#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:73 -#: src/view/com/auth/onboarding/RecommendedFollows.tsx:50 -#~ msgid "Recommended" -#~ msgstr "" - #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116 msgid "Recommended Feeds" msgstr "Feeds Recomendados" @@ -2839,7 +2795,7 @@ msgstr "Remover visualização da imagem" #: src/view/com/modals/Repost.tsx:47 msgid "Remove repost" -msgstr "" +msgstr "Desfazer repost" #: src/view/com/feeds/FeedSourceCard.tsx:173 msgid "Remove this feed from my feeds?" @@ -2847,7 +2803,7 @@ msgstr "Remover este feed dos meus feeds?" #: src/view/com/posts/FeedErrorMessage.tsx:132 msgid "Remove this feed from your saved feeds?" -msgstr "Remover esse feed de seus feeds salvos?" +msgstr "Remover este feed dos feeds salvos?" #: src/view/com/modals/ListAddRemoveUsers.tsx:199 #: src/view/com/modals/UserAddRemoveLists.tsx:136 @@ -2857,11 +2813,11 @@ msgstr "Removido da lista" #: src/view/com/feeds/FeedSourceCard.tsx:111 #: src/view/com/feeds/FeedSourceCard.tsx:178 msgid "Removed from my feeds" -msgstr "" +msgstr "Remover dos meus feeds" #: src/view/com/composer/ExternalEmbed.tsx:71 msgid "Removes default thumbnail from {0}" -msgstr "" +msgstr "Remover miniatura de {0}" #: src/view/screens/Profile.tsx:162 msgid "Replies" @@ -2869,12 +2825,12 @@ msgstr "Respostas" #: src/view/com/threadgate/WhoCanReply.tsx:98 msgid "Replies to this thread are disabled" -msgstr "Respostas para este tópico estão desativadas" +msgstr "Respostas para esta thread estão desativadas" #: src/view/com/composer/Composer.tsx:348 msgctxt "action" msgid "Reply" -msgstr "" +msgstr "Responder" #: src/view/screens/PreferencesHomeFeed.tsx:144 msgid "Reply Filters" @@ -2884,7 +2840,7 @@ msgstr "Filtros de Resposta" #: src/view/com/posts/FeedItem.tsx:286 msgctxt "description" msgid "Reply to <0/>" -msgstr "" +msgstr "Responder <0/>" #: src/view/com/modals/report/Modal.tsx:166 msgid "Report {collectionName}" @@ -2913,7 +2869,7 @@ msgstr "Denunciar post" #: src/view/com/util/post-ctrls/RepostButton.tsx:61 msgctxt "action" msgid "Repost" -msgstr "" +msgstr "Repostar" #: src/view/com/util/post-ctrls/RepostButton.web.tsx:48 msgid "Repost" @@ -2922,7 +2878,7 @@ msgstr "Repostar" #: src/view/com/util/post-ctrls/RepostButton.web.tsx:94 #: src/view/com/util/post-ctrls/RepostButton.web.tsx:105 msgid "Repost or quote post" -msgstr "Repostar ou citar uma post" +msgstr "Repostar ou citar um post" #: src/view/screens/PostRepostedBy.tsx:27 msgid "Reposted by" @@ -2930,19 +2886,19 @@ msgstr "Repostado por" #: src/view/com/posts/FeedItem.tsx:206 msgid "Reposted by {0})" -msgstr "" +msgstr "Repostado por {0})" #: src/view/com/posts/FeedItem.tsx:223 msgid "Reposted by <0/>" -msgstr "" +msgstr "Repostado por <0/>" #: src/view/com/notifications/FeedItem.tsx:162 msgid "reposted your post" -msgstr "" +msgstr "repostou seu post" #: src/view/com/post-thread/PostThreadItem.tsx:189 msgid "Reposts of this post" -msgstr "" +msgstr "Reposts" #: src/view/com/modals/ChangeEmail.tsx:181 #: src/view/com/modals/ChangeEmail.tsx:183 @@ -2951,11 +2907,11 @@ msgstr "Solicitar Alteração" #: src/view/com/auth/create/Step2.tsx:217 msgid "Request code" -msgstr "" +msgstr "Solicitar código" #: src/view/screens/Moderation.tsx:188 #~ msgid "Request to limit the visibility of my account" -#~ msgstr "" +#~ msgstr "Exigir limitação de visibilidade da minha conta" #: src/view/screens/Settings.tsx:450 msgid "Require alt text before posting" @@ -2972,11 +2928,11 @@ msgstr "Código de redefinição" #: src/view/screens/Settings.tsx:757 msgid "Reset onboarding" -msgstr "" +msgstr "Redefinir tutoriais" #: src/view/screens/Settings.tsx:760 msgid "Reset onboarding state" -msgstr "Redefinir estado de integração" +msgstr "Redefinir tutoriais" #: src/view/com/auth/login/ForgotPasswordForm.tsx:100 msgid "Reset password" @@ -2984,28 +2940,28 @@ msgstr "Redefinir senha" #: src/view/screens/Settings.tsx:747 msgid "Reset preferences" -msgstr "" +msgstr "Redefinir configurações" #: src/view/screens/Settings.tsx:750 msgid "Reset preferences state" -msgstr "Redefinir estado das preferências" +msgstr "Redefinir configurações" #: src/view/screens/Settings.tsx:758 msgid "Resets the onboarding state" -msgstr "Redefine o estado de integração" +msgstr "Redefine tutoriais" #: src/view/screens/Settings.tsx:748 msgid "Resets the preferences state" -msgstr "Redefine o estado das preferências" +msgstr "Redefine as configurações" #: src/view/com/auth/login/LoginForm.tsx:266 msgid "Retries login" -msgstr "" +msgstr "Tenta entrar novamente" #: src/view/com/util/error/ErrorMessage.tsx:57 #: src/view/com/util/error/ErrorScreen.tsx:67 msgid "Retries the last action, which errored out" -msgstr "" +msgstr "Tenta a última ação, que deu erro" #: src/view/com/auth/create/CreateAccount.tsx:164 #: src/view/com/auth/create/CreateAccount.tsx:168 @@ -3019,25 +2975,25 @@ msgstr "Tente novamente" #: src/view/com/modals/ChangeHandle.tsx:169 #~ msgid "Retry change handle" -#~ msgstr "" +#~ msgstr "Tentar troca de usuário novamente" #: src/view/com/auth/create/Step2.tsx:245 msgid "Retry." -msgstr "" +msgstr "Tentar novamente." #: src/view/screens/ProfileList.tsx:877 msgid "Return to previous page" -msgstr "" +msgstr "Voltar para página anterior" #: src/view/shell/desktop/RightNav.tsx:59 msgid "SANDBOX. Posts and accounts are not permanent." -msgstr "" +msgstr "SANDBOX. Posts e contas não são permanentes." #: src/view/com/lightbox/Lightbox.tsx:129 #: src/view/com/modals/CreateOrEditList.tsx:276 msgctxt "action" msgid "Save" -msgstr "" +msgstr "Salvar" #: src/view/com/modals/BirthDateSettings.tsx:94 #: src/view/com/modals/BirthDateSettings.tsx:97 @@ -3054,7 +3010,7 @@ msgstr "Salvar texto alternativo" #: src/view/com/modals/UserAddRemoveLists.tsx:212 #~ msgid "Save changes" -#~ msgstr "" +#~ msgstr "Salvar alterações" #: src/view/com/modals/EditProfile.tsx:232 msgid "Save Changes" @@ -3062,7 +3018,7 @@ msgstr "Salvar Alterações" #: src/view/com/modals/ChangeHandle.tsx:170 msgid "Save handle change" -msgstr "Salvar identificador alterado" +msgstr "Salvar usuário" #: src/view/com/modals/crop-image/CropImage.web.tsx:144 msgid "Save image crop" @@ -3074,15 +3030,15 @@ msgstr "Feeds Salvos" #: src/view/com/modals/EditProfile.tsx:225 msgid "Saves any changes to your profile" -msgstr "" +msgstr "Salva todas as alterações" #: src/view/com/modals/ChangeHandle.tsx:171 msgid "Saves handle change to {handle}" -msgstr "" +msgstr "Salva mudança de usuário para {handle}" #: src/view/screens/ProfileList.tsx:833 msgid "Scroll to top" -msgstr "" +msgstr "Ir para o topo" #: src/Navigation.tsx:435 #: src/view/com/auth/LoggedOut.tsx:122 @@ -3104,17 +3060,17 @@ msgstr "Buscar" #: src/view/screens/Search/Search.tsx:628 #: src/view/shell/desktop/Search.tsx:255 msgid "Search for \"{query}\"" -msgstr "" +msgstr "Pesquisar por \"{query}\"" #: src/view/screens/Search/Search.tsx:390 #~ msgid "Search for posts and users." -#~ msgstr "" +#~ msgstr "Buscar por posts e usuários." #: src/view/com/auth/LoggedOut.tsx:104 #: src/view/com/auth/LoggedOut.tsx:105 #: src/view/com/modals/ListAddRemoveUsers.tsx:70 msgid "Search for users" -msgstr "Buscar por usuários" +msgstr "Buscar usuários" #: src/view/com/modals/ChangeEmail.tsx:110 msgid "Security Step Required" @@ -3122,62 +3078,62 @@ msgstr "Passo de Segurança Necessário" #: src/view/screens/SavedFeeds.tsx:163 msgid "See this guide" -msgstr "" +msgstr "Veja o guia" #: src/view/com/auth/HomeLoggedOutCTA.tsx:39 msgid "See what's next" -msgstr "Veja o que vem a seguir" +msgstr "Veja o que vem por aí" #: src/view/com/util/Selector.tsx:106 msgid "Select {item}" -msgstr "" +msgstr "Selecionar {item}" #: src/view/com/modals/ServerInput.tsx:75 msgid "Select Bluesky Social" -msgstr "Selecione Bluesky Social" +msgstr "Selecionar Bluesky Social" #: src/view/com/auth/login/Login.tsx:117 msgid "Select from an existing account" -msgstr "Selecione em uma conta existente" +msgstr "Selecionar de uma conta existente" #: src/view/com/util/Selector.tsx:107 msgid "Select option {i} of {numItems}" -msgstr "" +msgstr "Seleciona opção {i} de {numItems}" #: src/view/com/auth/create/Step1.tsx:77 #: src/view/com/auth/login/LoginForm.tsx:147 msgid "Select service" -msgstr "Selecione o serviço" +msgstr "Selecionar serviço" #: src/view/screens/LanguageSettings.tsx:281 msgid "Select which languages you want your subscribed feeds to include. If none are selected, all languages will be shown." -msgstr "Selecione quais idiomas você deseja que seus feeds subscritos incluam. Se nenhum for selecionado, todas as línguas serão exibidas." +msgstr "Selecione quais idiomas você deseja ver nos seus feeds. Se nenhum for selecionado, todos os idiomas serão exibidos." #: src/view/screens/LanguageSettings.tsx:98 msgid "Select your app language for the default text to display in the app" -msgstr "Selecione o idioma do seu aplicativo para o texto padrão a ser exibido no aplicativo" +msgstr "Selecione o idioma do seu aplicativo" #: src/view/com/auth/create/Step2.tsx:153 msgid "Select your phone's country" -msgstr "" +msgstr "Selecione o país do número de telefone" #: src/view/screens/LanguageSettings.tsx:190 msgid "Select your preferred language for translations in your feed." -msgstr "Selecione seu idioma preferido para as traduções do seu feed." +msgstr "Selecione seu idioma preferido para as traduções no seu feed." #: src/view/com/modals/VerifyEmail.tsx:202 #: src/view/com/modals/VerifyEmail.tsx:204 msgid "Send Confirmation Email" -msgstr "Enviar Email de Confirmação" +msgstr "Enviar E-mail de Confirmação" #: src/view/com/modals/DeleteAccount.tsx:127 msgid "Send email" -msgstr "Enviar email" +msgstr "Enviar e-mail" #: src/view/com/modals/DeleteAccount.tsx:140 msgctxt "action" msgid "Send Email" -msgstr "" +msgstr "Enviar E-mail" #: src/view/com/modals/DeleteAccount.tsx:138 #~ msgid "Send Email" @@ -3190,82 +3146,82 @@ msgstr "Enviar comentários" #: src/view/com/modals/report/SendReportButton.tsx:45 msgid "Send Report" -msgstr "Enviar um Relatório" +msgstr "Denunciar" #: src/view/com/modals/DeleteAccount.tsx:129 msgid "Sends email with confirmation code for account deletion" -msgstr "" +msgstr "Envia o e-mail com o código de confirmação para excluir a conta" #: src/view/com/modals/ContentFilteringSettings.tsx:306 msgid "Set {value} for {labelGroup} content moderation policy" -msgstr "" +msgstr "Definir {value} para o filtro de moderação {labelGroup}" #: src/view/com/modals/ContentFilteringSettings.tsx:155 #: src/view/com/modals/ContentFilteringSettings.tsx:174 msgctxt "action" msgid "Set Age" -msgstr "" +msgstr "Definir Idade" #: src/view/screens/Settings.tsx:482 msgid "Set color theme to dark" -msgstr "" +msgstr "Definir o tema de cor para escuro" #: src/view/screens/Settings.tsx:475 msgid "Set color theme to light" -msgstr "" +msgstr "Definir o tema de cor para claro" #: src/view/screens/Settings.tsx:469 msgid "Set color theme to system setting" -msgstr "" +msgstr "Definir o tema para acompanhar o sistema" #: src/view/com/auth/login/SetNewPasswordForm.tsx:78 msgid "Set new password" -msgstr "Defina uma nova senha" +msgstr "Definir uma nova senha" #: src/view/com/auth/create/Step1.tsx:169 msgid "Set password" -msgstr "" +msgstr "Definir senha" #: src/view/screens/PreferencesHomeFeed.tsx:225 msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible." -msgstr "Defina esta configuração como \"Não\" para ocultar todos os posts citados do seu feed. Repostagens ainda serão visíveis." +msgstr "Defina esta configuração como \"Não\" para ocultar todas as citações do seu feed. Reposts ainda serão visíveis." #: src/view/screens/PreferencesHomeFeed.tsx:122 msgid "Set this setting to \"No\" to hide all replies from your feed." -msgstr "Defina essa configuração como \"Não\" para ocultar todas as respostas do seu feed." +msgstr "Defina esta configuração como \"Não\" para ocultar todas as respostas do seu feed." #: src/view/screens/PreferencesHomeFeed.tsx:191 msgid "Set this setting to \"No\" to hide all reposts from your feed." -msgstr "Defina essa configuração como \"Não\" para ocultar todas as repostagens do seu feed." +msgstr "Defina esta configuração como \"Não\" para ocultar todos os reposts do seu feed." #: src/view/screens/PreferencesThreads.tsx:122 msgid "Set this setting to \"Yes\" to show replies in a threaded view. This is an experimental feature." -msgstr "Defina esta configuração como \"Sim\" para mostrar respostas em uma visualização thread. Este é um recurso experimental." +msgstr "Defina esta configuração como \"Sim\" para mostrar respostas em uma visualização de thread. Este é um recurso experimental." #: src/view/screens/PreferencesHomeFeed.tsx:261 msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your following feed. This is an experimental feature." -msgstr "Defina essa configuração como \"Sim\" para mostrar amostras de seus feeds salvos no seu seguinte feed. Este é um recurso experimental." +msgstr "Defina esta configuração como \"Sim\" para mostrar amostras de seus feeds salvos na sua página inicial. Este é um recurso experimental." #: src/view/com/modals/ChangeHandle.tsx:266 msgid "Sets Bluesky username" -msgstr "" +msgstr "Configura o usuário no Bluesky" #: src/view/com/auth/login/ForgotPasswordForm.tsx:153 msgid "Sets email for password reset" -msgstr "" +msgstr "Configura o e-mail para recuperação de senha" #: src/view/com/auth/login/ForgotPasswordForm.tsx:118 msgid "Sets hosting provider for password reset" -msgstr "" +msgstr "Configura o provedor de hospedagem para recuperação de senha" #: src/view/com/auth/create/Step1.tsx:143 #~ msgid "Sets hosting provider to {label}" -#~ msgstr "" +#~ msgstr "Configura o provedor de hospedagem para {label}" #: src/view/com/auth/create/Step1.tsx:78 #: src/view/com/auth/login/LoginForm.tsx:148 msgid "Sets server for the Bluesky client" -msgstr "" +msgstr "Configura o servidor para o cliente do Bluesky" #: src/Navigation.tsx:134 #: src/view/screens/Settings.tsx:294 @@ -3282,7 +3238,7 @@ msgstr "Atividade sexual ou nudez erótica." #: src/view/com/lightbox/Lightbox.tsx:138 msgctxt "action" msgid "Share" -msgstr "" +msgstr "Compartilhar" #: src/view/com/profile/ProfileHeader.tsx:342 #: src/view/com/util/forms/PostDropdownBtn.tsx:151 @@ -3296,7 +3252,7 @@ msgstr "Compartilhar feed" #: src/view/screens/ProfileFeed.tsx:276 #~ msgid "Share link" -#~ msgstr "" +#~ msgstr "Compartilhar link" #: src/view/com/modals/ContentFilteringSettings.tsx:261 #: src/view/com/util/moderation/ContentHider.tsx:107 @@ -3307,7 +3263,7 @@ msgstr "Mostrar" #: src/view/screens/PreferencesHomeFeed.tsx:68 msgid "Show all replies" -msgstr "" +msgstr "Mostrar todas as respostas" #: src/view/com/util/moderation/ScreenHider.tsx:132 msgid "Show anyway" @@ -3315,25 +3271,25 @@ msgstr "Mostrar mesmo assim" #: src/view/com/modals/EmbedConsent.tsx:87 msgid "Show embeds from {0}" -msgstr "Mostrar incorporações de {0}" +msgstr "Mostrar anexos de {0}" #: src/view/com/profile/ProfileHeader.tsx:498 msgid "Show follows similar to {0}" -msgstr "" +msgstr "Mostrar usuários parecidos com {0}" #: src/view/com/post-thread/PostThreadItem.tsx:569 #: src/view/com/post/Post.tsx:196 #: src/view/com/posts/FeedItem.tsx:362 msgid "Show More" -msgstr "" +msgstr "Mostrar Mais" #: src/view/screens/PreferencesHomeFeed.tsx:258 msgid "Show Posts from My Feeds" -msgstr "Mostrar Posts dos meus Feeds" +msgstr "Mostrar Posts dos Meus Feeds" #: src/view/screens/PreferencesHomeFeed.tsx:222 msgid "Show Quote Posts" -msgstr "Mostrar Posts de Citações" +msgstr "Mostrar Citações" #: src/view/screens/PreferencesHomeFeed.tsx:119 msgid "Show Replies" @@ -3345,16 +3301,16 @@ msgstr "Mostrar as respostas de pessoas que você segue antes de todas as outras #: src/view/screens/PreferencesHomeFeed.tsx:70 msgid "Show replies with at least {value} {0}" -msgstr "" +msgstr "Mostrar respostas com ao menos {0} {value}" #: src/view/screens/PreferencesHomeFeed.tsx:188 msgid "Show Reposts" -msgstr "Mostrar Repostagens" +msgstr "Mostrar Reposts" #: src/view/com/util/moderation/ContentHider.tsx:67 #: src/view/com/util/moderation/PostHider.tsx:61 msgid "Show the content" -msgstr "" +msgstr "Mostrar conteúdo" #: src/view/com/notifications/FeedItem.tsx:350 msgid "Show users" @@ -3362,14 +3318,14 @@ msgstr "Mostrar usuários" #: src/view/com/profile/ProfileHeader.tsx:501 msgid "Shows a list of users similar to this user." -msgstr "" +msgstr "Mostra uma lista de usuários parecidos com este" #: src/view/com/profile/ProfileHeader.tsx:545 msgid "Shows posts from {0} in your feed" -msgstr "" +msgstr "Mostra posts de {0} no seu feed" #: src/view/com/auth/HomeLoggedOutCTA.tsx:70 -#: src/view/com/auth/login/Login.tsx:98 +#: src/view/com/auth/login/Login.tsx:98 #: src/view/com/auth/SplashScreen.tsx:54 #: src/view/shell/bottom-bar/BottomBar.tsx:285 #: src/view/shell/bottom-bar/BottomBar.tsx:286 @@ -3414,7 +3370,7 @@ msgstr "Sair" #: src/view/shell/bottom-bar/BottomBarWeb.tsx:167 #: src/view/shell/bottom-bar/BottomBarWeb.tsx:168 #: src/view/shell/bottom-bar/BottomBarWeb.tsx:170 -#: src/view/shell/NavSignupCard.tsx:49 +#: src/view/shell/NavSignupCard.tsx:49 #: src/view/shell/NavSignupCard.tsx:50 #: src/view/shell/NavSignupCard.tsx:52 msgid "Sign up" @@ -3434,11 +3390,11 @@ msgstr "Entrou como" #: src/view/com/auth/login/ChooseAccountForm.tsx:103 msgid "Signed in as @{0}" -msgstr "" +msgstr "Logado como @{0}" #: src/view/com/modals/SwitchAccount.tsx:66 msgid "Signs {0} out of Bluesky" -msgstr "" +msgstr "Desloga a conta {0}" #: src/view/com/auth/onboarding/WelcomeMobile.tsx:33 msgid "Skip" @@ -3446,19 +3402,19 @@ msgstr "Pular" #: src/view/com/auth/create/Step2.tsx:80 msgid "SMS verification" -msgstr "" +msgstr "Verificação por SMS" #: src/view/com/modals/ProfilePreview.tsx:62 msgid "Something went wrong and we're not sure what." -msgstr "" +msgstr "Algo deu errado e meio que não sabemos o que houve." #: src/view/com/modals/Waitlist.tsx:51 msgid "Something went wrong. Check your email and try again." -msgstr "" +msgstr "Algo deu errado. Verifique seu e-mail e tente novamente." #: src/App.native.tsx:62 msgid "Sorry! Your session expired. Please log in again." -msgstr "" +msgstr "Opa! Sua sessão expirou. Por favor, entre novamente." #: src/view/screens/PreferencesThreads.tsx:69 msgid "Sort Replies" @@ -3466,7 +3422,7 @@ msgstr "Classificar Respostas" #: src/view/screens/PreferencesThreads.tsx:72 msgid "Sort replies to the same post by:" -msgstr "Classificar respostas para o mesmo post por:" +msgstr "Classificar respostas de um post por:" #: src/view/com/modals/crop-image/CropImage.web.tsx:122 msgid "Square" @@ -3474,7 +3430,7 @@ msgstr "Quadrado" #: src/view/com/modals/ServerInput.tsx:62 msgid "Staging" -msgstr "Encenação" +msgstr "Staging" #: src/view/screens/Settings.tsx:804 msgid "Status page" @@ -3482,15 +3438,15 @@ msgstr "Página de status" #: src/view/com/auth/create/StepHeader.tsx:22 msgid "Step {0} of {numSteps}" -msgstr "" +msgstr "Passo {0} de {numSteps}" #: src/view/com/auth/create/StepHeader.tsx:15 #~ msgid "Step {step} of 3" -#~ msgstr "" +#~ msgstr "Passo {step} de 3" #: src/view/screens/Settings.tsx:276 msgid "Storage cleared, you need to restart the app now." -msgstr "" +msgstr "Armazenamento limpo, você precisa reiniciar o app agora." #: src/Navigation.tsx:202 #: src/view/screens/Settings.tsx:740 @@ -3503,27 +3459,27 @@ msgstr "Enviar" #: src/view/screens/ProfileList.tsx:586 msgid "Subscribe" -msgstr "Assinar" +msgstr "Inscrever-se" #: src/view/screens/ProfileList.tsx:582 msgid "Subscribe to this list" -msgstr "Assinar esta lista" +msgstr "Inscreva-se nesta lista" #: src/view/com/lists/ListCard.tsx:101 #~ msgid "Subscribed" -#~ msgstr "" +#~ msgstr "Inscrito" #: src/view/screens/Search/Search.tsx:364 msgid "Suggested Follows" -msgstr "Seguidores Sugeridos" +msgstr "Sugestões de Seguidores" #: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64 msgid "Suggested for you" -msgstr "" +msgstr "Sugeridos para você" #: src/view/com/modals/SelfLabel.tsx:95 msgid "Suggestive" -msgstr "" +msgstr "Sugestivo" #: src/Navigation.tsx:212 #: src/view/screens/Support.tsx:30 @@ -3533,7 +3489,7 @@ msgstr "Suporte" #: src/view/com/modals/ProfilePreview.tsx:110 msgid "Swipe up to see more" -msgstr "" +msgstr "Deslize para cima para ver mais" #: src/view/com/modals/SwitchAccount.tsx:117 msgid "Switch Account" @@ -3542,16 +3498,16 @@ msgstr "Alterar Conta" #: src/view/com/modals/SwitchAccount.tsx:97 #: src/view/screens/Settings.tsx:137 msgid "Switch to {0}" -msgstr "" +msgstr "Trocar para {0}" #: src/view/com/modals/SwitchAccount.tsx:98 #: src/view/screens/Settings.tsx:138 msgid "Switches the account you are logged in to" -msgstr "" +msgstr "Troca a conta que você está logado" #: src/view/screens/Settings.tsx:466 msgid "System" -msgstr "" +msgstr "Sistema" #: src/view/screens/Settings.tsx:720 msgid "System log" @@ -3563,7 +3519,7 @@ msgstr "Alto" #: src/view/com/util/images/AutoSizedImage.tsx:70 msgid "Tap to view fully" -msgstr "" +msgstr "Toque para ver tudo" #: src/view/shell/desktop/RightNav.tsx:93 msgid "Terms" @@ -3603,7 +3559,7 @@ msgstr "A Política de Privacidade foi movida para <0/>" #: src/view/screens/Support.tsx:36 msgid "The support form has been moved. If you need help, please <0/> or visit {HELP_DESK_URL} to get in touch with us." -msgstr "" +msgstr "O formulário de suporte foi movido. Se precisar de ajuda, <0/> ou visite {HELP_DESK_URL} para entrar em contato conosco." #: src/view/screens/Support.tsx:36 #~ 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,15 +3571,15 @@ msgstr "Os Termos de Serviço foram movidos para" #: src/view/screens/ProfileFeed.tsx:558 msgid "There was an an issue contacting the server, please check your internet connection and try again." -msgstr "" +msgstr "Tivemos um problema ao contatar o servidor, por favor verifique sua conexão com a internet e tente novamente." #: src/view/com/posts/FeedErrorMessage.tsx:139 msgid "There was an an issue removing this feed. Please check your internet connection and try again." -msgstr "" +msgstr "Tivemos um problema ao remover este feed, por favor verifique sua conexão com a internet e tente novamente." #: src/view/screens/ProfileFeed.tsx:218 msgid "There was an an issue updating your feeds, please check your internet connection and try again." -msgstr "" +msgstr "Tivemos um problema ao atualizar seus feeds, por favor verifique sua conexão com a internet e tente novamente." #: src/view/screens/ProfileFeed.tsx:245 #: src/view/screens/ProfileList.tsx:266 @@ -3631,7 +3587,7 @@ msgstr "" #: src/view/screens/SavedFeeds.tsx:231 #: src/view/screens/SavedFeeds.tsx:252 msgid "There was an issue contacting the server" -msgstr "" +msgstr "Tivemos um problema ao contatar o servidor deste feed" #: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:57 #: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:66 @@ -3639,32 +3595,32 @@ msgstr "" #: src/view/com/feeds/FeedSourceCard.tsx:127 #: src/view/com/feeds/FeedSourceCard.tsx:181 msgid "There was an issue contacting your server" -msgstr "" +msgstr "Tivemos um problema ao contatar o servidor deste feed" #: src/view/com/notifications/Feed.tsx:115 msgid "There was an issue fetching notifications. Tap here to try again." -msgstr "" +msgstr "Tivemos um problema ao carregar notificações. Toque aqui para tentar de novo." #: src/view/com/posts/Feed.tsx:263 msgid "There was an issue fetching posts. Tap here to try again." -msgstr "" +msgstr "Tivemos um problema ao carregar posts. Toque aqui para tentar de novo." #: src/view/com/lists/ListMembers.tsx:172 msgid "There was an issue fetching the list. Tap here to try again." -msgstr "" +msgstr "Tivemos um problema ao carregar esta lista. Toque aqui para tentar de novo." #: src/view/com/feeds/ProfileFeedgens.tsx:148 #: src/view/com/lists/ProfileLists.tsx:155 msgid "There was an issue fetching your lists. Tap here to try again." -msgstr "" +msgstr "Tivemos um problema ao carregar suas listas. Toque aqui para tentar de novo." #: src/view/com/modals/ContentFilteringSettings.tsx:126 msgid "There was an issue syncing your preferences with the server" -msgstr "" +msgstr "Tivemos um problema ao sincronizar suas configurações" #: src/view/screens/AppPasswords.tsx:66 msgid "There was an issue with fetching your app passwords" -msgstr "" +msgstr "Tivemos um problema ao carregar suas senhas de app." #: src/view/com/profile/ProfileHeader.tsx:204 #: src/view/com/profile/ProfileHeader.tsx:225 @@ -3673,14 +3629,14 @@ msgstr "" #: src/view/com/profile/ProfileHeader.tsx:297 #: src/view/com/profile/ProfileHeader.tsx:319 msgid "There was an issue! {0}" -msgstr "" +msgstr "Tivemos um problema! {0}" #: src/view/screens/ProfileList.tsx:287 #: src/view/screens/ProfileList.tsx:306 #: src/view/screens/ProfileList.tsx:328 #: src/view/screens/ProfileList.tsx:347 msgid "There was an issue. Please check your internet connection and try again." -msgstr "" +msgstr "Tivemos algum problema. Por favor verifique sua conexão com a internet e tente novamente." #: src/view/com/util/ErrorBoundary.tsx:36 msgid "There was an unexpected issue in the application. Please let us know if this happened to you!" @@ -3688,19 +3644,19 @@ msgstr "Houve um problema inesperado no aplicativo. Por favor, deixe-nos saber s #: src/view/com/auth/create/Step2.tsx:53 msgid "There's something wrong with this number. Please choose your country and enter your full phone number!" -msgstr "" +msgstr "Houve um problema com este número. Por favor, escolha um país e digite seu número de telefone completo!" #: src/view/com/util/moderation/LabelInfo.tsx:45 #~ msgid "This {0} has been labeled." -#~ msgstr "" +#~ msgstr "Este {screenDescription} foi reportado." #: src/view/com/util/moderation/ScreenHider.tsx:88 msgid "This {screenDescription} has been flagged:" -msgstr "Este {screenDescription} foi sinalizado:" +msgstr "Este {screenDescription} foi reportado:" #: src/view/com/util/moderation/ScreenHider.tsx:83 msgid "This account has requested that users sign in to view their profile." -msgstr "Esta conta solicitou que os usuários fizessem login para visualizar seus perfis." +msgstr "Esta conta solicitou que os usuários fizessem login para visualizar seu perfil." #: src/view/com/modals/EmbedConsent.tsx:68 msgid "This content is hosted by {0}. Do you want to enable external media?" @@ -3708,25 +3664,25 @@ msgstr "Este conteúdo é hospedado por {0}. Deseja ativar a mídia externa?" #: src/view/com/modals/ModerationDetails.tsx:67 msgid "This content is not available because one of the users involved has blocked the other." -msgstr "" +msgstr "Este conteúdo não está disponível porque um dos usuários bloqueou o outro." #: src/view/com/posts/FeedErrorMessage.tsx:108 msgid "This content is not viewable without a Bluesky account." -msgstr "Este conteúdo não está visível sem uma conta Bluesky." +msgstr "Este conteúdo não é visível sem uma conta do Bluesky." #: src/view/com/posts/FeedErrorMessage.tsx:114 msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later." -msgstr "Este feed está recebendo alto tráfego e está temporariamente indisponível. Por favor, tente novamente mais tarde." +msgstr "Este feed está recebendo muito tráfego e está temporariamente indisponível. Por favor, tente novamente mais tarde." #: src/view/screens/Profile.tsx:392 #: src/view/screens/ProfileFeed.tsx:484 #: src/view/screens/ProfileList.tsx:639 msgid "This feed is empty!" -msgstr "" +msgstr "Este feed está vazio!" #: src/view/com/posts/CustomFeedEmptyState.tsx:37 msgid "This feed is empty! You may need to follow more users or tune your language settings." -msgstr "" +msgstr "Este feed está vazio! Talvez você precise seguir mais usuários ou configurar os idiomas filtrados." #: src/view/com/modals/BirthDateSettings.tsx:61 msgid "This information is not shared with other users." @@ -3734,7 +3690,7 @@ msgstr "Esta informação não é compartilhada com outros usuários." #: src/view/com/modals/VerifyEmail.tsx:119 msgid "This is important in case you ever need to change your email or reset your password." -msgstr "Isso é importante caso você precise alterar seu email ou redefinir sua senha." +msgstr "Isso é importante caso você precise alterar seu e-mail ou redefinir sua senha." #: src/view/com/auth/create/Step1.tsx:55 #~ msgid "This is the service that keeps you online." @@ -3742,15 +3698,15 @@ msgstr "Isso é importante caso você precise alterar seu email ou redefinir sua #: src/view/com/modals/LinkWarning.tsx:58 msgid "This link is taking you to the following website:" -msgstr "Esse link está levando você ao seguinte site:" +msgstr "Este link está levando você ao seguinte site:" #: src/view/screens/ProfileList.tsx:813 msgid "This list is empty!" -msgstr "" +msgstr "Esta lista está vazia!" #: src/view/com/modals/AddAppPasswords.tsx:105 msgid "This name is already in use" -msgstr "" +msgstr "Você já tem uma senha com esse nome" #: src/view/com/post-thread/PostThreadItem.tsx:123 msgid "This post has been deleted." @@ -3758,15 +3714,15 @@ msgstr "Este post foi excluído." #: src/view/com/modals/ModerationDetails.tsx:62 msgid "This user has blocked you. You cannot view their content." -msgstr "" +msgstr "Este usuário te bloqueou. Você não pode ver este conteúdo." #: src/view/com/modals/ModerationDetails.tsx:42 msgid "This user is included in the <0/> list which you have blocked." -msgstr "" +msgstr "Este usuário está incluído na lista <0/>, que você bloqueou." #: src/view/com/modals/ModerationDetails.tsx:74 msgid "This user is included the <0/> list which you have muted." -msgstr "" +msgstr "Este usuário está incluído na lista <0/>, que você silenciou." #: src/view/com/modals/SelfLabel.tsx:137 msgid "This warning is only available for posts with media attached." @@ -3774,20 +3730,20 @@ msgstr "Este aviso só está disponível para publicações com mídia anexada." #: src/view/com/util/forms/PostDropdownBtn.tsx:190 msgid "This will hide this post from your feeds." -msgstr "Isso ocultará esse post de seus feeds." +msgstr "Isso ocultará este post de seus feeds." #: src/view/screens/PreferencesThreads.tsx:53 #: src/view/screens/Settings.tsx:531 msgid "Thread Preferences" -msgstr "Preferências de Tópico" +msgstr "Preferências das Threads" #: src/view/screens/PreferencesThreads.tsx:119 msgid "Threaded Mode" -msgstr "Modo Tópico" +msgstr "Visualização de Threads" #: src/Navigation.tsx:252 msgid "Threads Preferences" -msgstr "" +msgstr "Preferências das Threads" #: src/view/com/util/forms/DropdownButton.tsx:234 msgid "Toggle dropdown" @@ -3806,7 +3762,7 @@ msgstr "Traduzir" #: src/view/com/util/error/ErrorScreen.tsx:75 msgctxt "action" msgid "Try again" -msgstr "" +msgstr "Tentar novamente" #: src/view/com/util/error/ErrorScreen.tsx:73 #~ msgid "Try again" @@ -3814,11 +3770,11 @@ msgstr "" #: src/view/screens/ProfileList.tsx:484 msgid "Un-block list" -msgstr "Lista de desbloqueio" +msgstr "Desbloquear lista" #: src/view/screens/ProfileList.tsx:469 msgid "Un-mute list" -msgstr "Lista de não silenciados" +msgstr "Dessilenciar lista" #: src/view/com/auth/create/CreateAccount.tsx:66 #: src/view/com/auth/login/ForgotPasswordForm.tsx:87 @@ -3835,7 +3791,7 @@ msgstr "Desbloquear" #: src/view/com/profile/ProfileHeader.tsx:475 msgctxt "action" msgid "Unblock" -msgstr "" +msgstr "Desbloquear" #: src/view/com/profile/ProfileHeader.tsx:308 #: src/view/com/profile/ProfileHeader.tsx:392 @@ -3852,11 +3808,11 @@ msgstr "Desfazer repost" #: src/view/com/profile/FollowButton.tsx:55 msgctxt "action" msgid "Unfollow" -msgstr "" +msgstr "Deixar de seguir" #: src/view/com/profile/ProfileHeader.tsx:524 msgid "Unfollow {0}" -msgstr "" +msgstr "Deixar de seguir {0}" #: src/view/com/auth/create/state.ts:298 msgid "Unfortunately, you do not meet the requirements to create an account." @@ -3864,24 +3820,24 @@ msgstr "Infelizmente, você não atende aos requisitos para criar uma conta." #: src/view/com/util/post-ctrls/PostCtrls.tsx:189 msgid "Unlike" -msgstr "" +msgstr "Descurtir" #: src/view/screens/ProfileList.tsx:575 msgid "Unmute" -msgstr "" +msgstr "Dessilenciar" #: src/view/com/profile/ProfileHeader.tsx:373 msgid "Unmute Account" -msgstr "Não Silenciar Conta" +msgstr "Dessilenciar conta" #: src/view/com/util/forms/PostDropdownBtn.tsx:169 msgid "Unmute thread" -msgstr "Não silenciar o tópico" +msgstr "Dessilenciar thread" #: src/view/screens/ProfileFeed.tsx:362 #: src/view/screens/ProfileList.tsx:559 msgid "Unpin" -msgstr "" +msgstr "Desafixar" #: src/view/screens/ProfileList.tsx:452 msgid "Unpin moderation list" @@ -3889,7 +3845,7 @@ msgstr "Desafixar lista de moderação" #: src/view/screens/ProfileFeed.tsx:354 msgid "Unsave" -msgstr "" +msgstr "Remover" #: src/view/com/modals/UserAddRemoveLists.tsx:54 msgid "Update {displayName} in Lists" @@ -3909,7 +3865,7 @@ msgstr "Carregar um arquivo de texto para:" #: src/view/screens/AppPasswords.tsx:195 msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password." -msgstr "Use as senhas de aplicativos para fazer login em outros clientes Bluesky sem dar acesso total à sua conta ou senha." +msgstr "Use as senhas de aplicativos para fazer login em outros clientes do Bluesky sem dar acesso total à sua conta ou senha." #: src/view/com/modals/ChangeHandle.tsx:515 msgid "Use default provider" @@ -3918,20 +3874,20 @@ msgstr "Usar provedor padrão" #: src/view/com/modals/InAppBrowserConsent.tsx:56 #: src/view/com/modals/InAppBrowserConsent.tsx:58 msgid "Use in-app browser" -msgstr "" +msgstr "Usar o navegador interno" #: src/view/com/modals/InAppBrowserConsent.tsx:66 #: src/view/com/modals/InAppBrowserConsent.tsx:68 msgid "Use my default browser" -msgstr "" +msgstr "Usar o meu navegador padrão" #: src/view/com/modals/AddAppPasswords.tsx:154 msgid "Use this to sign into the other app along with your handle." -msgstr "Use isto para entrar no outro aplicativo juntamente com seu identificador." +msgstr "Use esta senha para entrar no outro aplicativo juntamente com seu identificador." #: src/view/com/modals/ServerInput.tsx:105 msgid "Use your domain as your Bluesky client service provider" -msgstr "" +msgstr "Use seu domínio como o provedor de serviço do Bluesky" #: src/view/com/modals/InviteCodes.tsx:200 msgid "Used by:" @@ -3939,42 +3895,42 @@ msgstr "Usado por:" #: src/view/com/modals/ModerationDetails.tsx:54 msgid "User Blocked" -msgstr "" +msgstr "Usuário Bloqueado" #: src/view/com/modals/ModerationDetails.tsx:40 msgid "User Blocked by List" -msgstr "" +msgstr "Usuário Bloqueado Por Lista" #: src/view/com/modals/ModerationDetails.tsx:60 msgid "User Blocks You" -msgstr "" +msgstr "Este Usuário Te Bloqueou" #: src/view/com/auth/create/Step3.tsx:38 msgid "User handle" -msgstr "Identificador de usuário" +msgstr "Usuário" #: src/view/com/lists/ListCard.tsx:84 #: src/view/com/modals/UserAddRemoveLists.tsx:182 msgid "User list by {0}" -msgstr "" +msgstr "Lista de usuários por {0}" #: src/view/screens/ProfileList.tsx:741 msgid "User list by <0/>" -msgstr "" +msgstr "Lista de usuários por <0/>" #: src/view/com/lists/ListCard.tsx:82 #: src/view/com/modals/UserAddRemoveLists.tsx:180 #: src/view/screens/ProfileList.tsx:739 msgid "User list by you" -msgstr "" +msgstr "Sua lista de usuários" #: src/view/com/modals/CreateOrEditList.tsx:138 msgid "User list created" -msgstr "" +msgstr "Lista de usuários criada" #: src/view/com/modals/CreateOrEditList.tsx:125 msgid "User list updated" -msgstr "" +msgstr "Lista de usuários atualizada" #: src/view/screens/Lists.tsx:58 msgid "User Lists" @@ -3983,7 +3939,7 @@ msgstr "Listas de Usuários" #: src/view/com/auth/login/LoginForm.tsx:174 #: src/view/com/auth/login/LoginForm.tsx:192 msgid "Username or email address" -msgstr "Nome de usuário ou endereço de email" +msgstr "Nome de usuário ou endereço de e-mail" #: src/view/screens/ProfileList.tsx:775 msgid "Users" @@ -3993,25 +3949,21 @@ msgstr "Usuários" msgid "users followed by <0/>" msgstr "usuários seguidos por <0/>" -#: src/view/com/threadgate/WhoCanReply.tsx:115 -#~ msgid "Users followed by <0/>" -#~ msgstr "" - #: src/view/com/modals/Threadgate.tsx:106 msgid "Users in \"{0}\"" msgstr "Usuários em \"{0}\"" #: src/view/com/auth/create/Step2.tsx:241 msgid "Verification code" -msgstr "" +msgstr "Código de verificação" #: src/view/screens/Settings.tsx:843 msgid "Verify email" -msgstr "Verificar email" +msgstr "Verificar e-mail" #: src/view/screens/Settings.tsx:868 msgid "Verify my email" -msgstr "Verificar meu email" +msgstr "Verificar meu e-mail" #: src/view/screens/Settings.tsx:877 msgid "Verify My Email" @@ -4020,27 +3972,27 @@ msgstr "Verificar Meu Email" #: src/view/com/modals/ChangeEmail.tsx:205 #: src/view/com/modals/ChangeEmail.tsx:207 msgid "Verify New Email" -msgstr "Verificar Novo Email" +msgstr "Verificar Novo E-mail" #: src/view/com/modals/VerifyEmail.tsx:103 msgid "Verify Your Email" -msgstr "" +msgstr "Verificar Seu E-mail" #: src/view/com/profile/ProfileHeader.tsx:701 msgid "View {0}'s avatar" -msgstr "" +msgstr "Ver o avatar de {0}" #: src/view/screens/Log.tsx:52 msgid "View debug entry" -msgstr "Ver entrada de depuração" +msgstr "Ver depuração" #: src/view/com/posts/FeedSlice.tsx:103 msgid "View full thread" -msgstr "" +msgstr "Ver thread completa" #: src/view/com/posts/FeedErrorMessage.tsx:172 msgid "View profile" -msgstr "" +msgstr "Ver perfil" #: src/view/com/profile/ProfileSubpageHeader.tsx:128 msgid "View the avatar" @@ -4052,35 +4004,27 @@ msgstr "Visitar Site" #: src/view/com/modals/ContentFilteringSettings.tsx:254 msgid "Warn" -msgstr "" +msgstr "Avisar" #: src/view/com/posts/DiscoverFallbackHeader.tsx:29 #~ msgid "We ran out of posts from your follows. Here's the latest from" -#~ msgstr "" +#~ msgstr "Não temos mais posts de quem você segue. Aqui estão os mais novos de" #: src/view/com/posts/DiscoverFallbackHeader.tsx:29 msgid "We ran out of posts from your follows. Here's the latest from <0/>." -msgstr "" +msgstr "Não temos mais posts de quem você segue. Aqui estão os mais novos de <0/>." #: src/view/com/modals/AppealLabel.tsx:48 msgid "We'll look into your appeal promptly." -msgstr "" +msgstr "Avaliaremos sua contestação o quanto antes." #: src/view/com/auth/create/CreateAccount.tsx:123 msgid "We're so excited to have you join us!" -msgstr "Estamos muito felizes por você se juntar a nós!" - -#: src/view/com/posts/FeedErrorMessage.tsx:99 -#~ msgid "We're sorry, but this content is not viewable without a Bluesky account." -#~ msgstr "" - -#: src/view/com/posts/FeedErrorMessage.tsx:105 -#~ msgid "We're sorry, but this feed is currently receiving high traffic and is temporarily unavailable. Please try again later." -#~ msgstr "" +msgstr "Estamos muito felizes em recebê-lo!" #: src/view/screens/ProfileList.tsx:83 msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}." -msgstr "" +msgstr "Tivemos um problema ao exibir esta lista. Se continuar acontecendo, contate o criador da lista: @{handleOrDid}." #: src/view/screens/Search/Search.tsx:245 msgid "We're sorry, but your search could not be completed. Please try again in a few minutes." @@ -4101,7 +4045,7 @@ msgstr "Qual é o problema com este {collectionName}?" #: src/view/com/auth/SplashScreen.tsx:34 #: src/view/com/composer/Composer.tsx:279 msgid "What's up?" -msgstr "Que há de novo?" +msgstr "E aí?" #: src/view/com/modals/lang-settings/PostLanguagesSettings.tsx:78 msgid "Which languages are used in this post?" @@ -4109,17 +4053,13 @@ msgstr "Quais idiomas são usados neste post?" #: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:77 msgid "Which languages would you like to see in your algorithmic feeds?" -msgstr "Quais idiomas você gostaria de ver nos seus feeds algoritmo?" +msgstr "Quais idiomas você gostaria de ver nos seus feeds?" #: src/view/com/composer/threadgate/ThreadgateBtn.tsx:47 #: src/view/com/modals/Threadgate.tsx:66 msgid "Who can reply" msgstr "Quem pode responder" -#: src/view/com/threadgate/WhoCanReply.tsx:79 -#~ msgid "Who can reply?" -#~ msgstr "" - #: src/view/com/modals/crop-image/CropImage.web.tsx:102 msgid "Wide" msgstr "Largo" @@ -4135,7 +4075,7 @@ msgstr "Escreva sua resposta" #: src/view/com/auth/create/Step2.tsx:260 msgid "XXXXXX" -msgstr "" +msgstr "XXXXXX" #: src/view/com/composer/select-language/SuggestedLanguage.tsx:82 #: src/view/screens/PreferencesHomeFeed.tsx:129 @@ -4150,7 +4090,7 @@ msgstr "Sim" #: src/view/com/posts/FollowingEmptyState.tsx:67 #: src/view/com/posts/FollowingEndOfFeed.tsx:68 msgid "You can also discover new Custom Feeds to follow." -msgstr "" +msgstr "Você também pode descobrir novos feeds para seguir." #: src/view/com/auth/create/Step1.tsx:106 #~ msgid "You can change hosting providers at any time." @@ -4163,7 +4103,7 @@ msgstr "Agora você pode entrar com a sua nova senha." #: src/view/com/modals/InviteCodes.tsx:66 msgid "You don't have any invite codes yet! We'll send you some when you've been on Bluesky for a little longer." -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." +msgstr "Você ainda não tem nenhum convite! Nós lhe enviaremos alguns quando você estiver há mais tempo no Bluesky." #: src/view/screens/SavedFeeds.tsx:102 msgid "You don't have any pinned feeds." @@ -4179,15 +4119,15 @@ msgstr "Você não tem feeds salvos." #: src/view/com/post-thread/PostThread.tsx:385 msgid "You have blocked the author or you have been blocked by the author." -msgstr "Você bloqueou o autor ou foi bloqueado pelo autor." +msgstr "Você bloqueou esta conta ou foi bloqueado por ela." #: src/view/com/modals/ModerationDetails.tsx:56 msgid "You have blocked this user. You cannot view their content." -msgstr "" +msgstr "Você bloqueou este usuário. Você não pode ver este conteúdo." #: src/view/com/modals/ModerationDetails.tsx:87 msgid "You have muted this user." -msgstr "" +msgstr "Você silenciou este usuário." #: src/view/com/feeds/ProfileFeedgens.tsx:136 msgid "You have no feeds." @@ -4200,35 +4140,35 @@ msgstr "Você não tem listas." #: src/view/screens/ModerationBlockedAccounts.tsx:132 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." -msgstr "Você ainda não bloqueou nenhuma conta. Para bloquear uma conta, acesse o perfil e selecione \"Bloquear conta\" no menu da conta." +msgstr "Você ainda não bloqueou nenhuma conta. Para bloquear uma conta, acesse um perfil e selecione \"Bloquear conta\" no menu." #: src/view/screens/AppPasswords.tsx:87 msgid "You have not created any app passwords yet. You can create one by pressing the button below." -msgstr "Você ainda não criou nenhuma senha do aplicativo. Você pode criar uma pressionando o botão abaixo." +msgstr "Você ainda não criou nenhuma senha de aplicativo. Você pode criar uma pressionando o botão abaixo." #: src/view/screens/ModerationMutedAccounts.tsx:131 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." -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." +msgstr "Você ainda não silenciou nenhuma conta. Para silenciar uma conta, acesse um perfil e selecione \"Silenciar conta\" no menu." #: src/view/com/modals/ContentFilteringSettings.tsx:170 msgid "You must be 18 or older to enable adult content." -msgstr "" +msgstr "Você precisa ser maior de idade para habilitar conteúdo adulto." #: src/view/com/util/forms/PostDropdownBtn.tsx:96 msgid "You will no longer receive notifications for this thread" -msgstr "" +msgstr "Você não vai mais receber notificações desta thread" #: src/view/com/util/forms/PostDropdownBtn.tsx:99 msgid "You will now receive notifications for this thread" -msgstr "" +msgstr "Você vai receber notificações desta thread" #: src/view/com/auth/login/SetNewPasswordForm.tsx:81 msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password." -msgstr "Você receberá um email com um \"código de redefinição\". Digite esse código aqui, e então digite sua nova senha." +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." #: src/view/com/posts/FollowingEndOfFeed.tsx:48 msgid "You've reached the end of your feed! Find some more accounts to follow." -msgstr "" +msgstr "Você chegou ao fim do seu feed! Encontre novas contas para seguir." #: src/view/com/auth/create/Step1.tsx:67 msgid "Your account" @@ -4236,7 +4176,7 @@ msgstr "Sua conta" #: src/view/com/modals/DeleteAccount.tsx:65 msgid "Your account has been deleted" -msgstr "" +msgstr "Sua conta foi excluída" #: src/view/com/auth/create/Step1.tsx:182 msgid "Your birth date" @@ -4244,28 +4184,28 @@ msgstr "Sua data de nascimento" #: src/view/com/modals/InAppBrowserConsent.tsx:47 msgid "Your choice will be saved, but can be changed later in settings." -msgstr "" +msgstr "Sua escolha será salva, mas você pode trocá-la nas configurações depois" #: src/view/com/auth/create/state.ts:153 #: src/view/com/auth/login/ForgotPasswordForm.tsx:70 msgid "Your email appears to be invalid." -msgstr "Seu email parece ser inválido." +msgstr "Seu e-mail parece ser inválido." #: src/view/com/modals/Waitlist.tsx:109 msgid "Your email has been saved! We'll be in touch soon." -msgstr "Seu email foi salvo! Entraremos em contato em breve." +msgstr "Seu e-mail foi salvo! Logo entraremos em contato." #: src/view/com/modals/ChangeEmail.tsx:125 msgid "Your email has been updated but not verified. As a next step, please verify your new email." -msgstr "Seu email foi atualizado mas não foi verificado. Como próximo passo, por favor verifique seu novo email." +msgstr "Seu e-mail foi atualizado mas não foi verificado. Como próximo passo, por favor verifique seu novo e-mail." #: src/view/com/modals/VerifyEmail.tsx:114 msgid "Your email has not yet been verified. This is an important security step which we recommend." -msgstr "Seu email ainda não foi verificado. Esta é uma etapa de segurança importante que recomendamos." +msgstr "Seu e-mail ainda não foi verificado. Esta é uma etapa importante de segurança que recomendamos." #: src/view/com/posts/FollowingEmptyState.tsx:47 msgid "Your following feed is empty! Follow more users to see what's happening." -msgstr "" +msgstr "Seu feed inicial está vazio! Siga mais usuários para acompanhar o que está acontecendo." #: src/view/com/auth/create/Step3.tsx:42 msgid "Your full handle will be" @@ -4273,7 +4213,7 @@ msgstr "Seu identificador completo será" #: src/view/com/modals/ChangeHandle.tsx:270 msgid "Your full handle will be <0>@{0}" -msgstr "" +msgstr "Seu usuário completo será <0>@{0}" #: src/view/com/auth/create/Step1.tsx:53 #~ msgid "Your hosting provider" @@ -4287,34 +4227,106 @@ msgstr "Seus códigos de convite estão ocultos quando conectado com uma Senha d #: src/view/com/composer/Composer.tsx:267 msgid "Your post has been published" -msgstr "" +msgstr "Seu post foi publicado" #: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:59 msgid "Your posts, likes, and blocks are public. Mutes are private." -msgstr "Suas postagens, curtidas e blocos são públicos. Mudos são privados." +msgstr "Suas postagens, curtidas e bloqueios são públicos. Silenciamentos são privados." #: src/view/com/modals/SwitchAccount.tsx:84 #: src/view/screens/Settings.tsx:125 msgid "Your profile" msgstr "Seu perfil" -#: src/view/screens/Moderation.tsx:205 -#~ 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." -#~ msgstr "" - -#: src/view/screens/Moderation.tsx:220 -#~ 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." -#~ msgstr "" - -#: src/view/screens/Moderation.tsx:220 -#~ 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." -#~ msgstr "" +#: src/view/com/auth/create/Step3.tsx:28 +msgid "Your user handle" +msgstr "Seu usuário" #: src/view/com/composer/Composer.tsx:266 msgid "Your reply has been published" -msgstr "" +msgstr "Sua resposta foi publicada" #: src/view/com/auth/create/Step3.tsx:28 msgid "Your user handle" msgstr "Seu identificador de usuário" + +#: src/view/screens/Moderation.tsx:205 +#~ 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." +#~ 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." + +#: src/view/screens/Moderation.tsx:220 +#~ 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." +#~ 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." + +#: src/view/screens/Moderation.tsx:220 +#~ 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." +#~ msgstr "Seu perfil e posts não serão visíveis para pessoas utilizando o app ou site do Bluesky sem uma conta logada." + +#: src/view/screens/Moderation.tsx:227 +#~ msgid "Note: Third-party apps that display Bluesky content may not respect this setting." +#~ msgstr "Nota: Aplicativos de terceiros que mostram conteúdo do Bluesky podem não respeitar esta opção." + +#: src/view/com/modals/SelfLabel.tsx:136 +#~ msgid "Not Applicable" +#~ msgstr "Não Aplicável" + +#: src/view/com/posts/FeedErrorMessage.tsx:99 +#~ msgid "We're sorry, but this content is not viewable without a Bluesky account." +#~ msgstr "Desculpe, mas este conteúdo não é visível sem uma conta do Bluesky." + +#: src/view/com/posts/FeedErrorMessage.tsx:105 +#~ msgid "We're sorry, but this feed is currently receiving high traffic and is temporarily unavailable. Please try again later." +#~ msgstr "Desculpe, mas este feed está recebendo muito tráfego e está temporariamente indisponível. Por favor, tente novamente mais tarde." + +#: src/view/com/threadgate/WhoCanReply.tsx:115 +#~ msgid "Users followed by <0/>" +#~ msgstr "Usuários seguidos por <0/>" + +#: src/view/com/util/moderation/LabelInfo.tsx:45 +#~ msgid "This {0} has been labeled." +#~ msgstr "Este {0} foi reportado." + +#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:73 +#: src/view/com/auth/onboarding/RecommendedFollows.tsx:50 +#~ msgid "Recommended" +#~ msgstr "Recomendados" + +#: src/view/screens/Moderation.tsx:134 +#~ msgid "My Account" +#~ msgstr "Minha Conta" + +#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:65 +#~ msgid "Choose your" +#~ msgstr "Escolha seu" + +#: src/view/com/modals/AltImage.tsx:123 +#~ msgid "Cancel add image alt text" +#~ msgstr "Cancelar adição de texto alternativo da imagem" + +#: src/view/com/modals/AppealLabel.tsx:65 +#~ msgid "Appeal Decision" +#~ msgstr "Contestar Decisão" + +#: src/view/com/modals/ListAddUser.tsx:142 +#: src/view/shell/desktop/Search.tsx:112 +#~ msgid "No results found for {0}" +#~ msgstr "Nenhum resultado encontrado para {0}" + +#: src/view/com/modals/AddAppPasswords.tsx:132 +#~ msgid "<0>Here is your app password. Use this to sign into the other app along with your handle." +#~ msgstr "<0>Aqui está sua senha de aplicativo. Use-a com seu usuário para logar em outro aplicativo." + +#: src/view/screens/Moderation.tsx:212 +#~ msgid "<0>Note: This setting may not be respected by third-party apps that display Bluesky content." +#~ msgstr "<0>Nota: Esta opção pode não ser respeitada por aplicativos de terceiro que mostram conteúdo do Bluesky." + +#: src/view/screens/Moderation.tsx:212 +#~ msgid "<0>Note: Your profile and posts will remain publicly available. Third-party apps that display Bluesky content may not respect this setting." +#~ 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." + +#~ msgid "- end of feed -" +#~ msgstr "- fim do feed -" + +#~ msgid ". This warning is only available for posts with media attached." +#~ msgstr ". Este aviso só aparece em posts com imagens." diff --git a/src/view/com/composer/text-input/web/EmojiPicker.web.tsx b/src/view/com/composer/text-input/web/EmojiPicker.web.tsx index 6d16403f..14936211 100644 --- a/src/view/com/composer/text-input/web/EmojiPicker.web.tsx +++ b/src/view/com/composer/text-input/web/EmojiPicker.web.tsx @@ -121,7 +121,8 @@ export function EmojiPicker({state, close}: IProps) { const styles = StyleSheet.create({ mask: { - position: 'absolute', + // @ts-ignore web ony + position: 'fixed', top: 0, left: 0, right: 0, diff --git a/src/view/com/feeds/FeedPage.tsx b/src/view/com/feeds/FeedPage.tsx index 49f28098..9595e77e 100644 --- a/src/view/com/feeds/FeedPage.tsx +++ b/src/view/com/feeds/FeedPage.tsx @@ -210,18 +210,9 @@ function useHeaderOffset() { const {isDesktop, isTablet} = useWebMediaQueries() const {fontScale} = useWindowDimensions() const {hasSession} = useSession() - - if (isDesktop) { + if (isDesktop || isTablet) { return 0 } - if (isTablet) { - if (hasSession) { - return 50 - } else { - return 0 - } - } - if (hasSession) { const navBarPad = 16 const navBarText = 21 * fontScale diff --git a/src/view/com/lightbox/Lightbox.web.tsx b/src/view/com/lightbox/Lightbox.web.tsx index a258d25a..fb97c30a 100644 --- a/src/view/com/lightbox/Lightbox.web.tsx +++ b/src/view/com/lightbox/Lightbox.web.tsx @@ -1,13 +1,17 @@ import React, {useCallback, useEffect, useState} from 'react' import { Image, + ImageStyle, TouchableOpacity, TouchableWithoutFeedback, StyleSheet, View, Pressable, } from 'react-native' -import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' +import { + FontAwesomeIcon, + FontAwesomeIconStyle, +} from '@fortawesome/react-native-fontawesome' import {colors, s} from 'lib/styles' import ImageDefaultHeader from './ImageViewing/components/ImageDefaultHeader' import {Text} from '../util/text/Text' @@ -19,6 +23,7 @@ import { ImagesLightbox, ProfileImageLightbox, } from '#/state/lightbox' +import {useWebBodyScrollLock} from '#/lib/hooks/useWebBodyScrollLock' interface Img { uri: string @@ -28,8 +33,10 @@ interface Img { export function Lightbox() { const {activeLightbox} = useLightbox() const {closeLightbox} = useLightboxControls() + const isActive = !!activeLightbox + useWebBodyScrollLock(isActive) - if (!activeLightbox) { + if (!isActive) { return null } @@ -116,7 +123,7 @@ function LightboxInner({ @@ -129,7 +136,7 @@ function LightboxInner({ accessibilityHint=""> @@ -143,7 +150,7 @@ function LightboxInner({ accessibilityHint=""> @@ -178,7 +185,8 @@ function LightboxInner({ const styles = StyleSheet.create({ mask: { - position: 'absolute', + // @ts-ignore + position: 'fixed', top: 0, left: 0, width: '100%', diff --git a/src/view/com/modals/Modal.web.tsx b/src/view/com/modals/Modal.web.tsx index e11e76fc..d7966374 100644 --- a/src/view/com/modals/Modal.web.tsx +++ b/src/view/com/modals/Modal.web.tsx @@ -3,6 +3,7 @@ import {TouchableWithoutFeedback, StyleSheet, View} from 'react-native' import Animated, {FadeIn, FadeOut} from 'react-native-reanimated' import {usePalette} from 'lib/hooks/usePalette' import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' +import {useWebBodyScrollLock} from '#/lib/hooks/useWebBodyScrollLock' import {useModals, useModalControls} from '#/state/modals' import type {Modal as ModalIface} from '#/state/modals' @@ -38,6 +39,7 @@ import * as EmbedConsentModal from './EmbedConsent' export function ModalsContainer() { const {isModalActive, activeModals} = useModals() + useWebBodyScrollLock(isModalActive) if (!isModalActive) { return null @@ -166,7 +168,8 @@ function Modal({modal}: {modal: ModalIface}) { const styles = StyleSheet.create({ mask: { - position: 'absolute', + // @ts-ignore + position: 'fixed', top: 0, left: 0, width: '100%', diff --git a/src/view/com/notifications/FeedItem.tsx b/src/view/com/notifications/FeedItem.tsx index e9d8b63e..0dfac2a8 100644 --- a/src/view/com/notifications/FeedItem.tsx +++ b/src/view/com/notifications/FeedItem.tsx @@ -167,11 +167,9 @@ let FeedItem = ({ icon = 'user-plus' iconStyle = [s.blue3 as FontAwesomeIconStyle] } else if (item.type === 'feedgen-like') { - action = _( - msg`liked your custom feed${ - item.subjectUri ? ` '${new AtUri(item.subjectUri).rkey}'` : '' - }`, - ) + action = item.subjectUri + ? _(msg`liked your custom feed '${new AtUri(item.subjectUri).rkey}'`) + : _(msg`liked your custom feed`) icon = 'HeartIconSolid' iconStyle = [ s.likeColor as FontAwesomeIconStyle, diff --git a/src/view/com/pager/FeedsTabBar.web.tsx b/src/view/com/pager/FeedsTabBar.web.tsx index 57c83f17..385da554 100644 --- a/src/view/com/pager/FeedsTabBar.web.tsx +++ b/src/view/com/pager/FeedsTabBar.web.tsx @@ -117,7 +117,7 @@ function FeedsTabBarTablet( return ( // @ts-ignore the type signature for transform wrong here, translateX and translateY need to be in separate objects -prf { headerHeight.value = e.nativeEvent.layout.height }}> @@ -134,13 +134,16 @@ function FeedsTabBarTablet( const styles = StyleSheet.create({ tabBar: { - position: 'absolute', + // @ts-ignore Web only + position: 'sticky', zIndex: 1, // @ts-ignore Web only -prf - left: 'calc(50% - 299px)', - width: 598, + left: 'calc(50% - 300px)', + width: 600, top: 0, flexDirection: 'row', alignItems: 'center', + borderLeftWidth: 1, + borderRightWidth: 1, }, }) diff --git a/src/view/com/pager/FeedsTabBarMobile.tsx b/src/view/com/pager/FeedsTabBarMobile.tsx index 9c562f67..b9959a6d 100644 --- a/src/view/com/pager/FeedsTabBarMobile.tsx +++ b/src/view/com/pager/FeedsTabBarMobile.tsx @@ -142,7 +142,8 @@ export function FeedsTabBar( const styles = StyleSheet.create({ tabBar: { - position: 'absolute', + // @ts-ignore web-only + position: isWeb ? 'fixed' : 'absolute', zIndex: 1, left: 0, right: 0, diff --git a/src/view/com/pager/Pager.tsx b/src/view/com/pager/Pager.tsx index 61c3609f..834b1c0d 100644 --- a/src/view/com/pager/Pager.tsx +++ b/src/view/com/pager/Pager.tsx @@ -17,6 +17,7 @@ export interface PagerRef { export interface RenderTabBarFnProps { selectedPage: number onSelect?: (index: number) => void + tabBarAnchor?: JSX.Element | null | undefined // Ignored on native. } export type RenderTabBarFn = (props: RenderTabBarFnProps) => JSX.Element diff --git a/src/view/com/pager/Pager.web.tsx b/src/view/com/pager/Pager.web.tsx index 3b5e9164..dde799e4 100644 --- a/src/view/com/pager/Pager.web.tsx +++ b/src/view/com/pager/Pager.web.tsx @@ -1,10 +1,12 @@ import React from 'react' +import {flushSync} from 'react-dom' import {View} from 'react-native' import {s} from 'lib/styles' export interface RenderTabBarFnProps { selectedPage: number onSelect?: (index: number) => void + tabBarAnchor?: JSX.Element } export type RenderTabBarFn = (props: RenderTabBarFnProps) => JSX.Element @@ -27,6 +29,8 @@ export const Pager = React.forwardRef(function PagerImpl( ref, ) { const [selectedPage, setSelectedPage] = React.useState(initialPage) + const scrollYs = React.useRef>([]) + const anchorRef = React.useRef(null) React.useImperativeHandle(ref, () => ({ setPage: (index: number) => setSelectedPage(index), @@ -34,11 +38,36 @@ export const Pager = React.forwardRef(function PagerImpl( const onTabBarSelect = React.useCallback( (index: number) => { - setSelectedPage(index) - onPageSelected?.(index) - onPageSelecting?.(index) + const scrollY = window.scrollY + // We want to determine if the tabbar is already "sticking" at the top (in which + // case we should preserve and restore scroll), or if it is somewhere below in the + // viewport (in which case a scroll jump would be jarring). We determine this by + // measuring where the "anchor" element is (which we place just above the tabbar). + let anchorTop = anchorRef.current + ? (anchorRef.current as Element).getBoundingClientRect().top + : -scrollY // If there's no anchor, treat the top of the page as one. + const isSticking = anchorTop <= 5 // This would be 0 if browser scrollTo() was reliable. + + if (isSticking) { + scrollYs.current[selectedPage] = window.scrollY + } else { + scrollYs.current[selectedPage] = null + } + flushSync(() => { + setSelectedPage(index) + onPageSelected?.(index) + onPageSelecting?.(index) + }) + if (isSticking) { + const restoredScrollY = scrollYs.current[index] + if (restoredScrollY != null) { + window.scrollTo(0, restoredScrollY) + } else { + window.scrollTo(0, scrollY + anchorTop) + } + } }, - [setSelectedPage, onPageSelected, onPageSelecting], + [selectedPage, setSelectedPage, onPageSelected, onPageSelecting], ) return ( @@ -46,21 +75,11 @@ export const Pager = React.forwardRef(function PagerImpl( {tabBarPosition === 'top' && renderTabBar({ selectedPage, + tabBarAnchor: , onSelect: onTabBarSelect, })} {React.Children.map(children, (child, i) => ( - + {child} ))} diff --git a/src/view/com/pager/PagerWithHeader.tsx b/src/view/com/pager/PagerWithHeader.tsx index 158940d6..279b607a 100644 --- a/src/view/com/pager/PagerWithHeader.tsx +++ b/src/view/com/pager/PagerWithHeader.tsx @@ -18,7 +18,6 @@ import Animated, { } from 'react-native-reanimated' import {Pager, PagerRef, RenderTabBarFnProps} from 'view/com/pager/Pager' import {TabBar} from './TabBar' -import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback' import {ListMethods} from '../util/List' import {ScrollProvider} from '#/lib/ScrollContext' @@ -235,7 +234,6 @@ let PagerTabBar = ({ onCurrentPageSelected?: (index: number) => void onSelect?: (index: number) => void }): React.ReactNode => { - const {isMobile} = useWebMediaQueries() const headerTransform = useAnimatedStyle(() => ({ transform: [ { @@ -246,10 +244,7 @@ let PagerTabBar = ({ return ( + style={[styles.tabBarMobile, headerTransform]}> {renderHeader?.()} @@ -325,14 +320,6 @@ const styles = StyleSheet.create({ left: 0, width: '100%', }, - tabBarDesktop: { - position: 'absolute', - zIndex: 1, - top: 0, - // @ts-ignore Web only -prf - left: 'calc(50% - 299px)', - width: 598, - }, }) function noop() { diff --git a/src/view/com/pager/PagerWithHeader.web.tsx b/src/view/com/pager/PagerWithHeader.web.tsx new file mode 100644 index 00000000..0a18a9e7 --- /dev/null +++ b/src/view/com/pager/PagerWithHeader.web.tsx @@ -0,0 +1,194 @@ +import * as React from 'react' +import {FlatList, ScrollView, StyleSheet, View} from 'react-native' +import {useAnimatedRef} from 'react-native-reanimated' +import {Pager, PagerRef, RenderTabBarFnProps} from 'view/com/pager/Pager' +import {TabBar} from './TabBar' +import {usePalette} from '#/lib/hooks/usePalette' +import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries' +import {ListMethods} from '../util/List' + +export interface PagerWithHeaderChildParams { + headerHeight: number + isFocused: boolean + scrollElRef: React.MutableRefObject | ScrollView | null> +} + +export interface PagerWithHeaderProps { + testID?: string + children: + | (((props: PagerWithHeaderChildParams) => JSX.Element) | null)[] + | ((props: PagerWithHeaderChildParams) => JSX.Element) + items: string[] + isHeaderReady: boolean + renderHeader?: () => JSX.Element + initialPage?: number + onPageSelected?: (index: number) => void + onCurrentPageSelected?: (index: number) => void +} +export const PagerWithHeader = React.forwardRef( + function PageWithHeaderImpl( + { + children, + testID, + items, + renderHeader, + initialPage, + onPageSelected, + onCurrentPageSelected, + }: PagerWithHeaderProps, + ref, + ) { + const [currentPage, setCurrentPage] = React.useState(0) + + const renderTabBar = React.useCallback( + (props: RenderTabBarFnProps) => { + return ( + + ) + }, + [items, renderHeader, currentPage, onCurrentPageSelected, testID], + ) + + const onPageSelectedInner = React.useCallback( + (index: number) => { + setCurrentPage(index) + onPageSelected?.(index) + }, + [onPageSelected, setCurrentPage], + ) + + const onPageSelecting = React.useCallback((index: number) => { + setCurrentPage(index) + }, []) + + return ( + + {toArray(children) + .filter(Boolean) + .map((child, i) => { + return ( + + + + ) + })} + + ) + }, +) + +let PagerTabBar = ({ + currentPage, + items, + testID, + renderHeader, + onCurrentPageSelected, + onSelect, + tabBarAnchor, +}: { + currentPage: number + items: string[] + testID?: string + renderHeader?: () => JSX.Element + onCurrentPageSelected?: (index: number) => void + onSelect?: (index: number) => void + tabBarAnchor?: JSX.Element | null | undefined +}): React.ReactNode => { + const pal = usePalette('default') + const {isMobile} = useWebMediaQueries() + return ( + <> + + {renderHeader?.()} + + {tabBarAnchor} + + + + + ) +} +PagerTabBar = React.memo(PagerTabBar) + +function PagerItem({ + isFocused, + renderTab, +}: { + isFocused: boolean + renderTab: ((props: PagerWithHeaderChildParams) => JSX.Element) | null +}) { + const scrollElRef = useAnimatedRef() + if (renderTab == null) { + return null + } + return renderTab({ + headerHeight: 0, + isFocused, + scrollElRef: scrollElRef as React.MutableRefObject< + ListMethods | ScrollView | null + >, + }) +} + +const styles = StyleSheet.create({ + headerContainerDesktop: { + marginLeft: 'auto', + marginRight: 'auto', + width: 600, + borderLeftWidth: 1, + borderRightWidth: 1, + }, + tabBarContainer: { + // @ts-ignore web-only + position: 'sticky', + overflow: 'hidden', + top: 0, + zIndex: 1, + }, + tabBarContainerDesktop: { + marginLeft: 'auto', + marginRight: 'auto', + width: 600, + borderLeftWidth: 1, + borderRightWidth: 1, + }, + tabBarContainerMobile: { + paddingLeft: 14, + paddingRight: 14, + }, +}) + +function toArray(v: T | T[]): T[] { + if (Array.isArray(v)) { + return v + } + return [v] +} diff --git a/src/view/com/post-thread/PostThread.tsx b/src/view/com/post-thread/PostThread.tsx index cb7fd3f4..49086652 100644 --- a/src/view/com/post-thread/PostThread.tsx +++ b/src/view/com/post-thread/PostThread.tsx @@ -139,7 +139,7 @@ function PostThreadLoaded({ const {hasSession} = useSession() const {_} = useLingui() const pal = usePalette('default') - const {isTablet, isDesktop} = useWebMediaQueries() + const {isTablet, isDesktop, isTabletOrMobile} = useWebMediaQueries() const ref = useRef(null) const highlightedPostRef = useRef(null) const needsScrollAdjustment = useRef( @@ -197,17 +197,35 @@ function PostThreadLoaded({ // wait for loading to finish if (thread.type === 'post' && !!thread.parent) { - highlightedPostRef.current?.measure( - (_x, _y, _width, _height, _pageX, pageY) => { - ref.current?.scrollToOffset({ - animated: false, - offset: pageY - (isDesktop ? 0 : 50), - }) - }, - ) + function onMeasure(pageY: number) { + let spinnerHeight = 0 + if (isDesktop) { + spinnerHeight = 40 + } else if (isTabletOrMobile) { + spinnerHeight = 82 + } + ref.current?.scrollToOffset({ + animated: false, + offset: pageY - spinnerHeight, + }) + } + if (isNative) { + highlightedPostRef.current?.measure( + (_x, _y, _width, _height, _pageX, pageY) => { + onMeasure(pageY) + }, + ) + } else { + // Measure synchronously to avoid a layout jump. + const domNode = highlightedPostRef.current + if (domNode) { + const pageY = (domNode as any as Element).getBoundingClientRect().top + onMeasure(pageY) + } + } needsScrollAdjustment.current = false } - }, [thread, isDesktop]) + }, [thread, isDesktop, isTabletOrMobile]) const onPTR = React.useCallback(async () => { setIsPTRing(true) diff --git a/src/view/com/post-thread/PostThreadItem.tsx b/src/view/com/post-thread/PostThreadItem.tsx index cd218a06..c811cd12 100644 --- a/src/view/com/post-thread/PostThreadItem.tsx +++ b/src/view/com/post-thread/PostThreadItem.tsx @@ -706,7 +706,7 @@ function ExpandedPostDetails({ {niceDate(post.indexedAt)} {needsTranslation && ( <> - + · Translate diff --git a/src/view/com/posts/FeedItem.tsx b/src/view/com/posts/FeedItem.tsx index 8dee4ed4..a8aff051 100644 --- a/src/view/com/posts/FeedItem.tsx +++ b/src/view/com/posts/FeedItem.tsx @@ -205,7 +205,7 @@ let FeedItemInner = ({ title={_( msg`Reposted by ${sanitizeDisplayName( reason.by.displayName || reason.by.handle, - )})`, + )}`, )}> ( const pal = usePalette('default') function handleScrolledDownChange(didScrollDown: boolean) { - startTransition(() => { - onScrolledDownChange?.(didScrollDown) - }) + onScrolledDownChange?.(didScrollDown) } const scrollHandler = useAnimatedScrollHandler({ diff --git a/src/view/com/util/List.web.tsx b/src/view/com/util/List.web.tsx new file mode 100644 index 00000000..3e81a8c3 --- /dev/null +++ b/src/view/com/util/List.web.tsx @@ -0,0 +1,341 @@ +import React, {isValidElement, memo, useRef, startTransition} from 'react' +import {FlatListProps, StyleSheet, View, ViewProps} from 'react-native' +import {addStyle} from 'lib/styles' +import {usePalette} from 'lib/hooks/usePalette' +import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' +import {useScrollHandlers} from '#/lib/ScrollContext' +import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback' +import {batchedUpdates} from '#/lib/batchedUpdates' + +export type ListMethods = any // TODO: Better types. +export type ListProps = Omit< + FlatListProps, + | 'onScroll' // Use ScrollContext instead. + | 'refreshControl' // Pass refreshing and/or onRefresh instead. + | 'contentOffset' // Pass headerOffset instead. +> & { + onScrolledDownChange?: (isScrolledDown: boolean) => void + headerOffset?: number + refreshing?: boolean + onRefresh?: () => void + desktopFixedHeight: any // TODO: Better types. +} +export type ListRef = React.MutableRefObject // TODO: Better types. + +function ListImpl( + { + ListHeaderComponent, + ListFooterComponent, + contentContainerStyle, + data, + desktopFixedHeight, + headerOffset, + keyExtractor, + refreshing: _unsupportedRefreshing, + onEndReached, + onEndReachedThreshold = 0, + onRefresh: _unsupportedOnRefresh, + onScrolledDownChange, + onContentSizeChange, + renderItem, + extraData, + style, + ...props + }: ListProps, + ref: React.Ref, +) { + const contextScrollHandlers = useScrollHandlers() + const pal = usePalette('default') + const {isMobile} = useWebMediaQueries() + if (!isMobile) { + contentContainerStyle = addStyle( + contentContainerStyle, + styles.containerScroll, + ) + } + + let header: JSX.Element | null = null + if (ListHeaderComponent != null) { + if (isValidElement(ListHeaderComponent)) { + header = ListHeaderComponent + } else { + // @ts-ignore Nah it's fine. + header = + } + } + + let footer: JSX.Element | null = null + if (ListFooterComponent != null) { + if (isValidElement(ListFooterComponent)) { + footer = ListFooterComponent + } else { + // @ts-ignore Nah it's fine. + footer = + } + } + + if (headerOffset != null) { + style = addStyle(style, { + paddingTop: headerOffset, + }) + } + + const nativeRef = React.useRef(null) + React.useImperativeHandle( + ref, + () => + ({ + scrollToTop() { + window.scrollTo({top: 0}) + }, + scrollToOffset({ + animated, + offset, + }: { + animated: boolean + offset: number + }) { + window.scrollTo({ + left: 0, + top: offset, + behavior: animated ? 'smooth' : 'instant', + }) + }, + } as any), // TODO: Better types. + [], + ) + + // --- onContentSizeChange --- + const containerRef = useRef(null) + useResizeObserver(containerRef, onContentSizeChange) + + // --- onScroll --- + const [isInsideVisibleTree, setIsInsideVisibleTree] = React.useState(false) + const handleWindowScroll = useNonReactiveCallback(() => { + if (isInsideVisibleTree) { + contextScrollHandlers.onScroll?.( + { + contentOffset: { + x: Math.max(0, window.scrollX), + y: Math.max(0, window.scrollY), + }, + } as any, // TODO: Better types. + null as any, + ) + } + }) + React.useEffect(() => { + if (!isInsideVisibleTree) { + // Prevents hidden tabs from firing scroll events. + // Only one list is expected to be firing these at a time. + return + } + window.addEventListener('scroll', handleWindowScroll) + return () => { + window.removeEventListener('scroll', handleWindowScroll) + } + }, [isInsideVisibleTree, handleWindowScroll]) + + // --- onScrolledDownChange --- + const isScrolledDown = useRef(false) + function handleAboveTheFoldVisibleChange(isAboveTheFold: boolean) { + const didScrollDown = !isAboveTheFold + if (isScrolledDown.current !== didScrollDown) { + isScrolledDown.current = didScrollDown + startTransition(() => { + onScrolledDownChange?.(didScrollDown) + }) + } + } + + // --- onEndReached --- + const onTailVisibilityChange = useNonReactiveCallback( + (isTailVisible: boolean) => { + if (isTailVisible) { + onEndReached?.({ + distanceFromEnd: onEndReachedThreshold || 0, + }) + } + }, + ) + + return ( + + + ) +} + +function useResizeObserver( + ref: React.RefObject, + onResize: undefined | ((w: number, h: number) => void), +) { + const handleResize = useNonReactiveCallback(onResize ?? (() => {})) + const isActive = !!onResize + React.useEffect(() => { + if (!isActive) { + return + } + const resizeObserver = new ResizeObserver(entries => { + batchedUpdates(() => { + for (let entry of entries) { + const rect = entry.contentRect + handleResize(rect.width, rect.height) + } + }) + }) + const node = ref.current! + resizeObserver.observe(node) + return () => { + resizeObserver.unobserve(node) + } + }, [handleResize, isActive, ref]) +} + +let Row = function RowImpl({ + item, + index, + renderItem, + extraData: _unused, +}: { + item: ItemT + index: number + renderItem: + | null + | undefined + | ((data: {index: number; item: any; separators: any}) => React.ReactNode) + extraData: any +}): React.ReactNode { + if (!renderItem) { + return null + } + return ( + + {renderItem({item, index, separators: null as any})} + + ) +} +Row = React.memo(Row) + +let Visibility = ({ + topMargin = '0px', + onVisibleChange, + style, +}: { + topMargin?: string + onVisibleChange: (isVisible: boolean) => void + style?: ViewProps['style'] +}): React.ReactNode => { + const tailRef = React.useRef(null) + const isIntersecting = React.useRef(false) + + const handleIntersection = useNonReactiveCallback( + (entries: IntersectionObserverEntry[]) => { + batchedUpdates(() => { + entries.forEach(entry => { + if (entry.isIntersecting !== isIntersecting.current) { + isIntersecting.current = entry.isIntersecting + onVisibleChange(entry.isIntersecting) + } + }) + }) + }, + ) + + React.useEffect(() => { + const observer = new IntersectionObserver(handleIntersection, { + rootMargin: `${topMargin} 0px 0px 0px`, + }) + const tail: Element | null = tailRef.current! + observer.observe(tail) + return () => { + observer.unobserve(tail) + } + }, [handleIntersection, topMargin]) + + return ( + + ) +} +Visibility = React.memo(Visibility) + +export const List = memo(React.forwardRef(ListImpl)) as ( + props: ListProps & {ref?: React.Ref}, +) => React.ReactElement + +const styles = StyleSheet.create({ + contentContainer: { + borderLeftWidth: 1, + borderRightWidth: 1, + }, + containerScroll: { + width: '100%', + maxWidth: 600, + marginLeft: 'auto', + marginRight: 'auto', + }, + row: { + // @ts-ignore web only + contentVisibility: 'auto', + }, + minHeightViewport: { + // @ts-ignore web only + minHeight: '100vh', + }, + parentTreeVisibilityDetector: { + // @ts-ignore web only + position: 'fixed', + top: 0, + left: 0, + right: 0, + bottom: 0, + }, + aboveTheFoldDetector: { + position: 'absolute', + top: 0, + left: 0, + right: 0, + // Bottom is dynamic. + }, + visibilityDetector: { + pointerEvents: 'none', + zIndex: -1, + }, +}) diff --git a/src/view/com/util/MainScrollProvider.tsx b/src/view/com/util/MainScrollProvider.tsx index 3ac28d31..2c90e33f 100644 --- a/src/view/com/util/MainScrollProvider.tsx +++ b/src/view/com/util/MainScrollProvider.tsx @@ -1,9 +1,10 @@ -import React, {useCallback} from 'react' +import React, {useCallback, useEffect} from 'react' +import EventEmitter from 'eventemitter3' import {ScrollProvider} from '#/lib/ScrollContext' import {NativeScrollEvent} from 'react-native' import {useSetMinimalShellMode, useMinimalShellMode} from '#/state/shell' import {useShellLayout} from '#/state/shell/shell-layout' -import {isNative} from 'platform/detection' +import {isNative, isWeb} from 'platform/detection' import {useSharedValue, interpolate} from 'react-native-reanimated' const WEB_HIDE_SHELL_THRESHOLD = 200 @@ -20,6 +21,15 @@ export function MainScrollProvider({children}: {children: React.ReactNode}) { const startDragOffset = useSharedValue(null) const startMode = useSharedValue(null) + useEffect(() => { + if (isWeb) { + return listenToForcedWindowScroll(() => { + startDragOffset.value = null + startMode.value = null + }) + } + }) + const onBeginDrag = useCallback( (e: NativeScrollEvent) => { 'worklet' @@ -100,3 +110,26 @@ export function MainScrollProvider({children}: {children: React.ReactNode}) { ) } + +const emitter = new EventEmitter() + +if (isWeb) { + const originalScroll = window.scroll + window.scroll = function () { + emitter.emit('forced-scroll') + return originalScroll.apply(this, arguments as any) + } + + const originalScrollTo = window.scrollTo + window.scrollTo = function () { + emitter.emit('forced-scroll') + return originalScrollTo.apply(this, arguments as any) + } +} + +function listenToForcedWindowScroll(listener: () => void) { + emitter.addListener('forced-scroll', listener) + return () => { + emitter.removeListener('forced-scroll', listener) + } +} diff --git a/src/view/com/util/SimpleViewHeader.tsx b/src/view/com/util/SimpleViewHeader.tsx index e86e3756..814b2fb1 100644 --- a/src/view/com/util/SimpleViewHeader.tsx +++ b/src/view/com/util/SimpleViewHeader.tsx @@ -14,6 +14,7 @@ import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' import {useAnalytics} from 'lib/analytics/analytics' import {NavigationProp} from 'lib/routes/types' import {useSetDrawerOpen} from '#/state/shell' +import {isWeb} from '#/platform/detection' const BACK_HITSLOP = {left: 20, top: 20, right: 50, bottom: 20} @@ -47,7 +48,14 @@ export function SimpleViewHeader({ const Container = isMobile ? View : CenteredView return ( - + {showBackButton ? ( export function PostThreadScreen({route}: Props) { @@ -112,7 +113,8 @@ export function PostThreadScreen({route}: Props) { const styles = StyleSheet.create({ prompt: { - position: 'absolute', + // @ts-ignore web-only + position: isWeb ? 'fixed' : 'absolute', left: 0, right: 0, }, diff --git a/src/view/screens/Search/Search.tsx b/src/view/screens/Search/Search.tsx index 94aab2d9..bfa8e1b2 100644 --- a/src/view/screens/Search/Search.tsx +++ b/src/view/screens/Search/Search.tsx @@ -334,7 +334,9 @@ export function SearchScreenInner({ tabBarPosition="top" onPageSelected={onPageSelected} renderTabBar={props => ( - + )} @@ -375,7 +377,9 @@ export function SearchScreenInner({ tabBarPosition="top" onPageSelected={onPageSelected} renderTabBar={props => ( - + )} @@ -466,6 +470,7 @@ export function SearchScreen( setDrawerOpen(true) }, [track, setDrawerOpen]) const onPressCancelSearch = React.useCallback(() => { + scrollToTopWeb() textInput.current?.blur() setQuery('') setShowAutocompleteResults(false) @@ -473,11 +478,13 @@ export function SearchScreen( clearTimeout(searchDebounceTimeout.current) }, [textInput]) const onPressClearQuery = React.useCallback(() => { + scrollToTopWeb() setQuery('') setShowAutocompleteResults(false) }, [setQuery]) const onChangeText = React.useCallback( async (text: string) => { + scrollToTopWeb() setQuery(text) if (text.length > 0) { @@ -506,10 +513,12 @@ export function SearchScreen( [setQuery, search, setSearchResults], ) const onSubmit = React.useCallback(() => { + scrollToTopWeb() setShowAutocompleteResults(false) }, [setShowAutocompleteResults]) const onSoftReset = React.useCallback(() => { + scrollToTopWeb() onPressCancelSearch() }, [onPressCancelSearch]) @@ -526,11 +535,12 @@ export function SearchScreen( ) return ( - + @@ -661,12 +671,25 @@ export function SearchScreen( ) } +function scrollToTopWeb() { + if (isWeb) { + window.scrollTo(0, 0) + } +} + +const HEADER_HEIGHT = 50 + const styles = StyleSheet.create({ header: { flexDirection: 'row', alignItems: 'center', paddingHorizontal: 12, paddingVertical: 4, + height: HEADER_HEIGHT, + // @ts-ignore web only + position: isWeb ? 'sticky' : '', + top: 0, + zIndex: 1, }, headerMenuBtn: { width: 30, @@ -696,4 +719,10 @@ const styles = StyleSheet.create({ headerCancelBtn: { paddingLeft: 10, }, + tabBarContainer: { + // @ts-ignore web only + position: isWeb ? 'sticky' : '', + top: isWeb ? HEADER_HEIGHT : 0, + zIndex: 1, + }, }) diff --git a/src/view/shell/Composer.web.tsx b/src/view/shell/Composer.web.tsx index ed64bc79..99e659d6 100644 --- a/src/view/shell/Composer.web.tsx +++ b/src/view/shell/Composer.web.tsx @@ -5,6 +5,7 @@ import {ComposePost} from '../com/composer/Composer' import {useComposerState} from 'state/shell/composer' import {usePalette} from 'lib/hooks/usePalette' import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' +import {useWebBodyScrollLock} from '#/lib/hooks/useWebBodyScrollLock' import { EmojiPicker, EmojiPickerState, @@ -16,6 +17,8 @@ export function Composer({}: {winHeight: number}) { const pal = usePalette('default') const {isMobile} = useWebMediaQueries() const state = useComposerState() + const isActive = !!state + useWebBodyScrollLock(isActive) const [pickerState, setPickerState] = React.useState({ isOpen: false, @@ -40,7 +43,7 @@ export function Composer({}: {winHeight: number}) { // rendering // = - if (!state) { + if (!isActive) { return } @@ -75,7 +78,8 @@ export function Composer({}: {winHeight: number}) { const styles = StyleSheet.create({ mask: { - position: 'absolute', + // @ts-ignore + position: 'fixed', top: 0, left: 0, width: '100%', diff --git a/src/view/shell/bottom-bar/BottomBarStyles.tsx b/src/view/shell/bottom-bar/BottomBarStyles.tsx index ae938144..f226406f 100644 --- a/src/view/shell/bottom-bar/BottomBarStyles.tsx +++ b/src/view/shell/bottom-bar/BottomBarStyles.tsx @@ -12,6 +12,10 @@ export const styles = StyleSheet.create({ paddingLeft: 5, paddingRight: 10, }, + bottomBarWeb: { + // @ts-ignore web-only + position: 'fixed', + }, ctrl: { flex: 1, paddingTop: 13, diff --git a/src/view/shell/bottom-bar/BottomBarWeb.tsx b/src/view/shell/bottom-bar/BottomBarWeb.tsx index c5dc376b..b330c4b8 100644 --- a/src/view/shell/bottom-bar/BottomBarWeb.tsx +++ b/src/view/shell/bottom-bar/BottomBarWeb.tsx @@ -57,6 +57,7 @@ export function BottomBarWeb() { () const closeAllActiveElements = useCloseAllActiveElements() + useWebBodyScrollLock(isDrawerOpen) useAuxClick() useEffect(() => { @@ -34,12 +36,10 @@ function ShellInner() { }, [navigator, closeAllActiveElements]) return ( - - - - - - + <> + + + @@ -55,7 +55,7 @@ function ShellInner() { )} - + ) } @@ -78,7 +78,8 @@ const styles = StyleSheet.create({ backgroundColor: colors.black, // TODO }, drawerMask: { - position: 'absolute', + // @ts-ignore web only + position: 'fixed', width: '100%', height: '100%', top: 0, @@ -87,7 +88,8 @@ const styles = StyleSheet.create({ }, drawerContainer: { display: 'flex', - position: 'absolute', + // @ts-ignore web only + position: 'fixed', top: 0, left: 0, height: '100%', diff --git a/web/index.html b/web/index.html index a82abea9..92001e71 100644 --- a/web/index.html +++ b/web/index.html @@ -37,10 +37,10 @@ } html { - scroll-behavior: smooth; /* Prevent text size change on orientation change https://gist.github.com/tfausak/2222823#file-ios-8-web-app-html-L138 */ -webkit-text-size-adjust: 100%; height: calc(100% + env(safe-area-inset-top)); + scrollbar-gutter: stable; } /* Remove autofill styles on Webkit */ diff --git a/yarn.lock b/yarn.lock index 3a775693..3e6ae4cf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7525,6 +7525,13 @@ dependencies: "@types/react" "*" +"@types/react-dom@^18.2.18": + version "18.2.18" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.18.tgz#16946e6cd43971256d874bc3d0a72074bb8571dd" + integrity sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw== + dependencies: + "@types/react" "*" + "@types/react-responsive@^8.0.5": version "8.0.5" resolved "https://registry.yarnpkg.com/@types/react-responsive/-/react-responsive-8.0.5.tgz#77769862d2a0711434feb972be08e3e6c334440a"