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} 0><1>following1>"
-msgstr ""
+msgstr "<0>{following}0><1>人をフォロー中1>"
#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30
msgid "<0>Choose your0><1>Recommended1><2>Feeds2>"
@@ -78,15 +78,15 @@ msgstr "<1>おすすめの1><2>ユーザー2><0>をフォロー0>"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:21
msgid "<0>Welcome to0><1>Bluesky1>"
-msgstr ""
+msgstr "<1>Bluesky1><0>へようこそ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}0>?"
-msgstr ""
+msgstr "<0>{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}0>"
-msgstr ""
+msgstr "フルハンドルは<0>@{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} 0><1>following1>"
-msgstr ""
+msgstr "<0>{seguindo} 0><1>seguindo1>"
#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30
msgid "<0>Choose your0><1>Recommended1><2>Feeds2>"
-msgstr "<0>Escolha seu0><1>Recomendado1><2>Feeds2>"
+msgstr "<0>Escolha seus0><2>Feeds2><1>recomendados1>"
#: src/view/com/auth/onboarding/RecommendedFollows.tsx:37
msgid "<0>Follow some0><1>Recommended1><2>Users2>"
-msgstr "<0>Seguir alguns0><1>Recomendado1><2>Usuários2>"
-
-#: src/view/com/modals/AddAppPasswords.tsx:132
-#~ msgid "<0>Here is your app password.0> 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.0>"
-#~ 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.0>"
-#~ msgstr ""
+msgstr "<0>Siga alguns0><2>Usuários2><1>recomendados1>"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:21
msgid "<0>Welcome to0><1>Bluesky1>"
-msgstr ""
+msgstr "<0>Bem-vindo ao0><1>Bluesky1>"
#: 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}0>?"
-msgstr ""
+msgstr "Você está escrevendo em <0>{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}0>"
-msgstr ""
+msgstr "Seu usuário completo será <0>@{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.0> Use this to sign into the other app along with your handle."
+#~ msgstr "<0>Aqui está sua senha de aplicativo.0> 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.0>"
+#~ msgstr "<0>Nota: Esta opção pode não ser respeitada por aplicativos de terceiro que mostram conteúdo do Bluesky.0>"
+
+#: 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.0>"
+#~ 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 (
+
+
+
+
+ {header}
+ {(data as Array).map((item, index) => (
+
+ key={keyExtractor!(item, index)}
+ item={item}
+ index={index}
+ renderItem={renderItem}
+ extraData={extraData}
+ />
+ ))}
+ {onEndReached && (
+
+ )}
+ {footer}
+
+
+ )
+}
+
+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"